<?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>219022</bug_id>
          
          <creation_ts>2020-11-16 22:24:36 -0800</creation_ts>
          <short_desc>Use SetForScope to temporarily change members of TextureMapperPaintOptions instead of copying all members</short_desc>
          <delta_ts>2020-11-17 16:51:19 -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>Platform</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="Fujii Hironori">fujii</reporter>
          <assigned_to name="Fujii Hironori">fujii</assigned_to>
          <cc>cgarcia</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>don.olmstead</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>luiz</cc>
    
    <cc>magomez</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>zan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1708127</commentid>
    <comment_count>0</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2020-11-16 22:24:36 -0800</bug_when>
    <thetext>Use SetForScope to temporarily change members of TextureMapperPaintOptions instead of copying all memebers</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1708132</commentid>
    <comment_count>1</comment_count>
      <attachid>414309</attachid>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2020-11-16 22:29:53 -0800</bug_when>
    <thetext>Created attachment 414309
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1708148</commentid>
    <comment_count>2</comment_count>
      <attachid>414309</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2020-11-17 00:47:17 -0800</bug_when>
    <thetext>Comment on attachment 414309
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=414309&amp;action=review

&gt; Source/WebCore/ChangeLog:9
&gt; +        just to change some memebers. Use WTF::SetForScope to temporarily

members</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1708151</commentid>
    <comment_count>3</comment_count>
      <attachid>414309</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2020-11-17 01:29:28 -0800</bug_when>
    <thetext>Comment on attachment 414309
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=414309&amp;action=review

&gt; Source/WebCore/platform/graphics/texmap/TextureMapperLayer.cpp:473
&gt; +        surface = options.surface;

Is this intended? It deviates from the previous behavior.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1708156</commentid>
    <comment_count>4</comment_count>
      <attachid>414309</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2020-11-17 01:37:23 -0800</bug_when>
    <thetext>Comment on attachment 414309
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=414309&amp;action=review

&gt;&gt; Source/WebCore/platform/graphics/texmap/TextureMapperLayer.cpp:473
&gt;&gt; +        surface = options.surface;
&gt; 
&gt; Is this intended? It deviates from the previous behavior.

Even then, it shouldn&apos;t matter, it maybe changes behavior but it doesn&apos;t really have a different outcome right now.

But switching to using SetForScope instead of copying over the Options struct where necessary, subsequently removing the const qualifier from the Options reference as it&apos;s passed across the paint methods, sets out pitfalls for the future, where someone can modify the Options struct without properly scoping that change. I don&apos;t think those pitfalls outweigh the microbenefits you get from avoiding these copies, but I don&apos;t have a strong opinion on what&apos;s done here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1708326</commentid>
    <comment_count>5</comment_count>
      <attachid>414309</attachid>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2020-11-17 12:06:05 -0800</bug_when>
    <thetext>Comment on attachment 414309
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=414309&amp;action=review

Thank you for the review.

&gt;&gt; Source/WebCore/ChangeLog:9
&gt;&gt; +        just to change some memebers. Use WTF::SetForScope to temporarily
&gt; 
&gt; members

Will fix.

&gt;&gt;&gt; Source/WebCore/platform/graphics/texmap/TextureMapperLayer.cpp:473
&gt;&gt;&gt; +        surface = options.surface;
&gt;&gt; 
&gt;&gt; Is this intended? It deviates from the previous behavior.
&gt; 
&gt; Even then, it shouldn&apos;t matter, it maybe changes behavior but it doesn&apos;t really have a different outcome right now.
&gt; 
&gt; But switching to using SetForScope instead of copying over the Options struct where necessary, subsequently removing the const qualifier from the Options reference as it&apos;s passed across the paint methods, sets out pitfalls for the future, where someone can modify the Options struct without properly scoping that change. I don&apos;t think those pitfalls outweigh the microbenefits you get from avoiding these copies, but I don&apos;t have a strong opinion on what&apos;s done here.

I didn&apos;t change the behavior. I admit paintIntoSurface looks
tricky code. I will consider how can I improve the code in a
follow-up bug ticket.

I&apos;m going to add a new member to TextureMapperPaintOptions for
perserve-3d in Bug 218969. But, I don&apos;t want to copy all members
just to change a single member.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1708341</commentid>
    <comment_count>6</comment_count>
      <attachid>414371</attachid>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2020-11-17 12:38:55 -0800</bug_when>
    <thetext>Created attachment 414371
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1708441</commentid>
    <comment_count>7</comment_count>
      <attachid>414371</attachid>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2020-11-17 16:50:20 -0800</bug_when>
    <thetext>Comment on attachment 414371
Patch for landing

Clearing flags on attachment: 414371

Committed r269936: &lt;https://trac.webkit.org/changeset/269936&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1708442</commentid>
    <comment_count>8</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2020-11-17 16:50:24 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1708443</commentid>
    <comment_count>9</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-11-17 16:51:19 -0800</bug_when>
    <thetext>&lt;rdar://problem/71512935&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>414309</attachid>
            <date>2020-11-16 22:29:53 -0800</date>
            <delta_ts>2020-11-17 12:38:52 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-219022-20201117152952.patch</filename>
            <type>text/plain</type>
            <size>9738</size>
            <attacher name="Fujii Hironori">fujii</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY5ODg5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTljMjY3OTU1NDRlM2Ri
