<?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>152927</bug_id>
          
          <creation_ts>2016-01-08 14:08:44 -0800</creation_ts>
          <short_desc>Consider painting to be disabled on a GraphicsContext with no platform data, and make updatingControlTints() immutable state</short_desc>
          <delta_ts>2016-01-08 15:27:38 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit 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="Simon Fraser (smfr)">simon.fraser</reporter>
          <assigned_to name="Simon Fraser (smfr)">simon.fraser</assigned_to>
          <cc>darin</cc>
    
    <cc>mmaxfield</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>thorton</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1154005</commentid>
    <comment_count>0</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2016-01-08 14:08:44 -0800</bug_when>
    <thetext>Consider painting to be disabled on a GraphicsContext with no platform data, and make updatingControlTints() immutable state</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1154013</commentid>
    <comment_count>1</comment_count>
      <attachid>268585</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2016-01-08 14:23:47 -0800</bug_when>
    <thetext>Created attachment 268585
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1154037</commentid>
    <comment_count>2</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2016-01-08 15:27:38 -0800</bug_when>
    <thetext>https://trac.webkit.org/r194798</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>268585</attachid>
            <date>2016-01-08 14:23:47 -0800</date>
            <delta_ts>2016-01-08 14:58:34 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-152927-20160108142315.patch</filename>
            <type>text/plain</type>
            <size>20395</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTk0NzczCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZmNiZGE0NWZkMGZhMTFk
