<?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>129359</bug_id>
          
          <creation_ts>2014-02-25 20:27:06 -0800</creation_ts>
          <short_desc>Subpixel layout: Remove explicit static_cast&lt;LayoutUnit&gt; conversions.</short_desc>
          <delta_ts>2014-02-25 22:17: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>Layout and Rendering</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="alan">zalan</reporter>
          <assigned_to name="alan">zalan</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>jonlee</cc>
    
    <cc>simon.fraser</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>984611</commentid>
    <comment_count>0</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2014-02-25 20:27:06 -0800</bug_when>
    <thetext>ssia</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>984617</commentid>
    <comment_count>1</comment_count>
      <attachid>225217</attachid>
    <who name="alan">zalan</who>
    <bug_when>2014-02-25 20:40:35 -0800</bug_when>
    <thetext>Created attachment 225217
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>984628</commentid>
    <comment_count>2</comment_count>
      <attachid>225217</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-02-25 22:17:35 -0800</bug_when>
    <thetext>Comment on attachment 225217
Patch

Clearing flags on attachment: 225217

Committed r164697: &lt;http://trac.webkit.org/changeset/164697&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>984629</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-02-25 22:17:38 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>225217</attachid>
            <date>2014-02-25 20:40:35 -0800</date>
            <delta_ts>2014-02-25 22:17:35 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-129359-20140225204036.patch</filename>
            <type>text/plain</type>
            <size>21121</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTY0NTU2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTU3YTA3YWZlYTQ1YjI5
