<?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>215567</bug_id>
          
          <creation_ts>2020-08-17 07:15:07 -0700</creation_ts>
          <short_desc>calling transceiver setCodecPreferences doesn&apos;t change the order of codecs in the offer/answer generated by the browser</short_desc>
          <delta_ts>2020-09-03 10:32:35 -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>WebRTC</component>
          <version>Safari Technology Preview</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>macOS 10.15</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://github.com/web-platform-tests/wpt/pull/25360</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Jaya">jaya.allamsetty</reporter>
          <assigned_to name="youenn fablet">youennf</assigned_to>
          <cc>cdumez</cc>
    
    <cc>clopez</cc>
    
    <cc>darin</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>hta</cc>
    
    <cc>jer.noble</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>philipj</cc>
    
    <cc>sergio</cc>
    
    <cc>tommyw</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1680808</commentid>
    <comment_count>0</comment_count>
    <who name="Jaya">jaya.allamsetty</who>
    <bug_when>2020-08-17 07:15:07 -0700</bug_when>
    <thetext>On STP 111, I am trying to change the default order of codecs in the offer/answer SDP by calling setCodecPreferences on the video transceiver.
It doesn&apos;t seem to have any effect on the order of the codecs in the subsequent offer/answer generated by the browser.
setCodecPreferences is working on Chrome 85 in Unified plan.

Steps to reproduce:
Modify https://webrtc.github.io/samples/src/content/peerconnection/pc1/ to include the following line before calling offer on pc1.

//localStream.getTracks().forEach(track =&gt; pc1.addT(track, localStream));
const audio = pc1.addTransceiver(&apos;audio&apos;, localStream.getAudioTracks()[0]);
const video = pc1.addTransceiver(&apos;video&apos;, localStream.getVideoTracks()[0]);
const capabilities = RTCRtpSender.getCapabilities(&apos;video&apos;).codecs;
  
capabilities.forEach((codec, idx) =&gt; {
  if (codec.mimeType === &apos;video/VP8&apos;) {
    capabilities.splice(idx, 1);
    capabilities.unshift(codec);
  }
});
video.setCodecPreferences(capabilities);</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1680955</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-08-17 16:03:24 -0700</bug_when>
    <thetext>&lt;rdar://problem/67277554&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1684767</commentid>
    <comment_count>2</comment_count>
      <attachid>407754</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-09-02 04:00:17 -0700</bug_when>
    <thetext>Created attachment 407754
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1684773</commentid>
    <comment_count>3</comment_count>
      <attachid>407758</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-09-02 05:30:59 -0700</bug_when>
    <thetext>Created attachment 407758
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1684774</commentid>
    <comment_count>4</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2020-09-02 05:31:43 -0700</bug_when>
    <thetext>This patch modifies the imported WPT tests. Please ensure that any changes on the tests (not coming from a WPT import) are exported to WPT. Please see https://trac.webkit.org/wiki/WPTExportProcess</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1684775</commentid>
    <comment_count>5</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-09-02 05:31:55 -0700</bug_when>
    <thetext>Submitted web-platform-tests pull request: https://github.com/web-platform-tests/wpt/pull/25360</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1685215</commentid>
    <comment_count>6</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-09-03 01:38:55 -0700</bug_when>
    <thetext>Committed r266508: &lt;https://trac.webkit.org/changeset/266508&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 407758.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1685326</commentid>
    <comment_count>7</comment_count>
      <attachid>407758</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-09-03 10:28:53 -0700</bug_when>
    <thetext>Comment on attachment 407758
Patch

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

&gt; Source/WebCore/platform/mediastream/libwebrtc/LibWebRTCProvider.cpp:413
&gt; +            if (hasParameter)
&gt; +                sdpFmtpLine.append(&quot;;&quot;);
&gt; +            else
&gt; +                hasParameter = true;
&gt; +            sdpFmtpLine.append(StringView(parameter.first.data(), parameter.first.length()));
&gt; +            sdpFmtpLine.append(&quot;=&quot;);
&gt; +            sdpFmtpLine.append(StringView(parameter.second.data(), parameter.second.length()));

Here’s a more efficient way to do this:

    const char* separator = hasParameter ? &quot;;&quot; : &quot;&quot;;
    hasParameter = true;
    sdpFmtpLine.append(separator, StringView(parameter.first.data(), parameter.first.length()), &apos;=&apos;, StringView(parameter.second.data(), parameter.second.length()));

A single call to append is more efficient than four separate calls to append.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1685329</commentid>
    <comment_count>8</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-09-03 10:32:35 -0700</bug_when>
    <thetext>Or if you prefer, like this:

    sdpFmtpLine.append(hasParameter ? &quot;;&quot; : &quot;&quot;, StringView(parameter.first.data(), parameter.first.length()), &apos;=&apos;, StringView(parameter.second.data(), parameter.second.length()));
    hasParameter = true;

Or even this:

    sdpFmtpLine.append(std::exchange(hasParameter, true) ? &quot;;&quot; : &quot;&quot;, StringView(parameter.first.data(), parameter.first.length()), &apos;=&apos;, StringView(parameter.second.data(), parameter.second.length()));</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>407754</attachid>
            <date>2020-09-02 04:00:17 -0700</date>
            <delta_ts>2020-09-02 05:30:55 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-215567-20200902130015.patch</filename>
            <type>text/plain</type>
            <size>6908</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY2MzkxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjczODczNmE0M2IyMDU4
