<?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>222751</bug_id>
          
          <creation_ts>2021-03-04 11:01:09 -0800</creation_ts>
          <short_desc>Refactor CSSPropertyAnimation to specify fewer wrappers and use value() functions</short_desc>
          <delta_ts>2021-03-05 09:44:15 -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>Animations</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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Antoine Quint">graouts</reporter>
          <assigned_to name="Antoine Quint">graouts</assigned_to>
          <cc>dino</cc>
    
    <cc>graouts</cc>
    
    <cc>koivisto</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1735932</commentid>
    <comment_count>0</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2021-03-04 11:01:09 -0800</bug_when>
    <thetext>Refactor CSSPropertyAnimation to specify fewer wrappers and use value() functions</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1735936</commentid>
    <comment_count>1</comment_count>
      <attachid>422260</attachid>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2021-03-04 11:03:16 -0800</bug_when>
    <thetext>Created attachment 422260
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1736388</commentid>
    <comment_count>2</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2021-03-05 09:43:33 -0800</bug_when>
    <thetext>Committed r273977 (234925@main): &lt;https://commits.webkit.org/234925@main&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1736389</commentid>
    <comment_count>3</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-03-05 09:44:15 -0800</bug_when>
    <thetext>&lt;rdar://problem/75098678&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>422260</attachid>
            <date>2021-03-04 11:03:16 -0800</date>
            <delta_ts>2021-03-05 09:03:02 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-222751-20210304200314.patch</filename>
            <type>text/plain</type>
            <size>16785</size>
            <attacher name="Antoine Quint">graouts</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjczODk2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzRmZWI0NTI3MmY0NWJk
