<?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>233441</bug_id>
          
          <creation_ts>2021-11-23 00:20:43 -0800</creation_ts>
          <short_desc>ScalableImageDecoder should be using SharedBuffer instead of DataSegment</short_desc>
          <delta_ts>2022-01-01 16:20:09 -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>Images</component>
          <version>Other</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=230662</see_also>
          <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>
          <dependson>233030</dependson>
          <blocked>232424</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Jean-Yves Avenard [:jya]">jean-yves.avenard</reporter>
          <assigned_to name="Jean-Yves Avenard [:jya]">jean-yves.avenard</assigned_to>
          <cc>darin</cc>
    
    <cc>sabouhallawa</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1817404</commentid>
    <comment_count>0</comment_count>
    <who name="Jean-Yves Avenard [:jya]">jean-yves.avenard</who>
    <bug_when>2021-11-23 00:20:43 -0800</bug_when>
    <thetext>In https://trac.webkit.org/changeset/251836/webkit DataSegment was used over SharedBuffer because SharedBuffer didn&apos;t use thread-safe refcounting.

However, since bug 230662, this is no longer the case.

Once bug 233030 lands, SharedBuffer becomes immutable once created and can be shared across threads.

ScalableImageDecoder currently takes a SharedBuffer, flatten it through the call to SharedBuffer::data() and then take a reference to the inner DataSegment.

ScalableImageDecoder should be re-written to use SharedBuffer so that we can do without the copy/memory allocation required by the flattening of the SharedBuffer.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1818631</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-11-30 00:21:25 -0800</bug_when>
    <thetext>&lt;rdar://problem/85854204&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1826538</commentid>
    <comment_count>2</comment_count>
      <attachid>447874</attachid>
    <who name="Jean-Yves Avenard [:jya]">jean-yves.avenard</who>
    <bug_when>2021-12-23 05:35:44 -0800</bug_when>
    <thetext>Created attachment 447874
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1826639</commentid>
    <comment_count>3</comment_count>
      <attachid>447909</attachid>
    <who name="Jean-Yves Avenard [:jya]">jean-yves.avenard</who>
    <bug_when>2021-12-23 14:24:53 -0800</bug_when>
    <thetext>Created attachment 447909
Patch

rebase</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1826646</commentid>
    <comment_count>4</comment_count>
      <attachid>447912</attachid>
    <who name="Jean-Yves Avenard [:jya]">jean-yves.avenard</who>
    <bug_when>2021-12-23 15:19:57 -0800</bug_when>
    <thetext>Created attachment 447912
Test

Checking that those errors aren&apos;t happening with unpatched tree.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1826675</commentid>
    <comment_count>5</comment_count>
      <attachid>447924</attachid>
    <who name="Jean-Yves Avenard [:jya]">jean-yves.avenard</who>
    <bug_when>2021-12-23 17:38:14 -0800</bug_when>
    <thetext>Created attachment 447924
Patch

Use DataSegment for ImageBackingStore</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1827406</commentid>
    <comment_count>6</comment_count>
      <attachid>447924</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2022-01-01 01:26:44 -0800</bug_when>
    <thetext>Comment on attachment 447924
Patch

