<?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>102604</bug_id>
          
          <creation_ts>2012-11-17 19:02:06 -0800</creation_ts>
          <short_desc>Reduce the crazy number of parameters to RenderLayer clip-rect functions</short_desc>
          <delta_ts>2012-11-17 20:02:40 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Simon Fraser (smfr)">simon.fraser</reporter>
          <assigned_to name="Simon Fraser (smfr)">simon.fraser</assigned_to>
          <cc>andersca</cc>
    
    <cc>bdakin</cc>
    
    <cc>eric</cc>
    
    <cc>mitz</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>770052</commentid>
    <comment_count>0</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2012-11-17 19:02:06 -0800</bug_when>
    <thetext>Reduce the crazy number of parameters to RenderLayer clip-rect functions</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>770053</commentid>
    <comment_count>1</comment_count>
      <attachid>174838</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2012-11-17 19:03:57 -0800</bug_when>
    <thetext>Created attachment 174838
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>770059</commentid>
    <comment_count>2</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2012-11-17 20:02:40 -0800</bug_when>
    <thetext>http://trac.webkit.org/changeset/135060</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>174838</attachid>
            <date>2012-11-17 19:03:57 -0800</date>
            <delta_ts>2012-11-17 19:56:56 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-102604-20121117190150.patch</filename>
            <type>text/plain</type>
            <size>31637</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM1MDU0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggN2NkZDY2MDkxZDExYTdi
