<?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>231385</bug_id>
          
          <creation_ts>2021-10-07 12:49:15 -0700</creation_ts>
          <short_desc>BifurcatedGraphicsContext doesn&apos;t bifurcate draw{Tiled}Image</short_desc>
          <delta_ts>2021-10-07 15:18:59 -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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Tim Horton">thorton</reporter>
          <assigned_to name="Tim Horton">thorton</assigned_to>
          <cc>dino</cc>
    
    <cc>hi</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>wenson_hsieh</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1801728</commentid>
    <comment_count>0</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2021-10-07 12:49:15 -0700</bug_when>
    <thetext>BifurcatedGraphicsContext doesn&apos;t bifurcate drawTiledImage</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1801731</commentid>
    <comment_count>1</comment_count>
      <attachid>440529</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2021-10-07 12:52:00 -0700</bug_when>
    <thetext>Created attachment 440529
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1801732</commentid>
    <comment_count>2</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2021-10-07 12:52:03 -0700</bug_when>
    <thetext>&lt;rdar://problem/83922633&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1801734</commentid>
    <comment_count>3</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2021-10-07 12:54:44 -0700</bug_when>
    <thetext>Actually, wait... drawImage() has the same problem.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1801744</commentid>
    <comment_count>4</comment_count>
      <attachid>440531</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2021-10-07 13:14:19 -0700</bug_when>
    <thetext>Created attachment 440531
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1801763</commentid>
    <comment_count>5</comment_count>
      <attachid>440531</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2021-10-07 13:43:37 -0700</bug_when>
    <thetext>Comment on attachment 440531
Patch

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

r=me

&gt; Source/WebCore/platform/graphics/BifurcatedGraphicsContext.h:102
&gt; +    ImageDrawResult drawImage(Image&amp;, const FloatRect&amp; destination, const FloatRect&amp; source, const ImagePaintingOptions&amp; = { ImageOrientation::FromImage }) final;

Aside: it&apos;s kinda odd that the other `drawImage` are also `virtual` even though they just call into one of the other `drawImage`</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1801764</commentid>
    <comment_count>6</comment_count>
      <attachid>440531</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2021-10-07 13:46:43 -0700</bug_when>
    <thetext>Comment on attachment 440531
Patch

