<?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>211735</bug_id>
          
          <creation_ts>2020-05-11 11:41:08 -0700</creation_ts>
          <short_desc>Need to advertise support for WebP in the Accept header</short_desc>
          <delta_ts>2021-05-10 16:06:17 -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>Images</component>
          <version>WebKit Nightly Build</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=225562</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="Said Abou-Hallawa">sabouhallawa</reporter>
          <assigned_to name="Said Abou-Hallawa">sabouhallawa</assigned_to>
          <cc>cdumez</cc>
    
    <cc>darin</cc>
    
    <cc>don.olmstead</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>japhet</cc>
    
    <cc>macpherson</cc>
    
    <cc>menard</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1651351</commentid>
    <comment_count>0</comment_count>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2020-05-11 11:41:08 -0700</bug_when>
    <thetext>On Mac and iOS the system has to support WebP: HAVE(WEBP). On other platforms, WebKit has to be able to decode WebP images: USE(WEBP).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1651352</commentid>
    <comment_count>1</comment_count>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2020-05-11 11:41:40 -0700</bug_when>
    <thetext>&lt;rdar://problem/63029592&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1651359</commentid>
    <comment_count>2</comment_count>
      <attachid>399038</attachid>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2020-05-11 11:54:40 -0700</bug_when>
    <thetext>Created attachment 399038
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1651381</commentid>
    <comment_count>3</comment_count>
      <attachid>399038</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-05-11 12:33:55 -0700</bug_when>
    <thetext>Comment on attachment 399038
Patch

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