N2VlMTlhMTc1NTdiOTI1YjJkMTljNDgzNy4uOTE0YmU1MmI1M2E1ZDYwMjVjOGI4NzYzNTM1ZDFl
ZWMyMDU3YmVlMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDQ0IEBACiAyMDEyLTExLTE3ICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgogCisgICAgICAgIFJlZHVjZSB0aGUg
Y3JhenkgbnVtYmVyIG9mIHBhcmFtZXRlcnMgdG8gUmVuZGVyTGF5ZXIgY2xpcC1yZWN0IGZ1bmN0
aW9ucworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAy
NjA0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTWFu
eSBvZiB0aGUgUmVuZGVyTGF5ZXIgbWVtYmVyIGZ1bmN0aW9ucyByZWxhdGVkIHRvIGNsaXAgcmVj
dCBjb21wdXRhdGlvbgorICAgICAgICB0b29rIGEgbG9uZyBsaXN0IG9mIHNpbWlsYXIgcGFyYW1l
dGVycy4gR2F0aGVyIHRoZXNlIGludG8gYSBzdHJ1Y3QsIENsaXBSZWN0c0NvbnRleHQsCisgICAg
ICAgIHRoYXQgd2UgcGFzcyB0byB0aGVzZSBmdW5jdGlvbnMKKyAgICAgICAgCisgICAgICAgIE5v
IGZ1bmN0aW9uYWwgY2hhbmdlcy4KKworICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMYXllci5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6cGFpbnRMYXllcik6CisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJMYXllcjo6cGFpbnRMYXllckNvbnRlbnRzKToKKyAgICAgICAgKFdl
YkNvcmU6OlJlbmRlckxheWVyOjpoaXRUZXN0TGF5ZXIpOgorICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVyTGF5ZXI6OnVwZGF0ZUNsaXBSZWN0cyk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXll
cjo6Y2FsY3VsYXRlQ2xpcFJlY3RzKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjpw
YXJlbnRDbGlwUmVjdHMpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OmJhY2tncm91
bmRDbGlwUmVjdCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6Y2FsY3VsYXRlUmVj
dHMpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OmNoaWxkcmVuQ2xpcFJlY3QpOgor
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OnNlbGZDbGlwUmVjdCk6CisgICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJMYXllcjo6bG9jYWxDbGlwUmVjdCk6CisgICAgICAgICogcmVuZGVyaW5n
L1JlbmRlckxheWVyLmg6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6Q2xpcFJlY3Rz
Q29udGV4dDo6Q2xpcFJlY3RzQ29udGV4dCk6CisgICAgICAgIChDbGlwUmVjdHNDb250ZXh0KToK
KyAgICAgICAgKFJlbmRlckxheWVyKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjpj
bGlwUmVjdHMpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMYXllckJhY2tpbmcuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJCYWNraW5nOjp1cGRhdGVDb21wb3NpdGVkQm91
bmRzKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyQmFja2luZzo6dXBkYXRlR3JhcGhp
Y3NMYXllckdlb21ldHJ5KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3Np
dG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyQ29tcG9zaXRvcjo6YWRkVG9P
dmVybGFwTWFwKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyQ29tcG9zaXRvcjo6Y2xp
cHBlZEJ5QW5jZXN0b3IpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUcmVlQXNUZXh0LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OndyaXRlTGF5ZXJzKToKKworMjAxMi0xMS0xNyAgU2ltb24g
RnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KKwogICAgICAgICBTaW1wbGlmeSBib3Vu
ZHMgY29tcHV0YXRpb24gZm9yIHRoZSBSZW5kZXJWaWV3J3MgbGF5ZXIKICAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMjU5NwogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcAppbmRleCBiMTJhZmUzNTY0N2Y3Zjk1N2M1Y2UzM2Qw
NjdmYjE0NTg1N2VjZWRlLi4xZTMzNjU2YWU0ZjQzNzQ4NTk0OTVmMTQxZjJjODQyNTJiNjRmM2M1
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAKQEAgLTEsNSArMSw1
IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDA2LCAyMDA3LCAyMDA4LCAyMDA5LCAyMDEwLCAy
MDExIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAw
NiwgMjAwNywgMjAwOCwgMjAwOSwgMjAxMCwgMjAxMSwgMjAxMiBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCiAgKgogICogUG9ydGlvbnMgYXJlIENvcHlyaWdodCAoQykgMTk5OCBOZXRz
Y2FwZSBDb21tdW5pY2F0aW9ucyBDb3Jwb3JhdGlvbi4KICAqCkBAIC0zMDg5LDggKzMwODksOSBA
QCB2b2lkIFJlbmRlckxheWVyOjpwYWludExheWVyKEdyYXBoaWNzQ29udGV4dCogY29udGV4dCwg
Y29uc3QgTGF5ZXJQYWludGluZ0luZm8mCiAgICAgICAgIC8vIE1ha2Ugc3VyZSB0aGUgcGFyZW50
J3MgY2xpcCByZWN0cyBoYXZlIGJlZW4gY2FsY3VsYXRlZC4KICAgICAgICAgQ2xpcFJlY3QgY2xp
cFJlY3QgPSBwYWludGluZ0luZm8ucGFpbnREaXJ0eVJlY3Q7CiAgICAgICAgIGlmIChwYXJlbnQo
KSkgewotICAgICAgICAgICAgY2xpcFJlY3QgPSBiYWNrZ3JvdW5kQ2xpcFJlY3QocGFpbnRpbmdJ
bmZvLnJvb3RMYXllciwgcGFpbnRpbmdJbmZvLnJlZ2lvbiwgKHBhaW50RmxhZ3MgJiBQYWludExh
eWVyVGVtcG9yYXJ5Q2xpcFJlY3RzKSA/IFRlbXBvcmFyeUNsaXBSZWN0cyA6IFBhaW50aW5nQ2xp
cFJlY3RzLAorICAgICAgICAgICAgQ2xpcFJlY3RzQ29udGV4dCBjbGlwUmVjdHNDb250ZXh0KHBh
aW50aW5nSW5mby5yb290TGF5ZXIsIHBhaW50aW5nSW5mby5yZWdpb24sIChwYWludEZsYWdzICYg
UGFpbnRMYXllclRlbXBvcmFyeUNsaXBSZWN0cykgPyBUZW1wb3JhcnlDbGlwUmVjdHMgOiBQYWlu
dGluZ0NsaXBSZWN0cywKICAgICAgICAgICAgICAgICBJZ25vcmVPdmVybGF5U2Nyb2xsYmFyU2l6
ZSwgKHBhaW50RmxhZ3MgJiBQYWludExheWVyUGFpbnRpbmdPdmVyZmxvd0NvbnRlbnRzKSA/IEln
bm9yZU92ZXJmbG93Q2xpcCA6IFJlc3BlY3RPdmVyZmxvd0NsaXApOworICAgICAgICAgICAgY2xp
cFJlY3QgPSBiYWNrZ3JvdW5kQ2xpcFJlY3QoY2xpcFJlY3RzQ29udGV4dCk7CiAgICAgICAgICAg
ICBjbGlwUmVjdC5pbnRlcnNlY3QocGFpbnRpbmdJbmZvLnBhaW50RGlydHlSZWN0KTsKICAgICAg
ICAgCiAgICAgICAgICAgICAvLyBQdXNoIHRoZSBwYXJlbnQgY29vcmRpbmF0ZSBzcGFjZSdzIGNs
aXAuCkBAIC0zMjY2LDggKzMyNjcsOCBAQCB2b2lkIFJlbmRlckxheWVyOjpwYWludExheWVyQ29u
dGVudHMoR3JhcGhpY3NDb250ZXh0KiBjb250ZXh0LCBjb25zdCBMYXllclBhaW50aQogICAgIExh
eW91dFBvaW50IHBhaW50T2Zmc2V0OwogCiAgICAgaWYgKHNob3VsZFBhaW50Q29udGVudCB8fCBz
aG91bGRQYWludE91dGxpbmUgfHwgaXNQYWludGluZ092ZXJsYXlTY3JvbGxiYXJzKSB7Ci0gICAg
ICAgIGNhbGN1bGF0ZVJlY3RzKGxvY2FsUGFpbnRpbmdJbmZvLnJvb3RMYXllciwgbG9jYWxQYWlu
dGluZ0luZm8ucmVnaW9uLCAobG9jYWxQYWludEZsYWdzICYgUGFpbnRMYXllclRlbXBvcmFyeUNs
aXBSZWN0cykgPyBUZW1wb3JhcnlDbGlwUmVjdHMgOiBQYWludGluZ0NsaXBSZWN0cywgbG9jYWxQ
YWludGluZ0luZm8ucGFpbnREaXJ0eVJlY3QsIGxheWVyQm91bmRzLCBkYW1hZ2VSZWN0LCBjbGlw
UmVjdFRvQXBwbHksIG91dGxpbmVSZWN0LCAmb2Zmc2V0RnJvbVJvb3QsCi0gICAgICAgICAgICBJ
Z25vcmVPdmVybGF5U2Nyb2xsYmFyU2l6ZSwgbG9jYWxQYWludEZsYWdzICYgUGFpbnRMYXllclBh
aW50aW5nT3ZlcmZsb3dDb250ZW50cyA/IElnbm9yZU92ZXJmbG93Q2xpcCA6IFJlc3BlY3RPdmVy
Zmxvd0NsaXApOworICAgICAgICBDbGlwUmVjdHNDb250ZXh0IGNsaXBSZWN0c0NvbnRleHQobG9j
YWxQYWludGluZ0luZm8ucm9vdExheWVyLCBsb2NhbFBhaW50aW5nSW5mby5yZWdpb24sIChsb2Nh
bFBhaW50RmxhZ3MgJiBQYWludExheWVyVGVtcG9yYXJ5Q2xpcFJlY3RzKSA/IFRlbXBvcmFyeUNs
aXBSZWN0cyA6IFBhaW50aW5nQ2xpcFJlY3RzLCBJZ25vcmVPdmVybGF5U2Nyb2xsYmFyU2l6ZSwg
bG9jYWxQYWludEZsYWdzICYgUGFpbnRMYXllclBhaW50aW5nT3ZlcmZsb3dDb250ZW50cyA/IEln
bm9yZU92ZXJmbG93Q2xpcCA6IFJlc3BlY3RPdmVyZmxvd0NsaXApOworICAgICAgICBjYWxjdWxh
dGVSZWN0cyhjbGlwUmVjdHNDb250ZXh0LCBsb2NhbFBhaW50aW5nSW5mby5wYWludERpcnR5UmVj
dCwgbGF5ZXJCb3VuZHMsIGRhbWFnZVJlY3QsIGNsaXBSZWN0VG9BcHBseSwgb3V0bGluZVJlY3Qs
ICZvZmZzZXRGcm9tUm9vdCk7CiAgICAgICAgIHBhaW50T2Zmc2V0ID0gdG9Qb2ludChsYXllckJv
dW5kcy5sb2NhdGlvbigpIC0gcmVuZGVyQm94TG9jYXRpb24oKSArIGxvY2FsUGFpbnRpbmdJbmZv
LnN1YlBpeGVsQWNjdW11bGF0aW9uKTsKICAgICAgICAgaWYgKHRoaXMgPT0gbG9jYWxQYWludGlu
Z0luZm8ucm9vdExheWVyKQogICAgICAgICAgICAgcGFpbnRPZmZzZXQgPSByb3VuZGVkSW50UG9p
bnQocGFpbnRPZmZzZXQpOwpAQCAtMzY5Niw3ICszNjk3LDggQEAgUmVuZGVyTGF5ZXIqIFJlbmRl
ckxheWVyOjpoaXRUZXN0TGF5ZXIoUmVuZGVyTGF5ZXIqIHJvb3RMYXllciwgUmVuZGVyTGF5ZXIq
IGNvbnQKICAgICBpZiAodHJhbnNmb3JtKCkgJiYgIWFwcGxpZWRUcmFuc2Zvcm0pIHsKICAgICAg
ICAgLy8gTWFrZSBzdXJlIHRoZSBwYXJlbnQncyBjbGlwIHJlY3RzIGhhdmUgYmVlbiBjYWxjdWxh
dGVkLgogICAgICAgICBpZiAocGFyZW50KCkpIHsKLSAgICAgICAgICAgIENsaXBSZWN0IGNsaXBS
ZWN0ID0gYmFja2dyb3VuZENsaXBSZWN0KHJvb3RMYXllciwgaGl0VGVzdExvY2F0aW9uLnJlZ2lv
bigpLCBSb290UmVsYXRpdmVDbGlwUmVjdHMsIEluY2x1ZGVPdmVybGF5U2Nyb2xsYmFyU2l6ZSk7
CisgICAgICAgICAgICBDbGlwUmVjdHNDb250ZXh0IGNsaXBSZWN0c0NvbnRleHQocm9vdExheWVy
LCBoaXRUZXN0TG9jYXRpb24ucmVnaW9uKCksIFJvb3RSZWxhdGl2ZUNsaXBSZWN0cywgSW5jbHVk
ZU92ZXJsYXlTY3JvbGxiYXJTaXplKTsKKyAgICAgICAgICAgIENsaXBSZWN0IGNsaXBSZWN0ID0g
YmFja2dyb3VuZENsaXBSZWN0KGNsaXBSZWN0c0NvbnRleHQpOwogICAgICAgICAgICAgLy8gR28g
YWhlYWQgYW5kIHRlc3QgdGhlIGVuY2xvc2luZyBjbGlwIG5vdy4KICAgICAgICAgICAgIGlmICgh
Y2xpcFJlY3QuaW50ZXJzZWN0cyhoaXRUZXN0TG9jYXRpb24pKQogICAgICAgICAgICAgICAgIHJl
dHVybiAwOwpAQCAtMzc2Myw3ICszNzY1LDkgQEAgUmVuZGVyTGF5ZXIqIFJlbmRlckxheWVyOjpo
aXRUZXN0TGF5ZXIoUmVuZGVyTGF5ZXIqIHJvb3RMYXllciwgUmVuZGVyTGF5ZXIqIGNvbnQKICAg
ICBDbGlwUmVjdCBiZ1JlY3Q7CiAgICAgQ2xpcFJlY3QgZmdSZWN0OwogICAgIENsaXBSZWN0IG91
dGxpbmVSZWN0OwotICAgIGNhbGN1bGF0ZVJlY3RzKHJvb3RMYXllciwgaGl0VGVzdExvY2F0aW9u
LnJlZ2lvbigpLCBSb290UmVsYXRpdmVDbGlwUmVjdHMsIGhpdFRlc3RSZWN0LCBsYXllckJvdW5k
cywgYmdSZWN0LCBmZ1JlY3QsIG91dGxpbmVSZWN0LCAwLCBJbmNsdWRlT3ZlcmxheVNjcm9sbGJh
clNpemUpOworCisgICAgQ2xpcFJlY3RzQ29udGV4dCBjbGlwUmVjdHNDb250ZXh0KHJvb3RMYXll
ciwgaGl0VGVzdExvY2F0aW9uLnJlZ2lvbigpLCBSb290UmVsYXRpdmVDbGlwUmVjdHMsIEluY2x1
ZGVPdmVybGF5U2Nyb2xsYmFyU2l6ZSk7CisgICAgY2FsY3VsYXRlUmVjdHMoY2xpcFJlY3RzQ29u
dGV4dCwgaGl0VGVzdFJlY3QsIGxheWVyQm91bmRzLCBiZ1JlY3QsIGZnUmVjdCwgb3V0bGluZVJl
Y3QpOwogICAgIAogICAgIC8vIFRoZSBmb2xsb3dpbmcgYXJlIHVzZWQgZm9yIGtlZXBpbmcgdHJh
Y2sgb2YgdGhlIHotZGVwdGggb2YgdGhlIGhpdCBwb2ludCBvZiAzZC10cmFuc2Zvcm1lZAogICAg
IC8vIGRlc2NlbmRhbnRzLgpAQCAtNDA0NiwyNCArNDA1MCwyNSBAQCBSZW5kZXJMYXllciogUmVu
ZGVyTGF5ZXI6OmhpdFRlc3RDaGlsZExheWVyQ29sdW1ucyhSZW5kZXJMYXllciogY2hpbGRMYXll
ciwgUmVuZAogICAgIHJldHVybiAwOwogfQogCi12b2lkIFJlbmRlckxheWVyOjp1cGRhdGVDbGlw
UmVjdHMoY29uc3QgUmVuZGVyTGF5ZXIqIHJvb3RMYXllciwgUmVuZGVyUmVnaW9uKiByZWdpb24s
IENsaXBSZWN0c1R5cGUgY2xpcFJlY3RzVHlwZSwgT3ZlcmxheVNjcm9sbGJhclNpemVSZWxldmFu
Y3kgcmVsZXZhbmN5LCBTaG91bGRSZXNwZWN0T3ZlcmZsb3dDbGlwIHJlc3BlY3RPdmVyZmxvd0Ns
aXApCit2b2lkIFJlbmRlckxheWVyOjp1cGRhdGVDbGlwUmVjdHMoY29uc3QgQ2xpcFJlY3RzQ29u
dGV4dCYgY2xpcFJlY3RzQ29udGV4dCkKIHsKKyAgICBDbGlwUmVjdHNUeXBlIGNsaXBSZWN0c1R5
cGUgPSBjbGlwUmVjdHNDb250ZXh0LmNsaXBSZWN0c1R5cGU7CiAgICAgQVNTRVJUKGNsaXBSZWN0
c1R5cGUgPCBOdW1DYWNoZWRDbGlwUmVjdHNUeXBlcyk7CiAgICAgaWYgKG1fY2xpcFJlY3RzQ2Fj
aGUgJiYgbV9jbGlwUmVjdHNDYWNoZS0+bV9jbGlwUmVjdHNbY2xpcFJlY3RzVHlwZV0pIHsKLSAg
ICAgICAgQVNTRVJUKHJvb3RMYXllciA9PSBtX2NsaXBSZWN0c0NhY2hlLT5tX2NsaXBSZWN0c1Jv
b3RbY2xpcFJlY3RzVHlwZV0pOwotICAgICAgICBBU1NFUlQobV9jbGlwUmVjdHNDYWNoZS0+bV9y
ZXNwZWN0aW5nT3ZlcmZsb3dDbGlwW2NsaXBSZWN0c1R5cGVdID09IChyZXNwZWN0T3ZlcmZsb3dD
bGlwID09IFJlc3BlY3RPdmVyZmxvd0NsaXApKTsKLSAgICAgICAgQVNTRVJUKG1fY2xpcFJlY3Rz
Q2FjaGUtPm1fc2Nyb2xsYmFyUmVsZXZhbmN5W2NsaXBSZWN0c1R5cGVdID09IHJlbGV2YW5jeSk7
CisgICAgICAgIEFTU0VSVChjbGlwUmVjdHNDb250ZXh0LnJvb3RMYXllciA9PSBtX2NsaXBSZWN0
c0NhY2hlLT5tX2NsaXBSZWN0c1Jvb3RbY2xpcFJlY3RzVHlwZV0pOworICAgICAgICBBU1NFUlQo
bV9jbGlwUmVjdHNDYWNoZS0+bV9yZXNwZWN0aW5nT3ZlcmZsb3dDbGlwW2NsaXBSZWN0c1R5cGVd
ID09IChjbGlwUmVjdHNDb250ZXh0LnJlc3BlY3RPdmVyZmxvd0NsaXAgPT0gUmVzcGVjdE92ZXJm
bG93Q2xpcCkpOworICAgICAgICBBU1NFUlQobV9jbGlwUmVjdHNDYWNoZS0+bV9zY3JvbGxiYXJS
ZWxldmFuY3lbY2xpcFJlY3RzVHlwZV0gPT0gY2xpcFJlY3RzQ29udGV4dC5vdmVybGF5U2Nyb2xs
YmFyU2l6ZVJlbGV2YW5jeSk7CiAgICAgICAgIHJldHVybjsgLy8gV2UgaGF2ZSB0aGUgY29ycmVj
dCBjYWNoZWQgdmFsdWUuCiAgICAgfQogICAgIAogICAgIC8vIEZvciB0cmFuc2Zvcm1lZCBsYXll
cnMsIHRoZSByb290IGxheWVyIHdhcyBzaGlmdGVkIHRvIGJlIHVzLCBzbyB0aGVyZSBpcyBubyBu
ZWVkIHRvCiAgICAgLy8gZXhhbWluZSB0aGUgcGFyZW50LiAgV2Ugd2FudCB0byBjYWNoZSBjbGlw
IHJlY3RzIHdpdGggdXMgYXMgdGhlIHJvb3QuCi0gICAgUmVuZGVyTGF5ZXIqIHBhcmVudExheWVy
ID0gcm9vdExheWVyICE9IHRoaXMgPyBwYXJlbnQoKSA6IDA7CisgICAgUmVuZGVyTGF5ZXIqIHBh
cmVudExheWVyID0gY2xpcFJlY3RzQ29udGV4dC5yb290TGF5ZXIgIT0gdGhpcyA/IHBhcmVudCgp
IDogMDsKICAgICBpZiAocGFyZW50TGF5ZXIpCi0gICAgICAgIHBhcmVudExheWVyLT51cGRhdGVD
bGlwUmVjdHMocm9vdExheWVyLCByZWdpb24sIGNsaXBSZWN0c1R5cGUsIHJlbGV2YW5jeSwgcmVz
cGVjdE92ZXJmbG93Q2xpcCk7CisgICAgICAgIHBhcmVudExheWVyLT51cGRhdGVDbGlwUmVjdHMo
Y2xpcFJlY3RzQ29udGV4dCk7CiAKICAgICBDbGlwUmVjdHMgY2xpcFJlY3RzOwotICAgIGNhbGN1
bGF0ZUNsaXBSZWN0cyhyb290TGF5ZXIsIHJlZ2lvbiwgY2xpcFJlY3RzVHlwZSwgY2xpcFJlY3Rz
LCByZWxldmFuY3ksIHJlc3BlY3RPdmVyZmxvd0NsaXApOworICAgIGNhbGN1bGF0ZUNsaXBSZWN0
cyhjbGlwUmVjdHNDb250ZXh0LCBjbGlwUmVjdHMpOwogCiAgICAgaWYgKCFtX2NsaXBSZWN0c0Nh
Y2hlKQogICAgICAgICBtX2NsaXBSZWN0c0NhY2hlID0gYWRvcHRQdHIobmV3IENsaXBSZWN0c0Nh
Y2hlKTsKQEAgLTQwNzQsMTMgKzQwNzksMTMgQEAgdm9pZCBSZW5kZXJMYXllcjo6dXBkYXRlQ2xp
cFJlY3RzKGNvbnN0IFJlbmRlckxheWVyKiByb290TGF5ZXIsIFJlbmRlclJlZ2lvbiogcmUKICAg
ICAgICAgbV9jbGlwUmVjdHNDYWNoZS0+bV9jbGlwUmVjdHNbY2xpcFJlY3RzVHlwZV0gPSBDbGlw
UmVjdHM6OmNyZWF0ZShjbGlwUmVjdHMpOwogCiAjaWZuZGVmIE5ERUJVRwotICAgIG1fY2xpcFJl
Y3RzQ2FjaGUtPm1fY2xpcFJlY3RzUm9vdFtjbGlwUmVjdHNUeXBlXSA9IHJvb3RMYXllcjsKLSAg
ICBtX2NsaXBSZWN0c0NhY2hlLT5tX3Jlc3BlY3RpbmdPdmVyZmxvd0NsaXBbY2xpcFJlY3RzVHlw
ZV0gPSByZXNwZWN0T3ZlcmZsb3dDbGlwID09IFJlc3BlY3RPdmVyZmxvd0NsaXA7Ci0gICAgbV9j
bGlwUmVjdHNDYWNoZS0+bV9zY3JvbGxiYXJSZWxldmFuY3lbY2xpcFJlY3RzVHlwZV0gPSByZWxl
dmFuY3k7CisgICAgbV9jbGlwUmVjdHNDYWNoZS0+bV9jbGlwUmVjdHNSb290W2NsaXBSZWN0c1R5
cGVdID0gY2xpcFJlY3RzQ29udGV4dC5yb290TGF5ZXI7CisgICAgbV9jbGlwUmVjdHNDYWNoZS0+
bV9yZXNwZWN0aW5nT3ZlcmZsb3dDbGlwW2NsaXBSZWN0c1R5cGVdID0gY2xpcFJlY3RzQ29udGV4
dC5yZXNwZWN0T3ZlcmZsb3dDbGlwID09IFJlc3BlY3RPdmVyZmxvd0NsaXA7CisgICAgbV9jbGlw
UmVjdHNDYWNoZS0+bV9zY3JvbGxiYXJSZWxldmFuY3lbY2xpcFJlY3RzVHlwZV0gPSBjbGlwUmVj
dHNDb250ZXh0Lm92ZXJsYXlTY3JvbGxiYXJTaXplUmVsZXZhbmN5OwogI2VuZGlmCiB9CiAKLXZv
aWQgUmVuZGVyTGF5ZXI6OmNhbGN1bGF0ZUNsaXBSZWN0cyhjb25zdCBSZW5kZXJMYXllciogcm9v
dExheWVyLCBSZW5kZXJSZWdpb24qIHJlZ2lvbiwgQ2xpcFJlY3RzVHlwZSBjbGlwUmVjdHNUeXBl
LCBDbGlwUmVjdHMmIGNsaXBSZWN0cywgT3ZlcmxheVNjcm9sbGJhclNpemVSZWxldmFuY3kgcmVs
ZXZhbmN5LCBTaG91bGRSZXNwZWN0T3ZlcmZsb3dDbGlwIHJlc3BlY3RPdmVyZmxvd0NsaXApIGNv
bnN0Cit2b2lkIFJlbmRlckxheWVyOjpjYWxjdWxhdGVDbGlwUmVjdHMoY29uc3QgQ2xpcFJlY3Rz
Q29udGV4dCYgY2xpcFJlY3RzQ29udGV4dCwgQ2xpcFJlY3RzJiBjbGlwUmVjdHMpIGNvbnN0CiB7
CiAgICAgaWYgKCFwYXJlbnQoKSkgewogICAgICAgICAvLyBUaGUgcm9vdCBsYXllcidzIGNsaXAg
cmVjdCBpcyBhbHdheXMgaW5maW5pdGUuCkBAIC00MDg4LDE4ICs0MDkzLDIyIEBAIHZvaWQgUmVu
ZGVyTGF5ZXI6OmNhbGN1bGF0ZUNsaXBSZWN0cyhjb25zdCBSZW5kZXJMYXllciogcm9vdExheWVy
LCBSZW5kZXJSZWdpb24qCiAgICAgICAgIHJldHVybjsKICAgICB9CiAgICAgCisgICAgQ2xpcFJl
Y3RzVHlwZSBjbGlwUmVjdHNUeXBlID0gY2xpcFJlY3RzQ29udGV4dC5jbGlwUmVjdHNUeXBlOwog
ICAgIGJvb2wgdXNlQ2FjaGVkID0gY2xpcFJlY3RzVHlwZSAhPSBUZW1wb3JhcnlDbGlwUmVjdHM7
CiAKICAgICAvLyBGb3IgdHJhbnNmb3JtZWQgbGF5ZXJzLCB0aGUgcm9vdCBsYXllciB3YXMgc2hp
ZnRlZCB0byBiZSB1cywgc28gdGhlcmUgaXMgbm8gbmVlZCB0bwogICAgIC8vIGV4YW1pbmUgdGhl
IHBhcmVudC4gIFdlIHdhbnQgdG8gY2FjaGUgY2xpcCByZWN0cyB3aXRoIHVzIGFzIHRoZSByb290
LgotICAgIFJlbmRlckxheWVyKiBwYXJlbnRMYXllciA9IHJvb3RMYXllciAhPSB0aGlzID8gcGFy
ZW50KCkgOiAwOworICAgIFJlbmRlckxheWVyKiBwYXJlbnRMYXllciA9IGNsaXBSZWN0c0NvbnRl
eHQucm9vdExheWVyICE9IHRoaXMgPyBwYXJlbnQoKSA6IDA7CiAgICAgCiAgICAgLy8gRW5zdXJl
IHRoYXQgb3VyIHBhcmVudCdzIGNsaXAgaGFzIGJlZW4gY2FsY3VsYXRlZCBzbyB0aGF0IHdlIGNh
biBleGFtaW5lIHRoZSB2YWx1ZXMuCiAgICAgaWYgKHBhcmVudExheWVyKSB7CiAgICAgICAgIGlm
ICh1c2VDYWNoZWQgJiYgcGFyZW50TGF5ZXItPmNsaXBSZWN0cyhjbGlwUmVjdHNUeXBlKSkKICAg
ICAgICAgICAgIGNsaXBSZWN0cyA9ICpwYXJlbnRMYXllci0+Y2xpcFJlY3RzKGNsaXBSZWN0c1R5
cGUpOwotICAgICAgICBlbHNlCi0gICAgICAgICAgICBwYXJlbnRMYXllci0+Y2FsY3VsYXRlQ2xp
cFJlY3RzKHJvb3RMYXllciwgcmVnaW9uLCBjbGlwUmVjdHNUeXBlLCBjbGlwUmVjdHMsIElnbm9y
ZU92ZXJsYXlTY3JvbGxiYXJTaXplLCByZXNwZWN0T3ZlcmZsb3dDbGlwKTsKKyAgICAgICAgZWxz
ZSB7CisgICAgICAgICAgICBDbGlwUmVjdHNDb250ZXh0IHBhcmVudENvbnRleHQoY2xpcFJlY3Rz
Q29udGV4dCk7CisgICAgICAgICAgICBwYXJlbnRDb250ZXh0Lm92ZXJsYXlTY3JvbGxiYXJTaXpl
UmVsZXZhbmN5ID0gSWdub3JlT3ZlcmxheVNjcm9sbGJhclNpemU7IC8vIEZJWE1FOiB3aHk/Cisg
ICAgICAgICAgICBwYXJlbnRMYXllci0+Y2FsY3VsYXRlQ2xpcFJlY3RzKHBhcmVudENvbnRleHQs
IGNsaXBSZWN0cyk7CisgICAgICAgIH0KICAgICB9IGVsc2UKICAgICAgICAgY2xpcFJlY3RzLnJl
c2V0KFBhaW50SW5mbzo6aW5maW5pdGVSZWN0KCkpOwogCkBAIC00MTE1LDIyICs0MTI0LDIyIEBA
IHZvaWQgUmVuZGVyTGF5ZXI6OmNhbGN1bGF0ZUNsaXBSZWN0cyhjb25zdCBSZW5kZXJMYXllciog
cm9vdExheWVyLCBSZW5kZXJSZWdpb24qCiAgICAgICAgIGNsaXBSZWN0cy5zZXRPdmVyZmxvd0Ns
aXBSZWN0KGNsaXBSZWN0cy5wb3NDbGlwUmVjdCgpKTsKICAgICAKICAgICAvLyBVcGRhdGUgdGhl
IGNsaXAgcmVjdHMgdGhhdCB3aWxsIGJlIHBhc3NlZCB0byBjaGlsZCBsYXllcnMuCi0gICAgaWYg
KChyZW5kZXJlcigpLT5oYXNPdmVyZmxvd0NsaXAoKSAmJiAocmVzcGVjdE92ZXJmbG93Q2xpcCA9
PSBSZXNwZWN0T3ZlcmZsb3dDbGlwIHx8IHRoaXMgIT0gcm9vdExheWVyKSkgfHwgcmVuZGVyZXIo
KS0+aGFzQ2xpcCgpKSB7CisgICAgaWYgKChyZW5kZXJlcigpLT5oYXNPdmVyZmxvd0NsaXAoKSAm
JiAoY2xpcFJlY3RzQ29udGV4dC5yZXNwZWN0T3ZlcmZsb3dDbGlwID09IFJlc3BlY3RPdmVyZmxv
d0NsaXAgfHwgdGhpcyAhPSBjbGlwUmVjdHNDb250ZXh0LnJvb3RMYXllcikpIHx8IHJlbmRlcmVy
KCktPmhhc0NsaXAoKSkgewogICAgICAgICAvLyBUaGlzIGxheWVyIGVzdGFibGlzaGVzIGEgY2xp
cCBvZiBzb21lIGtpbmQuCiAKICAgICAgICAgLy8gVGhpcyBvZmZzZXQgY2Fubm90IHVzZSBjb252
ZXJ0VG9MYXllckNvb3JkcywgYmVjYXVzZSBzb21ldGltZXMgb3VyIHJvb3RMYXllciBtYXkgYmUg
YWNyb3NzCiAgICAgICAgIC8vIHNvbWUgdHJhbnNmb3JtZWQgbGF5ZXIgYm91bmRhcnksIGZvciBl
eGFtcGxlLCBpbiB0aGUgUmVuZGVyTGF5ZXJDb21wb3NpdG9yIG92ZXJsYXBNYXAsIHdoZXJlCiAg
ICAgICAgIC8vIGNsaXBSZWN0cyBhcmUgbmVlZGVkIGluIHZpZXcgc3BhY2UuCiAgICAgICAgIExh
eW91dFBvaW50IG9mZnNldDsKLSAgICAgICAgb2Zmc2V0ID0gcm91bmRlZExheW91dFBvaW50KHJl
bmRlcmVyKCktPmxvY2FsVG9Db250YWluZXJQb2ludChGbG9hdFBvaW50KCksIHJvb3RMYXllci0+
cmVuZGVyZXIoKSkpOworICAgICAgICBvZmZzZXQgPSByb3VuZGVkTGF5b3V0UG9pbnQocmVuZGVy
ZXIoKS0+bG9jYWxUb0NvbnRhaW5lclBvaW50KEZsb2F0UG9pbnQoKSwgY2xpcFJlY3RzQ29udGV4
dC5yb290TGF5ZXItPnJlbmRlcmVyKCkpKTsKICAgICAgICAgUmVuZGVyVmlldyogdmlldyA9IHJl
bmRlcmVyKCktPnZpZXcoKTsKICAgICAgICAgQVNTRVJUKHZpZXcpOwotICAgICAgICBpZiAodmll
dyAmJiBjbGlwUmVjdHMuZml4ZWQoKSAmJiByb290TGF5ZXItPnJlbmRlcmVyKCkgPT0gdmlldykg
eworICAgICAgICBpZiAodmlldyAmJiBjbGlwUmVjdHMuZml4ZWQoKSAmJiBjbGlwUmVjdHNDb250
ZXh0LnJvb3RMYXllci0+cmVuZGVyZXIoKSA9PSB2aWV3KSB7CiAgICAgICAgICAgICBvZmZzZXQg
LT0gdmlldy0+ZnJhbWVWaWV3KCktPnNjcm9sbE9mZnNldEZvckZpeGVkUG9zaXRpb24oKTsKICAg
ICAgICAgfQogICAgICAgICAKICAgICAgICAgaWYgKHJlbmRlcmVyKCktPmhhc092ZXJmbG93Q2xp
cCgpKSB7Ci0gICAgICAgICAgICBDbGlwUmVjdCBuZXdPdmVyZmxvd0NsaXAgPSB0b1JlbmRlckJv
eChyZW5kZXJlcigpKS0+b3ZlcmZsb3dDbGlwUmVjdChvZmZzZXQsIHJlZ2lvbiwgcmVsZXZhbmN5
KTsKKyAgICAgICAgICAgIENsaXBSZWN0IG5ld092ZXJmbG93Q2xpcCA9IHRvUmVuZGVyQm94KHJl
bmRlcmVyKCkpLT5vdmVyZmxvd0NsaXBSZWN0KG9mZnNldCwgY2xpcFJlY3RzQ29udGV4dC5yZWdp
b24sIGNsaXBSZWN0c0NvbnRleHQub3ZlcmxheVNjcm9sbGJhclNpemVSZWxldmFuY3kpOwogICAg
ICAgICAgICAgaWYgKHJlbmRlcmVyKCktPnN0eWxlKCktPmhhc0JvcmRlclJhZGl1cygpKQogICAg
ICAgICAgICAgICAgIG5ld092ZXJmbG93Q2xpcC5zZXRIYXNSYWRpdXModHJ1ZSk7CiAgICAgICAg
ICAgICBjbGlwUmVjdHMuc2V0T3ZlcmZsb3dDbGlwUmVjdChpbnRlcnNlY3Rpb24obmV3T3ZlcmZs
b3dDbGlwLCBjbGlwUmVjdHMub3ZlcmZsb3dDbGlwUmVjdCgpKSk7CkBAIC00MTM4LDcgKzQxNDcs
NyBAQCB2b2lkIFJlbmRlckxheWVyOjpjYWxjdWxhdGVDbGlwUmVjdHMoY29uc3QgUmVuZGVyTGF5
ZXIqIHJvb3RMYXllciwgUmVuZGVyUmVnaW9uKgogICAgICAgICAgICAgICAgIGNsaXBSZWN0cy5z
ZXRQb3NDbGlwUmVjdChpbnRlcnNlY3Rpb24obmV3T3ZlcmZsb3dDbGlwLCBjbGlwUmVjdHMucG9z
Q2xpcFJlY3QoKSkpOwogICAgICAgICB9CiAgICAgICAgIGlmIChyZW5kZXJlcigpLT5oYXNDbGlw
KCkpIHsKLSAgICAgICAgICAgIExheW91dFJlY3QgbmV3UG9zQ2xpcCA9IHRvUmVuZGVyQm94KHJl
bmRlcmVyKCkpLT5jbGlwUmVjdChvZmZzZXQsIHJlZ2lvbik7CisgICAgICAgICAgICBMYXlvdXRS
ZWN0IG5ld1Bvc0NsaXAgPSB0b1JlbmRlckJveChyZW5kZXJlcigpKS0+Y2xpcFJlY3Qob2Zmc2V0
LCBjbGlwUmVjdHNDb250ZXh0LnJlZ2lvbik7CiAgICAgICAgICAgICBjbGlwUmVjdHMuc2V0UG9z
Q2xpcFJlY3QoaW50ZXJzZWN0aW9uKG5ld1Bvc0NsaXAsIGNsaXBSZWN0cy5wb3NDbGlwUmVjdCgp
KSk7CiAgICAgICAgICAgICBjbGlwUmVjdHMuc2V0T3ZlcmZsb3dDbGlwUmVjdChpbnRlcnNlY3Rp
b24obmV3UG9zQ2xpcCwgY2xpcFJlY3RzLm92ZXJmbG93Q2xpcFJlY3QoKSkpOwogICAgICAgICAg
ICAgY2xpcFJlY3RzLnNldEZpeGVkQ2xpcFJlY3QoaW50ZXJzZWN0aW9uKG5ld1Bvc0NsaXAsIGNs
aXBSZWN0cy5maXhlZENsaXBSZWN0KCkpKTsKQEAgLTQxNDYsMTYgKzQxNTUsMTYgQEAgdm9pZCBS
ZW5kZXJMYXllcjo6Y2FsY3VsYXRlQ2xpcFJlY3RzKGNvbnN0IFJlbmRlckxheWVyKiByb290TGF5
ZXIsIFJlbmRlclJlZ2lvbioKICAgICB9CiB9CiAKLXZvaWQgUmVuZGVyTGF5ZXI6OnBhcmVudENs
aXBSZWN0cyhjb25zdCBSZW5kZXJMYXllciogcm9vdExheWVyLCBSZW5kZXJSZWdpb24qIHJlZ2lv
biwgQ2xpcFJlY3RzVHlwZSBjbGlwUmVjdHNUeXBlLCBDbGlwUmVjdHMmIGNsaXBSZWN0cywgT3Zl
cmxheVNjcm9sbGJhclNpemVSZWxldmFuY3kgcmVsZXZhbmN5LCBTaG91bGRSZXNwZWN0T3ZlcmZs
b3dDbGlwIHJlc3BlY3RPdmVyZmxvd0NsaXApIGNvbnN0Cit2b2lkIFJlbmRlckxheWVyOjpwYXJl
bnRDbGlwUmVjdHMoY29uc3QgQ2xpcFJlY3RzQ29udGV4dCYgY2xpcFJlY3RzQ29udGV4dCwgQ2xp
cFJlY3RzJiBjbGlwUmVjdHMpIGNvbnN0CiB7CiAgICAgQVNTRVJUKHBhcmVudCgpKTsKLSAgICBp
ZiAoY2xpcFJlY3RzVHlwZSA9PSBUZW1wb3JhcnlDbGlwUmVjdHMpIHsKLSAgICAgICAgcGFyZW50
KCktPmNhbGN1bGF0ZUNsaXBSZWN0cyhyb290TGF5ZXIsIHJlZ2lvbiwgY2xpcFJlY3RzVHlwZSwg
Y2xpcFJlY3RzLCByZWxldmFuY3ksIHJlc3BlY3RPdmVyZmxvd0NsaXApOworICAgIGlmIChjbGlw
UmVjdHNDb250ZXh0LmNsaXBSZWN0c1R5cGUgPT0gVGVtcG9yYXJ5Q2xpcFJlY3RzKSB7CisgICAg
ICAgIHBhcmVudCgpLT5jYWxjdWxhdGVDbGlwUmVjdHMoY2xpcFJlY3RzQ29udGV4dCwgY2xpcFJl
Y3RzKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIHBhcmVudCgpLT51cGRhdGVDbGlw
UmVjdHMocm9vdExheWVyLCByZWdpb24sIGNsaXBSZWN0c1R5cGUsIHJlbGV2YW5jeSwgcmVzcGVj
dE92ZXJmbG93Q2xpcCk7Ci0gICAgY2xpcFJlY3RzID0gKnBhcmVudCgpLT5jbGlwUmVjdHMoY2xp
cFJlY3RzVHlwZSk7CisgICAgcGFyZW50KCktPnVwZGF0ZUNsaXBSZWN0cyhjbGlwUmVjdHNDb250
ZXh0KTsKKyAgICBjbGlwUmVjdHMgPSAqcGFyZW50KCktPmNsaXBSZWN0cyhjbGlwUmVjdHNDb250
ZXh0LmNsaXBSZWN0c1R5cGUpOwogfQogCiBzdGF0aWMgaW5saW5lIENsaXBSZWN0IGJhY2tncm91
bmRDbGlwUmVjdEZvclBvc2l0aW9uKGNvbnN0IENsaXBSZWN0cyYgcGFyZW50UmVjdHMsIEVQb3Np
dGlvbiBwb3NpdGlvbikKQEAgLTQxNjksMjggKzQxNzgsMjcgQEAgc3RhdGljIGlubGluZSBDbGlw
UmVjdCBiYWNrZ3JvdW5kQ2xpcFJlY3RGb3JQb3NpdGlvbihjb25zdCBDbGlwUmVjdHMmIHBhcmVu
dFJlY3QKICAgICByZXR1cm4gcGFyZW50UmVjdHMub3ZlcmZsb3dDbGlwUmVjdCgpOwogfQogCi1D
bGlwUmVjdCBSZW5kZXJMYXllcjo6YmFja2dyb3VuZENsaXBSZWN0KGNvbnN0IFJlbmRlckxheWVy
KiByb290TGF5ZXIsIFJlbmRlclJlZ2lvbiogcmVnaW9uLCBDbGlwUmVjdHNUeXBlIGNsaXBSZWN0
c1R5cGUsIE92ZXJsYXlTY3JvbGxiYXJTaXplUmVsZXZhbmN5IHJlbGV2YW5jeSwgU2hvdWxkUmVz
cGVjdE92ZXJmbG93Q2xpcCByZXNwZWN0T3ZlcmZsb3dDbGlwKSBjb25zdAorQ2xpcFJlY3QgUmVu
ZGVyTGF5ZXI6OmJhY2tncm91bmRDbGlwUmVjdChjb25zdCBDbGlwUmVjdHNDb250ZXh0JiBjbGlw
UmVjdHNDb250ZXh0KSBjb25zdAogewogICAgIEFTU0VSVChwYXJlbnQoKSk7CiAgICAgQ2xpcFJl
Y3RzIHBhcmVudFJlY3RzOwotICAgIHBhcmVudENsaXBSZWN0cyhyb290TGF5ZXIsIHJlZ2lvbiwg
Y2xpcFJlY3RzVHlwZSwgcGFyZW50UmVjdHMsIHJlbGV2YW5jeSwgcmVzcGVjdE92ZXJmbG93Q2xp
cCk7CisgICAgcGFyZW50Q2xpcFJlY3RzKGNsaXBSZWN0c0NvbnRleHQsIHBhcmVudFJlY3RzKTsK
ICAgICBDbGlwUmVjdCBiYWNrZ3JvdW5kQ2xpcFJlY3QgPSBiYWNrZ3JvdW5kQ2xpcFJlY3RGb3JQ
b3NpdGlvbihwYXJlbnRSZWN0cywgcmVuZGVyZXIoKS0+c3R5bGUoKS0+cG9zaXRpb24oKSk7CiAg
ICAgUmVuZGVyVmlldyogdmlldyA9IHJlbmRlcmVyKCktPnZpZXcoKTsKICAgICBBU1NFUlQodmll
dyk7CiAKICAgICAvLyBOb3RlOiBpbmZpbml0ZSBjbGlwUmVjdHMgc2hvdWxkIG5vdCBiZSBzY3Jv
bGxlZCBoZXJlLCBvdGhlcndpc2UgdGhleSB3aWxsIGFjY2lkZW50YWxseSBubyBsb25nZXIgYmUg
Y29uc2lkZXJlZCBpbmZpbml0ZS4KLSAgICBpZiAocGFyZW50UmVjdHMuZml4ZWQoKSAmJiByb290
TGF5ZXItPnJlbmRlcmVyKCkgPT0gdmlldyAmJiBiYWNrZ3JvdW5kQ2xpcFJlY3QgIT0gUGFpbnRJ
bmZvOjppbmZpbml0ZVJlY3QoKSkKKyAgICBpZiAocGFyZW50UmVjdHMuZml4ZWQoKSAmJiBjbGlw
UmVjdHNDb250ZXh0LnJvb3RMYXllci0+cmVuZGVyZXIoKSA9PSB2aWV3ICYmIGJhY2tncm91bmRD
bGlwUmVjdCAhPSBQYWludEluZm86OmluZmluaXRlUmVjdCgpKQogICAgICAgICBiYWNrZ3JvdW5k
Q2xpcFJlY3QubW92ZSh2aWV3LT5mcmFtZVZpZXcoKS0+c2Nyb2xsT2Zmc2V0Rm9yRml4ZWRQb3Np
dGlvbigpKTsKIAogICAgIHJldHVybiBiYWNrZ3JvdW5kQ2xpcFJlY3Q7CiB9CiAKLXZvaWQgUmVu
ZGVyTGF5ZXI6OmNhbGN1bGF0ZVJlY3RzKGNvbnN0IFJlbmRlckxheWVyKiByb290TGF5ZXIsIFJl
bmRlclJlZ2lvbiogcmVnaW9uLCBDbGlwUmVjdHNUeXBlIGNsaXBSZWN0c1R5cGUsIGNvbnN0IExh
eW91dFJlY3QmIHBhaW50RGlydHlSZWN0LCBMYXlvdXRSZWN0JiBsYXllckJvdW5kcywKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIENsaXBSZWN0JiBiYWNrZ3JvdW5kUmVjdCwgQ2xp
cFJlY3QmIGZvcmVncm91bmRSZWN0LCBDbGlwUmVjdCYgb3V0bGluZVJlY3QsIGNvbnN0IExheW91
dFBvaW50KiBvZmZzZXRGcm9tUm9vdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IE92ZXJsYXlTY3JvbGxiYXJTaXplUmVsZXZhbmN5IHJlbGV2YW5jeSwgU2hvdWxkUmVzcGVjdE92
ZXJmbG93Q2xpcCByZXNwZWN0T3ZlcmZsb3dDbGlwKSBjb25zdAordm9pZCBSZW5kZXJMYXllcjo6
Y2FsY3VsYXRlUmVjdHMoY29uc3QgQ2xpcFJlY3RzQ29udGV4dCYgY2xpcFJlY3RzQ29udGV4dCwg
Y29uc3QgTGF5b3V0UmVjdCYgcGFpbnREaXJ0eVJlY3QsIExheW91dFJlY3QmIGxheWVyQm91bmRz
LAorICAgIENsaXBSZWN0JiBiYWNrZ3JvdW5kUmVjdCwgQ2xpcFJlY3QmIGZvcmVncm91bmRSZWN0
LCBDbGlwUmVjdCYgb3V0bGluZVJlY3QsIGNvbnN0IExheW91dFBvaW50KiBvZmZzZXRGcm9tUm9v
dCkgY29uc3QKIHsKLSAgICBpZiAocm9vdExheWVyICE9IHRoaXMgJiYgcGFyZW50KCkpIHsKLSAg
ICAgICAgYmFja2dyb3VuZFJlY3QgPSBiYWNrZ3JvdW5kQ2xpcFJlY3Qocm9vdExheWVyLCByZWdp
b24sIGNsaXBSZWN0c1R5cGUsIHJlbGV2YW5jeSwgcmVzcGVjdE92ZXJmbG93Q2xpcCk7CisgICAg
aWYgKGNsaXBSZWN0c0NvbnRleHQucm9vdExheWVyICE9IHRoaXMgJiYgcGFyZW50KCkpIHsKKyAg
ICAgICAgYmFja2dyb3VuZFJlY3QgPSBiYWNrZ3JvdW5kQ2xpcFJlY3QoY2xpcFJlY3RzQ29udGV4
dCk7CiAgICAgICAgIGJhY2tncm91bmRSZWN0LmludGVyc2VjdChwYWludERpcnR5UmVjdCk7CiAg
ICAgfSBlbHNlCiAgICAgICAgIGJhY2tncm91bmRSZWN0ID0gcGFpbnREaXJ0eVJlY3Q7CkBAIC00
MjAyLDIxICs0MjEwLDIxIEBAIHZvaWQgUmVuZGVyTGF5ZXI6OmNhbGN1bGF0ZVJlY3RzKGNvbnN0
IFJlbmRlckxheWVyKiByb290TGF5ZXIsIFJlbmRlclJlZ2lvbiogcmVnCiAgICAgaWYgKG9mZnNl
dEZyb21Sb290KQogICAgICAgICBvZmZzZXQgPSAqb2Zmc2V0RnJvbVJvb3Q7CiAgICAgZWxzZQot
ICAgICAgICBjb252ZXJ0VG9MYXllckNvb3Jkcyhyb290TGF5ZXIsIG9mZnNldCk7CisgICAgICAg
IGNvbnZlcnRUb0xheWVyQ29vcmRzKGNsaXBSZWN0c0NvbnRleHQucm9vdExheWVyLCBvZmZzZXQp
OwogICAgIGxheWVyQm91bmRzID0gTGF5b3V0UmVjdChvZmZzZXQsIHNpemUoKSk7CiAKICAgICAv
LyBVcGRhdGUgdGhlIGNsaXAgcmVjdHMgdGhhdCB3aWxsIGJlIHBhc3NlZCB0byBjaGlsZCBsYXll
cnMuCiAgICAgaWYgKHJlbmRlcmVyKCktPmhhc0NsaXBPck92ZXJmbG93Q2xpcCgpKSB7CiAgICAg
ICAgIC8vIFRoaXMgbGF5ZXIgZXN0YWJsaXNoZXMgYSBjbGlwIG9mIHNvbWUga2luZC4KLSAgICAg
ICAgaWYgKHJlbmRlcmVyKCktPmhhc092ZXJmbG93Q2xpcCgpICYmICh0aGlzICE9IHJvb3RMYXll
ciB8fCByZXNwZWN0T3ZlcmZsb3dDbGlwID09IFJlc3BlY3RPdmVyZmxvd0NsaXApKSB7Ci0gICAg
ICAgICAgICBmb3JlZ3JvdW5kUmVjdC5pbnRlcnNlY3QodG9SZW5kZXJCb3gocmVuZGVyZXIoKSkt
Pm92ZXJmbG93Q2xpcFJlY3Qob2Zmc2V0LCByZWdpb24sIHJlbGV2YW5jeSkpOworICAgICAgICBp
ZiAocmVuZGVyZXIoKS0+aGFzT3ZlcmZsb3dDbGlwKCkgJiYgKHRoaXMgIT0gY2xpcFJlY3RzQ29u
dGV4dC5yb290TGF5ZXIgfHwgY2xpcFJlY3RzQ29udGV4dC5yZXNwZWN0T3ZlcmZsb3dDbGlwID09
IFJlc3BlY3RPdmVyZmxvd0NsaXApKSB7CisgICAgICAgICAgICBmb3JlZ3JvdW5kUmVjdC5pbnRl
cnNlY3QodG9SZW5kZXJCb3gocmVuZGVyZXIoKSktPm92ZXJmbG93Q2xpcFJlY3Qob2Zmc2V0LCBj
bGlwUmVjdHNDb250ZXh0LnJlZ2lvbiwgY2xpcFJlY3RzQ29udGV4dC5vdmVybGF5U2Nyb2xsYmFy
U2l6ZVJlbGV2YW5jeSkpOwogICAgICAgICAgICAgaWYgKHJlbmRlcmVyKCktPnN0eWxlKCktPmhh
c0JvcmRlclJhZGl1cygpKQogICAgICAgICAgICAgICAgIGZvcmVncm91bmRSZWN0LnNldEhhc1Jh
ZGl1cyh0cnVlKTsKICAgICAgICAgfQogCiAgICAgICAgIGlmIChyZW5kZXJlcigpLT5oYXNDbGlw
KCkpIHsKICAgICAgICAgICAgIC8vIENsaXAgYXBwbGllcyB0byAqdXMqIGFzIHdlbGwsIHNvIGdv
IGFoZWFkIGFuZCB1cGRhdGUgdGhlIGRhbWFnZVJlY3QuCi0gICAgICAgICAgICBMYXlvdXRSZWN0
IG5ld1Bvc0NsaXAgPSB0b1JlbmRlckJveChyZW5kZXJlcigpKS0+Y2xpcFJlY3Qob2Zmc2V0LCBy
ZWdpb24pOworICAgICAgICAgICAgTGF5b3V0UmVjdCBuZXdQb3NDbGlwID0gdG9SZW5kZXJCb3go
cmVuZGVyZXIoKSktPmNsaXBSZWN0KG9mZnNldCwgY2xpcFJlY3RzQ29udGV4dC5yZWdpb24pOwog
ICAgICAgICAgICAgYmFja2dyb3VuZFJlY3QuaW50ZXJzZWN0KG5ld1Bvc0NsaXApOwogICAgICAg
ICAgICAgZm9yZWdyb3VuZFJlY3QuaW50ZXJzZWN0KG5ld1Bvc0NsaXApOwogICAgICAgICAgICAg
b3V0bGluZVJlY3QuaW50ZXJzZWN0KG5ld1Bvc0NsaXApOwpAQCAtNDIzMSwxMyArNDIzOSwxMyBA
QCB2b2lkIFJlbmRlckxheWVyOjpjYWxjdWxhdGVSZWN0cyhjb25zdCBSZW5kZXJMYXllciogcm9v
dExheWVyLCBSZW5kZXJSZWdpb24qIHJlZwogICAgICAgICAgICAgTGF5b3V0UmVjdCBsYXllckJv
dW5kc1dpdGhWaXN1YWxPdmVyZmxvdyA9IHJlbmRlckJveCgpLT52aXN1YWxPdmVyZmxvd1JlY3Qo
KTsKICAgICAgICAgICAgIHJlbmRlckJveCgpLT5mbGlwRm9yV3JpdGluZ01vZGUobGF5ZXJCb3Vu
ZHNXaXRoVmlzdWFsT3ZlcmZsb3cpOyAvLyBMYXllcnMgYXJlIGluIHBoeXNpY2FsIGNvb3JkaW5h
dGVzLCBzbyB0aGUgb3ZlcmZsb3cgaGFzIHRvIGJlIGZsaXBwZWQuCiAgICAgICAgICAgICBsYXll
ckJvdW5kc1dpdGhWaXN1YWxPdmVyZmxvdy5tb3ZlQnkob2Zmc2V0KTsKLSAgICAgICAgICAgIGlm
ICh0aGlzICE9IHJvb3RMYXllciB8fCByZXNwZWN0T3ZlcmZsb3dDbGlwID09IFJlc3BlY3RPdmVy
Zmxvd0NsaXApCisgICAgICAgICAgICBpZiAodGhpcyAhPSBjbGlwUmVjdHNDb250ZXh0LnJvb3RM
YXllciB8fCBjbGlwUmVjdHNDb250ZXh0LnJlc3BlY3RPdmVyZmxvd0NsaXAgPT0gUmVzcGVjdE92
ZXJmbG93Q2xpcCkKICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kUmVjdC5pbnRlcnNlY3QobGF5
ZXJCb3VuZHNXaXRoVmlzdWFsT3ZlcmZsb3cpOwogICAgICAgICB9IGVsc2UgewogICAgICAgICAg
ICAgLy8gU2hpZnQgdGhlIGJvdW5kcyB0byBiZSBmb3Igb3VyIHJlZ2lvbiBvbmx5LgotICAgICAg
ICAgICAgTGF5b3V0UmVjdCBib3VuZHMgPSByZW5kZXJCb3goKS0+Ym9yZGVyQm94UmVjdEluUmVn
aW9uKHJlZ2lvbik7CisgICAgICAgICAgICBMYXlvdXRSZWN0IGJvdW5kcyA9IHJlbmRlckJveCgp
LT5ib3JkZXJCb3hSZWN0SW5SZWdpb24oY2xpcFJlY3RzQ29udGV4dC5yZWdpb24pOwogICAgICAg
ICAgICAgYm91bmRzLm1vdmVCeShvZmZzZXQpOwotICAgICAgICAgICAgaWYgKHRoaXMgIT0gcm9v
dExheWVyIHx8IHJlc3BlY3RPdmVyZmxvd0NsaXAgPT0gUmVzcGVjdE92ZXJmbG93Q2xpcCkKKyAg
ICAgICAgICAgIGlmICh0aGlzICE9IGNsaXBSZWN0c0NvbnRleHQucm9vdExheWVyIHx8IGNsaXBS
ZWN0c0NvbnRleHQucmVzcGVjdE92ZXJmbG93Q2xpcCA9PSBSZXNwZWN0T3ZlcmZsb3dDbGlwKQog
ICAgICAgICAgICAgICAgIGJhY2tncm91bmRSZWN0LmludGVyc2VjdChib3VuZHMpOwogICAgICAg
ICB9CiAgICAgfQpAQCAtNDI1MSw4ICs0MjU5LDkgQEAgTGF5b3V0UmVjdCBSZW5kZXJMYXllcjo6
Y2hpbGRyZW5DbGlwUmVjdCgpIGNvbnN0CiAgICAgUmVuZGVyTGF5ZXIqIGNsaXBwaW5nUm9vdExh
eWVyID0gY2xpcHBpbmdSb290Rm9yUGFpbnRpbmcoKTsKICAgICBMYXlvdXRSZWN0IGxheWVyQm91
bmRzOwogICAgIENsaXBSZWN0IGJhY2tncm91bmRSZWN0LCBmb3JlZ3JvdW5kUmVjdCwgb3V0bGlu
ZVJlY3Q7CisgICAgQ2xpcFJlY3RzQ29udGV4dCBjbGlwUmVjdHNDb250ZXh0KGNsaXBwaW5nUm9v
dExheWVyLCAwLCBUZW1wb3JhcnlDbGlwUmVjdHMpOwogICAgIC8vIE5lZWQgdG8gdXNlIHRlbXBv
cmFyeSBjbGlwIHJlY3RzLCBiZWNhdXNlIHRoZSB2YWx1ZSBvZiAnZG9udENsaXBUb092ZXJmbG93
JyBtYXkgYmUgZGlmZmVyZW50IGZyb20gdGhlIHBhaW50aW5nIHBhdGggKDxyZGFyOi8vcHJvYmxl
bS8xMTg0NDkwOT4pLgotICAgIGNhbGN1bGF0ZVJlY3RzKGNsaXBwaW5nUm9vdExheWVyLCAwLCBU
ZW1wb3JhcnlDbGlwUmVjdHMsIHJlbmRlclZpZXctPnVuc2NhbGVkRG9jdW1lbnRSZWN0KCksIGxh
eWVyQm91bmRzLCBiYWNrZ3JvdW5kUmVjdCwgZm9yZWdyb3VuZFJlY3QsIG91dGxpbmVSZWN0KTsK
KyAgICBjYWxjdWxhdGVSZWN0cyhjbGlwUmVjdHNDb250ZXh0LCByZW5kZXJWaWV3LT51bnNjYWxl
ZERvY3VtZW50UmVjdCgpLCBsYXllckJvdW5kcywgYmFja2dyb3VuZFJlY3QsIGZvcmVncm91bmRS
ZWN0LCBvdXRsaW5lUmVjdCk7CiAgICAgcmV0dXJuIGNsaXBwaW5nUm9vdExheWVyLT5yZW5kZXJl
cigpLT5sb2NhbFRvQWJzb2x1dGVRdWFkKEZsb2F0UXVhZChmb3JlZ3JvdW5kUmVjdC5yZWN0KCkp
LCBTbmFwT2Zmc2V0Rm9yVHJhbnNmb3JtcykuZW5jbG9zaW5nQm91bmRpbmdCb3goKTsKIH0KIApA
QCAtNDI2NCw3ICs0MjczLDggQEAgTGF5b3V0UmVjdCBSZW5kZXJMYXllcjo6c2VsZkNsaXBSZWN0
KCkgY29uc3QKICAgICBSZW5kZXJMYXllciogY2xpcHBpbmdSb290TGF5ZXIgPSBjbGlwcGluZ1Jv
b3RGb3JQYWludGluZygpOwogICAgIExheW91dFJlY3QgbGF5ZXJCb3VuZHM7CiAgICAgQ2xpcFJl
Y3QgYmFja2dyb3VuZFJlY3QsIGZvcmVncm91bmRSZWN0LCBvdXRsaW5lUmVjdDsKLSAgICBjYWxj
dWxhdGVSZWN0cyhjbGlwcGluZ1Jvb3RMYXllciwgMCwgUGFpbnRpbmdDbGlwUmVjdHMsIHJlbmRl
clZpZXctPmRvY3VtZW50UmVjdCgpLCBsYXllckJvdW5kcywgYmFja2dyb3VuZFJlY3QsIGZvcmVn
cm91bmRSZWN0LCBvdXRsaW5lUmVjdCk7CisgICAgQ2xpcFJlY3RzQ29udGV4dCBjbGlwUmVjdHND
b250ZXh0KGNsaXBwaW5nUm9vdExheWVyLCAwLCBQYWludGluZ0NsaXBSZWN0cyk7CisgICAgY2Fs
Y3VsYXRlUmVjdHMoY2xpcFJlY3RzQ29udGV4dCwgcmVuZGVyVmlldy0+ZG9jdW1lbnRSZWN0KCks
IGxheWVyQm91bmRzLCBiYWNrZ3JvdW5kUmVjdCwgZm9yZWdyb3VuZFJlY3QsIG91dGxpbmVSZWN0
KTsKICAgICByZXR1cm4gY2xpcHBpbmdSb290TGF5ZXItPnJlbmRlcmVyKCktPmxvY2FsVG9BYnNv
bHV0ZVF1YWQoRmxvYXRRdWFkKGJhY2tncm91bmRSZWN0LnJlY3QoKSksIFNuYXBPZmZzZXRGb3JU
cmFuc2Zvcm1zKS5lbmNsb3NpbmdCb3VuZGluZ0JveCgpOwogfQogCkBAIC00Mjc1LDcgKzQyODUs
OCBAQCBMYXlvdXRSZWN0IFJlbmRlckxheWVyOjpsb2NhbENsaXBSZWN0KCkgY29uc3QKICAgICBS
ZW5kZXJMYXllciogY2xpcHBpbmdSb290TGF5ZXIgPSBjbGlwcGluZ1Jvb3RGb3JQYWludGluZygp
OwogICAgIExheW91dFJlY3QgbGF5ZXJCb3VuZHM7CiAgICAgQ2xpcFJlY3QgYmFja2dyb3VuZFJl
Y3QsIGZvcmVncm91bmRSZWN0LCBvdXRsaW5lUmVjdDsKLSAgICBjYWxjdWxhdGVSZWN0cyhjbGlw
cGluZ1Jvb3RMYXllciwgMCwgUGFpbnRpbmdDbGlwUmVjdHMsIFBhaW50SW5mbzo6aW5maW5pdGVS
ZWN0KCksIGxheWVyQm91bmRzLCBiYWNrZ3JvdW5kUmVjdCwgZm9yZWdyb3VuZFJlY3QsIG91dGxp
bmVSZWN0KTsKKyAgICBDbGlwUmVjdHNDb250ZXh0IGNsaXBSZWN0c0NvbnRleHQoY2xpcHBpbmdS
b290TGF5ZXIsIDAsIFBhaW50aW5nQ2xpcFJlY3RzKTsKKyAgICBjYWxjdWxhdGVSZWN0cyhjbGlw
UmVjdHNDb250ZXh0LCBQYWludEluZm86OmluZmluaXRlUmVjdCgpLCBsYXllckJvdW5kcywgYmFj
a2dyb3VuZFJlY3QsIGZvcmVncm91bmRSZWN0LCBvdXRsaW5lUmVjdCk7CiAKICAgICBMYXlvdXRS
ZWN0IGNsaXBSZWN0ID0gYmFja2dyb3VuZFJlY3QucmVjdCgpOwogICAgIGlmIChjbGlwUmVjdCA9
PSBQYWludEluZm86OmluZmluaXRlUmVjdCgpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckxheWVyLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
TGF5ZXIuaAppbmRleCBlYWMzZTU1MmJjNzM3NGFkZDQzMTUxYTExM2Q2MzA3MzdhN2RkMzZlLi5j
ZWUwZTZlZGEwZmYxZWVhNDczYjczYzIwMzA5Y2UzMWFiMDE1OWNiIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyTGF5ZXIuaApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQg
KEMpIDIwMDMsIDIwMDkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJp
Z2h0IChDKSAyMDAzLCAyMDA5LCAyMDEyIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
ICAqCiAgKiBQb3J0aW9ucyBhcmUgQ29weXJpZ2h0IChDKSAxOTk4IE5ldHNjYXBlIENvbW11bmlj
YXRpb25zIENvcnBvcmF0aW9uLgogICoKQEAgLTUzMiwyMSArNTMyLDM5IEBAIHB1YmxpYzoKIAog
ICAgIGVudW0gU2hvdWxkUmVzcGVjdE92ZXJmbG93Q2xpcCB7IElnbm9yZU92ZXJmbG93Q2xpcCwg
UmVzcGVjdE92ZXJmbG93Q2xpcCB9OwogCisgICAgc3RydWN0IENsaXBSZWN0c0NvbnRleHQgewor
ICAgICAgICBDbGlwUmVjdHNDb250ZXh0KGNvbnN0IFJlbmRlckxheWVyKiBpblJvb3RMYXllciwg
UmVuZGVyUmVnaW9uKiBpblJlZ2lvbiwgQ2xpcFJlY3RzVHlwZSBpbkNsaXBSZWN0c1R5cGUsIE92
ZXJsYXlTY3JvbGxiYXJTaXplUmVsZXZhbmN5IGluT3ZlcmxheVNjcm9sbGJhclNpemVSZWxldmFu
Y3kgPSBJZ25vcmVPdmVybGF5U2Nyb2xsYmFyU2l6ZSwgU2hvdWxkUmVzcGVjdE92ZXJmbG93Q2xp
cCBpblJlc3BlY3RPdmVyZmxvd0NsaXAgPSBSZXNwZWN0T3ZlcmZsb3dDbGlwKQorICAgICAgICAg
ICAgOiByb290TGF5ZXIoaW5Sb290TGF5ZXIpCisgICAgICAgICAgICAsIHJlZ2lvbihpblJlZ2lv
bikKKyAgICAgICAgICAgICwgY2xpcFJlY3RzVHlwZShpbkNsaXBSZWN0c1R5cGUpCisgICAgICAg
ICAgICAsIG92ZXJsYXlTY3JvbGxiYXJTaXplUmVsZXZhbmN5KGluT3ZlcmxheVNjcm9sbGJhclNp
emVSZWxldmFuY3kpCisgICAgICAgICAgICAsIHJlc3BlY3RPdmVyZmxvd0NsaXAoaW5SZXNwZWN0
T3ZlcmZsb3dDbGlwKQorICAgICAgICB7IH0KKyAgICAgICAgY29uc3QgUmVuZGVyTGF5ZXIqIHJv
b3RMYXllcjsKKyAgICAgICAgUmVuZGVyUmVnaW9uKiByZWdpb247CisgICAgICAgIENsaXBSZWN0
c1R5cGUgY2xpcFJlY3RzVHlwZTsKKyAgICAgICAgT3ZlcmxheVNjcm9sbGJhclNpemVSZWxldmFu
Y3kgb3ZlcmxheVNjcm9sbGJhclNpemVSZWxldmFuY3k7CisgICAgICAgIFNob3VsZFJlc3BlY3RP
dmVyZmxvd0NsaXAgcmVzcGVjdE92ZXJmbG93Q2xpcDsKKyAgICB9OworCiAgICAgLy8gVGhpcyBt
ZXRob2QgZmlndXJlcyBvdXQgb3VyIGxheWVyQm91bmRzIGluIGNvb3JkaW5hdGVzIHJlbGF0aXZl
IHRvCiAgICAgLy8gfHJvb3RMYXllcn0uICBJdCBhbHNvIGNvbXB1dGVzIG91ciBiYWNrZ3JvdW5k
IGFuZCBmb3JlZ3JvdW5kIGNsaXAgcmVjdHMKICAgICAvLyBmb3IgcGFpbnRpbmcvZXZlbnQgaGFu
ZGxpbmcuCiAgICAgLy8gUGFzcyBvZmZzZXRGcm9tUm9vdCBpZiBrbm93bi4KLSAgICB2b2lkIGNh
bGN1bGF0ZVJlY3RzKGNvbnN0IFJlbmRlckxheWVyKiByb290TGF5ZXIsIFJlbmRlclJlZ2lvbios
IENsaXBSZWN0c1R5cGUsIGNvbnN0IExheW91dFJlY3QmIHBhaW50RGlydHlSZWN0LCBMYXlvdXRS
ZWN0JiBsYXllckJvdW5kcywKLSAgICAgICAgICAgICAgICAgICAgICAgIENsaXBSZWN0JiBiYWNr
Z3JvdW5kUmVjdCwgQ2xpcFJlY3QmIGZvcmVncm91bmRSZWN0LCBDbGlwUmVjdCYgb3V0bGluZVJl
Y3QsIGNvbnN0IExheW91dFBvaW50KiBvZmZzZXRGcm9tUm9vdCA9IDAsCi0gICAgICAgICAgICAg
ICAgICAgICAgICBPdmVybGF5U2Nyb2xsYmFyU2l6ZVJlbGV2YW5jeSA9IElnbm9yZU92ZXJsYXlT
Y3JvbGxiYXJTaXplLCBTaG91bGRSZXNwZWN0T3ZlcmZsb3dDbGlwID0gUmVzcGVjdE92ZXJmbG93
Q2xpcCkgY29uc3Q7CisgICAgdm9pZCBjYWxjdWxhdGVSZWN0cyhjb25zdCBDbGlwUmVjdHNDb250
ZXh0JiwgY29uc3QgTGF5b3V0UmVjdCYgcGFpbnREaXJ0eVJlY3QsIExheW91dFJlY3QmIGxheWVy
Qm91bmRzLAorICAgICAgICBDbGlwUmVjdCYgYmFja2dyb3VuZFJlY3QsIENsaXBSZWN0JiBmb3Jl
Z3JvdW5kUmVjdCwgQ2xpcFJlY3QmIG91dGxpbmVSZWN0LCBjb25zdCBMYXlvdXRQb2ludCogb2Zm
c2V0RnJvbVJvb3QgPSAwKSBjb25zdDsKIAogICAgIC8vIENvbXB1dGUgYW5kIGNhY2hlIGNsaXAg
cmVjdHMgY29tcHV0ZWQgd2l0aCB0aGUgZ2l2ZW4gbGF5ZXIgYXMgdGhlIHJvb3QKLSAgICB2b2lk
IHVwZGF0ZUNsaXBSZWN0cyhjb25zdCBSZW5kZXJMYXllciogcm9vdExheWVyLCBSZW5kZXJSZWdp
b24qLCBDbGlwUmVjdHNUeXBlLCBPdmVybGF5U2Nyb2xsYmFyU2l6ZVJlbGV2YW5jeSA9IElnbm9y
ZU92ZXJsYXlTY3JvbGxiYXJTaXplLCBTaG91bGRSZXNwZWN0T3ZlcmZsb3dDbGlwID0gUmVzcGVj
dE92ZXJmbG93Q2xpcCk7CisgICAgdm9pZCB1cGRhdGVDbGlwUmVjdHMoY29uc3QgQ2xpcFJlY3Rz
Q29udGV4dCYpOwogICAgIC8vIENvbXB1dGUgYW5kIHJldHVybiB0aGUgY2xpcCByZWN0cy4gSWYg
dXNlQ2FjaGVkIGlzIHRydWUsIHdpbGwgdXNlZCBwcmV2aW91c2x5IGNvbXB1dGVkIGNsaXAgcmVj
dHMgb24gYW5jZXN0b3JzCiAgICAgLy8gKHJhdGhlciB0aGFuIGNvbXB1dGluZyB0aGVtIGFsbCBm
cm9tIHNjcmF0Y2ggdXAgdGhlIHBhcmVudCBjaGFpbikuCi0gICAgdm9pZCBjYWxjdWxhdGVDbGlw
UmVjdHMoY29uc3QgUmVuZGVyTGF5ZXIqIHJvb3RMYXllciwgUmVuZGVyUmVnaW9uKiwgQ2xpcFJl
Y3RzVHlwZSwgQ2xpcFJlY3RzJiwgT3ZlcmxheVNjcm9sbGJhclNpemVSZWxldmFuY3kgPSBJZ25v
cmVPdmVybGF5U2Nyb2xsYmFyU2l6ZSwgU2hvdWxkUmVzcGVjdE92ZXJmbG93Q2xpcCA9IFJlc3Bl
Y3RPdmVyZmxvd0NsaXApIGNvbnN0OworICAgIHZvaWQgY2FsY3VsYXRlQ2xpcFJlY3RzKGNvbnN0
IENsaXBSZWN0c0NvbnRleHQmLCBDbGlwUmVjdHMmKSBjb25zdDsKIAotICAgIENsaXBSZWN0cyog
Y2xpcFJlY3RzKENsaXBSZWN0c1R5cGUgdHlwZSkgY29uc3QgeyBBU1NFUlQodHlwZSA8IE51bUNh
Y2hlZENsaXBSZWN0c1R5cGVzKTsgcmV0dXJuIG1fY2xpcFJlY3RzQ2FjaGUgPyBtX2NsaXBSZWN0
c0NhY2hlLT5tX2NsaXBSZWN0c1t0eXBlXS5nZXQoKSA6IDA7IH0KKyAgICBDbGlwUmVjdHMqIGNs
aXBSZWN0cyhDbGlwUmVjdHNUeXBlIHR5cGUpIGNvbnN0CisgICAgeworICAgICAgICBBU1NFUlQo
dHlwZSA8IE51bUNhY2hlZENsaXBSZWN0c1R5cGVzKTsKKyAgICAgICAgcmV0dXJuIG1fY2xpcFJl
Y3RzQ2FjaGUgPyBtX2NsaXBSZWN0c0NhY2hlLT5tX2NsaXBSZWN0c1t0eXBlXS5nZXQoKSA6IDA7
CisgICAgfQogCiAgICAgTGF5b3V0UmVjdCBjaGlsZHJlbkNsaXBSZWN0KCkgY29uc3Q7IC8vIFJl
dHVybnMgdGhlIGZvcmVncm91bmQgY2xpcCByZWN0IG9mIHRoZSBsYXllciBpbiB0aGUgZG9jdW1l
bnQncyBjb29yZGluYXRlIHNwYWNlLgogICAgIExheW91dFJlY3Qgc2VsZkNsaXBSZWN0KCkgY29u
c3Q7IC8vIFJldHVybnMgdGhlIGJhY2tncm91bmQgY2xpcCByZWN0IG9mIHRoZSBsYXllciBpbiB0
aGUgZG9jdW1lbnQncyBjb29yZGluYXRlIHNwYWNlLgpAQCAtODYzLDggKzg4MSw5IEBAIHByaXZh
dGU6CiAgICAgdm9pZCB1cGRhdGVPclJlbW92ZUZpbHRlckVmZmVjdFJlbmRlcmVyKCk7CiAjZW5k
aWYKIAotICAgIHZvaWQgcGFyZW50Q2xpcFJlY3RzKGNvbnN0IFJlbmRlckxheWVyKiByb290TGF5
ZXIsIFJlbmRlclJlZ2lvbiosIENsaXBSZWN0c1R5cGUsIENsaXBSZWN0cyYsIE92ZXJsYXlTY3Jv
bGxiYXJTaXplUmVsZXZhbmN5ID0gSWdub3JlT3ZlcmxheVNjcm9sbGJhclNpemUsIFNob3VsZFJl
c3BlY3RPdmVyZmxvd0NsaXAgPSBSZXNwZWN0T3ZlcmZsb3dDbGlwKSBjb25zdDsKLSAgICBDbGlw
UmVjdCBiYWNrZ3JvdW5kQ2xpcFJlY3QoY29uc3QgUmVuZGVyTGF5ZXIqIHJvb3RMYXllciwgUmVu
ZGVyUmVnaW9uKiwgQ2xpcFJlY3RzVHlwZSwgT3ZlcmxheVNjcm9sbGJhclNpemVSZWxldmFuY3kg
PSBJZ25vcmVPdmVybGF5U2Nyb2xsYmFyU2l6ZSwgU2hvdWxkUmVzcGVjdE92ZXJmbG93Q2xpcCA9
IFJlc3BlY3RPdmVyZmxvd0NsaXApIGNvbnN0OworICAgIHZvaWQgcGFyZW50Q2xpcFJlY3RzKGNv
bnN0IENsaXBSZWN0c0NvbnRleHQmLCBDbGlwUmVjdHMmKSBjb25zdDsKKyAgICBDbGlwUmVjdCBi
YWNrZ3JvdW5kQ2xpcFJlY3QoY29uc3QgQ2xpcFJlY3RzQ29udGV4dCYpIGNvbnN0OworCiAgICAg
TGF5b3V0UmVjdCBwYWludGluZ0V4dGVudChjb25zdCBSZW5kZXJMYXllciogcm9vdExheWVyLCBj
b25zdCBMYXlvdXRSZWN0JiBwYWludERpcnR5UmVjdCwgUGFpbnRCZWhhdmlvcik7CiAKICAgICBS
ZW5kZXJMYXllciogZW5jbG9zaW5nVHJhbnNmb3JtZWRBbmNlc3RvcigpIGNvbnN0OwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmNwcAppbmRleCBlYTM3
ZmRmNWI1M2VjMzA4NWQ2OTY3N2ExMGY1ZDExNGRjYWRiODE2Li44OGJlMDhkZmViZTVmOWE3Y2I3
ODkyNTgwNjQ4YjQ0YmJkYjkzYzc0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyTGF5ZXJCYWNraW5nLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyTGF5ZXJCYWNraW5nLmNwcApAQCAtMzgxLDcgKzM4MSw3IEBAIHZvaWQgUmVuZGVyTGF5
ZXJCYWNraW5nOjp1cGRhdGVDb21wb3NpdGVkQm91bmRzKCkKICAgICAgICAgTGF5b3V0UmVjdCBj
bGlwcGluZ0JvdW5kcyA9IHZpZXctPnVuc2NhbGVkRG9jdW1lbnRSZWN0KCk7CiAKICAgICAgICAg
aWYgKG1fb3duaW5nTGF5ZXIgIT0gcm9vdExheWVyKQotICAgICAgICAgICAgY2xpcHBpbmdCb3Vu
ZHMuaW50ZXJzZWN0KG1fb3duaW5nTGF5ZXItPmJhY2tncm91bmRDbGlwUmVjdChyb290TGF5ZXIs
IDAsIEFic29sdXRlQ2xpcFJlY3RzKS5yZWN0KCkpOyAvLyBGSVhNRTogSW5jb3JyZWN0IGZvciBD
U1MgcmVnaW9ucy4KKyAgICAgICAgICAgIGNsaXBwaW5nQm91bmRzLmludGVyc2VjdChtX293bmlu
Z0xheWVyLT5iYWNrZ3JvdW5kQ2xpcFJlY3QoUmVuZGVyTGF5ZXI6OkNsaXBSZWN0c0NvbnRleHQo
cm9vdExheWVyLCAwLCBBYnNvbHV0ZUNsaXBSZWN0cykpLnJlY3QoKSk7IC8vIEZJWE1FOiBJbmNv
cnJlY3QgZm9yIENTUyByZWdpb25zLgogCiAgICAgICAgIExheW91dFBvaW50IGRlbHRhOwogICAg
ICAgICBtX293bmluZ0xheWVyLT5jb252ZXJ0VG9MYXllckNvb3Jkcyhyb290TGF5ZXIsIGRlbHRh
KTsKQEAgLTYyMCw3ICs2MjAsOCBAQCB2b2lkIFJlbmRlckxheWVyQmFja2luZzo6dXBkYXRlR3Jh
cGhpY3NMYXllckdlb21ldHJ5KCkKICAgICAgICAgLy8gQ2FsbCBjYWxjdWxhdGVSZWN0cyB0byBn
ZXQgdGhlIGJhY2tncm91bmRSZWN0IHdoaWNoIGlzIHdoYXQgaXMgdXNlZCB0byBjbGlwIHRoZSBj
b250ZW50cyBvZiB0aGlzCiAgICAgICAgIC8vIGxheWVyLiBOb3RlIHRoYXQgd2UgY2FsbCBpdCB3
aXRoIHRlbXBvcmFyeUNsaXBSZWN0cyA9IHRydWUgYmVjYXVzZSBub3JtYWxseSB3aGVuIGNvbXB1
dGluZyBjbGlwIHJlY3RzCiAgICAgICAgIC8vIGZvciBhIGNvbXBvc2l0aW5nIGxheWVyLCByb290
TGF5ZXIgaXMgdGhlIGxheWVyIGl0c2VsZi4KLSAgICAgICAgSW50UmVjdCBwYXJlbnRDbGlwUmVj
dCA9IHBpeGVsU25hcHBlZEludFJlY3QobV9vd25pbmdMYXllci0+YmFja2dyb3VuZENsaXBSZWN0
KGNvbXBBbmNlc3RvciwgMCwgVGVtcG9yYXJ5Q2xpcFJlY3RzLCBJZ25vcmVPdmVybGF5U2Nyb2xs
YmFyU2l6ZSwgUmVuZGVyTGF5ZXI6Oklnbm9yZU92ZXJmbG93Q2xpcCkucmVjdCgpKTsgLy8gRklY
TUU6IEluY29ycmVjdCBmb3IgQ1NTIHJlZ2lvbnMuCisgICAgICAgIFJlbmRlckxheWVyOjpDbGlw
UmVjdHNDb250ZXh0IGNsaXBSZWN0c0NvbnRleHQoY29tcEFuY2VzdG9yLCAwLCBUZW1wb3JhcnlD
bGlwUmVjdHMsIElnbm9yZU92ZXJsYXlTY3JvbGxiYXJTaXplLCBSZW5kZXJMYXllcjo6SWdub3Jl
T3ZlcmZsb3dDbGlwKTsKKyAgICAgICAgSW50UmVjdCBwYXJlbnRDbGlwUmVjdCA9IHBpeGVsU25h
cHBlZEludFJlY3QobV9vd25pbmdMYXllci0+YmFja2dyb3VuZENsaXBSZWN0KGNsaXBSZWN0c0Nv
bnRleHQpLnJlY3QoKSk7IC8vIEZJWE1FOiBJbmNvcnJlY3QgZm9yIENTUyByZWdpb25zLgogICAg
ICAgICBBU1NFUlQocGFyZW50Q2xpcFJlY3QgIT0gUGFpbnRJbmZvOjppbmZpbml0ZVJlY3QoKSk7
CiAgICAgICAgIG1fYW5jZXN0b3JDbGlwcGluZ0xheWVyLT5zZXRQb3NpdGlvbihGbG9hdFBvaW50
KCkgKyAocGFyZW50Q2xpcFJlY3QubG9jYXRpb24oKSAtIGdyYXBoaWNzTGF5ZXJQYXJlbnRMb2Nh
dGlvbikpOwogICAgICAgICBtX2FuY2VzdG9yQ2xpcHBpbmdMYXllci0+c2V0U2l6ZShwYXJlbnRD
bGlwUmVjdC5zaXplKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckxheWVyQ29tcG9zaXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
TGF5ZXJDb21wb3NpdG9yLmNwcAppbmRleCAyMzc3YmYwMzQzZjZjNDMxYTc2ODc0NWNkOWJkZDVj
MzkwN2QzMTk1Li44NzBiZjFkZGZhNzM5NTljMGVlMGEyY2MxOGU5ZWZhODg1OWNmMjFjIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNw
cApAQCAtNzIzLDcgKzcyMyw3IEBAIHZvaWQgUmVuZGVyTGF5ZXJDb21wb3NpdG9yOjphZGRUb092
ZXJsYXBNYXAoT3ZlcmxhcE1hcCYgb3ZlcmxhcE1hcCwgUmVuZGVyTGF5ZXIqCiAgICAgICAgIGJv
dW5kc0NvbXB1dGVkID0gdHJ1ZTsKICAgICB9CiAKLSAgICBJbnRSZWN0IGNsaXBSZWN0ID0gcGl4
ZWxTbmFwcGVkSW50UmVjdChsYXllci0+YmFja2dyb3VuZENsaXBSZWN0KHJvb3RSZW5kZXJMYXll
cigpLCAwLCBBYnNvbHV0ZUNsaXBSZWN0cykucmVjdCgpKTsgLy8gRklYTUU6IEluY29ycmVjdCBm
b3IgQ1NTIHJlZ2lvbnMuCisgICAgSW50UmVjdCBjbGlwUmVjdCA9IHBpeGVsU25hcHBlZEludFJl
Y3QobGF5ZXItPmJhY2tncm91bmRDbGlwUmVjdChSZW5kZXJMYXllcjo6Q2xpcFJlY3RzQ29udGV4
dChyb290UmVuZGVyTGF5ZXIoKSwgMCwgQWJzb2x1dGVDbGlwUmVjdHMpKS5yZWN0KCkpOyAvLyBG
SVhNRTogSW5jb3JyZWN0IGZvciBDU1MgcmVnaW9ucy4KICAgICBjbGlwUmVjdC5zY2FsZShwYWdl
U2NhbGVGYWN0b3IoKSk7CiAgICAgY2xpcFJlY3QuaW50ZXJzZWN0KGxheWVyQm91bmRzKTsKICAg
ICBvdmVybGFwTWFwLmFkZChsYXllciwgY2xpcFJlY3QpOwpAQCAtMTcyMyw3ICsxNzIzLDcgQEAg
Ym9vbCBSZW5kZXJMYXllckNvbXBvc2l0b3I6OmNsaXBwZWRCeUFuY2VzdG9yKFJlbmRlckxheWVy
KiBsYXllcikgY29uc3QKICAgICBpZiAoIWNvbXB1dGVDbGlwUm9vdCB8fCBjb21wdXRlQ2xpcFJv
b3QgPT0gbGF5ZXIpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgIHJldHVybiBsYXllci0+
YmFja2dyb3VuZENsaXBSZWN0KGNvbXB1dGVDbGlwUm9vdCwgMCwgVGVtcG9yYXJ5Q2xpcFJlY3Rz
KS5yZWN0KCkgIT0gUGFpbnRJbmZvOjppbmZpbml0ZVJlY3QoKTsgLy8gRklYTUU6IEluY29ycmVj
dCBmb3IgQ1NTIHJlZ2lvbnMuCisgICAgcmV0dXJuIGxheWVyLT5iYWNrZ3JvdW5kQ2xpcFJlY3Qo
UmVuZGVyTGF5ZXI6OkNsaXBSZWN0c0NvbnRleHQoY29tcHV0ZUNsaXBSb290LCAwLCBUZW1wb3Jh
cnlDbGlwUmVjdHMpKS5yZWN0KCkgIT0gUGFpbnRJbmZvOjppbmZpbml0ZVJlY3QoKTsgLy8gRklY
TUU6IEluY29ycmVjdCBmb3IgQ1NTIHJlZ2lvbnMuCiB9CiAKIC8vIFJldHVybiB0cnVlIGlmIHRo
ZSBnaXZlbiBsYXllciBpcyBhIHN0YWNraW5nIGNvbnRleHQgYW5kIGhhcyBjb21wb3NpdGluZyBj
aGlsZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRyZWVBc1Rl
eHQuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRyZWVBc1RleHQuY3BwCmlu
ZGV4IDZjMDg3ODlkNGEzZmZmMDdlMjBlZGNmMGJkY2ZhODc0N2Y0M2NjZTAuLjViNGViNzM1ODAy
NzdhOTRhZWRlMWNmM2Q3NDUyNTk5MzY5NDdmMDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJUcmVlQXNUZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyVHJlZUFzVGV4dC5jcHAKQEAgLTcyNiw3ICs3MjYsNyBAQCBzdGF0aWMgdm9p
ZCB3cml0ZUxheWVycyhUZXh0U3RyZWFtJiB0cywgY29uc3QgUmVuZGVyTGF5ZXIqIHJvb3RMYXll
ciwgUmVuZGVyTGF5ZQogICAgIC8vIENhbGN1bGF0ZSB0aGUgY2xpcCByZWN0cyB3ZSBzaG91bGQg
dXNlLgogICAgIExheW91dFJlY3QgbGF5ZXJCb3VuZHM7CiAgICAgQ2xpcFJlY3QgZGFtYWdlUmVj
dCwgY2xpcFJlY3RUb0FwcGx5LCBvdXRsaW5lUmVjdDsKLSAgICBsLT5jYWxjdWxhdGVSZWN0cyhy
b290TGF5ZXIsIDAsIFRlbXBvcmFyeUNsaXBSZWN0cywgcGFpbnREaXJ0eVJlY3QsIGxheWVyQm91
bmRzLCBkYW1hZ2VSZWN0LCBjbGlwUmVjdFRvQXBwbHksIG91dGxpbmVSZWN0KTsKKyAgICBsLT5j
YWxjdWxhdGVSZWN0cyhSZW5kZXJMYXllcjo6Q2xpcFJlY3RzQ29udGV4dChyb290TGF5ZXIsIDAs
IFRlbXBvcmFyeUNsaXBSZWN0cyksIHBhaW50RGlydHlSZWN0LCBsYXllckJvdW5kcywgZGFtYWdl
UmVjdCwgY2xpcFJlY3RUb0FwcGx5LCBvdXRsaW5lUmVjdCk7CiAKICAgICAvLyBFbnN1cmUgb3Vy
IGxpc3RzIGFyZSB1cC10by1kYXRlLgogICAgIGwtPnVwZGF0ZUxheWVyTGlzdHNJZk5lZWRlZCgp
Owo=
</data>
<flag name="review"
          id="190063"
          type_id="1"
          status="+"
          setter="mitz"
    />
          </attachment>
      

    </bug>

</bugzilla>