<?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>157281</bug_id>
          
          <creation_ts>2016-05-02 14:49:36 -0700</creation_ts>
          <short_desc>Make Length, LengthSize and LengthPoint blending not use member functions</short_desc>
          <delta_ts>2016-05-02 15:21:36 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>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>commit-queue</cc>
    
    <cc>dino</cc>
    
    <cc>dstockwell</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>glenn</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>simon.fraser</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1189521</commentid>
    <comment_count>0</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2016-05-02 14:49:36 -0700</bug_when>
    <thetext>Make Length, LengthSize and LengthBox blending not use member functions</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1189523</commentid>
    <comment_count>1</comment_count>
      <attachid>277937</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2016-05-02 14:51:20 -0700</bug_when>
    <thetext>Created attachment 277937
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1189526</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-05-02 14:52:05 -0700</bug_when>
    <thetext>Attachment 277937 did not pass style-queue:


ERROR: Source/WebCore/platform/Length.cpp:289:  Multi line control clauses should use braces.  [whitespace/braces] [4]
ERROR: Source/WebCore/platform/Length.cpp:292:  Multi line control clauses should use braces.  [whitespace/braces] [4]
Total errors found: 2 in 10 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1189539</commentid>
    <comment_count>3</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2016-05-02 15:21:36 -0700</bug_when>
    <thetext>https://trac.webkit.org/r200343</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>277937</attachid>
            <date>2016-05-02 14:51:20 -0700</date>
            <delta_ts>2016-05-02 14:59:23 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-157281-20160502145157.patch</filename>
            <type>text/plain</type>
            <size>19045</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjAwMzI0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjM2YzExMDIzMjgwMjNl