&gt; Source/WebCore/loader/cache/CachedResourceRequest.cpp:138
&gt; +#if HAVE(WEBP) || USE(WEBP)
&gt; +        String imageHeader = &quot;image/webp,image/apng,image/svg+xml&quot;_s;
&gt; +#else
&gt; +        String imageHeader = &quot;image/apng,image/svg+xml&quot;_s;
&gt; +#endif
&gt;          if (ImageDecoder::supportsMediaType(ImageDecoder::MediaType::Video))
&gt; -            return &quot;image/png,image/svg+xml,image/*;q=0.8,video/*;q=0.8,*/*;q=0.5&quot;_s;
&gt; -        return &quot;image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5&quot;_s;
&gt; -    case CachedResource::Type::CSSStyleSheet:
&gt; +            imageHeader.append(&quot;,video/*;q=0.8&quot;_s);
&gt; +        return imageHeader + &quot;,image/*;q=0.8,*/*;q=0.5&quot;_s;

Seems like this can all be done compile-time instead of concatenating strings at runtime. With macros it would be:

#if HAVE(WEBP) || USE(WEBP)
        #define IMAGE_HEADER_START &quot;image/webp,image/apng,image/svg+xml&quot;
#else
        #define IMAGE_HEADER_START &quot;image/apng,image/svg+xml&quot;
#endif
        #define IMAGE_HEADER_END &quot;,image/*;q=0.8,*/*;q=0.5&quot;
        if (ImageDecoder::supportsMediaType(ImageDecoder::MediaType::Video))
            return IMAGE_HEADER_START &quot;,video/*;q=0.8&quot; IMAGE_HEADER_END _s;
        return IMAGE_HEADER_START IMAGE_HEADER_END _s;
        #undef IMAGE_HEADER_START
        #undef IMAGE_HEADER_END

There may be more clever ways of doing this, but I hate to see us doing string concatenation work at runtime unnecessarily.

&gt; Source/WebCore/loader/cache/CachedResourceRequest.cpp:139
&gt; +    } case CachedResource::Type::CSSStyleSheet:

Coding style thought: I don’t think we should put the end brace and case on the same line; doesn’t seem like the &quot;else&quot; rule should apply. Is this something we’ve done before?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1651382</commentid>
    <comment_count>4</comment_count>
      <attachid>399038</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-05-11 12:36:12 -0700</bug_when>
    <thetext>Comment on attachment 399038
Patch

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

&gt; Source/WebCore/loader/cache/CachedResourceRequest.cpp:131
&gt; +#if HAVE(WEBP) || USE(WEBP)

This seems wrong. Why is it &quot;||&quot;? It should just be USE(WEBP).

&gt;&gt; Source/WebCore/loader/cache/CachedResourceRequest.cpp:138
&gt;&gt; +        return imageHeader + &quot;,image/*;q=0.8,*/*;q=0.5&quot;_s;
&gt; 
&gt; Seems like this can all be done compile-time instead of concatenating strings at runtime. With macros it would be:
&gt; 
&gt; #if HAVE(WEBP) || USE(WEBP)
&gt;         #define IMAGE_HEADER_START &quot;image/webp,image/apng,image/svg+xml&quot;
&gt; #else
&gt;         #define IMAGE_HEADER_START &quot;image/apng,image/svg+xml&quot;
&gt; #endif
&gt;         #define IMAGE_HEADER_END &quot;,image/*;q=0.8,*/*;q=0.5&quot;
&gt;         if (ImageDecoder::supportsMediaType(ImageDecoder::MediaType::Video))
&gt;             return IMAGE_HEADER_START &quot;,video/*;q=0.8&quot; IMAGE_HEADER_END _s;
&gt;         return IMAGE_HEADER_START IMAGE_HEADER_END _s;
&gt;         #undef IMAGE_HEADER_START
&gt;         #undef IMAGE_HEADER_END
&gt; 
&gt; There may be more clever ways of doing this, but I hate to see us doing string concatenation work at runtime unnecessarily.

Here’s another way:

#if HAVE(WEBP) || USE(WEBP)
        #define WEBP_HEADER_PART &quot;image/webp,&quot;
#else
        #define WEBP_HEADER_PART &quot;&quot;
endif
        if (ImageDecoder::supportsMediaType(ImageDecoder::MediaType::Video))
            return WEBP_HEADER_PART &quot;image/png,image/svg+xml,image/*;q=0.8,video/*;q=0.8,*/*;q=0.5&quot;_s;
        return WEBP_HEADER_PART &quot;image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5&quot;_s;
        #undef WEBP_HEADER_PART</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1651553</commentid>
    <comment_count>5</comment_count>
      <attachid>399079</attachid>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2020-05-11 17:59:59 -0700</bug_when>
    <thetext>Created attachment 399079
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1651557</commentid>
    <comment_count>6</comment_count>
      <attachid>399038</attachid>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2020-05-11 18:16:09 -0700</bug_when>
    <thetext>Comment on attachment 399038
Patch

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

&gt;&gt; Source/WebCore/loader/cache/CachedResourceRequest.cpp:131
&gt;&gt; +#if HAVE(WEBP) || USE(WEBP)
&gt; 
&gt; This seems wrong. Why is it &quot;||&quot;? It should just be USE(WEBP).

HAVE(WEBP) is defined in PlatformHave.h as:

#if (PLATFORM(MAC) &amp;&amp; __MAC_OS_X_VERSION_MIN_REQUIRED &gt;= 101600) || (PLATFORM(IOS_FAMILY) &amp;&amp; __IPHONE_OS_VERSION_MIN_REQUIRED &gt;= 140000)
#define HAVE_WEBP 1
#endif

But USE(WEBP) is defined in PlatformUse.h as:

#if PLATFORM(GTK) || PLATFORM(WPE)
#define USE_WEBP 1
#endif

So I think we need both. Or should I convert HAVE(WEPB) on macOS and iOS to be USE(WEBP) also?

&gt;&gt;&gt; Source/WebCore/loader/cache/CachedResourceRequest.cpp:138
&gt;&gt;&gt; +        return imageHeader + &quot;,image/*;q=0.8,*/*;q=0.5&quot;_s;
&gt;&gt; 
&gt;&gt; Seems like this can all be done compile-time instead of concatenating strings at runtime. With macros it would be:
&gt;&gt; 
&gt;&gt; #if HAVE(WEBP) || USE(WEBP)
&gt;&gt;         #define IMAGE_HEADER_START &quot;image/webp,image/apng,image/svg+xml&quot;
&gt;&gt; #else
&gt;&gt;         #define IMAGE_HEADER_START &quot;image/apng,image/svg+xml&quot;
&gt;&gt; #endif
&gt;&gt;         #define IMAGE_HEADER_END &quot;,image/*;q=0.8,*/*;q=0.5&quot;
&gt;&gt;         if (ImageDecoder::supportsMediaType(ImageDecoder::MediaType::Video))
&gt;&gt;             return IMAGE_HEADER_START &quot;,video/*;q=0.8&quot; IMAGE_HEADER_END _s;
&gt;&gt;         return IMAGE_HEADER_START IMAGE_HEADER_END _s;
&gt;&gt;         #undef IMAGE_HEADER_START
&gt;&gt;         #undef IMAGE_HEADER_END
&gt;&gt; 
&gt;&gt; There may be more clever ways of doing this, but I hate to see us doing string concatenation work at runtime unnecessarily.
&gt; 
&gt; Here’s another way:
&gt; 
&gt; #if HAVE(WEBP) || USE(WEBP)
&gt;         #define WEBP_HEADER_PART &quot;image/webp,&quot;
&gt; #else
&gt;         #define WEBP_HEADER_PART &quot;&quot;
&gt; endif
&gt;         if (ImageDecoder::supportsMediaType(ImageDecoder::MediaType::Video))
&gt;             return WEBP_HEADER_PART &quot;image/png,image/svg+xml,image/*;q=0.8,video/*;q=0.8,*/*;q=0.5&quot;_s;
&gt;         return WEBP_HEADER_PART &quot;image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5&quot;_s;
&gt;         #undef WEBP_HEADER_PART

I moved this code to a new constexpr function which returns ASCIILiteral. I did not add the macro because I felt handling WebP and video images are different. I understand checking for supporting the WebP can be done at run time while checking for video images have to be don et run time. Please have a look at the new patch and let me know if I need to put the macros.

&gt;&gt; Source/WebCore/loader/cache/CachedResourceRequest.cpp:139
&gt;&gt; +    } case CachedResource::Type::CSSStyleSheet:
&gt; 
&gt; Coding style thought: I don’t think we should put the end brace and case on the same line; doesn’t seem like the &quot;else&quot; rule should apply. Is this something we’ve done before?

You right we should not do this way. I searched the code for &quot;} case&quot; and I found only one case in CSSCalculationValue.cpp and I fixed in the current patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1651606</commentid>
    <comment_count>7</comment_count>
      <attachid>399038</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-05-11 20:34:55 -0700</bug_when>
    <thetext>Comment on attachment 399038
Patch

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

