<?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>120956</bug_id>
          
          <creation_ts>2013-09-07 09:54:06 -0700</creation_ts>
          <short_desc>Regression: media controls and status messages are no longer localized</short_desc>
          <delta_ts>2014-04-12 00:20:28 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>123749</dependson>
          <blocked>131569</blocked>
    
    <blocked>131570</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Jer Noble">jer.noble</reporter>
          <assigned_to name="Jer Noble">jer.noble</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>calvaris</cc>
    
    <cc>commit-queue</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>glenn</cc>
    
    <cc>jcraig</cc>
    
    <cc>jer.noble</cc>
    
    <cc>jonlee</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>philipj</cc>
    
    <cc>sergio</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>926212</commentid>
    <comment_count>0</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2013-09-07 09:54:06 -0700</bug_when>
    <thetext>[Mac] Localize the JavaScript controls</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>945656</commentid>
    <comment_count>1</comment_count>
    <who name="James Craig">jcraig</who>
    <bug_when>2013-10-31 13:28:10 -0700</bug_when>
    <thetext>related to bug 121990</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>945660</commentid>
    <comment_count>2</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2013-10-31 13:30:42 -0700</bug_when>
    <thetext>&lt;rdar://problem/15365231&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>946959</commentid>
    <comment_count>3</comment_count>
    <who name="James Craig">jcraig</who>
    <bug_when>2013-11-04 18:54:41 -0800</bug_when>
    <thetext>Blocking against bug 123749 because I&apos;ve got more strings coming in that one.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>999982</commentid>
    <comment_count>4</comment_count>
      <attachid>229151</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2014-04-11 12:27:17 -0700</bug_when>
    <thetext>Created attachment 229151
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1000004</commentid>
    <comment_count>5</comment_count>
      <attachid>229151</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2014-04-11 13:38:50 -0700</bug_when>
    <thetext>Comment on attachment 229151
Patch

Nice! r=me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1000010</commentid>
    <comment_count>6</comment_count>
      <attachid>229151</attachid>
    <who name="Jon Lee">jonlee</who>
    <bug_when>2014-04-11 13:42:32 -0700</bug_when>
    <thetext>Comment on attachment 229151
Patch

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

&gt; Source/WebCore/English.lproj/mediaControlsLocalizedStringsiOS.js:4
&gt; +        &apos;##AIRPLAY_DEVICE_NAME##&apos;: &apos;This video is playing on &quot;##DEVICE_NAME##&quot;.&apos;,