ZmI5ZWQwNjU1MjljMzk5ZWY0NjRjZmYzNC4uYjg1MGYyNmJhZmE5MmQ4ZmY3OWU1ODY3ZDE1MTY3
ZDJmYmU2MWYyYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDYyIEBACisyMDE2LTAxLTA4ICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIENvbnNpZGVyIHBh
aW50aW5nIHRvIGJlIGRpc2FibGVkIG9uIGEgR3JhcGhpY3NDb250ZXh0IHdpdGggbm8gcGxhdGZv
cm0gZGF0YSwgYW5kIG1ha2UgdXBkYXRpbmdDb250cm9sVGludHMoKSBpbW11dGFibGUgc3RhdGUK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1MjkyNwor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEdyYXBoaWNz
Q29udGV4dCBoYWQgc2V0dGVycyBmb3IgcGFpbnRpbmdEaXNhYmxlZCBhbmQgdXBkYXRpbmdDb250
cm9sVGludHMsIGJ1dCBuZWl0aGVyCisgICAgICAgIHdlcmUgY2hhbmdlZCBkeW5hbWljYWxseS4K
KyAgICAgICAgCisgICAgICAgIFdlIGNhbiBlbGltaW5hdGUgcGFpbnRpbmdEaXNhYmxlZCBieSBz
aW1wbHkgY29uc2lkZXJpbmcgYSBHcmFwaGljc0NvbnRleHQgdGhhdCB3YXMKKyAgICAgICAgY3Jl
YXRlZCB3aXRoIG5vIHBsYXRmb3JtIGNvbnRleHQgdG8gYmUgcGFpbnQtZGlzYWJsZWQuCisgICAg
ICAgIAorICAgICAgICBXZSBtYWtlIHVwZGF0aW5nQ29udHJvbFRpbnRzIGltbXV0YWJsZSBzdGF0
ZSBieSBwcm92aWRpbmcgYSBjb25zdHJ1Y3RvciB0aGF0IHRha2VzCisgICAgICAgIGEgIk5vblBh
aW50aW5nUmVhc29ucyIgZW51bSwgYW5kIGRvZXNuJ3QgY3JlYXRlIHBsYXRmb3JtIGRhdGEuCisg
ICAgICAgIAorICAgICAgICBNb3JlIGZ1bmN0aW9ucyBpbiBwbGF0Zm9ybSBjb2RlIHdlcmUgcHJv
dGVjdGVkIGJ5IGlmIChwYWludGluZ0Rpc2FibGVkKCkpLi4uCisKKyAgICAgICAgKiBwYWdlL0Zy
YW1lVmlldy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6OnBhaW50Q29udHJvbFRp
bnRzKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0OjpHcmFwaGljc0NvbnRleHQpOgorICAg
ICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0OjpmaWxsUm91bmRlZFJlY3QpOgorICAgICAg
ICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0OjpzZXRVcGRhdGluZ0NvbnRyb2xUaW50cyk6IERl
bGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQ6OmNsaXApOiBEZWxldGVk
LgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dC5oOgorICAgICAg
ICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0OjpwYWludGluZ0Rpc2FibGVkKToKKyAgICAgICAg
KFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDo6dXBkYXRpbmdDb250cm9sVGludHMpOgorICAgICAg
ICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0U3RhdGU6OkdyYXBoaWNzQ29udGV4dFN0YXRlKTog
RGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDo6c2V0UGFpbnRpbmdE
aXNhYmxlZCk6IERlbGV0ZWQuCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vR3Jh
cGhpY3NDb250ZXh0Q2Fpcm8uY3BwOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0
OjpHcmFwaGljc0NvbnRleHQpOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0Ojpw
bGF0Zm9ybUluaXQpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NnL0dyYXBoaWNzQ29u
dGV4dENHLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDo6cGxhdGZvcm1J
bml0KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDo6c2F2ZVBsYXRmb3JtU3Rh
dGUpOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0OjpyZXN0b3JlUGxhdGZvcm1T
dGF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQ6OmRyYXdOYXRpdmVJbWFn
ZSk6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQ6OmRyYXdQYXR0ZXJuKToKKyAg
ICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDo6ZHJhd1JlY3QpOgorICAgICAgICAoV2Vi
Q29yZTo6R3JhcGhpY3NDb250ZXh0OjphcHBseVN0cm9rZVBhdHRlcm4pOgorICAgICAgICAoV2Vi
Q29yZTo6R3JhcGhpY3NDb250ZXh0OjphcHBseUZpbGxQYXR0ZXJuKToKKyAgICAgICAgKFdlYkNv
cmU6OkdyYXBoaWNzQ29udGV4dDo6Y2xpcCk6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0Nv
bnRleHQ6OmNsaXBCb3VuZHMpOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0Ojpz
ZXRMaW5lRGFzaCk6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQ6OnJvdW5kVG9E
ZXZpY2VQaXhlbHMpOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0OjpzZXRQbGF0
Zm9ybUltYWdlSW50ZXJwb2xhdGlvblF1YWxpdHkpOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhp
Y3NDb250ZXh0OjpzZXRJc0NBTGF5ZXJDb250ZXh0KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBo
aWNzQ29udGV4dDo6aXNDQUxheWVyQ29udGV4dCk6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGlj
c0NvbnRleHQ6OnNldElzQWNjZWxlcmF0ZWRDb250ZXh0KToKKyAgICAgICAgKFdlYkNvcmU6Okdy
YXBoaWNzQ29udGV4dDo6aXNBY2NlbGVyYXRlZENvbnRleHQpOgorICAgICAgICAoV2ViQ29yZTo6
R3JhcGhpY3NDb250ZXh0OjpwbGF0Zm9ybUFwcGx5RGV2aWNlU2NhbGVGYWN0b3IpOgorICAgICAg
ICAqIHBsYXRmb3JtL2dyYXBoaWNzL3dpbi9HcmFwaGljc0NvbnRleHRDR1dpbi5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQ6OnBsYXRmb3JtSW5pdCk6CisgICAgICAgIChX
ZWJDb3JlOjpHcmFwaGljc0NvbnRleHQ6OkdyYXBoaWNzQ29udGV4dCk6IERlbGV0ZWQuCisgICAg
ICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0dyYXBoaWNzQ29udGV4dENhaXJvV2luLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDo6cGxhdGZvcm1Jbml0KToKKyAgICAg
ICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDo6R3JhcGhpY3NDb250ZXh0KTogRGVsZXRlZC4K
KwogMjAxNi0wMS0wOCAgQnJhZHkgRWlkc29uICA8YmVpZHNvbkBhcHBsZS5jb20+CiAKICAgICAg
ICAgTW9kZXJuIElEQjogaW1wb3J0ZWQvdzNjL2luZGV4ZWRkYi9pZGJvYmplY3RzdG9yZV9jcmVh
dGVJbmRleDYtZXZlbnRfb3JkZXIuaHRtIGZhaWxzLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGFnZS9GcmFtZVZpZXcuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3Bw
CmluZGV4IDFmNzlmODBhYjVlNGRjMjBhNWRjYTE0M2FkN2I1YTEwNjNjMjdiMGUuLjhkYmI1NmMz
MGRhMTRhYzY5NWJkYWE4Mzk0NGI3OWMzZWMxOTZkOTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvRnJhbWVWaWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmll
dy5jcHAKQEAgLTM4OTcsOCArMzg5Nyw3IEBAIHZvaWQgRnJhbWVWaWV3OjpwYWludENvbnRyb2xU
aW50cygpCiAgICAgaWYgKG5lZWRzTGF5b3V0KCkpCiAgICAgICAgIGxheW91dCgpOwogCi0gICAg
R3JhcGhpY3NDb250ZXh0IGNvbnRleHQoKFBsYXRmb3JtR3JhcGhpY3NDb250ZXh0KiludWxscHRy
KTsKLSAgICBjb250ZXh0LnNldFVwZGF0aW5nQ29udHJvbFRpbnRzKHRydWUpOworICAgIEdyYXBo
aWNzQ29udGV4dCBjb250ZXh0KEdyYXBoaWNzQ29udGV4dDo6Tm9uUGFpbnRpbmdSZWFzb25zOjpV
cGRhdGluZ0NvbnRyb2xUaW50cyk7CiAgICAgaWYgKHBsYXRmb3JtV2lkZ2V0KCkpIHsKICAgICAg
ICAgLy8gRklYTUU6IGNvbnN1bHQgcGFpbnRzRW50aXJlQ29udGVudHMoKS4KICAgICAgICAgcGFp
bnRDb250ZW50cyhjb250ZXh0LCB2aXNpYmxlQ29udGVudFJlY3QoTGVnYWN5SU9TRG9jdW1lbnRW
aXNpYmxlUmVjdCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvR3JhcGhpY3NDb250ZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L0dyYXBoaWNzQ29udGV4dC5jcHAKaW5kZXggNzgyNGQ2MmFhZjk1ZjJiM2FlYTcwY2Q1NmM3ZjZm
ZTcyMzMyMDQ3NS4uNjEyZTU2MjNkNjlhZTdmMjAwNzQ4ZTYwMDM1OTk5MDE2OTM0MTY4NCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRl
eHQuY3BwCkBAIC0zNTksMTAgKzM1OSwxMiBAQCBUZXh0U3RyZWFtJiBvcGVyYXRvcjw8KFRleHRT
dHJlYW0mIHRzLCBjb25zdCBHcmFwaGljc0NvbnRleHRTdGF0ZUNoYW5nZSYgc3RhdGVDaAogICAg
IHJldHVybiB0czsKIH0KIAorR3JhcGhpY3NDb250ZXh0OjpHcmFwaGljc0NvbnRleHQoTm9uUGFp
bnRpbmdSZWFzb25zIG5vblBhaW50aW5nUmVhc29ucykKKyAgICA6IG1fbm9uUGFpbnRpbmdSZWFz
b25zKG5vblBhaW50aW5nUmVhc29ucykKK3sKK30KIAogR3JhcGhpY3NDb250ZXh0OjpHcmFwaGlj
c0NvbnRleHQoUGxhdGZvcm1HcmFwaGljc0NvbnRleHQqIHBsYXRmb3JtR3JhcGhpY3NDb250ZXh0
KQotICAgIDogbV91cGRhdGluZ0NvbnRyb2xUaW50cyhmYWxzZSkKLSAgICAsIG1fdHJhbnNwYXJl
bmN5Q291bnQoMCkKIHsKICAgICBwbGF0Zm9ybUluaXQocGxhdGZvcm1HcmFwaGljc0NvbnRleHQp
OwogfQpAQCAtNTcwLDEyICs1NzIsNiBAQCB2b2lkIEdyYXBoaWNzQ29udGV4dDo6ZW5kVHJhbnNw
YXJlbmN5TGF5ZXIoKQogICAgIC0tbV90cmFuc3BhcmVuY3lDb3VudDsKIH0KIAotdm9pZCBHcmFw
aGljc0NvbnRleHQ6OnNldFVwZGF0aW5nQ29udHJvbFRpbnRzKGJvb2wgYikKLXsKLSAgICBzZXRQ
YWludGluZ0Rpc2FibGVkKGIpOwotICAgIG1fdXBkYXRpbmdDb250cm9sVGludHMgPSBiOwotfQot
CiBmbG9hdCBHcmFwaGljc0NvbnRleHQ6OmRyYXdUZXh0KGNvbnN0IEZvbnRDYXNjYWRlJiBmb250
LCBjb25zdCBUZXh0UnVuJiBydW4sIGNvbnN0IEZsb2F0UG9pbnQmIHBvaW50LCBpbnQgZnJvbSwg
aW50IHRvKQogewogICAgIGlmIChwYWludGluZ0Rpc2FibGVkKCkpCkBAIC03MzIsMTEgKzcyOCw2
IEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0OjpkcmF3Q29uc3VtaW5nSW1hZ2VCdWZmZXIoc3RkOjp1
bmlxdWVfcHRyPEltYWdlQnVmZmVyPiBpbWFnCiAgICAgSW1hZ2VCdWZmZXI6OmRyYXdDb25zdW1p
bmcoV1RGTW92ZShpbWFnZSksICp0aGlzLCBkZXN0aW5hdGlvbiwgc291cmNlLCBpbWFnZVBhaW50
aW5nT3B0aW9ucy5tX2NvbXBvc2l0ZU9wZXJhdG9yLCBpbWFnZVBhaW50aW5nT3B0aW9ucy5tX2Js
ZW5kTW9kZSwgaW1hZ2VQYWludGluZ09wdGlvbnMubV91c2VMb3dRdWFsaXR5U2NhbGUpOwogfQog
Ci12b2lkIEdyYXBoaWNzQ29udGV4dDo6Y2xpcChjb25zdCBJbnRSZWN0JiByZWN0KQotewotICAg
IGNsaXAoRmxvYXRSZWN0KHJlY3QpKTsKLX0KLQogdm9pZCBHcmFwaGljc0NvbnRleHQ6OmNsaXBS
b3VuZGVkUmVjdChjb25zdCBGbG9hdFJvdW5kZWRSZWN0JiByZWN0KQogewogICAgIGlmIChwYWlu
dGluZ0Rpc2FibGVkKCkpCkBAIC03OTgsNiArNzg5LDkgQEAgdm9pZCBHcmFwaGljc0NvbnRleHQ6
OmZpbGxSZWN0KGNvbnN0IEZsb2F0UmVjdCYgcmVjdCwgY29uc3QgQ29sb3ImIGNvbG9yLCBDb21w
b3MKIAogdm9pZCBHcmFwaGljc0NvbnRleHQ6OmZpbGxSb3VuZGVkUmVjdChjb25zdCBGbG9hdFJv
dW5kZWRSZWN0JiByZWN0LCBjb25zdCBDb2xvciYgY29sb3IsIEJsZW5kTW9kZSBibGVuZE1vZGUp
CiB7CisgICAgaWYgKHBhaW50aW5nRGlzYWJsZWQoKSkKKyAgICAgICAgcmV0dXJuOworCiAgICAg
aWYgKHJlY3QuaXNSb3VuZGVkKCkpIHsKICAgICAgICAgc2V0Q29tcG9zaXRlT3BlcmF0aW9uKGNv
bXBvc2l0ZU9wZXJhdGlvbigpLCBibGVuZE1vZGUpOwogICAgICAgICBwbGF0Zm9ybUZpbGxSb3Vu
ZGVkUmVjdChyZWN0LCBjb2xvcik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL0dyYXBoaWNzQ29udGV4dC5oCmluZGV4IDdjYzdhODRlYjE4Y2QwZmExOWRjMjA0MzBm
NzFkYTg2OWIwMmIyN2MuLjU2NDBjMjUwZDY3OWExZGYyNmE1ZGE2M2I2ZjMwYWI0ZDQ0MmEwODUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29u
dGV4dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29u
dGV4dC5oCkBAIC0xMTYsNyArMTE2LDYgQEAgc3RydWN0IEdyYXBoaWNzQ29udGV4dFN0YXRlIHsK
ICAgICAgICAgLCBzaG91bGRTbW9vdGhGb250cyh0cnVlKQogICAgICAgICAsIGFudGlhbGlhc2Vk
Rm9udERpbGF0aW9uRW5hYmxlZCh0cnVlKQogICAgICAgICAsIHNob3VsZFN1YnBpeGVsUXVhbnRp
emVGb250cyh0cnVlKQotICAgICAgICAsIHBhaW50aW5nRGlzYWJsZWQoZmFsc2UpCiAgICAgICAg
ICwgc2hhZG93c0lnbm9yZVRyYW5zZm9ybXMoZmFsc2UpCiAjaWYgVVNFKENHKQogICAgICAgICAv
LyBDb3JlIEdyYXBoaWNzIGluY29ycmVjdGx5IHJlbmRlcnMgc2hhZG93cyB3aXRoIHJhZGl1cyA+
IDhweCAoPHJkYXI6Ly9wcm9ibGVtLzgxMDM0NDI+KSwKQEAgLTE4Myw3ICsxODIsNiBAQCBzdHJ1
Y3QgR3JhcGhpY3NDb250ZXh0U3RhdGUgewogICAgIGJvb2wgc2hvdWxkU21vb3RoRm9udHMgOiAx
OwogICAgIGJvb2wgYW50aWFsaWFzZWRGb250RGlsYXRpb25FbmFibGVkIDogMTsKICAgICBib29s
IHNob3VsZFN1YnBpeGVsUXVhbnRpemVGb250cyA6IDE7Ci0gICAgYm9vbCBwYWludGluZ0Rpc2Fi
bGVkIDogMTsKICAgICBib29sIHNoYWRvd3NJZ25vcmVUcmFuc2Zvcm1zIDogMTsKICNpZiBVU0Uo
Q0cpCiAgICAgYm9vbCBzaGFkb3dzVXNlTGVnYWN5UmFkaXVzIDogMTsKQEAgLTI0OSw5ICsyNDcs
MTggQEAgY2xhc3MgR3JhcGhpY3NDb250ZXh0IHsKIHB1YmxpYzoKICAgICBXRUJDT1JFX0VYUE9S
VCBHcmFwaGljc0NvbnRleHQoUGxhdGZvcm1HcmFwaGljc0NvbnRleHQqKTsKICAgICBXRUJDT1JF
X0VYUE9SVCB+R3JhcGhpY3NDb250ZXh0KCk7CisgICAgCisgICAgZW51bSBjbGFzcyBOb25QYWlu
dGluZ1JlYXNvbnMgeworICAgICAgICBOb1JlYXNvbnMsCisgICAgICAgIFVwZGF0aW5nQ29udHJv
bFRpbnRzCisgICAgfTsKKyAgICBHcmFwaGljc0NvbnRleHQoTm9uUGFpbnRpbmdSZWFzb25zKTsK
IAogICAgIFdFQkNPUkVfRVhQT1JUIFBsYXRmb3JtR3JhcGhpY3NDb250ZXh0KiBwbGF0Zm9ybUNv
bnRleHQoKSBjb25zdDsKIAorICAgIGJvb2wgcGFpbnRpbmdEaXNhYmxlZCgpIGNvbnN0IHsgcmV0
dXJuICFtX2RhdGE7IH0KKyAgICBib29sIHVwZGF0aW5nQ29udHJvbFRpbnRzKCkgY29uc3QgeyBy
ZXR1cm4gbV9ub25QYWludGluZ1JlYXNvbnMgPT0gTm9uUGFpbnRpbmdSZWFzb25zOjpVcGRhdGlu
Z0NvbnRyb2xUaW50czsgfQorCiAgICAgdm9pZCBzZXRTdHJva2VUaGlja25lc3MoZmxvYXQpOwog
ICAgIGZsb2F0IHN0cm9rZVRoaWNrbmVzcygpIGNvbnN0IHsgcmV0dXJuIG1fc3RhdGUuc3Ryb2tl
VGhpY2tuZXNzOyB9CiAKQEAgLTM2Nyw3ICszNzQsNiBAQCBwdWJsaWM6CiAgICAgV0VCQ09SRV9F
WFBPUlQgdm9pZCBzZXRJbWFnZUludGVycG9sYXRpb25RdWFsaXR5KEludGVycG9sYXRpb25RdWFs
aXR5KTsKICAgICBJbnRlcnBvbGF0aW9uUXVhbGl0eSBpbWFnZUludGVycG9sYXRpb25RdWFsaXR5
KCkgY29uc3QgeyByZXR1cm4gbV9zdGF0ZS5pbWFnZUludGVycG9sYXRpb25RdWFsaXR5OyB9CiAK
LSAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIGNsaXAoY29uc3QgSW50UmVjdCYpOwogICAgIFdFQkNP
UkVfRVhQT1JUIHZvaWQgY2xpcChjb25zdCBGbG9hdFJlY3QmKTsKICAgICB2b2lkIGNsaXBSb3Vu
ZGVkUmVjdChjb25zdCBGbG9hdFJvdW5kZWRSZWN0Jik7CiAKQEAgLTQwOCwxMiArNDE0LDYgQEAg
cHVibGljOgogICAgIHN0YXRpYyB2b2lkIHVwZGF0ZURvY3VtZW50TWFya2VyUmVzb3VyY2VzKCk7
CiAgICAgdm9pZCBkcmF3TGluZUZvckRvY3VtZW50TWFya2VyKGNvbnN0IEZsb2F0UG9pbnQmLCBm
bG9hdCB3aWR0aCwgRG9jdW1lbnRNYXJrZXJMaW5lU3R5bGUpOwogCi0gICAgdm9pZCBzZXRQYWlu
dGluZ0Rpc2FibGVkKGJvb2wgcGFpbnRpbmdEaXNhYmxlZCkgeyBtX3N0YXRlLnBhaW50aW5nRGlz
YWJsZWQgPSBwYWludGluZ0Rpc2FibGVkOyB9Ci0gICAgYm9vbCBwYWludGluZ0Rpc2FibGVkKCkg
Y29uc3QgeyByZXR1cm4gbV9zdGF0ZS5wYWludGluZ0Rpc2FibGVkOyB9Ci0KLSAgICB2b2lkIHNl
dFVwZGF0aW5nQ29udHJvbFRpbnRzKGJvb2wpOwotICAgIGJvb2wgdXBkYXRpbmdDb250cm9sVGlu
dHMoKSBjb25zdCB7IHJldHVybiBtX3VwZGF0aW5nQ29udHJvbFRpbnRzOyB9Ci0KICAgICBXRUJD
T1JFX0VYUE9SVCB2b2lkIGJlZ2luVHJhbnNwYXJlbmN5TGF5ZXIoZmxvYXQgb3BhY2l0eSk7CiAg
ICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBlbmRUcmFuc3BhcmVuY3lMYXllcigpOwogICAgIGJvb2wg
aXNJblRyYW5zcGFyZW5jeUxheWVyKCkgY29uc3QgeyByZXR1cm4gKG1fdHJhbnNwYXJlbmN5Q291
bnQgPiAwKSAmJiBzdXBwb3J0c1RyYW5zcGFyZW5jeUxheWVycygpOyB9CkBAIC02MDEsMTIgKzYw
MSwxMyBAQCBwcml2YXRlOgogCiAgICAgRmxvYXRSZWN0IGNvbXB1dGVMaW5lQm91bmRzQW5kQW50
aWFsaWFzaW5nTW9kZUZvclRleHQoY29uc3QgRmxvYXRQb2ludCYsIGZsb2F0IHdpZHRoLCBib29s
IHByaW50aW5nLCAgQ29sb3ImKTsKIAotICAgIEdyYXBoaWNzQ29udGV4dFBsYXRmb3JtUHJpdmF0
ZSogbV9kYXRhOworICAgIEdyYXBoaWNzQ29udGV4dFBsYXRmb3JtUHJpdmF0ZSogbV9kYXRhIHsg
bnVsbHB0ciB9OwogCiAgICAgR3JhcGhpY3NDb250ZXh0U3RhdGUgbV9zdGF0ZTsKICAgICBWZWN0
b3I8R3JhcGhpY3NDb250ZXh0U3RhdGUsIDE+IG1fc3RhY2s7Ci0gICAgYm9vbCBtX3VwZGF0aW5n
Q29udHJvbFRpbnRzOwotICAgIHVuc2lnbmVkIG1fdHJhbnNwYXJlbmN5Q291bnQ7CisKKyAgICBj
b25zdCBOb25QYWludGluZ1JlYXNvbnMgbV9ub25QYWludGluZ1JlYXNvbnMgeyBOb25QYWludGlu
Z1JlYXNvbnM6Ok5vUmVhc29ucyB9OworICAgIHVuc2lnbmVkIG1fdHJhbnNwYXJlbmN5Q291bnQg
eyAwIH07CiB9OwogCiBjbGFzcyBHcmFwaGljc0NvbnRleHRTdGF0ZVNhdmVyIHsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL0dyYXBoaWNzQ29udGV4
dENhaXJvLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL0dyYXBo
aWNzQ29udGV4dENhaXJvLmNwcAppbmRleCBmYTVjNGEzMzI2OGM5MDQ1OTNlMWVjNzQ0NTA3N2Y3
ZWViOWM5MmI4Li4yOWVlYzNmMDliNmE5ODJjZWRlZTM1Y2ViZGZiMjc2YjBmMjcxNGVkIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYWlyby9HcmFwaGljc0Nv
bnRleHRDYWlyby5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fp
cm8vR3JhcGhpY3NDb250ZXh0Q2Fpcm8uY3BwCkBAIC0xNzUsMTkgKzE3NSwyMCBAQCBzdGF0aWMg
aW5saW5lIHZvaWQgc2hhZG93QW5kU3Ryb2tlQ3VycmVudENhaXJvUGF0aChHcmFwaGljc0NvbnRl
eHQmIGNvbnRleHQpCiB9CiAKIEdyYXBoaWNzQ29udGV4dDo6R3JhcGhpY3NDb250ZXh0KGNhaXJv
X3QqIGNyKQotICAgIDogbV91cGRhdGluZ0NvbnRyb2xUaW50cyhmYWxzZSkKLSAgICAsIG1fdHJh
bnNwYXJlbmN5Q291bnQoMCkKIHsKKyAgICBpZiAoIWNyKQorICAgICAgICByZXR1cm47CisKICAg
ICBtX2RhdGEgPSBuZXcgR3JhcGhpY3NDb250ZXh0UGxhdGZvcm1Qcml2YXRlVG9wbGV2ZWwobmV3
IFBsYXRmb3JtQ29udGV4dENhaXJvKGNyKSk7CiB9CiAKIHZvaWQgR3JhcGhpY3NDb250ZXh0Ojpw
bGF0Zm9ybUluaXQoUGxhdGZvcm1Db250ZXh0Q2Fpcm8qIHBsYXRmb3JtQ29udGV4dCkKIHsKKyAg
ICBpZiAoIXBsYXRmb3JtQ29udGV4dCkKKyAgICAgICAgcmV0dXJuOworCiAgICAgbV9kYXRhID0g
bmV3IEdyYXBoaWNzQ29udGV4dFBsYXRmb3JtUHJpdmF0ZShwbGF0Zm9ybUNvbnRleHQpOwotICAg
IGlmIChwbGF0Zm9ybUNvbnRleHQpCi0gICAgICAgIG1fZGF0YS0+c3luY0NvbnRleHQocGxhdGZv
cm1Db250ZXh0LT5jcigpKTsKLSAgICBlbHNlCi0gICAgICAgIHNldFBhaW50aW5nRGlzYWJsZWQo
dHJ1ZSk7CisgICAgbV9kYXRhLT5zeW5jQ29udGV4dChwbGF0Zm9ybUNvbnRleHQtPmNyKCkpOwog
fQogCiB2b2lkIEdyYXBoaWNzQ29udGV4dDo6cGxhdGZvcm1EZXN0cm95KCkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0dyYXBoaWNzQ29udGV4dENHLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0dyYXBoaWNzQ29udGV4dENH
LmNwcAppbmRleCBmYTI1MGUzODkxMDFmNGM5MGMzNzRkNGJlMDk1NzU0YzdiMTYxYzU2Li5jNDVk
YzE5Y2M5OWNkZjJkODI1OWZlNzM4ZmZjZjJkNzQ5M2FiZWVlIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9HcmFwaGljc0NvbnRleHRDRy5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvR3JhcGhpY3NDb250ZXh0Q0cuY3Bw
CkBAIC0xMTUsMTUgKzExNSwxNSBAQCBzdGF0aWMgSW50ZXJwb2xhdGlvblF1YWxpdHkgY29udmVy
dEludGVycG9sYXRpb25RdWFsaXR5KENHSW50ZXJwb2xhdGlvblF1YWxpdHkgcQogCiB2b2lkIEdy
YXBoaWNzQ29udGV4dDo6cGxhdGZvcm1Jbml0KENHQ29udGV4dFJlZiBjZ0NvbnRleHQpCiB7Cisg
ICAgaWYgKCFjZ0NvbnRleHQpCisgICAgICAgIHJldHVybjsKKwogICAgIG1fZGF0YSA9IG5ldyBH
cmFwaGljc0NvbnRleHRQbGF0Zm9ybVByaXZhdGUoY2dDb250ZXh0KTsKLSAgICBzZXRQYWludGlu
Z0Rpc2FibGVkKCFjZ0NvbnRleHQpOwotICAgIGlmIChjZ0NvbnRleHQpIHsKLSAgICAgICAgLy8g
TWFrZSBzdXJlIHRoZSBjb250ZXh0IHN0YXJ0cyBpbiBzeW5jIHdpdGggb3VyIHN0YXRlLgotICAg
ICAgICBzZXRQbGF0Zm9ybUZpbGxDb2xvcihmaWxsQ29sb3IoKSk7Ci0gICAgICAgIHNldFBsYXRm
b3JtU3Ryb2tlQ29sb3Ioc3Ryb2tlQ29sb3IoKSk7Ci0gICAgICAgIHNldFBsYXRmb3JtU3Ryb2tl
VGhpY2tuZXNzKHN0cm9rZVRoaWNrbmVzcygpKTsKLSAgICAgICAgbV9zdGF0ZS5pbWFnZUludGVy
cG9sYXRpb25RdWFsaXR5ID0gY29udmVydEludGVycG9sYXRpb25RdWFsaXR5KENHQ29udGV4dEdl
dEludGVycG9sYXRpb25RdWFsaXR5KHBsYXRmb3JtQ29udGV4dCgpKSk7Ci0gICAgfQorICAgIC8v
IE1ha2Ugc3VyZSB0aGUgY29udGV4dCBzdGFydHMgaW4gc3luYyB3aXRoIG91ciBzdGF0ZS4KKyAg
ICBzZXRQbGF0Zm9ybUZpbGxDb2xvcihmaWxsQ29sb3IoKSk7CisgICAgc2V0UGxhdGZvcm1TdHJv
a2VDb2xvcihzdHJva2VDb2xvcigpKTsKKyAgICBzZXRQbGF0Zm9ybVN0cm9rZVRoaWNrbmVzcyhz
dHJva2VUaGlja25lc3MoKSk7CisgICAgbV9zdGF0ZS5pbWFnZUludGVycG9sYXRpb25RdWFsaXR5
ID0gY29udmVydEludGVycG9sYXRpb25RdWFsaXR5KENHQ29udGV4dEdldEludGVycG9sYXRpb25R
dWFsaXR5KHBsYXRmb3JtQ29udGV4dCgpKSk7CiB9CiAKIHZvaWQgR3JhcGhpY3NDb250ZXh0Ojpw
bGF0Zm9ybURlc3Ryb3koKQpAQCAtMTQwLDYgKzE0MCw3IEBAIENHQ29udGV4dFJlZiBHcmFwaGlj
c0NvbnRleHQ6OnBsYXRmb3JtQ29udGV4dCgpIGNvbnN0CiAKIHZvaWQgR3JhcGhpY3NDb250ZXh0
OjpzYXZlUGxhdGZvcm1TdGF0ZSgpCiB7CisgICAgQVNTRVJUKCFwYWludGluZ0Rpc2FibGVkKCkp
OwogICAgIC8vIE5vdGU6IERvIG5vdCB1c2UgdGhpcyBmdW5jdGlvbiB3aXRoaW4gdGhpcyBjbGFz
cyBpbXBsZW1lbnRhdGlvbiwgc2luY2Ugd2Ugd2FudCB0byBhdm9pZCB0aGUgZXh0cmEKICAgICAv
LyBzYXZlIG9mIHRoZSBzZWNvbmRhcnkgY29udGV4dCAoaW4gR3JhcGhpY3NDb250ZXh0UGxhdGZv
cm1Qcml2YXRlQ0cuaCkuCiAgICAgQ0dDb250ZXh0U2F2ZUdTdGF0ZShwbGF0Zm9ybUNvbnRleHQo
KSk7CkBAIC0xNDgsNiArMTQ5LDcgQEAgdm9pZCBHcmFwaGljc0NvbnRleHQ6OnNhdmVQbGF0Zm9y
bVN0YXRlKCkKIAogdm9pZCBHcmFwaGljc0NvbnRleHQ6OnJlc3RvcmVQbGF0Zm9ybVN0YXRlKCkK
IHsKKyAgICBBU1NFUlQoIXBhaW50aW5nRGlzYWJsZWQoKSk7CiAgICAgLy8gTm90ZTogRG8gbm90
IHVzZSB0aGlzIGZ1bmN0aW9uIHdpdGhpbiB0aGlzIGNsYXNzIGltcGxlbWVudGF0aW9uLCBzaW5j
ZSB3ZSB3YW50IHRvIGF2b2lkIHRoZSBleHRyYQogICAgIC8vIHJlc3RvcmUgb2YgdGhlIHNlY29u
ZGFyeSBjb250ZXh0IChpbiBHcmFwaGljc0NvbnRleHRQbGF0Zm9ybVByaXZhdGVDRy5oKS4KICAg
ICBDR0NvbnRleHRSZXN0b3JlR1N0YXRlKHBsYXRmb3JtQ29udGV4dCgpKTsKQEAgLTE1Nyw2ICsx
NTksOSBAQCB2b2lkIEdyYXBoaWNzQ29udGV4dDo6cmVzdG9yZVBsYXRmb3JtU3RhdGUoKQogCiB2
b2lkIEdyYXBoaWNzQ29udGV4dDo6ZHJhd05hdGl2ZUltYWdlKFBhc3NOYXRpdmVJbWFnZVB0ciBp
bWFnZVB0ciwgY29uc3QgRmxvYXRTaXplJiBpbWFnZVNpemUsIGNvbnN0IEZsb2F0UmVjdCYgZGVz
dFJlY3QsIGNvbnN0IEZsb2F0UmVjdCYgc3JjUmVjdCwgQ29tcG9zaXRlT3BlcmF0b3Igb3AsIEJs
ZW5kTW9kZSBibGVuZE1vZGUsIEltYWdlT3JpZW50YXRpb24gb3JpZW50YXRpb24pCiB7CisgICAg
aWYgKHBhaW50aW5nRGlzYWJsZWQoKSkKKyAgICAgICAgcmV0dXJuOworCiAgICAgUmV0YWluUHRy
PENHSW1hZ2VSZWY+IGltYWdlKGltYWdlUHRyKTsKIAogICAgIGZsb2F0IGN1cnJIZWlnaHQgPSBv
cmllbnRhdGlvbi51c2VzV2lkdGhBc0hlaWdodCgpID8gQ0dJbWFnZUdldFdpZHRoKGltYWdlLmdl
dCgpKSA6IENHSW1hZ2VHZXRIZWlnaHQoaW1hZ2UuZ2V0KCkpOwpAQCAtMjcxLDcgKzI3Niw3IEBA
IHN0YXRpYyB2b2lkIHBhdHRlcm5SZWxlYXNlQ2FsbGJhY2sodm9pZCogaW5mbykKIAogdm9pZCBH
cmFwaGljc0NvbnRleHQ6OmRyYXdQYXR0ZXJuKEltYWdlJiBpbWFnZSwgY29uc3QgRmxvYXRSZWN0
JiB0aWxlUmVjdCwgY29uc3QgQWZmaW5lVHJhbnNmb3JtJiBwYXR0ZXJuVHJhbnNmb3JtLCBjb25z
dCBGbG9hdFBvaW50JiBwaGFzZSwgY29uc3QgRmxvYXRTaXplJiBzcGFjaW5nLCBDb21wb3NpdGVP
cGVyYXRvciBvcCwgY29uc3QgRmxvYXRSZWN0JiBkZXN0UmVjdCwgQmxlbmRNb2RlIGJsZW5kTW9k
ZSkKIHsKLSAgICBpZiAoIXBhdHRlcm5UcmFuc2Zvcm0uaXNJbnZlcnRpYmxlKCkpCisgICAgaWYg
KHBhaW50aW5nRGlzYWJsZWQoKSB8fCAhcGF0dGVyblRyYW5zZm9ybS5pc0ludmVydGlibGUoKSkK
ICAgICAgICAgcmV0dXJuOwogCiAgICAgQ0dDb250ZXh0UmVmIGNvbnRleHQgPSBwbGF0Zm9ybUNv
bnRleHQoKTsKQEAgLTM3MSwxMSArMzc2LDEwIEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0OjpjbGlw
VG9JbWFnZUJ1ZmZlcihJbWFnZUJ1ZmZlciYgYnVmZmVyLCBjb25zdCBGbG9hdFJlY3QmIGRlCiAv
LyBEcmF3cyBhIGZpbGxlZCByZWN0YW5nbGUgd2l0aCBhIHN0cm9rZWQgYm9yZGVyLgogdm9pZCBH
cmFwaGljc0NvbnRleHQ6OmRyYXdSZWN0KGNvbnN0IEZsb2F0UmVjdCYgcmVjdCwgZmxvYXQgYm9y
ZGVyVGhpY2tuZXNzKQogewotICAgIC8vIEZJWE1FOiB0aGlzIGZ1bmN0aW9uIGRvZXMgbm90IGhh
bmRsZSBwYXR0ZXJucyBhbmQgZ3JhZGllbnRzCi0gICAgLy8gbGlrZSBkcmF3UGF0aCBkb2VzLCBp
dCBwcm9iYWJseSBzaG91bGQuCiAgICAgaWYgKHBhaW50aW5nRGlzYWJsZWQoKSkKICAgICAgICAg
cmV0dXJuOwogCisgICAgLy8gRklYTUU6IHRoaXMgZnVuY3Rpb24gZG9lcyBub3QgaGFuZGxlIHBh
dHRlcm5zIGFuZCBncmFkaWVudHMgbGlrZSBkcmF3UGF0aCBkb2VzLCBpdCBwcm9iYWJseSBzaG91
bGQuCiAgICAgQVNTRVJUKCFyZWN0LmlzRW1wdHkoKSk7CiAKICAgICBDR0NvbnRleHRSZWYgY29u
dGV4dCA9IHBsYXRmb3JtQ29udGV4dCgpOwpAQCAtNTUyLDYgKzU1Niw5IEBAIHZvaWQgR3JhcGhp
Y3NDb250ZXh0OjpjbGlwQ29udmV4UG9seWdvbihzaXplX3QgbnVtYmVyT2ZQb2ludHMsIGNvbnN0
IEZsb2F0UG9pbnQqCiAKIHZvaWQgR3JhcGhpY3NDb250ZXh0OjphcHBseVN0cm9rZVBhdHRlcm4o
KQogeworICAgIGlmIChwYWludGluZ0Rpc2FibGVkKCkpCisgICAgICAgIHJldHVybjsKKwogICAg
IENHQ29udGV4dFJlZiBjZ0NvbnRleHQgPSBwbGF0Zm9ybUNvbnRleHQoKTsKICAgICBBZmZpbmVU
cmFuc2Zvcm0gdXNlclRvQmFzZUNUTSA9IEFmZmluZVRyYW5zZm9ybShnZXRVc2VyVG9CYXNlQ1RN
KGNnQ29udGV4dCkpOwogCkBAIC01NjgsNiArNTc1LDkgQEAgdm9pZCBHcmFwaGljc0NvbnRleHQ6
OmFwcGx5U3Ryb2tlUGF0dGVybigpCiAKIHZvaWQgR3JhcGhpY3NDb250ZXh0OjphcHBseUZpbGxQ
YXR0ZXJuKCkKIHsKKyAgICBpZiAocGFpbnRpbmdEaXNhYmxlZCgpKQorICAgICAgICByZXR1cm47
CisKICAgICBDR0NvbnRleHRSZWYgY2dDb250ZXh0ID0gcGxhdGZvcm1Db250ZXh0KCk7CiAgICAg
QWZmaW5lVHJhbnNmb3JtIHVzZXJUb0Jhc2VDVE0gPSBBZmZpbmVUcmFuc2Zvcm0oZ2V0VXNlclRv
QmFzZUNUTShjZ0NvbnRleHQpKTsKIApAQCAtOTIxLDYgKzkzMSw3IEBAIHZvaWQgR3JhcGhpY3ND
b250ZXh0OjpjbGlwKGNvbnN0IEZsb2F0UmVjdCYgcmVjdCkKIHsKICAgICBpZiAocGFpbnRpbmdE
aXNhYmxlZCgpKQogICAgICAgICByZXR1cm47CisKICAgICBDR0NvbnRleHRDbGlwVG9SZWN0KHBs
YXRmb3JtQ29udGV4dCgpLCByZWN0KTsKICAgICBtX2RhdGEtPmNsaXAocmVjdCk7CiB9CkBAIC05
NjUsNiArOTc2LDkgQEAgdm9pZCBHcmFwaGljc0NvbnRleHQ6OmNsaXBQYXRoKGNvbnN0IFBhdGgm
IHBhdGgsIFdpbmRSdWxlIGNsaXBSdWxlKQogCiBJbnRSZWN0IEdyYXBoaWNzQ29udGV4dDo6Y2xp
cEJvdW5kcygpIGNvbnN0CiB7CisgICAgaWYgKHBhaW50aW5nRGlzYWJsZWQoKSkKKyAgICAgICAg
cmV0dXJuIEludFJlY3QoKTsKKwogICAgIHJldHVybiBlbmNsb3NpbmdJbnRSZWN0KENHQ29udGV4
dEdldENsaXBCb3VuZGluZ0JveChwbGF0Zm9ybUNvbnRleHQoKSkpOwogfQogCkBAIC0xMTcyLDYg
KzExODYsOSBAQCB2b2lkIEdyYXBoaWNzQ29udGV4dDo6c2V0TGluZUNhcChMaW5lQ2FwIGNhcCkK
IAogdm9pZCBHcmFwaGljc0NvbnRleHQ6OnNldExpbmVEYXNoKGNvbnN0IERhc2hBcnJheSYgZGFz
aGVzLCBmbG9hdCBkYXNoT2Zmc2V0KQogeworICAgIGlmIChwYWludGluZ0Rpc2FibGVkKCkpCisg
ICAgICAgIHJldHVybjsKKwogICAgIGlmIChkYXNoT2Zmc2V0IDwgMCkgewogICAgICAgICBmbG9h
dCBsZW5ndGggPSAwOwogICAgICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IGRhc2hlcy5zaXpl
KCk7ICsraSkKQEAgLTEyNzcsNiArMTI5NCw5IEBAIEFmZmluZVRyYW5zZm9ybSBHcmFwaGljc0Nv
bnRleHQ6OmdldENUTShJbmNsdWRlRGV2aWNlU2NhbGUgaW5jbHVkZVNjYWxlKSBjb25zdAogCiBG
bG9hdFJlY3QgR3JhcGhpY3NDb250ZXh0Ojpyb3VuZFRvRGV2aWNlUGl4ZWxzKGNvbnN0IEZsb2F0
UmVjdCYgcmVjdCwgUm91bmRpbmdNb2RlIHJvdW5kaW5nTW9kZSkKIHsKKyAgICBpZiAocGFpbnRp
bmdEaXNhYmxlZCgpKQorICAgICAgICByZXR1cm4gcmVjdDsKKwogICAgIC8vIEl0IGlzIG5vdCBl
bm91Z2gganVzdCB0byByb3VuZCB0byBwaXhlbHMgaW4gZGV2aWNlIHNwYWNlLiBUaGUgcm90YXRp
b24gcGFydCBvZiB0aGUKICAgICAvLyBhZmZpbmUgdHJhbnNmb3JtIG1hdHJpeCB0byBkZXZpY2Ug
c3BhY2UgY2FuIG1lc3Mgd2l0aCB0aGlzIGNvbnZlcnNpb24gaWYgd2UgaGF2ZSBhCiAgICAgLy8g
cm90YXRpbmcgaW1hZ2UgbGlrZSB0aGUgaGFuZHMgb2YgdGhlIHdvcmxkIGNsb2NrIHdpZGdldC4g
V2UganVzdCBuZWVkIHRoZSBzY2FsZSwgc28KQEAgLTEzOTAsNiArMTQxMCw4IEBAIHZvaWQgR3Jh
cGhpY3NDb250ZXh0OjpzZXRVUkxGb3JSZWN0KGNvbnN0IFVSTCYgbGluaywgY29uc3QgSW50UmVj
dCYgZGVzdFJlY3QpCiAKIHZvaWQgR3JhcGhpY3NDb250ZXh0OjpzZXRQbGF0Zm9ybUltYWdlSW50
ZXJwb2xhdGlvblF1YWxpdHkoSW50ZXJwb2xhdGlvblF1YWxpdHkgbW9kZSkKIHsKKyAgICBBU1NF
UlQoIXBhaW50aW5nRGlzYWJsZWQoKSk7CisKICAgICBDR0ludGVycG9sYXRpb25RdWFsaXR5IHF1
YWxpdHkgPSBrQ0dJbnRlcnBvbGF0aW9uRGVmYXVsdDsKICAgICBzd2l0Y2ggKG1vZGUpIHsKICAg
ICBjYXNlIEludGVycG9sYXRpb25EZWZhdWx0OgpAQCAtMTQxMyw2ICsxNDM1LDkgQEAgdm9pZCBH
cmFwaGljc0NvbnRleHQ6OnNldFBsYXRmb3JtSW1hZ2VJbnRlcnBvbGF0aW9uUXVhbGl0eShJbnRl
cnBvbGF0aW9uUXVhbGl0eQogCiB2b2lkIEdyYXBoaWNzQ29udGV4dDo6c2V0SXNDQUxheWVyQ29u
dGV4dChib29sIGlzTGF5ZXJDb250ZXh0KQogeworICAgIGlmIChwYWludGluZ0Rpc2FibGVkKCkp
CisgICAgICAgIHJldHVybjsKKwogICAgIGlmIChpc0xheWVyQ29udGV4dCkKICAgICAgICAgbV9k
YXRhLT5tX2NvbnRleHRGbGFncyB8PSBJc0xheWVyQ0dDb250ZXh0OwogICAgIGVsc2UKQEAgLTE0
MjEsMTEgKzE0NDYsMTcgQEAgdm9pZCBHcmFwaGljc0NvbnRleHQ6OnNldElzQ0FMYXllckNvbnRl
eHQoYm9vbCBpc0xheWVyQ29udGV4dCkKIAogYm9vbCBHcmFwaGljc0NvbnRleHQ6OmlzQ0FMYXll
ckNvbnRleHQoKSBjb25zdAogeworICAgIGlmIChwYWludGluZ0Rpc2FibGVkKCkpCisgICAgICAg
IHJldHVybiBmYWxzZTsKKwogICAgIHJldHVybiBtX2RhdGEtPm1fY29udGV4dEZsYWdzICYgSXNM
YXllckNHQ29udGV4dDsKIH0KIAogdm9pZCBHcmFwaGljc0NvbnRleHQ6OnNldElzQWNjZWxlcmF0
ZWRDb250ZXh0KGJvb2wgaXNBY2NlbGVyYXRlZCkKIHsKKyAgICBpZiAocGFpbnRpbmdEaXNhYmxl
ZCgpKQorICAgICAgICByZXR1cm47CisKICAgICBpZiAoaXNBY2NlbGVyYXRlZCkKICAgICAgICAg
bV9kYXRhLT5tX2NvbnRleHRGbGFncyB8PSBJc0FjY2VsZXJhdGVkQ0dDb250ZXh0OwogICAgIGVs
c2UKQEAgLTE0MzQsNiArMTQ2NSw5IEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0OjpzZXRJc0FjY2Vs
ZXJhdGVkQ29udGV4dChib29sIGlzQWNjZWxlcmF0ZWQpCiAKIGJvb2wgR3JhcGhpY3NDb250ZXh0
Ojppc0FjY2VsZXJhdGVkQ29udGV4dCgpIGNvbnN0CiB7CisgICAgaWYgKHBhaW50aW5nRGlzYWJs
ZWQoKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCiAgICAgcmV0dXJuIG1fZGF0YS0+bV9jb250
ZXh0RmxhZ3MgJiBJc0FjY2VsZXJhdGVkQ0dDb250ZXh0OwogfQogCkBAIC0xNjEzLDYgKzE2NDcs
OSBAQCB2b2lkIEdyYXBoaWNzQ29udGV4dDo6c2V0UGxhdGZvcm1Db21wb3NpdGVPcGVyYXRpb24o
Q29tcG9zaXRlT3BlcmF0b3IgbW9kZSwgQmxlbgogCiB2b2lkIEdyYXBoaWNzQ29udGV4dDo6cGxh
dGZvcm1BcHBseURldmljZVNjYWxlRmFjdG9yKGZsb2F0IGRldmljZVNjYWxlRmFjdG9yKQogewor
ICAgIGlmIChwYWludGluZ0Rpc2FibGVkKCkpCisgICAgICAgIHJldHVybjsKKwogICAgIC8vIENv
cmVHcmFwaGljcyBleHBlY3RzIHRoZSBiYXNlIENUTSBvZiBhIEhpRFBJIGNvbnRleHQgdG8gaGF2
ZSB0aGUgc2NhbGUgZmFjdG9yIGFwcGxpZWQgdG8gaXQuCiAgICAgLy8gRmFpbGluZyB0byBjaGFu
Z2UgdGhlIGJhc2UgbGV2ZWwgQ1RNIHdpbGwgY2F1c2UgY2VydGFpbiBDRyBmZWF0dXJlcywgc3Vj
aCBhcyBmb2N1cyByaW5ncywKICAgICAvLyB0byBkcmF3IHdpdGggYSBzY2FsZSBmYWN0b3Igb2Yg
MSByYXRoZXIgdGhhbiB0aGUgYWN0dWFsIHNjYWxlIGZhY3Rvci4KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9HcmFwaGljc0NvbnRleHRDR1dpbi5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vR3JhcGhpY3NDb250ZXh0Q0dX
aW4uY3BwCmluZGV4IDllZGFjNTJiYmU0YThmZTczZjY0Nzc3ODZkYjI0ZjQ4Yjk4OWNkMmEuLmQw
M2YxMDQyNTJiMGExYzk2NTZiMjE4YWIwYTY2MjFkNTFlNDg0OTEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9HcmFwaGljc0NvbnRleHRDR1dpbi5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0dyYXBoaWNzQ29udGV4
dENHV2luLmNwcApAQCAtNjgsMTggKzY4LDE4IEBAIHN0YXRpYyBDR0NvbnRleHRSZWYgQ0dDb250
ZXh0V2l0aEhEQyhIREMgaGRjLCBib29sIGhhc0FscGhhKQogfQogCiBHcmFwaGljc0NvbnRleHQ6
OkdyYXBoaWNzQ29udGV4dChIREMgaGRjLCBib29sIGhhc0FscGhhKQotICAgIDogbV91cGRhdGlu
Z0NvbnRyb2xUaW50cyhmYWxzZSksCi0gICAgICBtX3RyYW5zcGFyZW5jeUNvdW50KDApCiB7CiAg
ICAgcGxhdGZvcm1Jbml0KGhkYywgaGFzQWxwaGEpOwogfQogCiB2b2lkIEdyYXBoaWNzQ29udGV4
dDo6cGxhdGZvcm1Jbml0KEhEQyBoZGMsIGJvb2wgaGFzQWxwaGEpCiB7CisgICAgaWYgKCFoZGMp
CisgICAgICAgIHJldHVybjsKKwogICAgIG1fZGF0YSA9IG5ldyBHcmFwaGljc0NvbnRleHRQbGF0
Zm9ybVByaXZhdGUoQ0dDb250ZXh0V2l0aEhEQyhoZGMsIGhhc0FscGhhKSk7CiAgICAgQ0dDb250
ZXh0UmVsZWFzZShtX2RhdGEtPm1fY2dDb250ZXh0LmdldCgpKTsKICAgICBtX2RhdGEtPm1faGRj
ID0gaGRjOwotICAgIHNldFBhaW50aW5nRGlzYWJsZWQoIW1fZGF0YS0+bV9jZ0NvbnRleHQpOwog
ICAgIGlmIChtX2RhdGEtPm1fY2dDb250ZXh0KSB7CiAgICAgICAgIC8vIE1ha2Ugc3VyZSB0aGUg
Y29udGV4dCBzdGFydHMgaW4gc3luYyB3aXRoIG91ciBzdGF0ZS4KICAgICAgICAgc2V0UGxhdGZv
cm1GaWxsQ29sb3IoZmlsbENvbG9yKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3Mvd2luL0dyYXBoaWNzQ29udGV4dENhaXJvV2luLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9HcmFwaGljc0NvbnRleHRDYWlyb1dpbi5jcHAK
aW5kZXggMmZjYjc2M2I4NTE5MjZlN2Y4YWE1YjM5Yjk2YTA2NDU1NDlkNzExOC4uYjQ4ZDhmNWEw
ODY3MjA3ZjkwZWI3ZWY3OGRlYTc5ZDhmYzI3YTI1YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0dyYXBoaWNzQ29udGV4dENhaXJvV2luLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vR3JhcGhpY3NDb250ZXh0Q2Fp
cm9XaW4uY3BwCkBAIC02NywxOSArNjcsMTYgQEAgc3RhdGljIGNhaXJvX3QqIGNyZWF0ZUNhaXJv
Q29udGV4dFdpdGhIREMoSERDIGhkYywgYm9vbCBoYXNBbHBoYSkKIH0KIAogR3JhcGhpY3NDb250
ZXh0OjpHcmFwaGljc0NvbnRleHQoSERDIGRjLCBib29sIGhhc0FscGhhKQotICAgIDogbV91cGRh
dGluZ0NvbnRyb2xUaW50cyhmYWxzZSksCi0gICAgICBtX3RyYW5zcGFyZW5jeUNvdW50KDApCiB7
CiAgICAgcGxhdGZvcm1Jbml0KGRjLCBoYXNBbHBoYSk7CiB9CiAKIHZvaWQgR3JhcGhpY3NDb250
ZXh0OjpwbGF0Zm9ybUluaXQoSERDIGRjLCBib29sIGhhc0FscGhhKQogewotICAgIGNhaXJvX3Qq
IGNyID0gMDsKLSAgICBpZiAoZGMpCi0gICAgICAgIGNyID0gY3JlYXRlQ2Fpcm9Db250ZXh0V2l0
aEhEQyhkYywgaGFzQWxwaGEpOwotICAgIGVsc2UKLSAgICAgICAgc2V0UGFpbnRpbmdEaXNhYmxl
ZCh0cnVlKTsKKyAgICBpZiAoIWRjKQorICAgICAgICByZXR1cm47CisKKyAgICBjYWlyb190KiBj
ciA9IGNyZWF0ZUNhaXJvQ29udGV4dFdpdGhIREMoZGMsIGhhc0FscGhhKTsKIAogICAgIG1fZGF0
YSA9IG5ldyBHcmFwaGljc0NvbnRleHRQbGF0Zm9ybVByaXZhdGVUb3BsZXZlbChuZXcgUGxhdGZv
cm1Db250ZXh0Q2Fpcm8oY3IpKTsKICAgICBtX2RhdGEtPm1faGRjID0gZGM7Cg==
</data>
<flag name="review"
          id="293559"
          type_id="1"
          status="+"
          setter="thorton"
    />
          </attachment>
      

    </bug>

</bugzilla>