&gt;&gt;&gt; Source/WebCore/loader/cache/CachedResourceRequest.cpp:131
&gt;&gt;&gt; +#if HAVE(WEBP) || USE(WEBP)
&gt;&gt; 
&gt;&gt; This seems wrong. Why is it &quot;||&quot;? It should just be USE(WEBP).
&gt; 
&gt; HAVE(WEBP) is defined in PlatformHave.h as:
&gt; 
&gt; #if (PLATFORM(MAC) &amp;&amp; __MAC_OS_X_VERSION_MIN_REQUIRED &gt;= 101600) || (PLATFORM(IOS_FAMILY) &amp;&amp; __IPHONE_OS_VERSION_MIN_REQUIRED &gt;= 140000)
&gt; #define HAVE_WEBP 1
&gt; #endif
&gt; 
&gt; But USE(WEBP) is defined in PlatformUse.h as:
&gt; 
&gt; #if PLATFORM(GTK) || PLATFORM(WPE)
&gt; #define USE_WEBP 1
&gt; #endif
&gt; 
&gt; So I think we need both. Or should I convert HAVE(WEPB) on macOS and iOS to be USE(WEBP) also?

USE(WEBP) needs to be true on macOS and iOS if we plan to use WebP. There may be some difficulty straightening things out; perhaps USE(WEBP) guards an implementation of WebP that we don’t use on macOS and iOS. But in the end, we can’t have these two with this strange relationship.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1651607</commentid>
    <comment_count>8</comment_count>
      <attachid>399079</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-05-11 20:35:54 -0700</bug_when>
    <thetext>Comment on attachment 399079
Patch

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

&gt; Source/WebCore/loader/cache/CachedResourceRequest.cpp:135
&gt; +#if !(HAVE(WEBP) || USE(WEBP))
&gt; +    if (supportsVideoImage)
&gt; +        return &quot;image/webp,image/png,image/svg+xml,image/*;q=0.8,video/*;q=0.8,*/*;q=0.5&quot;_s;
&gt; +    return &quot;image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5&quot;_s;
&gt; +#else
&gt; +    if (supportsVideoImage)
&gt; +        return &quot;image/png,image/svg+xml,image/*;q=0.8,video/*;q=0.8,*/*;q=0.5&quot;_s;
&gt; +    return &quot;image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5&quot;_s;
&gt; +#endif

This is OK. I don’t know why you chose not the use the macros, but it’s fine.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1651614</commentid>
    <comment_count>9</comment_count>
      <attachid>399096</attachid>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2020-05-11 21:40:51 -0700</bug_when>
    <thetext>Created attachment 399096
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1651650</commentid>
    <comment_count>10</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-05-12 00:21:01 -0700</bug_when>
    <thetext>Committed r261548: &lt;https://trac.webkit.org/changeset/261548&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 399096.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1651797</commentid>
    <comment_count>11</comment_count>
      <attachid>399096</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-05-12 10:28:33 -0700</bug_when>
    <thetext>Comment on attachment 399096
Patch

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

&gt; Source/WebCore/loader/cache/CachedResourceRequest.cpp:125
&gt; +static inline constexpr ASCIILiteral acceptHeaderValueForImageResource(bool supportsVideoImage)

Never need to write both constexpr and inline. Since constexpr implies inline for functions and static data members (it implies const for objects). Maybe we should teach this to the style checker?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1700192</commentid>
    <comment_count>12</comment_count>
    <who name="Don Olmstead">don.olmstead</who>
    <bug_when>2020-10-21 08:27:18 -0700</bug_when>
    <thetext>*** Bug 185046 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>399038</attachid>
            <date>2020-05-11 11:54:40 -0700</date>
            <delta_ts>2020-05-11 17:59:57 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-211735-20200511115440.patch</filename>
            <type>text/plain</type>
            <size>2165</size>
            <attacher name="Said Abou-Hallawa">sabouhallawa</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI2MTQ4MykKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE2IEBACisyMDIwLTA1LTExICBTYWlkIEFi