btw do we also need to do `drawImageBuffer` (and maybe somehow `drawConsumingImageBuffer`)?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1801765</commentid>
    <comment_count>7</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2021-10-07 13:51:42 -0700</bug_when>
    <thetext>(In reply to Devin Rousso from comment #5)
&gt; Comment on attachment 440531 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=440531&amp;action=review
&gt; 
&gt; r=me
&gt; 
&gt; &gt; Source/WebCore/platform/graphics/BifurcatedGraphicsContext.h:102
&gt; &gt; +    ImageDrawResult drawImage(Image&amp;, const FloatRect&amp; destination, const FloatRect&amp; source, const ImagePaintingOptions&amp; = { ImageOrientation::FromImage }) final;
&gt; 
&gt; Aside: it&apos;s kinda odd that the other `drawImage` are also `virtual` even
&gt; though they just call into one of the other `drawImage`

I agree! Need to check if that is just an oversight (of mine, from June) or if something (DisplayList?) actually cares.(In reply to Devin Rousso from comment #6)
&gt; Comment on attachment 440531 [details]
&gt; Patch
&gt; 
&gt; btw do we also need to do `drawImageBuffer` (and maybe somehow
&gt; `drawConsumingImageBuffer`)?

These *do* eventually just turn into drawNativeImage, so they should be OK. Can&apos;t get a GeneratedImage-backed ImageBuffer. Agree that it looks funny though.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1801822</commentid>
    <comment_count>8</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-10-07 15:18:57 -0700</bug_when>
    <thetext>Committed r283747 (242669@main): &lt;https://commits.webkit.org/242669@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 440531.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>440529</attachid>
            <date>2021-10-07 12:52:00 -0700</date>
            <delta_ts>2021-10-07 13:14:17 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-231385-20211007125159.patch</filename>
            <type>text/plain</type>
            <size>12039</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgzNzE1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGJjNWYyOTZiYzljMTk3
MDNiMjg4YmRiOGVmZjg1YTM0YTM1N2VkMi4uZDUwOGQzNDlkMDljM2FjZWMyY2E4NTBkNzBmZWFm
ZmQ4MjFmNDA0MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDIxLTEwLTA3ICBUaW0g
SG9ydG9uICA8dGltb3RoeV9ob3J0b25AYXBwbGUuY29tPgorCisgICAgICAgIEJpZnVyY2F0ZWRH
cmFwaGljc0NvbnRleHQgZG9lc24ndCBiaWZ1cmNhdGUgZHJhd1RpbGVkSW1hZ2UKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMTM4NQorICAgICAgICA8
cmRhcjovL3Byb2JsZW0vODM5MjI2MzM+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgTmV3IEFQSSBUZXN0OiBCaWZ1cmNhdGVkR3JhcGhpY3NDb250ZXh0
VGVzdHMuR3JhZGllbnRJbWFnZQorCisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0dyYWRpZW50SW1hZ2UuaDoK
KyAgICAgICAgRXhwb3J0IEdyYWRpZW50SW1hZ2UncyBjb25zdHJ1Y3RvciBhbmQgR3JhZGllbnRJ
bWFnZSBhbmQgR2VuZXJhdGVkSW1hZ2UgaGVhZGVycy4KKworICAgICAgICAqIHBsYXRmb3JtL2dy
YXBoaWNzL0JpZnVyY2F0ZWRHcmFwaGljc0NvbnRleHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
QmlmdXJjYXRlZEdyYXBoaWNzQ29udGV4dDo6ZHJhd1RpbGVkSW1hZ2UpOgorICAgICAgICAqIHBs
YXRmb3JtL2dyYXBoaWNzL0JpZnVyY2F0ZWRHcmFwaGljc0NvbnRleHQuaDoKKyAgICAgICAgRm9y
d2FyZCBkcmF3VGlsZWRJbWFnZSB0byBib3RoIEdyYXBoaWNzQ29udGV4dCBpbnN0YW5jZXMuCisg
ICAgICAgIAorICAgICAgICBJIGhhZCBpbml0aWFsbHkgYXZvaWRlZCBpdCBiZWNhdXNlIEkgYXNz
dW1lZCBkcmF3TmF0aXZlSW1hZ2Ugd291bGQKKyAgICAgICAgYmUgdGhlIGV2ZW50dWFsIHJlc3Vs
dCwgYnV0IGJlY2F1c2Ugb2YgdGhlIG5vbi1CaXRtYXBJbWFnZSBzdWJjbGFzc2VzCisgICAgICAg
IHRoYXQgaXMgYWN0dWFsbHkgbm90IHRoZSBjYXNlISBGb3IgZXhhbXBsZSwgaW4gdGhlIGdyYWRp
ZW50IGNhc2UsCisgICAgICAgIGRyYXdpbmcgdGhlIGltYWdlIHJlc3VsdHMgaW4gR3JhZGllbnRD
RyBkaXJlY3RseSBpbnRlcmFjdGluZyB3aXRoIHRoZQorICAgICAgICBwbGF0Zm9ybSBjb250ZXh0
LCBub3Qgcm91bmQtdHJpcHBpbmcgYmFjayB0aHJvdWdoIEdyYXBoaWNzQ29udGV4dCwKKyAgICAg
ICAgc28gdGhlIGNvbW1hbmRzIGFyZSBub3QgcmVwbGljYXRlZC4KKwogMjAyMS0xMC0wNyAgQWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CiAKICAgICAgICAgW0xGQ11bSUZDXSBJbmxpbmVE
aXNwbGF5OjpCb3ggc2hvdWxkIGJlIGFibGUgdG8gdGVsbCBpZiBpdCdzIHRoZSBmaXJzdCBvciB0
aGUgbGFzdCBib3ggd2l0aGluIHRoZSBhc3NvY2lhdGVkIExheW91dDo6Qm94CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggZmYyOWEx
NmYzZDcwZjI0ZDE3ZmM4YTkyZjY0ZDdlMTllOTYwOGQ2My4uNTdhNzg3NTI0OWVkOGVlNDRiODg0
ZDI3MGRhZWM1ZjVkZTY1MDRjYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtNzk5LDcgKzc5OSw3IEBACiAJCTJENDE1MERFMUMx
Rjg2OEMwMDBBM0JBMiAvKiBKU01vY2tQYWdlT3ZlcmxheS5jcHAgaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRDZGM0U5MjFDMUY4NTU1MDA2MURCRDQgLyog
SlNNb2NrUGFnZU92ZXJsYXkuY3BwICovOyB9OwogCQkyRDQxNTBERTFDMUY4NjhDMDAwQTNCQTMg
LyogSlNJbnRlcm5hbHNTZXRMaWtlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDJENkYzRTkyMUMxRjg1NTUwMDYxREJENSAvKiBKU0ludGVybmFsc1Nl
dExpa2UuY3BwICovOyB9OwogCQkyRDQ4MUYwMjE0NkI1QzU1MDBBQTc4MzQgLyogQ3Jvc3NmYWRl
R2VuZXJhdGVkSW1hZ2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDJEMkZDMDU1MTQ2MENENkYwMDI2MzYzMyAvKiBDcm9zc2ZhZGVHZW5lcmF0ZWRJbWFn
ZS5oICovOyB9OwotCQkyRDQ4MUYwNDE0NkI1QzZCMDBBQTc4MzQgLyogR3JhZGllbnRJbWFnZS5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkQyRkMwNTcx
NDYwQ0Q2RjAwMjYzNjMzIC8qIEdyYWRpZW50SW1hZ2UuaCAqLzsgfTsKKwkJMkQ0ODFGMDQxNDZC
NUM2QjAwQUE3ODM0IC8qIEdyYWRpZW50SW1hZ2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJEMkZDMDU3MTQ2MENENkYwMDI2MzYzMyAvKiBHcmFkaWVu
dEltYWdlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsK
IAkJMkQ0Rjk2RjYxQTFFQ0MyNDAwOThCRjg4IC8qIFRleHRJbmRpY2F0b3IuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJENEY5NkYyMUExRUNDMjQwMDk4
QkY4OCAvKiBUZXh0SW5kaWNhdG9yLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJp
dmF0ZSwgKTsgfTsgfTsKIAkJMkQ0Rjk2RjcxQTFFQ0MyNDAwOThCRjg4IC8qIFRleHRJbmRpY2F0
b3JXaW5kb3cuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDJENEY5NkYzMUExRUNDMjQwMDk4QkY4OCAvKiBUZXh0SW5kaWNhdG9yV2luZG93LmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMkQ1MDAyRkMxQjU2
RDc5OTAwMjBBQUY3IC8qIFBhdGhVdGlsaXRpZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJENTAwMkZBMUI1NkQ3OTkwMDIwQUFGNyAvKiBQYXRoVXRp
bGl0aWVzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsK
QEAgLTQwNTgsNyArNDA1OCw3IEBACiAJCUJDMjI3NDc5MEU4MzY2RTIwMEU3Rjk3NSAvKiBTVkdS
ZW5kZXJTdHlsZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gQkMyMjc0NzUwRTgzNjZFMjAwRTdGOTc1IC8qIFNWR1JlbmRlclN0eWxlLmggKi87IHNldHRp
bmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQkMyMjc0N0IwRTgzNjZF
MjAwRTdGOTc1IC8qIFNWR1JlbmRlclN0eWxlRGVmcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkMyMjc0NzcwRTgzNjZFMjAwRTdGOTc1IC8qIFNWR1Jl
bmRlclN0eWxlRGVmcy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7
IH07IH07CiAJCUJDMjNFRTkyMERBRUQyQkMwMDlGREM5MSAvKiBDU1NJbWFnZUdlbmVyYXRvclZh
bHVlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQzIz
RUU5MTBEQUVEMkJDMDA5RkRDOTEgLyogQ1NTSW1hZ2VHZW5lcmF0b3JWYWx1ZS5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07Ci0JCUJDMjNGMERCMERBRkY0
QTQwMDlGREM5MSAvKiBHZW5lcmF0ZWRJbWFnZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gQkMyM0YwREEwREFGRjRBNDAwOUZEQzkxIC8qIEdlbmVyYXRl
ZEltYWdlLmggKi87IH07CisJCUJDMjNGMERCMERBRkY0QTQwMDlGREM5MSAvKiBHZW5lcmF0ZWRJ
bWFnZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkMy
M0YwREEwREFGRjRBNDAwOUZEQzkxIC8qIEdlbmVyYXRlZEltYWdlLmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQkMyNzRCMkYxNDBFQkVCMjAwRUFE
RkE2IC8qIENTU0JvcmRlckltYWdlU2xpY2VWYWx1ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkMyNzRCMkUxNDBFQkVCMjAwRUFERkE2IC8qIENTU0Jv
cmRlckltYWdlU2xpY2VWYWx1ZS5oICovOyB9OwogCQlCQzJDQkY0RTE0MEYxQUJEMDAzODc5QkUg
LyogSlNXZWJHTENvbnRleHRFdmVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQkMyQ0JGNEIxNDBGMUE2NTAwMzg3OUJFIC8qIEpTV2ViR0xDb250ZXh0
RXZlbnQuaCAqLzsgfTsKIAkJQkMyQ0NBMTAyNjU1RERCMjAwQjhDMDM1IC8qIERlc3RpbmF0aW9u
Q29sb3JTcGFjZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gQkMyQ0NBMEUyNjU1RERCMjAwQjhDMDM1IC8qIERlc3RpbmF0aW9uQ29sb3JTcGFjZS5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9CaWZ1cmNhdGVkR3JhcGhpY3NDb250
ZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0JpZnVyY2F0ZWRHcmFw
aGljc0NvbnRleHQuY3BwCmluZGV4IGMwY2U3MmM1ZmZjMTMzYTI4M2NiODhjZmU2OGQ3NzVjNzJj
MmQ1YzAuLjcxZDc0N2EzMWEzMDIzNzI3NjRhZjMwZTk2OTEyMzQ2OWVlZTg5MjYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0JpZnVyY2F0ZWRHcmFwaGljc0Nv
bnRleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0JpZnVyY2F0
ZWRHcmFwaGljc0NvbnRleHQuY3BwCkBAIC0yNjksNiArMjY5LDIwIEBAIHZvaWQgQmlmdXJjYXRl
ZEdyYXBoaWNzQ29udGV4dDo6ZHJhd1BhdHRlcm4oTmF0aXZlSW1hZ2UmIG5hdGl2ZUltYWdlLCBj
b25zdCBGbG9hCiAgICAgbV9zZWNvbmRhcnlDb250ZXh0LmRyYXdQYXR0ZXJuKG5hdGl2ZUltYWdl
LCBpbWFnZVNpemUsIGRlc3RSZWN0LCB0aWxlUmVjdCwgcGF0dGVyblRyYW5zZm9ybSwgcGhhc2Us
IHNwYWNpbmcsIG9wdGlvbnMpOwogfQogCitJbWFnZURyYXdSZXN1bHQgQmlmdXJjYXRlZEdyYXBo
aWNzQ29udGV4dDo6ZHJhd1RpbGVkSW1hZ2UoSW1hZ2UmIGltYWdlLCBjb25zdCBGbG9hdFJlY3Qm
IGRlc3RpbmF0aW9uLCBjb25zdCBGbG9hdFBvaW50JiBzb3VyY2UsIGNvbnN0IEZsb2F0U2l6ZSYg
dGlsZVNpemUsIGNvbnN0IEZsb2F0U2l6ZSYgc3BhY2luZywgY29uc3QgSW1hZ2VQYWludGluZ09w
dGlvbnMmIG9wdGlvbnMpCit7CisgICAgYXV0byByZXN1bHQgPSBtX3ByaW1hcnlDb250ZXh0LmRy
YXdUaWxlZEltYWdlKGltYWdlLCBkZXN0aW5hdGlvbiwgc291cmNlLCB0aWxlU2l6ZSwgc3BhY2lu
Zywgb3B0aW9ucyk7CisgICAgbV9zZWNvbmRhcnlDb250ZXh0LmRyYXdUaWxlZEltYWdlKGltYWdl
LCBkZXN0aW5hdGlvbiwgc291cmNlLCB0aWxlU2l6ZSwgc3BhY2luZywgb3B0aW9ucyk7CisgICAg
cmV0dXJuIHJlc3VsdDsKK30KKworSW1hZ2VEcmF3UmVzdWx0IEJpZnVyY2F0ZWRHcmFwaGljc0Nv
bnRleHQ6OmRyYXdUaWxlZEltYWdlKEltYWdlJiBpbWFnZSwgY29uc3QgRmxvYXRSZWN0JiBkZXN0
aW5hdGlvbiwgY29uc3QgRmxvYXRSZWN0JiBzb3VyY2UsIGNvbnN0IEZsb2F0U2l6ZSYgdGlsZVNj
YWxlRmFjdG9yLCBJbWFnZTo6VGlsZVJ1bGUgaFJ1bGUsIEltYWdlOjpUaWxlUnVsZSB2UnVsZSwg
Y29uc3QgSW1hZ2VQYWludGluZ09wdGlvbnMmIG9wdGlvbnMpCit7CisgICAgYXV0byByZXN1bHQg
PSBtX3ByaW1hcnlDb250ZXh0LmRyYXdUaWxlZEltYWdlKGltYWdlLCBkZXN0aW5hdGlvbiwgc291
cmNlLCB0aWxlU2NhbGVGYWN0b3IsIGhSdWxlLCB2UnVsZSwgb3B0aW9ucyk7CisgICAgbV9zZWNv
bmRhcnlDb250ZXh0LmRyYXdUaWxlZEltYWdlKGltYWdlLCBkZXN0aW5hdGlvbiwgc291cmNlLCB0
aWxlU2NhbGVGYWN0b3IsIGhSdWxlLCB2UnVsZSwgb3B0aW9ucyk7CisgICAgcmV0dXJuIHJlc3Vs
dDsKK30KKwogdm9pZCBCaWZ1cmNhdGVkR3JhcGhpY3NDb250ZXh0OjpwYWludEZyYW1lRm9yTWVk
aWEoTWVkaWFQbGF5ZXImIHBsYXllciwgY29uc3QgRmxvYXRSZWN0JiBkZXN0aW5hdGlvbikKIHsK
ICAgICBtX3ByaW1hcnlDb250ZXh0LnBhaW50RnJhbWVGb3JNZWRpYShwbGF5ZXIsIGRlc3RpbmF0
aW9uKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0JpZnVy
Y2F0ZWRHcmFwaGljc0NvbnRleHQuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L0JpZnVyY2F0ZWRHcmFwaGljc0NvbnRleHQuaAppbmRleCAyZGVkNTM2ZGQxMzYzOWUxMTM3NzJi
Yjg3YzhkZjgxZTc0Y2VmZDEwLi5hOTYzZjdhM2U0OTY2MGU1MzU1NTM3NGUyZTMyMDI0MmM1NjZl
MzcyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9CaWZ1cmNh
dGVkR3JhcGhpY3NDb250ZXh0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvQmlmdXJjYXRlZEdyYXBoaWNzQ29udGV4dC5oCkBAIC05OSw2ICs5OSw4IEBAIHB1YmxpYzoK
IAogICAgIHZvaWQgZHJhd05hdGl2ZUltYWdlKE5hdGl2ZUltYWdlJiwgY29uc3QgRmxvYXRTaXpl
JiBzZWxmU2l6ZSwgY29uc3QgRmxvYXRSZWN0JiBkZXN0UmVjdCwgY29uc3QgRmxvYXRSZWN0JiBz
cmNSZWN0LCBjb25zdCBJbWFnZVBhaW50aW5nT3B0aW9ucyYgPSB7IH0pIGZpbmFsOwogICAgIHZv
aWQgZHJhd1BhdHRlcm4oTmF0aXZlSW1hZ2UmLCBjb25zdCBGbG9hdFNpemUmIGltYWdlU2l6ZSwg
Y29uc3QgRmxvYXRSZWN0JiBkZXN0UmVjdCwgY29uc3QgRmxvYXRSZWN0JiB0aWxlUmVjdCwgY29u
c3QgQWZmaW5lVHJhbnNmb3JtJiBwYXR0ZXJuVHJhbnNmb3JtLCBjb25zdCBGbG9hdFBvaW50JiBw
aGFzZSwgY29uc3QgRmxvYXRTaXplJiBzcGFjaW5nLCBjb25zdCBJbWFnZVBhaW50aW5nT3B0aW9u
cyYgPSB7IH0pIGZpbmFsOworICAgIEltYWdlRHJhd1Jlc3VsdCBkcmF3VGlsZWRJbWFnZShJbWFn
ZSYsIGNvbnN0IEZsb2F0UmVjdCYgZGVzdGluYXRpb24sIGNvbnN0IEZsb2F0UG9pbnQmIHNvdXJj
ZSwgY29uc3QgRmxvYXRTaXplJiB0aWxlU2l6ZSwgY29uc3QgRmxvYXRTaXplJiBzcGFjaW5nLCBj
b25zdCBJbWFnZVBhaW50aW5nT3B0aW9ucyYgPSB7IH0pIGZpbmFsOworICAgIEltYWdlRHJhd1Jl
c3VsdCBkcmF3VGlsZWRJbWFnZShJbWFnZSYsIGNvbnN0IEZsb2F0UmVjdCYgZGVzdGluYXRpb24s
IGNvbnN0IEZsb2F0UmVjdCYgc291cmNlLCBjb25zdCBGbG9hdFNpemUmIHRpbGVTY2FsZUZhY3Rv
ciwgSW1hZ2U6OlRpbGVSdWxlLCBJbWFnZTo6VGlsZVJ1bGUsIGNvbnN0IEltYWdlUGFpbnRpbmdP
cHRpb25zJiA9IHsgfSkgZmluYWw7CiAKICNpZiBFTkFCTEUoVklERU8pCiAgICAgdm9pZCBwYWlu
dEZyYW1lRm9yTWVkaWEoTWVkaWFQbGF5ZXImLCBjb25zdCBGbG9hdFJlY3QmIGRlc3RpbmF0aW9u
KSBmaW5hbDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dy
YWRpZW50SW1hZ2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYWRpZW50
SW1hZ2UuaAppbmRleCA4NmUxODdjY2I0Y2EzOTlkZjU1MDFkOWI4YzNhOWRhNzc0MGY4NzA1Li5i
YzJhNTlhMmYwNmE4MWVkMjgwNmVhNTI1ZTBhNzhiMDIyM2U1N2MxIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFkaWVudEltYWdlLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhZGllbnRJbWFnZS5oCkBAIC00NCw3ICs0NCw3
IEBAIHB1YmxpYzoKICAgICBjb25zdCBHcmFkaWVudCYgZ3JhZGllbnQoKSBjb25zdCB7IHJldHVy
biBtX2dyYWRpZW50LmdldCgpOyB9CiAKIHByaXZhdGU6Ci0gICAgR3JhZGllbnRJbWFnZShHcmFk
aWVudCYsIGNvbnN0IEZsb2F0U2l6ZSYpOworICAgIFdFQkNPUkVfRVhQT1JUIEdyYWRpZW50SW1h
Z2UoR3JhZGllbnQmLCBjb25zdCBGbG9hdFNpemUmKTsKIAogICAgIEltYWdlRHJhd1Jlc3VsdCBk
cmF3KEdyYXBoaWNzQ29udGV4dCYsIGNvbnN0IEZsb2F0UmVjdCYgZHN0UmVjdCwgY29uc3QgRmxv
YXRSZWN0JiBzcmNSZWN0LCBjb25zdCBJbWFnZVBhaW50aW5nT3B0aW9ucyYgPSB7IH0pIGZpbmFs
OwogICAgIHZvaWQgZHJhd1BhdHRlcm4oR3JhcGhpY3NDb250ZXh0JiwgY29uc3QgRmxvYXRSZWN0
JiBkZXN0UmVjdCwgY29uc3QgRmxvYXRSZWN0JiBzcmNSZWN0LCBjb25zdCBBZmZpbmVUcmFuc2Zv
cm0mIHBhdHRlcm5UcmFuc2Zvcm0sIGNvbnN0IEZsb2F0UG9pbnQmIHBoYXNlLCBjb25zdCBGbG9h
dFNpemUmIHNwYWNpbmcsIGNvbnN0IEltYWdlUGFpbnRpbmdPcHRpb25zJiA9IHsgfSkgZmluYWw7
CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggZWUy
YjdkZmU0NDExMmEyNDQxMmU5OWRmMTY3ODE0NGIyMGU2OGVjNy4uNTVhZmVmODNiNjYwYTdkZTE2
ODA4NDJhYzE1OTMzZDI5ODA5NTMxZiAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBi
L1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDIxLTEwLTA3ICBUaW0gSG9ydG9u
ICA8dGltb3RoeV9ob3J0b25AYXBwbGUuY29tPgorCisgICAgICAgIEJpZnVyY2F0ZWRHcmFwaGlj
c0NvbnRleHQgZG9lc24ndCBiaWZ1cmNhdGUgZHJhd1RpbGVkSW1hZ2UKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMTM4NQorICAgICAgICA8cmRhcjov
L3Byb2JsZW0vODM5MjI2MzM+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYkNvcmUvY2cvQmlmdXJjYXRlZEdy
YXBoaWNzQ29udGV4dFRlc3RzQ0cuY3BwOgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6VEVTVCk6
CisgICAgICAgIEFkZCBhIHRlc3QuCisKIDIwMjEtMTAtMDcgIFlvdWVubiBGYWJsZXQgIDx5b3Vl
bm5AYXBwbGUuY29tPgogCiAgICAgICAgIFJFR1JFU1NJT04gKHIyODM2MTMpOiBbIG1hY09TIF0g
VGVzdFdlYktpdEFQSS5SZXNvdXJjZUxvYWREZWxlZ2F0ZS5Mb2FkSW5mbyBpcyBmYWlsaW5nCmRp
ZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYkNvcmUvY2cvQmlmdXJjYXRl
ZEdyYXBoaWNzQ29udGV4dFRlc3RzQ0cuY3BwIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9X
ZWJDb3JlL2NnL0JpZnVyY2F0ZWRHcmFwaGljc0NvbnRleHRUZXN0c0NHLmNwcAppbmRleCBlMWI1
MGJkZTc1ODkzZjQxZTY2MDAzNTVmY2JlZTg0NGJmMTViMWRiLi4xMGQ0MTdhYmEyODhjOTE5MDQy
ODM2OTExNGY0OGJkNjViZjYwNjk5IDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rl
c3RzL1dlYkNvcmUvY2cvQmlmdXJjYXRlZEdyYXBoaWNzQ29udGV4dFRlc3RzQ0cuY3BwCisrKyBi
L1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViQ29yZS9jZy9CaWZ1cmNhdGVkR3JhcGhpY3ND
b250ZXh0VGVzdHNDRy5jcHAKQEAgLTM0LDYgKzM0LDcgQEAKICNpbmNsdWRlIDxXZWJDb3JlL0Rp
c3BsYXlMaXN0SXRlcmF0b3IuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0Rpc3BsYXlMaXN0UmVjb3Jk
ZXIuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0ZvbnRDYXNjYWRlLmg+CisjaW5jbHVkZSA8V2ViQ29y
ZS9HcmFkaWVudEltYWdlLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9HcmFwaGljc0NvbnRleHRDRy5o
PgogI2luY2x1ZGUgPFdlYkNvcmUvSW5NZW1vcnlEaXNwbGF5TGlzdC5oPgogCkBAIC0xMjksNiAr
MTMwLDM4IEBAIFRFU1QoQmlmdXJjYXRlZEdyYXBoaWNzQ29udGV4dFRlc3RzLCBUZXh0SW5CaWZ1
cmNhdGVkQ29udGV4dCkKICAgICBydW5UZXN0KHNlY29uZGFyeURpc3BsYXlMaXN0KTsKIH0KIAor
VEVTVChCaWZ1cmNhdGVkR3JhcGhpY3NDb250ZXh0VGVzdHMsIEdyYWRpZW50SW1hZ2UpCit7Cisg
ICAgYXV0byBjb2xvclNwYWNlID0gRGVzdGluYXRpb25Db2xvclNwYWNlOjpTUkdCKCk7CisgICAg
YXV0byBwcmltYXJ5Q0dDb250ZXh0ID0gYWRvcHRDRihDR0JpdG1hcENvbnRleHRDcmVhdGUobnVs
bHB0ciwgY29udGV4dFdpZHRoLCBjb250ZXh0SGVpZ2h0LCA4LCA0ICogY29udGV4dFdpZHRoLCBj
b2xvclNwYWNlLnBsYXRmb3JtQ29sb3JTcGFjZSgpLCBrQ0dJbWFnZUFscGhhUHJlbXVsdGlwbGll
ZExhc3QpKTsKKyAgICBhdXRvIHNlY29uZGFyeUNHQ29udGV4dCA9IGFkb3B0Q0YoQ0dCaXRtYXBD
b250ZXh0Q3JlYXRlKG51bGxwdHIsIGNvbnRleHRXaWR0aCwgY29udGV4dEhlaWdodCwgOCwgNCAq
IGNvbnRleHRXaWR0aCwgY29sb3JTcGFjZS5wbGF0Zm9ybUNvbG9yU3BhY2UoKSwga0NHSW1hZ2VB
bHBoYVByZW11bHRpcGxpZWRMYXN0KSk7CisKKyAgICBHcmFwaGljc0NvbnRleHRDRyBwcmltYXJ5
Q29udGV4dChwcmltYXJ5Q0dDb250ZXh0LmdldCgpKTsKKyAgICBHcmFwaGljc0NvbnRleHRDRyBz
ZWNvbmRhcnlDb250ZXh0KHNlY29uZGFyeUNHQ29udGV4dC5nZXQoKSk7CisgICAgQmlmdXJjYXRl
ZEdyYXBoaWNzQ29udGV4dCBjdHgocHJpbWFyeUNvbnRleHQsIHNlY29uZGFyeUNvbnRleHQpOwor
CisgICAgYXV0byBncmFkaWVudCA9IEdyYWRpZW50OjpjcmVhdGUoR3JhZGllbnQ6OkxpbmVhckRh
dGEgeyB7IDAsIDAgfSwgeyAxLCAxIH0gfSk7CisgICAgZ3JhZGllbnQtPmFkZENvbG9yU3RvcCh7
IDAsIENvbG9yOjpyZWQgfSk7CisKKyAgICBhdXRvIGdyYWRpZW50SW1hZ2UgPSBHcmFkaWVudElt
YWdlOjpjcmVhdGUoZ3JhZGllbnQsIEZsb2F0U2l6ZSB7IDEsIDEgfSk7CisKKyAgICBjdHguZHJh
d1RpbGVkSW1hZ2UoZ3JhZGllbnRJbWFnZS5nZXQoKSwgRmxvYXRSZWN0IHsgMCwgMCwgMTAwLCAx
MDAgfSwgRmxvYXRSZWN0IHsgMCwgMCwgMSwgMSB9LCBGbG9hdFNpemUgeyAxLCAxIH0sIEltYWdl
OjpSZXBlYXRUaWxlLCBJbWFnZTo6UmVwZWF0VGlsZSk7CisKKyAgICAvLyBUaGUgcHJpbWFyeSBj
b250ZXh0IHNob3VsZCBiZSByZWQuCisgICAgQ0dDb250ZXh0Rmx1c2gocHJpbWFyeUNHQ29udGV4
dC5nZXQoKSk7CisgICAgdWludDhfdCogcHJpbWFyeURhdGEgPSBzdGF0aWNfY2FzdDx1aW50OF90
Kj4oQ0dCaXRtYXBDb250ZXh0R2V0RGF0YShwcmltYXJ5Q0dDb250ZXh0LmdldCgpKSk7CisgICAg
RVhQRUNUX0VRKHByaW1hcnlEYXRhWzBdLCAyNTUpOworICAgIEVYUEVDVF9FUShwcmltYXJ5RGF0
YVsxXSwgMCk7CisgICAgRVhQRUNUX0VRKHByaW1hcnlEYXRhWzJdLCAwKTsKKworICAgIC8vIFRo
ZSBzZWNvbmRhcnkgY29udGV4dCBzaG91bGQgYmUgcmVkLgorICAgIENHQ29udGV4dEZsdXNoKHNl
Y29uZGFyeUNHQ29udGV4dC5nZXQoKSk7CisgICAgdWludDhfdCogc2Vjb25kYXJ5RGF0YSA9IHN0
YXRpY19jYXN0PHVpbnQ4X3QqPihDR0JpdG1hcENvbnRleHRHZXREYXRhKHNlY29uZGFyeUNHQ29u
dGV4dC5nZXQoKSkpOworICAgIEVYUEVDVF9FUShzZWNvbmRhcnlEYXRhWzBdLCAyNTUpOworICAg
IEVYUEVDVF9FUShzZWNvbmRhcnlEYXRhWzFdLCAwKTsKKyAgICBFWFBFQ1RfRVEoc2Vjb25kYXJ5
RGF0YVsyXSwgMCk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFRlc3RXZWJLaXRBUEkKIAogI2VuZGlm
IC8vIFVTRShDRykK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>440531</attachid>
            <date>2021-10-07 13:14:19 -0700</date>
            <delta_ts>2021-10-07 15:18:58 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-231385-20211007131418.patch</filename>
            <type>text/plain</type>
            <size>14958</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgzNzE1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGJjNWYyOTZiYzljMTk3
MDNiMjg4YmRiOGVmZjg1YTM0YTM1N2VkMi4uMjJkMGE0MGFhZTNkYTkzNDljZTBhYTE1ZjMwNGI0
NGFkNDhlMjIyYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMxIEBACisyMDIxLTEwLTA3ICBUaW0g
SG9ydG9uICA8dGltb3RoeV9ob3J0b25AYXBwbGUuY29tPgorCisgICAgICAgIEJpZnVyY2F0ZWRH
cmFwaGljc0NvbnRleHQgZG9lc24ndCBiaWZ1cmNhdGUgZHJhd3tUaWxlZH1JbWFnZQorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMxMzg1CisgICAgICAg
IDxyZGFyOi8vcHJvYmxlbS84MzkyMjYzMz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBOZXcgQVBJIFRlc3Q6IEJpZnVyY2F0ZWRHcmFwaGljc0NvbnRl
eHRUZXN0cy5EcmF3R3JhZGllbnRJbWFnZSwgRHJhd1RpbGVkR3JhZGllbnRJbWFnZQorCisgICAg
ICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIHBsYXRm
b3JtL2dyYXBoaWNzL0dyYWRpZW50SW1hZ2UuaDoKKyAgICAgICAgRXhwb3J0IEdyYWRpZW50SW1h
Z2UncyBjb25zdHJ1Y3RvciBhbmQgR3JhZGllbnRJbWFnZSBhbmQgR2VuZXJhdGVkSW1hZ2UgaGVh
ZGVycy4KKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0JpZnVyY2F0ZWRHcmFwaGljc0Nv
bnRleHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QmlmdXJjYXRlZEdyYXBoaWNzQ29udGV4dDo6
ZHJhd1RpbGVkSW1hZ2UpOgorICAgICAgICAoV2ViQ29yZTo6QmlmdXJjYXRlZEdyYXBoaWNzQ29u
dGV4dDo6ZHJhd0ltYWdlKToKKyAgICAgICAgKFdlYkNvcmU6OkJpZnVyY2F0ZWRHcmFwaGljc0Nv
bnRleHQ6OmRyYXdJbWFnZUZvckNhbnZhcyk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
QmlmdXJjYXRlZEdyYXBoaWNzQ29udGV4dC5oOgorICAgICAgICBGb3J3YXJkIGRyYXd7VGlsZWR9
SW1hZ2UgdG8gYm90aCBHcmFwaGljc0NvbnRleHQgaW5zdGFuY2VzLgorICAgICAgICAKKyAgICAg
ICAgSSBoYWQgaW5pdGlhbGx5IGF2b2lkZWQgaXQgYmVjYXVzZSBJIGFzc3VtZWQgZHJhd05hdGl2
ZUltYWdlIHdvdWxkCisgICAgICAgIGJlIHRoZSBldmVudHVhbCByZXN1bHQsIGJ1dCBiZWNhdXNl
IG9mIHRoZSBub24tQml0bWFwSW1hZ2Ugc3ViY2xhc3NlcworICAgICAgICB0aGF0IGlzIGFjdHVh
bGx5IG5vdCB0aGUgY2FzZSEgRm9yIGV4YW1wbGUsIGluIHRoZSBncmFkaWVudCBjYXNlLAorICAg
ICAgICBkcmF3aW5nIHRoZSBpbWFnZSByZXN1bHRzIGluIEdyYWRpZW50Q0cgZGlyZWN0bHkgaW50
ZXJhY3Rpbmcgd2l0aCB0aGUKKyAgICAgICAgcGxhdGZvcm0gY29udGV4dCwgbm90IHJvdW5kLXRy
aXBwaW5nIGJhY2sgdGhyb3VnaCBHcmFwaGljc0NvbnRleHQsCisgICAgICAgIHNvIHRoZSBjb21t
YW5kcyBhcmUgbm90IHJlcGxpY2F0ZWQuCisKIDIwMjEtMTAtMDcgIEFsYW4gQnVqdGFzICA8emFs
YW5AYXBwbGUuY29tPgogCiAgICAgICAgIFtMRkNdW0lGQ10gSW5saW5lRGlzcGxheTo6Qm94IHNo
b3VsZCBiZSBhYmxlIHRvIHRlbGwgaWYgaXQncyB0aGUgZmlyc3Qgb3IgdGhlIGxhc3QgYm94IHdp
dGhpbiB0aGUgYXNzb2NpYXRlZCBMYXlvdXQ6OkJveApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGZmMjlhMTZmM2Q3MGYyNGQxN2Zj
OGE5MmY2NGQ3ZTE5ZTk2MDhkNjMuLjU3YTc4NzUyNDllZDhlZTQ0Yjg4NGQyNzBkYWVjNWY1ZGU2
NTA0Y2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oKQEAgLTc5OSw3ICs3OTksNyBAQAogCQkyRDQxNTBERTFDMUY4NjhDMDAwQTNCQTIg
LyogSlNNb2NrUGFnZU92ZXJsYXkuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMkQ2RjNFOTIxQzFGODU1NTAwNjFEQkQ0IC8qIEpTTW9ja1BhZ2VPdmVy
bGF5LmNwcCAqLzsgfTsKIAkJMkQ0MTUwREUxQzFGODY4QzAwMEEzQkEzIC8qIEpTSW50ZXJuYWxz
U2V0TGlrZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSAyRDZGM0U5MjFDMUY4NTU1MDA2MURCRDUgLyogSlNJbnRlcm5hbHNTZXRMaWtlLmNwcCAqLzsg
fTsKIAkJMkQ0ODFGMDIxNDZCNUM1NTAwQUE3ODM0IC8qIENyb3NzZmFkZUdlbmVyYXRlZEltYWdl
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRDJGQzA1
NTE0NjBDRDZGMDAyNjM2MzMgLyogQ3Jvc3NmYWRlR2VuZXJhdGVkSW1hZ2UuaCAqLzsgfTsKLQkJ
MkQ0ODFGMDQxNDZCNUM2QjAwQUE3ODM0IC8qIEdyYWRpZW50SW1hZ2UuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJEMkZDMDU3MTQ2MENENkYwMDI2MzYz
MyAvKiBHcmFkaWVudEltYWdlLmggKi87IH07CisJCTJENDgxRjA0MTQ2QjVDNkIwMEFBNzgzNCAv
KiBHcmFkaWVudEltYWdlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAyRDJGQzA1NzE0NjBDRDZGMDAyNjM2MzMgLyogR3JhZGllbnRJbWFnZS5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTJENEY5NkY2MUEx
RUNDMjQwMDk4QkY4OCAvKiBUZXh0SW5kaWNhdG9yLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRDRGOTZGMjFBMUVDQzI0MDA5OEJGODggLyogVGV4dElu
ZGljYXRvci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07
CiAJCTJENEY5NkY3MUExRUNDMjQwMDk4QkY4OCAvKiBUZXh0SW5kaWNhdG9yV2luZG93LmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRDRGOTZGMzFBMUVD
QzI0MDA5OEJGODggLyogVGV4dEluZGljYXRvcldpbmRvdy5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTJENTAwMkZDMUI1NkQ3OTkwMDIwQUFGNyAv
KiBQYXRoVXRpbGl0aWVzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAyRDUwMDJGQTFCNTZENzk5MDAyMEFBRjcgLyogUGF0aFV0aWxpdGllcy5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CkBAIC00MDU4LDcgKzQw
NTgsNyBAQAogCQlCQzIyNzQ3OTBFODM2NkUyMDBFN0Y5NzUgLyogU1ZHUmVuZGVyU3R5bGUuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDMjI3NDc1MEU4
MzY2RTIwMEU3Rjk3NSAvKiBTVkdSZW5kZXJTdHlsZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUJDMjI3NDdCMEU4MzY2RTIwMEU3Rjk3NSAvKiBT
VkdSZW5kZXJTdHlsZURlZnMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEJDMjI3NDc3MEU4MzY2RTIwMEU3Rjk3NSAvKiBTVkdSZW5kZXJTdHlsZURlZnMu
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlCQzIz
RUU5MjBEQUVEMkJDMDA5RkRDOTEgLyogQ1NTSW1hZ2VHZW5lcmF0b3JWYWx1ZS5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkMyM0VFOTEwREFFRDJCQzAw
OUZEQzkxIC8qIENTU0ltYWdlR2VuZXJhdG9yVmFsdWUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklC
VVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwotCQlCQzIzRjBEQjBEQUZGNEE0MDA5RkRDOTEgLyog
R2VuZXJhdGVkSW1hZ2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEJDMjNGMERBMERBRkY0QTQwMDlGREM5MSAvKiBHZW5lcmF0ZWRJbWFnZS5oICovOyB9
OworCQlCQzIzRjBEQjBEQUZGNEE0MDA5RkRDOTEgLyogR2VuZXJhdGVkSW1hZ2UuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDMjNGMERBMERBRkY0QTQw
MDlGREM5MSAvKiBHZW5lcmF0ZWRJbWFnZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0g
KFByaXZhdGUsICk7IH07IH07CiAJCUJDMjc0QjJGMTQwRUJFQjIwMEVBREZBNiAvKiBDU1NCb3Jk
ZXJJbWFnZVNsaWNlVmFsdWUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEJDMjc0QjJFMTQwRUJFQjIwMEVBREZBNiAvKiBDU1NCb3JkZXJJbWFnZVNsaWNl
VmFsdWUuaCAqLzsgfTsKIAkJQkMyQ0JGNEUxNDBGMUFCRDAwMzg3OUJFIC8qIEpTV2ViR0xDb250
ZXh0RXZlbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEJDMkNCRjRCMTQwRjFBNjUwMDM4NzlCRSAvKiBKU1dlYkdMQ29udGV4dEV2ZW50LmggKi87IH07
CiAJCUJDMkNDQTEwMjY1NUREQjIwMEI4QzAzNSAvKiBEZXN0aW5hdGlvbkNvbG9yU3BhY2UuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDMkNDQTBFMjY1
NUREQjIwMEI4QzAzNSAvKiBEZXN0aW5hdGlvbkNvbG9yU3BhY2UuaCAqLzsgc2V0dGluZ3MgPSB7
QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvQmlmdXJjYXRlZEdyYXBoaWNzQ29udGV4dC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9CaWZ1cmNhdGVkR3JhcGhpY3NDb250ZXh0LmNw
cAppbmRleCBjMGNlNzJjNWZmYzEzM2EyODNjYjg4Y2ZlNjhkNzc1YzcyYzJkNWMwLi44NDI4YTY2
ODZhNjUxNzFkM2Y5Zjg4MmI5NzY1MjE4YzVhN2U5ZTRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9CaWZ1cmNhdGVkR3JhcGhpY3NDb250ZXh0LmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9CaWZ1cmNhdGVkR3JhcGhpY3NDb250
ZXh0LmNwcApAQCAtMjY5LDYgKzI2OSwzNCBAQCB2b2lkIEJpZnVyY2F0ZWRHcmFwaGljc0NvbnRl
eHQ6OmRyYXdQYXR0ZXJuKE5hdGl2ZUltYWdlJiBuYXRpdmVJbWFnZSwgY29uc3QgRmxvYQogICAg
IG1fc2Vjb25kYXJ5Q29udGV4dC5kcmF3UGF0dGVybihuYXRpdmVJbWFnZSwgaW1hZ2VTaXplLCBk
ZXN0UmVjdCwgdGlsZVJlY3QsIHBhdHRlcm5UcmFuc2Zvcm0sIHBoYXNlLCBzcGFjaW5nLCBvcHRp
b25zKTsKIH0KIAorSW1hZ2VEcmF3UmVzdWx0IEJpZnVyY2F0ZWRHcmFwaGljc0NvbnRleHQ6OmRy
YXdJbWFnZShJbWFnZSYgaW1hZ2UsIGNvbnN0IEZsb2F0UmVjdCYgZGVzdGluYXRpb24sIGNvbnN0
IEZsb2F0UmVjdCYgc291cmNlLCBjb25zdCBJbWFnZVBhaW50aW5nT3B0aW9ucyYgb3B0aW9ucykK
K3sKKyAgICBhdXRvIHJlc3VsdCA9IG1fcHJpbWFyeUNvbnRleHQuZHJhd0ltYWdlKGltYWdlLCBk
ZXN0aW5hdGlvbiwgc291cmNlLCBvcHRpb25zKTsKKyAgICBtX3NlY29uZGFyeUNvbnRleHQuZHJh
d0ltYWdlKGltYWdlLCBkZXN0aW5hdGlvbiwgc291cmNlLCBvcHRpb25zKTsKKyAgICByZXR1cm4g
cmVzdWx0OworfQorCitJbWFnZURyYXdSZXN1bHQgQmlmdXJjYXRlZEdyYXBoaWNzQ29udGV4dDo6
ZHJhd0ltYWdlRm9yQ2FudmFzKEltYWdlJiBpbWFnZSwgY29uc3QgRmxvYXRSZWN0JiBkZXN0aW5h
dGlvbiwgY29uc3QgRmxvYXRSZWN0JiBzb3VyY2UsIGNvbnN0IEltYWdlUGFpbnRpbmdPcHRpb25z
JiBvcHRpb25zLCBEZXN0aW5hdGlvbkNvbG9yU3BhY2UgY2FudmFzQ29sb3JTcGFjZSkKK3sKKyAg
ICBhdXRvIHJlc3VsdCA9IG1fcHJpbWFyeUNvbnRleHQuZHJhd0ltYWdlRm9yQ2FudmFzKGltYWdl
LCBkZXN0aW5hdGlvbiwgc291cmNlLCBvcHRpb25zLCBjYW52YXNDb2xvclNwYWNlKTsKKyAgICBt
X3NlY29uZGFyeUNvbnRleHQuZHJhd0ltYWdlRm9yQ2FudmFzKGltYWdlLCBkZXN0aW5hdGlvbiwg
c291cmNlLCBvcHRpb25zLCBjYW52YXNDb2xvclNwYWNlKTsKKyAgICByZXR1cm4gcmVzdWx0Owor
fQorCitJbWFnZURyYXdSZXN1bHQgQmlmdXJjYXRlZEdyYXBoaWNzQ29udGV4dDo6ZHJhd1RpbGVk
SW1hZ2UoSW1hZ2UmIGltYWdlLCBjb25zdCBGbG9hdFJlY3QmIGRlc3RpbmF0aW9uLCBjb25zdCBG
bG9hdFBvaW50JiBzb3VyY2UsIGNvbnN0IEZsb2F0U2l6ZSYgdGlsZVNpemUsIGNvbnN0IEZsb2F0
U2l6ZSYgc3BhY2luZywgY29uc3QgSW1hZ2VQYWludGluZ09wdGlvbnMmIG9wdGlvbnMpCit7Cisg
ICAgYXV0byByZXN1bHQgPSBtX3ByaW1hcnlDb250ZXh0LmRyYXdUaWxlZEltYWdlKGltYWdlLCBk
ZXN0aW5hdGlvbiwgc291cmNlLCB0aWxlU2l6ZSwgc3BhY2luZywgb3B0aW9ucyk7CisgICAgbV9z
ZWNvbmRhcnlDb250ZXh0LmRyYXdUaWxlZEltYWdlKGltYWdlLCBkZXN0aW5hdGlvbiwgc291cmNl
LCB0aWxlU2l6ZSwgc3BhY2luZywgb3B0aW9ucyk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KKwor
SW1hZ2VEcmF3UmVzdWx0IEJpZnVyY2F0ZWRHcmFwaGljc0NvbnRleHQ6OmRyYXdUaWxlZEltYWdl
KEltYWdlJiBpbWFnZSwgY29uc3QgRmxvYXRSZWN0JiBkZXN0aW5hdGlvbiwgY29uc3QgRmxvYXRS
ZWN0JiBzb3VyY2UsIGNvbnN0IEZsb2F0U2l6ZSYgdGlsZVNjYWxlRmFjdG9yLCBJbWFnZTo6VGls
ZVJ1bGUgaFJ1bGUsIEltYWdlOjpUaWxlUnVsZSB2UnVsZSwgY29uc3QgSW1hZ2VQYWludGluZ09w
dGlvbnMmIG9wdGlvbnMpCit7CisgICAgYXV0byByZXN1bHQgPSBtX3ByaW1hcnlDb250ZXh0LmRy
YXdUaWxlZEltYWdlKGltYWdlLCBkZXN0aW5hdGlvbiwgc291cmNlLCB0aWxlU2NhbGVGYWN0b3Is
IGhSdWxlLCB2UnVsZSwgb3B0aW9ucyk7CisgICAgbV9zZWNvbmRhcnlDb250ZXh0LmRyYXdUaWxl
ZEltYWdlKGltYWdlLCBkZXN0aW5hdGlvbiwgc291cmNlLCB0aWxlU2NhbGVGYWN0b3IsIGhSdWxl
LCB2UnVsZSwgb3B0aW9ucyk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KKwogdm9pZCBCaWZ1cmNh
dGVkR3JhcGhpY3NDb250ZXh0OjpwYWludEZyYW1lRm9yTWVkaWEoTWVkaWFQbGF5ZXImIHBsYXll
ciwgY29uc3QgRmxvYXRSZWN0JiBkZXN0aW5hdGlvbikKIHsKICAgICBtX3ByaW1hcnlDb250ZXh0
LnBhaW50RnJhbWVGb3JNZWRpYShwbGF5ZXIsIGRlc3RpbmF0aW9uKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0JpZnVyY2F0ZWRHcmFwaGljc0NvbnRleHQu
aCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0JpZnVyY2F0ZWRHcmFwaGljc0Nv
bnRleHQuaAppbmRleCAyZGVkNTM2ZGQxMzYzOWUxMTM3NzJiYjg3YzhkZjgxZTc0Y2VmZDEwLi5l
Mzc2MjViYzMzNjVhY2VlNDRhODc5ZmNhYzY0ZmRjNzAzOGE0YTM5IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9CaWZ1cmNhdGVkR3JhcGhpY3NDb250ZXh0LmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQmlmdXJjYXRlZEdyYXBoaWNz
Q29udGV4dC5oCkBAIC05OSw2ICs5OSwxMCBAQCBwdWJsaWM6CiAKICAgICB2b2lkIGRyYXdOYXRp
dmVJbWFnZShOYXRpdmVJbWFnZSYsIGNvbnN0IEZsb2F0U2l6ZSYgc2VsZlNpemUsIGNvbnN0IEZs
b2F0UmVjdCYgZGVzdFJlY3QsIGNvbnN0IEZsb2F0UmVjdCYgc3JjUmVjdCwgY29uc3QgSW1hZ2VQ
YWludGluZ09wdGlvbnMmID0geyB9KSBmaW5hbDsKICAgICB2b2lkIGRyYXdQYXR0ZXJuKE5hdGl2
ZUltYWdlJiwgY29uc3QgRmxvYXRTaXplJiBpbWFnZVNpemUsIGNvbnN0IEZsb2F0UmVjdCYgZGVz
dFJlY3QsIGNvbnN0IEZsb2F0UmVjdCYgdGlsZVJlY3QsIGNvbnN0IEFmZmluZVRyYW5zZm9ybSYg
cGF0dGVyblRyYW5zZm9ybSwgY29uc3QgRmxvYXRQb2ludCYgcGhhc2UsIGNvbnN0IEZsb2F0U2l6
ZSYgc3BhY2luZywgY29uc3QgSW1hZ2VQYWludGluZ09wdGlvbnMmID0geyB9KSBmaW5hbDsKKyAg
ICBJbWFnZURyYXdSZXN1bHQgZHJhd0ltYWdlKEltYWdlJiwgY29uc3QgRmxvYXRSZWN0JiBkZXN0
aW5hdGlvbiwgY29uc3QgRmxvYXRSZWN0JiBzb3VyY2UsIGNvbnN0IEltYWdlUGFpbnRpbmdPcHRp
b25zJiA9IHsgSW1hZ2VPcmllbnRhdGlvbjo6RnJvbUltYWdlIH0pIGZpbmFsOworICAgIEltYWdl
RHJhd1Jlc3VsdCBkcmF3SW1hZ2VGb3JDYW52YXMoSW1hZ2UmLCBjb25zdCBGbG9hdFJlY3QmIGRl
c3RpbmF0aW9uLCBjb25zdCBGbG9hdFJlY3QmIHNvdXJjZSwgY29uc3QgSW1hZ2VQYWludGluZ09w
dGlvbnMmLCBEZXN0aW5hdGlvbkNvbG9yU3BhY2UgY2FudmFzQ29sb3JTcGFjZSkgZmluYWw7Cisg
ICAgSW1hZ2VEcmF3UmVzdWx0IGRyYXdUaWxlZEltYWdlKEltYWdlJiwgY29uc3QgRmxvYXRSZWN0
JiBkZXN0aW5hdGlvbiwgY29uc3QgRmxvYXRQb2ludCYgc291cmNlLCBjb25zdCBGbG9hdFNpemUm
IHRpbGVTaXplLCBjb25zdCBGbG9hdFNpemUmIHNwYWNpbmcsIGNvbnN0IEltYWdlUGFpbnRpbmdP
cHRpb25zJiA9IHsgfSkgZmluYWw7CisgICAgSW1hZ2VEcmF3UmVzdWx0IGRyYXdUaWxlZEltYWdl
KEltYWdlJiwgY29uc3QgRmxvYXRSZWN0JiBkZXN0aW5hdGlvbiwgY29uc3QgRmxvYXRSZWN0JiBz
b3VyY2UsIGNvbnN0IEZsb2F0U2l6ZSYgdGlsZVNjYWxlRmFjdG9yLCBJbWFnZTo6VGlsZVJ1bGUs
IEltYWdlOjpUaWxlUnVsZSwgY29uc3QgSW1hZ2VQYWludGluZ09wdGlvbnMmID0geyB9KSBmaW5h
bDsKIAogI2lmIEVOQUJMRShWSURFTykKICAgICB2b2lkIHBhaW50RnJhbWVGb3JNZWRpYShNZWRp
YVBsYXllciYsIGNvbnN0IEZsb2F0UmVjdCYgZGVzdGluYXRpb24pIGZpbmFsOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhZGllbnRJbWFnZS5oIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhZGllbnRJbWFnZS5oCmluZGV4IDg2ZTE4
N2NjYjRjYTM5OWRmNTUwMWQ5YjhjM2E5ZGE3NzQwZjg3MDUuLmJjMmE1OWEyZjA2YTgxZWQyODA2
ZWE1MjVlMGE3OGIwMjIzZTU3YzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL0dyYWRpZW50SW1hZ2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9HcmFkaWVudEltYWdlLmgKQEAgLTQ0LDcgKzQ0LDcgQEAgcHVibGljOgogICAgIGNv
bnN0IEdyYWRpZW50JiBncmFkaWVudCgpIGNvbnN0IHsgcmV0dXJuIG1fZ3JhZGllbnQuZ2V0KCk7
IH0KIAogcHJpdmF0ZToKLSAgICBHcmFkaWVudEltYWdlKEdyYWRpZW50JiwgY29uc3QgRmxvYXRT
aXplJik7CisgICAgV0VCQ09SRV9FWFBPUlQgR3JhZGllbnRJbWFnZShHcmFkaWVudCYsIGNvbnN0
IEZsb2F0U2l6ZSYpOwogCiAgICAgSW1hZ2VEcmF3UmVzdWx0IGRyYXcoR3JhcGhpY3NDb250ZXh0
JiwgY29uc3QgRmxvYXRSZWN0JiBkc3RSZWN0LCBjb25zdCBGbG9hdFJlY3QmIHNyY1JlY3QsIGNv
bnN0IEltYWdlUGFpbnRpbmdPcHRpb25zJiA9IHsgfSkgZmluYWw7CiAgICAgdm9pZCBkcmF3UGF0
dGVybihHcmFwaGljc0NvbnRleHQmLCBjb25zdCBGbG9hdFJlY3QmIGRlc3RSZWN0LCBjb25zdCBG
bG9hdFJlY3QmIHNyY1JlY3QsIGNvbnN0IEFmZmluZVRyYW5zZm9ybSYgcGF0dGVyblRyYW5zZm9y
bSwgY29uc3QgRmxvYXRQb2ludCYgcGhhc2UsIGNvbnN0IEZsb2F0U2l6ZSYgc3BhY2luZywgY29u
c3QgSW1hZ2VQYWludGluZ09wdGlvbnMmID0geyB9KSBmaW5hbDsKZGlmZiAtLWdpdCBhL1Rvb2xz
L0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCBlZTJiN2RmZTQ0MTEyYTI0NDEyZTk5
ZGYxNjc4MTQ0YjIwZTY4ZWM3Li4yODVkNThmMjFkNTAwODBlYjJlOTBkNTFkNDM4NDk5N2M5ODdm
ODU0IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTUgQEAKKzIwMjEtMTAtMDcgIFRpbSBIb3J0b24gIDx0aW1vdGh5X2hvcnRvbkBh
cHBsZS5jb20+CisKKyAgICAgICAgQmlmdXJjYXRlZEdyYXBoaWNzQ29udGV4dCBkb2Vzbid0IGJp
ZnVyY2F0ZSBkcmF3e1RpbGVkfUltYWdlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMzEzODUKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzgzOTIyNjMz
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogVGVz
dFdlYktpdEFQSS9UZXN0cy9XZWJDb3JlL2NnL0JpZnVyY2F0ZWRHcmFwaGljc0NvbnRleHRUZXN0
c0NHLmNwcDoKKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OlRFU1QpOgorICAgICAgICBBZGQgc29t
ZSB0ZXN0LgorCiAyMDIxLTEwLTA3ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4K
IAogICAgICAgICBSRUdSRVNTSU9OIChyMjgzNjEzKTogWyBtYWNPUyBdIFRlc3RXZWJLaXRBUEku
UmVzb3VyY2VMb2FkRGVsZWdhdGUuTG9hZEluZm8gaXMgZmFpbGluZwpkaWZmIC0tZ2l0IGEvVG9v
bHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJDb3JlL2NnL0JpZnVyY2F0ZWRHcmFwaGljc0NvbnRl
eHRUZXN0c0NHLmNwcCBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViQ29yZS9jZy9CaWZ1
cmNhdGVkR3JhcGhpY3NDb250ZXh0VGVzdHNDRy5jcHAKaW5kZXggZTFiNTBiZGU3NTg5M2Y0MWU2
NjAwMzU1ZmNiZWU4NDRiZjE1YjFkYi4uOGE5YmQ1ZDJmMjE0ZTdmYjMwODUwNWUyN2I3ZTc3N2U5
YWZjOTlkNiAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJDb3JlL2Nn
L0JpZnVyY2F0ZWRHcmFwaGljc0NvbnRleHRUZXN0c0NHLmNwcAorKysgYi9Ub29scy9UZXN0V2Vi
S2l0QVBJL1Rlc3RzL1dlYkNvcmUvY2cvQmlmdXJjYXRlZEdyYXBoaWNzQ29udGV4dFRlc3RzQ0cu
Y3BwCkBAIC0zNCw2ICszNCw3IEBACiAjaW5jbHVkZSA8V2ViQ29yZS9EaXNwbGF5TGlzdEl0ZXJh
dG9yLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9EaXNwbGF5TGlzdFJlY29yZGVyLmg+CiAjaW5jbHVk
ZSA8V2ViQ29yZS9Gb250Q2FzY2FkZS5oPgorI2luY2x1ZGUgPFdlYkNvcmUvR3JhZGllbnRJbWFn
ZS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvR3JhcGhpY3NDb250ZXh0Q0cuaD4KICNpbmNsdWRlIDxX
ZWJDb3JlL0luTWVtb3J5RGlzcGxheUxpc3QuaD4KIApAQCAtMTI5LDYgKzEzMCw3MCBAQCBURVNU
KEJpZnVyY2F0ZWRHcmFwaGljc0NvbnRleHRUZXN0cywgVGV4dEluQmlmdXJjYXRlZENvbnRleHQp
CiAgICAgcnVuVGVzdChzZWNvbmRhcnlEaXNwbGF5TGlzdCk7CiB9CiAKK1RFU1QoQmlmdXJjYXRl
ZEdyYXBoaWNzQ29udGV4dFRlc3RzLCBEcmF3VGlsZWRHcmFkaWVudEltYWdlKQoreworICAgIGF1
dG8gY29sb3JTcGFjZSA9IERlc3RpbmF0aW9uQ29sb3JTcGFjZTo6U1JHQigpOworICAgIGF1dG8g
cHJpbWFyeUNHQ29udGV4dCA9IGFkb3B0Q0YoQ0dCaXRtYXBDb250ZXh0Q3JlYXRlKG51bGxwdHIs
IGNvbnRleHRXaWR0aCwgY29udGV4dEhlaWdodCwgOCwgNCAqIGNvbnRleHRXaWR0aCwgY29sb3JT
cGFjZS5wbGF0Zm9ybUNvbG9yU3BhY2UoKSwga0NHSW1hZ2VBbHBoYVByZW11bHRpcGxpZWRMYXN0
KSk7CisgICAgYXV0byBzZWNvbmRhcnlDR0NvbnRleHQgPSBhZG9wdENGKENHQml0bWFwQ29udGV4
dENyZWF0ZShudWxscHRyLCBjb250ZXh0V2lkdGgsIGNvbnRleHRIZWlnaHQsIDgsIDQgKiBjb250
ZXh0V2lkdGgsIGNvbG9yU3BhY2UucGxhdGZvcm1Db2xvclNwYWNlKCksIGtDR0ltYWdlQWxwaGFQ
cmVtdWx0aXBsaWVkTGFzdCkpOworCisgICAgR3JhcGhpY3NDb250ZXh0Q0cgcHJpbWFyeUNvbnRl
eHQocHJpbWFyeUNHQ29udGV4dC5nZXQoKSk7CisgICAgR3JhcGhpY3NDb250ZXh0Q0cgc2Vjb25k
YXJ5Q29udGV4dChzZWNvbmRhcnlDR0NvbnRleHQuZ2V0KCkpOworICAgIEJpZnVyY2F0ZWRHcmFw
aGljc0NvbnRleHQgY3R4KHByaW1hcnlDb250ZXh0LCBzZWNvbmRhcnlDb250ZXh0KTsKKworICAg
IGF1dG8gZ3JhZGllbnQgPSBHcmFkaWVudDo6Y3JlYXRlKEdyYWRpZW50OjpMaW5lYXJEYXRhIHsg
eyAwLCAwIH0sIHsgMSwgMSB9IH0pOworICAgIGdyYWRpZW50LT5hZGRDb2xvclN0b3AoeyAwLCBD
b2xvcjo6cmVkIH0pOworCisgICAgYXV0byBncmFkaWVudEltYWdlID0gR3JhZGllbnRJbWFnZTo6
Y3JlYXRlKGdyYWRpZW50LCBGbG9hdFNpemUgeyAxLCAxIH0pOworCisgICAgY3R4LmRyYXdUaWxl
ZEltYWdlKGdyYWRpZW50SW1hZ2UuZ2V0KCksIEZsb2F0UmVjdCB7IDAsIDAsIDEwMCwgMTAwIH0s
IEZsb2F0UmVjdCB7IDAsIDAsIDEsIDEgfSwgRmxvYXRTaXplIHsgMSwgMSB9LCBJbWFnZTo6UmVw
ZWF0VGlsZSwgSW1hZ2U6OlJlcGVhdFRpbGUpOworCisgICAgLy8gVGhlIHByaW1hcnkgY29udGV4
dCBzaG91bGQgYmUgcmVkLgorICAgIENHQ29udGV4dEZsdXNoKHByaW1hcnlDR0NvbnRleHQuZ2V0
KCkpOworICAgIHVpbnQ4X3QqIHByaW1hcnlEYXRhID0gc3RhdGljX2Nhc3Q8dWludDhfdCo+KENH
Qml0bWFwQ29udGV4dEdldERhdGEocHJpbWFyeUNHQ29udGV4dC5nZXQoKSkpOworICAgIEVYUEVD
VF9FUShwcmltYXJ5RGF0YVswXSwgMjU1KTsKKyAgICBFWFBFQ1RfRVEocHJpbWFyeURhdGFbMV0s
IDApOworICAgIEVYUEVDVF9FUShwcmltYXJ5RGF0YVsyXSwgMCk7CisKKyAgICAvLyBUaGUgc2Vj
b25kYXJ5IGNvbnRleHQgc2hvdWxkIGJlIHJlZC4KKyAgICBDR0NvbnRleHRGbHVzaChzZWNvbmRh
cnlDR0NvbnRleHQuZ2V0KCkpOworICAgIHVpbnQ4X3QqIHNlY29uZGFyeURhdGEgPSBzdGF0aWNf
Y2FzdDx1aW50OF90Kj4oQ0dCaXRtYXBDb250ZXh0R2V0RGF0YShzZWNvbmRhcnlDR0NvbnRleHQu
Z2V0KCkpKTsKKyAgICBFWFBFQ1RfRVEoc2Vjb25kYXJ5RGF0YVswXSwgMjU1KTsKKyAgICBFWFBF
Q1RfRVEoc2Vjb25kYXJ5RGF0YVsxXSwgMCk7CisgICAgRVhQRUNUX0VRKHNlY29uZGFyeURhdGFb
Ml0sIDApOworfQorCitURVNUKEJpZnVyY2F0ZWRHcmFwaGljc0NvbnRleHRUZXN0cywgRHJhd0dy
YWRpZW50SW1hZ2UpCit7CisgICAgYXV0byBjb2xvclNwYWNlID0gRGVzdGluYXRpb25Db2xvclNw
YWNlOjpTUkdCKCk7CisgICAgYXV0byBwcmltYXJ5Q0dDb250ZXh0ID0gYWRvcHRDRihDR0JpdG1h
cENvbnRleHRDcmVhdGUobnVsbHB0ciwgY29udGV4dFdpZHRoLCBjb250ZXh0SGVpZ2h0LCA4LCA0
ICogY29udGV4dFdpZHRoLCBjb2xvclNwYWNlLnBsYXRmb3JtQ29sb3JTcGFjZSgpLCBrQ0dJbWFn
ZUFscGhhUHJlbXVsdGlwbGllZExhc3QpKTsKKyAgICBhdXRvIHNlY29uZGFyeUNHQ29udGV4dCA9
IGFkb3B0Q0YoQ0dCaXRtYXBDb250ZXh0Q3JlYXRlKG51bGxwdHIsIGNvbnRleHRXaWR0aCwgY29u
dGV4dEhlaWdodCwgOCwgNCAqIGNvbnRleHRXaWR0aCwgY29sb3JTcGFjZS5wbGF0Zm9ybUNvbG9y
U3BhY2UoKSwga0NHSW1hZ2VBbHBoYVByZW11bHRpcGxpZWRMYXN0KSk7CisKKyAgICBHcmFwaGlj
c0NvbnRleHRDRyBwcmltYXJ5Q29udGV4dChwcmltYXJ5Q0dDb250ZXh0LmdldCgpKTsKKyAgICBH
cmFwaGljc0NvbnRleHRDRyBzZWNvbmRhcnlDb250ZXh0KHNlY29uZGFyeUNHQ29udGV4dC5nZXQo
KSk7CisgICAgQmlmdXJjYXRlZEdyYXBoaWNzQ29udGV4dCBjdHgocHJpbWFyeUNvbnRleHQsIHNl
Y29uZGFyeUNvbnRleHQpOworCisgICAgYXV0byBncmFkaWVudCA9IEdyYWRpZW50OjpjcmVhdGUo
R3JhZGllbnQ6OkxpbmVhckRhdGEgeyB7IDAsIDAgfSwgeyAxLCAxIH0gfSk7CisgICAgZ3JhZGll
bnQtPmFkZENvbG9yU3RvcCh7IDAsIENvbG9yOjpyZWQgfSk7CisKKyAgICBhdXRvIGdyYWRpZW50
SW1hZ2UgPSBHcmFkaWVudEltYWdlOjpjcmVhdGUoZ3JhZGllbnQsIEZsb2F0U2l6ZSB7IDEsIDEg
fSk7CisKKyAgICBjdHguZHJhd0ltYWdlKGdyYWRpZW50SW1hZ2UuZ2V0KCksIEZsb2F0UmVjdCB7
IDAsIDAsIDEwMCwgMTAwIH0sIEZsb2F0UmVjdCB7IDAsIDAsIDEsIDEgfSk7CisKKyAgICAvLyBU
aGUgcHJpbWFyeSBjb250ZXh0IHNob3VsZCBiZSByZWQuCisgICAgQ0dDb250ZXh0Rmx1c2gocHJp
bWFyeUNHQ29udGV4dC5nZXQoKSk7CisgICAgdWludDhfdCogcHJpbWFyeURhdGEgPSBzdGF0aWNf
Y2FzdDx1aW50OF90Kj4oQ0dCaXRtYXBDb250ZXh0R2V0RGF0YShwcmltYXJ5Q0dDb250ZXh0Lmdl
dCgpKSk7CisgICAgRVhQRUNUX0VRKHByaW1hcnlEYXRhWzBdLCAyNTUpOworICAgIEVYUEVDVF9F
UShwcmltYXJ5RGF0YVsxXSwgMCk7CisgICAgRVhQRUNUX0VRKHByaW1hcnlEYXRhWzJdLCAwKTsK
KworICAgIC8vIFRoZSBzZWNvbmRhcnkgY29udGV4dCBzaG91bGQgYmUgcmVkLgorICAgIENHQ29u
dGV4dEZsdXNoKHNlY29uZGFyeUNHQ29udGV4dC5nZXQoKSk7CisgICAgdWludDhfdCogc2Vjb25k
YXJ5RGF0YSA9IHN0YXRpY19jYXN0PHVpbnQ4X3QqPihDR0JpdG1hcENvbnRleHRHZXREYXRhKHNl
Y29uZGFyeUNHQ29udGV4dC5nZXQoKSkpOworICAgIEVYUEVDVF9FUShzZWNvbmRhcnlEYXRhWzBd
LCAyNTUpOworICAgIEVYUEVDVF9FUShzZWNvbmRhcnlEYXRhWzFdLCAwKTsKKyAgICBFWFBFQ1Rf
RVEoc2Vjb25kYXJ5RGF0YVsyXSwgMCk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFRlc3RXZWJLaXRB
UEkKIAogI2VuZGlmIC8vIFVTRShDRykK
</data>

          </attachment>
      

    </bug>

</bugzilla>