NGIzZGE5NGUwZWI0ZWQ5NjFjYzBiNWExNC4uYWQyM2QwMjJjYTM4MDI0ZGJhY2ZkMDY0NDM0YzVi
NGJjMDFlNDA3ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ0IEBACisyMDE0LTAyLTI1ICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgU3VicGl4ZWwgbGF5b3V0OiBS
ZW1vdmUgZXhwbGljaXQgc3RhdGljX2Nhc3Q8TGF5b3V0VW5pdD4gY29udmVyc2lvbnMuCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjkzNTkKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBObyB0ZXN0YWJsZSBj
aGFuZ2UgaW4gYmVoYXZpb3IuCisKKyAgICAgICAgKiBjc3MvTGVuZ3RoRnVuY3Rpb25zLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6Om1pbmltdW1WYWx1ZUZvckxlbmd0aCk6CisgICAgICAgICogcGFn
ZS9GcmFtZVZpZXcuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3Ojpmb3JjZUxheW91
dEZvclBhZ2luYXRpb24pOgorICAgICAgICAqIHJlbmRlcmluZy9JbmxpbmVGbG93Qm94LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OklubGluZUZsb3dCb3g6OnBhaW50RmlsbExheWVyKToKKyAgICAg
ICAgKiByZW5kZXJpbmcvSW5saW5lRmxvd0JveC5oOgorICAgICAgICAoV2ViQ29yZTo6SW5saW5l
Rmxvd0JveDo6bG9naWNhbExlZnRWaXN1YWxPdmVyZmxvdyk6CisgICAgICAgIChXZWJDb3JlOjpJ
bmxpbmVGbG93Qm94Ojpsb2dpY2FsUmlnaHRWaXN1YWxPdmVyZmxvdyk6CisgICAgICAgICogcmVu
ZGVyaW5nL0lubGluZVRleHRCb3guY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5saW5lVGV4dEJv
eDo6aXNTZWxlY3RlZCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrOjpjb21wdXRlQ29sdW1uQ291bnRBbmRXaWR0aCk6
CisgICAgICAgIChXZWJDb3JlOjpnZXRCUE1XaWR0aCk6CisgICAgICAgICogcmVuZGVyaW5nL1Jl
bmRlckJsb2NrRmxvdy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9ja0Zsb3c6OmFk
anVzdEZvckJvcmRlckZpdCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckRlcHJlY2F0ZWRG
bGV4aWJsZUJveC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJEZXByZWNhdGVkRmxleGli
bGVCb3g6OmxheW91dFZlcnRpY2FsQm94KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyRmll
bGRzZXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyRmllbGRzZXQ6OnBhaW50Qm94RGVj
b3JhdGlvbnMpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUYWJsZS5oOgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyVGFibGU6OmJvcmRlclNwYWNpbmdJblJvd0RpcmVjdGlvbik6CisgICAg
ICAgICogcmVuZGVyaW5nL1JlbmRlclRleHRDb250cm9sTXVsdGlMaW5lLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlJlbmRlclRleHRDb250cm9sTXVsdGlMaW5lOjpwcmVmZXJyZWRDb250ZW50TG9n
aWNhbFdpZHRoKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGV4dENvbnRyb2xTaW5nbGVM
aW5lLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRleHRDb250cm9sU2luZ2xlTGluZTo6
cHJlZmVycmVkQ29udGVudExvZ2ljYWxXaWR0aCk6CisgICAgICAgICogcmVuZGVyaW5nL1Jvb3RJ
bmxpbmVCb3guY3BwOgorICAgICAgICAoV2ViQ29yZTo6Um9vdElubGluZUJveDo6YmVmb3JlQW5u
b3RhdGlvbnNBZGp1c3RtZW50KToKKyAgICAgICAgKFdlYkNvcmU6OlJvb3RJbmxpbmVCb3g6OmFz
Y2VudEFuZERlc2NlbnRGb3JCb3gpOgorICAgICAgICAqIHJlbmRlcmluZy9zdmcvUmVuZGVyU1ZH
Um9vdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpyZXNvbHZlTGVuZ3RoQXR0cmlidXRlRm9yU1ZH
KToKKwogMjAxNC0wMi0yMyAgWmFsYW4gQnVqdGFzICA8emFsYW5AYXBwbGUuY29tPgogCiAgICAg
ICAgIFN1YnBpeGVsIHJlbmRlcmluZzogRml4IGJsZWVkIGF2b2lkYW5jZSBzdWJwaXhlbCBjYWxj
dWxhdGlvbi4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9MZW5ndGhGdW5jdGlvbnMu
Y3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0xlbmd0aEZ1bmN0aW9ucy5jcHAKaW5kZXggYTUxYmQ1
YjUzZDg4MzU1MTdmNDhjYjkyYTk1OGQyNDZmNDMwMzg2Yy4uNTc0OWM4OTQ2NjRjMmJjNmVlYmFi
MDgyZjYyMjk0YmQ5YmI1NDA1NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0xlbmd0
aEZ1bmN0aW9ucy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0xlbmd0aEZ1bmN0aW9ucy5j
cHAKQEAgLTQ3LDI5ICs0NywyOSBAQCBMYXlvdXRVbml0IG1pbmltdW1WYWx1ZUZvckxlbmd0aChj
b25zdCBMZW5ndGgmIGxlbmd0aCwgTGF5b3V0VW5pdCBtYXhpbXVtVmFsdWUsCiAgICAgICAgIHJl
dHVybiBsZW5ndGgudmFsdWUoKTsKICAgICBjYXNlIFBlcmNlbnQ6CiAgICAgICAgIGlmIChyb3Vu
ZFBlcmNlbnRhZ2VzKQotICAgICAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PExheW91dFVuaXQ+
KHJvdW5kKG1heGltdW1WYWx1ZSAqIGxlbmd0aC5wZXJjZW50KCkgLyAxMDAuMGYpKTsKKyAgICAg
ICAgICAgIHJldHVybiBMYXlvdXRVbml0KHJvdW5kKG1heGltdW1WYWx1ZSAqIGxlbmd0aC5wZXJj
ZW50KCkgLyAxMDAuMGYpKTsKICAgICAgICAgLy8gRG9uJ3QgcmVtb3ZlIHRoZSBleHRyYSBjYXN0
IHRvIGZsb2F0LiBJdCBpcyBuZWVkZWQgZm9yIHJvdW5kaW5nIG9uIDMyLWJpdCBJbnRlbCBtYWNo
aW5lcyB0aGF0IHVzZSB0aGUgRlBVIHN0YWNrLgotICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8
TGF5b3V0VW5pdD4oc3RhdGljX2Nhc3Q8ZmxvYXQ+KG1heGltdW1WYWx1ZSAqIGxlbmd0aC5wZXJj
ZW50KCkgLyAxMDAuMGYpKTsKKyAgICAgICAgcmV0dXJuIExheW91dFVuaXQoc3RhdGljX2Nhc3Q8
ZmxvYXQ+KG1heGltdW1WYWx1ZSAqIGxlbmd0aC5wZXJjZW50KCkgLyAxMDAuMGYpKTsKICAgICBj
YXNlIENhbGN1bGF0ZWQ6CiAgICAgICAgIHJldHVybiBsZW5ndGgubm9uTmFuQ2FsY3VsYXRlZFZh
bHVlKG1heGltdW1WYWx1ZSk7CiAgICAgY2FzZSBWaWV3cG9ydFBlcmNlbnRhZ2VXaWR0aDoKICAg
ICAgICAgaWYgKHJlbmRlclZpZXcpCi0gICAgICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8TGF5
b3V0VW5pdD4ocmVuZGVyVmlldy0+dmlld3BvcnRTaXplKCkud2lkdGgoKSAqIGxlbmd0aC52aWV3
cG9ydFBlcmNlbnRhZ2VMZW5ndGgoKSAvIDEwMC4wZik7CisgICAgICAgICAgICByZXR1cm4gTGF5
b3V0VW5pdChyZW5kZXJWaWV3LT52aWV3cG9ydFNpemUoKS53aWR0aCgpICogbGVuZ3RoLnZpZXdw
b3J0UGVyY2VudGFnZUxlbmd0aCgpIC8gMTAwLjBmKTsKICAgICAgICAgcmV0dXJuIDA7CiAgICAg
Y2FzZSBWaWV3cG9ydFBlcmNlbnRhZ2VIZWlnaHQ6CiAgICAgICAgIGlmIChyZW5kZXJWaWV3KQot
ICAgICAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PExheW91dFVuaXQ+KHJlbmRlclZpZXctPnZp
ZXdwb3J0U2l6ZSgpLmhlaWdodCgpICogbGVuZ3RoLnZpZXdwb3J0UGVyY2VudGFnZUxlbmd0aCgp
IC8gMTAwLjBmKTsKKyAgICAgICAgICAgIHJldHVybiBMYXlvdXRVbml0KHJlbmRlclZpZXctPnZp
ZXdwb3J0U2l6ZSgpLmhlaWdodCgpICogbGVuZ3RoLnZpZXdwb3J0UGVyY2VudGFnZUxlbmd0aCgp
IC8gMTAwLjBmKTsKICAgICAgICAgcmV0dXJuIDA7CiAgICAgY2FzZSBWaWV3cG9ydFBlcmNlbnRh
Z2VNaW46CiAgICAgICAgIGlmIChyZW5kZXJWaWV3KSB7CiAgICAgICAgICAgICBJbnRTaXplIHZp
ZXdwb3J0U2l6ZSA9IHJlbmRlclZpZXctPnZpZXdwb3J0U2l6ZSgpOwotICAgICAgICAgICAgcmV0
dXJuIHN0YXRpY19jYXN0PExheW91dFVuaXQ+KHN0ZDo6bWluKHZpZXdwb3J0U2l6ZS53aWR0aCgp
LCB2aWV3cG9ydFNpemUuaGVpZ2h0KCkpICogbGVuZ3RoLnZpZXdwb3J0UGVyY2VudGFnZUxlbmd0
aCgpIC8gMTAwLjBmKTsKKyAgICAgICAgICAgIHJldHVybiBMYXlvdXRVbml0KHN0ZDo6bWluKHZp
ZXdwb3J0U2l6ZS53aWR0aCgpLCB2aWV3cG9ydFNpemUuaGVpZ2h0KCkpICogbGVuZ3RoLnZpZXdw
b3J0UGVyY2VudGFnZUxlbmd0aCgpIC8gMTAwLjBmKTsKICAgICAgICAgfQogICAgICAgICByZXR1
cm4gMDsKICAgICBjYXNlIFZpZXdwb3J0UGVyY2VudGFnZU1heDoKICAgICAgICAgaWYgKHJlbmRl
clZpZXcpIHsKICAgICAgICAgICAgIEludFNpemUgdmlld3BvcnRTaXplID0gcmVuZGVyVmlldy0+
dmlld3BvcnRTaXplKCk7Ci0gICAgICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8TGF5b3V0VW5p
dD4oc3RkOjptYXgodmlld3BvcnRTaXplLndpZHRoKCksIHZpZXdwb3J0U2l6ZS5oZWlnaHQoKSkg
KiBsZW5ndGgudmlld3BvcnRQZXJjZW50YWdlTGVuZ3RoKCkgLyAxMDAuMGYpOworICAgICAgICAg
ICAgcmV0dXJuIExheW91dFVuaXQoc3RkOjptYXgodmlld3BvcnRTaXplLndpZHRoKCksIHZpZXdw
b3J0U2l6ZS5oZWlnaHQoKSkgKiBsZW5ndGgudmlld3BvcnRQZXJjZW50YWdlTGVuZ3RoKCkgLyAx
MDAuMGYpOwogICAgICAgICB9CiAgICAgICAgIHJldHVybiAwOwogICAgIGNhc2UgRmlsbEF2YWls
YWJsZToKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcAppbmRleCAwNzU4ZTI3MmFmZGFjMWE4NWMw
OGRhNDhhMzY3MzAyOWNhNGZjMzUwLi4zNzk2NDI3NTcxZmY0ZTZkMzBhYjY3MTg0NGY3YWNlOTE0
ZWZhMDlmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCkBAIC0zNzMwLDEwICszNzMwLDgg
QEAgdm9pZCBGcmFtZVZpZXc6OmZvcmNlTGF5b3V0Rm9yUGFnaW5hdGlvbihjb25zdCBGbG9hdFNp
emUmIHBhZ2VTaXplLCBjb25zdCBGbG9hdFMKICAgICAgICAgZmxvYXQgcGFnZUxvZ2ljYWxXaWR0
aCA9IHJlbmRlclZpZXctPnN0eWxlKCkuaXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSA/IHBhZ2VT
aXplLndpZHRoKCkgOiBwYWdlU2l6ZS5oZWlnaHQoKTsKICAgICAgICAgZmxvYXQgcGFnZUxvZ2lj
YWxIZWlnaHQgPSByZW5kZXJWaWV3LT5zdHlsZSgpLmlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkg
PyBwYWdlU2l6ZS5oZWlnaHQoKSA6IHBhZ2VTaXplLndpZHRoKCk7CiAKLSAgICAgICAgTGF5b3V0
VW5pdCBmbG9vcmVkUGFnZUxvZ2ljYWxXaWR0aCA9IHN0YXRpY19jYXN0PExheW91dFVuaXQ+KHBh
Z2VMb2dpY2FsV2lkdGgpOwotICAgICAgICBMYXlvdXRVbml0IGZsb29yZWRQYWdlTG9naWNhbEhl
aWdodCA9IHN0YXRpY19jYXN0PExheW91dFVuaXQ+KHBhZ2VMb2dpY2FsSGVpZ2h0KTsKLSAgICAg
ICAgcmVuZGVyVmlldy0+c2V0TG9naWNhbFdpZHRoKGZsb29yZWRQYWdlTG9naWNhbFdpZHRoKTsK
LSAgICAgICAgcmVuZGVyVmlldy0+c2V0UGFnZUxvZ2ljYWxIZWlnaHQoZmxvb3JlZFBhZ2VMb2dp
Y2FsSGVpZ2h0KTsKKyAgICAgICAgcmVuZGVyVmlldy0+c2V0TG9naWNhbFdpZHRoKGZsb29yKHBh
Z2VMb2dpY2FsV2lkdGgpKTsKKyAgICAgICAgcmVuZGVyVmlldy0+c2V0UGFnZUxvZ2ljYWxIZWln
aHQoZmxvb3IocGFnZUxvZ2ljYWxIZWlnaHQpKTsKICAgICAgICAgcmVuZGVyVmlldy0+c2V0TmVl
ZHNMYXlvdXRBbmRQcmVmV2lkdGhzUmVjYWxjKCk7CiAgICAgICAgIGZvcmNlTGF5b3V0KCk7CiAK
QEAgLTM3NTEsMTAgKzM3NDksOCBAQCB2b2lkIEZyYW1lVmlldzo6Zm9yY2VMYXlvdXRGb3JQYWdp
bmF0aW9uKGNvbnN0IEZsb2F0U2l6ZSYgcGFnZVNpemUsIGNvbnN0IEZsb2F0UwogICAgICAgICAg
ICAgcGFnZUxvZ2ljYWxXaWR0aCA9IGhvcml6b250YWxXcml0aW5nTW9kZSA/IG1heFBhZ2VTaXpl
LndpZHRoKCkgOiBtYXhQYWdlU2l6ZS5oZWlnaHQoKTsKICAgICAgICAgICAgIHBhZ2VMb2dpY2Fs
SGVpZ2h0ID0gaG9yaXpvbnRhbFdyaXRpbmdNb2RlID8gbWF4UGFnZVNpemUuaGVpZ2h0KCkgOiBt
YXhQYWdlU2l6ZS53aWR0aCgpOwogCi0gICAgICAgICAgICBmbG9vcmVkUGFnZUxvZ2ljYWxXaWR0
aCA9IHN0YXRpY19jYXN0PExheW91dFVuaXQ+KHBhZ2VMb2dpY2FsV2lkdGgpOwotICAgICAgICAg
ICAgZmxvb3JlZFBhZ2VMb2dpY2FsSGVpZ2h0ID0gc3RhdGljX2Nhc3Q8TGF5b3V0VW5pdD4ocGFn
ZUxvZ2ljYWxIZWlnaHQpOwotICAgICAgICAgICAgcmVuZGVyVmlldy0+c2V0TG9naWNhbFdpZHRo
KGZsb29yZWRQYWdlTG9naWNhbFdpZHRoKTsKLSAgICAgICAgICAgIHJlbmRlclZpZXctPnNldFBh
Z2VMb2dpY2FsSGVpZ2h0KGZsb29yZWRQYWdlTG9naWNhbEhlaWdodCk7CisgICAgICAgICAgICBy
ZW5kZXJWaWV3LT5zZXRMb2dpY2FsV2lkdGgoZmxvb3IocGFnZUxvZ2ljYWxXaWR0aCkpOworICAg
ICAgICAgICAgcmVuZGVyVmlldy0+c2V0UGFnZUxvZ2ljYWxIZWlnaHQoZmxvb3IocGFnZUxvZ2lj
YWxIZWlnaHQpKTsKICAgICAgICAgICAgIHJlbmRlclZpZXctPnNldE5lZWRzTGF5b3V0QW5kUHJl
ZldpZHRoc1JlY2FsYygpOwogICAgICAgICAgICAgZm9yY2VMYXlvdXQoKTsKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0lubGluZUZsb3dCb3guY3BwIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL0lubGluZUZsb3dCb3guY3BwCmluZGV4IDZhMDYzNGM2MzIxZDYwNWJh
NTAwYWVmZDcxMWQ2YjQyZjAwYWRkMmIuLjEyZmI2MTM2OGYxNGFlZWM1NGZhOGY4ZDg5OTkxODcz
MTMyM2EyYTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9JbmxpbmVGbG93
Qm94LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSW5saW5lRmxvd0JveC5jcHAK
QEAgLTEyMTgsOCArMTIxOCw4IEBAIHZvaWQgSW5saW5lRmxvd0JveDo6cGFpbnRGaWxsTGF5ZXIo
Y29uc3QgUGFpbnRJbmZvJiBwYWludEluZm8sIGNvbnN0IENvbG9yJiBjLCBjCiAgICAgICAgIH0K
ICAgICAgICAgTGF5b3V0VW5pdCBzdHJpcFggPSByZWN0LngoKSAtIChpc0hvcml6b250YWwoKSA/
IGxvZ2ljYWxPZmZzZXRPbkxpbmUgOiBMYXlvdXRVbml0KCkpOwogICAgICAgICBMYXlvdXRVbml0
IHN0cmlwWSA9IHJlY3QueSgpIC0gKGlzSG9yaXpvbnRhbCgpID8gTGF5b3V0VW5pdCgpIDogbG9n
aWNhbE9mZnNldE9uTGluZSk7Ci0gICAgICAgIExheW91dFVuaXQgc3RyaXBXaWR0aCA9IGlzSG9y
aXpvbnRhbCgpID8gdG90YWxMb2dpY2FsV2lkdGggOiBzdGF0aWNfY2FzdDxMYXlvdXRVbml0Pih3
aWR0aCgpKTsKLSAgICAgICAgTGF5b3V0VW5pdCBzdHJpcEhlaWdodCA9IGlzSG9yaXpvbnRhbCgp
ID8gc3RhdGljX2Nhc3Q8TGF5b3V0VW5pdD4oaGVpZ2h0KCkpIDogdG90YWxMb2dpY2FsV2lkdGg7
CisgICAgICAgIExheW91dFVuaXQgc3RyaXBXaWR0aCA9IGlzSG9yaXpvbnRhbCgpID8gdG90YWxM
b2dpY2FsV2lkdGggOiBMYXlvdXRVbml0KHdpZHRoKCkpOworICAgICAgICBMYXlvdXRVbml0IHN0
cmlwSGVpZ2h0ID0gaXNIb3Jpem9udGFsKCkgPyBMYXlvdXRVbml0KGhlaWdodCgpKSA6IHRvdGFs
TG9naWNhbFdpZHRoOwogCiAgICAgICAgIEdyYXBoaWNzQ29udGV4dFN0YXRlU2F2ZXIgc3RhdGVT
YXZlcigqcGFpbnRJbmZvLmNvbnRleHQpOwogICAgICAgICBwYWludEluZm8uY29udGV4dC0+Y2xp
cChMYXlvdXRSZWN0KHJlY3QueCgpLCByZWN0LnkoKSwgd2lkdGgoKSwgaGVpZ2h0KCkpKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9JbmxpbmVGbG93Qm94LmggYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvSW5saW5lRmxvd0JveC5oCmluZGV4IGI2NDk5MzQ5MjM5MGE4
MTE1MWExNzdiMTJlNDkyZDQ3NTQxMzNjOTAuLmYwZWFiY2IzNThlYTZiZDQ0ZDhhNjc3YTJmZmQ0
YTNlYTk4MDE5ODUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9JbmxpbmVG
bG93Qm94LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0lubGluZUZsb3dCb3guaApA
QCAtMjQ4LDggKzI0OCw4IEBAIHB1YmxpYzoKICAgICB7IAogICAgICAgICByZXR1cm4gbV9vdmVy
ZmxvdyA/IG1fb3ZlcmZsb3ctPnZpc3VhbE92ZXJmbG93UmVjdCgpIDogZW5jbG9zaW5nTGF5b3V0
UmVjdChmcmFtZVJlY3RJbmNsdWRpbmdMaW5lSGVpZ2h0KGxpbmVUb3AsIGxpbmVCb3R0b20pKTsK
ICAgICB9Ci0gICAgTGF5b3V0VW5pdCBsb2dpY2FsTGVmdFZpc3VhbE92ZXJmbG93KCkgY29uc3Qg
eyByZXR1cm4gbV9vdmVyZmxvdyA/IChpc0hvcml6b250YWwoKSA/IG1fb3ZlcmZsb3ctPnZpc3Vh
bE92ZXJmbG93UmVjdCgpLngoKSA6IG1fb3ZlcmZsb3ctPnZpc3VhbE92ZXJmbG93UmVjdCgpLnko
KSkgOiBzdGF0aWNfY2FzdDxMYXlvdXRVbml0Pihsb2dpY2FsTGVmdCgpKTsgfQotICAgIExheW91
dFVuaXQgbG9naWNhbFJpZ2h0VmlzdWFsT3ZlcmZsb3coKSBjb25zdCB7IHJldHVybiBtX292ZXJm
bG93ID8gKGlzSG9yaXpvbnRhbCgpID8gbV9vdmVyZmxvdy0+dmlzdWFsT3ZlcmZsb3dSZWN0KCku
bWF4WCgpIDogbV9vdmVyZmxvdy0+dmlzdWFsT3ZlcmZsb3dSZWN0KCkubWF4WSgpKSA6IHN0YXRp
Y19jYXN0PExheW91dFVuaXQ+KGNlaWxmKGxvZ2ljYWxSaWdodCgpKSk7IH0KKyAgICBMYXlvdXRV
bml0IGxvZ2ljYWxMZWZ0VmlzdWFsT3ZlcmZsb3coKSBjb25zdCB7IHJldHVybiBtX292ZXJmbG93
ID8gKGlzSG9yaXpvbnRhbCgpID8gbV9vdmVyZmxvdy0+dmlzdWFsT3ZlcmZsb3dSZWN0KCkueCgp
IDogbV9vdmVyZmxvdy0+dmlzdWFsT3ZlcmZsb3dSZWN0KCkueSgpKSA6IExheW91dFVuaXQobG9n
aWNhbExlZnQoKSk7IH0KKyAgICBMYXlvdXRVbml0IGxvZ2ljYWxSaWdodFZpc3VhbE92ZXJmbG93
KCkgY29uc3QgeyByZXR1cm4gbV9vdmVyZmxvdyA/IChpc0hvcml6b250YWwoKSA/IG1fb3ZlcmZs
b3ctPnZpc3VhbE92ZXJmbG93UmVjdCgpLm1heFgoKSA6IG1fb3ZlcmZsb3ctPnZpc3VhbE92ZXJm
bG93UmVjdCgpLm1heFkoKSkgOiBMYXlvdXRVbml0KGNlaWxmKGxvZ2ljYWxSaWdodCgpKSk7IH0K
ICAgICBMYXlvdXRVbml0IGxvZ2ljYWxUb3BWaXN1YWxPdmVyZmxvdyhMYXlvdXRVbml0IGxpbmVU
b3ApIGNvbnN0CiAgICAgewogICAgICAgICBpZiAobV9vdmVyZmxvdykKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9JbmxpbmVUZXh0Qm94LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9JbmxpbmVUZXh0Qm94LmNwcAppbmRleCBkNDE0ODhiY2RjMzRlNWJmYWUwNjU3
ZDY4ZTFhZDNlYzA4ZGVhNjQxLi4yOGFjMjRkNmI4NDJiNDVmMTE2MGNhMzkzYjIzOTVmMzE2Nzc0
N2ZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSW5saW5lVGV4dEJveC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0lubGluZVRleHRCb3guY3BwCkBAIC0x
OTYsOCArMTk2LDggQEAgTGF5b3V0VW5pdCBJbmxpbmVUZXh0Qm94OjpzZWxlY3Rpb25IZWlnaHQo
KSBjb25zdAogCiBib29sIElubGluZVRleHRCb3g6OmlzU2VsZWN0ZWQoaW50IHN0YXJ0UG9zLCBp
bnQgZW5kUG9zKSBjb25zdAogewotICAgIExheW91dFVuaXQgc1BvcyA9IHN0ZDo6bWF4PExheW91
dFVuaXQ+KHN0YXJ0UG9zIC0gbV9zdGFydCwgMCk7Ci0gICAgTGF5b3V0VW5pdCBlUG9zID0gc3Rk
OjptaW48TGF5b3V0VW5pdD4oZW5kUG9zIC0gbV9zdGFydCwgbV9sZW4pOworICAgIGludCBzUG9z
ID0gc3RkOjptYXgoc3RhcnRQb3MgLSBtX3N0YXJ0LCAwKTsKKyAgICBpbnQgZVBvcyA9IHN0ZDo6
bWluKGVuZFBvcyAtIG1fc3RhcnQsIHN0YXRpY19jYXN0PGludD4obV9sZW4pKTsKICAgICByZXR1
cm4gKHNQb3MgPCBlUG9zKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckJsb2NrLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9j
ay5jcHAKaW5kZXggYzVmNTdmNjI1ZTY0NGJjMjdiYzE3ZDYwNzRmZDdjMTMwMTVhNTk5OC4uZmZh
MjY4ODY3MGFlYjhjYWVkZThmYTYxYTkyZThlMzI5OTdmM2E1MyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwCkBAIC0zNDk2LDcgKzM0OTYsNyBAQCB2b2lkIFJlbmRl
ckJsb2NrOjpjb21wdXRlQ29sdW1uQ291bnRBbmRXaWR0aCgpCiAgICAgICAgIAogICAgIExheW91
dFVuaXQgYXZhaWxXaWR0aCA9IGRlc2lyZWRDb2x1bW5XaWR0aDsKICAgICBMYXlvdXRVbml0IGNv
bEdhcCA9IGNvbHVtbkdhcCgpOwotICAgIExheW91dFVuaXQgY29sV2lkdGggPSBzdGQ6Om1heDxM
YXlvdXRVbml0PigxLCBMYXlvdXRVbml0KHN0eWxlKCkuY29sdW1uV2lkdGgoKSkpOworICAgIExh
eW91dFVuaXQgY29sV2lkdGggPSBzdGQ6Om1heDxMYXlvdXRVbml0PihMYXlvdXRVbml0Ojpmcm9t
UGl4ZWwoMSksIExheW91dFVuaXQoc3R5bGUoKS5jb2x1bW5XaWR0aCgpKSk7CiAgICAgaW50IGNv
bENvdW50ID0gc3RkOjptYXg8aW50PigxLCBzdHlsZSgpLmNvbHVtbkNvdW50KCkpOwogCiAgICAg
aWYgKHN0eWxlKCkuaGFzQXV0b0NvbHVtbldpZHRoKCkgJiYgIXN0eWxlKCkuaGFzQXV0b0NvbHVt
bkNvdW50KCkpIHsKQEAgLTQwMDgsNyArNDAwOCw3IEBAIFJlbmRlck9iamVjdCogSW5saW5lTWlu
TWF4SXRlcmF0b3I6Om5leHQoKQogc3RhdGljIExheW91dFVuaXQgZ2V0QlBNV2lkdGgoTGF5b3V0
VW5pdCBjaGlsZFZhbHVlLCBMZW5ndGggY3NzVW5pdCkKIHsKICAgICBpZiAoY3NzVW5pdC50eXBl
KCkgIT0gQXV0bykKLSAgICAgICAgcmV0dXJuIChjc3NVbml0LmlzRml4ZWQoKSA/IHN0YXRpY19j
YXN0PExheW91dFVuaXQ+KGNzc1VuaXQudmFsdWUoKSkgOiBjaGlsZFZhbHVlKTsKKyAgICAgICAg
cmV0dXJuIChjc3NVbml0LmlzRml4ZWQoKSA/IExheW91dFVuaXQoY3NzVW5pdC52YWx1ZSgpKSA6
IGNoaWxkVmFsdWUpOwogICAgIHJldHVybiAwOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2tGbG93LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJCbG9ja0Zsb3cuY3BwCmluZGV4IGE4YTU2NWFlMzFhYjYyOWUxNjU1N2QyODJi
MmFmNWI2YmI4MDhmZTkuLjUzZGYyZDMwNWE3OGM4ODBlMWVjNzE1NjMzYjQ1Mjk5OTc5MjVmYmMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0Zsb3cuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0Zsb3cuY3BwCkBAIC0y
NzE4LDkgKzI3MTgsOSBAQCB2b2lkIFJlbmRlckJsb2NrRmxvdzo6YWRqdXN0Rm9yQm9yZGVyRml0
KExheW91dFVuaXQgeCwgTGF5b3V0VW5pdCYgbGVmdCwgTGF5b3V0VQogCiAgICAgICAgIGZvciAo
YXV0byBib3ggPSBmaXJzdFJvb3RCb3goKTsgYm94OyBib3ggPSBib3gtPm5leHRSb290Qm94KCkp
IHsKICAgICAgICAgICAgIGlmIChib3gtPmZpcnN0Q2hpbGQoKSkKLSAgICAgICAgICAgICAgICBs
ZWZ0ID0gc3RkOjptaW4obGVmdCwgeCArIHN0YXRpY19jYXN0PExheW91dFVuaXQ+KGJveC0+Zmly
c3RDaGlsZCgpLT54KCkpKTsKKyAgICAgICAgICAgICAgICBsZWZ0ID0gc3RkOjptaW4obGVmdCwg
eCArIExheW91dFVuaXQoYm94LT5maXJzdENoaWxkKCktPngoKSkpOwogICAgICAgICAgICAgaWYg
KGJveC0+bGFzdENoaWxkKCkpCi0gICAgICAgICAgICAgICAgcmlnaHQgPSBzdGQ6Om1heChyaWdo
dCwgeCArIHN0YXRpY19jYXN0PExheW91dFVuaXQ+KGNlaWxmKGJveC0+bGFzdENoaWxkKCktPmxv
Z2ljYWxSaWdodCgpKSkpOworICAgICAgICAgICAgICAgIHJpZ2h0ID0gc3RkOjptYXgocmlnaHQs
IHggKyBMYXlvdXRVbml0KGNlaWxmKGJveC0+bGFzdENoaWxkKCktPmxvZ2ljYWxSaWdodCgpKSkp
OwogICAgICAgICB9CiAgICAgfSBlbHNlIHsKICAgICAgICAgZm9yIChSZW5kZXJCb3gqIG9iaiA9
IGZpcnN0Q2hpbGRCb3goKTsgb2JqOyBvYmogPSBvYmotPm5leHRTaWJsaW5nQm94KCkpIHsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJEZXByZWNhdGVkRmxleGli
bGVCb3guY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckRlcHJlY2F0ZWRGbGV4
aWJsZUJveC5jcHAKaW5kZXggMDdkMWJiMzI0Yjg0MmI1NWI2MGJlNTAyZGY1YjA2NzAzN2QxYTBh
NC4uM2RjZDllMDNmMmViZTQ2ZGE4MDgwYmM2YWFkMzZlM2NmNDRlNWU1NSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckRlcHJlY2F0ZWRGbGV4aWJsZUJveC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckRlcHJlY2F0ZWRGbGV4aWJsZUJv
eC5jcHAKQEAgLTgzMyw3ICs4MzMsNyBAQCB2b2lkIFJlbmRlckRlcHJlY2F0ZWRGbGV4aWJsZUJv
eDo6bGF5b3V0VmVydGljYWxCb3goYm9vbCByZWxheW91dENoaWxkcmVuKQogICAgICAgICAgICAg
ICAgICAgICBmb3IgKFJlbmRlckJveCogY2hpbGQgPSBpdGVyYXRvci5maXJzdCgpOyBjaGlsZDsg
Y2hpbGQgPSBpdGVyYXRvci5uZXh0KCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgIExheW91
dFVuaXQgYWxsb3dlZEZsZXggPSBhbGxvd2VkQ2hpbGRGbGV4KGNoaWxkLCBleHBhbmRpbmcsIGkp
OwogICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGFsbG93ZWRGbGV4KSB7Ci0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgTGF5b3V0VW5pdCBwcm9qZWN0ZWRGbGV4ID0gKGFsbG93ZWRGbGV4
ID09IExheW91dFVuaXQ6Om1heCgpKSA/IGFsbG93ZWRGbGV4IDogc3RhdGljX2Nhc3Q8TGF5b3V0
VW5pdD4oYWxsb3dlZEZsZXggKiAodG90YWxGbGV4IC8gY2hpbGQtPnN0eWxlKCkuYm94RmxleCgp
KSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGF5b3V0VW5pdCBwcm9qZWN0ZWRGbGV4
ID0gKGFsbG93ZWRGbGV4ID09IExheW91dFVuaXQ6Om1heCgpKSA/IGFsbG93ZWRGbGV4IDogTGF5
b3V0VW5pdChhbGxvd2VkRmxleCAqICh0b3RhbEZsZXggLyBjaGlsZC0+c3R5bGUoKS5ib3hGbGV4
KCkpKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzcGFjZUF2YWlsYWJsZVRoaXNQYXNz
ID0gZXhwYW5kaW5nID8gc3RkOjptaW4oc3BhY2VBdmFpbGFibGVUaGlzUGFzcywgcHJvamVjdGVk
RmxleCkgOiBzdGQ6Om1heChzcGFjZUF2YWlsYWJsZVRoaXNQYXNzLCBwcm9qZWN0ZWRGbGV4KTsK
ICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgfQpAQCAtODQ4
LDcgKzg0OCw3IEBAIHZvaWQgUmVuZGVyRGVwcmVjYXRlZEZsZXhpYmxlQm94OjpsYXlvdXRWZXJ0
aWNhbEJveChib29sIHJlbGF5b3V0Q2hpbGRyZW4pCiAgICAgICAgICAgICAgICAgICAgIC8vIE5v
dyBkaXN0cmlidXRlIHRoZSBzcGFjZSB0byBvYmplY3RzLgogICAgICAgICAgICAgICAgICAgICBm
b3IgKFJlbmRlckJveCogY2hpbGQgPSBpdGVyYXRvci5maXJzdCgpOyBjaGlsZCAmJiBzcGFjZUF2
YWlsYWJsZVRoaXNQYXNzICYmIHRvdGFsRmxleDsgY2hpbGQgPSBpdGVyYXRvci5uZXh0KCkpIHsK
ICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChhbGxvd2VkQ2hpbGRGbGV4KGNoaWxkLCBleHBh
bmRpbmcsIGkpKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgTGF5b3V0VW5pdCBzcGFj
ZUFkZCA9IHN0YXRpY19jYXN0PExheW91dFVuaXQ+KHNwYWNlQXZhaWxhYmxlVGhpc1Bhc3MgKiAo
Y2hpbGQtPnN0eWxlKCkuYm94RmxleCgpIC8gdG90YWxGbGV4KSk7CisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgTGF5b3V0VW5pdCBzcGFjZUFkZCA9IHNwYWNlQXZhaWxhYmxlVGhpc1Bhc3Mg
KiAoY2hpbGQtPnN0eWxlKCkuYm94RmxleCgpIC8gdG90YWxGbGV4KTsKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpZiAoc3BhY2VBZGQpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY2hpbGQtPnNldE92ZXJyaWRlTG9naWNhbENvbnRlbnRIZWlnaHQoY29udGVudEhlaWdo
dEZvckNoaWxkKGNoaWxkKSArIHNwYWNlQWRkKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgZmxleGluZ0NoaWxkcmVuID0gdHJ1ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJGaWVsZHNldC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyRmllbGRzZXQuY3BwCmluZGV4IGM3MGI1YTNjMTNmNjI3YzhlMjBjZDMzOWFkMjIxYzU2
ODAwNTM4NTcuLjIzZGM4MTE0NmQxZmQ5YzE5YTNhOWYxM2I0MjdiMTE2N2U0MjY5ZGYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGaWVsZHNldC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZpZWxkc2V0LmNwcApAQCAtMTc2LDExICsx
NzYsMTEgQEAgdm9pZCBSZW5kZXJGaWVsZHNldDo6cGFpbnRCb3hEZWNvcmF0aW9ucyhQYWludElu
Zm8mIHBhaW50SW5mbywgY29uc3QgTGF5b3V0UG9pbnQKICAgICAvLyBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDcyMzYKICAgICBpZiAoc3R5bGUoKS5pc0hvcml6b250
YWxXcml0aW5nTW9kZSgpKSB7CiAgICAgICAgIExheW91dFVuaXQgY2xpcFRvcCA9IHBhaW50UmVj
dC55KCk7Ci0gICAgICAgIExheW91dFVuaXQgY2xpcEhlaWdodCA9IHN0ZDo6bWF4KHN0YXRpY19j
YXN0PExheW91dFVuaXQ+KHN0eWxlKCkuYm9yZGVyVG9wV2lkdGgoKSksIGxlZ2VuZC0+aGVpZ2h0
KCkgLSAoKGxlZ2VuZC0+aGVpZ2h0KCkgLSBib3JkZXJUb3AoKSkgLyAyKSk7CisgICAgICAgIExh
eW91dFVuaXQgY2xpcEhlaWdodCA9IHN0ZDo6bWF4PExheW91dFVuaXQ+KHN0eWxlKCkuYm9yZGVy
VG9wV2lkdGgoKSwgbGVnZW5kLT5oZWlnaHQoKSAtICgobGVnZW5kLT5oZWlnaHQoKSAtIGJvcmRl
clRvcCgpKSAvIDIpKTsKICAgICAgICAgZ3JhcGhpY3NDb250ZXh0LT5jbGlwT3V0KHBpeGVsU25h
cHBlZEludFJlY3QocGFpbnRSZWN0LngoKSArIGxlZ2VuZC0+eCgpLCBjbGlwVG9wLCBsZWdlbmQt
PndpZHRoKCksIGNsaXBIZWlnaHQpKTsKICAgICB9IGVsc2UgewogICAgICAgICBMYXlvdXRVbml0
IGNsaXBMZWZ0ID0gcGFpbnRSZWN0LngoKTsKLSAgICAgICAgTGF5b3V0VW5pdCBjbGlwV2lkdGgg
PSBzdGQ6Om1heChzdGF0aWNfY2FzdDxMYXlvdXRVbml0PihzdHlsZSgpLmJvcmRlckxlZnRXaWR0
aCgpKSwgbGVnZW5kLT53aWR0aCgpKTsKKyAgICAgICAgTGF5b3V0VW5pdCBjbGlwV2lkdGggPSBz
dGQ6Om1heDxMYXlvdXRVbml0PihzdHlsZSgpLmJvcmRlckxlZnRXaWR0aCgpLCBsZWdlbmQtPndp
ZHRoKCkpOwogICAgICAgICBncmFwaGljc0NvbnRleHQtPmNsaXBPdXQocGl4ZWxTbmFwcGVkSW50
UmVjdChjbGlwTGVmdCwgcGFpbnRSZWN0LnkoKSArIGxlZ2VuZC0+eSgpLCBjbGlwV2lkdGgsIGxl
Z2VuZC0+aGVpZ2h0KCkpKTsKICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJUYWJsZS5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRh
YmxlLmgKaW5kZXggMzcyMjBhNjE3MWM2OTgyYmUyMTNiMGMyYTkyMTZkMWVjYWE3Nzc3Yi4uYTQ0
NmU0NTkxMGRkOTJiYTQxMjY5ODViNGJjZGM1NjExZTk4MjYzMSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlclRhYmxlLmgKQEAgLTE5MSw3ICsxOTEsNyBAQCBwdWJsaWM6CiAgICAgTGF5
b3V0VW5pdCBib3JkZXJTcGFjaW5nSW5Sb3dEaXJlY3Rpb24oKSBjb25zdAogICAgIHsKICAgICAg
ICAgaWYgKHVuc2lnbmVkIGVmZmVjdGl2ZUNvbHVtbkNvdW50ID0gbnVtRWZmQ29scygpKQotICAg
ICAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PExheW91dFVuaXQ+KGVmZmVjdGl2ZUNvbHVtbkNv
dW50ICsgMSkgKiBoQm9yZGVyU3BhY2luZygpOworICAgICAgICAgICAgcmV0dXJuIChlZmZlY3Rp
dmVDb2x1bW5Db3VudCArIDEpICogaEJvcmRlclNwYWNpbmcoKTsKIAogICAgICAgICByZXR1cm4g
MDsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4
dENvbnRyb2xNdWx0aUxpbmUuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRl
eHRDb250cm9sTXVsdGlMaW5lLmNwcAppbmRleCBmYThkOGE4MDFhNDUxNTc3ZjY0MDIzNWQzZTk4
MmEyZmI0MThjNDVkLi45Mjk0MDUxMmY5Njc4NDIxZDk2NDQwN2E3ZjRlN2QyZDYxZmYxOThmIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dENvbnRyb2xNdWx0
aUxpbmUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0Q29udHJv
bE11bHRpTGluZS5jcHAKQEAgLTc0LDcgKzc0LDcgQEAgZmxvYXQgUmVuZGVyVGV4dENvbnRyb2xN
dWx0aUxpbmU6OmdldEF2Z0NoYXJXaWR0aChBdG9taWNTdHJpbmcgZmFtaWx5KQogCiBMYXlvdXRV
bml0IFJlbmRlclRleHRDb250cm9sTXVsdGlMaW5lOjpwcmVmZXJyZWRDb250ZW50TG9naWNhbFdp
ZHRoKGZsb2F0IGNoYXJXaWR0aCkgY29uc3QKIHsKLSAgICByZXR1cm4gc3RhdGljX2Nhc3Q8TGF5
b3V0VW5pdD4oY2VpbGYoY2hhcldpZHRoICogdGV4dEFyZWFFbGVtZW50KCkuY29scygpKSkgKyBz
Y3JvbGxiYXJUaGlja25lc3MoKTsKKyAgICByZXR1cm4gY2VpbGYoY2hhcldpZHRoICogdGV4dEFy
ZWFFbGVtZW50KCkuY29scygpKSArIHNjcm9sbGJhclRoaWNrbmVzcygpOwogfQogCiBMYXlvdXRV
bml0IFJlbmRlclRleHRDb250cm9sTXVsdGlMaW5lOjpjb21wdXRlQ29udHJvbExvZ2ljYWxIZWln
aHQoTGF5b3V0VW5pdCBsaW5lSGVpZ2h0LCBMYXlvdXRVbml0IG5vbkNvbnRlbnRIZWlnaHQpIGNv
bnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dENvbnRy
b2xTaW5nbGVMaW5lLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0Q29u
dHJvbFNpbmdsZUxpbmUuY3BwCmluZGV4IDZhZTczYmE4ODdmYTE2NGNmYzUwYzM2ZDliNTY4OTU0
NDJkZGJiMDYuLmJjMDA4ZThmNzUwY2NmNmJhYTc5NWU1MjY5ZjAxMjcyNmVmYjVjNTQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0Q29udHJvbFNpbmdsZUxp
bmUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0Q29udHJvbFNp
bmdsZUxpbmUuY3BwCkBAIC0zMzMsNyArMzMzLDcgQEAgTGF5b3V0VW5pdCBSZW5kZXJUZXh0Q29u
dHJvbFNpbmdsZUxpbmU6OnByZWZlcnJlZENvbnRlbnRMb2dpY2FsV2lkdGgoZmxvYXQgY2hhclcK
ICAgICBpZiAoZmFjdG9yIDw9IDApCiAgICAgICAgIGZhY3RvciA9IDIwOwogCi0gICAgTGF5b3V0
VW5pdCByZXN1bHQgPSBzdGF0aWNfY2FzdDxMYXlvdXRVbml0PihjZWlsZWRMYXlvdXRVbml0KGNo
YXJXaWR0aCAqIGZhY3RvcikpOworICAgIExheW91dFVuaXQgcmVzdWx0ID0gY2VpbGVkTGF5b3V0
VW5pdChjaGFyV2lkdGggKiBmYWN0b3IpOwogCiAgICAgZmxvYXQgbWF4Q2hhcldpZHRoID0gMC5m
OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUm9vdElubGluZUJveC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUm9vdElubGluZUJveC5jcHAKaW5kZXggNzRk
YTZlYjYxMjJmN2M0ODdiZDdmOTk4ZDJhNzE1ZGMyNGEyODkwNy4uOWUxMjcxMGRmYzU1ODQ3NDRl
MDRiYjQwYmJmN2JhOGRlZDA3MWU3NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1Jvb3RJbmxpbmVCb3guY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9Sb290
SW5saW5lQm94LmNwcApAQCAtMzI0LDEyICszMjQsMTIgQEAgTGF5b3V0VW5pdCBSb290SW5saW5l
Qm94OjpiZWZvcmVBbm5vdGF0aW9uc0FkanVzdG1lbnQoKSBjb25zdAogICAgICAgICAgICAgcmV0
dXJuIHJlc3VsdDsKIAogICAgICAgICAvLyBBbm5vdGF0aW9ucyBvdmVyIHRoaXMgbGluZSBtYXkg
cHVzaCB1cyBmdXJ0aGVyIGRvd24uCi0gICAgICAgIExheW91dFVuaXQgaGlnaGVzdEFsbG93ZWRQ
b3NpdGlvbiA9IHByZXZSb290Qm94KCkgPyBzdGQ6Om1pbihwcmV2Um9vdEJveCgpLT5saW5lQm90
dG9tKCksIGxpbmVUb3AoKSkgKyByZXN1bHQgOiBzdGF0aWNfY2FzdDxMYXlvdXRVbml0PihibG9j
a0Zsb3coKS5ib3JkZXJCZWZvcmUoKSk7CisgICAgICAgIExheW91dFVuaXQgaGlnaGVzdEFsbG93
ZWRQb3NpdGlvbiA9IHByZXZSb290Qm94KCkgPyBzdGQ6Om1pbihwcmV2Um9vdEJveCgpLT5saW5l
Qm90dG9tKCksIGxpbmVUb3AoKSkgKyByZXN1bHQgOiBibG9ja0Zsb3coKS5ib3JkZXJCZWZvcmUo
KTsKICAgICAgICAgcmVzdWx0ID0gY29tcHV0ZU92ZXJBbm5vdGF0aW9uQWRqdXN0bWVudChoaWdo
ZXN0QWxsb3dlZFBvc2l0aW9uKTsKICAgICB9IGVsc2UgewogICAgICAgICAvLyBBbm5vdGF0aW9u
cyB1bmRlciB0aGlzIGxpbmUgbWF5IHB1c2ggdXMgdXAuCiAgICAgICAgIGlmIChoYXNBbm5vdGF0
aW9uc0JlZm9yZSgpKQotICAgICAgICAgICAgcmVzdWx0ID0gY29tcHV0ZVVuZGVyQW5ub3RhdGlv
bkFkanVzdG1lbnQocHJldlJvb3RCb3goKSA/IHByZXZSb290Qm94KCktPmxpbmVCb3R0b20oKSA6
IHN0YXRpY19jYXN0PExheW91dFVuaXQ+KGJsb2NrRmxvdygpLmJvcmRlckJlZm9yZSgpKSk7Cisg
ICAgICAgICAgICByZXN1bHQgPSBjb21wdXRlVW5kZXJBbm5vdGF0aW9uQWRqdXN0bWVudChwcmV2
Um9vdEJveCgpID8gcHJldlJvb3RCb3goKS0+bGluZUJvdHRvbSgpIDogYmxvY2tGbG93KCkuYm9y
ZGVyQmVmb3JlKCkpOwogCiAgICAgICAgIGlmICghcHJldlJvb3RCb3goKSB8fCAhcHJldlJvb3RC
b3goKS0+aGFzQW5ub3RhdGlvbnNBZnRlcigpKQogICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDsK
QEAgLTk1NCw3ICs5NTQsNyBAQCBMYXlvdXRVbml0IFJvb3RJbmxpbmVCb3g6OnZlcnRpY2FsUG9z
aXRpb25Gb3JCb3goSW5saW5lQm94KiBib3gsIFZlcnRpY2FsUG9zaXRpbwogICAgICAgICBlbHNl
IGlmICh2ZXJ0aWNhbEFsaWduID09IFRFWFRfVE9QKQogICAgICAgICAgICAgdmVydGljYWxQb3Np
dGlvbiArPSByZW5kZXJlci0+YmFzZWxpbmVQb3NpdGlvbihiYXNlbGluZVR5cGUoKSwgZmlyc3RM
aW5lLCBsaW5lRGlyZWN0aW9uKSAtIGZvbnRNZXRyaWNzLmFzY2VudChiYXNlbGluZVR5cGUoKSk7
CiAgICAgICAgIGVsc2UgaWYgKHZlcnRpY2FsQWxpZ24gPT0gTUlERExFKQotICAgICAgICAgICAg
dmVydGljYWxQb3NpdGlvbiA9ICh2ZXJ0aWNhbFBvc2l0aW9uIC0gc3RhdGljX2Nhc3Q8TGF5b3V0
VW5pdD4oZm9udE1ldHJpY3MueEhlaWdodCgpIC8gMikgLSByZW5kZXJlci0+bGluZUhlaWdodChm
aXJzdExpbmUsIGxpbmVEaXJlY3Rpb24pIC8gMiArIHJlbmRlcmVyLT5iYXNlbGluZVBvc2l0aW9u
KGJhc2VsaW5lVHlwZSgpLCBmaXJzdExpbmUsIGxpbmVEaXJlY3Rpb24pKS5yb3VuZCgpOworICAg
ICAgICAgICAgdmVydGljYWxQb3NpdGlvbiA9ICh2ZXJ0aWNhbFBvc2l0aW9uIC0gTGF5b3V0VW5p
dChmb250TWV0cmljcy54SGVpZ2h0KCkgLyAyKSAtIHJlbmRlcmVyLT5saW5lSGVpZ2h0KGZpcnN0
TGluZSwgbGluZURpcmVjdGlvbikgLyAyICsgcmVuZGVyZXItPmJhc2VsaW5lUG9zaXRpb24oYmFz
ZWxpbmVUeXBlKCksIGZpcnN0TGluZSwgbGluZURpcmVjdGlvbikpLnJvdW5kKCk7CiAgICAgICAg
IGVsc2UgaWYgKHZlcnRpY2FsQWxpZ24gPT0gVEVYVF9CT1RUT00pIHsKICAgICAgICAgICAgIHZl
cnRpY2FsUG9zaXRpb24gKz0gZm9udE1ldHJpY3MuZGVzY2VudChiYXNlbGluZVR5cGUoKSk7CiAg
ICAgICAgICAgICAvLyBsaW5lSGVpZ2h0IC0gYmFzZWxpbmVQb3NpdGlvbiBpcyBhbHdheXMgMCBm
b3IgcmVwbGFjZWQgZWxlbWVudHMgKGV4Y2VwdCBpbmxpbmUgYmxvY2tzKSwgc28gZG9uJ3QgYm90
aGVyIHdhc3RpbmcgdGltZSBpbiB0aGF0IGNhc2UuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jvb3QuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL3N2Zy9SZW5kZXJTVkdSb290LmNwcAppbmRleCBmMTVhYTViNGY2MTIzOGRmM2YzMzY2Mzdj
MTliYzdlNDlmYzJiNjdkLi44ZTA1ZDBkNjM4N2I2OGY1NzBkYzM0ZDRjNjQxNDY1Yzk0NmJjZDQx
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jvb3Qu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUm9vdC5jcHAK
QEAgLTEzMyw3ICsxMzMsNyBAQCBib29sIFJlbmRlclNWR1Jvb3Q6OmlzRW1iZWRkZWRUaHJvdWdo
RnJhbWVDb250YWluaW5nU1ZHRG9jdW1lbnQoKSBjb25zdAogCiBzdGF0aWMgaW5saW5lIExheW91
dFVuaXQgcmVzb2x2ZUxlbmd0aEF0dHJpYnV0ZUZvclNWRyhjb25zdCBMZW5ndGgmIGxlbmd0aCwg
ZmxvYXQgc2NhbGUsIGZsb2F0IG1heFNpemUsIFJlbmRlclZpZXcqIHJlbmRlclZpZXcpCiB7Ci0g
ICAgcmV0dXJuIHN0YXRpY19jYXN0PExheW91dFVuaXQ+KHZhbHVlRm9yTGVuZ3RoKGxlbmd0aCwg
bWF4U2l6ZSwgcmVuZGVyVmlldykgKiAobGVuZ3RoLmlzRml4ZWQoKSA/IHNjYWxlIDogMSkpOwor
ICAgIHJldHVybiB2YWx1ZUZvckxlbmd0aChsZW5ndGgsIG1heFNpemUsIHJlbmRlclZpZXcpICog
KGxlbmd0aC5pc0ZpeGVkKCkgPyBzY2FsZSA6IDEpOwogfQogCiBMYXlvdXRVbml0IFJlbmRlclNW
R1Jvb3Q6OmNvbXB1dGVSZXBsYWNlZExvZ2ljYWxXaWR0aChTaG91bGRDb21wdXRlUHJlZmVycmVk
IHNob3VsZENvbXB1dGVQcmVmZXJyZWQpIGNvbnN0Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>