b3UtSGFsbGF3YSAgPHNhYm91aGFsbGF3YUBhcHBsZS5jb20+CisKKyAgICAgICAgTmVlZCB0byBh
ZHZlcnRpc2Ugc3VwcG9ydCBmb3IgV2ViUCBpbiB0aGUgQWNjZXB0IGhlYWRlcgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjExNzM1CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgT24gTWFjIGFuZCBpT1MsIHRo
ZSBzeXN0ZW0gaGFzIHRvIHN1cHBvcnQgV2ViUDogSEFWRShXRUJQKS4KKyAgICAgICAgT24gb3Ro
ZXIgcGxhdGZvcm1zLCBXZWJLaXQgaGFzIHRvIGJlIGFibGUgdG8gZGVjb2RlIFdlYlAgaW1hZ2Vz
OiBVU0UoV0VCUCkuCisKKyAgICAgICAgKiBsb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VSZXF1
ZXN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmFjY2VwdEhlYWRlclZhbHVlRnJvbVR5cGUpOgor
CiAyMDIwLTA1LTExICBBbmRyZXMgR29uemFsZXogIDxhbmRyZXNnXzIyQGFwcGxlLmNvbT4KIAog
ICAgICAgICBDaGVjayB0aGUgdmFsaWRpdHkgb2YgdGhlIHVuZGVybHlpbmcgRG9jdW1lbnQgYmVm
b3JlIHVwZGF0aW5nIHRoZSBpc29sYXRlZCB0cmVlLgpJbmRleDogU291cmNlL1dlYkNvcmUvbG9h
ZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlUmVxdWVzdC5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlUmVxdWVzdC5jcHAJKHJldmlzaW9u
IDI2MTM0NCkKKysrIFNvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZVJl
cXVlc3QuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMjcsMTEgKzEyNywxNiBAQCBzdGF0aWMgaW5s
aW5lIFN0cmluZyBhY2NlcHRIZWFkZXJWYWx1ZUZyCiAgICAgc3dpdGNoICh0eXBlKSB7CiAgICAg
Y2FzZSBDYWNoZWRSZXNvdXJjZTo6VHlwZTo6TWFpblJlc291cmNlOgogICAgICAgICByZXR1cm4g
InRleHQvaHRtbCxhcHBsaWNhdGlvbi94aHRtbCt4bWwsYXBwbGljYXRpb24veG1sO3E9MC45LCov
KjtxPTAuOCJfczsKLSAgICBjYXNlIENhY2hlZFJlc291cmNlOjpUeXBlOjpJbWFnZVJlc291cmNl
OgorICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6OlR5cGU6OkltYWdlUmVzb3VyY2U6IHsKKyNpZiBI
QVZFKFdFQlApIHx8IFVTRShXRUJQKQorICAgICAgICBTdHJpbmcgaW1hZ2VIZWFkZXIgPSAiaW1h
Z2Uvd2VicCxpbWFnZS9hcG5nLGltYWdlL3N2Zyt4bWwiX3M7CisjZWxzZQorICAgICAgICBTdHJp
bmcgaW1hZ2VIZWFkZXIgPSAiaW1hZ2UvYXBuZyxpbWFnZS9zdmcreG1sIl9zOworI2VuZGlmCiAg
ICAgICAgIGlmIChJbWFnZURlY29kZXI6OnN1cHBvcnRzTWVkaWFUeXBlKEltYWdlRGVjb2Rlcjo6
TWVkaWFUeXBlOjpWaWRlbykpCi0gICAgICAgICAgICByZXR1cm4gImltYWdlL3BuZyxpbWFnZS9z
dmcreG1sLGltYWdlLyo7cT0wLjgsdmlkZW8vKjtxPTAuOCwqLyo7cT0wLjUiX3M7Ci0gICAgICAg
IHJldHVybiAiaW1hZ2UvcG5nLGltYWdlL3N2Zyt4bWwsaW1hZ2UvKjtxPTAuOCwqLyo7cT0wLjUi
X3M7Ci0gICAgY2FzZSBDYWNoZWRSZXNvdXJjZTo6VHlwZTo6Q1NTU3R5bGVTaGVldDoKKyAgICAg
ICAgICAgIGltYWdlSGVhZGVyLmFwcGVuZCgiLHZpZGVvLyo7cT0wLjgiX3MpOworICAgICAgICBy
ZXR1cm4gaW1hZ2VIZWFkZXIgKyAiLGltYWdlLyo7cT0wLjgsKi8qO3E9MC41Il9zOworICAgIH0g
Y2FzZSBDYWNoZWRSZXNvdXJjZTo6VHlwZTo6Q1NTU3R5bGVTaGVldDoKICAgICAgICAgcmV0dXJu
ICJ0ZXh0L2NzcywqLyo7cT0wLjEiX3M7CiAgICAgY2FzZSBDYWNoZWRSZXNvdXJjZTo6VHlwZTo6
U1ZHRG9jdW1lbnRSZXNvdXJjZToKICAgICAgICAgcmV0dXJuICJpbWFnZS9zdmcreG1sIl9zOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>399079</attachid>
            <date>2020-05-11 17:59:59 -0700</date>
            <delta_ts>2020-05-11 21:40:49 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-211735-20200511175959.patch</filename>
            <type>text/plain</type>
            <size>4770</size>
            <attacher name="Said Abou-Hallawa">sabouhallawa</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI2MTUzNCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIxIEBACisyMDIwLTA1LTExICBTYWlkIEFi