These should be the nicer quotes!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1000011</commentid>
    <comment_count>7</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2014-04-11 13:42:43 -0700</bug_when>
    <thetext>Committed r167145: &lt;http://trac.webkit.org/changeset/167145&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1000016</commentid>
    <comment_count>8</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2014-04-11 13:48:10 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; (From update of attachment 229151 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=229151&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/English.lproj/mediaControlsLocalizedStringsiOS.js:4
&gt; &gt; +        &apos;##AIRPLAY_DEVICE_NAME##&apos;: &apos;This video is playing on &quot;##DEVICE_NAME##&quot;.&apos;,
&gt; 
&gt; These should be the nicer quotes!

I don&apos;t understand what you mean here. Is there a UNICODE character for start/end quote we should be using?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1000021</commentid>
    <comment_count>9</comment_count>
    <who name="Jon Lee">jonlee</who>
    <bug_when>2014-04-11 13:55:21 -0700</bug_when>
    <thetext>(In reply to comment #8)
&gt; (In reply to comment #6)
&gt; &gt; (From update of attachment 229151 [details] [details])
&gt; &gt; View in context: https://bugs.webkit.org/attachment.cgi?id=229151&amp;action=review
&gt; &gt; 
&gt; &gt; &gt; Source/WebCore/English.lproj/mediaControlsLocalizedStringsiOS.js:4
&gt; &gt; &gt; +        &apos;##AIRPLAY_DEVICE_NAME##&apos;: &apos;This video is playing on &quot;##DEVICE_NAME##&quot;.&apos;,
&gt; &gt; 
&gt; &gt; These should be the nicer quotes!
&gt; 
&gt; I don&apos;t understand what you mean here. Is there a UNICODE character for start/end quote we should be using?

“##DEVICE_NAME##” rather than &quot;##DEVICE_NAME##&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1000026</commentid>
    <comment_count>10</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2014-04-11 14:04:18 -0700</bug_when>
    <thetext>Curl quotes landed in follow-up:
r167147 &lt;http://trac.webkit.org/changeset/167147&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1000070</commentid>
    <comment_count>11</comment_count>
      <attachid>229151</attachid>
    <who name="Xabier Rodríguez Calvar">calvaris</who>
    <bug_when>2014-04-11 15:41:46 -0700</bug_when>
    <thetext>Comment on attachment 229151
Patch

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

&gt; Source/WebCore/rendering/RenderThemeMac.mm:245
&gt; -    if (m_mediaControlsScript.isEmpty())
&gt; -        m_mediaControlsScript = [NSString stringWithContentsOfFile:[[NSBundle bundleForClass:[WebCoreRenderThemeBundle class]] pathForResource:@&quot;mediaControlsApple&quot; ofType:@&quot;js&quot;] encoding:NSUTF8StringEncoding error:nil];
&gt; +    if (m_mediaControlsScript.isEmpty()) {
&gt; +        StringBuilder scriptBuilder;
&gt; +        scriptBuilder.append([NSString stringWithContentsOfFile:[[NSBundle bundleForClass:[WebCoreRenderThemeBundle class]] pathForResource:@&quot;mediaControlsLocalizedStrings&quot; ofType:@&quot;js&quot;] encoding:NSUTF8StringEncoding error:nil]);
&gt; +        scriptBuilder.append([NSString stringWithContentsOfFile:[[NSBundle bundleForClass:[WebCoreRenderThemeBundle class]] pathForResource:@&quot;mediaControlsApple&quot; ofType:@&quot;js&quot;] encoding:NSUTF8StringEncoding error:nil]);
&gt; +        m_mediaControlsScript = scriptBuilder.toString();
&gt; +    }

If I am not mistaken, moving the localized strings to a different file will break both GTK and EFL (EFL just moved to JS controls and actually they use the Apple ones until they redesign them). I think you need to add the localized string file also for GTK and EFL in order not to break those ports.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1000075</commentid>
    <comment_count>12</comment_count>
    <who name="Xabier Rodríguez Calvar">calvaris</who>
    <bug_when>2014-04-11 15:52:26 -0700</bug_when>
    <thetext>(In reply to comment #11)
&gt; (From update of attachment 229151 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=229151&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/rendering/RenderThemeMac.mm:245
&gt; &gt; -    if (m_mediaControlsScript.isEmpty())
&gt; &gt; -        m_mediaControlsScript = [NSString stringWithContentsOfFile:[[NSBundle bundleForClass:[WebCoreRenderThemeBundle class]] pathForResource:@&quot;mediaControlsApple&quot; ofType:@&quot;js&quot;] encoding:NSUTF8StringEncoding error:nil];
&gt; &gt; +    if (m_mediaControlsScript.isEmpty()) {
&gt; &gt; +        StringBuilder scriptBuilder;
&gt; &gt; +        scriptBuilder.append([NSString stringWithContentsOfFile:[[NSBundle bundleForClass:[WebCoreRenderThemeBundle class]] pathForResource:@&quot;mediaControlsLocalizedStrings&quot; ofType:@&quot;js&quot;] encoding:NSUTF8StringEncoding error:nil]);
&gt; &gt; +        scriptBuilder.append([NSString stringWithContentsOfFile:[[NSBundle bundleForClass:[WebCoreRenderThemeBundle class]] pathForResource:@&quot;mediaControlsApple&quot; ofType:@&quot;js&quot;] encoding:NSUTF8StringEncoding error:nil]);
&gt; &gt; +        m_mediaControlsScript = scriptBuilder.toString();
&gt; &gt; +    }
&gt; 
&gt; If I am not mistaken, moving the localized strings to a different file will break both GTK and EFL (EFL just moved to JS controls and actually they use the Apple ones until they redesign them). I think you need to add the localized string file also for GTK and EFL in order not to break those ports.

And actually, it did.

http://build.webkit.org/results/GTK%20Linux%2064-bit%20Release/r167157%20%2846401%29/accessibility/media-element-pretty-diff.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1000151</commentid>
    <comment_count>13</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2014-04-11 19:14:38 -0700</bug_when>
    <thetext>(In reply to comment #12)
&gt; (In reply to comment #11)

&gt; &gt; 
&gt; &gt; If I am not mistaken, moving the localized strings to a different file will break both GTK and EFL (EFL just moved to JS controls and actually they use the Apple ones until they redesign them). I think you need to add the localized string file also for GTK and EFL in order not to break those ports.
&gt; 
&gt; And actually, it did.
&gt; 
&gt; http://build.webkit.org/results/GTK%20Linux%2064-bit%20Release/r167157%20%2846401%29/accessibility/media-element-pretty-diff.html

Martin Robinson and I already saw this, and he has an approved patch waiting to land as soon as EWS showed successful runs.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1000178</commentid>
    <comment_count>14</comment_count>
    <who name="Xabier Rodríguez Calvar">calvaris</who>
    <bug_when>2014-04-12 00:20:28 -0700</bug_when>
    <thetext>(In reply to comment #13)
&gt; (In reply to comment #12)
&gt; &gt; (In reply to comment #11)
&gt; 
&gt; &gt; &gt; 
&gt; &gt; &gt; If I am not mistaken, moving the localized strings to a different file will break both GTK and EFL (EFL just moved to JS controls and actually they use the Apple ones until they redesign them). I think you need to add the localized string file also for GTK and EFL in order not to break those ports.
&gt; &gt; 
&gt; &gt; And actually, it did.
&gt; &gt; 
&gt; &gt; http://build.webkit.org/results/GTK%20Linux%2064-bit%20Release/r167157%20%2846401%29/accessibility/media-element-pretty-diff.html
&gt; 
&gt; Martin Robinson and I already saw this, and he has an approved patch waiting to land as soon as EWS showed successful runs.

EFL could be broken too, see bug 120956</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>229151</attachid>
            <date>2014-04-11 12:27:17 -0700</date>
            <delta_ts>2014-04-11 15:41:46 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-120956-20140411122656.patch</filename>
            <type>text/plain</type>
            <size>16758</size>
            <attacher name="Brent Fulgham">bfulgham</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE2NzEzOSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI4IEBACisyMDE0LTA0LTExICBCcmVudCBG
dWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29tPgorCisgICAgICAgIFJlZ3Jlc3Npb246IG1lZGlh
IGNvbnRyb2xzIGFuZCBzdGF0dXMgbWVzc2FnZXMgYXJlIG5vIGxvbmdlciBsb2NhbGl6ZWQuCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjA5NTYKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIEVuZ2xpc2gu
bHByb2ovbWVkaWFDb250cm9sc0xvY2FsaXplZFN0cmluZ3MuanM6IEFkZGVkLgorICAgICAgICAo
bWVkaWFDb250cm9sc0xvY2FsaXplZFN0cmluZ3MpOiBNb3ZlZCBmcm9tIG1lZGlhQ29udHJvbHNB
cHBsZS5qcy4KKyAgICAgICAgKiBFbmdsaXNoLmxwcm9qL21lZGlhQ29udHJvbHNMb2NhbGl6ZWRT
dHJpbmdzaU9TLmpzOiBBZGRlZC4KKyAgICAgICAgKG1lZGlhQ29udHJvbHNMb2NhbGl6ZWRTdHJp
bmdzaU9TKTogTW92ZWQgZnJvbSBtZWRpYUNvbnRyb2xzaU9TLmpzLgorICAgICAgICAqIE1vZHVs
ZXMvbWVkaWFjb250cm9scy9tZWRpYUNvbnRyb2xzQXBwbGUuanM6CisgICAgICAgIChDb250cm9s
bGVyLnByb3RvdHlwZS5VSVN0cmluZyk6IEdldCBzdHJpbmdzIGZyb20gZXh0ZXJuYWwgZmlsZS4K
KyAgICAgICAgKiBNb2R1bGVzL21lZGlhY29udHJvbHMvbWVkaWFDb250cm9sc2lPUy5qczoKKyAg
ICAgICAgKENvbnRyb2xsZXJJT1MucHJvdG90eXBlLlVJU3RyaW5nKTogRGl0dG8uCisgICAgICAg
ICogV2ViQ29yZS52Y3hwcm9qL2NvcHlXZWJDb3JlUmVzb3VyY2VGaWxlcy5jbWQ6IENvcHkgdG8g
V2luZG93cyBidW5kbGUuCisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qOiBDb3B5IG5ldyBmaWxlcyB0byBidW5kbGUuCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRl
clRoZW1lSU9TLm1tOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVJT1M6Om1lZGlhQ29u
dHJvbHNTY3JpcHQpOiBMb2FkIHRoZSBsb2NhbGUtc3BlY2lmaWMKKyAgICAgICAgc3RyaW5nIHJl
c291cmNlIHdoZW4gbG9hZGluZyB0aGUgbWVkaWEgY29udHJvbHMuCisgICAgICAgICogcmVuZGVy
aW5nL1JlbmRlclRoZW1lTWFjLm1tOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVNYWM6
Om1lZGlhQ29udHJvbHNTY3JpcHQpOiBEaXR0by4KKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVy
VGhlbWVXaW4uY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVXaW46Om1lZGlhQ29u
dHJvbHNTY3JpcHQpOiBEaXR0by4KKwogMjAxNC0wNC0xMSAgQW50dGkgS29pdmlzdG8gIDxhbnR0
aUBhcHBsZS5jb20+CiAKICAgICAgICAgUGlwZSBpbml0aWFsIHNjYWxlIGZhY3RvciB0byBUaWxl
Q29udHJvbGxlcgpJbmRleDogU291cmNlL1dlYkNvcmUvRW5nbGlzaC5scHJvai9tZWRpYUNvbnRy
b2xzTG9jYWxpemVkU3RyaW5ncy5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Fbmds
aXNoLmxwcm9qL21lZGlhQ29udHJvbHNMb2NhbGl6ZWRTdHJpbmdzLmpzCShyZXZpc2lvbiAwKQor
KysgU291cmNlL1dlYkNvcmUvRW5nbGlzaC5scHJvai9tZWRpYUNvbnRyb2xzTG9jYWxpemVkU3Ry
aW5ncy5qcwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDI5IEBACitmdW5jdGlvbiBtZWRpYUNv
bnRyb2xzTG9jYWxpemVkU3RyaW5ncygpIHsKKyAgICByZXR1cm4geworICAgICAgICAnQWJvcnRl
ZCc6ICdBYm9ydGVkJywKKyAgICAgICAgJ0F1ZGlvIFBsYXliYWNrJzogJ0F1ZGlvIFBsYXliYWNr
JywKKyAgICAgICAgJ0NhcHRpb25zJzogJ0NhcHRpb25zJywKKyAgICAgICAgJ0Rpc3BsYXkgRnVs
bCBTY3JlZW4nOiAnRGlzcGxheSBGdWxsIFNjcmVlbicsCisgICAgICAgICdEdXJhdGlvbic6ICdE
dXJhdGlvbicsCisgICAgICAgICdFbGFwc2VkJzogJ0VsYXBzZWQnLAorICAgICAgICAnRXJyb3In
OiAnRXJyb3InLAorICAgICAgICAnRXhpdCBGdWxsIFNjcmVlbic6ICdFeGl0IEZ1bGwgU2NyZWVu
JywKKyAgICAgICAgJ0Zhc3QgRm9yd2FyZCc6ICdGYXN0IEZvcndhcmQnLAorICAgICAgICAnTG9h
ZGluZyc6ICdMb2FkaW5nJywKKyAgICAgICAgJ01heGltdW0gVm9sdW1lJzogJ01heGltdW0gVm9s
dW1lJywKKyAgICAgICAgJ01pbmltdW0gVm9sdW1lJzogJ01pbmltdW0gVm9sdW1lJywKKyAgICAg
ICAgJ011dGUnOiAnTXV0ZScsCisgICAgICAgICdQYXVzZSc6ICdQYXVzZScsCisgICAgICAgICdQ
bGF5JzogJ1BsYXknLAorICAgICAgICAnUmVtYWluaW5nJzogJ1JlbWFpbmluZycsCisgICAgICAg
ICdSZXdpbmQnOiAnUmV3aW5kJywKKyAgICAgICAgJ1Jld2luZCAlJXNlYyUlIFNlY29uZHMnOiAn
UmV3aW5kICUlc2VjJSUgU2Vjb25kcycsCisgICAgICAgICdTdGFsbGVkJzogJ1N0YWxsZWQnLAor
ICAgICAgICAnU3VidGl0bGVzJzogJ1N1YnRpdGxlcycsCisgICAgICAgICdTdXNwZW5kZWQnOiAn
U3VzcGVuZGVkJywKKyAgICAgICAgJ1VubXV0ZSc6ICdVbm11dGUnLAorICAgICAgICAnVmlkZW8g
UGxheWJhY2snOiAnVmlkZW8gUGxheWJhY2snLAorICAgICAgICAnVm9sdW1lJzogJ1ZvbHVtZScs
CisgICAgICAgICdXYWl0aW5nJzogJ1dhaXRpbmcnCisgICAgfQorfTsKXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9FbmdsaXNoLmxwcm9qL21lZGlhQ29u
dHJvbHNMb2NhbGl6ZWRTdHJpbmdzaU9TLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L0VuZ2xpc2gubHByb2ovbWVkaWFDb250cm9sc0xvY2FsaXplZFN0cmluZ3NpT1MuanMJKHJldmlz
aW9uIDApCisrKyBTb3VyY2UvV2ViQ29yZS9FbmdsaXNoLmxwcm9qL21lZGlhQ29udHJvbHNMb2Nh
bGl6ZWRTdHJpbmdzaU9TLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsOSBAQAorZnVuY3Rp
b24gbWVkaWFDb250cm9sc0xvY2FsaXplZFN0cmluZ3NpT1MoKSB7CisgICAgcmV0dXJuIHsKKyAg
ICAgICAgJyMjQUlSUExBWV9ERVZJQ0VfVFlQRSMjJzogJ0FpclBsYXknLAorICAgICAgICAnIyNB
SVJQTEFZX0RFVklDRV9OQU1FIyMnOiAnVGhpcyB2aWRlbyBpcyBwbGF5aW5nIG9uICIjI0RFVklD
RV9OQU1FIyMiLicsCisKKyAgICAgICAgJyMjVFZPVVRfREVWSUNFX1RZUEUjIyc6ICdUViBDb25u
ZWN0ZWQnLAorICAgICAgICAnIyNUVk9VVF9ERVZJQ0VfTkFNRSMjJzogJ1RoaXMgdmlkZW8gaXMg
cGxheWluZyBvbiB0aGUgVFYuJywKKyAgICB9Cit9OwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFjb250cm9scy9tZWRpYUNvbnRy
b2xzQXBwbGUuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYWNv
bnRyb2xzL21lZGlhQ29udHJvbHNBcHBsZS5qcwkocmV2aXNpb24gMTY3MDg5KQorKysgU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9tZWRpYWNvbnRyb2xzL21lZGlhQ29udHJvbHNBcHBsZS5qcwkod29y
a2luZyBjb3B5KQpAQCAtMTA4LDM4ICsxMDgsMTQgQEAgQ29udHJvbGxlci5wcm90b3R5cGUgPSB7
CiAKICAgICAvLyBMb2NhbGl6ZWQgc3RyaW5nIGFjY2Vzc29yCiAgICAgVUlTdHJpbmc6IGZ1bmN0
aW9uKHMpeworICAgICAgICBpZiAoIXRoaXMubG9jYWxpemVkU3RyaW5ncykKKyAgICAgICAgICAg
IHRoaXMubG9jYWxpemVkU3RyaW5ncyA9IG1lZGlhQ29udHJvbHNMb2NhbGl6ZWRTdHJpbmdzKCk7
CisKICAgICAgICAgaWYgKHRoaXMubG9jYWxpemVkU3RyaW5nc1tzXSkKICAgICAgICAgICAgIHJl
dHVybiB0aGlzLmxvY2FsaXplZFN0cmluZ3Nbc107Ci0gICAgICAgIGVsc2UKLSAgICAgICAgICAg
IHJldHVybiBzOyAvLyBGSVhNRTogbG9nIHNvbWV0aGluZyBpZiBzdHJpbmcgbm90IGxvY2FsaXpl
ZC4KLSAgICB9LAotICAgIGxvY2FsaXplZFN0cmluZ3M6IHsKLSAgICAgICAgLy8gRklYTUU6IE1v
dmUgbG9jYWxpemF0aW9uIHRvIGV4dCBzdHJpbmdzIGZpbGUgPGh0dHA6Ly93ZWJraXQub3JnL2Iv
MTIwOTU2PgotICAgICAgICAnQWJvcnRlZCc6ICdBYm9ydGVkJywKLSAgICAgICAgJ0F1ZGlvIFBs
YXliYWNrJzogJ0F1ZGlvIFBsYXliYWNrJywKLSAgICAgICAgJ0NhcHRpb25zJzogJ0NhcHRpb25z
JywKLSAgICAgICAgJ0Rpc3BsYXkgRnVsbCBTY3JlZW4nOiAnRGlzcGxheSBGdWxsIFNjcmVlbics
Ci0gICAgICAgICdEdXJhdGlvbic6ICdEdXJhdGlvbicsCi0gICAgICAgICdFbGFwc2VkJzogJ0Vs
YXBzZWQnLAotICAgICAgICAnRXJyb3InOiAnRXJyb3InLAotICAgICAgICAnRXhpdCBGdWxsIFNj
cmVlbic6ICdFeGl0IEZ1bGwgU2NyZWVuJywKLSAgICAgICAgJ0Zhc3QgRm9yd2FyZCc6ICdGYXN0
IEZvcndhcmQnLAotICAgICAgICAnTG9hZGluZyc6ICdMb2FkaW5nJywKLSAgICAgICAgJ01heGlt
dW0gVm9sdW1lJzogJ01heGltdW0gVm9sdW1lJywKLSAgICAgICAgJ01pbmltdW0gVm9sdW1lJzog
J01pbmltdW0gVm9sdW1lJywKLSAgICAgICAgJ011dGUnOiAnTXV0ZScsCi0gICAgICAgICdQYXVz
ZSc6ICdQYXVzZScsCi0gICAgICAgICdQbGF5JzogJ1BsYXknLAotICAgICAgICAnUmVtYWluaW5n
JzogJ1JlbWFpbmluZycsCi0gICAgICAgICdSZXdpbmQnOiAnUmV3aW5kJywKLSAgICAgICAgJ1Jl
d2luZCAlJXNlYyUlIFNlY29uZHMnOiAnUmV3aW5kICUlc2VjJSUgU2Vjb25kcycsCi0gICAgICAg
ICdTdGFsbGVkJzogJ1N0YWxsZWQnLAotICAgICAgICAnU3VidGl0bGVzJzogJ1N1YnRpdGxlcycs
Ci0gICAgICAgICdTdXNwZW5kZWQnOiAnU3VzcGVuZGVkJywKLSAgICAgICAgJ1VubXV0ZSc6ICdV
bm11dGUnLAotICAgICAgICAnVmlkZW8gUGxheWJhY2snOiAnVmlkZW8gUGxheWJhY2snLAotICAg
ICAgICAnVm9sdW1lJzogJ1ZvbHVtZScsCi0gICAgICAgICdXYWl0aW5nJzogJ1dhaXRpbmcnCisK
KyAgICAgICAgY29uc29sZS5lcnJvcigiTG9jYWxpemVkIHN0cmluZyBcIiIgKyBzICsgIlwiIG5v
dCBmb3VuZC4iKTsKKyAgICAgICAgcmV0dXJuICJMT0NBTElaRUQgU1RSSU5HIE5PVCBGT1VORCI7
CiAgICAgfSwKIAogICAgIGxpc3RlbkZvcjogZnVuY3Rpb24oZWxlbWVudCwgZXZlbnROYW1lLCBo
YW5kbGVyLCB1c2VDYXB0dXJlKQpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYWNv
bnRyb2xzL21lZGlhQ29udHJvbHNpT1MuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9tZWRpYWNvbnRyb2xzL21lZGlhQ29udHJvbHNpT1MuanMJKHJldmlzaW9uIDE2NzA4
OSkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFjb250cm9scy9tZWRpYUNvbnRyb2xz
aU9TLmpzCSh3b3JraW5nIGNvcHkpCkBAIC02NywxOCArNjcsMTQgQEAgQ29udHJvbGxlcklPUy5w
cm90b3R5cGUgPSB7CiAgICAgICAgIGlmIChzdHJpbmcpCiAgICAgICAgICAgICByZXR1cm4gc3Ry
aW5nOwogCisgICAgICAgIGlmICghdGhpcy5sb2NhbGl6ZWRTdHJpbmdzKQorICAgICAgICAgICAg
dGhpcy5sb2NhbGl6ZWRTdHJpbmdzID0gbWVkaWFDb250cm9sc0xvY2FsaXplZFN0cmluZ3NpT1Mo
KTsKKwogICAgICAgICBpZiAodGhpcy5sb2NhbGl6ZWRTdHJpbmdzW3NdKQogICAgICAgICAgICAg
cmV0dXJuIHRoaXMubG9jYWxpemVkU3RyaW5nc1tzXTsKLSAgICAgICAgZWxzZQotICAgICAgICAg
ICAgcmV0dXJuIHM7IC8vIEZJWE1FOiBMT0cgc29tZXRoaW5nIGlmIHN0cmluZyBub3QgbG9jYWxp
emVkLgotICAgIH0sCi0gICAgbG9jYWxpemVkU3RyaW5nczogewotICAgICAgICAvLyBGSVhNRTog
TW92ZSBsb2NhbGl6YXRpb24gdG8gZXh0IHN0cmluZ3MgZmlsZSA8aHR0cDovL3dlYmtpdC5vcmcv
Yi8xMjA5NTY+Ci0gICAgICAgICcjI0FJUlBMQVlfREVWSUNFX1RZUEUjIyc6ICdBaXJQbGF5JywK
LSAgICAgICAgJyMjQUlSUExBWV9ERVZJQ0VfTkFNRSMjJzogJ1RoaXMgdmlkZW8gaXMgcGxheWlu
ZyBvbiAiIyNERVZJQ0VfTkFNRSMjIi4nLAogCi0gICAgICAgICcjI1RWT1VUX0RFVklDRV9UWVBF
IyMnOiAnVFYgQ29ubmVjdGVkJywKLSAgICAgICAgJyMjVFZPVVRfREVWSUNFX05BTUUjIyc6ICdU
aGlzIHZpZGVvIGlzIHBsYXlpbmcgb24gdGhlIFRWLicsCisgICAgICAgIGNvbnNvbGUuZXJyb3Io
IkxvY2FsaXplZCBzdHJpbmcgXCIiICsgcyArICJcIiBub3QgZm91bmQuIik7CisgICAgICAgIHJl
dHVybiAiTE9DQUxJWkVEIFNUUklORyBOT1QgRk9VTkQiOwogICAgIH0sCiAKICAgICBzaG91bGRI
YXZlU3RhcnRQbGF5YmFja0J1dHRvbjogZnVuY3Rpb24oKSB7CkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnZjeHByb2ovY29weVdlYkNvcmVSZXNvdXJjZUZpbGVzLmNtZAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovY29weVdlYkNvcmVSZXNvdXJjZUZp
bGVzLmNtZAkocmV2aXNpb24gMTY3MDg5KQorKysgU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hw
cm9qL2NvcHlXZWJDb3JlUmVzb3VyY2VGaWxlcy5jbWQJKHdvcmtpbmcgY29weSkKQEAgLTEsNCAr
MSw1IEBACiBta2RpciAyPk5VTCAiJUNPTkZJR1VSQVRJT05CVUlMRERJUiVcYmluJVBsYXRmb3Jt
QXJjaGl0ZWN0dXJlJVxXZWJLaXQucmVzb3VyY2VzXGVuLmxwcm9qIgogeGNvcHkgL3kgL2QgL3Mg
L2V4Y2x1ZGU6eGNvcHkuZXhjbHVkZXMgIiVQcm9qZWN0RGlyJS4uXEVuZ2xpc2gubHByb2pcTG9j
YWxpemFibGUuc3RyaW5ncyIgIiVDT05GSUdVUkFUSU9OQlVJTERESVIlXGJpbiVQbGF0Zm9ybUFy
Y2hpdGVjdHVyZSVcV2ViS2l0LnJlc291cmNlc1xlbi5scHJvaiIKK3hjb3B5IC95IC9kIC9zIC9l
eGNsdWRlOnhjb3B5LmV4Y2x1ZGVzICIlUHJvamVjdERpciUuLlxFbmdsaXNoLmxwcm9qXG1lZGlh
Q29udHJvbHNMb2NhbGl6ZWRTdHJpbmdzLmpzIiAiJUNPTkZJR1VSQVRJT05CVUlMRERJUiVcYmlu
JVBsYXRmb3JtQXJjaGl0ZWN0dXJlJVxXZWJLaXQucmVzb3VyY2VzXGVuLmxwcm9qIgogeGNvcHkg
L3kgL2QgL3MgIiVQcm9qZWN0RGlyJS4uXE1vZHVsZXNcbWVkaWFjb250cm9sc1xtZWRpYUNvbnRy
b2xzQXBwbGUuY3NzIiAiJUNPTkZJR1VSQVRJT05CVUlMRERJUiVcYmluJVBsYXRmb3JtQXJjaGl0
ZWN0dXJlJVxXZWJLaXQucmVzb3VyY2VzIgogeGNvcHkgL3kgL2QgL3MgIiVQcm9qZWN0RGlyJS4u
XE1vZHVsZXNcbWVkaWFjb250cm9sc1xtZWRpYUNvbnRyb2xzQXBwbGUuanMiICIlQ09ORklHVVJB
VElPTkJVSUxERElSJVxiaW4lUGxhdGZvcm1BcmNoaXRlY3R1cmUlXFdlYktpdC5yZXNvdXJjZXMi
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCShyZXZpc2lvbiAxNjcwODkpCisrKyBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2oJKHdvcmtpbmcgY29weSkKQEAgLTIyODUsNiArMjI4NSw4IEBA
CiAJCTdBMEU3NzBGMTBDMDBBODgwMEEwMjc2RSAvKiBJbnNwZWN0b3JGcm9udGVuZEhvc3QuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdBMEU3NzBDMTBD
MDBBODgwMEEwMjc2RSAvKiBJbnNwZWN0b3JGcm9udGVuZEhvc3QuaCAqLzsgfTsKIAkJN0EwRTc3
MUUxMEMwMERCMTAwQTAyNzZFIC8qIEpTSW5zcGVjdG9yRnJvbnRlbmRIb3N0LmNwcCBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdBMEU3NzFDMTBDMDBEQjEw
MEEwMjc2RSAvKiBKU0luc3BlY3RvckZyb250ZW5kSG9zdC5jcHAgKi87IH07CiAJCTdBMEU3NzFG
MTBDMDBEQjEwMEEwMjc2RSAvKiBKU0luc3BlY3RvckZyb250ZW5kSG9zdC5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0EwRTc3MUQxMEMwMERCMTAwQTAy
NzZFIC8qIEpTSW5zcGVjdG9yRnJvbnRlbmRIb3N0LmggKi87IH07CisJCTdBMUQ3RkNCMThGODVG
MEYwMEMzODVBRCAvKiBtZWRpYUNvbnRyb2xzTG9jYWxpemVkU3RyaW5ncy5qcyBpbiBSZXNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0ExRDdGQzkxOEY4NUYwRjAw
QzM4NUFEIC8qIG1lZGlhQ29udHJvbHNMb2NhbGl6ZWRTdHJpbmdzLmpzICovOyB9OworCQk3QTFE
N0ZDRTE4Rjg2RTU2MDBDMzg1QUQgLyogbWVkaWFDb250cm9sc0xvY2FsaXplZFN0cmluZ3NpT1Mu
anMgaW4gUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdBMUQ3
RkNDMThGODZFNTYwMEMzODVBRCAvKiBtZWRpYUNvbnRyb2xzTG9jYWxpemVkU3RyaW5nc2lPUy5q
cyAqLzsgfTsKIAkJN0ExRjJCNTIxMjZDNjFCMjAwMDZBN0U2IC8qIEluc3BlY3RvckNsaWVudC5j
cHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3QTFGMkI1
MTEyNkM2MUIyMDAwNkE3RTYgLyogSW5zcGVjdG9yQ2xpZW50LmNwcCAqLzsgfTsKIAkJN0EyNDU4
N0IxMDIxRUFGNDAwMEEwMEFBIC8qIEluc3BlY3RvckRPTUFnZW50LmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdBMjQ1ODc5MTAyMUVBRjQwMDBBMDBB
QSAvKiBJbnNwZWN0b3JET01BZ2VudC5jcHAgKi87IH07CiAJCTdBMjQ1ODdDMTAyMUVBRjQwMDBB
MDBBQSAvKiBJbnNwZWN0b3JET01BZ2VudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gN0EyNDU4N0ExMDIxRUFGNDAwMEEwMEFBIC8qIEluc3BlY3RvckRP
TUFnZW50LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsK
QEAgLTkzMTcsNiArOTMxOSw4IEBACiAJCTdBMEU3NzBEMTBDMDBBODgwMEEwMjc2RSAvKiBJbnNw
ZWN0b3JGcm9udGVuZEhvc3QuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IEluc3BlY3RvckZy
b250ZW5kSG9zdC5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTdBMEU3NzFDMTBD
MDBEQjEwMEEwMjc2RSAvKiBKU0luc3BlY3RvckZyb250ZW5kSG9zdC5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0luc3BlY3RvckZyb250ZW5kSG9zdC5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTdBMEU3NzFEMTBDMDBEQjEwMEEwMjc2RSAvKiBK
U0luc3BlY3RvckZyb250ZW5kSG9zdC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBKU0luc3BlY3RvckZyb250ZW5kSG9zdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQk3QTFEN0ZDQTE4Rjg1RjBGMDBDMzg1QUQgLyogRW5nbGlzaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuamF2YXNjcmlwdDsgbmFt
ZSA9IEVuZ2xpc2g7IHBhdGggPSBFbmdsaXNoLmxwcm9qL21lZGlhQ29udHJvbHNMb2NhbGl6ZWRT
dHJpbmdzLmpzOyBzb3VyY2VUcmVlID0gU09VUkNFX1JPT1Q7IH07CisJCTdBMUQ3RkNEMThGODZF
NTYwMEMzODVBRCAvKiBFbmdsaXNoICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5qYXZhc2NyaXB0OyBuYW1lID0gRW5nbGlzaDsgcGF0
aCA9IEVuZ2xpc2gubHByb2ovbWVkaWFDb250cm9sc0xvY2FsaXplZFN0cmluZ3NpT1MuanM7IHNv
dXJjZVRyZWUgPSBTT1VSQ0VfUk9PVDsgfTsKIAkJN0ExRjJCNTExMjZDNjFCMjAwMDZBN0U2IC8q
IEluc3BlY3RvckNsaWVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBJbnNwZWN0b3JDbGllbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3QTI0
NTg3OTEwMjFFQUY0MDAwQTAwQUEgLyogSW5zcGVjdG9yRE9NQWdlbnQuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSW5zcGVjdG9yRE9NQWdlbnQuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQk3QTI0NTg3QTEwMjFFQUY0MDAwQTAwQUEgLyogSW5zcGVj
dG9yRE9NQWdlbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSW5zcGVjdG9y
RE9NQWdlbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE0NTk0LDYgKzE0NTk4
LDggQEAKIAkJMDg5QzE2NjVGRTg0MTE1OEMwMkFBQzA3IC8qIFJlc291cmNlcyAqLyA9IHsKIAkJ
CWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCisJCQkJN0ExRDdGQ0MxOEY4NkU1NjAw
QzM4NUFEIC8qIG1lZGlhQ29udHJvbHNMb2NhbGl6ZWRTdHJpbmdzaU9TLmpzICovLAorCQkJCTdB
MUQ3RkM5MThGODVGMEYwMEMzODVBRCAvKiBtZWRpYUNvbnRyb2xzTG9jYWxpemVkU3RyaW5ncy5q
cyAqLywKIAkJCQlDRDBEQkIzRTE0MjI3NEU2MDAyODAyNjMgLyogYXVkaW8gKi8sCiAJCQkJNjU5
OThBNjUwRTVGNUZEMzAwNEUwOTdBIC8qIGltYWdlcyAqLywKIAkJCQk0NkY5RDVEQTBCMEQ2MDE3
MDAyOEVFMzYgLyogYWxpYXNDdXJzb3IucG5nICovLApAQCAtMjY0MjksNiArMjY0MzUsNyBAQAog
CQkJaXNhID0gUEJYUmVzb3VyY2VzQnVpbGRQaGFzZTsKIAkJCWJ1aWxkQWN0aW9uTWFzayA9IDIx
NDc0ODM2NDc7CiAJCQlmaWxlcyA9ICgKKwkJCQk3QTFEN0ZDRTE4Rjg2RTU2MDBDMzg1QUQgLyog
bWVkaWFDb250cm9sc0xvY2FsaXplZFN0cmluZ3NpT1MuanMgaW4gUmVzb3VyY2VzICovLAogCQkJ
CTQ2RjlENUREMEIwRDYwMTcwMDI4RUUzNiAvKiBhbGlhc0N1cnNvci5wbmcgaW4gUmVzb3VyY2Vz
ICovLAogCQkJCTQ2RDRGMjQ5MEFGOTdFODEwMDM1Mzg1QSAvKiBjZWxsQ3Vyc29yLnBuZyBpbiBS
ZXNvdXJjZXMgKi8sCiAJCQkJOTMxNTNCREUxNDE5NTlGNDAwRkNGNUJFIC8qIGRlbGV0ZUJ1dHRv
bi5wbmcgaW4gUmVzb3VyY2VzICovLApAQCAtMjY0NjEsNiArMjY0NjgsNyBAQAogCQkJCTg1MTM2
Q0EzMEFFRDY2NTkwMEY5MEEzRCAvKiBub3J0aFdlc3RTb3V0aEVhc3RSZXNpemVDdXJzb3IucG5n
IGluIFJlc291cmNlcyAqLywKIAkJCQk0NkY5RDVERjBCMEQ2MDE3MDAyOEVFMzYgLyogcHJvZ3Jl
c3NDdXJzb3IucG5nIGluIFJlc291cmNlcyAqLywKIAkJCQk4NTEzNkNBNDBBRUQ2NjU5MDBGOTBB
M0QgLyogc291dGhFYXN0UmVzaXplQ3Vyc29yLnBuZyBpbiBSZXNvdXJjZXMgKi8sCisJCQkJN0Ex
RDdGQ0IxOEY4NUYwRjAwQzM4NUFEIC8qIG1lZGlhQ29udHJvbHNMb2NhbGl6ZWRTdHJpbmdzLmpz
IGluIFJlc291cmNlcyAqLywKIAkJCQk4NTEzNkNBNTBBRUQ2NjU5MDBGOTBBM0QgLyogc291dGhS
ZXNpemVDdXJzb3IucG5nIGluIFJlc291cmNlcyAqLywKIAkJCQk4NTEzNkNBNjBBRUQ2NjU5MDBG
OTBBM0QgLyogc291dGhXZXN0UmVzaXplQ3Vyc29yLnBuZyBpbiBSZXNvdXJjZXMgKi8sCiAJCQkJ
QkU4Qzc1MzExMDY4MTMyNDAwMUU5M0Y1IC8qIFNwZWxsaW5nRG90LnBuZyBpbiBSZXNvdXJjZXMg
Ki8sCkBAIC0yOTU2Miw2ICsyOTU3MCwyMiBAQAogLyogRW5kIFBCWFRhcmdldERlcGVuZGVuY3kg
c2VjdGlvbiAqLwogCiAvKiBCZWdpbiBQQlhWYXJpYW50R3JvdXAgc2VjdGlvbiAqLworCQk3QTFE
N0ZDOTE4Rjg1RjBGMDBDMzg1QUQgLyogbWVkaWFDb250cm9sc0xvY2FsaXplZFN0cmluZ3MuanMg
Ki8gPSB7CisJCQlpc2EgPSBQQlhWYXJpYW50R3JvdXA7CisJCQljaGlsZHJlbiA9ICgKKwkJCQk3
QTFEN0ZDQTE4Rjg1RjBGMDBDMzg1QUQgLyogRW5nbGlzaCAqLywKKwkJCSk7CisJCQluYW1lID0g
bWVkaWFDb250cm9sc0xvY2FsaXplZFN0cmluZ3MuanM7CisJCQlzb3VyY2VUcmVlID0gIjxncm91
cD4iOworCQl9OworCQk3QTFEN0ZDQzE4Rjg2RTU2MDBDMzg1QUQgLyogbWVkaWFDb250cm9sc0xv
Y2FsaXplZFN0cmluZ3NpT1MuanMgKi8gPSB7CisJCQlpc2EgPSBQQlhWYXJpYW50R3JvdXA7CisJ
CQljaGlsZHJlbiA9ICgKKwkJCQk3QTFEN0ZDRDE4Rjg2RTU2MDBDMzg1QUQgLyogRW5nbGlzaCAq
LywKKwkJCSk7CisJCQluYW1lID0gbWVkaWFDb250cm9sc0xvY2FsaXplZFN0cmluZ3NpT1MuanM7
CisJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOworCQl9OwogCQlCQ0FEMTgwODEzMUM3QTBEMDA5
OTA0MDYgLyogTG9jYWxpemFibGUuc3RyaW5ncyAqLyA9IHsKIAkJCWlzYSA9IFBCWFZhcmlhbnRH
cm91cDsKIAkJCWNoaWxkcmVuID0gKApJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlclRoZW1lSU9TLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJUaGVtZUlPUy5tbQkocmV2aXNpb24gMTY3MDg5KQorKysgU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlclRoZW1lSU9TLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0xMjE2LDcgKzEyMTYs
OSBAQCBTdHJpbmcgUmVuZGVyVGhlbWVJT1M6Om1lZGlhQ29udHJvbHNTY3JpCiAjaWYgRU5BQkxF
KE1FRElBX0NPTlRST0xTX1NDUklQVCkKICAgICBpZiAobV9tZWRpYUNvbnRyb2xzU2NyaXB0Lmlz
RW1wdHkoKSkgewogICAgICAgICBTdHJpbmdCdWlsZGVyIHNjcmlwdEJ1aWxkZXI7CisgICAgICAg
IHNjcmlwdEJ1aWxkZXIuYXBwZW5kKFtOU1N0cmluZyBzdHJpbmdXaXRoQ29udGVudHNPZkZpbGU6
W1tOU0J1bmRsZSBidW5kbGVGb3JDbGFzczpbV2ViQ29yZVJlbmRlclRoZW1lQnVuZGxlIGNsYXNz
XV0gcGF0aEZvclJlc291cmNlOkAibWVkaWFDb250cm9sc0xvY2FsaXplZFN0cmluZ3MiIG9mVHlw
ZTpAImpzIl0gZW5jb2Rpbmc6TlNVVEY4U3RyaW5nRW5jb2RpbmcgZXJyb3I6bmlsXSk7CiAgICAg
ICAgIHNjcmlwdEJ1aWxkZXIuYXBwZW5kKFtOU1N0cmluZyBzdHJpbmdXaXRoQ29udGVudHNPZkZp
bGU6W1tOU0J1bmRsZSBidW5kbGVGb3JDbGFzczpbV2ViQ29yZVJlbmRlclRoZW1lQnVuZGxlIGNs
YXNzXV0gcGF0aEZvclJlc291cmNlOkAibWVkaWFDb250cm9sc0FwcGxlIiBvZlR5cGU6QCJqcyJd
IGVuY29kaW5nOk5TVVRGOFN0cmluZ0VuY29kaW5nIGVycm9yOm5pbF0pOworICAgICAgICBzY3Jp
cHRCdWlsZGVyLmFwcGVuZChbTlNTdHJpbmcgc3RyaW5nV2l0aENvbnRlbnRzT2ZGaWxlOltbTlNC
dW5kbGUgYnVuZGxlRm9yQ2xhc3M6W1dlYkNvcmVSZW5kZXJUaGVtZUJ1bmRsZSBjbGFzc11dIHBh
dGhGb3JSZXNvdXJjZTpAIm1lZGlhQ29udHJvbHNMb2NhbGl6ZWRTdHJpbmdzaU9TIiBvZlR5cGU6
QCJqcyJdIGVuY29kaW5nOk5TVVRGOFN0cmluZ0VuY29kaW5nIGVycm9yOm5pbF0pOwogICAgICAg
ICBzY3JpcHRCdWlsZGVyLmFwcGVuZChbTlNTdHJpbmcgc3RyaW5nV2l0aENvbnRlbnRzT2ZGaWxl
OltbTlNCdW5kbGUgYnVuZGxlRm9yQ2xhc3M6W1dlYkNvcmVSZW5kZXJUaGVtZUJ1bmRsZSBjbGFz
c11dIHBhdGhGb3JSZXNvdXJjZTpAIm1lZGlhQ29udHJvbHNpT1MiIG9mVHlwZTpAImpzIl0gZW5j
b2Rpbmc6TlNVVEY4U3RyaW5nRW5jb2RpbmcgZXJyb3I6bmlsXSk7CiAgICAgICAgIG1fbWVkaWFD
b250cm9sc1NjcmlwdCA9IHNjcmlwdEJ1aWxkZXIudG9TdHJpbmcoKTsKICAgICB9CkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVNYWMubW0KPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lTWFjLm1tCShyZXZpc2lvbiAxNjcw
ODkpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVNYWMubW0JKHdvcmtp
bmcgY29weSkKQEAgLTIzNyw4ICsyMzcsMTIgQEAgU3RyaW5nIFJlbmRlclRoZW1lTWFjOjptZWRp
YUNvbnRyb2xzU3R5bAogU3RyaW5nIFJlbmRlclRoZW1lTWFjOjptZWRpYUNvbnRyb2xzU2NyaXB0
KCkKIHsKICNpZiBFTkFCTEUoTUVESUFfQ09OVFJPTFNfU0NSSVBUKQotICAgIGlmIChtX21lZGlh
Q29udHJvbHNTY3JpcHQuaXNFbXB0eSgpKQotICAgICAgICBtX21lZGlhQ29udHJvbHNTY3JpcHQg
PSBbTlNTdHJpbmcgc3RyaW5nV2l0aENvbnRlbnRzT2ZGaWxlOltbTlNCdW5kbGUgYnVuZGxlRm9y
Q2xhc3M6W1dlYkNvcmVSZW5kZXJUaGVtZUJ1bmRsZSBjbGFzc11dIHBhdGhGb3JSZXNvdXJjZTpA
Im1lZGlhQ29udHJvbHNBcHBsZSIgb2ZUeXBlOkAianMiXSBlbmNvZGluZzpOU1VURjhTdHJpbmdF
bmNvZGluZyBlcnJvcjpuaWxdOworICAgIGlmIChtX21lZGlhQ29udHJvbHNTY3JpcHQuaXNFbXB0
eSgpKSB7CisgICAgICAgIFN0cmluZ0J1aWxkZXIgc2NyaXB0QnVpbGRlcjsKKyAgICAgICAgc2Ny
aXB0QnVpbGRlci5hcHBlbmQoW05TU3RyaW5nIHN0cmluZ1dpdGhDb250ZW50c09mRmlsZTpbW05T
QnVuZGxlIGJ1bmRsZUZvckNsYXNzOltXZWJDb3JlUmVuZGVyVGhlbWVCdW5kbGUgY2xhc3NdXSBw
YXRoRm9yUmVzb3VyY2U6QCJtZWRpYUNvbnRyb2xzTG9jYWxpemVkU3RyaW5ncyIgb2ZUeXBlOkAi
anMiXSBlbmNvZGluZzpOU1VURjhTdHJpbmdFbmNvZGluZyBlcnJvcjpuaWxdKTsKKyAgICAgICAg
c2NyaXB0QnVpbGRlci5hcHBlbmQoW05TU3RyaW5nIHN0cmluZ1dpdGhDb250ZW50c09mRmlsZTpb
W05TQnVuZGxlIGJ1bmRsZUZvckNsYXNzOltXZWJDb3JlUmVuZGVyVGhlbWVCdW5kbGUgY2xhc3Nd
XSBwYXRoRm9yUmVzb3VyY2U6QCJtZWRpYUNvbnRyb2xzQXBwbGUiIG9mVHlwZTpAImpzIl0gZW5j
b2Rpbmc6TlNVVEY4U3RyaW5nRW5jb2RpbmcgZXJyb3I6bmlsXSk7CisgICAgICAgIG1fbWVkaWFD
b250cm9sc1NjcmlwdCA9IHNjcmlwdEJ1aWxkZXIudG9TdHJpbmcoKTsKKyAgICB9CiAgICAgcmV0
dXJuIG1fbWVkaWFDb250cm9sc1NjcmlwdDsKICNlbHNlCiAgICAgcmV0dXJuIGVtcHR5U3RyaW5n
KCk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVXaW4uY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZVdpbi5jcHAJ
KHJldmlzaW9uIDE2NzA4OSkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVt
ZVdpbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTExNDMsOCArMTE0MywxMiBAQCBTdHJpbmcgUmVu
ZGVyVGhlbWVXaW46Om1lZGlhQ29udHJvbHNTdHlsCiBTdHJpbmcgUmVuZGVyVGhlbWVXaW46Om1l
ZGlhQ29udHJvbHNTY3JpcHQoKQogewogI2lmIEVOQUJMRShNRURJQV9DT05UUk9MU19TQ1JJUFQp
Ci0gICAgaWYgKG1fbWVkaWFDb250cm9sc1NjcmlwdC5pc0VtcHR5KCkpCi0gICAgICAgIG1fbWVk
aWFDb250cm9sc1NjcmlwdCA9IHN0cmluZ1dpdGhDb250ZW50c09mRmlsZShDRlNUUigibWVkaWFD
b250cm9sc0FwcGxlIiksIENGU1RSKCJqcyIpKTsKKyAgICBpZiAobV9tZWRpYUNvbnRyb2xzU2Ny
aXB0LmlzRW1wdHkoKSkgeworICAgICAgICBTdHJpbmdCdWlsZGVyIHNjcmlwdEJ1aWxkZXI7Cisg
ICAgICAgIHNjcmlwdEJ1aWxkZXIuYXBwZW5kKHN0cmluZ1dpdGhDb250ZW50c09mRmlsZShDRlNU
UigibWVkaWFDb250cm9sc0xvY2FsaXplZFN0cmluZ3MiKSwgQ0ZTVFIoImpzIikpKTsKKyAgICAg
ICAgc2NyaXB0QnVpbGRlci5hcHBlbmQoc3RyaW5nV2l0aENvbnRlbnRzT2ZGaWxlKENGU1RSKCJt
ZWRpYUNvbnRyb2xzQXBwbGUiKSwgQ0ZTVFIoImpzIikpKTsKKyAgICAgICAgbV9tZWRpYUNvbnRy
b2xzU2NyaXB0ID0gc2NyaXB0QnVpbGRlci50b1N0cmluZygpOworICAgIH0KICAgICByZXR1cm4g
bV9tZWRpYUNvbnRyb2xzU2NyaXB0OwogI2Vsc2UKICAgICByZXR1cm4gZW1wdHlTdHJpbmcoKTsK
</data>
<flag name="review"
          id="253514"
          type_id="1"
          status="+"
          setter="jer.noble"
    />
          </attachment>
      

    </bug>

</bugzilla>