NDUxMGZkNTkxMTA1MDU4MjkyOWUyYTQzNC4uYjlkNTRlNzkwMjFmZmRkMTVhN2RlN2MzMDNkNGM5
YjZjMWIyYjUwOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDIwLTA5LTAyICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBjYWxsaW5nIHRyYW5zY2Vp
dmVyIHNldENvZGVjUHJlZmVyZW5jZXMgZG9lc24ndCBjaGFuZ2UgdGhlIG9yZGVyIG9mIGNvZGVj
cyBpbiB0aGUgb2ZmZXIvYW5zd2VyIGdlbmVyYXRlZCBieSB0aGUgYnJvd3NlcgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE1NTY3CisgICAgICAgIDxy
ZGFyOi8vcHJvYmxlbS82NzI3NzU1ND4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBNYWtlIHN1cmUgdG8gc2VyaWFsaXplIHNkcEZtdHAgaW5mb3JtYXRp
b24gc28gdGhhdCBzZXRDb2RlY1ByZWZlcmVuY2VzIHN1Y2NlZWRzLgorICAgICAgICBBbHNvIG1h
a2Ugc3VyZSB0byB0aHJvdyB0aGUgZXhjZXB0aW9uIGlmIHRoZXJlIGlzIGFueS4KKworICAgICAg
ICBUZXN0OiB3ZWJydGMvdmlkZW8tc2V0Q29kZWNQcmVmZXJlbmNlcy5odG1sCisKKyAgICAgICAg
KiBNb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFRyYW5zY2VpdmVyLmlkbDoKKyAgICAgICAgKiBw
bGF0Zm9ybS9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDUHJvdmlkZXIuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6dG9SVENSdHBDYXBhYmlsaXRpZXMpOgorCiAyMDIwLTA5LTAyICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBJbnRyb2R1Y2UgYSBDKysg
Y2hhaW4gb2Ygb3BlcmF0aW9ucyBpbiBSVENQZWVyQ29ubmVjdGlvbgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBUcmFuc2NlaXZlci5pZGwgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFRyYW5zY2VpdmVyLmlkbApp
bmRleCA4MTk3NmYyNGU2YTdkYzU4ZDI5ZDlmYmJkY2FmMGUyZWE1ZTQyOTE2Li40OTg3ODU0NTg1
NzE0MmVlNzVjNDZkMWU4MGQ4Njk5ZTQ1MWUxZWY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFRyYW5zY2VpdmVyLmlkbAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFRyYW5zY2VpdmVyLmlkbApAQCAtNDIs
NSArNDIsNSBAQCB0eXBlZGVmIFJUQ1J0cFRyYW5zY2VpdmVyRGlyZWN0aW9uIFJ0cFRyYW5zY2Vp
dmVyRGlyZWN0aW9uOwogICAgIGF0dHJpYnV0ZSBSdHBUcmFuc2NlaXZlckRpcmVjdGlvbiBkaXJl
Y3Rpb247CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIFJUQ1J0cFRyYW5zY2VpdmVyRGlyZWN0aW9u
PyBjdXJyZW50RGlyZWN0aW9uOwogICAgIHVuZGVmaW5lZCBzdG9wKCk7Ci0gICAgdW5kZWZpbmVk
IHNldENvZGVjUHJlZmVyZW5jZXMoc2VxdWVuY2U8UlRDUnRwQ29kZWNDYXBhYmlsaXR5PiBjb2Rl
Y3MpOworICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVkIHNldENvZGVjUHJlZmVyZW5j
ZXMoc2VxdWVuY2U8UlRDUnRwQ29kZWNDYXBhYmlsaXR5PiBjb2RlY3MpOwogfTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJS
VENQcm92aWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9saWJ3
ZWJydGMvTGliV2ViUlRDUHJvdmlkZXIuY3BwCmluZGV4IGYxZDRhM2FhMDUwOTFmOGY4MjcwZjli
YjY5YzM0OGZiZTEzMzc5NWUuLjg5ZDRjZDM3ODljMTk3OWMyYzY1NzFhZDRjMDk5NmQ5YmVjNTBh
OGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL2xpYndl
YnJ0Yy9MaWJXZWJSVENQcm92aWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ1Byb3ZpZGVyLmNwcApAQCAtNDAwLDggKzQw
MCwyMCBAQCBzdGF0aWMgaW5saW5lIFJUQ1J0cENhcGFiaWxpdGllcyB0b1JUQ1J0cENhcGFiaWxp
dGllcyhjb25zdCB3ZWJydGM6OlJ0cENhcGFiaWxpdAogICAgIFJUQ1J0cENhcGFiaWxpdGllcyBj
YXBhYmlsaXRpZXM7CiAKICAgICBjYXBhYmlsaXRpZXMuY29kZWNzLnJlc2VydmVJbml0aWFsQ2Fw
YWNpdHkocnRwQ2FwYWJpbGl0aWVzLmNvZGVjcy5zaXplKCkpOwotICAgIGZvciAoYXV0byYgY29k
ZWMgOiBydHBDYXBhYmlsaXRpZXMuY29kZWNzKQotICAgICAgICBjYXBhYmlsaXRpZXMuY29kZWNz
LnVuY2hlY2tlZEFwcGVuZChSVENSdHBDb2RlY0NhcGFiaWxpdHkgeyBmcm9tU3RkU3RyaW5nKGNv
ZGVjLm1pbWVfdHlwZSgpKSwgc3RhdGljX2Nhc3Q8dWludDMyX3Q+KGNvZGVjLmNsb2NrX3JhdGUg
PyAqY29kZWMuY2xvY2tfcmF0ZSA6IDApLCB0b0NoYW5uZWxzKGNvZGVjLm51bV9jaGFubmVscyks
IHsgfSB9KTsKKyAgICBmb3IgKGF1dG8mIGNvZGVjIDogcnRwQ2FwYWJpbGl0aWVzLmNvZGVjcykg
eworICAgICAgICBTdHJpbmdCdWlsZGVyIHNkcEZtdHBMaW5lOworICAgICAgICBib29sIGhhc1Bh
cmFtZXRlciA9IGZhbHNlOworICAgICAgICBmb3IgKGF1dG8mIHBhcmFtZXRlciA6IGNvZGVjLnBh
cmFtZXRlcnMpIHsKKyAgICAgICAgICAgIGlmIChoYXNQYXJhbWV0ZXIpCisgICAgICAgICAgICAg
ICAgc2RwRm10cExpbmUuYXBwZW5kKCI7Iik7CisgICAgICAgICAgICBlbHNlCisgICAgICAgICAg
ICAgICAgaGFzUGFyYW1ldGVyID0gdHJ1ZTsKKyAgICAgICAgICAgIHNkcEZtdHBMaW5lLmFwcGVu
ZChTdHJpbmdWaWV3KHBhcmFtZXRlci5maXJzdC5kYXRhKCksIHBhcmFtZXRlci5maXJzdC5sZW5n
dGgoKSkpOworICAgICAgICAgICAgc2RwRm10cExpbmUuYXBwZW5kKCI9Iik7CisgICAgICAgICAg
ICBzZHBGbXRwTGluZS5hcHBlbmQoU3RyaW5nVmlldyhwYXJhbWV0ZXIuc2Vjb25kLmRhdGEoKSwg
cGFyYW1ldGVyLnNlY29uZC5sZW5ndGgoKSkpOworICAgICAgICB9CisgICAgICAgIGNhcGFiaWxp
dGllcy5jb2RlY3MudW5jaGVja2VkQXBwZW5kKFJUQ1J0cENvZGVjQ2FwYWJpbGl0eSB7IGZyb21T
dGRTdHJpbmcoY29kZWMubWltZV90eXBlKCkpLCBzdGF0aWNfY2FzdDx1aW50MzJfdD4oY29kZWMu
Y2xvY2tfcmF0ZSA/ICpjb2RlYy5jbG9ja19yYXRlIDogMCksIHRvQ2hhbm5lbHMoY29kZWMubnVt
X2NoYW5uZWxzKSwgc2RwRm10cExpbmUudG9TdHJpbmcoKSB9KTsKKyAgICB9CiAKICAgICBjYXBh
YmlsaXRpZXMuaGVhZGVyRXh0ZW5zaW9ucy5yZXNlcnZlSW5pdGlhbENhcGFjaXR5KHJ0cENhcGFi
aWxpdGllcy5oZWFkZXJfZXh0ZW5zaW9ucy5zaXplKCkpOwogICAgIGZvciAoYXV0byYgaGVhZGVy
IDogcnRwQ2FwYWJpbGl0aWVzLmhlYWRlcl9leHRlbnNpb25zKQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDA1NDRjYmVhMGVm
ZjgwMzAyMDk1OGRjNDczNmEzZTU2NmRiNzFiY2UuLjc3Zjc3MjNlZGQ5OTNhZmIyZGY4YTU0NWRi
NDc4OGY5NzQ5MzAxYTIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAyMC0wOS0wMiAgWW91ZW5u
IEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAgICAgY2FsbGluZyB0cmFuc2NlaXZl
ciBzZXRDb2RlY1ByZWZlcmVuY2VzIGRvZXNuJ3QgY2hhbmdlIHRoZSBvcmRlciBvZiBjb2RlY3Mg
aW4gdGhlIG9mZmVyL2Fuc3dlciBnZW5lcmF0ZWQgYnkgdGhlIGJyb3dzZXIKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxNTU2NworICAgICAgICA8cmRh
cjovL3Byb2JsZW0vNjcyNzc1NTQ+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgKiB3ZWJydGMvdmlkZW8tc2V0Q29kZWNQcmVmZXJlbmNlcy1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYnJ0Yy92aWRlby1zZXRDb2RlY1ByZWZlcmVuY2Vz
Lmh0bWw6IEFkZGVkLgorCiAyMDIwLTA5LTAyICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxl
LmNvbT4KIAogICAgICAgICBJbnRyb2R1Y2UgYSBDKysgY2hhaW4gb2Ygb3BlcmF0aW9ucyBpbiBS
VENQZWVyQ29ubmVjdGlvbgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2VicnRjL3ZpZGVvLXNl
dENvZGVjUHJlZmVyZW5jZXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvd2VicnRjL3ZpZGVv
LXNldENvZGVjUHJlZmVyZW5jZXMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQ1MGM1OTcxMTE0
MGFmZjZlYjcyOTU3ZmM0MmYwMTE1ODQ1OWZmZjgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy93ZWJydGMvdmlkZW8tc2V0Q29kZWNQcmVmZXJlbmNlcy1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSw0IEBACisKK1BBU1MgSDI2NCBhcyBmaXJzdCBjb2RlYyAKK1BBU1MgVlA4IGFzIGZpcnN0
IGNvZGVjIAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJydGMvdmlkZW8tc2V0Q29kZWNQ
cmVmZXJlbmNlcy5odG1sIGIvTGF5b3V0VGVzdHMvd2VicnRjL3ZpZGVvLXNldENvZGVjUHJlZmVy
ZW5jZXMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wZTBkZTNmZGZmZjQxYjgwMDZlODA4YjEzZTYyYmVmN2E2
MGJiNGJjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2VicnRjL3ZpZGVvLXNldENv
ZGVjUHJlZmVyZW5jZXMuaHRtbApAQCAtMCwwICsxLDU3IEBACis8IWRvY3R5cGUgaHRtbD4KKzxo
dG1sPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+CisgICAgICAg
IDx0aXRsZT5zZXRDb2RlY1ByZWZlcmVuY2VzPC90aXRsZT4KKyAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorICAgIDwv
aGVhZD4KKyAgICA8Ym9keT4KKyAgICAgICAgPHNjcmlwdD4KK2xldCBsb2NhbFN0cmVhbQorCitm
dW5jdGlvbiBzZXRDYXBhYmlsaXRpZXMoZmlyc3RDb2RlYykKK3sKKyAgICBjb25zdCBjYXBhYmls
aXRpZXMgPSBSVENSdHBTZW5kZXIuZ2V0Q2FwYWJpbGl0aWVzKCd2aWRlbycpLmNvZGVjczsKKyAg
ICBjYXBhYmlsaXRpZXMuZm9yRWFjaCgoY29kZWMsIGlkeCkgPT4geworICAgICAgICBpZiAoY29k
ZWMubWltZVR5cGUgPT09IGZpcnN0Q29kZWMpIHsKKyAgICAgICAgICAgIGNhcGFiaWxpdGllcy5z
cGxpY2UoaWR4LCAxKTsKKyAgICAgICAgICAgIGNhcGFiaWxpdGllcy51bnNoaWZ0KGNvZGVjKTsK
KyAgICAgICAgfQorICAgIH0pOworICAgIHJldHVybiBjYXBhYmlsaXRpZXM7Cit9CisKK2Z1bmN0
aW9uIGdldE9mZmVyV2l0aENhcGFiaWxpdGllcyhjYXBhYmlsaXRpZXMpCit7CisgICAgY29uc3Qg
cGMgPSBuZXcgUlRDUGVlckNvbm5lY3Rpb24oKTsKKworICAgIHBjLmFkZFRyYWNrKGxvY2FsU3Ry
ZWFtLmdldFZpZGVvVHJhY2tzKClbMF0sIGxvY2FsU3RyZWFtKTsKKyAgICBwYy5nZXRUcmFuc2Nl
aXZlcnMoKVswXS5zZXRDb2RlY1ByZWZlcmVuY2VzKGNhcGFiaWxpdGllcyk7CisKKyAgICByZXR1
cm4gcGMuY3JlYXRlT2ZmZXIoKTsKK30KKworcHJvbWlzZV90ZXN0KGFzeW5jICh0ZXN0KSA9PiB7
CisgICAgbG9jYWxTdHJlYW0gPSBhd2FpdCBuYXZpZ2F0b3IubWVkaWFEZXZpY2VzLmdldFVzZXJN
ZWRpYSh7IHZpZGVvOiB0cnVlIH0pOworCisgICAgY29uc3Qgb2ZmZXIgPSBhd2FpdCBnZXRPZmZl
cldpdGhDYXBhYmlsaXRpZXMoc2V0Q2FwYWJpbGl0aWVzKCd2aWRlby9IMjY0JykpOworCisgICAg
bGV0IGxpbmVzID0gb2ZmZXIuc2RwLnNwbGl0KCdcclxuJyk7CisgICAgbGluZXMgPSBsaW5lcy5m
aWx0ZXIobGluZSA9PiBsaW5lLmluZGV4T2YoImE9cnRwbWFwIikgPT09IDApOworICAgIGFzc2Vy
dF90cnVlKCEhbGluZXMubGVuZ3RoLCAibGluZXMgbGVuZ3RoIik7CisgICAgYXNzZXJ0X3RydWUo
bGluZXNbMF0uaW5kZXhPZigiSDI2NCIpICE9PSAtMSwgIlZQOCBzaG91bGQgYmUgdGhlIGZpcnN0
IGNvZGVjIik7Cit9LCAiSDI2NCBhcyBmaXJzdCBjb2RlYyIpOworCitwcm9taXNlX3Rlc3QoYXN5
bmMgKHRlc3QpID0+IHsKKyAgICBjb25zdCBvZmZlciA9IGF3YWl0IGdldE9mZmVyV2l0aENhcGFi
aWxpdGllcyhzZXRDYXBhYmlsaXRpZXMoJ3ZpZGVvL1ZQOCcpKTsKKworICAgIGxldCBsaW5lcyA9
IG9mZmVyLnNkcC5zcGxpdCgnXHJcbicpOworICAgIGxpbmVzID0gbGluZXMuZmlsdGVyKGxpbmUg
PT4gbGluZS5pbmRleE9mKCJhPXJ0cG1hcCIpID09PSAwKTsKKyAgICBhc3NlcnRfdHJ1ZSghIWxp
bmVzLmxlbmd0aCwgImxpbmVzIGxlbmd0aCIpOworICAgIGFzc2VydF90cnVlKGxpbmVzWzBdLmlu
ZGV4T2YoIlZQOCIpICE9PSAtMSwgIlZQOCBzaG91bGQgYmUgdGhlIGZpcnN0IGNvZGVjIik7Cit9
LCAiVlA4IGFzIGZpcnN0IGNvZGVjIik7CisKKyAgICAgICAgPC9zY3JpcHQ+CisgICAgPC9ib2R5
PgorPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>407758</attachid>
            <date>2020-09-02 05:30:59 -0700</date>
            <delta_ts>2020-09-03 01:38:55 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-215567-20200902143057.patch</filename>
            <type>text/plain</type>
            <size>10916</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY2MzkxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjczODczNmE0M2IyMDU4