b3UtSGFsbGF3YSAgPHNhYm91aGFsbGF3YUBhcHBsZS5jb20+CisKKyAgICAgICAgTmVlZCB0byBh
ZHZlcnRpc2Ugc3VwcG9ydCBmb3IgV2ViUCBpbiB0aGUgQWNjZXB0IGhlYWRlcgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjExNzM1CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgT24gTWFjIGFuZCBpT1MsIHRo
ZSBzeXN0ZW0gaGFzIHRvIHN1cHBvcnQgV2ViUDogSEFWRShXRUJQKS4KKyAgICAgICAgT24gb3Ro
ZXIgcGxhdGZvcm1zLCBXZWJLaXQgaGFzIHRvIGJlIGFibGUgdG8gZGVjb2RlIFdlYlAgaW1hZ2Vz
OiBVU0UoV0VCUCkuCisKKyAgICAgICAgKiBjc3MvQ1NTQ2FsY3VsYXRpb25WYWx1ZS5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpjcmVhdGVDU1MpOgorICAgICAgICBGaXggdW5yZWFsdGVkIGNvZGlu
ZyBzdHlsZSBpc3N1ZS4KKworICAgICAgICAqIGxvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZVJl
cXVlc3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6YWNjZXB0SGVhZGVyVmFsdWVGb3JJbWFnZVJl
c291cmNlKToKKyAgICAgICAgKFdlYkNvcmU6OmFjY2VwdEhlYWRlclZhbHVlRnJvbVR5cGUpOgor
CiAyMDIwLTA1LTExICBCZW4gTmhhbSAgPG5oYW1AYXBwbGUuY29tPgogCiAgICAgICAgIEltcHJv
dmUgYWNjdXJhY3kgb2YgSW5kZXhlZERCIGVzdGltYXRlZCB3cml0ZSBzaXplIGNvbXB1dGF0aW9u
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ2FsY3VsYXRpb25WYWx1ZS5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvY3NzL0NTU0NhbGN1bGF0aW9uVmFsdWUuY3BwCShyZXZp
c2lvbiAyNjEzNDQpCisrKyBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ2FsY3VsYXRpb25WYWx1ZS5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTE5NTQsNyArMTk1NCw4IEBAIHN0YXRpYyBSZWZQdHI8Q1NT
Q2FsY0V4cHJlc3Npb25Ob2RlPiBjcmUKICAgICAgICAgICAgIGlmIChjaGlsZHJlbi5pc0VtcHR5
KCkpCiAgICAgICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAgICAgICAgICAgICByZXR1cm4g
Q1NTQ2FsY09wZXJhdGlvbk5vZGU6OmNyZWF0ZVN1bShXVEZNb3ZlKGNoaWxkcmVuKSk7Ci0gICAg
ICAgIH0gY2FzZSBDYWxjT3BlcmF0b3I6OlN1YnRyYWN0OiB7CisgICAgICAgIH0KKyAgICAgICAg
Y2FzZSBDYWxjT3BlcmF0b3I6OlN1YnRyYWN0OiB7CiAgICAgICAgICAgICBBU1NFUlQob3BlcmF0
aW9uQ2hpbGRyZW4uc2l6ZSgpID09IDIpOwogCiAgICAgICAgICAgICBWZWN0b3I8UmVmPENTU0Nh
bGNFeHByZXNzaW9uTm9kZT4+IHZhbHVlczsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2xvYWRlci9j
YWNoZS9DYWNoZWRSZXNvdXJjZVJlcXVlc3QuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZVJlcXVlc3QuY3BwCShyZXZpc2lvbiAyNjEz
NDQpCisrKyBTb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VSZXF1ZXN0
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTIyLDE1ICsxMjIsMjYgQEAgdm9pZCBDYWNoZWRSZXNv
dXJjZVJlcXVlc3Q6OnNldERvbWFpbkZvcgogICAgIG1fcmVzb3VyY2VSZXF1ZXN0LnNldERvbWFp
bkZvckNhY2hlUGFydGl0aW9uKGRvbWFpbik7CiB9CiAKK3N0YXRpYyBpbmxpbmUgY29uc3RleHBy
IEFTQ0lJTGl0ZXJhbCBhY2NlcHRIZWFkZXJWYWx1ZUZvckltYWdlUmVzb3VyY2UoYm9vbCBzdXBw
b3J0c1ZpZGVvSW1hZ2UpCit7CisjaWYgIShIQVZFKFdFQlApIHx8IFVTRShXRUJQKSkKKyAgICBp
ZiAoc3VwcG9ydHNWaWRlb0ltYWdlKQorICAgICAgICByZXR1cm4gImltYWdlL3dlYnAsaW1hZ2Uv
cG5nLGltYWdlL3N2Zyt4bWwsaW1hZ2UvKjtxPTAuOCx2aWRlby8qO3E9MC44LCovKjtxPTAuNSJf
czsKKyAgICByZXR1cm4gImltYWdlL3dlYnAsaW1hZ2UvcG5nLGltYWdlL3N2Zyt4bWwsaW1hZ2Uv
KjtxPTAuOCwqLyo7cT0wLjUiX3M7CisjZWxzZQorICAgIGlmIChzdXBwb3J0c1ZpZGVvSW1hZ2Up
CisgICAgICAgIHJldHVybiAiaW1hZ2UvcG5nLGltYWdlL3N2Zyt4bWwsaW1hZ2UvKjtxPTAuOCx2
aWRlby8qO3E9MC44LCovKjtxPTAuNSJfczsKKyAgICByZXR1cm4gImltYWdlL3BuZyxpbWFnZS9z
dmcreG1sLGltYWdlLyo7cT0wLjgsKi8qO3E9MC41Il9zOworI2VuZGlmCit9CisKIHN0YXRpYyBp
bmxpbmUgU3RyaW5nIGFjY2VwdEhlYWRlclZhbHVlRnJvbVR5cGUoQ2FjaGVkUmVzb3VyY2U6OlR5
cGUgdHlwZSkKIHsKICAgICBzd2l0Y2ggKHR5cGUpIHsKICAgICBjYXNlIENhY2hlZFJlc291cmNl
OjpUeXBlOjpNYWluUmVzb3VyY2U6CiAgICAgICAgIHJldHVybiAidGV4dC9odG1sLGFwcGxpY2F0
aW9uL3hodG1sK3htbCxhcHBsaWNhdGlvbi94bWw7cT0wLjksKi8qO3E9MC44Il9zOwogICAgIGNh
c2UgQ2FjaGVkUmVzb3VyY2U6OlR5cGU6OkltYWdlUmVzb3VyY2U6Ci0gICAgICAgIGlmIChJbWFn
ZURlY29kZXI6OnN1cHBvcnRzTWVkaWFUeXBlKEltYWdlRGVjb2Rlcjo6TWVkaWFUeXBlOjpWaWRl
bykpCi0gICAgICAgICAgICByZXR1cm4gImltYWdlL3BuZyxpbWFnZS9zdmcreG1sLGltYWdlLyo7
cT0wLjgsdmlkZW8vKjtxPTAuOCwqLyo7cT0wLjUiX3M7Ci0gICAgICAgIHJldHVybiAiaW1hZ2Uv
cG5nLGltYWdlL3N2Zyt4bWwsaW1hZ2UvKjtxPTAuOCwqLyo7cT0wLjUiX3M7CisgICAgICAgIHJl
dHVybiBhY2NlcHRIZWFkZXJWYWx1ZUZvckltYWdlUmVzb3VyY2UoSW1hZ2VEZWNvZGVyOjpzdXBw
b3J0c01lZGlhVHlwZShJbWFnZURlY29kZXI6Ok1lZGlhVHlwZTo6VmlkZW8pKTsKICAgICBjYXNl
IENhY2hlZFJlc291cmNlOjpUeXBlOjpDU1NTdHlsZVNoZWV0OgogICAgICAgICByZXR1cm4gInRl
eHQvY3NzLCovKjtxPTAuMSJfczsKICAgICBjYXNlIENhY2hlZFJlc291cmNlOjpUeXBlOjpTVkdE
b2N1bWVudFJlc291cmNlOgpJbmRleDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNpb24gMjYxMzQ0KQorKysgTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTMgQEAKKzIwMjAtMDUtMTEg
IFNhaWQgQWJvdS1IYWxsYXdhICA8c2Fib3VoYWxsYXdhQGFwcGxlLmNvbT4KKworICAgICAgICBO
ZWVkIHRvIGFkdmVydGlzZSBzdXBwb3J0IGZvciBXZWJQIGluIHRoZSBBY2NlcHQgaGVhZGVyCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTE3MzUKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGh0dHAvdGVz
dHMvbWlzYy9yZXNvdXJjZXMvaW1hZ2UtY2hlY2tzLWZvci1hY2NlcHQucGhwOgorICAgICAgICBN
YWtlIHN1cmUgdGhlIEFjY2VwdCBoZWFkZXIgYWNjZXB0cyBhbGwgaW1hZ2VzIG1pbWUgdHlwZXMu
CisKIDIwMjAtMDUtMDcgIERldmluIFJvdXNzbyAgPGRyb3Vzc29AYXBwbGUuY29tPgogCiAgICAg
ICAgIFdlYiBJbnNwZWN0b3I6IFVuY2F1Z2h0IEV4Y2VwdGlvbjogVHlwZUVycm9yOiBudWxsIGlz
IG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ21pbWVUeXBlLmVuZHNXaXRoJykKSW5kZXg6IExh
eW91dFRlc3RzL2h0dHAvdGVzdHMvbWlzYy9yZXNvdXJjZXMvaW1hZ2UtY2hlY2tzLWZvci1hY2Nl
cHQucGhwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvbWlzYy9yZXNvdXJj
ZXMvaW1hZ2UtY2hlY2tzLWZvci1hY2NlcHQucGhwCShyZXZpc2lvbiAyNjEzNDQpCisrKyBMYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL21pc2MvcmVzb3VyY2VzL2ltYWdlLWNoZWNrcy1mb3ItYWNjZXB0
LnBocAkod29ya2luZyBjb3B5KQpAQCAtMSw2ICsxLDcgQEAKIDw/cGhwCi0gICAgaWYoJF9TRVJW
RVJbIkhUVFBfQUNDRVBUIl0gPT0gImltYWdlL3BuZyxpbWFnZS9zdmcreG1sLGltYWdlLyo7cT0w
LjgsKi8qO3E9MC41IgotICAgICAgICB8fCAkX1NFUlZFUlsiSFRUUF9BQ0NFUFQiXSA9PSAiaW1h
Z2UvcG5nLGltYWdlL3N2Zyt4bWwsaW1hZ2UvKjtxPTAuOCx2aWRlby8qO3E9MC44LCovKjtxPTAu
NSIpCisgICAgJGFsbGltYWdlcyA9ICdpbWFnZS8qJzsKKyAgICAkcG9zID0gc3RycG9zKCRfU0VS
VkVSWyJIVFRQX0FDQ0VQVCJdLCAkYWxsaW1hZ2VzKTsKKyAgICBpZiAoJHBvcyAhPT0gZmFsc2Up
CiAgICAgewogICAgICAgICBoZWFkZXIoIkNvbnRlbnQtVHlwZTogaW1hZ2UvanBnIik7CiAgICAg
ICAgIGhlYWRlcigiQ2FjaGUtQ29udHJvbDogbm8tc3RvcmUiKTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>399096</attachid>
            <date>2020-05-11 21:40:51 -0700</date>
            <delta_ts>2020-05-12 00:21:02 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-211735-20200511214050.patch</filename>
            <type>text/plain</type>
            <size>4702</size>
            <attacher name="Said Abou-Hallawa">sabouhallawa</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI2MTUzNCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIxIEBACisyMDIwLTA1LTExICBTYWlkIEFi