N2EyZDhjYzg4M2Y2MTU2YzgzMzcyZjZhZS4uMDJiNjJiYjc3YmY5ZTI3Y2I4Mzc3NDc3YzcxNzhl
MzlkNTdmNmRlMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDIxLTAzLTA0ICBBbnRv
aW5lIFF1aW50ICA8Z3Jhb3V0c0B3ZWJraXQub3JnPgorCisgICAgICAgIFJlZmFjdG9yIENTU1By
b3BlcnR5QW5pbWF0aW9uIHRvIHNwZWNpZnkgZmV3ZXIgd3JhcHBlcnMgYW5kIHVzZSB2YWx1ZSgp
IGZ1bmN0aW9ucworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MjIyNzUxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgV2UgY2xlYW4gdXAgQ1NTUHJvcGVydHlBbmltYXRpb24gYnkgcmVtb3ZpbmcgYSBmZXcgZGVk
aWNhdGVkIHdyYXBwZXJzIHdoaWNoIGFkZGVkIGxpdHRsZSB2YWx1ZQorICAgICAgICBvdmVyIHBh
c3NpbmcgaW4gcGFyYW1ldGVycyB0byBleGlzdGluZyB3cmFwcGVyczogUHJvcGVydHlXcmFwcGVy
Q29sb3IsIFByb3BlcnR5V3JhcHBlckFjY2VsZXJhdGVkT3BhY2l0eSwKKyAgICAgICAgUHJvcGVy
dHlXcmFwcGVyQWNjZWxlcmF0ZWRUcmFuc2Zvcm0sIFByb3BlcnR5V3JhcHBlclNjYWxlLCBQcm9w
ZXJ0eVdyYXBwZXJSb3RhdGUgYW5kIFByb3BlcnR5V3JhcHBlclRyYW5zbGF0ZQorICAgICAgICBh
cmUgb3V0LiBGb3IgbW9zdCBvZiB0aG9zZSB3ZSBpbnRyb2R1Y2UgdGhlIG5ldyBBY2NlbGVyYXRl
ZFByb3BlcnR5V3JhcHBlciB0byByZXBsYWNlIHRoZW0uCisKKyAgICAgICAgQWRkaXRpb25hbGx5
LCB0aGVyZSBpcyBhIHZhbHVlKCkgbWV0aG9kIHRoYXQgY2FuIGJlIHVzZWQgaW5zdGVhZCBvZiB1
c2luZyBtX2dldHRlciBpbiBsb3RzIG9mIHBsYWNlcywKKyAgICAgICAgd2hpY2ggbWFrZXMgdGhl
IGNvZGUgbXVjaCBtb3JlIHJlYWRhYmxlLgorCisgICAgICAgICogYW5pbWF0aW9uL0NTU1Byb3Bl
cnR5QW5pbWF0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkFjY2VsZXJhdGVkUHJvcGVydHlX
cmFwcGVyOjpBY2NlbGVyYXRlZFByb3BlcnR5V3JhcHBlcik6CisgICAgICAgIChXZWJDb3JlOjpQ
cm9wZXJ0eVdyYXBwZXJWaXNpdGVkQWZmZWN0ZWRDb2xvcjo6UHJvcGVydHlXcmFwcGVyVmlzaXRl
ZEFmZmVjdGVkQ29sb3IpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUHJvcGVydHlBbmltYXRpb25X
cmFwcGVyTWFwOjpDU1NQcm9wZXJ0eUFuaW1hdGlvbldyYXBwZXJNYXApOgorICAgICAgICAoV2Vi
Q29yZTo6UHJvcGVydHlXcmFwcGVyQ29sb3I6OlByb3BlcnR5V3JhcHBlckNvbG9yKTogRGVsZXRl
ZC4KKyAgICAgICAgKFdlYkNvcmU6OlByb3BlcnR5V3JhcHBlckFjY2VsZXJhdGVkT3BhY2l0eTo6
UHJvcGVydHlXcmFwcGVyQWNjZWxlcmF0ZWRPcGFjaXR5KTogRGVsZXRlZC4KKyAgICAgICAgKFdl
YkNvcmU6OlByb3BlcnR5V3JhcHBlckFjY2VsZXJhdGVkVHJhbnNmb3JtOjpQcm9wZXJ0eVdyYXBw
ZXJBY2NlbGVyYXRlZFRyYW5zZm9ybSk6IERlbGV0ZWQuCisKIDIwMjEtMDMtMDQgIEFudG9pbmUg
UXVpbnQgIDxncmFvdXRzQHdlYmtpdC5vcmc+CiAKICAgICAgICAgQWRqdXN0IHByb2dyZXNzIHBh
cmFtZXRlciBiZWZvcmUgY2FsbGluZyBibGVuZCgpIGZvciBkaXNjcmV0ZSBpbnRlcnBvbGF0aW9u
cwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0NTU1Byb3BlcnR5QW5pbWF0
aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9DU1NQcm9wZXJ0eUFuaW1hdGlvbi5j
cHAKaW5kZXggMDdjZjNiNzU5N2Y0YWJjYThhM2YzMTUwYTdlNjMwNjdhZDFmODA0Yy4uMGFlM2Ix
OTEwNWI0ZWRkZGQ1M2YxMTU5ZTQ3NzRlNGJkZGE4Y2M0MSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvYW5pbWF0aW9uL0NTU1Byb3BlcnR5QW5pbWF0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9hbmltYXRpb24vQ1NTUHJvcGVydHlBbmltYXRpb24uY3BwCkBAIC01OTMsNyArNTkzLDcg
QEAgcHVibGljOgogICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgIGlmICghYSB8fCAh
YikKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgcmV0dXJuIChhLT4qbV9nZXR0
ZXIpKCkgPT0gKGItPiptX2dldHRlcikoKTsKKyAgICAgICAgcmV0dXJuIHRoaXMtPnZhbHVlKGEp
ID09IHRoaXMtPnZhbHVlKGIpOwogICAgIH0KIAogICAgIFQgdmFsdWUoY29uc3QgUmVuZGVyU3R5
bGUqIGEpIGNvbnN0CkBAIC02MjQsNyArNjI0LDcgQEAgcHVibGljOgogCiAgICAgdm9pZCBibGVu
ZChjb25zdCBDU1NQcm9wZXJ0eUJsZW5kaW5nQ2xpZW50KiBhbmltLCBSZW5kZXJTdHlsZSogZHN0
LCBjb25zdCBSZW5kZXJTdHlsZSogYSwgY29uc3QgUmVuZGVyU3R5bGUqIGIsIGRvdWJsZSBwcm9n
cmVzcykgY29uc3Qgb3ZlcnJpZGUKICAgICB7Ci0gICAgICAgIChkc3QtPiptX3NldHRlcikoYmxl
bmRGdW5jKGFuaW0sIChhLT4qUHJvcGVydHlXcmFwcGVyR2V0dGVyPFQ+OjptX2dldHRlcikoKSwg
KGItPipQcm9wZXJ0eVdyYXBwZXJHZXR0ZXI8VD46Om1fZ2V0dGVyKSgpLCBwcm9ncmVzcykpOwor
ICAgICAgICAoZHN0LT4qbV9zZXR0ZXIpKGJsZW5kRnVuYyhhbmltLCB0aGlzLT52YWx1ZShhKSwg
dGhpcy0+dmFsdWUoYiksIHByb2dyZXNzKSk7CiAgICAgfQogCiBwcm90ZWN0ZWQ6CkBAIC02NjUs
NyArNjY1LDcgQEAgcHVibGljOgogCiAgICAgdm9pZCBibGVuZChjb25zdCBDU1NQcm9wZXJ0eUJs
ZW5kaW5nQ2xpZW50KiBhbmltLCBSZW5kZXJTdHlsZSogZHN0LCBjb25zdCBSZW5kZXJTdHlsZSog
YSwgY29uc3QgUmVuZGVyU3R5bGUqIGIsIGRvdWJsZSBwcm9ncmVzcykgY29uc3Qgb3ZlcnJpZGUK
ICAgICB7Ci0gICAgICAgIChkc3QtPiptX3NldHRlcikoYmxlbmRGdW5jKGFuaW0sIChhLT4qUHJv
cGVydHlXcmFwcGVyR2V0dGVyPFQqPjo6bV9nZXR0ZXIpKCksIChiLT4qUHJvcGVydHlXcmFwcGVy
R2V0dGVyPFQqPjo6bV9nZXR0ZXIpKCksIHByb2dyZXNzKSk7CisgICAgICAgIChkc3QtPiptX3Nl
dHRlcikoYmxlbmRGdW5jKGFuaW0sIHRoaXMtPnZhbHVlKGEpLCB0aGlzLT52YWx1ZShiKSwgcHJv
Z3Jlc3MpKTsKICAgICB9CiAKIHByb3RlY3RlZDoKQEAgLTY4MywxMiArNjgzLDEyIEBAIHB1Ymxp
YzoKIAogICAgIGJvb2wgY2FuSW50ZXJwb2xhdGUoY29uc3QgUmVuZGVyU3R5bGUqIGEsIGNvbnN0
IFJlbmRlclN0eWxlKiBiKSBjb25zdCBvdmVycmlkZQogICAgIHsKLSAgICAgICAgcmV0dXJuICEo
YS0+KlByb3BlcnR5V3JhcHBlckdldHRlcjxjb25zdCBMZW5ndGgmPjo6bV9nZXR0ZXIpKCkuaXNB
dXRvKCkgJiYgIShiLT4qUHJvcGVydHlXcmFwcGVyR2V0dGVyPGNvbnN0IExlbmd0aCY+OjptX2dl
dHRlcikoKS5pc0F1dG8oKTsKKyAgICAgICAgcmV0dXJuICF0aGlzLT52YWx1ZShhKS5pc0F1dG8o
KSAmJiAhdGhpcy0+dmFsdWUoYikuaXNBdXRvKCk7CiAgICAgfQogCiAgICAgdm9pZCBibGVuZChj
b25zdCBDU1NQcm9wZXJ0eUJsZW5kaW5nQ2xpZW50KiBhbmltLCBSZW5kZXJTdHlsZSogZHN0LCBj
b25zdCBSZW5kZXJTdHlsZSogYSwgY29uc3QgUmVuZGVyU3R5bGUqIGIsIGRvdWJsZSBwcm9ncmVz
cykgY29uc3Qgb3ZlcnJpZGUKICAgICB7Ci0gICAgICAgIChkc3QtPiptX3NldHRlcikoYmxlbmRG
dW5jKGFuaW0sIChhLT4qUHJvcGVydHlXcmFwcGVyR2V0dGVyPGNvbnN0IExlbmd0aCY+OjptX2dl
dHRlcikoKSwgKGItPipQcm9wZXJ0eVdyYXBwZXJHZXR0ZXI8Y29uc3QgTGVuZ3RoJj46Om1fZ2V0
dGVyKSgpLCBwcm9ncmVzcykpOworICAgICAgICAoZHN0LT4qbV9zZXR0ZXIpKGJsZW5kRnVuYyhh
bmltLCB0aGlzLT52YWx1ZShhKSwgdGhpcy0+dmFsdWUoYiksIHByb2dyZXNzKSk7CiAgICAgfQog
CiBwcm90ZWN0ZWQ6CkBAIC03MDUsNyArNzA1LDcgQEAgcHVibGljOgogCiAgICAgdm9pZCBibGVu
ZChjb25zdCBDU1NQcm9wZXJ0eUJsZW5kaW5nQ2xpZW50KiBhbmltLCBSZW5kZXJTdHlsZSogZHN0
LCBjb25zdCBSZW5kZXJTdHlsZSogYSwgY29uc3QgUmVuZGVyU3R5bGUqIGIsIGRvdWJsZSBwcm9n
cmVzcykgY29uc3Qgb3ZlcnJpZGUKICAgICB7Ci0gICAgICAgIChkc3QtPiptX3NldHRlcikoYmxl
bmRGdW5jKGFuaW0sIChhLT4qUHJvcGVydHlXcmFwcGVyR2V0dGVyPGNvbnN0IExlbmd0aCY+Ojpt
X2dldHRlcikoKSwgKGItPipQcm9wZXJ0eVdyYXBwZXJHZXR0ZXI8Y29uc3QgTGVuZ3RoJj46Om1f
Z2V0dGVyKSgpLCBwcm9ncmVzcywgVmFsdWVSYW5nZU5vbk5lZ2F0aXZlKSk7CisgICAgICAgIChk
c3QtPiptX3NldHRlcikoYmxlbmRGdW5jKGFuaW0sIHRoaXMtPnZhbHVlKGEpLCB0aGlzLT52YWx1
ZShiKSwgcHJvZ3Jlc3MsIFZhbHVlUmFuZ2VOb25OZWdhdGl2ZSkpOwogICAgIH0KIH07CiAKQEAg
LTcyMSw3ICs3MjEsNyBAQCBwdWJsaWM6CiAKICAgICB2b2lkIGJsZW5kKGNvbnN0IENTU1Byb3Bl
cnR5QmxlbmRpbmdDbGllbnQqIGFuaW0sIFJlbmRlclN0eWxlKiBkc3QsIGNvbnN0IFJlbmRlclN0
eWxlKiBhLCBjb25zdCBSZW5kZXJTdHlsZSogYiwgZG91YmxlIHByb2dyZXNzKSBjb25zdCBvdmVy
cmlkZQogICAgIHsKLSAgICAgICAgKGRzdC0+Km1fc2V0dGVyKShibGVuZEZ1bmMoYW5pbSwgKGEt
PipQcm9wZXJ0eVdyYXBwZXJHZXR0ZXI8Y29uc3QgVCY+OjptX2dldHRlcikoKSwgKGItPipQcm9w
ZXJ0eVdyYXBwZXJHZXR0ZXI8Y29uc3QgVCY+OjptX2dldHRlcikoKSwgcHJvZ3Jlc3MpKTsKKyAg
ICAgICAgKGRzdC0+Km1fc2V0dGVyKShibGVuZEZ1bmMoYW5pbSwgdGhpcy0+dmFsdWUoYSksIHRo
aXMtPnZhbHVlKGIpLCBwcm9ncmVzcykpOwogICAgIH0KIAogcHJvdGVjdGVkOgpAQCAtNzYxLDgg
Kzc2MSw4IEBAIHB1YmxpYzoKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgfTsK
IAotICAgICAgICBhdXRvJiBhTGVuZ3RoQm94ID0gKGEtPipQcm9wZXJ0eVdyYXBwZXJHZXR0ZXI8
Y29uc3QgTGVuZ3RoQm94Jj46Om1fZ2V0dGVyKSgpOwotICAgICAgICBhdXRvJiBiTGVuZ3RoQm94
ID0gKGItPipQcm9wZXJ0eVdyYXBwZXJHZXR0ZXI8Y29uc3QgTGVuZ3RoQm94Jj46Om1fZ2V0dGVy
KSgpOworICAgICAgICBhdXRvJiBhTGVuZ3RoQm94ID0gdGhpcy0+dmFsdWUoYSk7CisgICAgICAg
IGF1dG8mIGJMZW5ndGhCb3ggPSB0aGlzLT52YWx1ZShiKTsKICAgICAgICAgcmV0dXJuIGNhbklu
dGVycG9sYXRlQmV0d2Vlbkxlbmd0aHMoYUxlbmd0aEJveC50b3AoKSwgYkxlbmd0aEJveC50b3Ao
KSkKICAgICAgICAgICAgICYmIGNhbkludGVycG9sYXRlQmV0d2Vlbkxlbmd0aHMoYUxlbmd0aEJv
eC5yaWdodCgpLCBiTGVuZ3RoQm94LnJpZ2h0KCkpCiAgICAgICAgICAgICAmJiBjYW5JbnRlcnBv
bGF0ZUJldHdlZW5MZW5ndGhzKGFMZW5ndGhCb3guYm90dG9tKCksIGJMZW5ndGhCb3guYm90dG9t
KCkpCkBAIC04MDAsOCArODAwLDggQEAgcHVibGljOgogICAgICAgICBpZiAoIWEgfHwgIWIpCiAg
ICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICAgICAgQ2xpcFBhdGhPcGVyYXRpb24qIGNs
aXBQYXRoQSA9IChhLT4qbV9nZXR0ZXIpKCk7Ci0gICAgICAgIENsaXBQYXRoT3BlcmF0aW9uKiBj
bGlwUGF0aEIgPSAoYi0+Km1fZ2V0dGVyKSgpOworICAgICAgICBhdXRvKiBjbGlwUGF0aEEgPSB0
aGlzLT52YWx1ZShhKTsKKyAgICAgICAgYXV0byogY2xpcFBhdGhCID0gdGhpcy0+dmFsdWUoYik7
CiAgICAgICAgIGlmIChjbGlwUGF0aEEgPT0gY2xpcFBhdGhCKQogICAgICAgICAgICAgcmV0dXJu
IHRydWU7CiAgICAgICAgIGlmICghY2xpcFBhdGhBIHx8ICFjbGlwUGF0aEIpCkBAIC04MjcsMTAg
KzgyNyw3IEBAIHB1YmxpYzoKICAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgICBpZiAo
IWEgfHwgIWIpCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0KLSAgICAgICAgY29uc3QgRm9u
dFZhcmlhdGlvblNldHRpbmdzJiB2YXJpYXRpb25TZXR0aW5nc0EgPSAoYS0+Km1fZ2V0dGVyKSgp
OwotICAgICAgICBjb25zdCBGb250VmFyaWF0aW9uU2V0dGluZ3MmIHZhcmlhdGlvblNldHRpbmdz
QiA9IChiLT4qbV9nZXR0ZXIpKCk7Ci0gICAgICAgIHJldHVybiB2YXJpYXRpb25TZXR0aW5nc0Eg
PT0gdmFyaWF0aW9uU2V0dGluZ3NCOworICAgICAgICByZXR1cm4gdGhpcy0+dmFsdWUoYSkgPT0g
dGhpcy0+dmFsdWUoYik7CiAgICAgfQogfTsKICNlbmRpZgpAQCAtODUyLDggKzg0OSw4IEBAIHB1
YmxpYzoKICAgICAgICAgaWYgKCFhIHx8ICFiKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwog
Ci0gICAgICAgIFNoYXBlVmFsdWUqIHNoYXBlQSA9IChhLT4qbV9nZXR0ZXIpKCk7Ci0gICAgICAg
IFNoYXBlVmFsdWUqIHNoYXBlQiA9IChiLT4qbV9nZXR0ZXIpKCk7CisgICAgICAgIGF1dG8qIHNo
YXBlQSA9IHRoaXMtPnZhbHVlKGEpOworICAgICAgICBhdXRvKiBzaGFwZUIgPSB0aGlzLT52YWx1
ZShiKTsKICAgICAgICAgaWYgKHNoYXBlQSA9PSBzaGFwZUIpCiAgICAgICAgICAgICByZXR1cm4g
dHJ1ZTsKICAgICAgICAgaWYgKCFzaGFwZUEgfHwgIXNoYXBlQikKQEAgLTg3NywxMDEgKzg3NCwz
MSBAQCBwdWJsaWM6CiAgICAgICAgIGlmICghYSB8fCAhYikKICAgICAgICAgICAgIHJldHVybiBm
YWxzZTsKIAotICAgICAgICBTdHlsZUltYWdlKiBpbWFnZUEgPSAoYS0+Km1fZ2V0dGVyKSgpOwot
ICAgICAgICBTdHlsZUltYWdlKiBpbWFnZUIgPSAoYi0+Km1fZ2V0dGVyKSgpOworICAgICAgICBh
dXRvKiBpbWFnZUEgPSB0aGlzLT52YWx1ZShhKTsKKyAgICAgICAgYXV0byogaW1hZ2VCID0gdGhp
cy0+dmFsdWUoYik7CiAgICAgICAgIHJldHVybiBhcmVQb2ludGluZ1RvRXF1YWxEYXRhKGltYWdl
QSwgaW1hZ2VCKTsKICAgICB9CiB9OwogCi1jbGFzcyBQcm9wZXJ0eVdyYXBwZXJDb2xvciA6IHB1
YmxpYyBQcm9wZXJ0eVdyYXBwZXJHZXR0ZXI8Y29uc3QgQ29sb3ImPiB7Ci0gICAgV1RGX01BS0Vf
RkFTVF9BTExPQ0FURUQ7Ci1wdWJsaWM6Ci0gICAgUHJvcGVydHlXcmFwcGVyQ29sb3IoQ1NTUHJv
cGVydHlJRCBwcm9wLCBjb25zdCBDb2xvciYgKFJlbmRlclN0eWxlOjoqZ2V0dGVyKSgpIGNvbnN0
LCB2b2lkIChSZW5kZXJTdHlsZTo6KnNldHRlcikoY29uc3QgQ29sb3ImKSkKLSAgICAgICAgOiBQ
cm9wZXJ0eVdyYXBwZXJHZXR0ZXI8Y29uc3QgQ29sb3ImPihwcm9wLCBnZXR0ZXIpCi0gICAgICAg
ICwgbV9zZXR0ZXIoc2V0dGVyKQotICAgIHsKLSAgICB9Ci0KLSAgICB2b2lkIGJsZW5kKGNvbnN0
IENTU1Byb3BlcnR5QmxlbmRpbmdDbGllbnQqIGFuaW0sIFJlbmRlclN0eWxlKiBkc3QsIGNvbnN0
IFJlbmRlclN0eWxlKiBhLCBjb25zdCBSZW5kZXJTdHlsZSogYiwgZG91YmxlIHByb2dyZXNzKSBj
b25zdCBvdmVycmlkZQotICAgIHsKLSAgICAgICAgKGRzdC0+Km1fc2V0dGVyKShibGVuZEZ1bmMo
YW5pbSwgKGEtPipQcm9wZXJ0eVdyYXBwZXJHZXR0ZXI8Y29uc3QgQ29sb3ImPjo6bV9nZXR0ZXIp
KCksIChiLT4qUHJvcGVydHlXcmFwcGVyR2V0dGVyPGNvbnN0IENvbG9yJj46Om1fZ2V0dGVyKSgp
LCBwcm9ncmVzcykpOwotICAgIH0KLQotcHJvdGVjdGVkOgotICAgIHZvaWQgKFJlbmRlclN0eWxl
OjoqbV9zZXR0ZXIpKGNvbnN0IENvbG9yJik7Ci19OwotCi1jbGFzcyBQcm9wZXJ0eVdyYXBwZXJB
Y2NlbGVyYXRlZE9wYWNpdHkgOiBwdWJsaWMgUHJvcGVydHlXcmFwcGVyPGZsb2F0PiB7Ci0gICAg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7Ci1wdWJsaWM6Ci0gICAgUHJvcGVydHlXcmFwcGVyQWNj
ZWxlcmF0ZWRPcGFjaXR5KCkKLSAgICAgICAgOiBQcm9wZXJ0eVdyYXBwZXI8ZmxvYXQ+KENTU1By
b3BlcnR5T3BhY2l0eSwgJlJlbmRlclN0eWxlOjpvcGFjaXR5LCAmUmVuZGVyU3R5bGU6OnNldE9w
YWNpdHkpCi0gICAgewotICAgIH0KLQotICAgIGJvb2wgYW5pbWF0aW9uSXNBY2NlbGVyYXRlZCgp
IGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIHRydWU7IH0KLQotICAgIHZvaWQgYmxlbmQoY29uc3Qg
Q1NTUHJvcGVydHlCbGVuZGluZ0NsaWVudCogYW5pbSwgUmVuZGVyU3R5bGUqIGRzdCwgY29uc3Qg
UmVuZGVyU3R5bGUqIGEsIGNvbnN0IFJlbmRlclN0eWxlKiBiLCBkb3VibGUgcHJvZ3Jlc3MpIGNv
bnN0IG92ZXJyaWRlCi0gICAgewotICAgICAgICBkc3QtPnNldE9wYWNpdHkoYmxlbmRGdW5jKGFu
aW0sIGEtPm9wYWNpdHkoKSwgYi0+b3BhY2l0eSgpLCBwcm9ncmVzcykpOwotICAgIH0KLX07Ci0K
LWNsYXNzIFByb3BlcnR5V3JhcHBlckFjY2VsZXJhdGVkVHJhbnNmb3JtIDogcHVibGljIFByb3Bl
cnR5V3JhcHBlcjxjb25zdCBUcmFuc2Zvcm1PcGVyYXRpb25zJj4gewotICAgIFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVEOwotcHVibGljOgotICAgIFByb3BlcnR5V3JhcHBlckFjY2VsZXJhdGVkVHJh
bnNmb3JtKCkKLSAgICAgICAgOiBQcm9wZXJ0eVdyYXBwZXI8Y29uc3QgVHJhbnNmb3JtT3BlcmF0
aW9ucyY+KENTU1Byb3BlcnR5VHJhbnNmb3JtLCAmUmVuZGVyU3R5bGU6OnRyYW5zZm9ybSwgJlJl
bmRlclN0eWxlOjpzZXRUcmFuc2Zvcm0pCi0gICAgewotICAgIH0KLQotICAgIGJvb2wgYW5pbWF0
aW9uSXNBY2NlbGVyYXRlZCgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIHRydWU7IH0KLQotICAg
IHZvaWQgYmxlbmQoY29uc3QgQ1NTUHJvcGVydHlCbGVuZGluZ0NsaWVudCogYW5pbSwgUmVuZGVy
U3R5bGUqIGRzdCwgY29uc3QgUmVuZGVyU3R5bGUqIGEsIGNvbnN0IFJlbmRlclN0eWxlKiBiLCBk
b3VibGUgcHJvZ3Jlc3MpIGNvbnN0IG92ZXJyaWRlCi0gICAgewotICAgICAgICBkc3QtPnNldFRy
YW5zZm9ybShibGVuZEZ1bmMoYW5pbSwgYS0+dHJhbnNmb3JtKCksIGItPnRyYW5zZm9ybSgpLCBw
cm9ncmVzcykpOwotICAgIH0KLX07Ci0KLWNsYXNzIFByb3BlcnR5V3JhcHBlclNjYWxlIGZpbmFs
IDogcHVibGljIFJlZkNvdW50ZWRQcm9wZXJ0eVdyYXBwZXI8U2NhbGVUcmFuc2Zvcm1PcGVyYXRp
b24+IHsKLSAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKLXB1YmxpYzoKLSAgICBQcm9wZXJ0
eVdyYXBwZXJTY2FsZSgpCi0gICAgICAgIDogUmVmQ291bnRlZFByb3BlcnR5V3JhcHBlcjxTY2Fs
ZVRyYW5zZm9ybU9wZXJhdGlvbj4oQ1NTUHJvcGVydHlTY2FsZSwgJlJlbmRlclN0eWxlOjpzY2Fs
ZSwgJlJlbmRlclN0eWxlOjpzZXRTY2FsZSkKLSAgICB7Ci0gICAgfQotCi1wcml2YXRlOgotICAg
IGJvb2wgYW5pbWF0aW9uSXNBY2NlbGVyYXRlZCgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIHRydWU7
IH0KLQotICAgIGJvb2wgZXF1YWxzKGNvbnN0IFJlbmRlclN0eWxlKiBhLCBjb25zdCBSZW5kZXJT
dHlsZSogYikgY29uc3QgZmluYWwKLSAgICB7Ci0gICAgICAgIHJldHVybiBhcmVQb2ludGluZ1Rv
RXF1YWxEYXRhKChhLT4qbV9nZXR0ZXIpKCksIChiLT4qbV9nZXR0ZXIpKCkpOwotICAgIH0KLX07
Ci0KLWNsYXNzIFByb3BlcnR5V3JhcHBlclJvdGF0ZSBmaW5hbCA6IHB1YmxpYyBSZWZDb3VudGVk
UHJvcGVydHlXcmFwcGVyPFJvdGF0ZVRyYW5zZm9ybU9wZXJhdGlvbj4gewordGVtcGxhdGUgPHR5
cGVuYW1lIFQ+CitjbGFzcyBBY2NlbGVyYXRlZFByb3BlcnR5V3JhcHBlciA6IHB1YmxpYyBQcm9w
ZXJ0eVdyYXBwZXI8VD4gewogICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgot
ICAgIFByb3BlcnR5V3JhcHBlclJvdGF0ZSgpCi0gICAgICAgIDogUmVmQ291bnRlZFByb3BlcnR5
V3JhcHBlcjxSb3RhdGVUcmFuc2Zvcm1PcGVyYXRpb24+KENTU1Byb3BlcnR5Um90YXRlLCAmUmVu
ZGVyU3R5bGU6OnJvdGF0ZSwgJlJlbmRlclN0eWxlOjpzZXRSb3RhdGUpCisgICAgQWNjZWxlcmF0
ZWRQcm9wZXJ0eVdyYXBwZXIoQ1NTUHJvcGVydHlJRCBwcm9wLCBUIChSZW5kZXJTdHlsZTo6Kmdl
dHRlcikoKSBjb25zdCwgdm9pZCAoUmVuZGVyU3R5bGU6OipzZXR0ZXIpKFQpKQorICAgICAgICA6
IFByb3BlcnR5V3JhcHBlcjxUPihwcm9wLCBnZXR0ZXIsIHNldHRlcikKICAgICB7CiAgICAgfQog
CiBwcml2YXRlOgotICAgIGJvb2wgYW5pbWF0aW9uSXNBY2NlbGVyYXRlZCgpIGNvbnN0IGZpbmFs
IHsgcmV0dXJuIHRydWU7IH0KLQotICAgIGJvb2wgZXF1YWxzKGNvbnN0IFJlbmRlclN0eWxlKiBh
LCBjb25zdCBSZW5kZXJTdHlsZSogYikgY29uc3QgZmluYWwKLSAgICB7Ci0gICAgICAgIHJldHVy
biBhcmVQb2ludGluZ1RvRXF1YWxEYXRhKChhLT4qbV9nZXR0ZXIpKCksIChiLT4qbV9nZXR0ZXIp
KCkpOwotICAgIH0KKyAgICBib29sIGFuaW1hdGlvbklzQWNjZWxlcmF0ZWQoKSBjb25zdCBvdmVy
cmlkZSB7IHJldHVybiB0cnVlOyB9CiB9OwogCi1jbGFzcyBQcm9wZXJ0eVdyYXBwZXJUcmFuc2xh
dGUgZmluYWwgOiBwdWJsaWMgUmVmQ291bnRlZFByb3BlcnR5V3JhcHBlcjxUcmFuc2xhdGVUcmFu
c2Zvcm1PcGVyYXRpb24+IHsKK3RlbXBsYXRlIDx0eXBlbmFtZSBUPgorY2xhc3MgQWNjZWxlcmF0
ZWRJbmRpdmlkdWFsVHJhbnNmb3JtUHJvcGVydHlXcmFwcGVyIGZpbmFsIDogcHVibGljIFJlZkNv
dW50ZWRQcm9wZXJ0eVdyYXBwZXI8VD4gewogICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwog
cHVibGljOgotICAgIFByb3BlcnR5V3JhcHBlclRyYW5zbGF0ZSgpCi0gICAgICAgIDogUmVmQ291
bnRlZFByb3BlcnR5V3JhcHBlcjxUcmFuc2xhdGVUcmFuc2Zvcm1PcGVyYXRpb24+KENTU1Byb3Bl
cnR5VHJhbnNsYXRlLCAmUmVuZGVyU3R5bGU6OnRyYW5zbGF0ZSwgJlJlbmRlclN0eWxlOjpzZXRU
cmFuc2xhdGUpCisgICAgQWNjZWxlcmF0ZWRJbmRpdmlkdWFsVHJhbnNmb3JtUHJvcGVydHlXcmFw
cGVyKENTU1Byb3BlcnR5SUQgcHJvcCwgVCogKFJlbmRlclN0eWxlOjoqZ2V0dGVyKSgpIGNvbnN0
LCB2b2lkIChSZW5kZXJTdHlsZTo6KnNldHRlcikoUmVmUHRyPFQ+JiYpKQorICAgICAgICA6IFJl
ZkNvdW50ZWRQcm9wZXJ0eVdyYXBwZXI8VD4ocHJvcCwgZ2V0dGVyLCBzZXR0ZXIpCiAgICAgewog
ICAgIH0KIApAQCAtOTgwLDcgKzkwNyw3IEBAIHByaXZhdGU6CiAKICAgICBib29sIGVxdWFscyhj
b25zdCBSZW5kZXJTdHlsZSogYSwgY29uc3QgUmVuZGVyU3R5bGUqIGIpIGNvbnN0IGZpbmFsCiAg
ICAgewotICAgICAgICByZXR1cm4gYXJlUG9pbnRpbmdUb0VxdWFsRGF0YSgoYS0+Km1fZ2V0dGVy
KSgpLCAoYi0+Km1fZ2V0dGVyKSgpKTsKKyAgICAgICAgcmV0dXJuIGFyZVBvaW50aW5nVG9FcXVh
bERhdGEodGhpcy0+dmFsdWUoYSksIHRoaXMtPnZhbHVlKGIpKTsKICAgICB9CiB9OwogCkBAIC0x
MDAzLDcgKzkzMCw3IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgYmxlbmQoY29uc3QgQ1NTUHJvcGVy
dHlCbGVuZGluZ0NsaWVudCogYW5pbSwgUmVuZGVyU3R5bGUqIGRzdCwgY29uc3QgUmVuZGVyU3R5
bGUqIGEsIGNvbnN0IFJlbmRlclN0eWxlKiBiLCBkb3VibGUgcHJvZ3Jlc3MpIGNvbnN0IG92ZXJy
aWRlCiAgICAgewotICAgICAgICAoZHN0LT4qbV9zZXR0ZXIpKGJsZW5kRnVuYyhhbmltLCAoYS0+
KlByb3BlcnR5V3JhcHBlckdldHRlcjxjb25zdCBGaWx0ZXJPcGVyYXRpb25zJj46Om1fZ2V0dGVy
KSgpLCAoYi0+KlByb3BlcnR5V3JhcHBlckdldHRlcjxjb25zdCBGaWx0ZXJPcGVyYXRpb25zJj46
Om1fZ2V0dGVyKSgpLCBwcm9ncmVzcywgcHJvcGVydHkoKSkpOworICAgICAgICAoZHN0LT4qbV9z
ZXR0ZXIpKGJsZW5kRnVuYyhhbmltLCB0aGlzLT52YWx1ZShhKSwgdGhpcy0+dmFsdWUoYiksIHBy
b2dyZXNzLCBwcm9wZXJ0eSgpKSk7CiAgICAgfQogfTsKIApAQCAtMTIzMSw4ICsxMTU4LDggQEAg
Y2xhc3MgUHJvcGVydHlXcmFwcGVyVmlzaXRlZEFmZmVjdGVkQ29sb3IgOiBwdWJsaWMgQW5pbWF0
aW9uUHJvcGVydHlXcmFwcGVyQmFzZQogcHVibGljOgogICAgIFByb3BlcnR5V3JhcHBlclZpc2l0
ZWRBZmZlY3RlZENvbG9yKENTU1Byb3BlcnR5SUQgcHJvcCwgY29uc3QgQ29sb3ImIChSZW5kZXJT
dHlsZTo6KmdldHRlcikoKSBjb25zdCwgdm9pZCAoUmVuZGVyU3R5bGU6OipzZXR0ZXIpKGNvbnN0
IENvbG9yJiksIGNvbnN0IENvbG9yJiAoUmVuZGVyU3R5bGU6Oip2aXNpdGVkR2V0dGVyKSgpIGNv
bnN0LCB2b2lkIChSZW5kZXJTdHlsZTo6KnZpc2l0ZWRTZXR0ZXIpKGNvbnN0IENvbG9yJikpCiAg
ICAgICAgIDogQW5pbWF0aW9uUHJvcGVydHlXcmFwcGVyQmFzZShwcm9wKQotICAgICAgICAsIG1f
d3JhcHBlcihtYWtlVW5pcXVlPFByb3BlcnR5V3JhcHBlckNvbG9yPihwcm9wLCBnZXR0ZXIsIHNl
dHRlcikpCi0gICAgICAgICwgbV92aXNpdGVkV3JhcHBlcihtYWtlVW5pcXVlPFByb3BlcnR5V3Jh
cHBlckNvbG9yPihwcm9wLCB2aXNpdGVkR2V0dGVyLCB2aXNpdGVkU2V0dGVyKSkKKyAgICAgICAg
LCBtX3dyYXBwZXIobWFrZVVuaXF1ZTxQcm9wZXJ0eVdyYXBwZXI8Y29uc3QgQ29sb3ImPj4ocHJv
cCwgZ2V0dGVyLCBzZXR0ZXIpKQorICAgICAgICAsIG1fdmlzaXRlZFdyYXBwZXIobWFrZVVuaXF1
ZTxQcm9wZXJ0eVdyYXBwZXI8Y29uc3QgQ29sb3ImPj4ocHJvcCwgdmlzaXRlZEdldHRlciwgdmlz
aXRlZFNldHRlcikpCiAgICAgewogICAgIH0KICAgICBQcm9wZXJ0eVdyYXBwZXJWaXNpdGVkQWZm
ZWN0ZWRDb2xvcihDU1NQcm9wZXJ0eUlEIHByb3AsIE1heWJlSW52YWxpZENvbG9yVGFnLCBjb25z
dCBDb2xvciYgKFJlbmRlclN0eWxlOjoqZ2V0dGVyKSgpIGNvbnN0LCB2b2lkIChSZW5kZXJTdHls
ZTo6KnNldHRlcikoY29uc3QgQ29sb3ImKSwgY29uc3QgQ29sb3ImIChSZW5kZXJTdHlsZTo6KnZp
c2l0ZWRHZXR0ZXIpKCkgY29uc3QsIHZvaWQgKFJlbmRlclN0eWxlOjoqdmlzaXRlZFNldHRlciko
Y29uc3QgQ29sb3ImKSkKQEAgLTEzMDMsNyArMTIzMCw3IEBAIHB1YmxpYzoKICAgICAgICAgICAg
IHJldHVybiB0cnVlOwogICAgICAgICBpZiAoIWEgfHwgIWIpCiAgICAgICAgICAgICByZXR1cm4g
ZmFsc2U7Ci0gICAgICAgIHJldHVybiAoYS0+Km1fZ2V0dGVyKSgpID09IChiLT4qbV9nZXR0ZXIp
KCk7CisgICAgICAgIHJldHVybiB0aGlzLT52YWx1ZShhKSA9PSB0aGlzLT52YWx1ZShiKTsKICAg
ICB9CiAKICAgICBUIHZhbHVlKGNvbnN0IEZpbGxMYXllciogbGF5ZXIpIGNvbnN0CkBAIC0xMzM0
LDcgKzEyNjEsNyBAQCBwdWJsaWM6CiAKICAgICB2b2lkIGJsZW5kKGNvbnN0IENTU1Byb3BlcnR5
QmxlbmRpbmdDbGllbnQqIGFuaW0sIEZpbGxMYXllciogZHN0LCBjb25zdCBGaWxsTGF5ZXIqIGEs
IGNvbnN0IEZpbGxMYXllciogYiwgZG91YmxlIHByb2dyZXNzKSBjb25zdCBvdmVycmlkZQogICAg
IHsKLSAgICAgICAgKGRzdC0+Km1fc2V0dGVyKShibGVuZEZ1bmMoYW5pbSwgKGEtPipGaWxsTGF5
ZXJQcm9wZXJ0eVdyYXBwZXJHZXR0ZXI8Y29uc3QgVCY+OjptX2dldHRlcikoKSwgKGItPipGaWxs
TGF5ZXJQcm9wZXJ0eVdyYXBwZXJHZXR0ZXI8Y29uc3QgVCY+OjptX2dldHRlcikoKSwgcHJvZ3Jl
c3MpKTsKKyAgICAgICAgKGRzdC0+Km1fc2V0dGVyKShibGVuZEZ1bmMoYW5pbSwgdGhpcy0+dmFs
dWUoYSksIHRoaXMtPnZhbHVlKGIpLCBwcm9ncmVzcykpOwogICAgIH0KIAogI2lmICFMT0dfRElT
QUJMRUQKQEAgLTEzNzAsOCArMTI5Nyw4IEBAIHB1YmxpYzoKICAgICAgICAgaWYgKCFhIHx8ICFi
KQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0gICAgICAgIExlbmd0aCBmcm9tTGVuZ3Ro
ID0gKGEtPipGaWxsTGF5ZXJQcm9wZXJ0eVdyYXBwZXJHZXR0ZXI8Y29uc3QgTGVuZ3RoJj46Om1f
Z2V0dGVyKSgpOwotICAgICAgICBMZW5ndGggdG9MZW5ndGggPSAoYi0+KkZpbGxMYXllclByb3Bl
cnR5V3JhcHBlckdldHRlcjxjb25zdCBMZW5ndGgmPjo6bV9nZXR0ZXIpKCk7CisgICAgICAgIGF1
dG8gZnJvbUxlbmd0aCA9IHRoaXMtPnZhbHVlKGEpOworICAgICAgICBhdXRvIHRvTGVuZ3RoID0g
dGhpcy0+dmFsdWUoYik7CiAgICAgICAgIAogICAgICAgICBFZGdlIGZyb21FZGdlID0gKGEtPipt
X29yaWdpbkdldHRlcikoKTsKICAgICAgICAgRWRnZSB0b0VkZ2UgPSAoYi0+Km1fb3JpZ2luR2V0
dGVyKSgpOwpAQCAtMTM4MSw4ICsxMzA4LDggQEAgcHVibGljOgogCiAgICAgdm9pZCBibGVuZChj
b25zdCBDU1NQcm9wZXJ0eUJsZW5kaW5nQ2xpZW50KiBhbmltLCBGaWxsTGF5ZXIqIGRzdCwgY29u
c3QgRmlsbExheWVyKiBhLCBjb25zdCBGaWxsTGF5ZXIqIGIsIGRvdWJsZSBwcm9ncmVzcykgY29u
c3Qgb3ZlcnJpZGUKICAgICB7Ci0gICAgICAgIExlbmd0aCBmcm9tTGVuZ3RoID0gKGEtPipGaWxs
TGF5ZXJQcm9wZXJ0eVdyYXBwZXJHZXR0ZXI8Y29uc3QgTGVuZ3RoJj46Om1fZ2V0dGVyKSgpOwot
ICAgICAgICBMZW5ndGggdG9MZW5ndGggPSAoYi0+KkZpbGxMYXllclByb3BlcnR5V3JhcHBlckdl
dHRlcjxjb25zdCBMZW5ndGgmPjo6bV9nZXR0ZXIpKCk7CisgICAgICAgIGF1dG8gZnJvbUxlbmd0
aCA9IHRoaXMtPnZhbHVlKGEpOworICAgICAgICBhdXRvIHRvTGVuZ3RoID0gdGhpcy0+dmFsdWUo
Yik7CiAgICAgICAgIAogICAgICAgICBFZGdlIGZyb21FZGdlID0gKGEtPiptX29yaWdpbkdldHRl
cikoKTsKICAgICAgICAgRWRnZSB0b0VkZ2UgPSAoYi0+Km1fb3JpZ2luR2V0dGVyKSgpOwpAQCAt
MTQyNiw3ICsxMzUzLDcgQEAgcHVibGljOgogCiAgICAgdm9pZCBibGVuZChjb25zdCBDU1NQcm9w
ZXJ0eUJsZW5kaW5nQ2xpZW50KiBhbmltLCBGaWxsTGF5ZXIqIGRzdCwgY29uc3QgRmlsbExheWVy
KiBhLCBjb25zdCBGaWxsTGF5ZXIqIGIsIGRvdWJsZSBwcm9ncmVzcykgY29uc3Qgb3ZlcnJpZGUK
ICAgICB7Ci0gICAgICAgIChkc3QtPiptX3NldHRlcikoYmxlbmRGdW5jKGFuaW0sIChhLT4qRmls
bExheWVyUHJvcGVydHlXcmFwcGVyR2V0dGVyPFQqPjo6bV9nZXR0ZXIpKCksIChiLT4qRmlsbExh
eWVyUHJvcGVydHlXcmFwcGVyR2V0dGVyPFQqPjo6bV9nZXR0ZXIpKCksIHByb2dyZXNzKSk7Cisg
ICAgICAgIChkc3QtPiptX3NldHRlcikoYmxlbmRGdW5jKGFuaW0sIHRoaXMtPnZhbHVlKGEpLCB0
aGlzLT52YWx1ZShiKSwgcHJvZ3Jlc3MpKTsKICAgICB9CiAKICNpZiAhTE9HX0RJU0FCTEVECkBA
IC0xNDU3LDEwICsxMzg0LDcgQEAgcHVibGljOgogICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAg
ICAgICAgIGlmICghYSB8fCAhYikKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgICAg
ICBTdHlsZUltYWdlKiBpbWFnZUEgPSAoYS0+Km1fZ2V0dGVyKSgpOwotICAgICAgICBTdHlsZUlt
YWdlKiBpbWFnZUIgPSAoYi0+Km1fZ2V0dGVyKSgpOwotICAgICAgICByZXR1cm4gYXJlUG9pbnRp
bmdUb0VxdWFsRGF0YShpbWFnZUEsIGltYWdlQik7CisgICAgICAgIHJldHVybiBhcmVQb2ludGlu
Z1RvRXF1YWxEYXRhKHRoaXMtPnZhbHVlKGEpLCB0aGlzLT52YWx1ZShiKSk7CiAgICAgfQogCiAj
aWYgIUxPR19ESVNBQkxFRApAQCAtMTg5MywxMiArMTgxNywxMiBAQCBDU1NQcm9wZXJ0eUFuaW1h
dGlvbldyYXBwZXJNYXA6OkNTU1Byb3BlcnR5QW5pbWF0aW9uV3JhcHBlck1hcCgpCiAKICAgICAg
ICAgbmV3IExlbmd0aEJveFByb3BlcnR5V3JhcHBlcihDU1NQcm9wZXJ0eUNsaXAsICZSZW5kZXJT
dHlsZTo6Y2xpcCwgJlJlbmRlclN0eWxlOjpzZXRDbGlwKSwKIAotICAgICAgICBuZXcgUHJvcGVy
dHlXcmFwcGVyQWNjZWxlcmF0ZWRPcGFjaXR5KCksCi0gICAgICAgIG5ldyBQcm9wZXJ0eVdyYXBw
ZXJBY2NlbGVyYXRlZFRyYW5zZm9ybSgpLAorICAgICAgICBuZXcgQWNjZWxlcmF0ZWRQcm9wZXJ0
eVdyYXBwZXI8ZmxvYXQ+KENTU1Byb3BlcnR5T3BhY2l0eSwgJlJlbmRlclN0eWxlOjpvcGFjaXR5
LCAmUmVuZGVyU3R5bGU6OnNldE9wYWNpdHkpLAorICAgICAgICBuZXcgQWNjZWxlcmF0ZWRQcm9w
ZXJ0eVdyYXBwZXI8Y29uc3QgVHJhbnNmb3JtT3BlcmF0aW9ucyY+KENTU1Byb3BlcnR5VHJhbnNm
b3JtLCAmUmVuZGVyU3R5bGU6OnRyYW5zZm9ybSwgJlJlbmRlclN0eWxlOjpzZXRUcmFuc2Zvcm0p
LAogCi0gICAgICAgIG5ldyBQcm9wZXJ0eVdyYXBwZXJTY2FsZSwKLSAgICAgICAgbmV3IFByb3Bl
cnR5V3JhcHBlclJvdGF0ZSwKLSAgICAgICAgbmV3IFByb3BlcnR5V3JhcHBlclRyYW5zbGF0ZSwK
KyAgICAgICAgbmV3IEFjY2VsZXJhdGVkSW5kaXZpZHVhbFRyYW5zZm9ybVByb3BlcnR5V3JhcHBl
cjxTY2FsZVRyYW5zZm9ybU9wZXJhdGlvbj4oQ1NTUHJvcGVydHlTY2FsZSwgJlJlbmRlclN0eWxl
OjpzY2FsZSwgJlJlbmRlclN0eWxlOjpzZXRTY2FsZSksCisgICAgICAgIG5ldyBBY2NlbGVyYXRl
ZEluZGl2aWR1YWxUcmFuc2Zvcm1Qcm9wZXJ0eVdyYXBwZXI8Um90YXRlVHJhbnNmb3JtT3BlcmF0
aW9uPihDU1NQcm9wZXJ0eVJvdGF0ZSwgJlJlbmRlclN0eWxlOjpyb3RhdGUsICZSZW5kZXJTdHls
ZTo6c2V0Um90YXRlKSwKKyAgICAgICAgbmV3IEFjY2VsZXJhdGVkSW5kaXZpZHVhbFRyYW5zZm9y
bVByb3BlcnR5V3JhcHBlcjxUcmFuc2xhdGVUcmFuc2Zvcm1PcGVyYXRpb24+KENTU1Byb3BlcnR5
VHJhbnNsYXRlLCAmUmVuZGVyU3R5bGU6OnRyYW5zbGF0ZSwgJlJlbmRlclN0eWxlOjpzZXRUcmFu
c2xhdGUpLAogCiAgICAgICAgIG5ldyBQcm9wZXJ0eVdyYXBwZXJGaWx0ZXIoQ1NTUHJvcGVydHlG
aWx0ZXIsICZSZW5kZXJTdHlsZTo6ZmlsdGVyLCAmUmVuZGVyU3R5bGU6OnNldEZpbHRlciksCiAj
aWYgRU5BQkxFKEZJTFRFUlNfTEVWRUxfMikK
</data>
<flag name="review"
          id="441312"
          type_id="1"
          status="+"
          setter="dino"
    />
    <flag name="commit-queue"
          id="441378"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
      

    </bug>

</bugzilla>