MTM0MTI2YWQ3MDk1OTQwNTc3ZTlkZTMyYS4uODJlZTI1YmZmODI4ZWNmNGJkZmE3ZWNiYjYyYjk5
MjBiNGFmZWI1NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDIwLTExLTE2ICBGdWpp
aSBIaXJvbm9yaSAgPEhpcm9ub3JpLkZ1amlpQHNvbnkuY29tPgorCisgICAgICAgIFVzZSBTZXRG
b3JTY29wZSB0byB0ZW1wb3JhcmlseSBjaGFuZ2UgbWVtYmVycyBvZiBUZXh0dXJlTWFwcGVyUGFp
bnRPcHRpb25zIGluc3RlYWQgb2YgY29weWluZyBhbGwgbWVtZWJlcnMKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxOTAyMgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFsbCBtZW1lYmVycyBvZiBUZXh0dXJl
TWFwcGVyUGFpbnRPcHRpb25zIGRvbid0IG5lZWQgdG8gYmUgY29waWVkCisgICAgICAgIGp1c3Qg
dG8gY2hhbmdlIHNvbWUgbWVtZWJlcnMuIFVzZSBXVEY6OlNldEZvclNjb3BlIHRvIHRlbXBvcmFy
aWx5CisgICAgICAgIGNoYW5nZSBtZW1iZXJzIG9mIFRleHR1cmVNYXBwZXJQYWludE9wdGlvbnMu
CisKKyAgICAgICAgTm8gYmVoYXZpb3IgY2hhbmdlcy4KKworICAgICAgICAqIHBsYXRmb3JtL2dy
YXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyTGF5ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
VGV4dHVyZU1hcHBlckxheWVyOjpwYWludFNlbGYpOgorICAgICAgICAoV2ViQ29yZTo6VGV4dHVy
ZU1hcHBlckxheWVyOjpwYWludFNlbGZBbmRDaGlsZHJlbik6CisgICAgICAgIChXZWJDb3JlOjpU
ZXh0dXJlTWFwcGVyTGF5ZXI6OnBhaW50U2VsZkFuZENoaWxkcmVuV2l0aFJlcGxpY2EpOgorICAg
ICAgICAoV2ViQ29yZTo6VGV4dHVyZU1hcHBlckxheWVyOjpwYWludFVzaW5nT3ZlcmxhcFJlZ2lv
bnMpOgorICAgICAgICAoV2ViQ29yZTo6VGV4dHVyZU1hcHBlckxheWVyOjphcHBseU1hc2spOgor
ICAgICAgICAoV2ViQ29yZTo6VGV4dHVyZU1hcHBlckxheWVyOjpwYWludEludG9TdXJmYWNlKToK
KyAgICAgICAgKFdlYkNvcmU6OmNvbW1pdFN1cmZhY2UpOgorICAgICAgICAoV2ViQ29yZTo6VGV4
dHVyZU1hcHBlckxheWVyOjpwYWludFdpdGhJbnRlcm1lZGlhdGVTdXJmYWNlKToKKyAgICAgICAg
KFdlYkNvcmU6OlRleHR1cmVNYXBwZXJMYXllcjo6cGFpbnRSZWN1cnNpdmUpOgorICAgICAgICAq
IHBsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyTGF5ZXIuaDoKKwogMjAyMC0x
MS0xNiAgU2FtIFdlaW5pZyAgPHdlaW5pZ0BhcHBsZS5jb20+CiAKICAgICAgICAgU3RhbmRhcmRp
emUgZW51bXMgdGhhdCBhcmUgdXNlZCBieSBTZXR0aW5ncyBpbiBwcmVwZXJhdGlvbiBmb3IgYXV0
b2dlbmVyYXRpb24KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L3RleG1hcC9UZXh0dXJlTWFwcGVyTGF5ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJMYXllci5jcHAKaW5kZXggMmE3MDg0ODMzMjgx
Njk0MjBkMDU3ZWI3NDQ4ZTJiYjdjMDQ3NGRhNS4uODBjMjQ5YzM5YmFlOGM3YzZkYjU3Y2UyNTE2
ZWQ5YmZjN2MyMjZmOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvdGV4bWFwL1RleHR1cmVNYXBwZXJMYXllci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJMYXllci5jcHAKQEAgLTI0LDYgKzI0
LDcgQEAKICNpbmNsdWRlICJHcmFwaGljc0xheWVyVGV4dHVyZU1hcHBlci5oIgogI2luY2x1ZGUg
IlJlZ2lvbi5oIgogI2luY2x1ZGUgPHd0Zi9NYXRoRXh0cmFzLmg+CisjaW5jbHVkZSA8d3RmL1Nl
dEZvclNjb3BlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtMTUxLDcgKzE1Miw3IEBA
IHN0YXRpYyBDb2xvciBibGVuZFdpdGhPcGFjaXR5KGNvbnN0IENvbG9yJiBjb2xvciwgZmxvYXQg
b3BhY2l0eSkKICAgICByZXR1cm4gY29sb3IuY29sb3JXaXRoQWxwaGFNdWx0aXBsaWVkQnkob3Bh
Y2l0eSk7CiB9CiAKLXZvaWQgVGV4dHVyZU1hcHBlckxheWVyOjpwYWludFNlbGYoY29uc3QgVGV4
dHVyZU1hcHBlclBhaW50T3B0aW9ucyYgb3B0aW9ucykKK3ZvaWQgVGV4dHVyZU1hcHBlckxheWVy
OjpwYWludFNlbGYoVGV4dHVyZU1hcHBlclBhaW50T3B0aW9ucyYgb3B0aW9ucykKIHsKICAgICBp
ZiAoIW1fc3RhdGUudmlzaWJsZSB8fCAhbV9zdGF0ZS5jb250ZW50c1Zpc2libGUpCiAgICAgICAg
IHJldHVybjsKQEAgLTIxOCw3ICsyMTksNyBAQCB2b2lkIFRleHR1cmVNYXBwZXJMYXllcjo6c29y
dEJ5Wk9yZGVyKFZlY3RvcjxUZXh0dXJlTWFwcGVyTGF5ZXIqID4mIGFycmF5KQogICAgICAgICB9
KTsKIH0KIAotdm9pZCBUZXh0dXJlTWFwcGVyTGF5ZXI6OnBhaW50U2VsZkFuZENoaWxkcmVuKGNv
bnN0IFRleHR1cmVNYXBwZXJQYWludE9wdGlvbnMmIG9wdGlvbnMpCit2b2lkIFRleHR1cmVNYXBw
ZXJMYXllcjo6cGFpbnRTZWxmQW5kQ2hpbGRyZW4oVGV4dHVyZU1hcHBlclBhaW50T3B0aW9ucyYg
b3B0aW9ucykKIHsKICAgICBpZiAobV9zdGF0ZS5iYWNrZHJvcExheWVyICYmIG1fc3RhdGUuYmFj
a2Ryb3BMYXllciA9PSBvcHRpb25zLmJhY2tkcm9wTGF5ZXIpCiAgICAgICAgIHJldHVybjsKQEAg
LTI5NCwxMiArMjk1LDEyIEBAIGJvb2wgVGV4dHVyZU1hcHBlckxheWVyOjppc1Zpc2libGUoKSBj
b25zdAogICAgIHJldHVybiB0cnVlOwogfQogCi12b2lkIFRleHR1cmVNYXBwZXJMYXllcjo6cGFp
bnRTZWxmQW5kQ2hpbGRyZW5XaXRoUmVwbGljYShjb25zdCBUZXh0dXJlTWFwcGVyUGFpbnRPcHRp
b25zJiBvcHRpb25zKQordm9pZCBUZXh0dXJlTWFwcGVyTGF5ZXI6OnBhaW50U2VsZkFuZENoaWxk
cmVuV2l0aFJlcGxpY2EoVGV4dHVyZU1hcHBlclBhaW50T3B0aW9ucyYgb3B0aW9ucykKIHsKICAg
ICBpZiAobV9zdGF0ZS5yZXBsaWNhTGF5ZXIpIHsKLSAgICAgICAgVGV4dHVyZU1hcHBlclBhaW50
T3B0aW9ucyByZXBsaWNhT3B0aW9ucyhvcHRpb25zKTsKLSAgICAgICAgcmVwbGljYU9wdGlvbnMu
dHJhbnNmb3JtLm11bHRpcGx5KHJlcGxpY2FUcmFuc2Zvcm0oKSk7Ci0gICAgICAgIHBhaW50U2Vs
ZkFuZENoaWxkcmVuKHJlcGxpY2FPcHRpb25zKTsKKyAgICAgICAgU2V0Rm9yU2NvcGU8VHJhbnNm
b3JtYXRpb25NYXRyaXg+IHNjb3BlZFRyYW5zZm9ybShvcHRpb25zLnRyYW5zZm9ybSwgb3B0aW9u
cy50cmFuc2Zvcm0pOworICAgICAgICBvcHRpb25zLnRyYW5zZm9ybS5tdWx0aXBseShyZXBsaWNh
VHJhbnNmb3JtKCkpOworICAgICAgICBwYWludFNlbGZBbmRDaGlsZHJlbihvcHRpb25zKTsKICAg
ICB9CiAKICAgICBwYWludFNlbGZBbmRDaGlsZHJlbihvcHRpb25zKTsKQEAgLTM2Nyw3ICszNjgs
NyBAQCB2b2lkIFRleHR1cmVNYXBwZXJMYXllcjo6Y29tcHV0ZU92ZXJsYXBSZWdpb25zKENvbXB1
dGVPdmVybGFwUmVnaW9uRGF0YSYgZGF0YSwgYwogICAgIH0KIH0KIAotdm9pZCBUZXh0dXJlTWFw
cGVyTGF5ZXI6OnBhaW50VXNpbmdPdmVybGFwUmVnaW9ucyhjb25zdCBUZXh0dXJlTWFwcGVyUGFp
bnRPcHRpb25zJiBvcHRpb25zKQordm9pZCBUZXh0dXJlTWFwcGVyTGF5ZXI6OnBhaW50VXNpbmdP
dmVybGFwUmVnaW9ucyhUZXh0dXJlTWFwcGVyUGFpbnRPcHRpb25zJiBvcHRpb25zKQogewogICAg
IFJlZ2lvbiBvdmVybGFwUmVnaW9uOwogICAgIFJlZ2lvbiBub25PdmVybGFwUmVnaW9uOwpAQCAt
NDIxLDcgKzQyMiw3IEBAIHZvaWQgVGV4dHVyZU1hcHBlckxheWVyOjpwYWludFVzaW5nT3Zlcmxh
cFJlZ2lvbnMoY29uc3QgVGV4dHVyZU1hcHBlclBhaW50T3B0aW9uCiAgICAgfQogfQogCi12b2lk
IFRleHR1cmVNYXBwZXJMYXllcjo6YXBwbHlNYXNrKGNvbnN0IFRleHR1cmVNYXBwZXJQYWludE9w
dGlvbnMmIG9wdGlvbnMpCit2b2lkIFRleHR1cmVNYXBwZXJMYXllcjo6YXBwbHlNYXNrKFRleHR1
cmVNYXBwZXJQYWludE9wdGlvbnMmIG9wdGlvbnMpCiB7CiAgICAgb3B0aW9ucy50ZXh0dXJlTWFw
cGVyLnNldE1hc2tNb2RlKHRydWUpOwogICAgIHBhaW50U2VsZihvcHRpb25zKTsKQEAgLTQzMiwx
MCArNDMzLDkgQEAgdm9pZCBUZXh0dXJlTWFwcGVyTGF5ZXI6OnBhaW50SW50b1N1cmZhY2UoVGV4
dHVyZU1hcHBlclBhaW50T3B0aW9ucyYgb3B0aW9ucykKIHsKICAgICBvcHRpb25zLnRleHR1cmVN
YXBwZXIuYmluZFN1cmZhY2Uob3B0aW9ucy5zdXJmYWNlLmdldCgpKTsKICAgICBpZiAobV9pc0Jh
Y2tkcm9wKSB7Ci0gICAgICAgIFRleHR1cmVNYXBwZXJQYWludE9wdGlvbnMgcGFpbnRPcHRpb25z
KG9wdGlvbnMpOwotICAgICAgICBwYWludE9wdGlvbnMudHJhbnNmb3JtID0gVHJhbnNmb3JtYXRp
b25NYXRyaXgoKTsKLSAgICAgICAgcGFpbnRPcHRpb25zLmJhY2tkcm9wTGF5ZXIgPSB0aGlzOwot
ICAgICAgICByb290TGF5ZXIoKS5wYWludFNlbGZBbmRDaGlsZHJlbihwYWludE9wdGlvbnMpOwor
ICAgICAgICBTZXRGb3JTY29wZTxUcmFuc2Zvcm1hdGlvbk1hdHJpeD4gc2NvcGVkVHJhbnNmb3Jt
KG9wdGlvbnMudHJhbnNmb3JtLCBUcmFuc2Zvcm1hdGlvbk1hdHJpeCgpKTsKKyAgICAgICAgU2V0
Rm9yU2NvcGU8VGV4dHVyZU1hcHBlckxheWVyKj4gc2NvcGVkQmFja2Ryb3BMYXllcihvcHRpb25z
LmJhY2tkcm9wTGF5ZXIsIHRoaXMpOworICAgICAgICByb290TGF5ZXIoKS5wYWludFNlbGZBbmRD
aGlsZHJlbihvcHRpb25zKTsKICAgICB9IGVsc2UKICAgICAgICAgcGFpbnRTZWxmQW5kQ2hpbGRy
ZW4ob3B0aW9ucyk7CiAgICAgaWYgKG1fc3RhdGUubWFza0xheWVyKQpAQCAtNDQ0LDcgKzQ0NCw3
IEBAIHZvaWQgVGV4dHVyZU1hcHBlckxheWVyOjpwYWludEludG9TdXJmYWNlKFRleHR1cmVNYXBw
ZXJQYWludE9wdGlvbnMmIG9wdGlvbnMpCiAgICAgb3B0aW9ucy50ZXh0dXJlTWFwcGVyLmJpbmRT
dXJmYWNlKG9wdGlvbnMuc3VyZmFjZS5nZXQoKSk7CiB9CiAKLXN0YXRpYyB2b2lkIGNvbW1pdFN1
cmZhY2UoY29uc3QgVGV4dHVyZU1hcHBlclBhaW50T3B0aW9ucyYgb3B0aW9ucywgQml0bWFwVGV4
dHVyZSYgc3VyZmFjZSwgY29uc3QgSW50UmVjdCYgcmVjdCwgZmxvYXQgb3BhY2l0eSkKK3N0YXRp
YyB2b2lkIGNvbW1pdFN1cmZhY2UoVGV4dHVyZU1hcHBlclBhaW50T3B0aW9ucyYgb3B0aW9ucywg
Qml0bWFwVGV4dHVyZSYgc3VyZmFjZSwgY29uc3QgSW50UmVjdCYgcmVjdCwgZmxvYXQgb3BhY2l0
eSkKIHsKICAgICBJbnRSZWN0IHRhcmdldFJlY3QocmVjdCk7CiAgICAgdGFyZ2V0UmVjdC5tb3Zl
KG9wdGlvbnMub2Zmc2V0KTsKQEAgLTQ1MiwzOSArNDUyLDQzIEBAIHN0YXRpYyB2b2lkIGNvbW1p
dFN1cmZhY2UoY29uc3QgVGV4dHVyZU1hcHBlclBhaW50T3B0aW9ucyYgb3B0aW9ucywgQml0bWFw
VGV4dHVyCiAgICAgb3B0aW9ucy50ZXh0dXJlTWFwcGVyLmRyYXdUZXh0dXJlKHN1cmZhY2UsIHRh
cmdldFJlY3QsIHsgfSwgb3BhY2l0eSk7CiB9CiAKLXZvaWQgVGV4dHVyZU1hcHBlckxheWVyOjpw
YWludFdpdGhJbnRlcm1lZGlhdGVTdXJmYWNlKGNvbnN0IFRleHR1cmVNYXBwZXJQYWludE9wdGlv
bnMmIG9wdGlvbnMsIGNvbnN0IEludFJlY3QmIHJlY3QpCit2b2lkIFRleHR1cmVNYXBwZXJMYXll
cjo6cGFpbnRXaXRoSW50ZXJtZWRpYXRlU3VyZmFjZShUZXh0dXJlTWFwcGVyUGFpbnRPcHRpb25z
JiBvcHRpb25zLCBjb25zdCBJbnRSZWN0JiByZWN0KQogewotICAgIFRleHR1cmVNYXBwZXJQYWlu
dE9wdGlvbnMgcGFpbnRPcHRpb25zKG9wdGlvbnMpOwotICAgIHBhaW50T3B0aW9ucy5zdXJmYWNl
ID0gb3B0aW9ucy50ZXh0dXJlTWFwcGVyLmFjcXVpcmVUZXh0dXJlRnJvbVBvb2wocmVjdC5zaXpl
KCksIEJpdG1hcFRleHR1cmU6OlN1cHBvcnRzQWxwaGEpOwotICAgIHBhaW50T3B0aW9ucy5vZmZz
ZXQgPSAtdG9JbnRTaXplKHJlY3QubG9jYXRpb24oKSk7Ci0gICAgcGFpbnRPcHRpb25zLm9wYWNp
dHkgPSAxOwotICAgIGlmIChtX3N0YXRlLnJlcGxpY2FMYXllcikgewotICAgICAgICBwYWludE9w
dGlvbnMudHJhbnNmb3JtLm11bHRpcGx5KHJlcGxpY2FUcmFuc2Zvcm0oKSk7Ci0gICAgICAgIHBh
aW50SW50b1N1cmZhY2UocGFpbnRPcHRpb25zKTsKLSAgICAgICAgcGFpbnRPcHRpb25zLnRyYW5z
Zm9ybSA9IG9wdGlvbnMudHJhbnNmb3JtOwotICAgICAgICBpZiAobV9zdGF0ZS5yZXBsaWNhTGF5
ZXItPm1fc3RhdGUubWFza0xheWVyKQotICAgICAgICAgICAgbV9zdGF0ZS5yZXBsaWNhTGF5ZXIt
Pm1fc3RhdGUubWFza0xheWVyLT5hcHBseU1hc2socGFpbnRPcHRpb25zKTsKLSAgICB9CisgICAg
YXV0byBzdXJmYWNlID0gb3B0aW9ucy50ZXh0dXJlTWFwcGVyLmFjcXVpcmVUZXh0dXJlRnJvbVBv
b2wocmVjdC5zaXplKCksIEJpdG1hcFRleHR1cmU6OlN1cHBvcnRzQWxwaGEpOworICAgIHsKKyAg
ICAgICAgU2V0Rm9yU2NvcGU8UmVmUHRyPEJpdG1hcFRleHR1cmU+PiBzY29wZWRTdXJmYWNlKG9w
dGlvbnMuc3VyZmFjZSwgc3VyZmFjZSk7CisgICAgICAgIFNldEZvclNjb3BlPEludFNpemU+IHNj
b3BlZE9mZnNldChvcHRpb25zLm9mZnNldCwgLXRvSW50U2l6ZShyZWN0LmxvY2F0aW9uKCkpKTsK
KyAgICAgICAgU2V0Rm9yU2NvcGU8ZmxvYXQ+IHNjb3BlZE9wYWNpdHkob3B0aW9ucy5vcGFjaXR5
LCAxKTsKKyAgICAgICAgaWYgKG1fc3RhdGUucmVwbGljYUxheWVyKSB7CisgICAgICAgICAgICB7
CisgICAgICAgICAgICAgICAgU2V0Rm9yU2NvcGU8VHJhbnNmb3JtYXRpb25NYXRyaXg+IHNjb3Bl
ZFRyYW5zZm9ybShvcHRpb25zLnRyYW5zZm9ybSwgb3B0aW9ucy50cmFuc2Zvcm0pOworICAgICAg
ICAgICAgICAgIG9wdGlvbnMudHJhbnNmb3JtLm11bHRpcGx5KHJlcGxpY2FUcmFuc2Zvcm0oKSk7
CisgICAgICAgICAgICAgICAgcGFpbnRJbnRvU3VyZmFjZShvcHRpb25zKTsKKyAgICAgICAgICAg
IH0KKyAgICAgICAgICAgIGlmIChtX3N0YXRlLnJlcGxpY2FMYXllci0+bV9zdGF0ZS5tYXNrTGF5
ZXIpCisgICAgICAgICAgICAgICAgbV9zdGF0ZS5yZXBsaWNhTGF5ZXItPm1fc3RhdGUubWFza0xh
eWVyLT5hcHBseU1hc2sob3B0aW9ucyk7CisgICAgICAgIH0KIAotICAgIHBhaW50SW50b1N1cmZh
Y2UocGFpbnRPcHRpb25zKTsKKyAgICAgICAgcGFpbnRJbnRvU3VyZmFjZShvcHRpb25zKTsKKyAg
ICAgICAgc3VyZmFjZSA9IG9wdGlvbnMuc3VyZmFjZTsKKyAgICB9CiAKLSAgICBjb21taXRTdXJm
YWNlKG9wdGlvbnMsICpwYWludE9wdGlvbnMuc3VyZmFjZSwgcmVjdCwgb3B0aW9ucy5vcGFjaXR5
KTsKKyAgICBjb21taXRTdXJmYWNlKG9wdGlvbnMsICpzdXJmYWNlLCByZWN0LCBvcHRpb25zLm9w
YWNpdHkpOwogfQogCi12b2lkIFRleHR1cmVNYXBwZXJMYXllcjo6cGFpbnRSZWN1cnNpdmUoY29u
c3QgVGV4dHVyZU1hcHBlclBhaW50T3B0aW9ucyYgb3B0aW9ucykKK3ZvaWQgVGV4dHVyZU1hcHBl
ckxheWVyOjpwYWludFJlY3Vyc2l2ZShUZXh0dXJlTWFwcGVyUGFpbnRPcHRpb25zJiBvcHRpb25z
KQogewogICAgIGlmICghaXNWaXNpYmxlKCkpCiAgICAgICAgIHJldHVybjsKIAotICAgIFRleHR1
cmVNYXBwZXJQYWludE9wdGlvbnMgcGFpbnRPcHRpb25zKG9wdGlvbnMpOwotICAgIHBhaW50T3B0
aW9ucy5vcGFjaXR5ICo9IG1fY3VycmVudE9wYWNpdHk7CisgICAgU2V0Rm9yU2NvcGU8ZmxvYXQ+
IHNjb3BlZE9wYWNpdHkob3B0aW9ucy5vcGFjaXR5LCBvcHRpb25zLm9wYWNpdHkgKiBtX2N1cnJl
bnRPcGFjaXR5KTsKIAogICAgIGlmICghc2hvdWxkQmxlbmQoKSkgewotICAgICAgICBwYWludFNl
bGZBbmRDaGlsZHJlbldpdGhSZXBsaWNhKHBhaW50T3B0aW9ucyk7CisgICAgICAgIHBhaW50U2Vs
ZkFuZENoaWxkcmVuV2l0aFJlcGxpY2Eob3B0aW9ucyk7CiAgICAgICAgIHJldHVybjsKICAgICB9
CiAKLSAgICBwYWludFVzaW5nT3ZlcmxhcFJlZ2lvbnMocGFpbnRPcHRpb25zKTsKKyAgICBwYWlu
dFVzaW5nT3ZlcmxhcFJlZ2lvbnMob3B0aW9ucyk7CiB9CiAKICNpZiAhVVNFKENPT1JESU5BVEVE
X0dSQVBISUNTKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
dGV4bWFwL1RleHR1cmVNYXBwZXJMYXllci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJMYXllci5oCmluZGV4IGQ1YWM5OTBkYzQ4YmVhZjNh
MjAzZTFmNDhkZDQ2OTA3NzA1NmIzMDAuLjk4M2UxMTRmY2VmMjMxZGRjYTU1OTRjOWI0ZTQyMTFh
ZjNiODBmNTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3Rl
eG1hcC9UZXh0dXJlTWFwcGVyTGF5ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlckxheWVyLmgKQEAgLTEzNiwxNCArMTM2LDE0IEBA
IHByaXZhdGU6CiAgICAgfTsKICAgICB2b2lkIGNvbXB1dGVPdmVybGFwUmVnaW9ucyhDb21wdXRl
T3ZlcmxhcFJlZ2lvbkRhdGEmLCBjb25zdCBUcmFuc2Zvcm1hdGlvbk1hdHJpeCYsIGJvb2wgaW5j
bHVkZXNSZXBsaWNhID0gdHJ1ZSk7CiAKLSAgICB2b2lkIHBhaW50UmVjdXJzaXZlKGNvbnN0IFRl
eHR1cmVNYXBwZXJQYWludE9wdGlvbnMmKTsKLSAgICB2b2lkIHBhaW50VXNpbmdPdmVybGFwUmVn
aW9ucyhjb25zdCBUZXh0dXJlTWFwcGVyUGFpbnRPcHRpb25zJik7CisgICAgdm9pZCBwYWludFJl
Y3Vyc2l2ZShUZXh0dXJlTWFwcGVyUGFpbnRPcHRpb25zJik7CisgICAgdm9pZCBwYWludFVzaW5n
T3ZlcmxhcFJlZ2lvbnMoVGV4dHVyZU1hcHBlclBhaW50T3B0aW9ucyYpOwogICAgIHZvaWQgcGFp
bnRJbnRvU3VyZmFjZShUZXh0dXJlTWFwcGVyUGFpbnRPcHRpb25zJik7Ci0gICAgdm9pZCBwYWlu
dFdpdGhJbnRlcm1lZGlhdGVTdXJmYWNlKGNvbnN0IFRleHR1cmVNYXBwZXJQYWludE9wdGlvbnMm
LCBjb25zdCBJbnRSZWN0Jik7Ci0gICAgdm9pZCBwYWludFNlbGYoY29uc3QgVGV4dHVyZU1hcHBl
clBhaW50T3B0aW9ucyYpOwotICAgIHZvaWQgcGFpbnRTZWxmQW5kQ2hpbGRyZW4oY29uc3QgVGV4
dHVyZU1hcHBlclBhaW50T3B0aW9ucyYpOwotICAgIHZvaWQgcGFpbnRTZWxmQW5kQ2hpbGRyZW5X
aXRoUmVwbGljYShjb25zdCBUZXh0dXJlTWFwcGVyUGFpbnRPcHRpb25zJik7Ci0gICAgdm9pZCBh
cHBseU1hc2soY29uc3QgVGV4dHVyZU1hcHBlclBhaW50T3B0aW9ucyYpOworICAgIHZvaWQgcGFp
bnRXaXRoSW50ZXJtZWRpYXRlU3VyZmFjZShUZXh0dXJlTWFwcGVyUGFpbnRPcHRpb25zJiwgY29u
c3QgSW50UmVjdCYpOworICAgIHZvaWQgcGFpbnRTZWxmKFRleHR1cmVNYXBwZXJQYWludE9wdGlv
bnMmKTsKKyAgICB2b2lkIHBhaW50U2VsZkFuZENoaWxkcmVuKFRleHR1cmVNYXBwZXJQYWludE9w
dGlvbnMmKTsKKyAgICB2b2lkIHBhaW50U2VsZkFuZENoaWxkcmVuV2l0aFJlcGxpY2EoVGV4dHVy
ZU1hcHBlclBhaW50T3B0aW9ucyYpOworICAgIHZvaWQgYXBwbHlNYXNrKFRleHR1cmVNYXBwZXJQ
YWludE9wdGlvbnMmKTsKIAogICAgIGJvb2wgaXNWaXNpYmxlKCkgY29uc3Q7CiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>414371</attachid>
            <date>2020-11-17 12:38:55 -0800</date>
            <delta_ts>2020-11-17 12:38:55 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-219022-20201118053854.patch</filename>
            <type>text/plain</type>
            <size>9737</size>
            <attacher name="Fujii Hironori">fujii</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY5OTE3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzU0ZmZkZDQwNzdiNGZl