M2U3YTM5ZGI5NTMyYTRlMThjNDUwN2RlYy4uOWU2NTIzMTQ2OTc0YzM0YjM1NjRhNmM5ZmFiYjli
MGVjNzkwNDE5MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDQyIEBACiAyMDE2LTA1LTAyICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgogCisgICAgICAgIE1ha2UgTGVuZ3Ro
LCBMZW5ndGhTaXplIGFuZCBMZW5ndGhQb2ludCBibGVuZGluZyBub3QgdXNlIG1lbWJlciBmdW5j
dGlvbnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1
NzI4MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEhh
dmluZyBibGVuZCgpIGJlIGEgbWVtYmVyIGZ1bmN0aW9uIGlzIGFtYmlndW91cyBiZWNhdXNlIGl0
J3MgaGFyZCB0byB0ZWxsIHdoaWNoIGFyZQorICAgICAgICB0aGUgJ2Zyb20nIGFuZCAndG8nIHZh
bHVlcy4gRml4IExlbmd0aCwgTGVuZ3RoU2l6ZSBhbmQgTGVuZ3RoUG9pbnQgYWNjb3JkaW5nbHku
CisKKyAgICAgICAgTm8gYmVoYXZpb3IgY2hhbmdlLgorCisgICAgICAgICogcGFnZS9hbmltYXRp
b24vQ1NTUHJvcGVydHlBbmltYXRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6YmxlbmRGdW5j
KToKKyAgICAgICAgKiBwbGF0Zm9ybS9MZW5ndGguY3BwOgorICAgICAgICAoV2ViQ29yZTo6Ymxl
bmRNaXhlZFR5cGVzKToKKyAgICAgICAgKFdlYkNvcmU6OmJsZW5kKToKKyAgICAgICAgKFdlYkNv
cmU6Okxlbmd0aDo6YmxlbmRNaXhlZFR5cGVzKTogRGVsZXRlZC4KKyAgICAgICAgKiBwbGF0Zm9y
bS9MZW5ndGguaDoKKyAgICAgICAgKFdlYkNvcmU6Okxlbmd0aDo6YmxlbmQpOiBEZWxldGVkLgor
ICAgICAgICAqIHBsYXRmb3JtL0xlbmd0aFBvaW50Lmg6CisgICAgICAgIChXZWJDb3JlOjpibGVu
ZCk6CisgICAgICAgIChXZWJDb3JlOjpMZW5ndGhQb2ludDo6YmxlbmQpOiBEZWxldGVkLgorICAg
ICAgICAqIHBsYXRmb3JtL0xlbmd0aFNpemUuaDoKKyAgICAgICAgKFdlYkNvcmU6OmJsZW5kKToK
KyAgICAgICAgKFdlYkNvcmU6Okxlbmd0aFNpemU6OmJsZW5kKTogRGVsZXRlZC4KKyAgICAgICAg
KiBwbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZpbHRlck9wZXJhdGlvbi5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpCbHVyRmlsdGVyT3BlcmF0aW9uOjpibGVuZCk6CisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9UcmFuc2xhdGVUcmFuc2Zvcm1PcGVyYXRpb24uY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6VHJhbnNsYXRlVHJhbnNmb3JtT3BlcmF0aW9uOjpibGVuZCk6Cisg
ICAgICAgICogcmVuZGVyaW5nL3N0eWxlL0Jhc2ljU2hhcGVzLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkJhc2ljU2hhcGVQb2x5Z29uOjpibGVuZCk6CisgICAgICAgIChXZWJDb3JlOjpCYXNpY1No
YXBlSW5zZXQ6OmJsZW5kKToKKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvQmFzaWNTaGFwZXMu
aDoKKyAgICAgICAgKFdlYkNvcmU6OkJhc2ljU2hhcGVDZW50ZXJDb29yZGluYXRlOjpibGVuZCk6
CisgICAgICAgIChXZWJDb3JlOjpCYXNpY1NoYXBlUmFkaXVzOjpibGVuZCk6CisKKzIwMTYtMDUt
MDIgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CisKICAgICAgICAgRml4
IHNob3VsZFVwZGF0ZVNjcm9sbExheWVyUG9zaXRpb25TeW5jaHJvbm91c2x5KCkgZm9yIG5vbi1t
YWluIGZyYW1lcy4gUmVtb3ZlIHVwZGF0ZXNTY3JvbGxMYXllclBvc2l0aW9uT25NYWluVGhyZWFk
KCkKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1NzI3
NwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9DU1NQcm9wZXJ0
eUFuaW1hdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9DU1NQcm9wZXJ0
eUFuaW1hdGlvbi5jcHAKaW5kZXggOWU5YjI3NWYzMDczMzc0MmJhZmE4MWM0OTgzOGYwZjE1Yjhj
OTZiZi4uOWZlZjkxZmUzYjgyZDlmMWMzMWU1N2IyZmRmOTJjN2NmYjEzMzJjNCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9hbmltYXRpb24vQ1NTUHJvcGVydHlBbmltYXRpb24uY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0NTU1Byb3BlcnR5QW5pbWF0aW9u
LmNwcApAQCAtODQsNyArODQsNyBAQCBzdGF0aWMgaW5saW5lIENvbG9yIGJsZW5kRnVuYyhjb25z
dCBBbmltYXRpb25CYXNlKiwgY29uc3QgQ29sb3ImIGZyb20sIGNvbnN0IENvbAogCiBzdGF0aWMg
aW5saW5lIExlbmd0aCBibGVuZEZ1bmMoY29uc3QgQW5pbWF0aW9uQmFzZSosIGNvbnN0IExlbmd0
aCYgZnJvbSwgY29uc3QgTGVuZ3RoJiB0bywgZG91YmxlIHByb2dyZXNzKQogewotICAgIHJldHVy
biB0by5ibGVuZChmcm9tLCBwcm9ncmVzcyk7CisgICAgcmV0dXJuIGJsZW5kKGZyb20sIHRvLCBw
cm9ncmVzcyk7CiB9CiAKIHN0YXRpYyBpbmxpbmUgTGVuZ3RoU2l6ZSBibGVuZEZ1bmMoY29uc3Qg
QW5pbWF0aW9uQmFzZSogYW5pbSwgY29uc3QgTGVuZ3RoU2l6ZSYgZnJvbSwgY29uc3QgTGVuZ3Ro
U2l6ZSYgdG8sIGRvdWJsZSBwcm9ncmVzcykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL0xlbmd0aC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9MZW5ndGguY3BwCmlu
ZGV4IDJlMDM4YmRmMDVhMjI0MzEzODJhNGMyMjAyNTYxNzI0Mjk0NjBlMTEuLjcwOGYxYjA2Yjgz
OGEwZGFiNmEyMTA2YTMyZjNkMjM3OGIzNmQ1YmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL0xlbmd0aC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTGVuZ3Ro
LmNwcApAQCAtMjUxLDE4ICsyNTEsNiBAQCBMZW5ndGg6Okxlbmd0aChSZWY8Q2FsY3VsYXRpb25W
YWx1ZT4mJiB2YWx1ZSkKIHsKICAgICBtX2NhbGN1bGF0aW9uVmFsdWVIYW5kbGUgPSBjYWxjdWxh
dGlvblZhbHVlcygpLmluc2VydChXVEZNb3ZlKHZhbHVlKSk7CiB9Ci0gICAgICAgIAotTGVuZ3Ro
IExlbmd0aDo6YmxlbmRNaXhlZFR5cGVzKGNvbnN0IExlbmd0aCYgZnJvbSwgZG91YmxlIHByb2dy
ZXNzKSBjb25zdAotewotICAgIGlmIChwcm9ncmVzcyA8PSAwLjApCi0gICAgICAgIHJldHVybiBm
cm9tOwotICAgICAgICAKLSAgICBpZiAocHJvZ3Jlc3MgPj0gMS4wKQotICAgICAgICByZXR1cm4g
KnRoaXM7Ci0gICAgICAgIAotICAgIGF1dG8gYmxlbmQgPSBzdGQ6Om1ha2VfdW5pcXVlPENhbGNF
eHByZXNzaW9uQmxlbmRMZW5ndGg+KGZyb20sICp0aGlzLCBwcm9ncmVzcyk7Ci0gICAgcmV0dXJu
IExlbmd0aChDYWxjdWxhdGlvblZhbHVlOjpjcmVhdGUoV1RGTW92ZShibGVuZCksIENhbGN1bGF0
aW9uUmFuZ2VBbGwpKTsKLX0KIAogQ2FsY3VsYXRpb25WYWx1ZSYgTGVuZ3RoOjpjYWxjdWxhdGlv
blZhbHVlKCkgY29uc3QKIHsKQEAgLTI5Niw2ICsyODQsNDQgQEAgYm9vbCBMZW5ndGg6OmlzQ2Fs
Y3VsYXRlZEVxdWFsKGNvbnN0IExlbmd0aCYgb3RoZXIpIGNvbnN0CiAgICAgcmV0dXJuIGNhbGN1
bGF0aW9uVmFsdWUoKSA9PSBvdGhlci5jYWxjdWxhdGlvblZhbHVlKCk7CiB9CiAKK3N0YXRpYyBM
ZW5ndGggYmxlbmRNaXhlZFR5cGVzKGNvbnN0IExlbmd0aCYgZnJvbSwgY29uc3QgTGVuZ3RoJiB0
bywgZG91YmxlIHByb2dyZXNzKQoreworICAgIGlmIChwcm9ncmVzcyA8PSAwLjApCisgICAgICAg
IHJldHVybiBmcm9tOworICAgICAgICAKKyAgICBpZiAocHJvZ3Jlc3MgPj0gMS4wKQorICAgICAg
ICByZXR1cm4gdG87CisgICAgICAgIAorICAgIGF1dG8gYmxlbmQgPSBzdGQ6Om1ha2VfdW5pcXVl
PENhbGNFeHByZXNzaW9uQmxlbmRMZW5ndGg+KGZyb20sIHRvLCBwcm9ncmVzcyk7CisgICAgcmV0
dXJuIExlbmd0aChDYWxjdWxhdGlvblZhbHVlOjpjcmVhdGUoV1RGTW92ZShibGVuZCksIENhbGN1
bGF0aW9uUmFuZ2VBbGwpKTsKK30KKworTGVuZ3RoIGJsZW5kKGNvbnN0IExlbmd0aCYgZnJvbSwg
Y29uc3QgTGVuZ3RoJiB0bywgZG91YmxlIHByb2dyZXNzKQoreworICAgIGlmIChmcm9tLnR5cGUo
KSA9PSBDYWxjdWxhdGVkIHx8IHRvLnR5cGUoKSA9PSBDYWxjdWxhdGVkKQorICAgICAgICByZXR1
cm4gYmxlbmRNaXhlZFR5cGVzKGZyb20sIHRvLCBwcm9ncmVzcyk7CisKKyAgICBpZiAoIWZyb20u
aXNaZXJvKCkgJiYgIXRvLmlzWmVybygpICYmIGZyb20udHlwZSgpICE9IHRvLnR5cGUoKSkKKyAg
ICAgICAgcmV0dXJuIGJsZW5kTWl4ZWRUeXBlcyhmcm9tLCB0bywgcHJvZ3Jlc3MpOworCisgICAg
aWYgKGZyb20uaXNaZXJvKCkgJiYgdG8uaXNaZXJvKCkpCisgICAgICAgIHJldHVybiBwcm9ncmVz
cyA/IHRvIDogZnJvbTsgLy8gUGljayB1cCAnYXV0bycgZnJvbSAnZnJvbScgaWYgcHJvZ3Jlc3Mg
aXMgemVyby4KKworICAgIExlbmd0aFR5cGUgcmVzdWx0VHlwZSA9IHRvLnR5cGUoKTsKKyAgICBp
ZiAodG8uaXNaZXJvKCkpCisgICAgICAgIHJlc3VsdFR5cGUgPSBmcm9tLnR5cGUoKTsKKworICAg
IGlmIChyZXN1bHRUeXBlID09IFBlcmNlbnQpIHsKKyAgICAgICAgZmxvYXQgZnJvbVBlcmNlbnQg
PSBmcm9tLmlzWmVybygpID8gMCA6IGZyb20ucGVyY2VudCgpOworICAgICAgICBmbG9hdCB0b1Bl
cmNlbnQgPSB0by5pc1plcm8oKSA/IDAgOiB0by5wZXJjZW50KCk7CisgICAgICAgIHJldHVybiBM
ZW5ndGgoV2ViQ29yZTo6YmxlbmQoZnJvbVBlcmNlbnQsIHRvUGVyY2VudCwgcHJvZ3Jlc3MpLCBQ
ZXJjZW50KTsKKyAgICB9CisKKyAgICBmbG9hdCBmcm9tVmFsdWUgPSBmcm9tLmlzWmVybygpID8g
MCA6IGZyb20udmFsdWUoKTsKKyAgICBmbG9hdCB0b1ZhbHVlID0gdG8uaXNaZXJvKCkgPyAwIDog
dG8udmFsdWUoKTsKKyAgICByZXR1cm4gTGVuZ3RoKFdlYkNvcmU6OmJsZW5kKGZyb21WYWx1ZSwg
dG9WYWx1ZSwgcHJvZ3Jlc3MpLCByZXN1bHRUeXBlKTsKK30KKwogc3RydWN0IFNhbWVTaXplQXNM
ZW5ndGggewogICAgIGludDMyX3QgdmFsdWU7CiAgICAgaW50MzJfdCBtZXRhRGF0YTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0xlbmd0aC5oIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vTGVuZ3RoLmgKaW5kZXggZmQ4YmRkNDU5YTMzNmI3MDhlMTljNmI0ZWJiOTU3N2Jk
YjIyMjIyYy4uMjUxYTg0NTBkZTM0YzlhOGQxOTQ3ODZkZjA1NWJiYTQ4ZGVmMDdjMyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTGVuZ3RoLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vTGVuZ3RoLmgKQEAgLTEwNywxNyArMTA3LDEyIEBAIHB1YmxpYzoKICAgICBi
b29sIGlzU3BlY2lmaWVkKCkgY29uc3Q7CiAgICAgYm9vbCBpc1NwZWNpZmllZE9ySW50cmluc2lj
KCkgY29uc3Q7CiAKLSAgICAvLyBCbGVuZCB0d28gbGVuZ3RocyB0byBwcm9kdWNlIGEgbmV3IGxl
bmd0aCB0aGF0IGlzIGluIGJldHdlZW4gdGhlbS4gVXNlZCBmb3IgYW5pbWF0aW9uLgotICAgIC8v
IEZJWE1FOiBXaHkgaXMgdGhpcyBhIG1lbWJlciBmdW5jdGlvbj8KLSAgICBMZW5ndGggYmxlbmQo
Y29uc3QgTGVuZ3RoJiBmcm9tLCBkb3VibGUgcHJvZ3Jlc3MpIGNvbnN0OwotCiAgICAgZmxvYXQg
bm9uTmFuQ2FsY3VsYXRlZFZhbHVlKGludCBtYXhWYWx1ZSkgY29uc3Q7CiAKIHByaXZhdGU6CiAg
ICAgYm9vbCBpc0xlZ2FjeUludHJpbnNpYygpIGNvbnN0OwogCiAgICAgYm9vbCBpc0NhbGN1bGF0
ZWRFcXVhbChjb25zdCBMZW5ndGgmKSBjb25zdDsKLSAgICBMZW5ndGggYmxlbmRNaXhlZFR5cGVz
KGNvbnN0IExlbmd0aCYgZnJvbSwgZG91YmxlIHByb2dyZXNzKSBjb25zdDsKIAogICAgIFdFQkNP
UkVfRVhQT1JUIHZvaWQgcmVmKCkgY29uc3Q7CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBkZXJl
ZigpIGNvbnN0OwpAQCAtMTMyLDYgKzEyNyw5IEBAIHByaXZhdGU6CiAgICAgYm9vbCBtX2lzRmxv
YXQ7CiB9OwogCisvLyBCbGVuZCB0d28gbGVuZ3RocyB0byBwcm9kdWNlIGEgbmV3IGxlbmd0aCB0
aGF0IGlzIGluIGJldHdlZW4gdGhlbS4gVXNlZCBmb3IgYW5pbWF0aW9uLgorTGVuZ3RoIGJsZW5k
KGNvbnN0IExlbmd0aCYgZnJvbSwgY29uc3QgTGVuZ3RoJiB0bywgZG91YmxlIHByb2dyZXNzKTsK
Kwogc3RkOjp1bmlxdWVfcHRyPExlbmd0aFtdPiBuZXdDb29yZHNBcnJheShjb25zdCBTdHJpbmcm
LCBpbnQmIGxlbmd0aCk7CiBzdGQ6OnVuaXF1ZV9wdHI8TGVuZ3RoW10+IG5ld0xlbmd0aEFycmF5
KGNvbnN0IFN0cmluZyYsIGludCYgbGVuZ3RoKTsKIApAQCAtNDEyLDMzICs0MTAsNiBAQCBpbmxp
bmUgYm9vbCBMZW5ndGg6OmlzRml0Q29udGVudCgpIGNvbnN0CiAgICAgcmV0dXJuIHR5cGUoKSA9
PSBGaXRDb250ZW50OwogfQogCi0vLyBGSVhNRTogRG9lcyB0aGlzIG5lZWQgdG8gYmUgaW4gdGhl
IGhlYWRlcj8gSXMgaXQgdmFsdWFibGUgdG8gaW5saW5lPyBEb2VzIGl0IGdldCBpbmxpbmVkPwot
aW5saW5lIExlbmd0aCBMZW5ndGg6OmJsZW5kKGNvbnN0IExlbmd0aCYgZnJvbSwgZG91YmxlIHBy
b2dyZXNzKSBjb25zdAotewotICAgIGlmIChmcm9tLnR5cGUoKSA9PSBDYWxjdWxhdGVkIHx8IHR5
cGUoKSA9PSBDYWxjdWxhdGVkKQotICAgICAgICByZXR1cm4gYmxlbmRNaXhlZFR5cGVzKGZyb20s
IHByb2dyZXNzKTsKLQotICAgIGlmICghZnJvbS5pc1plcm8oKSAmJiAhaXNaZXJvKCkgJiYgZnJv
bS50eXBlKCkgIT0gdHlwZSgpKQotICAgICAgICByZXR1cm4gYmxlbmRNaXhlZFR5cGVzKGZyb20s
IHByb2dyZXNzKTsKLQotICAgIGlmIChmcm9tLmlzWmVybygpICYmIGlzWmVybygpKQotICAgICAg
ICByZXR1cm4gcHJvZ3Jlc3MgPyAqdGhpcyA6IGZyb207IC8vIFBpY2sgdXAgJ2F1dG8nIGZyb20g
J2Zyb20nIGlmIHByb2dyZXNzIGlzIHplcm8uCi0KLSAgICBMZW5ndGhUeXBlIHJlc3VsdFR5cGUg
PSB0eXBlKCk7Ci0gICAgaWYgKGlzWmVybygpKQotICAgICAgICByZXN1bHRUeXBlID0gZnJvbS50
eXBlKCk7Ci0KLSAgICBpZiAocmVzdWx0VHlwZSA9PSBQZXJjZW50KSB7Ci0gICAgICAgIGZsb2F0
IGZyb21QZXJjZW50ID0gZnJvbS5pc1plcm8oKSA/IDAgOiBmcm9tLnBlcmNlbnQoKTsKLSAgICAg
ICAgZmxvYXQgdG9QZXJjZW50ID0gaXNaZXJvKCkgPyAwIDogcGVyY2VudCgpOwotICAgICAgICBy
ZXR1cm4gTGVuZ3RoKFdlYkNvcmU6OmJsZW5kKGZyb21QZXJjZW50LCB0b1BlcmNlbnQsIHByb2dy
ZXNzKSwgUGVyY2VudCk7Ci0gICAgfQotCi0gICAgZmxvYXQgZnJvbVZhbHVlID0gZnJvbS5pc1pl
cm8oKSA/IDAgOiBmcm9tLnZhbHVlKCk7Ci0gICAgZmxvYXQgdG9WYWx1ZSA9IGlzWmVybygpID8g
MCA6IHZhbHVlKCk7Ci0gICAgcmV0dXJuIExlbmd0aChXZWJDb3JlOjpibGVuZChmcm9tVmFsdWUs
IHRvVmFsdWUsIHByb2dyZXNzKSwgcmVzdWx0VHlwZSk7Ci19Ci0KIFRleHRTdHJlYW0mIG9wZXJh
dG9yPDwoVGV4dFN0cmVhbSYsIExlbmd0aCk7CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0xlbmd0aFBvaW50LmggYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9MZW5ndGhQb2ludC5oCmluZGV4IDIxYjFhM2Y0N2M4Yjk4YWM0NzY3
ZjU3MTgyYzcxMmVhNDBjZWI0ZTcuLmY3M2NiNTVhYTgzZWNjMzEyOGZkNTM5MmRhZjQzNzFiNTc1
YzFlMjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0xlbmd0aFBvaW50LmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTGVuZ3RoUG9pbnQuaApAQCAtNTgsMTcgKzU4
LDE3IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldFkoTGVuZ3RoIHkpIHsgbV95ID0gV1RGTW92ZSh5
KTsgfQogICAgIGNvbnN0IExlbmd0aCYgeSgpIGNvbnN0IHsgcmV0dXJuIG1feTsgfQogCi0gICAg
TGVuZ3RoUG9pbnQgYmxlbmQoY29uc3QgTGVuZ3RoUG9pbnQmIGZyb20sIGRvdWJsZSBwcm9ncmVz
cykgY29uc3QKLSAgICB7Ci0gICAgICAgIHJldHVybiBMZW5ndGhQb2ludChtX3guYmxlbmQoZnJv
bS54KCksIHByb2dyZXNzKSwgbV95LmJsZW5kKGZyb20ueSgpLCBwcm9ncmVzcykpOwotICAgIH0K
LQogcHJpdmF0ZToKICAgICAvLyBGSVhNRTogaXQgd291bGQgYmUgbmljZSB0byBwYWNrIHRoZSB0
d28gTGVuZ3RocyB0b2dldGhlciBiZXR0ZXIgc29tZWhvdyAodG8gYXZvaWQgcGFkZGluZyBiZXR3
ZWVuIHRoZW0pLgogICAgIExlbmd0aCBtX3g7CiAgICAgTGVuZ3RoIG1feTsKIH07CiAKK2lubGlu
ZSBMZW5ndGhQb2ludCBibGVuZChjb25zdCBMZW5ndGhQb2ludCYgZnJvbSwgY29uc3QgTGVuZ3Ro
UG9pbnQmIHRvLCBkb3VibGUgcHJvZ3Jlc3MpCit7CisgICAgcmV0dXJuIExlbmd0aFBvaW50KGJs
ZW5kKGZyb20ueCgpLCB0by54KCksIHByb2dyZXNzKSwgYmxlbmQoZnJvbS55KCksIHRvLnkoKSwg
cHJvZ3Jlc3MpKTsKK30KKwogVGV4dFN0cmVhbSYgb3BlcmF0b3I8PChUZXh0U3RyZWFtJiwgY29u
c3QgTGVuZ3RoUG9pbnQmKTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTGVuZ3RoU2l6ZS5oIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vTGVuZ3RoU2l6ZS5oCmluZGV4IDBlNDg2YWEyMjhiNWIyMmY0MGNkZWVmMzlhZGQ4Yzg3
OTU0MGQ5OGEuLmQ3MTNlMTg5MmM1YTVjNGIzY2MwNWYzODkzMmYyYjYxNTYxYmYxNzggMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0xlbmd0aFNpemUuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9MZW5ndGhTaXplLmgKQEAgLTQ4LDE2ICs0OCwxNiBAQCBwdWJsaWM6
CiAgICAgdm9pZCBzZXRIZWlnaHQoTGVuZ3RoIGhlaWdodCkgeyBtX2hlaWdodCA9IFdURk1vdmUo
aGVpZ2h0KTsgfQogICAgIGNvbnN0IExlbmd0aCYgaGVpZ2h0KCkgY29uc3QgeyByZXR1cm4gbV9o
ZWlnaHQ7IH0KIAotICAgIExlbmd0aFNpemUgYmxlbmQoY29uc3QgTGVuZ3RoU2l6ZSYgZnJvbSwg
ZG91YmxlIHByb2dyZXNzKSBjb25zdAotICAgIHsKLSAgICAgICAgcmV0dXJuIExlbmd0aFNpemUo
bV93aWR0aC5ibGVuZChmcm9tLndpZHRoKCksIHByb2dyZXNzKSwgbV9oZWlnaHQuYmxlbmQoZnJv
bS5oZWlnaHQoKSwgcHJvZ3Jlc3MpKTsKLSAgICB9Ci0KIHByaXZhdGU6CiAgICAgTGVuZ3RoIG1f
d2lkdGg7CiAgICAgTGVuZ3RoIG1faGVpZ2h0OwogfTsKIAoraW5saW5lIExlbmd0aFNpemUgYmxl
bmQoY29uc3QgTGVuZ3RoU2l6ZSYgZnJvbSwgY29uc3QgTGVuZ3RoU2l6ZSYgdG8sIGRvdWJsZSBw
cm9ncmVzcykKK3sKKyAgICByZXR1cm4gTGVuZ3RoU2l6ZShibGVuZChmcm9tLndpZHRoKCksIHRv
LndpZHRoKCksIHByb2dyZXNzKSwgYmxlbmQoZnJvbS5oZWlnaHQoKSwgdG8uaGVpZ2h0KCksIHBy
b2dyZXNzKSk7Cit9CisKIFRleHRTdHJlYW0mIG9wZXJhdG9yPDwoVGV4dFN0cmVhbSYsIGNvbnN0
IExlbmd0aFNpemUmKTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GaWx0ZXJPcGVyYXRpb24uY3Bw
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GaWx0ZXJPcGVyYXRp
b24uY3BwCmluZGV4IGNjODRkNDQzNGFlYThmYTgxNWM1M2E4ODdmYTQ5NzcxMmEyN2UwYmYuLjRj
MTcwNGQxNTUyZmIxY2Q4NGVmMjBlZTg2ZDk0OTNiZjgyZDU0NjQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRmlsdGVyT3BlcmF0aW9uLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZpbHRlck9wZXJh
dGlvbi5jcHAKQEAgLTE2MiwxMSArMTYyLDExIEBAIFBhc3NSZWZQdHI8RmlsdGVyT3BlcmF0aW9u
PiBCbHVyRmlsdGVyT3BlcmF0aW9uOjpibGVuZChjb25zdCBGaWx0ZXJPcGVyYXRpb24qIGZyCiAg
ICAgTGVuZ3RoVHlwZSBsZW5ndGhUeXBlID0gbV9zdGREZXZpYXRpb24udHlwZSgpOwogCiAgICAg
aWYgKGJsZW5kVG9QYXNzdGhyb3VnaCkKLSAgICAgICAgcmV0dXJuIEJsdXJGaWx0ZXJPcGVyYXRp
b246OmNyZWF0ZShMZW5ndGgobGVuZ3RoVHlwZSkuYmxlbmQobV9zdGREZXZpYXRpb24sIHByb2dy
ZXNzKSk7CisgICAgICAgIHJldHVybiBCbHVyRmlsdGVyT3BlcmF0aW9uOjpjcmVhdGUoV2ViQ29y
ZTo6YmxlbmQobV9zdGREZXZpYXRpb24sIExlbmd0aChsZW5ndGhUeXBlKSwgcHJvZ3Jlc3MpKTsK
IAogICAgIGNvbnN0IEJsdXJGaWx0ZXJPcGVyYXRpb24qIGZyb21PcGVyYXRpb24gPSBkb3duY2Fz
dDxCbHVyRmlsdGVyT3BlcmF0aW9uPihmcm9tKTsKICAgICBMZW5ndGggZnJvbUxlbmd0aCA9IGZy
b21PcGVyYXRpb24gPyBmcm9tT3BlcmF0aW9uLT5tX3N0ZERldmlhdGlvbiA6IExlbmd0aChsZW5n
dGhUeXBlKTsKLSAgICByZXR1cm4gQmx1ckZpbHRlck9wZXJhdGlvbjo6Y3JlYXRlKG1fc3RkRGV2
aWF0aW9uLmJsZW5kKGZyb21MZW5ndGgsIHByb2dyZXNzKSk7CisgICAgcmV0dXJuIEJsdXJGaWx0
ZXJPcGVyYXRpb246OmNyZWF0ZShXZWJDb3JlOjpibGVuZChmcm9tTGVuZ3RoLCBtX3N0ZERldmlh
dGlvbiwgcHJvZ3Jlc3MpKTsKIH0KICAgICAKIGJvb2wgRHJvcFNoYWRvd0ZpbHRlck9wZXJhdGlv
bjo6b3BlcmF0b3I9PShjb25zdCBGaWx0ZXJPcGVyYXRpb24mIG9wZXJhdGlvbikgY29uc3QKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9ybXMvVHJh
bnNsYXRlVHJhbnNmb3JtT3BlcmF0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL3RyYW5zZm9ybXMvVHJhbnNsYXRlVHJhbnNmb3JtT3BlcmF0aW9uLmNwcAppbmRleCBi
YjlmZGNlYTJmYzhmMjQ4YWQ4ZWY5ZmNjZWIwYzYwZTUwYTljYTVkLi4wMjg4MDg0OWVlMjJkZDBi
ZmM4YjkzNTEyN2I2YjA4YmYxYjUzYzNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy90cmFuc2Zvcm1zL1RyYW5zbGF0ZVRyYW5zZm9ybU9wZXJhdGlvbi5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9UcmFuc2xh
dGVUcmFuc2Zvcm1PcGVyYXRpb24uY3BwCkBAIC00MiwxMyArNDIsMTMgQEAgUmVmPFRyYW5zZm9y
bU9wZXJhdGlvbj4gVHJhbnNsYXRlVHJhbnNmb3JtT3BlcmF0aW9uOjpibGVuZChjb25zdCBUcmFu
c2Zvcm1PcGVyYXQKIAogICAgIExlbmd0aCB6ZXJvTGVuZ3RoKDAsIEZpeGVkKTsKICAgICBpZiAo
YmxlbmRUb0lkZW50aXR5KQotICAgICAgICByZXR1cm4gVHJhbnNsYXRlVHJhbnNmb3JtT3BlcmF0
aW9uOjpjcmVhdGUoemVyb0xlbmd0aC5ibGVuZChtX3gsIHByb2dyZXNzKSwgemVyb0xlbmd0aC5i
bGVuZChtX3ksIHByb2dyZXNzKSwgemVyb0xlbmd0aC5ibGVuZChtX3osIHByb2dyZXNzKSwgbV90
eXBlKTsKKyAgICAgICAgcmV0dXJuIFRyYW5zbGF0ZVRyYW5zZm9ybU9wZXJhdGlvbjo6Y3JlYXRl
KFdlYkNvcmU6OmJsZW5kKG1feCwgemVyb0xlbmd0aCwgcHJvZ3Jlc3MpLCBXZWJDb3JlOjpibGVu
ZChtX3ksIHplcm9MZW5ndGgsIHByb2dyZXNzKSwgV2ViQ29yZTo6YmxlbmQobV96LCB6ZXJvTGVu
Z3RoLCBwcm9ncmVzcyksIG1fdHlwZSk7CiAKICAgICBjb25zdCBUcmFuc2xhdGVUcmFuc2Zvcm1P
cGVyYXRpb24qIGZyb21PcCA9IGRvd25jYXN0PFRyYW5zbGF0ZVRyYW5zZm9ybU9wZXJhdGlvbj4o
ZnJvbSk7CiAgICAgTGVuZ3RoIGZyb21YID0gZnJvbU9wID8gZnJvbU9wLT5tX3ggOiB6ZXJvTGVu
Z3RoOwogICAgIExlbmd0aCBmcm9tWSA9IGZyb21PcCA/IGZyb21PcC0+bV95IDogemVyb0xlbmd0
aDsKICAgICBMZW5ndGggZnJvbVogPSBmcm9tT3AgPyBmcm9tT3AtPm1feiA6IHplcm9MZW5ndGg7
Ci0gICAgcmV0dXJuIFRyYW5zbGF0ZVRyYW5zZm9ybU9wZXJhdGlvbjo6Y3JlYXRlKG1feC5ibGVu
ZChmcm9tWCwgcHJvZ3Jlc3MpLCBtX3kuYmxlbmQoZnJvbVksIHByb2dyZXNzKSwgbV96LmJsZW5k
KGZyb21aLCBwcm9ncmVzcyksIG1fdHlwZSk7CisgICAgcmV0dXJuIFRyYW5zbGF0ZVRyYW5zZm9y
bU9wZXJhdGlvbjo6Y3JlYXRlKFdlYkNvcmU6OmJsZW5kKGZyb21YLCB4KCksIHByb2dyZXNzKSwg
V2ViQ29yZTo6YmxlbmQoZnJvbVksIHkoKSwgcHJvZ3Jlc3MpLCBXZWJDb3JlOjpibGVuZChmcm9t
WiwgeigpLCBwcm9ncmVzcyksIG1fdHlwZSk7CiB9CiAKIHZvaWQgVHJhbnNsYXRlVHJhbnNmb3Jt
T3BlcmF0aW9uOjpkdW1wKFRleHRTdHJlYW0mIHRzKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL0Jhc2ljU2hhcGVzLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9zdHlsZS9CYXNpY1NoYXBlcy5jcHAKaW5kZXggZWFmZWZmNzViMzE2YTU4OTBm
NjVmMTg5Mjg1OWJkMTIyM2IyN2NmYi4uNDMzMzY2YmNkMTBhNjlkNGJhNzA4ODA4MDlmOWQ1MzEx
OGJhZWU5YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL0Jhc2lj
U2hhcGVzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvQmFzaWNTaGFw
ZXMuY3BwCkBAIC0zMTksOCArMzE5LDkgQEAgUmVmPEJhc2ljU2hhcGU+IEJhc2ljU2hhcGVQb2x5
Z29uOjpibGVuZChjb25zdCBCYXNpY1NoYXBlJiBvdGhlciwgZG91YmxlIHByb2dyZXMKICAgICBy
ZXN1bHQtPnNldFdpbmRSdWxlKG90aGVyUG9seWdvbi53aW5kUnVsZSgpKTsKIAogICAgIGZvciAo
c2l6ZV90IGkgPSAwOyBpIDwgbGVuZ3RoOyBpID0gaSArIDIpIHsKLSAgICAgICAgcmVzdWx0LT5h
cHBlbmRQb2ludChtX3ZhbHVlcy5hdChpKS5ibGVuZChvdGhlclBvbHlnb24udmFsdWVzKCkuYXQo
aSksIHByb2dyZXNzKSwKLSAgICAgICAgICAgIG1fdmFsdWVzLmF0KGkgKyAxKS5ibGVuZChvdGhl
clBvbHlnb24udmFsdWVzKCkuYXQoaSArIDEpLCBwcm9ncmVzcykpOworICAgICAgICByZXN1bHQt
PmFwcGVuZFBvaW50KAorICAgICAgICAgICAgV2ViQ29yZTo6YmxlbmQob3RoZXJQb2x5Z29uLnZh
bHVlcygpLmF0KGkpLCBtX3ZhbHVlcy5hdChpKSwgcHJvZ3Jlc3MpLAorICAgICAgICAgICAgV2Vi
Q29yZTo6YmxlbmQob3RoZXJQb2x5Z29uLnZhbHVlcygpLmF0KGkgKyAxKSwgbV92YWx1ZXMuYXQo
aSArIDEpLCBwcm9ncmVzcykpOwogICAgIH0KIAogICAgIHJldHVybiBXVEZNb3ZlKHJlc3VsdCk7
CkBAIC00MTEsMjEgKzQxMiwyMSBAQCBib29sIEJhc2ljU2hhcGVJbnNldDo6Y2FuQmxlbmQoY29u
c3QgQmFzaWNTaGFwZSYgb3RoZXIpIGNvbnN0CiAgICAgcmV0dXJuIHR5cGUoKSA9PSBvdGhlci50
eXBlKCk7CiB9CiAKLVJlZjxCYXNpY1NoYXBlPiBCYXNpY1NoYXBlSW5zZXQ6OmJsZW5kKGNvbnN0
IEJhc2ljU2hhcGUmIG90aGVyLCBkb3VibGUgcHJvZ3Jlc3MpIGNvbnN0CitSZWY8QmFzaWNTaGFw
ZT4gQmFzaWNTaGFwZUluc2V0OjpibGVuZChjb25zdCBCYXNpY1NoYXBlJiBmcm9tLCBkb3VibGUg
cHJvZ3Jlc3MpIGNvbnN0CiB7Ci0gICAgQVNTRVJUKHR5cGUoKSA9PSBvdGhlci50eXBlKCkpOwor
ICAgIEFTU0VSVCh0eXBlKCkgPT0gZnJvbS50eXBlKCkpOwogCi0gICAgYXV0byYgb3RoZXJJbnNl
dCA9IGRvd25jYXN0PEJhc2ljU2hhcGVJbnNldD4ob3RoZXIpOworICAgIGF1dG8mIGZyb21JbnNl
dCA9IGRvd25jYXN0PEJhc2ljU2hhcGVJbnNldD4oZnJvbSk7CiAgICAgYXV0byByZXN1bHQgPSAg
QmFzaWNTaGFwZUluc2V0OjpjcmVhdGUoKTsKLSAgICByZXN1bHQtPnNldFRvcChtX3RvcC5ibGVu
ZChvdGhlckluc2V0LnRvcCgpLCBwcm9ncmVzcykpOwotICAgIHJlc3VsdC0+c2V0UmlnaHQobV9y
aWdodC5ibGVuZChvdGhlckluc2V0LnJpZ2h0KCksIHByb2dyZXNzKSk7Ci0gICAgcmVzdWx0LT5z
ZXRCb3R0b20obV9ib3R0b20uYmxlbmQob3RoZXJJbnNldC5ib3R0b20oKSwgcHJvZ3Jlc3MpKTsK
LSAgICByZXN1bHQtPnNldExlZnQobV9sZWZ0LmJsZW5kKG90aGVySW5zZXQubGVmdCgpLCBwcm9n
cmVzcykpOwotCi0gICAgcmVzdWx0LT5zZXRUb3BMZWZ0UmFkaXVzKG1fdG9wTGVmdFJhZGl1cy5i
bGVuZChvdGhlckluc2V0LnRvcExlZnRSYWRpdXMoKSwgcHJvZ3Jlc3MpKTsKLSAgICByZXN1bHQt
PnNldFRvcFJpZ2h0UmFkaXVzKG1fdG9wUmlnaHRSYWRpdXMuYmxlbmQob3RoZXJJbnNldC50b3BS
aWdodFJhZGl1cygpLCBwcm9ncmVzcykpOwotICAgIHJlc3VsdC0+c2V0Qm90dG9tUmlnaHRSYWRp
dXMobV9ib3R0b21SaWdodFJhZGl1cy5ibGVuZChvdGhlckluc2V0LmJvdHRvbVJpZ2h0UmFkaXVz
KCksIHByb2dyZXNzKSk7Ci0gICAgcmVzdWx0LT5zZXRCb3R0b21MZWZ0UmFkaXVzKG1fYm90dG9t
TGVmdFJhZGl1cy5ibGVuZChvdGhlckluc2V0LmJvdHRvbUxlZnRSYWRpdXMoKSwgcHJvZ3Jlc3Mp
KTsKKyAgICByZXN1bHQtPnNldFRvcChXZWJDb3JlOjpibGVuZChmcm9tSW5zZXQudG9wKCksIHRv
cCgpLCBwcm9ncmVzcykpOworICAgIHJlc3VsdC0+c2V0UmlnaHQoV2ViQ29yZTo6YmxlbmQoZnJv
bUluc2V0LnJpZ2h0KCksIHJpZ2h0KCksIHByb2dyZXNzKSk7CisgICAgcmVzdWx0LT5zZXRCb3R0
b20oV2ViQ29yZTo6YmxlbmQoZnJvbUluc2V0LmJvdHRvbSgpLCBib3R0b20oKSwgcHJvZ3Jlc3Mp
KTsKKyAgICByZXN1bHQtPnNldExlZnQoV2ViQ29yZTo6YmxlbmQoZnJvbUluc2V0LmxlZnQoKSwg
bGVmdCgpLCBwcm9ncmVzcykpOworCisgICAgcmVzdWx0LT5zZXRUb3BMZWZ0UmFkaXVzKFdlYkNv
cmU6OmJsZW5kKGZyb21JbnNldC50b3BMZWZ0UmFkaXVzKCksIHRvcExlZnRSYWRpdXMoKSwgcHJv
Z3Jlc3MpKTsKKyAgICByZXN1bHQtPnNldFRvcFJpZ2h0UmFkaXVzKFdlYkNvcmU6OmJsZW5kKGZy
b21JbnNldC50b3BSaWdodFJhZGl1cygpLCB0b3BSaWdodFJhZGl1cygpLCBwcm9ncmVzcykpOwor
ICAgIHJlc3VsdC0+c2V0Qm90dG9tUmlnaHRSYWRpdXMoV2ViQ29yZTo6YmxlbmQoZnJvbUluc2V0
LmJvdHRvbVJpZ2h0UmFkaXVzKCksIGJvdHRvbVJpZ2h0UmFkaXVzKCksIHByb2dyZXNzKSk7Cisg
ICAgcmVzdWx0LT5zZXRCb3R0b21MZWZ0UmFkaXVzKFdlYkNvcmU6OmJsZW5kKGZyb21JbnNldC5i
b3R0b21MZWZ0UmFkaXVzKCksIGJvdHRvbUxlZnRSYWRpdXMoKSwgcHJvZ3Jlc3MpKTsKIAogICAg
IHJldHVybiBXVEZNb3ZlKHJlc3VsdCk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvc3R5bGUvQmFzaWNTaGFwZXMuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9z
dHlsZS9CYXNpY1NoYXBlcy5oCmluZGV4IGU4YzQ2OWE1NjhhODJhZTZiNTBmZDQwMDA1YzRiMjc5
MzVmNDgyNDEuLjViYWYwNmU2YTkxNDRkZWNkZWNmMjU1OTBkODIyZWM4YzI1ZGUzMDQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9CYXNpY1NoYXBlcy5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9CYXNpY1NoYXBlcy5oCkBAIC02NCw3ICs2
NCw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIFdpbmRSdWxlIHdpbmRSdWxlKCkgY29uc3QgeyBy
ZXR1cm4gUlVMRV9OT05aRVJPOyB9CiAKICAgICB2aXJ0dWFsIGJvb2wgY2FuQmxlbmQoY29uc3Qg
QmFzaWNTaGFwZSYpIGNvbnN0ID0gMDsKLSAgICB2aXJ0dWFsIFJlZjxCYXNpY1NoYXBlPiBibGVu
ZChjb25zdCBCYXNpY1NoYXBlJiwgZG91YmxlKSBjb25zdCA9IDA7CisgICAgdmlydHVhbCBSZWY8
QmFzaWNTaGFwZT4gYmxlbmQoY29uc3QgQmFzaWNTaGFwZSYgZnJvbSwgZG91YmxlKSBjb25zdCA9
IDA7CiAKICAgICB2aXJ0dWFsIGJvb2wgb3BlcmF0b3I9PShjb25zdCBCYXNpY1NoYXBlJikgY29u
c3QgPSAwOwogfTsKQEAgLTEwMSw5ICsxMDEsOSBAQCBwdWJsaWM6CiAgICAgY29uc3QgTGVuZ3Ro
JiBsZW5ndGgoKSBjb25zdCB7IHJldHVybiBtX2xlbmd0aDsgfQogICAgIGNvbnN0IExlbmd0aCYg
Y29tcHV0ZWRMZW5ndGgoKSBjb25zdCB7IHJldHVybiBtX2NvbXB1dGVkTGVuZ3RoOyB9CiAKLSAg
ICBCYXNpY1NoYXBlQ2VudGVyQ29vcmRpbmF0ZSBibGVuZChjb25zdCBCYXNpY1NoYXBlQ2VudGVy
Q29vcmRpbmF0ZSYgb3RoZXIsIGRvdWJsZSBwcm9ncmVzcykgY29uc3QKKyAgICBCYXNpY1NoYXBl
Q2VudGVyQ29vcmRpbmF0ZSBibGVuZChjb25zdCBCYXNpY1NoYXBlQ2VudGVyQ29vcmRpbmF0ZSYg
ZnJvbSwgZG91YmxlIHByb2dyZXNzKSBjb25zdAogICAgIHsKLSAgICAgICAgcmV0dXJuIEJhc2lj
U2hhcGVDZW50ZXJDb29yZGluYXRlKFRvcExlZnQsIG1fY29tcHV0ZWRMZW5ndGguYmxlbmQob3Ro
ZXIubV9jb21wdXRlZExlbmd0aCwgcHJvZ3Jlc3MpKTsKKyAgICAgICAgcmV0dXJuIEJhc2ljU2hh
cGVDZW50ZXJDb29yZGluYXRlKFRvcExlZnQsIFdlYkNvcmU6OmJsZW5kKGZyb20ubV9jb21wdXRl
ZExlbmd0aCwgbV9jb21wdXRlZExlbmd0aCwgcHJvZ3Jlc3MpKTsKICAgICB9CiAgICAgCiAgICAg
Ym9vbCBvcGVyYXRvcj09KGNvbnN0IEJhc2ljU2hhcGVDZW50ZXJDb29yZGluYXRlJiBvdGhlcikg
Y29uc3QKQEAgLTE1NSwxMiArMTU1LDEyIEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuIG1fdHlw
ZSA9PSBWYWx1ZSAmJiBvdGhlci50eXBlKCkgPT0gVmFsdWU7CiAgICAgfQogCi0gICAgQmFzaWNT
aGFwZVJhZGl1cyBibGVuZChjb25zdCBCYXNpY1NoYXBlUmFkaXVzJiBvdGhlciwgZG91YmxlIHBy
b2dyZXNzKSBjb25zdAorICAgIEJhc2ljU2hhcGVSYWRpdXMgYmxlbmQoY29uc3QgQmFzaWNTaGFw
ZVJhZGl1cyYgZnJvbSwgZG91YmxlIHByb2dyZXNzKSBjb25zdAogICAgIHsKLSAgICAgICAgaWYg
KG1fdHlwZSAhPSBWYWx1ZSB8fCBvdGhlci50eXBlKCkgIT0gVmFsdWUpCi0gICAgICAgICAgICBy
ZXR1cm4gQmFzaWNTaGFwZVJhZGl1cyhvdGhlcik7CisgICAgICAgIGlmIChtX3R5cGUgIT0gVmFs
dWUgfHwgZnJvbS50eXBlKCkgIT0gVmFsdWUpCisgICAgICAgICAgICByZXR1cm4gQmFzaWNTaGFw
ZVJhZGl1cyhmcm9tKTsKIAotICAgICAgICByZXR1cm4gQmFzaWNTaGFwZVJhZGl1cyhtX3ZhbHVl
LmJsZW5kKG90aGVyLnZhbHVlKCksIHByb2dyZXNzKSk7CisgICAgICAgIHJldHVybiBCYXNpY1No
YXBlUmFkaXVzKFdlYkNvcmU6OmJsZW5kKGZyb20udmFsdWUoKSwgdmFsdWUoKSwgcHJvZ3Jlc3Mp
KTsKICAgICB9CiAgICAgCiAgICAgYm9vbCBvcGVyYXRvcj09KGNvbnN0IEJhc2ljU2hhcGVSYWRp
dXMmIG90aGVyKSBjb25zdApAQCAtMTk1LDcgKzE5NSw3IEBAIHByaXZhdGU6CiAgICAgY29uc3Qg
UGF0aCYgcGF0aChjb25zdCBGbG9hdFJlY3QmKSBvdmVycmlkZTsKIAogICAgIGJvb2wgY2FuQmxl
bmQoY29uc3QgQmFzaWNTaGFwZSYpIGNvbnN0IG92ZXJyaWRlOwotICAgIFJlZjxCYXNpY1NoYXBl
PiBibGVuZChjb25zdCBCYXNpY1NoYXBlJiwgZG91YmxlKSBjb25zdCBvdmVycmlkZTsKKyAgICBS
ZWY8QmFzaWNTaGFwZT4gYmxlbmQoY29uc3QgQmFzaWNTaGFwZSYgZnJvbSwgZG91YmxlKSBjb25z
dCBvdmVycmlkZTsKIAogICAgIGJvb2wgb3BlcmF0b3I9PShjb25zdCBCYXNpY1NoYXBlJikgY29u
c3Qgb3ZlcnJpZGU7CiAKQEAgLTIyNyw3ICsyMjcsNyBAQCBwcml2YXRlOgogICAgIGNvbnN0IFBh
dGgmIHBhdGgoY29uc3QgRmxvYXRSZWN0Jikgb3ZlcnJpZGU7CiAKICAgICBib29sIGNhbkJsZW5k
KGNvbnN0IEJhc2ljU2hhcGUmKSBjb25zdCBvdmVycmlkZTsKLSAgICBSZWY8QmFzaWNTaGFwZT4g
YmxlbmQoY29uc3QgQmFzaWNTaGFwZSYsIGRvdWJsZSkgY29uc3Qgb3ZlcnJpZGU7CisgICAgUmVm
PEJhc2ljU2hhcGU+IGJsZW5kKGNvbnN0IEJhc2ljU2hhcGUmIGZyb20sIGRvdWJsZSkgY29uc3Qg
b3ZlcnJpZGU7CiAKICAgICBib29sIG9wZXJhdG9yPT0oY29uc3QgQmFzaWNTaGFwZSYpIGNvbnN0
IG92ZXJyaWRlOwogCkBAIC0yNTgsNyArMjU4LDcgQEAgcHJpdmF0ZToKICAgICBjb25zdCBQYXRo
JiBwYXRoKGNvbnN0IEZsb2F0UmVjdCYpIG92ZXJyaWRlOwogCiAgICAgYm9vbCBjYW5CbGVuZChj
b25zdCBCYXNpY1NoYXBlJikgY29uc3Qgb3ZlcnJpZGU7Ci0gICAgUmVmPEJhc2ljU2hhcGU+IGJs
ZW5kKGNvbnN0IEJhc2ljU2hhcGUmLCBkb3VibGUpIGNvbnN0IG92ZXJyaWRlOworICAgIFJlZjxC
YXNpY1NoYXBlPiBibGVuZChjb25zdCBCYXNpY1NoYXBlJiBmcm9tLCBkb3VibGUpIGNvbnN0IG92
ZXJyaWRlOwogCiAgICAgYm9vbCBvcGVyYXRvcj09KGNvbnN0IEJhc2ljU2hhcGUmKSBjb25zdCBv
dmVycmlkZTsKIApAQCAtMjg2LDcgKzI4Niw3IEBAIHByaXZhdGU6CiAgICAgY29uc3QgUGF0aCYg
cGF0aChjb25zdCBGbG9hdFJlY3QmKSBvdmVycmlkZTsKIAogICAgIGJvb2wgY2FuQmxlbmQoY29u
c3QgQmFzaWNTaGFwZSYpIGNvbnN0IG92ZXJyaWRlOwotICAgIFJlZjxCYXNpY1NoYXBlPiBibGVu
ZChjb25zdCBCYXNpY1NoYXBlJiwgZG91YmxlKSBjb25zdCBvdmVycmlkZTsKKyAgICBSZWY8QmFz
aWNTaGFwZT4gYmxlbmQoY29uc3QgQmFzaWNTaGFwZSYgZnJvbSwgZG91YmxlKSBjb25zdCBvdmVy
cmlkZTsKIAogICAgIGJvb2wgb3BlcmF0b3I9PShjb25zdCBCYXNpY1NoYXBlJikgY29uc3Qgb3Zl
cnJpZGU7CiAKQEAgLTMyNiw3ICszMjYsNyBAQCBwcml2YXRlOgogICAgIGNvbnN0IFBhdGgmIHBh
dGgoY29uc3QgRmxvYXRSZWN0Jikgb3ZlcnJpZGU7CiAKICAgICBib29sIGNhbkJsZW5kKGNvbnN0
IEJhc2ljU2hhcGUmKSBjb25zdCBvdmVycmlkZTsKLSAgICBSZWY8QmFzaWNTaGFwZT4gYmxlbmQo
Y29uc3QgQmFzaWNTaGFwZSYsIGRvdWJsZSkgY29uc3Qgb3ZlcnJpZGU7CisgICAgUmVmPEJhc2lj
U2hhcGU+IGJsZW5kKGNvbnN0IEJhc2ljU2hhcGUmIGZyb20sIGRvdWJsZSkgY29uc3Qgb3ZlcnJp
ZGU7CiAKICAgICBib29sIG9wZXJhdG9yPT0oY29uc3QgQmFzaWNTaGFwZSYpIGNvbnN0IG92ZXJy
aWRlOwogCg==
</data>
<flag name="review"
          id="302081"
          type_id="1"
          status="+"
          setter="zalan"
    />
          </attachment>
      

    </bug>

</bugzilla>