b3UtSGFsbGF3YSAgPHNhYm91aGFsbGF3YUBhcHBsZS5jb20+CisKKyAgICAgICAgTmVlZCB0byBh
ZHZlcnRpc2Ugc3VwcG9ydCBmb3IgV2ViUCBpbiB0aGUgQWNjZXB0IGhlYWRlcgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjExNzM1CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCisKKyAgICAgICAgT24gTWFjIGFuZCBpT1MsIHRoZSBz
eXN0ZW0gaGFzIHRvIHN1cHBvcnQgV2ViUDogSEFWRShXRUJQKS4KKyAgICAgICAgT24gb3RoZXIg
cGxhdGZvcm1zLCBXZWJLaXQgaGFzIHRvIGJlIGFibGUgdG8gZGVjb2RlIFdlYlAgaW1hZ2VzOiBV
U0UoV0VCUCkuCisKKyAgICAgICAgKiBjc3MvQ1NTQ2FsY3VsYXRpb25WYWx1ZS5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpjcmVhdGVDU1MpOgorICAgICAgICBGaXggdW5yZWFsdGVkIGNvZGluZyBz
dHlsZSBpc3N1ZS4KKworICAgICAgICAqIGxvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZVJlcXVl
c3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6YWNjZXB0SGVhZGVyVmFsdWVGb3JJbWFnZVJlc291
cmNlKToKKyAgICAgICAgKFdlYkNvcmU6OmFjY2VwdEhlYWRlclZhbHVlRnJvbVR5cGUpOgorCiAy
MDIwLTA1LTExICBCZW4gTmhhbSAgPG5oYW1AYXBwbGUuY29tPgogCiAgICAgICAgIEltcHJvdmUg
YWNjdXJhY3kgb2YgSW5kZXhlZERCIGVzdGltYXRlZCB3cml0ZSBzaXplIGNvbXB1dGF0aW9uCklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ2FsY3VsYXRpb25WYWx1ZS5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvY3NzL0NTU0NhbGN1bGF0aW9uVmFsdWUuY3BwCShyZXZpc2lv
biAyNjEzNDQpCisrKyBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ2FsY3VsYXRpb25WYWx1ZS5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTE5NTQsNyArMTk1NCw4IEBAIHN0YXRpYyBSZWZQdHI8Q1NTQ2Fs
Y0V4cHJlc3Npb25Ob2RlPiBjcmUKICAgICAgICAgICAgIGlmIChjaGlsZHJlbi5pc0VtcHR5KCkp
CiAgICAgICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAgICAgICAgICAgICByZXR1cm4gQ1NT
Q2FsY09wZXJhdGlvbk5vZGU6OmNyZWF0ZVN1bShXVEZNb3ZlKGNoaWxkcmVuKSk7Ci0gICAgICAg
IH0gY2FzZSBDYWxjT3BlcmF0b3I6OlN1YnRyYWN0OiB7CisgICAgICAgIH0KKyAgICAgICAgY2Fz
ZSBDYWxjT3BlcmF0b3I6OlN1YnRyYWN0OiB7CiAgICAgICAgICAgICBBU1NFUlQob3BlcmF0aW9u
Q2hpbGRyZW4uc2l6ZSgpID09IDIpOwogCiAgICAgICAgICAgICBWZWN0b3I8UmVmPENTU0NhbGNF
eHByZXNzaW9uTm9kZT4+IHZhbHVlczsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNo
ZS9DYWNoZWRSZXNvdXJjZVJlcXVlc3QuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZVJlcXVlc3QuY3BwCShyZXZpc2lvbiAyNjEzNDQp
CisrKyBTb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VSZXF1ZXN0LmNw
cAkod29ya2luZyBjb3B5KQpAQCAtMTIyLDE1ICsxMjIsMjYgQEAgdm9pZCBDYWNoZWRSZXNvdXJj
ZVJlcXVlc3Q6OnNldERvbWFpbkZvcgogICAgIG1fcmVzb3VyY2VSZXF1ZXN0LnNldERvbWFpbkZv
ckNhY2hlUGFydGl0aW9uKGRvbWFpbik7CiB9CiAKK3N0YXRpYyBpbmxpbmUgY29uc3RleHByIEFT
Q0lJTGl0ZXJhbCBhY2NlcHRIZWFkZXJWYWx1ZUZvckltYWdlUmVzb3VyY2UoYm9vbCBzdXBwb3J0
c1ZpZGVvSW1hZ2UpCit7CisjaWYgSEFWRShXRUJQKSB8fCBVU0UoV0VCUCkKKyAgICAjZGVmaW5l
IFdFQlBfSEVBREVSX1BBUlQgImltYWdlL3dlYnAsIgorI2Vsc2UKKyAgICAjZGVmaW5lIFdFQlBf
SEVBREVSX1BBUlQgIiIKKyNlbmRpZgorICAgIGlmIChzdXBwb3J0c1ZpZGVvSW1hZ2UpCisgICAg
ICAgIHJldHVybiBXRUJQX0hFQURFUl9QQVJUICJpbWFnZS9wbmcsaW1hZ2Uvc3ZnK3htbCxpbWFn
ZS8qO3E9MC44LHZpZGVvLyo7cT0wLjgsKi8qO3E9MC41Il9zOworICAgIHJldHVybiBXRUJQX0hF
QURFUl9QQVJUICJpbWFnZS9wbmcsaW1hZ2Uvc3ZnK3htbCxpbWFnZS8qO3E9MC44LCovKjtxPTAu
NSJfczsKKyAgICAjdW5kZWYgV0VCUF9IRUFERVJfUEFSVAorfQorCiBzdGF0aWMgaW5saW5lIFN0
cmluZyBhY2NlcHRIZWFkZXJWYWx1ZUZyb21UeXBlKENhY2hlZFJlc291cmNlOjpUeXBlIHR5cGUp
CiB7CiAgICAgc3dpdGNoICh0eXBlKSB7CiAgICAgY2FzZSBDYWNoZWRSZXNvdXJjZTo6VHlwZTo6
TWFpblJlc291cmNlOgogICAgICAgICByZXR1cm4gInRleHQvaHRtbCxhcHBsaWNhdGlvbi94aHRt
bCt4bWwsYXBwbGljYXRpb24veG1sO3E9MC45LCovKjtxPTAuOCJfczsKICAgICBjYXNlIENhY2hl
ZFJlc291cmNlOjpUeXBlOjpJbWFnZVJlc291cmNlOgotICAgICAgICBpZiAoSW1hZ2VEZWNvZGVy
OjpzdXBwb3J0c01lZGlhVHlwZShJbWFnZURlY29kZXI6Ok1lZGlhVHlwZTo6VmlkZW8pKQotICAg
ICAgICAgICAgcmV0dXJuICJpbWFnZS9wbmcsaW1hZ2Uvc3ZnK3htbCxpbWFnZS8qO3E9MC44LHZp
ZGVvLyo7cT0wLjgsKi8qO3E9MC41Il9zOwotICAgICAgICByZXR1cm4gImltYWdlL3BuZyxpbWFn
ZS9zdmcreG1sLGltYWdlLyo7cT0wLjgsKi8qO3E9MC41Il9zOworICAgICAgICByZXR1cm4gYWNj
ZXB0SGVhZGVyVmFsdWVGb3JJbWFnZVJlc291cmNlKEltYWdlRGVjb2Rlcjo6c3VwcG9ydHNNZWRp
YVR5cGUoSW1hZ2VEZWNvZGVyOjpNZWRpYVR5cGU6OlZpZGVvKSk7CiAgICAgY2FzZSBDYWNoZWRS
ZXNvdXJjZTo6VHlwZTo6Q1NTU3R5bGVTaGVldDoKICAgICAgICAgcmV0dXJuICJ0ZXh0L2Nzcywq
Lyo7cT0wLjEiX3M7CiAgICAgY2FzZSBDYWNoZWRSZXNvdXJjZTo6VHlwZTo6U1ZHRG9jdW1lbnRS
ZXNvdXJjZToKSW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDI2MTM0NCkKKysrIExheW91dFRlc3RzL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEzIEBACisyMDIwLTA1LTExICBTYWlkIEFi
b3UtSGFsbGF3YSAgPHNhYm91aGFsbGF3YUBhcHBsZS5jb20+CisKKyAgICAgICAgTmVlZCB0byBh
ZHZlcnRpc2Ugc3VwcG9ydCBmb3IgV2ViUCBpbiB0aGUgQWNjZXB0IGhlYWRlcgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjExNzM1CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCisKKyAgICAgICAgKiBodHRwL3Rlc3RzL21pc2MvcmVz
b3VyY2VzL2ltYWdlLWNoZWNrcy1mb3ItYWNjZXB0LnBocDoKKyAgICAgICAgTWFrZSBzdXJlIHRo
ZSBBY2NlcHQgaGVhZGVyIGFjY2VwdHMgYWxsIGltYWdlcyBtaW1lIHR5cGVzLgorCiAyMDIwLTA1
LTA3ICBEZXZpbiBSb3Vzc28gIDxkcm91c3NvQGFwcGxlLmNvbT4KIAogICAgICAgICBXZWIgSW5z
cGVjdG9yOiBVbmNhdWdodCBFeGNlcHRpb246IFR5cGVFcnJvcjogbnVsbCBpcyBub3QgYW4gb2Jq
ZWN0IChldmFsdWF0aW5nICdtaW1lVHlwZS5lbmRzV2l0aCcpCkluZGV4OiBMYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL21pc2MvcmVzb3VyY2VzL2ltYWdlLWNoZWNrcy1mb3ItYWNjZXB0LnBocAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21pc2MvcmVzb3VyY2VzL2ltYWdlLWNo
ZWNrcy1mb3ItYWNjZXB0LnBocAkocmV2aXNpb24gMjYxMzQ0KQorKysgTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9taXNjL3Jlc291cmNlcy9pbWFnZS1jaGVja3MtZm9yLWFjY2VwdC5waHAJKHdvcmtp
bmcgY29weSkKQEAgLTEsNiArMSw3IEBACiA8P3BocAotICAgIGlmKCRfU0VSVkVSWyJIVFRQX0FD
Q0VQVCJdID09ICJpbWFnZS9wbmcsaW1hZ2Uvc3ZnK3htbCxpbWFnZS8qO3E9MC44LCovKjtxPTAu
NSIKLSAgICAgICAgfHwgJF9TRVJWRVJbIkhUVFBfQUNDRVBUIl0gPT0gImltYWdlL3BuZyxpbWFn
ZS9zdmcreG1sLGltYWdlLyo7cT0wLjgsdmlkZW8vKjtxPTAuOCwqLyo7cT0wLjUiKQorICAgICRh
bGxpbWFnZXMgPSAnaW1hZ2UvKic7CisgICAgJHBvcyA9IHN0cnBvcygkX1NFUlZFUlsiSFRUUF9B
Q0NFUFQiXSwgJGFsbGltYWdlcyk7CisgICAgaWYgKCRwb3MgIT09IGZhbHNlKQogICAgIHsKICAg
ICAgICAgaGVhZGVyKCJDb250ZW50LVR5cGU6IGltYWdlL2pwZyIpOwogICAgICAgICBoZWFkZXIo
IkNhY2hlLUNvbnRyb2w6IG5vLXN0b3JlIik7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>