If SharedBuffer is intrinsically immutable, then I think we should be using RefPtr&lt;SharedBuffer&gt; rather than RefPtr&lt;const SharedBuffer&gt;. Saying const all the time doesn’t have any meaning, right?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1827446</commentid>
    <comment_count>7</comment_count>
    <who name="Jean-Yves Avenard [:jya]">jean-yves.avenard</who>
    <bug_when>2022-01-01 12:46:36 -0800</bug_when>
    <thetext>(In reply to Darin Adler from comment #6)
&gt; Comment on attachment 447924 [details]
&gt; Patch
&gt; 
&gt; If SharedBuffer is intrinsically immutable, then I think we should be using
&gt; RefPtr&lt;SharedBuffer&gt; rather than RefPtr&lt;const SharedBuffer&gt;. Saying const
&gt; all the time doesn’t have any meaning, right?

SharedBuffer still does have non const method such as takeData and in bug 232424 all SharedBuffer are passed as const SharedBuffer&amp;

By making it a RefPtr&lt;const SharedBuffer&gt; I can remove all the required const cast when taking a strong reference to that buffer</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1827462</commentid>
    <comment_count>8</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-01-01 16:20:07 -0800</bug_when>
    <thetext>Committed r287507 (245642@main): &lt;https://commits.webkit.org/245642@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 447924.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>447874</attachid>
            <date>2021-12-23 05:35:44 -0800</date>
            <delta_ts>2021-12-23 14:24:49 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-233441-20211224003543.patch</filename>
            <type>text/plain</type>
            <size>13493</size>
            <attacher name="Jean-Yves Avenard [:jya]">jean-yves.avenard</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg3MjQ5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDE5MGRkZmRkNDJmOTky
ZWZkYmNhYzU5N2VlODNiMmYxOGNlOTQ0YS4uMzU2ZGRhMjA0Mjk4ZGU4YTlhMWFkN2U4ZDhiZmU5
MjMwZTI3NTc4YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ1IEBACisyMDIxLTEyLTIzICBKZWFu
LVl2ZXMgQXZlbmFyZCAgPGp5YUBhcHBsZS5jb20+CisKKyAgICAgICAgU2NhbGFibGVJbWFnZURl
Y29kZXIgc2hvdWxkIGJlIHVzaW5nIFNoYXJlZEJ1ZmZlciBpbnN0ZWFkIG9mIERhdGFTZWdtZW50
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzM0NDEK
KyAgICAgICAgcmRhcjovL3Byb2JsZW0vODU4NTQyMDQKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBEYXRhU2VnbWVudCBzaG91bGQgYmUgYSBTaGFyZWRC
dWZmZXIncyBpbXBsZW1lbnRhdGlvbiBkZXRhaWxzIGFuZCBub3QKKyAgICAgICAgYmUgdXNlZCBv
dXRzaWRlIFNoYXJlZEJ1ZmZlcidzIGNvZGUuCisgICAgICAgIEhpc3RvcmljYWxseSwgdXNpbmcg
dGhlIGlubmVyIERhdGFTZWdtZW50IHdhcyByZXF1aXJlZCBhcyBpdCB3YXMgdGhyZWFkCisgICAg
ICAgIHNhZmUgd2hpbGUgU2hhcmVkQnVmZmVyIHdhc24ndDogVGhpcyBpcyBubyBsb25nZXIgdGhl
IGNhc2UuCisgICAgICAgIFNoYXJlZEJ1ZmZlciBhbmQgRGF0YVNlZ21lbnQgYXJlIHNlbWFudGlj
YWxseSB2ZXJ5IHNpbWlsYXIsIHNvIHRoaXMgaXMKKyAgICAgICAgbW9zdGx5IGEgZmluZC9yZXBs
YWNlIGNoYW5nZS4KKyAgICAgICAgRmxhdHRlbmluZyB0aGUgRnJhZ21lbnRlZFNoYXJlZEJ1ZmZl
ciBpcyBzdGlsbCByZXF1aXJlZCBhcyBtb3N0IGRlY29kZXJzCisgICAgICAgIHJlcXVpcmUgcmVh
ZGluZyB0aGUgcmF3IGJ5dGVzLgorCisgICAgICAgIE5vIGNoYW5nZSBpbiBvYnNlcnZhYmxlIGJl
aGF2aW91ci4KKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0ltYWdlQmFja2luZ1N0b3Jl
Lmg6CisgICAgICAgIChXZWJDb3JlOjpJbWFnZUJhY2tpbmdTdG9yZTo6c2V0U2l6ZSk6CisgICAg
ICAgIChXZWJDb3JlOjpJbWFnZUJhY2tpbmdTdG9yZTo6SW1hZ2VCYWNraW5nU3RvcmUpOgorICAg
ICAgICAqIHBsYXRmb3JtL2ltYWdlLWRlY29kZXJzL1NjYWxhYmxlSW1hZ2VEZWNvZGVyLmg6Cisg
ICAgICAgICogcGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMvYXZpZi9BVklGSW1hZ2VSZWFkZXIuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6QVZJRkltYWdlUmVhZGVyOjpwYXJzZUhlYWRlcik6CisgICAg
ICAgIChXZWJDb3JlOjpBVklGSW1hZ2VSZWFkZXI6OmRlY29kZUZyYW1lKToKKyAgICAgICAgKiBw
bGF0Zm9ybS9pbWFnZS1kZWNvZGVycy9hdmlmL0FWSUZJbWFnZVJlYWRlci5oOgorICAgICAgICAq
IHBsYXRmb3JtL2ltYWdlLWRlY29kZXJzL2JtcC9CTVBJbWFnZVJlYWRlci5oOgorICAgICAgICAo
V2ViQ29yZTo6Qk1QSW1hZ2VSZWFkZXI6OnJlYWRVaW50MTYpOgorICAgICAgICAoV2ViQ29yZTo6
Qk1QSW1hZ2VSZWFkZXI6OnJlYWRVaW50MzIpOgorICAgICAgICAoV2ViQ29yZTo6Qk1QSW1hZ2VS
ZWFkZXI6OnNldERhdGEpOgorICAgICAgICAqIHBsYXRmb3JtL2ltYWdlLWRlY29kZXJzL2dpZi9H
SUZJbWFnZVJlYWRlci5oOgorICAgICAgICAoR0lGSW1hZ2VSZWFkZXI6OnNldERhdGEpOgorICAg
ICAgICAqIHBsYXRmb3JtL2ltYWdlLWRlY29kZXJzL2pwZWcvSlBFR0ltYWdlRGVjb2Rlci5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpKUEVHSW1hZ2VSZWFkZXI6OmRlY29kZSk6CisgICAgICAgICog
cGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMvanBlZzIwMDAvSlBFRzIwMDBJbWFnZURlY29kZXIuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6SlBFRzIwMDBJbWFnZURlY29kZXI6OmRlY29kZSk6CisgICAg
ICAgICogcGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMvcG5nL1BOR0ltYWdlRGVjb2Rlci5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpQTkdJbWFnZVJlYWRlcjo6ZGVjb2RlKToKKyAgICAgICAgKiBwbGF0
Zm9ybS9pbWFnZS1kZWNvZGVycy93ZWJwL1dFQlBJbWFnZURlY29kZXIuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6V0VCUEltYWdlRGVjb2Rlcjo6ZGVjb2RlKToKKwogMjAyMS0xMi0yMiAgSmVhbi1Z
dmVzIEF2ZW5hcmQgIDxqeWFAYXBwbGUuY29tPgogCiAgICAgICAgIG1ha2UgU2hhcmVkQnVmZmVy
Ojpjb3B5KCkgcmV0dXJuIGEgY29udGlndW91cyBTaGFyZWRCdWZmZXIKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdlQmFja2luZ1N0b3JlLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFnZUJhY2tpbmdTdG9yZS5oCmluZGV4IGRl
MzNmMWFmNDEyZGMwOGIyYjk2MWExOTQ5NDVjOWNjOTBhYTY2MjUuLmE1YTczZmUwNTFlOWRiNTQy
ODI1NjUwYjFmNDU0MjFiNTA0OTFlN2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL0ltYWdlQmFja2luZ1N0b3JlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvSW1hZ2VCYWNraW5nU3RvcmUuaApAQCAtNjYsNyArNjYsNyBAQCBwdWJs
aWM6CiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAgICAgICAgYnVmZmVyLmdyb3coYnVm
ZmVyU2l6ZSk7Ci0gICAgICAgIG1fcGl4ZWxzID0gRnJhZ21lbnRlZFNoYXJlZEJ1ZmZlcjo6RGF0
YVNlZ21lbnQ6OmNyZWF0ZShXVEZNb3ZlKGJ1ZmZlcikpOworICAgICAgICBtX3BpeGVscyA9IFNo
YXJlZEJ1ZmZlcjo6Y3JlYXRlKFdURk1vdmUoYnVmZmVyKSk7CiAgICAgICAgIG1fcGl4ZWxzUHRy
ID0gcmVpbnRlcnByZXRfY2FzdDx1aW50MzJfdCo+KGNvbnN0X2Nhc3Q8dWludDhfdCo+KG1fcGl4
ZWxzLT5kYXRhKCkpKTsKICAgICAgICAgbV9zaXplID0gc2l6ZTsKICAgICAgICAgbV9mcmFtZVJl
Y3QgPSBJbnRSZWN0KEludFBvaW50KCksIG1fc2l6ZSk7CkBAIC0yMDYsNyArMjA2LDcgQEAgcHJp
dmF0ZToKICAgICB7CiAgICAgICAgIEFTU0VSVCghbV9zaXplLmlzRW1wdHkoKSAmJiAhaXNPdmVy
U2l6ZShtX3NpemUpKTsKICAgICAgICAgVmVjdG9yPHVpbnQ4X3Q+IGJ1ZmZlciB7IG90aGVyLm1f
cGl4ZWxzLT5kYXRhKCksIG90aGVyLm1fcGl4ZWxzLT5zaXplKCkgfTsKLSAgICAgICAgbV9waXhl
bHMgPSBGcmFnbWVudGVkU2hhcmVkQnVmZmVyOjpEYXRhU2VnbWVudDo6Y3JlYXRlKFdURk1vdmUo
YnVmZmVyKSk7CisgICAgICAgIG1fcGl4ZWxzID0gU2hhcmVkQnVmZmVyOjpjcmVhdGUoV1RGTW92
ZShidWZmZXIpKTsKICAgICAgICAgbV9waXhlbHNQdHIgPSByZWludGVycHJldF9jYXN0PHVpbnQz
Ml90Kj4oY29uc3RfY2FzdDx1aW50OF90Kj4obV9waXhlbHMtPmRhdGEoKSkpOwogICAgIH0KIApA
QCAtMjMzLDcgKzIzMyw3IEBAIHByaXZhdGU6CiAgICAgICAgIHJldHVybiBQYWNrZWRDb2xvcjo6
QVJHQiB7IHJlc3VsdCB9LnZhbHVlOwogICAgIH0KIAotICAgIFJlZlB0cjxGcmFnbWVudGVkU2hh
cmVkQnVmZmVyOjpEYXRhU2VnbWVudD4gbV9waXhlbHM7CisgICAgUmVmUHRyPFNoYXJlZEJ1ZmZl
cj4gbV9waXhlbHM7CiAgICAgdWludDMyX3QqIG1fcGl4ZWxzUHRyIHsgbnVsbHB0ciB9OwogICAg
IEludFNpemUgbV9zaXplOwogICAgIEludFJlY3QgbV9mcmFtZVJlY3Q7IC8vIFRoaXMgd2lsbCBh
bHdheXMganVzdCBiZSB0aGUgZW50aXJlIGJ1ZmZlciBleGNlcHQgZm9yIEdJRiBhbmQgUE5HIGZy
YW1lcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMv
U2NhbGFibGVJbWFnZURlY29kZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2ltYWdlLWRl
Y29kZXJzL1NjYWxhYmxlSW1hZ2VEZWNvZGVyLmgKaW5kZXggOWM0MDU1NzgyNDFkMGM1MTI3MDI5
NTE1YzIyMTI2NThmOGM0ZjY4YS4uNWY5ODY0N2EyYTIyMDJhMDU5ODliNjI4NGM5NDliNTBiNDM5
OWExMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMv
U2NhbGFibGVJbWFnZURlY29kZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pbWFn
ZS1kZWNvZGVycy9TY2FsYWJsZUltYWdlRGVjb2Rlci5oCkBAIC03Niw5ICs3Niw4IEBAIHB1Ymxp
YzoKICAgICAgICAgaWYgKG1fZW5jb2RlZERhdGFTdGF0dXMgPT0gRW5jb2RlZERhdGFTdGF0dXM6
OkVycm9yKQogICAgICAgICAgICAgcmV0dXJuOwogCi0gICAgICAgIGF1dG8gY29udGlndW91c0Rh
dGEgPSBkYXRhLm1ha2VDb250aWd1b3VzKCk7Ci0gICAgICAgIGlmIChjb250aWd1b3VzRGF0YS0+
ZGF0YSgpKQotICAgICAgICAgICAgbV9kYXRhID0gY29udGlndW91c0RhdGEtPmJlZ2luKCktPnNl
Z21lbnQuY29weVJlZigpOworICAgICAgICBpZiAoYXV0byBjb250aWd1b3VzRGF0YSA9IGRhdGEu
bWFrZUNvbnRpZ3VvdXMoKTsgIWNvbnRpZ3VvdXNEYXRhLT5pc0VtcHR5KCkpCisgICAgICAgICAg
ICBtX2RhdGEgPSBXVEZNb3ZlKGNvbnRpZ3VvdXNEYXRhKTsKICAgICAgICAgaWYgKG1fZW5jb2Rl
ZERhdGFTdGF0dXMgPT0gRW5jb2RlZERhdGFTdGF0dXM6OlR5cGVBdmFpbGFibGUpIHsKICAgICAg
ICAgICAgIG1fZGVjb2RpbmdTaXplRnJvbVNldERhdGEgPSB0cnVlOwogICAgICAgICAgICAgdHJ5
RGVjb2RlU2l6ZShhbGxEYXRhUmVjZWl2ZWQpOwpAQCAtMTk0LDcgKzE5Myw3IEBAIHB1YmxpYzoK
ICAgICBzdGQ6Om9wdGlvbmFsPEludFBvaW50PiBob3RTcG90KCkgY29uc3Qgb3ZlcnJpZGUgeyBy
ZXR1cm4gc3RkOjpudWxsb3B0OyB9CiAKIHByb3RlY3RlZDoKLSAgICBSZWZQdHI8RnJhZ21lbnRl
ZFNoYXJlZEJ1ZmZlcjo6RGF0YVNlZ21lbnQ+IG1fZGF0YTsKKyAgICBSZWZQdHI8Y29uc3QgU2hh
cmVkQnVmZmVyPiBtX2RhdGE7CiAgICAgVmVjdG9yPFNjYWxhYmxlSW1hZ2VEZWNvZGVyRnJhbWUs
IDE+IG1fZnJhbWVCdWZmZXJDYWNoZSBXVEZfR1VBUkRFRF9CWV9MT0NLKG1fbG9jayk7CiAgICAg
bXV0YWJsZSBMb2NrIG1fbG9jazsKICAgICBib29sIG1fcHJlbXVsdGlwbHlBbHBoYTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2ltYWdlLWRlY29kZXJzL2F2aWYvQVZJRklt
YWdlUmVhZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2ltYWdlLWRlY29kZXJzL2F2
aWYvQVZJRkltYWdlUmVhZGVyLmNwcAppbmRleCAyNmY4ODY0OTZlNWE1YTE0ZTI4YWZiMWFmYTli
ZmMzMDE3N2Y1MWNmLi5kNjhjMGEzNWZjMWY0YWI2MDE3YmQzOWVlNDM5MTAyNjgzNWZjODJiIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pbWFnZS1kZWNvZGVycy9hdmlmL0FW
SUZJbWFnZVJlYWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW1hZ2UtZGVj
b2RlcnMvYXZpZi9BVklGSW1hZ2VSZWFkZXIuY3BwCkBAIC00MSw3ICs0MSw3IEBAIEFWSUZJbWFn
ZVJlYWRlcjo6QVZJRkltYWdlUmVhZGVyKFJlZlB0cjxBVklGSW1hZ2VEZWNvZGVyPiYmIGRlY29k
ZXIpCiAKIEFWSUZJbWFnZVJlYWRlcjo6fkFWSUZJbWFnZVJlYWRlcigpID0gZGVmYXVsdDsKIAot
Ym9vbCBBVklGSW1hZ2VSZWFkZXI6OnBhcnNlSGVhZGVyKGNvbnN0IEZyYWdtZW50ZWRTaGFyZWRC
dWZmZXI6OkRhdGFTZWdtZW50JiBkYXRhLCBib29sIGFsbERhdGFSZWNlaXZlZCkKK2Jvb2wgQVZJ
RkltYWdlUmVhZGVyOjpwYXJzZUhlYWRlcihjb25zdCBTaGFyZWRCdWZmZXImIGRhdGEsIGJvb2wg
YWxsRGF0YVJlY2VpdmVkKQogewogICAgIGlmIChhdmlmRGVjb2RlclNldElPTWVtb3J5KG1fYXZp
ZkRlY29kZXIuZ2V0KCksIGRhdGEuZGF0YSgpLCBkYXRhLnNpemUoKSkgIT0gQVZJRl9SRVNVTFRf
T0spCiAgICAgICAgIHJldHVybiBhbGxEYXRhUmVjZWl2ZWQgPyBtX2RlY29kZXItPnNldEZhaWxl
ZCgpIDogZmFsc2U7CkBAIC01OCw3ICs1OCw3IEBAIGJvb2wgQVZJRkltYWdlUmVhZGVyOjpwYXJz
ZUhlYWRlcihjb25zdCBGcmFnbWVudGVkU2hhcmVkQnVmZmVyOjpEYXRhU2VnbWVudCYgZGF0CiAg
ICAgcmV0dXJuIHRydWU7CiB9CiAKLXZvaWQgQVZJRkltYWdlUmVhZGVyOjpkZWNvZGVGcmFtZShz
aXplX3QgZnJhbWVJbmRleCwgU2NhbGFibGVJbWFnZURlY29kZXJGcmFtZSYgYnVmZmVyLCBjb25z
dCBGcmFnbWVudGVkU2hhcmVkQnVmZmVyOjpEYXRhU2VnbWVudCYgZGF0YSkKK3ZvaWQgQVZJRklt
YWdlUmVhZGVyOjpkZWNvZGVGcmFtZShzaXplX3QgZnJhbWVJbmRleCwgU2NhbGFibGVJbWFnZURl
Y29kZXJGcmFtZSYgYnVmZmVyLCBjb25zdCBTaGFyZWRCdWZmZXImIGRhdGEpCiB7CiAgICAgaWYg
KG1fZGVjb2Rlci0+ZmFpbGVkKCkpCiAgICAgICAgIHJldHVybjsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2ltYWdlLWRlY29kZXJzL2F2aWYvQVZJRkltYWdlUmVhZGVyLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pbWFnZS1kZWNvZGVycy9hdmlmL0FWSUZJbWFnZVJl
YWRlci5oCmluZGV4IDQ5NmY2OWY4MTJiZDc1YjBlZGE2MzU3YmFhODYwY2ZjY2I1YmE0YjMuLjg1
YWNiMTdjYmNmYzU4ODVkNmFjNTUyNWM3YjVjOWVmZmM1OGM2NjQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2ltYWdlLWRlY29kZXJzL2F2aWYvQVZJRkltYWdlUmVhZGVyLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMvYXZpZi9BVklGSW1h
Z2VSZWFkZXIuaApAQCAtMzksOCArMzksOCBAQCBwdWJsaWM6CiAgICAgQVZJRkltYWdlUmVhZGVy
KFJlZlB0cjxBVklGSW1hZ2VEZWNvZGVyPiYmKTsKICAgICB+QVZJRkltYWdlUmVhZGVyKCk7CiAK
LSAgICBib29sIHBhcnNlSGVhZGVyKGNvbnN0IEZyYWdtZW50ZWRTaGFyZWRCdWZmZXI6OkRhdGFT
ZWdtZW50JiwgYm9vbCBhbGxEYXRhUmVjZWl2ZWQpOwotICAgIHZvaWQgZGVjb2RlRnJhbWUoc2l6
ZV90IGluZGV4LCBTY2FsYWJsZUltYWdlRGVjb2RlckZyYW1lJiwgY29uc3QgRnJhZ21lbnRlZFNo
YXJlZEJ1ZmZlcjo6RGF0YVNlZ21lbnQmKTsKKyAgICBib29sIHBhcnNlSGVhZGVyKGNvbnN0IFNo
YXJlZEJ1ZmZlciYsIGJvb2wgYWxsRGF0YVJlY2VpdmVkKTsKKyAgICB2b2lkIGRlY29kZUZyYW1l
KHNpemVfdCBpbmRleCwgU2NhbGFibGVJbWFnZURlY29kZXJGcmFtZSYsIGNvbnN0IFNoYXJlZEJ1
ZmZlciYpOwogICAgIHNpemVfdCBpbWFnZUNvdW50KCkgY29uc3Q7CiAgICAgZG91YmxlIHJlcGV0
aXRpb25Db3VudCgpIGNvbnN0OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9pbWFnZS1kZWNvZGVycy9ibXAvQk1QSW1hZ2VSZWFkZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2ltYWdlLWRlY29kZXJzL2JtcC9CTVBJbWFnZVJlYWRlci5oCmluZGV4IGJkNDMwZThh
OGJlYTJjODE2YjJjNTIyYmY1YmE3ODg0NmMzOGUwZmYuLmMzMTQxMzQ3OWQ0MzI1MWIyNzhlZGQ2
N2E0NDE5MTZmMDgwMjE5ZDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lt
YWdlLWRlY29kZXJzL2JtcC9CTVBJbWFnZVJlYWRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2ltYWdlLWRlY29kZXJzL2JtcC9CTVBJbWFnZVJlYWRlci5oCkBAIC00Miw3ICs0Miw3
IEBAIGNsYXNzIEJNUEltYWdlUmVhZGVyIHsKIHB1YmxpYzoKICAgICAvLyBSZWFkIGEgdmFsdWUg
ZnJvbSB8ZGF0YVtvZmZzZXRdfCwgY29udmVydGluZyBmcm9tIGxpdHRsZSB0byBuYXRpdmUKICAg
ICAvLyBlbmRpYW5uZXNzLgotICAgIHN0YXRpYyBpbmxpbmUgdWludDE2X3QgcmVhZFVpbnQxNihj
b25zdCBGcmFnbWVudGVkU2hhcmVkQnVmZmVyOjpEYXRhU2VnbWVudCYgZGF0YSwgaW50IG9mZnNl
dCkKKyAgICBzdGF0aWMgaW5saW5lIHVpbnQxNl90IHJlYWRVaW50MTYoY29uc3QgU2hhcmVkQnVm
ZmVyJiBkYXRhLCBpbnQgb2Zmc2V0KQogICAgIHsKICAgICAgICAgdWludDE2X3QgcmVzdWx0Owog
ICAgICAgICBtZW1jcHkoJnJlc3VsdCwgJmRhdGEuZGF0YSgpW29mZnNldF0sIDIpOwpAQCAtNTIs
NyArNTIsNyBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiByZXN1bHQ7CiAgICAgfQogCi0gICAg
c3RhdGljIGlubGluZSB1aW50MzJfdCByZWFkVWludDMyKGNvbnN0IEZyYWdtZW50ZWRTaGFyZWRC
dWZmZXI6OkRhdGFTZWdtZW50JiBkYXRhLCBpbnQgb2Zmc2V0KQorICAgIHN0YXRpYyBpbmxpbmUg
dWludDMyX3QgcmVhZFVpbnQzMihjb25zdCBTaGFyZWRCdWZmZXImIGRhdGEsIGludCBvZmZzZXQp
CiAgICAgewogICAgICAgICB1aW50MzJfdCByZXN1bHQ7CiAgICAgICAgIG1lbWNweSgmcmVzdWx0
LCAmZGF0YS5kYXRhKClbb2Zmc2V0XSwgNCk7CkBAIC02OSw3ICs2OSw3IEBAIHB1YmxpYzoKICAg
ICBCTVBJbWFnZVJlYWRlcihTY2FsYWJsZUltYWdlRGVjb2RlciogcGFyZW50LCBzaXplX3QgZGVj
b2RlZEFuZEhlYWRlck9mZnNldCwgc2l6ZV90IGltZ0RhdGFPZmZzZXQsIGJvb2wgdXNlc0FuZE1h
c2spOwogCiAgICAgdm9pZCBzZXRCdWZmZXIoU2NhbGFibGVJbWFnZURlY29kZXJGcmFtZSogYnVm
ZmVyKSB7IG1fYnVmZmVyID0gYnVmZmVyOyB9Ci0gICAgdm9pZCBzZXREYXRhKEZyYWdtZW50ZWRT
aGFyZWRCdWZmZXI6OkRhdGFTZWdtZW50JiBkYXRhKSB7IG1fZGF0YSA9ICZkYXRhOyB9CisgICAg
dm9pZCBzZXREYXRhKGNvbnN0IFNoYXJlZEJ1ZmZlciYgZGF0YSkgeyBtX2RhdGEgPSAmZGF0YTsg
fQogCiAgICAgLy8gRG9lcyB0aGUgYWN0dWFsIGRlY29kaW5nLiBJZiB8b25seVNpemV8IGlzIHRy
dWUsIGRlY29kaW5nIG9ubHkKICAgICAvLyBwcm9ncmVzc2VzIGFzIGZhciBhcyBuZWNlc3Nhcnkg
dG8gZ2V0IHRoZSBpbWFnZSBzaXplLiBSZXR1cm5zCkBAIC0yNzIsNyArMjcyLDcgQEAgcHJpdmF0
ZToKICAgICBTY2FsYWJsZUltYWdlRGVjb2RlckZyYW1lKiBtX2J1ZmZlcjsKIAogICAgIC8vIFRo
ZSBmaWxlIHRvIGRlY29kZS4KLSAgICBSZWZQdHI8RnJhZ21lbnRlZFNoYXJlZEJ1ZmZlcjo6RGF0
YVNlZ21lbnQ+IG1fZGF0YTsKKyAgICBSZWZQdHI8Y29uc3QgU2hhcmVkQnVmZmVyPiBtX2RhdGE7
CiAKICAgICAvLyBBbiBpbmRleCBpbnRvIHxtX2RhdGF8IHJlcHJlc2VudGluZyBob3cgbXVjaCB3
ZSd2ZSBhbHJlYWR5IGRlY29kZWQuCiAgICAgc2l6ZV90IG1fZGVjb2RlZE9mZnNldDsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2ltYWdlLWRlY29kZXJzL2dpZi9HSUZJbWFn
ZVJlYWRlci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMvZ2lmL0dJ
RkltYWdlUmVhZGVyLmgKaW5kZXggMTA4MmZkZjBkZmYyMzkxZTU2NTMwYTQxZjg3YmE0Mzk4MjMy
NzUzNS4uZDZiZmZjMTJiMWUxZTQ2ZDQzZDA0N2VkZGMyYWQ5NGI1Yzg1NTNmMyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMvZ2lmL0dJRkltYWdlUmVh
ZGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMvZ2lmL0dJ
RkltYWdlUmVhZGVyLmgKQEAgLTIzNyw3ICsyMzcsNyBAQCBwdWJsaWM6CiAgICAgewogICAgIH0K
IAotICAgIHZvaWQgc2V0RGF0YShXZWJDb3JlOjpGcmFnbWVudGVkU2hhcmVkQnVmZmVyOjpEYXRh
U2VnbWVudCYgZGF0YSkgeyBtX2RhdGEgPSAmZGF0YTsgfQorICAgIHZvaWQgc2V0RGF0YShjb25z
dCBXZWJDb3JlOjpTaGFyZWRCdWZmZXImIGRhdGEpIHsgbV9kYXRhID0gJmRhdGE7IH0KICAgICAv
LyBGSVhNRTogaGFsdEF0RnJhbWUgc2hvdWxkIGJlIHNpemVfdC4KICAgICBib29sIGRlY29kZShX
ZWJDb3JlOjpHSUZJbWFnZURlY29kZXI6OkdJRlF1ZXJ5LCB1bnNpZ25lZCBoYWx0QXRGcmFtZSk7
CiAKQEAgLTMxNiw2ICszMTYsNiBAQCBwcml2YXRlOgogICAgIFZlY3RvcjxzdGQ6OnVuaXF1ZV9w
dHI8R0lGRnJhbWVDb250ZXh0PiA+IG1fZnJhbWVzOwogICAgIHNpemVfdCBtX2N1cnJlbnREZWNv
ZGluZ0ZyYW1lOwogCi0gICAgUmVmUHRyPFdlYkNvcmU6OkZyYWdtZW50ZWRTaGFyZWRCdWZmZXI6
OkRhdGFTZWdtZW50PiBtX2RhdGE7CisgICAgUmVmUHRyPGNvbnN0IFdlYkNvcmU6OlNoYXJlZEJ1
ZmZlcj4gbV9kYXRhOwogICAgIGJvb2wgbV9wYXJzZUNvbXBsZXRlZDsKIH07CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pbWFnZS1kZWNvZGVycy9qcGVnL0pQRUdJbWFnZURl
Y29kZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMvanBlZy9K
UEVHSW1hZ2VEZWNvZGVyLmNwcAppbmRleCA4ZmI5MjIwZWUzN2Y2YWQ4MTkzODIwNzc0Y2UyMmIx
ZDVjYzNhNTYzLi40NWU1NWUyNDhjZGMwYWRiMmU1Y2I3NWExZDZlNmYwZTViYzBlOTQwIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pbWFnZS1kZWNvZGVycy9qcGVnL0pQRUdJ
bWFnZURlY29kZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2ltYWdlLWRlY29k
ZXJzL2pwZWcvSlBFR0ltYWdlRGVjb2Rlci5jcHAKQEAgLTMyMCw3ICszMjAsNyBAQCBwdWJsaWM6
CiAgICAgICAgIG1fYnl0ZXNUb1NraXAgPSBzdGQ6Om1heChudW1CeXRlcyAtIGJ5dGVzVG9Ta2lw
LCBzdGF0aWNfY2FzdDxsb25nPigwKSk7CiAgICAgfQogCi0gICAgYm9vbCBkZWNvZGUoY29uc3Qg
RnJhZ21lbnRlZFNoYXJlZEJ1ZmZlcjo6RGF0YVNlZ21lbnQmIGRhdGEsIGJvb2wgb25seVNpemUp
CisgICAgYm9vbCBkZWNvZGUoY29uc3QgU2hhcmVkQnVmZmVyJiBkYXRhLCBib29sIG9ubHlTaXpl
KQogICAgIHsKICAgICAgICAgbV9kZWNvZGluZ1NpemVPbmx5ID0gb25seVNpemU7CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2ltYWdlLWRlY29kZXJzL2pwZWcyMDAwL0pQ
RUcyMDAwSW1hZ2VEZWNvZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2ltYWdlLWRl
Y29kZXJzL2pwZWcyMDAwL0pQRUcyMDAwSW1hZ2VEZWNvZGVyLmNwcAppbmRleCAyMDQ3M2YwZWVl
YmI1NmM3MTMxNGY2NTU2YmRhMDkwMzM0OTA3NDQyLi45MzNhMDEzZjIxYzQ3ZTljYjc5OWViNzJh
YmI3ZTM4Y2ZhYjFhNjhjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pbWFn
ZS1kZWNvZGVycy9qcGVnMjAwMC9KUEVHMjAwMEltYWdlRGVjb2Rlci5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMvanBlZzIwMDAvSlBFRzIwMDBJbWFnZURl
Y29kZXIuY3BwCkBAIC0zODAsNyArMzgwLDcgQEAgdm9pZCBKUEVHMjAwMEltYWdlRGVjb2Rlcjo6
ZGVjb2RlKGJvb2wgb25seVNpemUsIGJvb2wgYWxsRGF0YVJlY2VpdmVkKQogICAgIH0KIAogICAg
IHN0cnVjdCBSZWFkZXIgewotICAgICAgICBGcmFnbWVudGVkU2hhcmVkQnVmZmVyOjpEYXRhU2Vn
bWVudCYgZGF0YTsKKyAgICAgICAgY29uc3QgU2hhcmVkQnVmZmVyJiBkYXRhOwogICAgICAgICBz
aXplX3Qgb2Zmc2V0OwogICAgIH0gcmVhZGVyID0geyAqbV9kYXRhLCAwIH07CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2ltYWdlLWRlY29kZXJzL3BuZy9QTkdJbWFnZURl
Y29kZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMvcG5nL1BO
R0ltYWdlRGVjb2Rlci5jcHAKaW5kZXggNGNiZDMyM2Q5YTc1MDI2ZWY4NjU4ZjM4MTZkZDczOGQz
N2NhOGVkOS4uYWNjMzBhMDIwMWUxNjNhNTY5ZWU5MmU3YmRiNWY3NDE2Mzc0MjQxNyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMvcG5nL1BOR0ltYWdl
RGVjb2Rlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMv
cG5nL1BOR0ltYWdlRGVjb2Rlci5jcHAKQEAgLTE1Miw3ICsxNTIsNyBAQCBwdWJsaWM6CiAgICAg
ICAgIG1fcmVhZE9mZnNldCA9IDA7CiAgICAgfQogCi0gICAgYm9vbCBkZWNvZGUoY29uc3QgRnJh
Z21lbnRlZFNoYXJlZEJ1ZmZlcjo6RGF0YVNlZ21lbnQmIGRhdGEsIGJvb2wgc2l6ZU9ubHksIHVu
c2lnbmVkIGhhbHRBdEZyYW1lKQorICAgIGJvb2wgZGVjb2RlKGNvbnN0IFNoYXJlZEJ1ZmZlciYg
ZGF0YSwgYm9vbCBzaXplT25seSwgdW5zaWduZWQgaGFsdEF0RnJhbWUpCiAgICAgewogICAgICAg
ICBtX2RlY29kaW5nU2l6ZU9ubHkgPSBzaXplT25seTsKICAgICAgICAgUE5HSW1hZ2VEZWNvZGVy
KiBkZWNvZGVyID0gc3RhdGljX2Nhc3Q8UE5HSW1hZ2VEZWNvZGVyKj4ocG5nX2dldF9wcm9ncmVz
c2l2ZV9wdHIobV9wbmcpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lt
YWdlLWRlY29kZXJzL3dlYnAvV0VCUEltYWdlRGVjb2Rlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9pbWFnZS1kZWNvZGVycy93ZWJwL1dFQlBJbWFnZURlY29kZXIuY3BwCmluZGV4IGIx
YmVjNTVlNzhjNDM0ODAxYzI1NGFjZTBkZjU5OTMxYTM2Yjc0YmQuLjc3MmU4MzI2NmUyMzBlYjZk
ZmY3ZGMxZWY3ZGI1NTIzOTYzYmZiMGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2ltYWdlLWRlY29kZXJzL3dlYnAvV0VCUEltYWdlRGVjb2Rlci5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMvd2VicC9XRUJQSW1hZ2VEZWNvZGVyLmNw
cApAQCAtMTMyLDcgKzEzMiw3IEBAIHZvaWQgV0VCUEltYWdlRGVjb2Rlcjo6ZGVjb2RlKHNpemVf
dCBmcmFtZUluZGV4LCBib29sIGFsbERhdGFSZWNlaXZlZCkKICAgICAvLyBUaGlzIGNhbiBiZSBl
eGVjdXRlZCBib3RoIGluIHRoZSBtYWluIHRocmVhZCAod2hlbiBub3QgdXNpbmcgYXN5bmMgZGVj
b2RpbmcpIG9yIGluIHRoZSBkZWNvZGluZyB0aHJlYWQuCiAgICAgLy8gV2hlbiBleGVjdXRlZCBp
biB0aGUgZGVjb2RpbmcgdGhyZWFkLCBhIGNhbGwgdG8gc2V0RGF0YSgpIGZyb20gdGhlIG1haW4g
dGhyZWFkIG1heSBjaGFuZ2UgdGhlIGRhdGEKICAgICAvLyB0aGUgV2ViUERlbXV4ZXIgaXMgdXNp
bmcsIGxlYXZpbmcgaXQgaW4gYW4gaW5jb25zaXN0ZW50IHN0YXRlLCBzbyB3ZSBuZWVkIHRvIHBy
b3RlY3QgdGhlIGRhdGEuCi0gICAgUmVmUHRyPEZyYWdtZW50ZWRTaGFyZWRCdWZmZXI6OkRhdGFT
ZWdtZW50PiBwcm90ZWN0ZWREYXRhKG1fZGF0YSk7CisgICAgUmVmUHRyPGNvbnN0IFNoYXJlZEJ1
ZmZlcj4gcHJvdGVjdGVkRGF0YShtX2RhdGEpOwogICAgIFdlYlBEYXRhIGlucHV0RGF0YSA9IHsg
cHJvdGVjdGVkRGF0YS0+ZGF0YSgpLCBwcm90ZWN0ZWREYXRhLT5zaXplKCkgfTsKICAgICBXZWJQ
RGVtdXhTdGF0ZSBkZW11eGVyU3RhdGU7CiAgICAgV2ViUERlbXV4ZXIqIGRlbXV4ZXIgPSBXZWJQ
RGVtdXhQYXJ0aWFsKCZpbnB1dERhdGEsICZkZW11eGVyU3RhdGUpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>447909</attachid>
            <date>2021-12-23 14:24:53 -0800</date>
            <delta_ts>2021-12-23 17:38:07 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-233441-20211224092452.patch</filename>
            <type>text/plain</type>
            <size>13403</size>
            <attacher name="Jean-Yves Avenard [:jya]">jean-yves.avenard</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg3MzkyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzI1MzM2YTNjN2YxZTNm
NjI1ZjY1ZWE1Nzk2NTYyYzdkYzhkYTJhZi4uMDZkZGExMzZkODI0M2YzZjEyMGIyMGUzMWQ4NmY3
MzcwMTU3ZDM0ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ1IEBACisyMDIxLTEyLTIzICBKZWFu
LVl2ZXMgQXZlbmFyZCAgPGp5YUBhcHBsZS5jb20+CisKKyAgICAgICAgU2NhbGFibGVJbWFnZURl
Y29kZXIgc2hvdWxkIGJlIHVzaW5nIFNoYXJlZEJ1ZmZlciBpbnN0ZWFkIG9mIERhdGFTZWdtZW50
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzM0NDEK
KyAgICAgICAgcmRhcjovL3Byb2JsZW0vODU4NTQyMDQKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBEYXRhU2VnbWVudCBzaG91bGQgYmUgYSBTaGFyZWRC
dWZmZXIncyBpbXBsZW1lbnRhdGlvbiBkZXRhaWxzIGFuZCBub3QKKyAgICAgICAgYmUgdXNlZCBv
dXRzaWRlIFNoYXJlZEJ1ZmZlcidzIGNvZGUuCisgICAgICAgIEhpc3RvcmljYWxseSwgdXNpbmcg
dGhlIGlubmVyIERhdGFTZWdtZW50IHdhcyByZXF1aXJlZCBhcyBpdCB3YXMgdGhyZWFkCisgICAg
ICAgIHNhZmUgd2hpbGUgU2hhcmVkQnVmZmVyIHdhc24ndDogVGhpcyBpcyBubyBsb25nZXIgdGhl
IGNhc2UuCisgICAgICAgIFNoYXJlZEJ1ZmZlciBhbmQgRGF0YVNlZ21lbnQgYXJlIHNlbWFudGlj
YWxseSB2ZXJ5IHNpbWlsYXIsIHNvIHRoaXMgaXMKKyAgICAgICAgbW9zdGx5IGEgZmluZC9yZXBs
YWNlIGNoYW5nZS4KKyAgICAgICAgRmxhdHRlbmluZyB0aGUgRnJhZ21lbnRlZFNoYXJlZEJ1ZmZl
ciBpcyBzdGlsbCByZXF1aXJlZCBhcyBtb3N0IGRlY29kZXJzCisgICAgICAgIHJlcXVpcmUgcmVh
ZGluZyB0aGUgcmF3IGJ5dGVzLgorCisgICAgICAgIE5vIGNoYW5nZSBpbiBvYnNlcnZhYmxlIGJl
aGF2aW91ci4KKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0ltYWdlQmFja2luZ1N0b3Jl
Lmg6CisgICAgICAgIChXZWJDb3JlOjpJbWFnZUJhY2tpbmdTdG9yZTo6c2V0U2l6ZSk6CisgICAg
ICAgIChXZWJDb3JlOjpJbWFnZUJhY2tpbmdTdG9yZTo6SW1hZ2VCYWNraW5nU3RvcmUpOgorICAg
ICAgICAqIHBsYXRmb3JtL2ltYWdlLWRlY29kZXJzL1NjYWxhYmxlSW1hZ2VEZWNvZGVyLmg6Cisg
ICAgICAgICogcGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMvYXZpZi9BVklGSW1hZ2VSZWFkZXIuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6QVZJRkltYWdlUmVhZGVyOjpwYXJzZUhlYWRlcik6CisgICAg
ICAgIChXZWJDb3JlOjpBVklGSW1hZ2VSZWFkZXI6OmRlY29kZUZyYW1lKToKKyAgICAgICAgKiBw
bGF0Zm9ybS9pbWFnZS1kZWNvZGVycy9hdmlmL0FWSUZJbWFnZVJlYWRlci5oOgorICAgICAgICAq
IHBsYXRmb3JtL2ltYWdlLWRlY29kZXJzL2JtcC9CTVBJbWFnZVJlYWRlci5oOgorICAgICAgICAo
V2ViQ29yZTo6Qk1QSW1hZ2VSZWFkZXI6OnJlYWRVaW50MTYpOgorICAgICAgICAoV2ViQ29yZTo6
Qk1QSW1hZ2VSZWFkZXI6OnJlYWRVaW50MzIpOgorICAgICAgICAoV2ViQ29yZTo6Qk1QSW1hZ2VS
ZWFkZXI6OnNldERhdGEpOgorICAgICAgICAqIHBsYXRmb3JtL2ltYWdlLWRlY29kZXJzL2dpZi9H
SUZJbWFnZVJlYWRlci5oOgorICAgICAgICAoR0lGSW1hZ2VSZWFkZXI6OnNldERhdGEpOgorICAg
ICAgICAqIHBsYXRmb3JtL2ltYWdlLWRlY29kZXJzL2pwZWcvSlBFR0ltYWdlRGVjb2Rlci5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpKUEVHSW1hZ2VSZWFkZXI6OmRlY29kZSk6CisgICAgICAgICog
cGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMvanBlZzIwMDAvSlBFRzIwMDBJbWFnZURlY29kZXIuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6SlBFRzIwMDBJbWFnZURlY29kZXI6OmRlY29kZSk6CisgICAg
ICAgICogcGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMvcG5nL1BOR0ltYWdlRGVjb2Rlci5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpQTkdJbWFnZVJlYWRlcjo6ZGVjb2RlKToKKyAgICAgICAgKiBwbGF0
Zm9ybS9pbWFnZS1kZWNvZGVycy93ZWJwL1dFQlBJbWFnZURlY29kZXIuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6V0VCUEltYWdlRGVjb2Rlcjo6ZGVjb2RlKToKKwogMjAyMS0xMi0yMiAgSmVhbi1Z
dmVzIEF2ZW5hcmQgIDxqeWFAYXBwbGUuY29tPgogCiAgICAgICAgIG1ha2UgU2hhcmVkQnVmZmVy
Ojpjb3B5KCkgcmV0dXJuIGEgY29udGlndW91cyBTaGFyZWRCdWZmZXIKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdlQmFja2luZ1N0b3JlLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFnZUJhY2tpbmdTdG9yZS5oCmluZGV4IGRl
MzNmMWFmNDEyZGMwOGIyYjk2MWExOTQ5NDVjOWNjOTBhYTY2MjUuLmE1YTczZmUwNTFlOWRiNTQy
ODI1NjUwYjFmNDU0MjFiNTA0OTFlN2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL0ltYWdlQmFja2luZ1N0b3JlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvSW1hZ2VCYWNraW5nU3RvcmUuaApAQCAtNjYsNyArNjYsNyBAQCBwdWJs
aWM6CiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAgICAgICAgYnVmZmVyLmdyb3coYnVm
ZmVyU2l6ZSk7Ci0gICAgICAgIG1fcGl4ZWxzID0gRnJhZ21lbnRlZFNoYXJlZEJ1ZmZlcjo6RGF0
YVNlZ21lbnQ6OmNyZWF0ZShXVEZNb3ZlKGJ1ZmZlcikpOworICAgICAgICBtX3BpeGVscyA9IFNo
YXJlZEJ1ZmZlcjo6Y3JlYXRlKFdURk1vdmUoYnVmZmVyKSk7CiAgICAgICAgIG1fcGl4ZWxzUHRy
ID0gcmVpbnRlcnByZXRfY2FzdDx1aW50MzJfdCo+KGNvbnN0X2Nhc3Q8dWludDhfdCo+KG1fcGl4
ZWxzLT5kYXRhKCkpKTsKICAgICAgICAgbV9zaXplID0gc2l6ZTsKICAgICAgICAgbV9mcmFtZVJl
Y3QgPSBJbnRSZWN0KEludFBvaW50KCksIG1fc2l6ZSk7CkBAIC0yMDYsNyArMjA2LDcgQEAgcHJp
dmF0ZToKICAgICB7CiAgICAgICAgIEFTU0VSVCghbV9zaXplLmlzRW1wdHkoKSAmJiAhaXNPdmVy
U2l6ZShtX3NpemUpKTsKICAgICAgICAgVmVjdG9yPHVpbnQ4X3Q+IGJ1ZmZlciB7IG90aGVyLm1f
cGl4ZWxzLT5kYXRhKCksIG90aGVyLm1fcGl4ZWxzLT5zaXplKCkgfTsKLSAgICAgICAgbV9waXhl
bHMgPSBGcmFnbWVudGVkU2hhcmVkQnVmZmVyOjpEYXRhU2VnbWVudDo6Y3JlYXRlKFdURk1vdmUo
YnVmZmVyKSk7CisgICAgICAgIG1fcGl4ZWxzID0gU2hhcmVkQnVmZmVyOjpjcmVhdGUoV1RGTW92
ZShidWZmZXIpKTsKICAgICAgICAgbV9waXhlbHNQdHIgPSByZWludGVycHJldF9jYXN0PHVpbnQz
Ml90Kj4oY29uc3RfY2FzdDx1aW50OF90Kj4obV9waXhlbHMtPmRhdGEoKSkpOwogICAgIH0KIApA
QCAtMjMzLDcgKzIzMyw3IEBAIHByaXZhdGU6CiAgICAgICAgIHJldHVybiBQYWNrZWRDb2xvcjo6
QVJHQiB7IHJlc3VsdCB9LnZhbHVlOwogICAgIH0KIAotICAgIFJlZlB0cjxGcmFnbWVudGVkU2hh
cmVkQnVmZmVyOjpEYXRhU2VnbWVudD4gbV9waXhlbHM7CisgICAgUmVmUHRyPFNoYXJlZEJ1ZmZl
cj4gbV9waXhlbHM7CiAgICAgdWludDMyX3QqIG1fcGl4ZWxzUHRyIHsgbnVsbHB0ciB9OwogICAg
IEludFNpemUgbV9zaXplOwogICAgIEludFJlY3QgbV9mcmFtZVJlY3Q7IC8vIFRoaXMgd2lsbCBh
bHdheXMganVzdCBiZSB0aGUgZW50aXJlIGJ1ZmZlciBleGNlcHQgZm9yIEdJRiBhbmQgUE5HIGZy
YW1lcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMv
U2NhbGFibGVJbWFnZURlY29kZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2ltYWdlLWRl
Y29kZXJzL1NjYWxhYmxlSW1hZ2VEZWNvZGVyLmgKaW5kZXggOWM0MDU1NzgyNDFkMGM1MTI3MDI5
NTE1YzIyMTI2NThmOGM0ZjY4YS4uYjI4OTZhZTMwYTFiOGNjM2RmMTJhMDc0MTJjZjUwMjIxN2Zj
NjgzNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMv
U2NhbGFibGVJbWFnZURlY29kZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pbWFn
ZS1kZWNvZGVycy9TY2FsYWJsZUltYWdlRGVjb2Rlci5oCkBAIC03Niw5ICs3Niw4IEBAIHB1Ymxp
YzoKICAgICAgICAgaWYgKG1fZW5jb2RlZERhdGFTdGF0dXMgPT0gRW5jb2RlZERhdGFTdGF0dXM6
OkVycm9yKQogICAgICAgICAgICAgcmV0dXJuOwogCi0gICAgICAgIGF1dG8gY29udGlndW91c0Rh
dGEgPSBkYXRhLm1ha2VDb250aWd1b3VzKCk7Ci0gICAgICAgIGlmIChjb250aWd1b3VzRGF0YS0+
ZGF0YSgpKQotICAgICAgICAgICAgbV9kYXRhID0gY29udGlndW91c0RhdGEtPmJlZ2luKCktPnNl
Z21lbnQuY29weVJlZigpOworICAgICAgICBtX2RhdGEgPSBkYXRhLm1ha2VDb250aWd1b3VzKCk7
CisKICAgICAgICAgaWYgKG1fZW5jb2RlZERhdGFTdGF0dXMgPT0gRW5jb2RlZERhdGFTdGF0dXM6
OlR5cGVBdmFpbGFibGUpIHsKICAgICAgICAgICAgIG1fZGVjb2RpbmdTaXplRnJvbVNldERhdGEg
PSB0cnVlOwogICAgICAgICAgICAgdHJ5RGVjb2RlU2l6ZShhbGxEYXRhUmVjZWl2ZWQpOwpAQCAt
MTk0LDcgKzE5Myw3IEBAIHB1YmxpYzoKICAgICBzdGQ6Om9wdGlvbmFsPEludFBvaW50PiBob3RT
cG90KCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gc3RkOjpudWxsb3B0OyB9CiAKIHByb3RlY3Rl
ZDoKLSAgICBSZWZQdHI8RnJhZ21lbnRlZFNoYXJlZEJ1ZmZlcjo6RGF0YVNlZ21lbnQ+IG1fZGF0
YTsKKyAgICBSZWZQdHI8Y29uc3QgU2hhcmVkQnVmZmVyPiBtX2RhdGE7CiAgICAgVmVjdG9yPFNj
YWxhYmxlSW1hZ2VEZWNvZGVyRnJhbWUsIDE+IG1fZnJhbWVCdWZmZXJDYWNoZSBXVEZfR1VBUkRF
RF9CWV9MT0NLKG1fbG9jayk7CiAgICAgbXV0YWJsZSBMb2NrIG1fbG9jazsKICAgICBib29sIG1f
cHJlbXVsdGlwbHlBbHBoYTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lt
YWdlLWRlY29kZXJzL2F2aWYvQVZJRkltYWdlUmVhZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2ltYWdlLWRlY29kZXJzL2F2aWYvQVZJRkltYWdlUmVhZGVyLmNwcAppbmRleCAyNmY4
ODY0OTZlNWE1YTE0ZTI4YWZiMWFmYTliZmMzMDE3N2Y1MWNmLi5kNjhjMGEzNWZjMWY0YWI2MDE3
YmQzOWVlNDM5MTAyNjgzNWZjODJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9pbWFnZS1kZWNvZGVycy9hdmlmL0FWSUZJbWFnZVJlYWRlci5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMvYXZpZi9BVklGSW1hZ2VSZWFkZXIuY3BwCkBA
IC00MSw3ICs0MSw3IEBAIEFWSUZJbWFnZVJlYWRlcjo6QVZJRkltYWdlUmVhZGVyKFJlZlB0cjxB
VklGSW1hZ2VEZWNvZGVyPiYmIGRlY29kZXIpCiAKIEFWSUZJbWFnZVJlYWRlcjo6fkFWSUZJbWFn
ZVJlYWRlcigpID0gZGVmYXVsdDsKIAotYm9vbCBBVklGSW1hZ2VSZWFkZXI6OnBhcnNlSGVhZGVy
KGNvbnN0IEZyYWdtZW50ZWRTaGFyZWRCdWZmZXI6OkRhdGFTZWdtZW50JiBkYXRhLCBib29sIGFs
bERhdGFSZWNlaXZlZCkKK2Jvb2wgQVZJRkltYWdlUmVhZGVyOjpwYXJzZUhlYWRlcihjb25zdCBT
aGFyZWRCdWZmZXImIGRhdGEsIGJvb2wgYWxsRGF0YVJlY2VpdmVkKQogewogICAgIGlmIChhdmlm
RGVjb2RlclNldElPTWVtb3J5KG1fYXZpZkRlY29kZXIuZ2V0KCksIGRhdGEuZGF0YSgpLCBkYXRh
LnNpemUoKSkgIT0gQVZJRl9SRVNVTFRfT0spCiAgICAgICAgIHJldHVybiBhbGxEYXRhUmVjZWl2
ZWQgPyBtX2RlY29kZXItPnNldEZhaWxlZCgpIDogZmFsc2U7CkBAIC01OCw3ICs1OCw3IEBAIGJv
b2wgQVZJRkltYWdlUmVhZGVyOjpwYXJzZUhlYWRlcihjb25zdCBGcmFnbWVudGVkU2hhcmVkQnVm
ZmVyOjpEYXRhU2VnbWVudCYgZGF0CiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLXZvaWQgQVZJRklt
YWdlUmVhZGVyOjpkZWNvZGVGcmFtZShzaXplX3QgZnJhbWVJbmRleCwgU2NhbGFibGVJbWFnZURl
Y29kZXJGcmFtZSYgYnVmZmVyLCBjb25zdCBGcmFnbWVudGVkU2hhcmVkQnVmZmVyOjpEYXRhU2Vn
bWVudCYgZGF0YSkKK3ZvaWQgQVZJRkltYWdlUmVhZGVyOjpkZWNvZGVGcmFtZShzaXplX3QgZnJh
bWVJbmRleCwgU2NhbGFibGVJbWFnZURlY29kZXJGcmFtZSYgYnVmZmVyLCBjb25zdCBTaGFyZWRC
dWZmZXImIGRhdGEpCiB7CiAgICAgaWYgKG1fZGVjb2Rlci0+ZmFpbGVkKCkpCiAgICAgICAgIHJl
dHVybjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2ltYWdlLWRlY29kZXJz
L2F2aWYvQVZJRkltYWdlUmVhZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pbWFnZS1k
ZWNvZGVycy9hdmlmL0FWSUZJbWFnZVJlYWRlci5oCmluZGV4IDQ5NmY2OWY4MTJiZDc1YjBlZGE2
MzU3YmFhODYwY2ZjY2I1YmE0YjMuLjg1YWNiMTdjYmNmYzU4ODVkNmFjNTUyNWM3YjVjOWVmZmM1
OGM2NjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2ltYWdlLWRlY29kZXJz
L2F2aWYvQVZJRkltYWdlUmVhZGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW1h
Z2UtZGVjb2RlcnMvYXZpZi9BVklGSW1hZ2VSZWFkZXIuaApAQCAtMzksOCArMzksOCBAQCBwdWJs
aWM6CiAgICAgQVZJRkltYWdlUmVhZGVyKFJlZlB0cjxBVklGSW1hZ2VEZWNvZGVyPiYmKTsKICAg
ICB+QVZJRkltYWdlUmVhZGVyKCk7CiAKLSAgICBib29sIHBhcnNlSGVhZGVyKGNvbnN0IEZyYWdt
ZW50ZWRTaGFyZWRCdWZmZXI6OkRhdGFTZWdtZW50JiwgYm9vbCBhbGxEYXRhUmVjZWl2ZWQpOwot
ICAgIHZvaWQgZGVjb2RlRnJhbWUoc2l6ZV90IGluZGV4LCBTY2FsYWJsZUltYWdlRGVjb2RlckZy
YW1lJiwgY29uc3QgRnJhZ21lbnRlZFNoYXJlZEJ1ZmZlcjo6RGF0YVNlZ21lbnQmKTsKKyAgICBi
b29sIHBhcnNlSGVhZGVyKGNvbnN0IFNoYXJlZEJ1ZmZlciYsIGJvb2wgYWxsRGF0YVJlY2VpdmVk
KTsKKyAgICB2b2lkIGRlY29kZUZyYW1lKHNpemVfdCBpbmRleCwgU2NhbGFibGVJbWFnZURlY29k
ZXJGcmFtZSYsIGNvbnN0IFNoYXJlZEJ1ZmZlciYpOwogICAgIHNpemVfdCBpbWFnZUNvdW50KCkg
Y29uc3Q7CiAgICAgZG91YmxlIHJlcGV0aXRpb25Db3VudCgpIGNvbnN0OwogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pbWFnZS1kZWNvZGVycy9ibXAvQk1QSW1hZ2VSZWFk
ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2ltYWdlLWRlY29kZXJzL2JtcC9CTVBJbWFn
ZVJlYWRlci5oCmluZGV4IGJkNDMwZThhOGJlYTJjODE2YjJjNTIyYmY1YmE3ODg0NmMzOGUwZmYu
LmMzMTQxMzQ3OWQ0MzI1MWIyNzhlZGQ2N2E0NDE5MTZmMDgwMjE5ZDEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2ltYWdlLWRlY29kZXJzL2JtcC9CTVBJbWFnZVJlYWRlci5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2ltYWdlLWRlY29kZXJzL2JtcC9CTVBJbWFn
ZVJlYWRlci5oCkBAIC00Miw3ICs0Miw3IEBAIGNsYXNzIEJNUEltYWdlUmVhZGVyIHsKIHB1Ymxp
YzoKICAgICAvLyBSZWFkIGEgdmFsdWUgZnJvbSB8ZGF0YVtvZmZzZXRdfCwgY29udmVydGluZyBm
cm9tIGxpdHRsZSB0byBuYXRpdmUKICAgICAvLyBlbmRpYW5uZXNzLgotICAgIHN0YXRpYyBpbmxp
bmUgdWludDE2X3QgcmVhZFVpbnQxNihjb25zdCBGcmFnbWVudGVkU2hhcmVkQnVmZmVyOjpEYXRh
U2VnbWVudCYgZGF0YSwgaW50IG9mZnNldCkKKyAgICBzdGF0aWMgaW5saW5lIHVpbnQxNl90IHJl
YWRVaW50MTYoY29uc3QgU2hhcmVkQnVmZmVyJiBkYXRhLCBpbnQgb2Zmc2V0KQogICAgIHsKICAg
ICAgICAgdWludDE2X3QgcmVzdWx0OwogICAgICAgICBtZW1jcHkoJnJlc3VsdCwgJmRhdGEuZGF0
YSgpW29mZnNldF0sIDIpOwpAQCAtNTIsNyArNTIsNyBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVy
biByZXN1bHQ7CiAgICAgfQogCi0gICAgc3RhdGljIGlubGluZSB1aW50MzJfdCByZWFkVWludDMy
KGNvbnN0IEZyYWdtZW50ZWRTaGFyZWRCdWZmZXI6OkRhdGFTZWdtZW50JiBkYXRhLCBpbnQgb2Zm
c2V0KQorICAgIHN0YXRpYyBpbmxpbmUgdWludDMyX3QgcmVhZFVpbnQzMihjb25zdCBTaGFyZWRC
dWZmZXImIGRhdGEsIGludCBvZmZzZXQpCiAgICAgewogICAgICAgICB1aW50MzJfdCByZXN1bHQ7
CiAgICAgICAgIG1lbWNweSgmcmVzdWx0LCAmZGF0YS5kYXRhKClbb2Zmc2V0XSwgNCk7CkBAIC02
OSw3ICs2OSw3IEBAIHB1YmxpYzoKICAgICBCTVBJbWFnZVJlYWRlcihTY2FsYWJsZUltYWdlRGVj
b2RlciogcGFyZW50LCBzaXplX3QgZGVjb2RlZEFuZEhlYWRlck9mZnNldCwgc2l6ZV90IGltZ0Rh
dGFPZmZzZXQsIGJvb2wgdXNlc0FuZE1hc2spOwogCiAgICAgdm9pZCBzZXRCdWZmZXIoU2NhbGFi
bGVJbWFnZURlY29kZXJGcmFtZSogYnVmZmVyKSB7IG1fYnVmZmVyID0gYnVmZmVyOyB9Ci0gICAg
dm9pZCBzZXREYXRhKEZyYWdtZW50ZWRTaGFyZWRCdWZmZXI6OkRhdGFTZWdtZW50JiBkYXRhKSB7
IG1fZGF0YSA9ICZkYXRhOyB9CisgICAgdm9pZCBzZXREYXRhKGNvbnN0IFNoYXJlZEJ1ZmZlciYg
ZGF0YSkgeyBtX2RhdGEgPSAmZGF0YTsgfQogCiAgICAgLy8gRG9lcyB0aGUgYWN0dWFsIGRlY29k
aW5nLiBJZiB8b25seVNpemV8IGlzIHRydWUsIGRlY29kaW5nIG9ubHkKICAgICAvLyBwcm9ncmVz
c2VzIGFzIGZhciBhcyBuZWNlc3NhcnkgdG8gZ2V0IHRoZSBpbWFnZSBzaXplLiBSZXR1cm5zCkBA
IC0yNzIsNyArMjcyLDcgQEAgcHJpdmF0ZToKICAgICBTY2FsYWJsZUltYWdlRGVjb2RlckZyYW1l
KiBtX2J1ZmZlcjsKIAogICAgIC8vIFRoZSBmaWxlIHRvIGRlY29kZS4KLSAgICBSZWZQdHI8RnJh
Z21lbnRlZFNoYXJlZEJ1ZmZlcjo6RGF0YVNlZ21lbnQ+IG1fZGF0YTsKKyAgICBSZWZQdHI8Y29u
c3QgU2hhcmVkQnVmZmVyPiBtX2RhdGE7CiAKICAgICAvLyBBbiBpbmRleCBpbnRvIHxtX2RhdGF8
IHJlcHJlc2VudGluZyBob3cgbXVjaCB3ZSd2ZSBhbHJlYWR5IGRlY29kZWQuCiAgICAgc2l6ZV90
IG1fZGVjb2RlZE9mZnNldDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lt
YWdlLWRlY29kZXJzL2dpZi9HSUZJbWFnZVJlYWRlci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vaW1hZ2UtZGVjb2RlcnMvZ2lmL0dJRkltYWdlUmVhZGVyLmgKaW5kZXggMTA4MmZkZjBkZmYy
MzkxZTU2NTMwYTQxZjg3YmE0Mzk4MjMyNzUzNS4uZDZiZmZjMTJiMWUxZTQ2ZDQzZDA0N2VkZGMy
YWQ5NGI1Yzg1NTNmMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW1hZ2Ut
ZGVjb2RlcnMvZ2lmL0dJRkltYWdlUmVhZGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vaW1hZ2UtZGVjb2RlcnMvZ2lmL0dJRkltYWdlUmVhZGVyLmgKQEAgLTIzNyw3ICsyMzcsNyBA
QCBwdWJsaWM6CiAgICAgewogICAgIH0KIAotICAgIHZvaWQgc2V0RGF0YShXZWJDb3JlOjpGcmFn
bWVudGVkU2hhcmVkQnVmZmVyOjpEYXRhU2VnbWVudCYgZGF0YSkgeyBtX2RhdGEgPSAmZGF0YTsg
fQorICAgIHZvaWQgc2V0RGF0YShjb25zdCBXZWJDb3JlOjpTaGFyZWRCdWZmZXImIGRhdGEpIHsg
bV9kYXRhID0gJmRhdGE7IH0KICAgICAvLyBGSVhNRTogaGFsdEF0RnJhbWUgc2hvdWxkIGJlIHNp
emVfdC4KICAgICBib29sIGRlY29kZShXZWJDb3JlOjpHSUZJbWFnZURlY29kZXI6OkdJRlF1ZXJ5
LCB1bnNpZ25lZCBoYWx0QXRGcmFtZSk7CiAKQEAgLTMxNiw2ICszMTYsNiBAQCBwcml2YXRlOgog
ICAgIFZlY3RvcjxzdGQ6OnVuaXF1ZV9wdHI8R0lGRnJhbWVDb250ZXh0PiA+IG1fZnJhbWVzOwog
ICAgIHNpemVfdCBtX2N1cnJlbnREZWNvZGluZ0ZyYW1lOwogCi0gICAgUmVmUHRyPFdlYkNvcmU6
OkZyYWdtZW50ZWRTaGFyZWRCdWZmZXI6OkRhdGFTZWdtZW50PiBtX2RhdGE7CisgICAgUmVmUHRy
PGNvbnN0IFdlYkNvcmU6OlNoYXJlZEJ1ZmZlcj4gbV9kYXRhOwogICAgIGJvb2wgbV9wYXJzZUNv
bXBsZXRlZDsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pbWFnZS1k
ZWNvZGVycy9qcGVnL0pQRUdJbWFnZURlY29kZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vaW1hZ2UtZGVjb2RlcnMvanBlZy9KUEVHSW1hZ2VEZWNvZGVyLmNwcAppbmRleCBmNDIzY2Nj
OWNlMTI3ZWY3YWU3NmM5MTI4MjRhYmU4NzczZmI3MmQxLi40MzUwMzU4ZjNiZWViOWYyNDU4NjNj
ZTdlMDBhZTgyNzUwZGU3NGNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9p
bWFnZS1kZWNvZGVycy9qcGVnL0pQRUdJbWFnZURlY29kZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2ltYWdlLWRlY29kZXJzL2pwZWcvSlBFR0ltYWdlRGVjb2Rlci5jcHAKQEAg
LTMxNyw3ICszMTcsNyBAQCBwdWJsaWM6CiAgICAgICAgIG1fYnl0ZXNUb1NraXAgPSBzdGQ6Om1h
eChudW1CeXRlcyAtIGJ5dGVzVG9Ta2lwLCBzdGF0aWNfY2FzdDxsb25nPigwKSk7CiAgICAgfQog
Ci0gICAgYm9vbCBkZWNvZGUoY29uc3QgRnJhZ21lbnRlZFNoYXJlZEJ1ZmZlcjo6RGF0YVNlZ21l
bnQmIGRhdGEsIGJvb2wgb25seVNpemUpCisgICAgYm9vbCBkZWNvZGUoY29uc3QgU2hhcmVkQnVm
ZmVyJiBkYXRhLCBib29sIG9ubHlTaXplKQogICAgIHsKICAgICAgICAgbV9kZWNvZGluZ1NpemVP
bmx5ID0gb25seVNpemU7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lt
YWdlLWRlY29kZXJzL2pwZWcyMDAwL0pQRUcyMDAwSW1hZ2VEZWNvZGVyLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2ltYWdlLWRlY29kZXJzL2pwZWcyMDAwL0pQRUcyMDAwSW1hZ2VEZWNv
ZGVyLmNwcAppbmRleCAyMDQ3M2YwZWVlYmI1NmM3MTMxNGY2NTU2YmRhMDkwMzM0OTA3NDQyLi45
MzNhMDEzZjIxYzQ3ZTljYjc5OWViNzJhYmI3ZTM4Y2ZhYjFhNjhjIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9pbWFnZS1kZWNvZGVycy9qcGVnMjAwMC9KUEVHMjAwMEltYWdl
RGVjb2Rlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMv
anBlZzIwMDAvSlBFRzIwMDBJbWFnZURlY29kZXIuY3BwCkBAIC0zODAsNyArMzgwLDcgQEAgdm9p
ZCBKUEVHMjAwMEltYWdlRGVjb2Rlcjo6ZGVjb2RlKGJvb2wgb25seVNpemUsIGJvb2wgYWxsRGF0
YVJlY2VpdmVkKQogICAgIH0KIAogICAgIHN0cnVjdCBSZWFkZXIgewotICAgICAgICBGcmFnbWVu
dGVkU2hhcmVkQnVmZmVyOjpEYXRhU2VnbWVudCYgZGF0YTsKKyAgICAgICAgY29uc3QgU2hhcmVk
QnVmZmVyJiBkYXRhOwogICAgICAgICBzaXplX3Qgb2Zmc2V0OwogICAgIH0gcmVhZGVyID0geyAq
bV9kYXRhLCAwIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2ltYWdl
LWRlY29kZXJzL3BuZy9QTkdJbWFnZURlY29kZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vaW1hZ2UtZGVjb2RlcnMvcG5nL1BOR0ltYWdlRGVjb2Rlci5jcHAKaW5kZXggMjcwOWI3YzY4
YmY1MzBkMTk1ZDc2NjZhM2Q2YWNlNTAwMTNiYmUzNC4uNDA0OTYzYTQ3OWMwNWZjMGM2ZDVjMzBl
YjdiZWM3ODE1NjlhYjlkOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW1h
Z2UtZGVjb2RlcnMvcG5nL1BOR0ltYWdlRGVjb2Rlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMvcG5nL1BOR0ltYWdlRGVjb2Rlci5jcHAKQEAgLTE0OCw3
ICsxNDgsNyBAQCBwdWJsaWM6CiAgICAgICAgIG1fcmVhZE9mZnNldCA9IDA7CiAgICAgfQogCi0g
ICAgYm9vbCBkZWNvZGUoY29uc3QgRnJhZ21lbnRlZFNoYXJlZEJ1ZmZlcjo6RGF0YVNlZ21lbnQm
IGRhdGEsIGJvb2wgc2l6ZU9ubHksIHVuc2lnbmVkIGhhbHRBdEZyYW1lKQorICAgIGJvb2wgZGVj
b2RlKGNvbnN0IFNoYXJlZEJ1ZmZlciYgZGF0YSwgYm9vbCBzaXplT25seSwgdW5zaWduZWQgaGFs
dEF0RnJhbWUpCiAgICAgewogICAgICAgICBtX2RlY29kaW5nU2l6ZU9ubHkgPSBzaXplT25seTsK
ICAgICAgICAgUE5HSW1hZ2VEZWNvZGVyKiBkZWNvZGVyID0gc3RhdGljX2Nhc3Q8UE5HSW1hZ2VE
ZWNvZGVyKj4ocG5nX2dldF9wcm9ncmVzc2l2ZV9wdHIobV9wbmcpKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2ltYWdlLWRlY29kZXJzL3dlYnAvV0VCUEltYWdlRGVjb2Rl
ci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pbWFnZS1kZWNvZGVycy93ZWJwL1dFQlBJ
bWFnZURlY29kZXIuY3BwCmluZGV4IGIxYmVjNTVlNzhjNDM0ODAxYzI1NGFjZTBkZjU5OTMxYTM2
Yjc0YmQuLjc3MmU4MzI2NmUyMzBlYjZkZmY3ZGMxZWY3ZGI1NTIzOTYzYmZiMGQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2ltYWdlLWRlY29kZXJzL3dlYnAvV0VCUEltYWdl
RGVjb2Rlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMv
d2VicC9XRUJQSW1hZ2VEZWNvZGVyLmNwcApAQCAtMTMyLDcgKzEzMiw3IEBAIHZvaWQgV0VCUElt
YWdlRGVjb2Rlcjo6ZGVjb2RlKHNpemVfdCBmcmFtZUluZGV4LCBib29sIGFsbERhdGFSZWNlaXZl
ZCkKICAgICAvLyBUaGlzIGNhbiBiZSBleGVjdXRlZCBib3RoIGluIHRoZSBtYWluIHRocmVhZCAo
d2hlbiBub3QgdXNpbmcgYXN5bmMgZGVjb2RpbmcpIG9yIGluIHRoZSBkZWNvZGluZyB0aHJlYWQu
CiAgICAgLy8gV2hlbiBleGVjdXRlZCBpbiB0aGUgZGVjb2RpbmcgdGhyZWFkLCBhIGNhbGwgdG8g
c2V0RGF0YSgpIGZyb20gdGhlIG1haW4gdGhyZWFkIG1heSBjaGFuZ2UgdGhlIGRhdGEKICAgICAv
LyB0aGUgV2ViUERlbXV4ZXIgaXMgdXNpbmcsIGxlYXZpbmcgaXQgaW4gYW4gaW5jb25zaXN0ZW50
IHN0YXRlLCBzbyB3ZSBuZWVkIHRvIHByb3RlY3QgdGhlIGRhdGEuCi0gICAgUmVmUHRyPEZyYWdt
ZW50ZWRTaGFyZWRCdWZmZXI6OkRhdGFTZWdtZW50PiBwcm90ZWN0ZWREYXRhKG1fZGF0YSk7Cisg
ICAgUmVmUHRyPGNvbnN0IFNoYXJlZEJ1ZmZlcj4gcHJvdGVjdGVkRGF0YShtX2RhdGEpOwogICAg
IFdlYlBEYXRhIGlucHV0RGF0YSA9IHsgcHJvdGVjdGVkRGF0YS0+ZGF0YSgpLCBwcm90ZWN0ZWRE
YXRhLT5zaXplKCkgfTsKICAgICBXZWJQRGVtdXhTdGF0ZSBkZW11eGVyU3RhdGU7CiAgICAgV2Vi
UERlbXV4ZXIqIGRlbXV4ZXIgPSBXZWJQRGVtdXhQYXJ0aWFsKCZpbnB1dERhdGEsICZkZW11eGVy
U3RhdGUpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>447912</attachid>
            <date>2021-12-23 15:19:57 -0800</date>
            <delta_ts>2021-12-23 17:38:10 -0800</delta_ts>
            <desc>Test</desc>
            <filename>diff.diff</filename>
            <type>text/plain</type>
            <size>3039</size>
            <attacher name="Jean-Yves Avenard [:jya]">jean-yves.avenard</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCAwYjUzZTllZDdhOWYuLmMyNTMzNmEzYzdmMSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDE4IEBACisyMDIxLTEyLTIyICBKZWFuLVl2ZXMgQXZlbmFyZCAgPGp5YUBhcHBsZS5j
b20+CisKKyAgICAgICAgbWFrZSBTaGFyZWRCdWZmZXI6OmNvcHkoKSByZXR1cm4gYSBjb250aWd1
b3VzIFNoYXJlZEJ1ZmZlcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MjM0NjIyCisgICAgICAgIHJkYXI6Ly9wcm9ibGVtLzg2ODI5NTI3CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgbWFrZSBTaGFyZWRCdWZm
ZXI6OmNvcHkoKSByZXR1cm4gYSBjb250aWd1b3VzIFNoYXJlZEJ1ZmZlcgorCisgICAgICAgIEFQ
SSB0ZXN0cyBhZGRlZC4KKworICAgICAgICAqIHBsYXRmb3JtL1NoYXJlZEJ1ZmZlci5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpGcmFnbWVudGVkU2hhcmVkQnVmZmVyOjpjb3B5IGNvbnN0KToKKwog
MjAyMS0xMi0yMyAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CiAK
ICAgICAgICAgW0dUS11bYTExeV0gVGVzdCBhY2Nlc3NpYmlsaXR5L3N2Zy1yZW1vdGUtZWxlbWVu
dC5odG1sIGNyYXNoZXMgd2l0aCBBVFNQSQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vU2hhcmVkQnVmZmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1NoYXJlZEJ1
ZmZlci5jcHAKaW5kZXggZDM5NjE1Njg4NGI0Li43YWZhYWZmMmJkMTUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL1NoYXJlZEJ1ZmZlci5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vU2hhcmVkQnVmZmVyLmNwcApAQCAtMjMxLDYgKzIzMSw4IEBAIHZvaWQgRnJh
Z21lbnRlZFNoYXJlZEJ1ZmZlcjo6Y2xlYXIoKQogCiBSZWY8RnJhZ21lbnRlZFNoYXJlZEJ1ZmZl
cj4gRnJhZ21lbnRlZFNoYXJlZEJ1ZmZlcjo6Y29weSgpIGNvbnN0CiB7CisgICAgaWYgKG1fY29u
dGlndW91cykKKyAgICAgICAgcmV0dXJuIG1fc2VnbWVudHMuc2l6ZSgpID8gU2hhcmVkQnVmZmVy
OjpjcmVhdGUobV9zZWdtZW50c1swXS5zZWdtZW50LmNvcHlSZWYoKSkgOiBTaGFyZWRCdWZmZXI6
OmNyZWF0ZSgpOwogICAgIFJlZjxGcmFnbWVudGVkU2hhcmVkQnVmZmVyPiBjbG9uZSA9IGFkb3B0
UmVmKCpuZXcgRnJhZ21lbnRlZFNoYXJlZEJ1ZmZlcik7CiAgICAgY2xvbmUtPm1fc2l6ZSA9IG1f
c2l6ZTsKICAgICBjbG9uZS0+bV9zZWdtZW50cy5yZXNlcnZlSW5pdGlhbENhcGFjaXR5KG1fc2Vn
bWVudHMuc2l6ZSgpKTsKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5n
ZUxvZwppbmRleCA3NGEzYWIwNTNhYmEuLjFjYmUxOGYzZTc2MiAxMDA2NDQKLS0tIGEvVG9vbHMv
Q2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDIxLTEy
LTIyICBKZWFuLVl2ZXMgQXZlbmFyZCAgPGp5YUBhcHBsZS5jb20+CisKKyAgICAgICAgbWFrZSBT
aGFyZWRCdWZmZXI6OmNvcHkoKSByZXR1cm4gYSBjb250aWd1b3VzIFNoYXJlZEJ1ZmZlcgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM0NjIyCisgICAg
ICAgIHJkYXI6Ly9wcm9ibGVtLzg2ODI5NTI3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYkNvcmUvU2hhcmVk
QnVmZmVyLmNwcDoKKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OlRFU1RfRik6CisKIDIwMjEtMTIt
MjMgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgogCiAgICAgICAg
IFtHVEtdW2ExMXldIFdUUjogaGFuZGxlIGhlYWRpbmcgbGV2ZWwgYXMgc3BlY2lhbCBjYXNlIGlu
IGludFZhbHVlIHdpdGggQVRTUEkKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVz
dHMvV2ViQ29yZS9TaGFyZWRCdWZmZXIuY3BwIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9X
ZWJDb3JlL1NoYXJlZEJ1ZmZlci5jcHAKaW5kZXggZjEyYjlmMDgzNjA1Li4wNjY5ZDA3YzY0Zjkg
MTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViQ29yZS9TaGFyZWRCdWZm
ZXIuY3BwCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViQ29yZS9TaGFyZWRCdWZm
ZXIuY3BwCkBAIC0zMDMsNiArMzAzLDE1IEBAIFRFU1RfRihGcmFnbWVudGVkU2hhcmVkQnVmZmVy
VGVzdCwgcmVhZCkKICAgICBjaGVjayhidWlsZGVyLnRha2UoKSk7CiB9CiAKK1RFU1RfRihGcmFn
bWVudGVkU2hhcmVkQnVmZmVyVGVzdCwgY29weUlzQ29udGlndW91cykKK3sKKyAgICBFWFBFQ1Rf
VFJVRShTaGFyZWRCdWZmZXI6OmNyZWF0ZSgpLT5jb3B5KCktPmlzQ29udGlndW91cygpKTsKKyAg
ICBFWFBFQ1RfRkFMU0UoRnJhZ21lbnRlZFNoYXJlZEJ1ZmZlcjo6Y3JlYXRlKCktPmNvcHkoKS0+
aXNDb250aWd1b3VzKCkpOworICAgIGNvbnN0IGNoYXIqIGNvbnN0IHNpbXBsZVRleHQgPSAiVGhp
cyBpcyBhIHNpbXBsZSB0ZXN0LiI7CisgICAgRVhQRUNUX1RSVUUoU2hhcmVkQnVmZmVyOjpjcmVh
dGUoc2ltcGxlVGV4dCwgc3RybGVuKHNpbXBsZVRleHQpKS0+Y29weSgpLT5pc0NvbnRpZ3VvdXMo
KSk7CisgICAgRVhQRUNUX0ZBTFNFKEZyYWdtZW50ZWRTaGFyZWRCdWZmZXI6OmNyZWF0ZShzaW1w
bGVUZXh0LCBzdHJsZW4oc2ltcGxlVGV4dCkpLT5jb3B5KCktPmlzQ29udGlndW91cygpKTsKK30K
KwogI2lmIEVOQUJMRShNSFRNTCkKIC8vIFNoYXJlZEJ1ZmZlckNodW5rUmVhZGVyIHVuaXQtdGVz
dHMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogdGVtcGxhdGU8IHR5cGVu
YW1lIFQsIHNpemVfdCBOID4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>447924</attachid>
            <date>2021-12-23 17:38:14 -0800</date>
            <delta_ts>2022-01-01 16:20:08 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-233441-20211224123812.patch</filename>
            <type>text/plain</type>
            <size>12533</size>
            <attacher name="Jean-Yves Avenard [:jya]">jean-yves.avenard</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg3MzkyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzI1MzM2YTNjN2YxZTNm
NjI1ZjY1ZWE1Nzk2NTYyYzdkYzhkYTJhZi4uMDZkZGExMzZkODI0M2YzZjEyMGIyMGUzMWQ4NmY3
MzcwMTU3ZDM0ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ1IEBACisyMDIxLTEyLTIzICBKZWFu
LVl2ZXMgQXZlbmFyZCAgPGp5YUBhcHBsZS5jb20+CisKKyAgICAgICAgU2NhbGFibGVJbWFnZURl
Y29kZXIgc2hvdWxkIGJlIHVzaW5nIFNoYXJlZEJ1ZmZlciBpbnN0ZWFkIG9mIERhdGFTZWdtZW50
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzM0NDEK
KyAgICAgICAgcmRhcjovL3Byb2JsZW0vODU4NTQyMDQKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBEYXRhU2VnbWVudCBzaG91bGQgYmUgYSBTaGFyZWRC
dWZmZXIncyBpbXBsZW1lbnRhdGlvbiBkZXRhaWxzIGFuZCBub3QKKyAgICAgICAgYmUgdXNlZCBv
dXRzaWRlIFNoYXJlZEJ1ZmZlcidzIGNvZGUuCisgICAgICAgIEhpc3RvcmljYWxseSwgdXNpbmcg
dGhlIGlubmVyIERhdGFTZWdtZW50IHdhcyByZXF1aXJlZCBhcyBpdCB3YXMgdGhyZWFkCisgICAg
ICAgIHNhZmUgd2hpbGUgU2hhcmVkQnVmZmVyIHdhc24ndDogVGhpcyBpcyBubyBsb25nZXIgdGhl
IGNhc2UuCisgICAgICAgIFNoYXJlZEJ1ZmZlciBhbmQgRGF0YVNlZ21lbnQgYXJlIHNlbWFudGlj
YWxseSB2ZXJ5IHNpbWlsYXIsIHNvIHRoaXMgaXMKKyAgICAgICAgbW9zdGx5IGEgZmluZC9yZXBs
YWNlIGNoYW5nZS4KKyAgICAgICAgRmxhdHRlbmluZyB0aGUgRnJhZ21lbnRlZFNoYXJlZEJ1ZmZl
ciBpcyBzdGlsbCByZXF1aXJlZCBhcyBtb3N0IGRlY29kZXJzCisgICAgICAgIHJlcXVpcmUgcmVh
ZGluZyB0aGUgcmF3IGJ5dGVzLgorCisgICAgICAgIE5vIGNoYW5nZSBpbiBvYnNlcnZhYmxlIGJl
aGF2aW91ci4KKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0ltYWdlQmFja2luZ1N0b3Jl
Lmg6CisgICAgICAgIChXZWJDb3JlOjpJbWFnZUJhY2tpbmdTdG9yZTo6c2V0U2l6ZSk6CisgICAg
ICAgIChXZWJDb3JlOjpJbWFnZUJhY2tpbmdTdG9yZTo6SW1hZ2VCYWNraW5nU3RvcmUpOgorICAg
ICAgICAqIHBsYXRmb3JtL2ltYWdlLWRlY29kZXJzL1NjYWxhYmxlSW1hZ2VEZWNvZGVyLmg6Cisg
ICAgICAgICogcGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMvYXZpZi9BVklGSW1hZ2VSZWFkZXIuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6QVZJRkltYWdlUmVhZGVyOjpwYXJzZUhlYWRlcik6CisgICAg
ICAgIChXZWJDb3JlOjpBVklGSW1hZ2VSZWFkZXI6OmRlY29kZUZyYW1lKToKKyAgICAgICAgKiBw
bGF0Zm9ybS9pbWFnZS1kZWNvZGVycy9hdmlmL0FWSUZJbWFnZVJlYWRlci5oOgorICAgICAgICAq
IHBsYXRmb3JtL2ltYWdlLWRlY29kZXJzL2JtcC9CTVBJbWFnZVJlYWRlci5oOgorICAgICAgICAo
V2ViQ29yZTo6Qk1QSW1hZ2VSZWFkZXI6OnJlYWRVaW50MTYpOgorICAgICAgICAoV2ViQ29yZTo6
Qk1QSW1hZ2VSZWFkZXI6OnJlYWRVaW50MzIpOgorICAgICAgICAoV2ViQ29yZTo6Qk1QSW1hZ2VS
ZWFkZXI6OnNldERhdGEpOgorICAgICAgICAqIHBsYXRmb3JtL2ltYWdlLWRlY29kZXJzL2dpZi9H
SUZJbWFnZVJlYWRlci5oOgorICAgICAgICAoR0lGSW1hZ2VSZWFkZXI6OnNldERhdGEpOgorICAg
ICAgICAqIHBsYXRmb3JtL2ltYWdlLWRlY29kZXJzL2pwZWcvSlBFR0ltYWdlRGVjb2Rlci5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpKUEVHSW1hZ2VSZWFkZXI6OmRlY29kZSk6CisgICAgICAgICog
cGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMvanBlZzIwMDAvSlBFRzIwMDBJbWFnZURlY29kZXIuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6SlBFRzIwMDBJbWFnZURlY29kZXI6OmRlY29kZSk6CisgICAg
ICAgICogcGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMvcG5nL1BOR0ltYWdlRGVjb2Rlci5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpQTkdJbWFnZVJlYWRlcjo6ZGVjb2RlKToKKyAgICAgICAgKiBwbGF0
Zm9ybS9pbWFnZS1kZWNvZGVycy93ZWJwL1dFQlBJbWFnZURlY29kZXIuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6V0VCUEltYWdlRGVjb2Rlcjo6ZGVjb2RlKToKKwogMjAyMS0xMi0yMiAgSmVhbi1Z
dmVzIEF2ZW5hcmQgIDxqeWFAYXBwbGUuY29tPgogCiAgICAgICAgIG1ha2UgU2hhcmVkQnVmZmVy
Ojpjb3B5KCkgcmV0dXJuIGEgY29udGlndW91cyBTaGFyZWRCdWZmZXIKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdlQmFja2luZ1N0b3JlLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFnZUJhY2tpbmdTdG9yZS5oCmluZGV4IGRl
MzNmMWFmNDEyZGMwOGIyYjk2MWExOTQ5NDVjOWNjOTBhYTY2MjUuLmE0NzUwNzRhMTA4YTFiNTg3
YjNiNmE4Yjk4ODA1OWRhZGU0N2U1NGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL0ltYWdlQmFja2luZ1N0b3JlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvSW1hZ2VCYWNraW5nU3RvcmUuaApAQCAtMjMzLDYgKzIzMyw3IEBAIHBy
aXZhdGU6CiAgICAgICAgIHJldHVybiBQYWNrZWRDb2xvcjo6QVJHQiB7IHJlc3VsdCB9LnZhbHVl
OwogICAgIH0KIAorICAgIC8vIG1fcGl4ZWxzIHR5cGUgc2hvdWxkIGJlIGlkZW50aWNhbCB0byB0
aGUgb25lIHNldCBpbiBJbWFnZUJhY2tpbmdTdG9yZUNhaXJvLmNwcAogICAgIFJlZlB0cjxGcmFn
bWVudGVkU2hhcmVkQnVmZmVyOjpEYXRhU2VnbWVudD4gbV9waXhlbHM7CiAgICAgdWludDMyX3Qq
IG1fcGl4ZWxzUHRyIHsgbnVsbHB0ciB9OwogICAgIEludFNpemUgbV9zaXplOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMvU2NhbGFibGVJbWFnZURl
Y29kZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2ltYWdlLWRlY29kZXJzL1NjYWxhYmxl
SW1hZ2VEZWNvZGVyLmgKaW5kZXggOWM0MDU1NzgyNDFkMGM1MTI3MDI5NTE1YzIyMTI2NThmOGM0
ZjY4YS4uYjI4OTZhZTMwYTFiOGNjM2RmMTJhMDc0MTJjZjUwMjIxN2ZjNjgzNiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMvU2NhbGFibGVJbWFnZURl
Y29kZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pbWFnZS1kZWNvZGVycy9TY2Fs
YWJsZUltYWdlRGVjb2Rlci5oCkBAIC03Niw5ICs3Niw4IEBAIHB1YmxpYzoKICAgICAgICAgaWYg
KG1fZW5jb2RlZERhdGFTdGF0dXMgPT0gRW5jb2RlZERhdGFTdGF0dXM6OkVycm9yKQogICAgICAg
ICAgICAgcmV0dXJuOwogCi0gICAgICAgIGF1dG8gY29udGlndW91c0RhdGEgPSBkYXRhLm1ha2VD
b250aWd1b3VzKCk7Ci0gICAgICAgIGlmIChjb250aWd1b3VzRGF0YS0+ZGF0YSgpKQotICAgICAg
ICAgICAgbV9kYXRhID0gY29udGlndW91c0RhdGEtPmJlZ2luKCktPnNlZ21lbnQuY29weVJlZigp
OworICAgICAgICBtX2RhdGEgPSBkYXRhLm1ha2VDb250aWd1b3VzKCk7CisKICAgICAgICAgaWYg
KG1fZW5jb2RlZERhdGFTdGF0dXMgPT0gRW5jb2RlZERhdGFTdGF0dXM6OlR5cGVBdmFpbGFibGUp
IHsKICAgICAgICAgICAgIG1fZGVjb2RpbmdTaXplRnJvbVNldERhdGEgPSB0cnVlOwogICAgICAg
ICAgICAgdHJ5RGVjb2RlU2l6ZShhbGxEYXRhUmVjZWl2ZWQpOwpAQCAtMTk0LDcgKzE5Myw3IEBA
IHB1YmxpYzoKICAgICBzdGQ6Om9wdGlvbmFsPEludFBvaW50PiBob3RTcG90KCkgY29uc3Qgb3Zl
cnJpZGUgeyByZXR1cm4gc3RkOjpudWxsb3B0OyB9CiAKIHByb3RlY3RlZDoKLSAgICBSZWZQdHI8
RnJhZ21lbnRlZFNoYXJlZEJ1ZmZlcjo6RGF0YVNlZ21lbnQ+IG1fZGF0YTsKKyAgICBSZWZQdHI8
Y29uc3QgU2hhcmVkQnVmZmVyPiBtX2RhdGE7CiAgICAgVmVjdG9yPFNjYWxhYmxlSW1hZ2VEZWNv
ZGVyRnJhbWUsIDE+IG1fZnJhbWVCdWZmZXJDYWNoZSBXVEZfR1VBUkRFRF9CWV9MT0NLKG1fbG9j
ayk7CiAgICAgbXV0YWJsZSBMb2NrIG1fbG9jazsKICAgICBib29sIG1fcHJlbXVsdGlwbHlBbHBo
YTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2ltYWdlLWRlY29kZXJzL2F2
aWYvQVZJRkltYWdlUmVhZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2ltYWdlLWRl
Y29kZXJzL2F2aWYvQVZJRkltYWdlUmVhZGVyLmNwcAppbmRleCAyNmY4ODY0OTZlNWE1YTE0ZTI4
YWZiMWFmYTliZmMzMDE3N2Y1MWNmLi5kNjhjMGEzNWZjMWY0YWI2MDE3YmQzOWVlNDM5MTAyNjgz
NWZjODJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pbWFnZS1kZWNvZGVy
cy9hdmlmL0FWSUZJbWFnZVJlYWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
aW1hZ2UtZGVjb2RlcnMvYXZpZi9BVklGSW1hZ2VSZWFkZXIuY3BwCkBAIC00MSw3ICs0MSw3IEBA
IEFWSUZJbWFnZVJlYWRlcjo6QVZJRkltYWdlUmVhZGVyKFJlZlB0cjxBVklGSW1hZ2VEZWNvZGVy
PiYmIGRlY29kZXIpCiAKIEFWSUZJbWFnZVJlYWRlcjo6fkFWSUZJbWFnZVJlYWRlcigpID0gZGVm
YXVsdDsKIAotYm9vbCBBVklGSW1hZ2VSZWFkZXI6OnBhcnNlSGVhZGVyKGNvbnN0IEZyYWdtZW50
ZWRTaGFyZWRCdWZmZXI6OkRhdGFTZWdtZW50JiBkYXRhLCBib29sIGFsbERhdGFSZWNlaXZlZCkK
K2Jvb2wgQVZJRkltYWdlUmVhZGVyOjpwYXJzZUhlYWRlcihjb25zdCBTaGFyZWRCdWZmZXImIGRh
dGEsIGJvb2wgYWxsRGF0YVJlY2VpdmVkKQogewogICAgIGlmIChhdmlmRGVjb2RlclNldElPTWVt
b3J5KG1fYXZpZkRlY29kZXIuZ2V0KCksIGRhdGEuZGF0YSgpLCBkYXRhLnNpemUoKSkgIT0gQVZJ
Rl9SRVNVTFRfT0spCiAgICAgICAgIHJldHVybiBhbGxEYXRhUmVjZWl2ZWQgPyBtX2RlY29kZXIt
PnNldEZhaWxlZCgpIDogZmFsc2U7CkBAIC01OCw3ICs1OCw3IEBAIGJvb2wgQVZJRkltYWdlUmVh
ZGVyOjpwYXJzZUhlYWRlcihjb25zdCBGcmFnbWVudGVkU2hhcmVkQnVmZmVyOjpEYXRhU2VnbWVu
dCYgZGF0CiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLXZvaWQgQVZJRkltYWdlUmVhZGVyOjpkZWNv
ZGVGcmFtZShzaXplX3QgZnJhbWVJbmRleCwgU2NhbGFibGVJbWFnZURlY29kZXJGcmFtZSYgYnVm
ZmVyLCBjb25zdCBGcmFnbWVudGVkU2hhcmVkQnVmZmVyOjpEYXRhU2VnbWVudCYgZGF0YSkKK3Zv
aWQgQVZJRkltYWdlUmVhZGVyOjpkZWNvZGVGcmFtZShzaXplX3QgZnJhbWVJbmRleCwgU2NhbGFi
bGVJbWFnZURlY29kZXJGcmFtZSYgYnVmZmVyLCBjb25zdCBTaGFyZWRCdWZmZXImIGRhdGEpCiB7
CiAgICAgaWYgKG1fZGVjb2Rlci0+ZmFpbGVkKCkpCiAgICAgICAgIHJldHVybjsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2ltYWdlLWRlY29kZXJzL2F2aWYvQVZJRkltYWdl
UmVhZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pbWFnZS1kZWNvZGVycy9hdmlmL0FW
SUZJbWFnZVJlYWRlci5oCmluZGV4IDQ5NmY2OWY4MTJiZDc1YjBlZGE2MzU3YmFhODYwY2ZjY2I1
YmE0YjMuLjg1YWNiMTdjYmNmYzU4ODVkNmFjNTUyNWM3YjVjOWVmZmM1OGM2NjQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2ltYWdlLWRlY29kZXJzL2F2aWYvQVZJRkltYWdl
UmVhZGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMvYXZp
Zi9BVklGSW1hZ2VSZWFkZXIuaApAQCAtMzksOCArMzksOCBAQCBwdWJsaWM6CiAgICAgQVZJRklt
YWdlUmVhZGVyKFJlZlB0cjxBVklGSW1hZ2VEZWNvZGVyPiYmKTsKICAgICB+QVZJRkltYWdlUmVh
ZGVyKCk7CiAKLSAgICBib29sIHBhcnNlSGVhZGVyKGNvbnN0IEZyYWdtZW50ZWRTaGFyZWRCdWZm
ZXI6OkRhdGFTZWdtZW50JiwgYm9vbCBhbGxEYXRhUmVjZWl2ZWQpOwotICAgIHZvaWQgZGVjb2Rl
RnJhbWUoc2l6ZV90IGluZGV4LCBTY2FsYWJsZUltYWdlRGVjb2RlckZyYW1lJiwgY29uc3QgRnJh
Z21lbnRlZFNoYXJlZEJ1ZmZlcjo6RGF0YVNlZ21lbnQmKTsKKyAgICBib29sIHBhcnNlSGVhZGVy
KGNvbnN0IFNoYXJlZEJ1ZmZlciYsIGJvb2wgYWxsRGF0YVJlY2VpdmVkKTsKKyAgICB2b2lkIGRl
Y29kZUZyYW1lKHNpemVfdCBpbmRleCwgU2NhbGFibGVJbWFnZURlY29kZXJGcmFtZSYsIGNvbnN0
IFNoYXJlZEJ1ZmZlciYpOwogICAgIHNpemVfdCBpbWFnZUNvdW50KCkgY29uc3Q7CiAgICAgZG91
YmxlIHJlcGV0aXRpb25Db3VudCgpIGNvbnN0OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9pbWFnZS1kZWNvZGVycy9ibXAvQk1QSW1hZ2VSZWFkZXIuaCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2ltYWdlLWRlY29kZXJzL2JtcC9CTVBJbWFnZVJlYWRlci5oCmluZGV4
IGJkNDMwZThhOGJlYTJjODE2YjJjNTIyYmY1YmE3ODg0NmMzOGUwZmYuLmMzMTQxMzQ3OWQ0MzI1
MWIyNzhlZGQ2N2E0NDE5MTZmMDgwMjE5ZDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2ltYWdlLWRlY29kZXJzL2JtcC9CTVBJbWFnZVJlYWRlci5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2ltYWdlLWRlY29kZXJzL2JtcC9CTVBJbWFnZVJlYWRlci5oCkBAIC00
Miw3ICs0Miw3IEBAIGNsYXNzIEJNUEltYWdlUmVhZGVyIHsKIHB1YmxpYzoKICAgICAvLyBSZWFk
IGEgdmFsdWUgZnJvbSB8ZGF0YVtvZmZzZXRdfCwgY29udmVydGluZyBmcm9tIGxpdHRsZSB0byBu
YXRpdmUKICAgICAvLyBlbmRpYW5uZXNzLgotICAgIHN0YXRpYyBpbmxpbmUgdWludDE2X3QgcmVh
ZFVpbnQxNihjb25zdCBGcmFnbWVudGVkU2hhcmVkQnVmZmVyOjpEYXRhU2VnbWVudCYgZGF0YSwg
aW50IG9mZnNldCkKKyAgICBzdGF0aWMgaW5saW5lIHVpbnQxNl90IHJlYWRVaW50MTYoY29uc3Qg
U2hhcmVkQnVmZmVyJiBkYXRhLCBpbnQgb2Zmc2V0KQogICAgIHsKICAgICAgICAgdWludDE2X3Qg
cmVzdWx0OwogICAgICAgICBtZW1jcHkoJnJlc3VsdCwgJmRhdGEuZGF0YSgpW29mZnNldF0sIDIp
OwpAQCAtNTIsNyArNTIsNyBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiByZXN1bHQ7CiAgICAg
fQogCi0gICAgc3RhdGljIGlubGluZSB1aW50MzJfdCByZWFkVWludDMyKGNvbnN0IEZyYWdtZW50
ZWRTaGFyZWRCdWZmZXI6OkRhdGFTZWdtZW50JiBkYXRhLCBpbnQgb2Zmc2V0KQorICAgIHN0YXRp
YyBpbmxpbmUgdWludDMyX3QgcmVhZFVpbnQzMihjb25zdCBTaGFyZWRCdWZmZXImIGRhdGEsIGlu
dCBvZmZzZXQpCiAgICAgewogICAgICAgICB1aW50MzJfdCByZXN1bHQ7CiAgICAgICAgIG1lbWNw
eSgmcmVzdWx0LCAmZGF0YS5kYXRhKClbb2Zmc2V0XSwgNCk7CkBAIC02OSw3ICs2OSw3IEBAIHB1
YmxpYzoKICAgICBCTVBJbWFnZVJlYWRlcihTY2FsYWJsZUltYWdlRGVjb2RlciogcGFyZW50LCBz
aXplX3QgZGVjb2RlZEFuZEhlYWRlck9mZnNldCwgc2l6ZV90IGltZ0RhdGFPZmZzZXQsIGJvb2wg
dXNlc0FuZE1hc2spOwogCiAgICAgdm9pZCBzZXRCdWZmZXIoU2NhbGFibGVJbWFnZURlY29kZXJG
cmFtZSogYnVmZmVyKSB7IG1fYnVmZmVyID0gYnVmZmVyOyB9Ci0gICAgdm9pZCBzZXREYXRhKEZy
YWdtZW50ZWRTaGFyZWRCdWZmZXI6OkRhdGFTZWdtZW50JiBkYXRhKSB7IG1fZGF0YSA9ICZkYXRh
OyB9CisgICAgdm9pZCBzZXREYXRhKGNvbnN0IFNoYXJlZEJ1ZmZlciYgZGF0YSkgeyBtX2RhdGEg
PSAmZGF0YTsgfQogCiAgICAgLy8gRG9lcyB0aGUgYWN0dWFsIGRlY29kaW5nLiBJZiB8b25seVNp
emV8IGlzIHRydWUsIGRlY29kaW5nIG9ubHkKICAgICAvLyBwcm9ncmVzc2VzIGFzIGZhciBhcyBu
ZWNlc3NhcnkgdG8gZ2V0IHRoZSBpbWFnZSBzaXplLiBSZXR1cm5zCkBAIC0yNzIsNyArMjcyLDcg
QEAgcHJpdmF0ZToKICAgICBTY2FsYWJsZUltYWdlRGVjb2RlckZyYW1lKiBtX2J1ZmZlcjsKIAog
ICAgIC8vIFRoZSBmaWxlIHRvIGRlY29kZS4KLSAgICBSZWZQdHI8RnJhZ21lbnRlZFNoYXJlZEJ1
ZmZlcjo6RGF0YVNlZ21lbnQ+IG1fZGF0YTsKKyAgICBSZWZQdHI8Y29uc3QgU2hhcmVkQnVmZmVy
PiBtX2RhdGE7CiAKICAgICAvLyBBbiBpbmRleCBpbnRvIHxtX2RhdGF8IHJlcHJlc2VudGluZyBo
b3cgbXVjaCB3ZSd2ZSBhbHJlYWR5IGRlY29kZWQuCiAgICAgc2l6ZV90IG1fZGVjb2RlZE9mZnNl
dDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2ltYWdlLWRlY29kZXJzL2dp
Zi9HSUZJbWFnZVJlYWRlci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW1hZ2UtZGVjb2Rl
cnMvZ2lmL0dJRkltYWdlUmVhZGVyLmgKaW5kZXggMTA4MmZkZjBkZmYyMzkxZTU2NTMwYTQxZjg3
YmE0Mzk4MjMyNzUzNS4uZDZiZmZjMTJiMWUxZTQ2ZDQzZDA0N2VkZGMyYWQ5NGI1Yzg1NTNmMyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMvZ2lmL0dJ
RkltYWdlUmVhZGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW1hZ2UtZGVjb2Rl
cnMvZ2lmL0dJRkltYWdlUmVhZGVyLmgKQEAgLTIzNyw3ICsyMzcsNyBAQCBwdWJsaWM6CiAgICAg
ewogICAgIH0KIAotICAgIHZvaWQgc2V0RGF0YShXZWJDb3JlOjpGcmFnbWVudGVkU2hhcmVkQnVm
ZmVyOjpEYXRhU2VnbWVudCYgZGF0YSkgeyBtX2RhdGEgPSAmZGF0YTsgfQorICAgIHZvaWQgc2V0
RGF0YShjb25zdCBXZWJDb3JlOjpTaGFyZWRCdWZmZXImIGRhdGEpIHsgbV9kYXRhID0gJmRhdGE7
IH0KICAgICAvLyBGSVhNRTogaGFsdEF0RnJhbWUgc2hvdWxkIGJlIHNpemVfdC4KICAgICBib29s
IGRlY29kZShXZWJDb3JlOjpHSUZJbWFnZURlY29kZXI6OkdJRlF1ZXJ5LCB1bnNpZ25lZCBoYWx0
QXRGcmFtZSk7CiAKQEAgLTMxNiw2ICszMTYsNiBAQCBwcml2YXRlOgogICAgIFZlY3RvcjxzdGQ6
OnVuaXF1ZV9wdHI8R0lGRnJhbWVDb250ZXh0PiA+IG1fZnJhbWVzOwogICAgIHNpemVfdCBtX2N1
cnJlbnREZWNvZGluZ0ZyYW1lOwogCi0gICAgUmVmUHRyPFdlYkNvcmU6OkZyYWdtZW50ZWRTaGFy
ZWRCdWZmZXI6OkRhdGFTZWdtZW50PiBtX2RhdGE7CisgICAgUmVmUHRyPGNvbnN0IFdlYkNvcmU6
OlNoYXJlZEJ1ZmZlcj4gbV9kYXRhOwogICAgIGJvb2wgbV9wYXJzZUNvbXBsZXRlZDsKIH07CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pbWFnZS1kZWNvZGVycy9qcGVnL0pQ
RUdJbWFnZURlY29kZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW1hZ2UtZGVjb2Rl
cnMvanBlZy9KUEVHSW1hZ2VEZWNvZGVyLmNwcAppbmRleCBmNDIzY2NjOWNlMTI3ZWY3YWU3NmM5
MTI4MjRhYmU4NzczZmI3MmQxLi40MzUwMzU4ZjNiZWViOWYyNDU4NjNjZTdlMDBhZTgyNzUwZGU3
NGNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pbWFnZS1kZWNvZGVycy9q
cGVnL0pQRUdJbWFnZURlY29kZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lt
YWdlLWRlY29kZXJzL2pwZWcvSlBFR0ltYWdlRGVjb2Rlci5jcHAKQEAgLTMxNyw3ICszMTcsNyBA
QCBwdWJsaWM6CiAgICAgICAgIG1fYnl0ZXNUb1NraXAgPSBzdGQ6Om1heChudW1CeXRlcyAtIGJ5
dGVzVG9Ta2lwLCBzdGF0aWNfY2FzdDxsb25nPigwKSk7CiAgICAgfQogCi0gICAgYm9vbCBkZWNv
ZGUoY29uc3QgRnJhZ21lbnRlZFNoYXJlZEJ1ZmZlcjo6RGF0YVNlZ21lbnQmIGRhdGEsIGJvb2wg
b25seVNpemUpCisgICAgYm9vbCBkZWNvZGUoY29uc3QgU2hhcmVkQnVmZmVyJiBkYXRhLCBib29s
IG9ubHlTaXplKQogICAgIHsKICAgICAgICAgbV9kZWNvZGluZ1NpemVPbmx5ID0gb25seVNpemU7
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2ltYWdlLWRlY29kZXJzL2pw
ZWcyMDAwL0pQRUcyMDAwSW1hZ2VEZWNvZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2ltYWdlLWRlY29kZXJzL2pwZWcyMDAwL0pQRUcyMDAwSW1hZ2VEZWNvZGVyLmNwcAppbmRleCAy
MDQ3M2YwZWVlYmI1NmM3MTMxNGY2NTU2YmRhMDkwMzM0OTA3NDQyLi45MzNhMDEzZjIxYzQ3ZTlj
Yjc5OWViNzJhYmI3ZTM4Y2ZhYjFhNjhjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9pbWFnZS1kZWNvZGVycy9qcGVnMjAwMC9KUEVHMjAwMEltYWdlRGVjb2Rlci5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMvanBlZzIwMDAvSlBFRzIw
MDBJbWFnZURlY29kZXIuY3BwCkBAIC0zODAsNyArMzgwLDcgQEAgdm9pZCBKUEVHMjAwMEltYWdl
RGVjb2Rlcjo6ZGVjb2RlKGJvb2wgb25seVNpemUsIGJvb2wgYWxsRGF0YVJlY2VpdmVkKQogICAg
IH0KIAogICAgIHN0cnVjdCBSZWFkZXIgewotICAgICAgICBGcmFnbWVudGVkU2hhcmVkQnVmZmVy
OjpEYXRhU2VnbWVudCYgZGF0YTsKKyAgICAgICAgY29uc3QgU2hhcmVkQnVmZmVyJiBkYXRhOwog
ICAgICAgICBzaXplX3Qgb2Zmc2V0OwogICAgIH0gcmVhZGVyID0geyAqbV9kYXRhLCAwIH07CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2ltYWdlLWRlY29kZXJzL3BuZy9Q
TkdJbWFnZURlY29kZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW1hZ2UtZGVjb2Rl
cnMvcG5nL1BOR0ltYWdlRGVjb2Rlci5jcHAKaW5kZXggMjcwOWI3YzY4YmY1MzBkMTk1ZDc2NjZh
M2Q2YWNlNTAwMTNiYmUzNC4uNDA0OTYzYTQ3OWMwNWZjMGM2ZDVjMzBlYjdiZWM3ODE1NjlhYjlk
OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMvcG5n
L1BOR0ltYWdlRGVjb2Rlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW1hZ2Ut
ZGVjb2RlcnMvcG5nL1BOR0ltYWdlRGVjb2Rlci5jcHAKQEAgLTE0OCw3ICsxNDgsNyBAQCBwdWJs
aWM6CiAgICAgICAgIG1fcmVhZE9mZnNldCA9IDA7CiAgICAgfQogCi0gICAgYm9vbCBkZWNvZGUo
Y29uc3QgRnJhZ21lbnRlZFNoYXJlZEJ1ZmZlcjo6RGF0YVNlZ21lbnQmIGRhdGEsIGJvb2wgc2l6
ZU9ubHksIHVuc2lnbmVkIGhhbHRBdEZyYW1lKQorICAgIGJvb2wgZGVjb2RlKGNvbnN0IFNoYXJl
ZEJ1ZmZlciYgZGF0YSwgYm9vbCBzaXplT25seSwgdW5zaWduZWQgaGFsdEF0RnJhbWUpCiAgICAg
ewogICAgICAgICBtX2RlY29kaW5nU2l6ZU9ubHkgPSBzaXplT25seTsKICAgICAgICAgUE5HSW1h
Z2VEZWNvZGVyKiBkZWNvZGVyID0gc3RhdGljX2Nhc3Q8UE5HSW1hZ2VEZWNvZGVyKj4ocG5nX2dl
dF9wcm9ncmVzc2l2ZV9wdHIobV9wbmcpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2ltYWdlLWRlY29kZXJzL3dlYnAvV0VCUEltYWdlRGVjb2Rlci5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9pbWFnZS1kZWNvZGVycy93ZWJwL1dFQlBJbWFnZURlY29kZXIuY3Bw
CmluZGV4IGIxYmVjNTVlNzhjNDM0ODAxYzI1NGFjZTBkZjU5OTMxYTM2Yjc0YmQuLjc3MmU4MzI2
NmUyMzBlYjZkZmY3ZGMxZWY3ZGI1NTIzOTYzYmZiMGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2ltYWdlLWRlY29kZXJzL3dlYnAvV0VCUEltYWdlRGVjb2Rlci5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMvd2VicC9XRUJQSW1hZ2VE
ZWNvZGVyLmNwcApAQCAtMTMyLDcgKzEzMiw3IEBAIHZvaWQgV0VCUEltYWdlRGVjb2Rlcjo6ZGVj
b2RlKHNpemVfdCBmcmFtZUluZGV4LCBib29sIGFsbERhdGFSZWNlaXZlZCkKICAgICAvLyBUaGlz
IGNhbiBiZSBleGVjdXRlZCBib3RoIGluIHRoZSBtYWluIHRocmVhZCAod2hlbiBub3QgdXNpbmcg
YXN5bmMgZGVjb2RpbmcpIG9yIGluIHRoZSBkZWNvZGluZyB0aHJlYWQuCiAgICAgLy8gV2hlbiBl
eGVjdXRlZCBpbiB0aGUgZGVjb2RpbmcgdGhyZWFkLCBhIGNhbGwgdG8gc2V0RGF0YSgpIGZyb20g
dGhlIG1haW4gdGhyZWFkIG1heSBjaGFuZ2UgdGhlIGRhdGEKICAgICAvLyB0aGUgV2ViUERlbXV4
ZXIgaXMgdXNpbmcsIGxlYXZpbmcgaXQgaW4gYW4gaW5jb25zaXN0ZW50IHN0YXRlLCBzbyB3ZSBu
ZWVkIHRvIHByb3RlY3QgdGhlIGRhdGEuCi0gICAgUmVmUHRyPEZyYWdtZW50ZWRTaGFyZWRCdWZm
ZXI6OkRhdGFTZWdtZW50PiBwcm90ZWN0ZWREYXRhKG1fZGF0YSk7CisgICAgUmVmUHRyPGNvbnN0
IFNoYXJlZEJ1ZmZlcj4gcHJvdGVjdGVkRGF0YShtX2RhdGEpOwogICAgIFdlYlBEYXRhIGlucHV0
RGF0YSA9IHsgcHJvdGVjdGVkRGF0YS0+ZGF0YSgpLCBwcm90ZWN0ZWREYXRhLT5zaXplKCkgfTsK
ICAgICBXZWJQRGVtdXhTdGF0ZSBkZW11eGVyU3RhdGU7CiAgICAgV2ViUERlbXV4ZXIqIGRlbXV4
ZXIgPSBXZWJQRGVtdXhQYXJ0aWFsKCZpbnB1dERhdGEsICZkZW11eGVyU3RhdGUpOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>