OTc0MDUyMjE2ZTI5MGRhNjdmOTBjNGQ4Ni4uY2U3NTc1ZjY4OWQ5NTRlZTQ0MDYxNTFhNWI0ZDFm
ZTgwZWFjYzUwNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDIwLTExLTE3ICBGdWpp
aSBIaXJvbm9yaSAgPEhpcm9ub3JpLkZ1amlpQHNvbnkuY29tPgorCisgICAgICAgIFVzZSBTZXRG
b3JTY29wZSB0byB0ZW1wb3JhcmlseSBjaGFuZ2UgbWVtYmVycyBvZiBUZXh0dXJlTWFwcGVyUGFp
bnRPcHRpb25zIGluc3RlYWQgb2YgY29weWluZyBhbGwgbWVtYmVycworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE5MDIyCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgQ2FybG9zIEdhcmNpYSBDYW1wb3MuCisKKyAgICAgICAgQWxsIG1lbWJlcnMgb2YgVGV4
dHVyZU1hcHBlclBhaW50T3B0aW9ucyBkb24ndCBuZWVkIHRvIGJlIGNvcGllZAorICAgICAgICBq
dXN0IHRvIGNoYW5nZSBzb21lIG1lbWJlcnMuIFVzZSBXVEY6OlNldEZvclNjb3BlIHRvIHRlbXBv
cmFyaWx5CisgICAgICAgIGNoYW5nZSBtZW1iZXJzIG9mIFRleHR1cmVNYXBwZXJQYWludE9wdGlv
bnMuCisKKyAgICAgICAgTm8gYmVoYXZpb3IgY2hhbmdlcy4KKworICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyTGF5ZXIuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6VGV4dHVyZU1hcHBlckxheWVyOjpwYWludFNlbGYpOgorICAgICAgICAoV2ViQ29yZTo6VGV4
dHVyZU1hcHBlckxheWVyOjpwYWludFNlbGZBbmRDaGlsZHJlbik6CisgICAgICAgIChXZWJDb3Jl
OjpUZXh0dXJlTWFwcGVyTGF5ZXI6OnBhaW50U2VsZkFuZENoaWxkcmVuV2l0aFJlcGxpY2EpOgor
ICAgICAgICAoV2ViQ29yZTo6VGV4dHVyZU1hcHBlckxheWVyOjpwYWludFVzaW5nT3ZlcmxhcFJl
Z2lvbnMpOgorICAgICAgICAoV2ViQ29yZTo6VGV4dHVyZU1hcHBlckxheWVyOjphcHBseU1hc2sp
OgorICAgICAgICAoV2ViQ29yZTo6VGV4dHVyZU1hcHBlckxheWVyOjpwYWludEludG9TdXJmYWNl
KToKKyAgICAgICAgKFdlYkNvcmU6OmNvbW1pdFN1cmZhY2UpOgorICAgICAgICAoV2ViQ29yZTo6
VGV4dHVyZU1hcHBlckxheWVyOjpwYWludFdpdGhJbnRlcm1lZGlhdGVTdXJmYWNlKToKKyAgICAg
ICAgKFdlYkNvcmU6OlRleHR1cmVNYXBwZXJMYXllcjo6cGFpbnRSZWN1cnNpdmUpOgorICAgICAg
ICAqIHBsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyTGF5ZXIuaDoKKwogMjAy
MC0xMS0xNyAgQW50dGkgS29pdmlzdG8gIDxhbnR0aUBhcHBsZS5jb20+CiAKICAgICAgICAgW0xG
Q11bSW50ZWdyYXRpb25dIENhY2hlIGlubGluZSBib3hlcyBpbiBsb2dpY2FsIG9yZGVyIHRvIHJ1
biBpdGVyYXRvcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
dGV4bWFwL1RleHR1cmVNYXBwZXJMYXllci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlckxheWVyLmNwcAppbmRleCAyYTcwODQ4MzMyODE2
OTQyMGQwNTdlYjc0NDhlMmJiN2MwNDc0ZGE1Li44MGMyNDljMzliYWU4YzdjNmRiNTdjZTI1MTZl
ZDliZmM3YzIyNmY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy90ZXhtYXAvVGV4dHVyZU1hcHBlckxheWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlckxheWVyLmNwcApAQCAtMjQsNiArMjQs
NyBAQAogI2luY2x1ZGUgIkdyYXBoaWNzTGF5ZXJUZXh0dXJlTWFwcGVyLmgiCiAjaW5jbHVkZSAi
UmVnaW9uLmgiCiAjaW5jbHVkZSA8d3RmL01hdGhFeHRyYXMuaD4KKyNpbmNsdWRlIDx3dGYvU2V0
Rm9yU2NvcGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC0xNTEsNyArMTUyLDcgQEAg
c3RhdGljIENvbG9yIGJsZW5kV2l0aE9wYWNpdHkoY29uc3QgQ29sb3ImIGNvbG9yLCBmbG9hdCBv
cGFjaXR5KQogICAgIHJldHVybiBjb2xvci5jb2xvcldpdGhBbHBoYU11bHRpcGxpZWRCeShvcGFj
aXR5KTsKIH0KIAotdm9pZCBUZXh0dXJlTWFwcGVyTGF5ZXI6OnBhaW50U2VsZihjb25zdCBUZXh0
dXJlTWFwcGVyUGFpbnRPcHRpb25zJiBvcHRpb25zKQordm9pZCBUZXh0dXJlTWFwcGVyTGF5ZXI6
OnBhaW50U2VsZihUZXh0dXJlTWFwcGVyUGFpbnRPcHRpb25zJiBvcHRpb25zKQogewogICAgIGlm
ICghbV9zdGF0ZS52aXNpYmxlIHx8ICFtX3N0YXRlLmNvbnRlbnRzVmlzaWJsZSkKICAgICAgICAg
cmV0dXJuOwpAQCAtMjE4LDcgKzIxOSw3IEBAIHZvaWQgVGV4dHVyZU1hcHBlckxheWVyOjpzb3J0
QnlaT3JkZXIoVmVjdG9yPFRleHR1cmVNYXBwZXJMYXllciogPiYgYXJyYXkpCiAgICAgICAgIH0p
OwogfQogCi12b2lkIFRleHR1cmVNYXBwZXJMYXllcjo6cGFpbnRTZWxmQW5kQ2hpbGRyZW4oY29u
c3QgVGV4dHVyZU1hcHBlclBhaW50T3B0aW9ucyYgb3B0aW9ucykKK3ZvaWQgVGV4dHVyZU1hcHBl
ckxheWVyOjpwYWludFNlbGZBbmRDaGlsZHJlbihUZXh0dXJlTWFwcGVyUGFpbnRPcHRpb25zJiBv
cHRpb25zKQogewogICAgIGlmIChtX3N0YXRlLmJhY2tkcm9wTGF5ZXIgJiYgbV9zdGF0ZS5iYWNr
ZHJvcExheWVyID09IG9wdGlvbnMuYmFja2Ryb3BMYXllcikKICAgICAgICAgcmV0dXJuOwpAQCAt
Mjk0LDEyICsyOTUsMTIgQEAgYm9vbCBUZXh0dXJlTWFwcGVyTGF5ZXI6OmlzVmlzaWJsZSgpIGNv
bnN0CiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLXZvaWQgVGV4dHVyZU1hcHBlckxheWVyOjpwYWlu
dFNlbGZBbmRDaGlsZHJlbldpdGhSZXBsaWNhKGNvbnN0IFRleHR1cmVNYXBwZXJQYWludE9wdGlv
bnMmIG9wdGlvbnMpCit2b2lkIFRleHR1cmVNYXBwZXJMYXllcjo6cGFpbnRTZWxmQW5kQ2hpbGRy
ZW5XaXRoUmVwbGljYShUZXh0dXJlTWFwcGVyUGFpbnRPcHRpb25zJiBvcHRpb25zKQogewogICAg
IGlmIChtX3N0YXRlLnJlcGxpY2FMYXllcikgewotICAgICAgICBUZXh0dXJlTWFwcGVyUGFpbnRP
cHRpb25zIHJlcGxpY2FPcHRpb25zKG9wdGlvbnMpOwotICAgICAgICByZXBsaWNhT3B0aW9ucy50
cmFuc2Zvcm0ubXVsdGlwbHkocmVwbGljYVRyYW5zZm9ybSgpKTsKLSAgICAgICAgcGFpbnRTZWxm
QW5kQ2hpbGRyZW4ocmVwbGljYU9wdGlvbnMpOworICAgICAgICBTZXRGb3JTY29wZTxUcmFuc2Zv
cm1hdGlvbk1hdHJpeD4gc2NvcGVkVHJhbnNmb3JtKG9wdGlvbnMudHJhbnNmb3JtLCBvcHRpb25z
LnRyYW5zZm9ybSk7CisgICAgICAgIG9wdGlvbnMudHJhbnNmb3JtLm11bHRpcGx5KHJlcGxpY2FU
cmFuc2Zvcm0oKSk7CisgICAgICAgIHBhaW50U2VsZkFuZENoaWxkcmVuKG9wdGlvbnMpOwogICAg
IH0KIAogICAgIHBhaW50U2VsZkFuZENoaWxkcmVuKG9wdGlvbnMpOwpAQCAtMzY3LDcgKzM2OCw3
IEBAIHZvaWQgVGV4dHVyZU1hcHBlckxheWVyOjpjb21wdXRlT3ZlcmxhcFJlZ2lvbnMoQ29tcHV0
ZU92ZXJsYXBSZWdpb25EYXRhJiBkYXRhLCBjCiAgICAgfQogfQogCi12b2lkIFRleHR1cmVNYXBw
ZXJMYXllcjo6cGFpbnRVc2luZ092ZXJsYXBSZWdpb25zKGNvbnN0IFRleHR1cmVNYXBwZXJQYWlu
dE9wdGlvbnMmIG9wdGlvbnMpCit2b2lkIFRleHR1cmVNYXBwZXJMYXllcjo6cGFpbnRVc2luZ092
ZXJsYXBSZWdpb25zKFRleHR1cmVNYXBwZXJQYWludE9wdGlvbnMmIG9wdGlvbnMpCiB7CiAgICAg
UmVnaW9uIG92ZXJsYXBSZWdpb247CiAgICAgUmVnaW9uIG5vbk92ZXJsYXBSZWdpb247CkBAIC00
MjEsNyArNDIyLDcgQEAgdm9pZCBUZXh0dXJlTWFwcGVyTGF5ZXI6OnBhaW50VXNpbmdPdmVybGFw
UmVnaW9ucyhjb25zdCBUZXh0dXJlTWFwcGVyUGFpbnRPcHRpb24KICAgICB9CiB9CiAKLXZvaWQg
VGV4dHVyZU1hcHBlckxheWVyOjphcHBseU1hc2soY29uc3QgVGV4dHVyZU1hcHBlclBhaW50T3B0
aW9ucyYgb3B0aW9ucykKK3ZvaWQgVGV4dHVyZU1hcHBlckxheWVyOjphcHBseU1hc2soVGV4dHVy
ZU1hcHBlclBhaW50T3B0aW9ucyYgb3B0aW9ucykKIHsKICAgICBvcHRpb25zLnRleHR1cmVNYXBw
ZXIuc2V0TWFza01vZGUodHJ1ZSk7CiAgICAgcGFpbnRTZWxmKG9wdGlvbnMpOwpAQCAtNDMyLDEw
ICs0MzMsOSBAQCB2b2lkIFRleHR1cmVNYXBwZXJMYXllcjo6cGFpbnRJbnRvU3VyZmFjZShUZXh0
dXJlTWFwcGVyUGFpbnRPcHRpb25zJiBvcHRpb25zKQogewogICAgIG9wdGlvbnMudGV4dHVyZU1h
cHBlci5iaW5kU3VyZmFjZShvcHRpb25zLnN1cmZhY2UuZ2V0KCkpOwogICAgIGlmIChtX2lzQmFj
a2Ryb3ApIHsKLSAgICAgICAgVGV4dHVyZU1hcHBlclBhaW50T3B0aW9ucyBwYWludE9wdGlvbnMo
b3B0aW9ucyk7Ci0gICAgICAgIHBhaW50T3B0aW9ucy50cmFuc2Zvcm0gPSBUcmFuc2Zvcm1hdGlv
bk1hdHJpeCgpOwotICAgICAgICBwYWludE9wdGlvbnMuYmFja2Ryb3BMYXllciA9IHRoaXM7Ci0g
ICAgICAgIHJvb3RMYXllcigpLnBhaW50U2VsZkFuZENoaWxkcmVuKHBhaW50T3B0aW9ucyk7Cisg
ICAgICAgIFNldEZvclNjb3BlPFRyYW5zZm9ybWF0aW9uTWF0cml4PiBzY29wZWRUcmFuc2Zvcm0o
b3B0aW9ucy50cmFuc2Zvcm0sIFRyYW5zZm9ybWF0aW9uTWF0cml4KCkpOworICAgICAgICBTZXRG
b3JTY29wZTxUZXh0dXJlTWFwcGVyTGF5ZXIqPiBzY29wZWRCYWNrZHJvcExheWVyKG9wdGlvbnMu
YmFja2Ryb3BMYXllciwgdGhpcyk7CisgICAgICAgIHJvb3RMYXllcigpLnBhaW50U2VsZkFuZENo
aWxkcmVuKG9wdGlvbnMpOwogICAgIH0gZWxzZQogICAgICAgICBwYWludFNlbGZBbmRDaGlsZHJl
bihvcHRpb25zKTsKICAgICBpZiAobV9zdGF0ZS5tYXNrTGF5ZXIpCkBAIC00NDQsNyArNDQ0LDcg
QEAgdm9pZCBUZXh0dXJlTWFwcGVyTGF5ZXI6OnBhaW50SW50b1N1cmZhY2UoVGV4dHVyZU1hcHBl
clBhaW50T3B0aW9ucyYgb3B0aW9ucykKICAgICBvcHRpb25zLnRleHR1cmVNYXBwZXIuYmluZFN1
cmZhY2Uob3B0aW9ucy5zdXJmYWNlLmdldCgpKTsKIH0KIAotc3RhdGljIHZvaWQgY29tbWl0U3Vy
ZmFjZShjb25zdCBUZXh0dXJlTWFwcGVyUGFpbnRPcHRpb25zJiBvcHRpb25zLCBCaXRtYXBUZXh0
dXJlJiBzdXJmYWNlLCBjb25zdCBJbnRSZWN0JiByZWN0LCBmbG9hdCBvcGFjaXR5KQorc3RhdGlj
IHZvaWQgY29tbWl0U3VyZmFjZShUZXh0dXJlTWFwcGVyUGFpbnRPcHRpb25zJiBvcHRpb25zLCBC
aXRtYXBUZXh0dXJlJiBzdXJmYWNlLCBjb25zdCBJbnRSZWN0JiByZWN0LCBmbG9hdCBvcGFjaXR5
KQogewogICAgIEludFJlY3QgdGFyZ2V0UmVjdChyZWN0KTsKICAgICB0YXJnZXRSZWN0Lm1vdmUo
b3B0aW9ucy5vZmZzZXQpOwpAQCAtNDUyLDM5ICs0NTIsNDMgQEAgc3RhdGljIHZvaWQgY29tbWl0
U3VyZmFjZShjb25zdCBUZXh0dXJlTWFwcGVyUGFpbnRPcHRpb25zJiBvcHRpb25zLCBCaXRtYXBU
ZXh0dXIKICAgICBvcHRpb25zLnRleHR1cmVNYXBwZXIuZHJhd1RleHR1cmUoc3VyZmFjZSwgdGFy
Z2V0UmVjdCwgeyB9LCBvcGFjaXR5KTsKIH0KIAotdm9pZCBUZXh0dXJlTWFwcGVyTGF5ZXI6OnBh
aW50V2l0aEludGVybWVkaWF0ZVN1cmZhY2UoY29uc3QgVGV4dHVyZU1hcHBlclBhaW50T3B0aW9u
cyYgb3B0aW9ucywgY29uc3QgSW50UmVjdCYgcmVjdCkKK3ZvaWQgVGV4dHVyZU1hcHBlckxheWVy
OjpwYWludFdpdGhJbnRlcm1lZGlhdGVTdXJmYWNlKFRleHR1cmVNYXBwZXJQYWludE9wdGlvbnMm
IG9wdGlvbnMsIGNvbnN0IEludFJlY3QmIHJlY3QpCiB7Ci0gICAgVGV4dHVyZU1hcHBlclBhaW50
T3B0aW9ucyBwYWludE9wdGlvbnMob3B0aW9ucyk7Ci0gICAgcGFpbnRPcHRpb25zLnN1cmZhY2Ug
PSBvcHRpb25zLnRleHR1cmVNYXBwZXIuYWNxdWlyZVRleHR1cmVGcm9tUG9vbChyZWN0LnNpemUo
KSwgQml0bWFwVGV4dHVyZTo6U3VwcG9ydHNBbHBoYSk7Ci0gICAgcGFpbnRPcHRpb25zLm9mZnNl
dCA9IC10b0ludFNpemUocmVjdC5sb2NhdGlvbigpKTsKLSAgICBwYWludE9wdGlvbnMub3BhY2l0
eSA9IDE7Ci0gICAgaWYgKG1fc3RhdGUucmVwbGljYUxheWVyKSB7Ci0gICAgICAgIHBhaW50T3B0
aW9ucy50cmFuc2Zvcm0ubXVsdGlwbHkocmVwbGljYVRyYW5zZm9ybSgpKTsKLSAgICAgICAgcGFp
bnRJbnRvU3VyZmFjZShwYWludE9wdGlvbnMpOwotICAgICAgICBwYWludE9wdGlvbnMudHJhbnNm
b3JtID0gb3B0aW9ucy50cmFuc2Zvcm07Ci0gICAgICAgIGlmIChtX3N0YXRlLnJlcGxpY2FMYXll
ci0+bV9zdGF0ZS5tYXNrTGF5ZXIpCi0gICAgICAgICAgICBtX3N0YXRlLnJlcGxpY2FMYXllci0+
bV9zdGF0ZS5tYXNrTGF5ZXItPmFwcGx5TWFzayhwYWludE9wdGlvbnMpOwotICAgIH0KKyAgICBh
dXRvIHN1cmZhY2UgPSBvcHRpb25zLnRleHR1cmVNYXBwZXIuYWNxdWlyZVRleHR1cmVGcm9tUG9v
bChyZWN0LnNpemUoKSwgQml0bWFwVGV4dHVyZTo6U3VwcG9ydHNBbHBoYSk7CisgICAgeworICAg
ICAgICBTZXRGb3JTY29wZTxSZWZQdHI8Qml0bWFwVGV4dHVyZT4+IHNjb3BlZFN1cmZhY2Uob3B0
aW9ucy5zdXJmYWNlLCBzdXJmYWNlKTsKKyAgICAgICAgU2V0Rm9yU2NvcGU8SW50U2l6ZT4gc2Nv
cGVkT2Zmc2V0KG9wdGlvbnMub2Zmc2V0LCAtdG9JbnRTaXplKHJlY3QubG9jYXRpb24oKSkpOwor
ICAgICAgICBTZXRGb3JTY29wZTxmbG9hdD4gc2NvcGVkT3BhY2l0eShvcHRpb25zLm9wYWNpdHks
IDEpOworICAgICAgICBpZiAobV9zdGF0ZS5yZXBsaWNhTGF5ZXIpIHsKKyAgICAgICAgICAgIHsK
KyAgICAgICAgICAgICAgICBTZXRGb3JTY29wZTxUcmFuc2Zvcm1hdGlvbk1hdHJpeD4gc2NvcGVk
VHJhbnNmb3JtKG9wdGlvbnMudHJhbnNmb3JtLCBvcHRpb25zLnRyYW5zZm9ybSk7CisgICAgICAg
ICAgICAgICAgb3B0aW9ucy50cmFuc2Zvcm0ubXVsdGlwbHkocmVwbGljYVRyYW5zZm9ybSgpKTsK
KyAgICAgICAgICAgICAgICBwYWludEludG9TdXJmYWNlKG9wdGlvbnMpOworICAgICAgICAgICAg
fQorICAgICAgICAgICAgaWYgKG1fc3RhdGUucmVwbGljYUxheWVyLT5tX3N0YXRlLm1hc2tMYXll
cikKKyAgICAgICAgICAgICAgICBtX3N0YXRlLnJlcGxpY2FMYXllci0+bV9zdGF0ZS5tYXNrTGF5
ZXItPmFwcGx5TWFzayhvcHRpb25zKTsKKyAgICAgICAgfQogCi0gICAgcGFpbnRJbnRvU3VyZmFj
ZShwYWludE9wdGlvbnMpOworICAgICAgICBwYWludEludG9TdXJmYWNlKG9wdGlvbnMpOworICAg
ICAgICBzdXJmYWNlID0gb3B0aW9ucy5zdXJmYWNlOworICAgIH0KIAotICAgIGNvbW1pdFN1cmZh
Y2Uob3B0aW9ucywgKnBhaW50T3B0aW9ucy5zdXJmYWNlLCByZWN0LCBvcHRpb25zLm9wYWNpdHkp
OworICAgIGNvbW1pdFN1cmZhY2Uob3B0aW9ucywgKnN1cmZhY2UsIHJlY3QsIG9wdGlvbnMub3Bh
Y2l0eSk7CiB9CiAKLXZvaWQgVGV4dHVyZU1hcHBlckxheWVyOjpwYWludFJlY3Vyc2l2ZShjb25z
dCBUZXh0dXJlTWFwcGVyUGFpbnRPcHRpb25zJiBvcHRpb25zKQordm9pZCBUZXh0dXJlTWFwcGVy
TGF5ZXI6OnBhaW50UmVjdXJzaXZlKFRleHR1cmVNYXBwZXJQYWludE9wdGlvbnMmIG9wdGlvbnMp
CiB7CiAgICAgaWYgKCFpc1Zpc2libGUoKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgVGV4dHVy
ZU1hcHBlclBhaW50T3B0aW9ucyBwYWludE9wdGlvbnMob3B0aW9ucyk7Ci0gICAgcGFpbnRPcHRp
b25zLm9wYWNpdHkgKj0gbV9jdXJyZW50T3BhY2l0eTsKKyAgICBTZXRGb3JTY29wZTxmbG9hdD4g
c2NvcGVkT3BhY2l0eShvcHRpb25zLm9wYWNpdHksIG9wdGlvbnMub3BhY2l0eSAqIG1fY3VycmVu
dE9wYWNpdHkpOwogCiAgICAgaWYgKCFzaG91bGRCbGVuZCgpKSB7Ci0gICAgICAgIHBhaW50U2Vs
ZkFuZENoaWxkcmVuV2l0aFJlcGxpY2EocGFpbnRPcHRpb25zKTsKKyAgICAgICAgcGFpbnRTZWxm
QW5kQ2hpbGRyZW5XaXRoUmVwbGljYShvcHRpb25zKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0K
IAotICAgIHBhaW50VXNpbmdPdmVybGFwUmVnaW9ucyhwYWludE9wdGlvbnMpOworICAgIHBhaW50
VXNpbmdPdmVybGFwUmVnaW9ucyhvcHRpb25zKTsKIH0KIAogI2lmICFVU0UoQ09PUkRJTkFURURf
R1JBUEhJQ1MpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90
ZXhtYXAvVGV4dHVyZU1hcHBlckxheWVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlckxheWVyLmgKaW5kZXggZDVhYzk5MGRjNDhiZWFmM2Ey
MDNlMWY0OGRkNDY5MDc3MDU2YjMwMC4uOTgzZTExNGZjZWYyMzFkZGNhNTU5NGM5YjRlNDIxMWFm
M2I4MGY1MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4
bWFwL1RleHR1cmVNYXBwZXJMYXllci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyTGF5ZXIuaApAQCAtMTM2LDE0ICsxMzYsMTQgQEAg
cHJpdmF0ZToKICAgICB9OwogICAgIHZvaWQgY29tcHV0ZU92ZXJsYXBSZWdpb25zKENvbXB1dGVP
dmVybGFwUmVnaW9uRGF0YSYsIGNvbnN0IFRyYW5zZm9ybWF0aW9uTWF0cml4JiwgYm9vbCBpbmNs
dWRlc1JlcGxpY2EgPSB0cnVlKTsKIAotICAgIHZvaWQgcGFpbnRSZWN1cnNpdmUoY29uc3QgVGV4
dHVyZU1hcHBlclBhaW50T3B0aW9ucyYpOwotICAgIHZvaWQgcGFpbnRVc2luZ092ZXJsYXBSZWdp
b25zKGNvbnN0IFRleHR1cmVNYXBwZXJQYWludE9wdGlvbnMmKTsKKyAgICB2b2lkIHBhaW50UmVj
dXJzaXZlKFRleHR1cmVNYXBwZXJQYWludE9wdGlvbnMmKTsKKyAgICB2b2lkIHBhaW50VXNpbmdP
dmVybGFwUmVnaW9ucyhUZXh0dXJlTWFwcGVyUGFpbnRPcHRpb25zJik7CiAgICAgdm9pZCBwYWlu
dEludG9TdXJmYWNlKFRleHR1cmVNYXBwZXJQYWludE9wdGlvbnMmKTsKLSAgICB2b2lkIHBhaW50
V2l0aEludGVybWVkaWF0ZVN1cmZhY2UoY29uc3QgVGV4dHVyZU1hcHBlclBhaW50T3B0aW9ucyYs
IGNvbnN0IEludFJlY3QmKTsKLSAgICB2b2lkIHBhaW50U2VsZihjb25zdCBUZXh0dXJlTWFwcGVy
UGFpbnRPcHRpb25zJik7Ci0gICAgdm9pZCBwYWludFNlbGZBbmRDaGlsZHJlbihjb25zdCBUZXh0
dXJlTWFwcGVyUGFpbnRPcHRpb25zJik7Ci0gICAgdm9pZCBwYWludFNlbGZBbmRDaGlsZHJlbldp
dGhSZXBsaWNhKGNvbnN0IFRleHR1cmVNYXBwZXJQYWludE9wdGlvbnMmKTsKLSAgICB2b2lkIGFw
cGx5TWFzayhjb25zdCBUZXh0dXJlTWFwcGVyUGFpbnRPcHRpb25zJik7CisgICAgdm9pZCBwYWlu
dFdpdGhJbnRlcm1lZGlhdGVTdXJmYWNlKFRleHR1cmVNYXBwZXJQYWludE9wdGlvbnMmLCBjb25z
dCBJbnRSZWN0Jik7CisgICAgdm9pZCBwYWludFNlbGYoVGV4dHVyZU1hcHBlclBhaW50T3B0aW9u
cyYpOworICAgIHZvaWQgcGFpbnRTZWxmQW5kQ2hpbGRyZW4oVGV4dHVyZU1hcHBlclBhaW50T3B0
aW9ucyYpOworICAgIHZvaWQgcGFpbnRTZWxmQW5kQ2hpbGRyZW5XaXRoUmVwbGljYShUZXh0dXJl
TWFwcGVyUGFpbnRPcHRpb25zJik7CisgICAgdm9pZCBhcHBseU1hc2soVGV4dHVyZU1hcHBlclBh
aW50T3B0aW9ucyYpOwogCiAgICAgYm9vbCBpc1Zpc2libGUoKSBjb25zdDsKIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>