NDUxMGZkNTkxMTA1MDU4MjkyOWUyYTQzNC4uODBlYTE5MWUwMTA1NWNhM2YxNjkzZDdiMTU2MmVh
YTA2ZDAyZjBjNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDIwLTA5LTAyICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBjYWxsaW5nIHRyYW5zY2Vp
dmVyIHNldENvZGVjUHJlZmVyZW5jZXMgZG9lc24ndCBjaGFuZ2UgdGhlIG9yZGVyIG9mIGNvZGVj
cyBpbiB0aGUgb2ZmZXIvYW5zd2VyIGdlbmVyYXRlZCBieSB0aGUgYnJvd3NlcgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE1NTY3CisgICAgICAgIDxy
ZGFyOi8vcHJvYmxlbS82NzI3NzU1ND4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBNYWtlIHN1cmUgdG8gc2VyaWFsaXplIHNkcEZtdHAgaW5mb3JtYXRp
b24gc28gdGhhdCBzZXRDb2RlY1ByZWZlcmVuY2VzIHN1Y2NlZWRzLgorICAgICAgICBBbHNvIG1h
a2Ugc3VyZSB0byB0aHJvdyB0aGUgZXhjZXB0aW9uIGlmIHRoZXJlIGlzIGFueS4KKworICAgICAg
ICBDb3ZlcmVkIGJ5IHVwZGF0ZWQgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJy
dGMvUlRDUnRwVHJhbnNjZWl2ZXItc2V0Q29kZWNQcmVmZXJlbmNlcy5odG1sLgorCisgICAgICAg
ICogTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBUcmFuc2NlaXZlci5pZGw6CisgICAgICAgICog
cGxhdGZvcm0vbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ1Byb3ZpZGVyLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OnRvUlRDUnRwQ2FwYWJpbGl0aWVzKToKKwogMjAyMC0wOS0wMiAgWW91
ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgSW50cm9kdWNlIGEgQysr
IGNoYWluIG9mIG9wZXJhdGlvbnMgaW4gUlRDUGVlckNvbm5lY3Rpb24KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwVHJhbnNjZWl2ZXIuaWRsIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBUcmFuc2NlaXZlci5pZGwK
aW5kZXggODE5NzZmMjRlNmE3ZGM1OGQyOWQ5ZmJiZGNhZjBlMmVhNWU0MjkxNi4uNDk4Nzg1NDU4
NTcxNDJlZTc1YzQ2ZDFlODBkODY5OWU0NTFlMWVmNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBUcmFuc2NlaXZlci5pZGwKKysrIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBUcmFuc2NlaXZlci5pZGwKQEAgLTQy
LDUgKzQyLDUgQEAgdHlwZWRlZiBSVENSdHBUcmFuc2NlaXZlckRpcmVjdGlvbiBSdHBUcmFuc2Nl
aXZlckRpcmVjdGlvbjsKICAgICBhdHRyaWJ1dGUgUnRwVHJhbnNjZWl2ZXJEaXJlY3Rpb24gZGly
ZWN0aW9uOwogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBSVENSdHBUcmFuc2NlaXZlckRpcmVjdGlv
bj8gY3VycmVudERpcmVjdGlvbjsKICAgICB1bmRlZmluZWQgc3RvcCgpOwotICAgIHVuZGVmaW5l
ZCBzZXRDb2RlY1ByZWZlcmVuY2VzKHNlcXVlbmNlPFJUQ1J0cENvZGVjQ2FwYWJpbGl0eT4gY29k
ZWNzKTsKKyAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBzZXRDb2RlY1ByZWZlcmVu
Y2VzKHNlcXVlbmNlPFJUQ1J0cENvZGVjQ2FwYWJpbGl0eT4gY29kZWNzKTsKIH07CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2Vi
UlRDUHJvdmlkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbGli
d2VicnRjL0xpYldlYlJUQ1Byb3ZpZGVyLmNwcAppbmRleCBmMWQ0YTNhYTA1MDkxZjhmODI3MGY5
YmI2OWMzNDhmYmUxMzM3OTVlLi44OWQ0Y2QzNzg5YzE5NzljMmM2NTcxYWQ0YzA5OTZkOWJlYzUw
YThkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9saWJ3
ZWJydGMvTGliV2ViUlRDUHJvdmlkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENQcm92aWRlci5jcHAKQEAgLTQwMCw4ICs0
MDAsMjAgQEAgc3RhdGljIGlubGluZSBSVENSdHBDYXBhYmlsaXRpZXMgdG9SVENSdHBDYXBhYmls
aXRpZXMoY29uc3Qgd2VicnRjOjpSdHBDYXBhYmlsaXQKICAgICBSVENSdHBDYXBhYmlsaXRpZXMg
Y2FwYWJpbGl0aWVzOwogCiAgICAgY2FwYWJpbGl0aWVzLmNvZGVjcy5yZXNlcnZlSW5pdGlhbENh
cGFjaXR5KHJ0cENhcGFiaWxpdGllcy5jb2RlY3Muc2l6ZSgpKTsKLSAgICBmb3IgKGF1dG8mIGNv
ZGVjIDogcnRwQ2FwYWJpbGl0aWVzLmNvZGVjcykKLSAgICAgICAgY2FwYWJpbGl0aWVzLmNvZGVj
cy51bmNoZWNrZWRBcHBlbmQoUlRDUnRwQ29kZWNDYXBhYmlsaXR5IHsgZnJvbVN0ZFN0cmluZyhj
b2RlYy5taW1lX3R5cGUoKSksIHN0YXRpY19jYXN0PHVpbnQzMl90Pihjb2RlYy5jbG9ja19yYXRl
ID8gKmNvZGVjLmNsb2NrX3JhdGUgOiAwKSwgdG9DaGFubmVscyhjb2RlYy5udW1fY2hhbm5lbHMp
LCB7IH0gfSk7CisgICAgZm9yIChhdXRvJiBjb2RlYyA6IHJ0cENhcGFiaWxpdGllcy5jb2RlY3Mp
IHsKKyAgICAgICAgU3RyaW5nQnVpbGRlciBzZHBGbXRwTGluZTsKKyAgICAgICAgYm9vbCBoYXNQ
YXJhbWV0ZXIgPSBmYWxzZTsKKyAgICAgICAgZm9yIChhdXRvJiBwYXJhbWV0ZXIgOiBjb2RlYy5w
YXJhbWV0ZXJzKSB7CisgICAgICAgICAgICBpZiAoaGFzUGFyYW1ldGVyKQorICAgICAgICAgICAg
ICAgIHNkcEZtdHBMaW5lLmFwcGVuZCgiOyIpOworICAgICAgICAgICAgZWxzZQorICAgICAgICAg
ICAgICAgIGhhc1BhcmFtZXRlciA9IHRydWU7CisgICAgICAgICAgICBzZHBGbXRwTGluZS5hcHBl
bmQoU3RyaW5nVmlldyhwYXJhbWV0ZXIuZmlyc3QuZGF0YSgpLCBwYXJhbWV0ZXIuZmlyc3QubGVu
Z3RoKCkpKTsKKyAgICAgICAgICAgIHNkcEZtdHBMaW5lLmFwcGVuZCgiPSIpOworICAgICAgICAg
ICAgc2RwRm10cExpbmUuYXBwZW5kKFN0cmluZ1ZpZXcocGFyYW1ldGVyLnNlY29uZC5kYXRhKCks
IHBhcmFtZXRlci5zZWNvbmQubGVuZ3RoKCkpKTsKKyAgICAgICAgfQorICAgICAgICBjYXBhYmls
aXRpZXMuY29kZWNzLnVuY2hlY2tlZEFwcGVuZChSVENSdHBDb2RlY0NhcGFiaWxpdHkgeyBmcm9t
U3RkU3RyaW5nKGNvZGVjLm1pbWVfdHlwZSgpKSwgc3RhdGljX2Nhc3Q8dWludDMyX3Q+KGNvZGVj
LmNsb2NrX3JhdGUgPyAqY29kZWMuY2xvY2tfcmF0ZSA6IDApLCB0b0NoYW5uZWxzKGNvZGVjLm51
bV9jaGFubmVscyksIHNkcEZtdHBMaW5lLnRvU3RyaW5nKCkgfSk7CisgICAgfQogCiAgICAgY2Fw
YWJpbGl0aWVzLmhlYWRlckV4dGVuc2lvbnMucmVzZXJ2ZUluaXRpYWxDYXBhY2l0eShydHBDYXBh
YmlsaXRpZXMuaGVhZGVyX2V4dGVuc2lvbnMuc2l6ZSgpKTsKICAgICBmb3IgKGF1dG8mIGhlYWRl
ciA6IHJ0cENhcGFiaWxpdGllcy5oZWFkZXJfZXh0ZW5zaW9ucykKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
Q2hhbmdlTG9nCmluZGV4IDEyNTgwODc4M2M0YjUzZjY4YTI2MGI1YjFlNTVhMjY1MzM3YmFlYzEu
LjZkMTI0NjUwYzUwYjgxZjJlZTcyMjhiNzYyYWVkMjRiOTQwZGU4OGYgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDIwLTA5LTAyICBZb3Vlbm4gRmFi
bGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBjYWxsaW5nIHRyYW5zY2VpdmVyIHNl
dENvZGVjUHJlZmVyZW5jZXMgZG9lc24ndCBjaGFuZ2UgdGhlIG9yZGVyIG9mIGNvZGVjcyBpbiB0
aGUgb2ZmZXIvYW5zd2VyIGdlbmVyYXRlZCBieSB0aGUgYnJvd3NlcgorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE1NTY3CisgICAgICAgIDxyZGFyOi8v
cHJvYmxlbS82NzI3NzU1ND4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy93ZWJydGMvUlRDUnRwVHJhbnNjZWl2ZXIt
c2V0Q29kZWNQcmVmZXJlbmNlcy1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3Jt
LXRlc3RzL3dlYnJ0Yy9SVENSdHBUcmFuc2NlaXZlci1zZXRDb2RlY1ByZWZlcmVuY2VzLmh0bWw6
CisKIDIwMjAtMDktMDIgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAg
ICAgIEludHJvZHVjZSBhIEMrKyBjaGFpbiBvZiBvcGVyYXRpb25zIGluIFJUQ1BlZXJDb25uZWN0
aW9uCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3dlYnJ0Yy9SVENSdHBUcmFuc2NlaXZlci1zZXRDb2RlY1ByZWZlcmVuY2VzLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2VicnRj
L1JUQ1J0cFRyYW5zY2VpdmVyLXNldENvZGVjUHJlZmVyZW5jZXMtZXhwZWN0ZWQudHh0CmluZGV4
IDczYTI1MWVlYzg3ZTQxZmM5ZWE0N2FlMTY1YjJhNzBjNDk0MjY0NzIuLmE5MTYwOTE1YzRjYzU0
ZjJkNmE3NTlkNmY2ODAyOWU1NjY3ZGEzNzIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2VicnRjL1JUQ1J0cFRyYW5zY2VpdmVyLXNldENv
ZGVjUHJlZmVyZW5jZXMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvd2VicnRjL1JUQ1J0cFRyYW5zY2VpdmVyLXNldENvZGVjUHJl
ZmVyZW5jZXMtZXhwZWN0ZWQudHh0CkBAIC00LDEzICs0LDE2IEBAIFBBU1Mgc2V0Q29kZWNQcmVm
ZXJlbmNlcygpIG9uIHZpZGVvIHRyYW5zY2VpdmVyIHdpdGggY29kZWNzIHJldHVybmVkIGZyb20g
UlRDUnRwCiBQQVNTIHNldENvZGVjUHJlZmVyZW5jZXMoKSB3aXRoIGJvdGggc2VuZGVyIHJlY2Vp
dmVyIGNvZGVjcyBjb21iaW5lZCBzaG91bGQgc3VjY2VlZCAKIFBBU1Mgc2V0Q29kZWNQcmVmZXJl
bmNlcyhbXSkgc2hvdWxkIHN1Y2NlZWQgCiBQQVNTIHNldENvZGVjUHJlZmVyZW5jZXMoKSB3aXRo
IHJlb3JkZXJlZCBjb2RlY3Mgc2hvdWxkIHN1Y2NlZWQgCi1QQVNTIHNldENvZGVjUHJlZmVyZW5j
ZXMoKSB3aXRoIG9ubHkgb25lIHZpZGVvIGNvZGVjIHNob3VsZCBzdWNjZWVkIAotRkFJTCBzZXRD
b2RlY1ByZWZlcmVuY2VzKCkgb24gYXVkaW8gdHJhbnNjZWl2ZXIgd2l0aCBjb2RlY3MgcmV0dXJu
ZWQgZnJvbSBnZXRDYXBhYmlsaXRpZXMoJ3ZpZGVvJykgc2hvdWxkIHRocm93IEludmFsaWRNb2Rp
ZmljYXRpb25FcnJvciBhc3NlcnRfdGhyb3dzX2RvbTogZnVuY3Rpb24gIigpID0+IHRyYW5zY2Vp
dmVyLnNldENvZGVjUHJlZmVyZW5jZXMoY2FwYWJpbGl0aWVzLmNvZGVjcykiIGRpZCBub3QgdGhy
b3cKLUZBSUwgc2V0Q29kZWNQcmVmZXJlbmNlcygpIHdpdGggdXNlciBkZWZpbmVkIGNvZGVjIHdp
dGggaW52YWxpZCBtaW1lVHlwZSBzaG91bGQgdGhyb3cgSW52YWxpZE1vZGlmaWNhdGlvbkVycm9y
IGFzc2VydF90aHJvd3NfZG9tOiBmdW5jdGlvbiAiKCkgPT4gdHJhbnNjZWl2ZXIuc2V0Q29kZWNQ
cmVmZXJlbmNlcyhjb2RlY3MpIiBkaWQgbm90IHRocm93Ci1GQUlMIHNldENvZGVjUHJlZmVyZW5j
ZXMoKSB3aXRoIHVzZXIgZGVmaW5lZCBjb2RlYyBzaG91bGQgdGhyb3cgSW52YWxpZE1vZGlmaWNh
dGlvbkVycm9yIGFzc2VydF90aHJvd3NfZG9tOiBmdW5jdGlvbiAiKCkgPT4gdHJhbnNjZWl2ZXIu
c2V0Q29kZWNQcmVmZXJlbmNlcyhjb2RlY3MpIiBkaWQgbm90IHRocm93Ci1GQUlMIHNldENvZGVj
UHJlZmVyZW5jZXMoKSB3aXRoIHVzZXIgZGVmaW5lZCBjb2RlYyB0b2dldGhlciB3aXRoIGNvZGVj
cyByZXR1cm5lZCBmcm9tIGdldENhcGFiaWxpdGllcygpIHNob3VsZCB0aHJvdyBJbnZhbGlkTW9k
aWZpY2F0aW9uRXJyb3IgYXNzZXJ0X3Rocm93c19kb206IGZ1bmN0aW9uICIoKSA9PiB0cmFuc2Nl
aXZlci5zZXRDb2RlY1ByZWZlcmVuY2VzKGNvZGVjcykiIGRpZCBub3QgdGhyb3cKLUZBSUwgc2V0
Q29kZWNQcmVmZXJlbmNlcygpIHdpdGggbW9kaWZpZWQgY29kZWMgY2xvY2sgcmF0ZSBzaG91bGQg
dGhyb3cgSW52YWxpZE1vZGlmaWNhdGlvbkVycm9yIGFzc2VydF90aHJvd3NfZG9tOiBmdW5jdGlv
biAiKCkgPT4gdHJhbnNjZWl2ZXIuc2V0Q29kZWNQcmVmZXJlbmNlcyhjb2RlY3MpIiBkaWQgbm90
IHRocm93Ci1GQUlMIHNldENvZGVjUHJlZmVyZW5jZXMoKSB3aXRoIG1vZGlmaWVkIGNvZGVjIGNo
YW5uZWwgY291bnQgc2hvdWxkIHRocm93IEludmFsaWRNb2RpZmljYXRpb25FcnJvciBhc3NlcnRf
dGhyb3dzX2RvbTogZnVuY3Rpb24gIigpID0+IHRyYW5zY2VpdmVyLnNldENvZGVjUHJlZmVyZW5j
ZXMoY29kZWNzKSIgZGlkIG5vdCB0aHJvdwotRkFJTCBzZXRDb2RlY1ByZWZlcmVuY2VzKCkgd2l0
aCBtb2RpZmllZCBjb2RlYyBwYXJhbWV0ZXJzIHNob3VsZCB0aHJvdyBJbnZhbGlkTW9kaWZpY2F0
aW9uRXJyb3IgYXNzZXJ0X3Rocm93c19kb206IGZ1bmN0aW9uICIoKSA9PiB0cmFuc2NlaXZlci5z
ZXRDb2RlY1ByZWZlcmVuY2VzKGNvZGVjcykiIGRpZCBub3QgdGhyb3cKLUZBSUwgc2V0Q29kZWNQ
cmVmZXJlbmNlcygpIHdpdGggbW9kaWZpZWQgY29kZWNzIHJldHVybmVkIGZyb20gZ2V0Q2FwYWJp
bGl0aWVzKCkgc2hvdWxkIHRocm93IEludmFsaWRNb2RpZmljYXRpb25FcnJvciBhc3NlcnRfdGhy
b3dzX2RvbTogZnVuY3Rpb24gIigpID0+IHRyYW5zY2VpdmVyLnNldENvZGVjUHJlZmVyZW5jZXMo
Y29kZWNzKSIgZGlkIG5vdCB0aHJvdworUEFTUyBzZXRDb2RlY1ByZWZlcmVuY2VzKCkgd2l0aCBv
bmx5IFZQOCBzaG91bGQgc3VjY2VlZCAKK1BBU1Mgc2V0Q29kZWNQcmVmZXJlbmNlcygpIHdpdGgg
b25seSBIMjY0IHNob3VsZCBzdWNjZWVkIAorUEFTUyBzZXRDb2RlY1ByZWZlcmVuY2VzKCkgc2hv
dWxkIGFsbG93IHNldHRpbmcgSDI2NCBhcyBmaXJzdCBjb2RlYyAKK1BBU1Mgc2V0Q29kZWNQcmVm
ZXJlbmNlcygpIHNob3VsZCBhbGxvdyBzZXR0aW5nIFZQOCBhcyBmaXJzdCBjb2RlYyAKK1BBU1Mg
c2V0Q29kZWNQcmVmZXJlbmNlcygpIG9uIGF1ZGlvIHRyYW5zY2VpdmVyIHdpdGggY29kZWNzIHJl
dHVybmVkIGZyb20gZ2V0Q2FwYWJpbGl0aWVzKCd2aWRlbycpIHNob3VsZCB0aHJvdyBJbnZhbGlk
TW9kaWZpY2F0aW9uRXJyb3IgCitQQVNTIHNldENvZGVjUHJlZmVyZW5jZXMoKSB3aXRoIHVzZXIg
ZGVmaW5lZCBjb2RlYyB3aXRoIGludmFsaWQgbWltZVR5cGUgc2hvdWxkIHRocm93IEludmFsaWRN
b2RpZmljYXRpb25FcnJvciAKK1BBU1Mgc2V0Q29kZWNQcmVmZXJlbmNlcygpIHdpdGggdXNlciBk
ZWZpbmVkIGNvZGVjIHNob3VsZCB0aHJvdyBJbnZhbGlkTW9kaWZpY2F0aW9uRXJyb3IgCitQQVNT
IHNldENvZGVjUHJlZmVyZW5jZXMoKSB3aXRoIHVzZXIgZGVmaW5lZCBjb2RlYyB0b2dldGhlciB3
aXRoIGNvZGVjcyByZXR1cm5lZCBmcm9tIGdldENhcGFiaWxpdGllcygpIHNob3VsZCB0aHJvdyBJ
bnZhbGlkTW9kaWZpY2F0aW9uRXJyb3IgCitQQVNTIHNldENvZGVjUHJlZmVyZW5jZXMoKSB3aXRo
IG1vZGlmaWVkIGNvZGVjIGNsb2NrIHJhdGUgc2hvdWxkIHRocm93IEludmFsaWRNb2RpZmljYXRp
b25FcnJvciAKK1BBU1Mgc2V0Q29kZWNQcmVmZXJlbmNlcygpIHdpdGggbW9kaWZpZWQgY29kZWMg
Y2hhbm5lbCBjb3VudCBzaG91bGQgdGhyb3cgSW52YWxpZE1vZGlmaWNhdGlvbkVycm9yIAorUEFT
UyBzZXRDb2RlY1ByZWZlcmVuY2VzKCkgd2l0aCBtb2RpZmllZCBjb2RlYyBwYXJhbWV0ZXJzIHNo
b3VsZCB0aHJvdyBJbnZhbGlkTW9kaWZpY2F0aW9uRXJyb3IgCitQQVNTIHNldENvZGVjUHJlZmVy
ZW5jZXMoKSB3aXRoIG1vZGlmaWVkIGNvZGVjcyByZXR1cm5lZCBmcm9tIGdldENhcGFiaWxpdGll
cygpIHNob3VsZCB0aHJvdyBJbnZhbGlkTW9kaWZpY2F0aW9uRXJyb3IgCiAKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2VicnRjL1JUQ1J0
cFRyYW5zY2VpdmVyLXNldENvZGVjUHJlZmVyZW5jZXMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2VicnRjL1JUQ1J0cFRyYW5zY2VpdmVyLXNldENv
ZGVjUHJlZmVyZW5jZXMuaHRtbAppbmRleCBmNzljNDNiMjkxOTU0NWMxNTczMGQxMDlmYmYwM2Fi
YmM5YWZiNDE0Li5hMDI4MjQ2N2Q4M2NkZTI0NTI2NGM5OTAzNzBmOWIyODZiYzIxYTA5IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dlYnJ0
Yy9SVENSdHBUcmFuc2NlaXZlci1zZXRDb2RlY1ByZWZlcmVuY2VzLmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJydGMvUlRDUnRwVHJhbnNj
ZWl2ZXItc2V0Q29kZWNQcmVmZXJlbmNlcy5odG1sCkBAIC05Miw3ICs5Miw1NiBAQAogICAgICAg
fQogICAgIH0pOwogICAgIGFzc2VydF90cnVlKHRyaWVkLCAnVlA4IHZpZGVvIGNvZGVjIHdhcyBm
b3VuZCBhbmQgdHJpZWQnKTsKLSAgfSwgYHNldENvZGVjUHJlZmVyZW5jZXMoKSB3aXRoIG9ubHkg
b25lIHZpZGVvIGNvZGVjIHNob3VsZCBzdWNjZWVkYCk7CisgIH0sIGBzZXRDb2RlY1ByZWZlcmVu
Y2VzKCkgd2l0aCBvbmx5IFZQOCBzaG91bGQgc3VjY2VlZGApOworCisgIHRlc3QoKCkgPT4gewor
ICAgIGNvbnN0IHBjID0gbmV3IFJUQ1BlZXJDb25uZWN0aW9uKCk7CisgICAgY29uc3QgdHJhbnNj
ZWl2ZXIgPSBwYy5hZGRUcmFuc2NlaXZlcigndmlkZW8nKTsKKyAgICBjb25zdCBjYXBhYmlsaXRp
ZXMgPSBSVENSdHBTZW5kZXIuZ2V0Q2FwYWJpbGl0aWVzKCd2aWRlbycpOworICAgIGNvbnN0IHsg
Y29kZWNzIH0gPSBjYXBhYmlsaXRpZXM7CisgICAgLy8gVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
dGhlIG1hbmRhdG9yeSBIMjY0IGNvZGVjIGlzIHByZXNlbnQKKyAgICAvLyBhbmQgY2FuIGJlIHNl
dC4KKyAgICBsZXQgdHJpZWQgPSBmYWxzZTsKKyAgICBjb2RlY3MuZm9yRWFjaChjb2RlYyA9PiB7
CisgICAgICBpZiAoY29kZWMubWltZVR5cGUudG9Mb3dlckNhc2UoKSA9PT0gJ3ZpZGVvL2gyNjQn
KSB7CisgICAgICAgIHRyYW5zY2VpdmVyLnNldENvZGVjUHJlZmVyZW5jZXMoW2NvZGVjc1swXV0p
OworICAgICAgICB0cmllZCA9IHRydWU7CisgICAgICB9CisgICAgfSk7CisgICAgYXNzZXJ0X3Ry
dWUodHJpZWQsICdWUDggdmlkZW8gY29kZWMgd2FzIGZvdW5kIGFuZCB0cmllZCcpOworICB9LCBg
c2V0Q29kZWNQcmVmZXJlbmNlcygpIHdpdGggb25seSBIMjY0IHNob3VsZCBzdWNjZWVkYCk7CisK
KyAgYXN5bmMgZnVuY3Rpb24gZ2V0UlRQTWFwTGluZXNXaXRoQ29kZWNBc0ZpcnN0KGZpcnN0Q29k
ZWMpCisgIHsKKyAgICAgY29uc3QgY2FwYWJpbGl0aWVzID0gUlRDUnRwU2VuZGVyLmdldENhcGFi
aWxpdGllcygndmlkZW8nKS5jb2RlY3M7CisgICAgIGNhcGFiaWxpdGllcy5mb3JFYWNoKChjb2Rl
YywgaWR4KSA9PiB7CisgICAgICAgaWYgKGNvZGVjLm1pbWVUeXBlID09PSBmaXJzdENvZGVjKSB7
CisgICAgICAgICAgY2FwYWJpbGl0aWVzLnNwbGljZShpZHgsIDEpOworICAgICAgICAgIGNhcGFi
aWxpdGllcy51bnNoaWZ0KGNvZGVjKTsKKyAgICAgICB9CisgICAgIH0pOworCisgICAgIGNvbnN0
IHBjID0gbmV3IFJUQ1BlZXJDb25uZWN0aW9uKCk7CisgICAgIGNvbnN0IHRyYW5zY2VpdmVyID0g
cGMuYWRkVHJhbnNjZWl2ZXIoJ3ZpZGVvJyk7CisgICAgIHRyYW5zY2VpdmVyLnNldENvZGVjUHJl
ZmVyZW5jZXMoY2FwYWJpbGl0aWVzKTsKKyAgICAgY29uc3Qgb2ZmZXIgPSBhd2FpdCBwYy5jcmVh
dGVPZmZlcigpOworCisgICAgIHJldHVybiBvZmZlci5zZHAuc3BsaXQoJ1xyXG4nKS5maWx0ZXIo
bGluZSA9PiBsaW5lLmluZGV4T2YoImE9cnRwbWFwIikgPT09IDApOworICB9CisKKyAgcHJvbWlz
ZV90ZXN0KGFzeW5jICgpID0+IHsKKyAgICBjb25zdCBsaW5lcyA9IGF3YWl0IGdldFJUUE1hcExp
bmVzV2l0aENvZGVjQXNGaXJzdCgndmlkZW8vSDI2NCcpOworCisgICAgYXNzZXJ0X2dyZWF0ZXJf
dGhhbihsaW5lcy5sZW5ndGgsIDEpOworICAgIGFzc2VydF90cnVlKGxpbmVzWzBdLmluZGV4T2Yo
IkgyNjQiKSAhPT0gLTEsICJIMjY0IHNob3VsZCBiZSB0aGUgZmlyc3QgY29kZWMiKTsKKyAgfSwg
YHNldENvZGVjUHJlZmVyZW5jZXMoKSBzaG91bGQgYWxsb3cgc2V0dGluZyBIMjY0IGFzIGZpcnN0
IGNvZGVjYCk7CisKKyAgcHJvbWlzZV90ZXN0KGFzeW5jICgpID0+IHsKKyAgICBjb25zdCBsaW5l
cyA9IGF3YWl0IGdldFJUUE1hcExpbmVzV2l0aENvZGVjQXNGaXJzdCgndmlkZW8vVlA4Jyk7CisK
KyAgICBhc3NlcnRfZ3JlYXRlcl90aGFuKGxpbmVzLmxlbmd0aCwgMSk7CisgICAgYXNzZXJ0X3Ry
dWUobGluZXNbMF0uaW5kZXhPZigiVlA4IikgIT09IC0xLCAiVlA4IHNob3VsZCBiZSB0aGUgZmly
c3QgY29kZWMiKTsKKyAgfSwgYHNldENvZGVjUHJlZmVyZW5jZXMoKSBzaG91bGQgYWxsb3cgc2V0
dGluZyBWUDggYXMgZmlyc3QgY29kZWNgKTsKIAogICB0ZXN0KCgpID0+IHsKICAgICBjb25zdCBw
YyA9IG5ldyBSVENQZWVyQ29ubmVjdGlvbigpOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>