<?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>161885</bug_id>
          
          <creation_ts>2016-09-12 16:44:38 -0700</creation_ts>
          <short_desc>Fix post-landing review comments after r205787</short_desc>
          <delta_ts>2016-09-12 19:15:02 -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>WebCore Misc.</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>161669</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>darin</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1228987</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-09-12 16:44:38 -0700</bug_when>
    <thetext>Fix post-landing review comments after r205787.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1228988</commentid>
    <comment_count>1</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-09-12 16:44:58 -0700</bug_when>
    <thetext>https://bugs.webkit.org/show_bug.cgi?id=161669#c18</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1228992</commentid>
    <comment_count>2</comment_count>
      <attachid>288639</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-09-12 16:48:36 -0700</bug_when>
    <thetext>Created attachment 288639
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1229030</commentid>
    <comment_count>3</comment_count>
      <attachid>288639</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2016-09-12 18:16:42 -0700</bug_when>
    <thetext>Comment on attachment 288639
Patch

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

Looks good.

&gt; Source/WTF/wtf/text/StringBuilder.cpp:309
&gt; +#if USE(CF)

Other classes use a separate source file for the CF stuff. But I suppose it’s too much to ask to add a StringBuilderCF.cpp just for this.

&gt; Source/WTF/wtf/text/StringBuilder.cpp:314
&gt; +    if (auto* characters = CFStringGetCStringPtr(string, kCFStringEncodingASCII)) {

Why not kCFStringEncodingISOLatin1? It seems a little strange that this code is so different from the code in StringCF.cpp.

&gt; Source/WTF/wtf/text/StringBuilder.h:110
&gt; +#if USE(CF)
&gt; +    WTF_EXPORT_PRIVATE void append(CFStringRef);
&gt; +#ifdef __OBJC__
&gt; +    void append(NSString *string) { append((__bridge CFStringRef)string); }
&gt; +#endif
&gt; +#endif

In the past I have often written these as separate if statements just to avoid hard-to-read nesting.

#if USE(CF)
    WTF_EXPORT_PRIVATE void append(CFStringRef);
#endif
#if USE(CF) &amp;&amp; defined(__OBJC__)
    void append(NSString *string) { append((__bridge CFStringRef)string); }
#endif

I think that’s slightly better.

&gt; Source/WebCore/html/parser/HTMLParserIdioms.cpp:366
&gt; -    Optional&lt;unsigned&gt; number = parseHTMLNonNegativeInteger(StringView(numberStart, position - numberStart));
&gt; +    Optional&lt;unsigned&gt; number = parseHTMLNonNegativeInteger({ numberStart, static_cast&lt;unsigned&gt;(position - numberStart) });

Darn, that cast to unsigned we need here makes it not quite as great as I had hoped.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1229032</commentid>
    <comment_count>4</comment_count>
      <attachid>288654</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-09-12 18:42:11 -0700</bug_when>
    <thetext>Created attachment 288654
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1229042</commentid>
    <comment_count>5</comment_count>
      <attachid>288654</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-09-12 19:14:56 -0700</bug_when>
    <thetext>Comment on attachment 288654
Patch

Clearing flags on attachment: 288654

Committed r205847: &lt;http://trac.webkit.org/changeset/205847&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1229043</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-09-12 19:15:02 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>288639</attachid>
            <date>2016-09-12 16:48:36 -0700</date>
            <delta_ts>2016-09-12 18:42:08 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-161885-20160912164602.patch</filename>
            <type>text/plain</type>
            <size>13081</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA1ODE5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGE0ZTllMTczYjJiMzc3M2FiZGUyMWE3
NzdmNzU2ZmI3NjAxYzgyNTkuLmY0Y2Y5ZGJjNDY2YzIzM2JjNzhlNWM5ZDc5YzY2N2RmOTQzZWU1
Y2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMTYtMDktMTIgIENocmlzIER1bWV6ICA8Y2R1bWV6
QGFwcGxlLmNvbT4KKworICAgICAgICBGaXggcG9zdC1sYW5kaW5nIHJldmlldyBjb21tZW50cyBh
ZnRlciByMjA1Nzg3CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xNjE4ODUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBBZGQgbmV3IFN0cmluZ0J1aWxkZXI6OmFwcGVuZChDRlN0cmluZ1JlZikgLyBhcHBlbmQo
TlNTdHJpbmcqKQorICAgICAgICBvdmVybG9hZHMgdG8gYXZvaWQgYW4gZXh0cmEgc3RyaW5nIGNv
cHkgd2hlbiBwb3NzaWJsZS4KKworICAgICAgICAqIHd0Zi90ZXh0L1N0cmluZ0J1aWxkZXIuY3Bw
OgorICAgICAgICAoV1RGOjpTdHJpbmdCdWlsZGVyOjphcHBlbmQpOgorICAgICAgICAqIHd0Zi90
ZXh0L1N0cmluZ0J1aWxkZXIuaDoKKyAgICAgICAgKFdURjo6U3RyaW5nQnVpbGRlcjo6YXBwZW5k
KToKKwogMjAxNi0wOS0xMiAgU2FhbSBCYXJhdGkgIDxzYmFyYXRpQGFwcGxlLmNvbT4KIAogICAg
ICAgICBNYXBIYXNoIHNob3VsZCBkbyBjb25zdGFudCBmb2xkaW5nIHdoZW4gaXQgaGFzIGEgY29u
c3RhbnQgYXJndW1lbnQgYW5kIGl0cyBsZWdhbCB0byBoYXNoIHRoYXQgdmFsdWUKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpp
bmRleCBhNjBjOGJmZGU3YTg2NTA4ZTE1YTQ1NDdlNDVhZjAwNzY0MTU5Y2M3Li4xOGZkYmNmN2Vk
MDMzMjFkNWY4NDRjOTk4NWRiYTgyYmJiY2NiMTViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMjgg
QEAKIDIwMTYtMDktMTIgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAorICAgICAg
ICBGaXggcG9zdC1sYW5kaW5nIHJldmlldyBjb21tZW50cyBhZnRlciByMjA1Nzg3CisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjE4ODUKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBMZXZlcmFnZSBuZXcgU3Ry
aW5nQnVpbGRlcjo6YXBwZW5kKENGU3RyaW5nUmVmKSBvdmVybG9hZC4KKworICAgICAgICAqIGh0
bWwvcGFyc2VyL0hUTUxQYXJzZXJJZGlvbXMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6cGFyc2VI
VFRQUmVmcmVzaEludGVybmFsKToKKyAgICAgICAgKiBwYWdlL0NhcHRpb25Vc2VyUHJlZmVyZW5j
ZXNNZWRpYUFGLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNhcHRpb25Vc2VyUHJlZmVyZW5jZXNN
ZWRpYUFGOjpjYXB0aW9uc0RlZmF1bHRGb250Q1NTKToKKyAgICAgICAgKFdlYkNvcmU6OmJ1aWxk
RGlzcGxheVN0cmluZ0ZvclRyYWNrQmFzZSk6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9t
YWMvQ29va2llSmFyTWFjLm1tOgorICAgICAgICAoV2ViQ29yZTo6Y29va2llc0ZvclNlc3Npb24p
OgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUaGVtZUlPUy5tbToKKyAgICAgICAgKFdlYkNv
cmU6OlJlbmRlclRoZW1lSU9TOjptZWRpYUNvbnRyb2xzU3R5bGVTaGVldCk6CisgICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJUaGVtZUlPUzo6bWVkaWFDb250cm9sc1NjcmlwdCk6CisgICAgICAgICog
cmVuZGVyaW5nL1JlbmRlclRoZW1lTWFjLm1tOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhl
bWVNYWM6Om1lZGlhQ29udHJvbHNTdHlsZVNoZWV0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
clRoZW1lTWFjOjptZWRpYUNvbnRyb2xzU2NyaXB0KToKKworMjAxNi0wOS0xMiAgQ2hyaXMgRHVt
ZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCiAgICAgICAgIFN3aXRjaCByZW1haW5pbmcgdXNlcnMg
b2YgRG9jdW1lbnQ6OmluUGFnZUNhY2hlKCkgdG8gcGFnZUNhY2hlU3RhdGUoKQogICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTYxODY1CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XVEYvd3RmL3RleHQvU3RyaW5nQnVpbGRlci5jcHAgYi9Tb3VyY2UvV1RGL3d0
Zi90ZXh0L1N0cmluZ0J1aWxkZXIuY3BwCmluZGV4IDJiZGY0YTNkODJlOTRjOTNmNTNlY2Y0MTBm
ZTcyMjJhMWZjNTMxM2IuLjcxYmZjYWZiMGU1N2Y1OGY3NDhlMjQ1ZjFmNzU2OWM0NTY5MmVkODYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL3RleHQvU3RyaW5nQnVpbGRlci5jcHAKKysrIGIv
U291cmNlL1dURi93dGYvdGV4dC9TdHJpbmdCdWlsZGVyLmNwcApAQCAtMzA2LDYgKzMwNiwyMCBA
QCB2b2lkIFN0cmluZ0J1aWxkZXI6OmFwcGVuZChjb25zdCBMQ2hhciogY2hhcmFjdGVycywgdW5z
aWduZWQgbGVuZ3RoKQogICAgIH0KIH0KIAorI2lmIFVTRShDRikKKwordm9pZCBTdHJpbmdCdWls
ZGVyOjphcHBlbmQoQ0ZTdHJpbmdSZWYgc3RyaW5nKQoreworICAgIC8vIEZhc3QgcGF0aDogYXZv
aWQgY29uc3RydWN0aW5nIGEgdGVtcG9yYXJ5IFN0cmluZyB3aGVuIHBvc3NpYmxlLgorICAgIGlm
IChhdXRvKiBjaGFyYWN0ZXJzID0gQ0ZTdHJpbmdHZXRDU3RyaW5nUHRyKHN0cmluZywga0NGU3Ry
aW5nRW5jb2RpbmdBU0NJSSkpIHsKKyAgICAgICAgYXBwZW5kKHJlaW50ZXJwcmV0X2Nhc3Q8Y29u
c3QgTENoYXIqPihjaGFyYWN0ZXJzKSwgQ0ZTdHJpbmdHZXRMZW5ndGgoc3RyaW5nKSk7CisgICAg
ICAgIHJldHVybjsKKyAgICB9CisgICAgYXBwZW5kKFN0cmluZyhzdHJpbmcpKTsKK30KKworI2Vu
ZGlmCisKIHZvaWQgU3RyaW5nQnVpbGRlcjo6YXBwZW5kTnVtYmVyKGludCBudW1iZXIpCiB7CiAg
ICAgbnVtYmVyVG9TdHJpbmdTaWduZWQ8U3RyaW5nQnVpbGRlcj4obnVtYmVyLCB0aGlzKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL3RleHQvU3RyaW5nQnVpbGRlci5oIGIvU291cmNlL1dU
Ri93dGYvdGV4dC9TdHJpbmdCdWlsZGVyLmgKaW5kZXggMDViMTViYmYwMTRhZGE0YWJjMWM0YWNh
ZDllZjAxM2VjZmY5Yjk5NC4uYjQxY2M5ZjYzZjg5NTA2YWViOWVlMzE4ODQxNmMxNjcwNzgwYWJm
ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvdGV4dC9TdHJpbmdCdWlsZGVyLmgKKysrIGIv
U291cmNlL1dURi93dGYvdGV4dC9TdHJpbmdCdWlsZGVyLmgKQEAgLTEwMSw2ICsxMDEsMTMgQEAg
cHVibGljOgogICAgICAgICBlbHNlCiAgICAgICAgICAgICBhcHBlbmQoc3RyaW5nVmlldy5jaGFy
YWN0ZXJzMTYoKSwgc3RyaW5nVmlldy5sZW5ndGgoKSk7CiAgICAgfQorCisjaWYgVVNFKENGKQor
ICAgIFdURl9FWFBPUlRfUFJJVkFURSB2b2lkIGFwcGVuZChDRlN0cmluZ1JlZik7CisjaWZkZWYg
X19PQkpDX18KKyAgICB2b2lkIGFwcGVuZChOU1N0cmluZyAqc3RyaW5nKSB7IGFwcGVuZCgoX19i
cmlkZ2UgQ0ZTdHJpbmdSZWYpc3RyaW5nKTsgfQorI2VuZGlmCisjZW5kaWYKICAgICAKICAgICB2
b2lkIGFwcGVuZChjb25zdCBTdHJpbmcmIHN0cmluZywgdW5zaWduZWQgb2Zmc2V0LCB1bnNpZ25l
ZCBsZW5ndGgpCiAgICAgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIv
SFRNTFBhcnNlcklkaW9tcy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MUGFy
c2VySWRpb21zLmNwcAppbmRleCAzYjhjYzRkMjI1MGNiZDZiOGE3NzU1YzdmYWU4YmNmNmRkNTEy
MzViLi5kZjI5MWM5NTM4YmZiMzc5NjBkYTg1NDRjMWE0ZTFlNDJjYmQ2Y2M5IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MUGFyc2VySWRpb21zLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MUGFyc2VySWRpb21zLmNwcApAQCAtMzYzLDcg
KzM2Myw3IEBAIHN0YXRpYyBib29sIHBhcnNlSFRUUFJlZnJlc2hJbnRlcm5hbChjb25zdCBDaGFy
YWN0ZXJUeXBlKiBwb3NpdGlvbiwgY29uc3QgQ2hhcmFjCiAgICAgd2hpbGUgKHBvc2l0aW9uIDwg
ZW5kICYmIGlzQVNDSUlEaWdpdCgqcG9zaXRpb24pKQogICAgICAgICArK3Bvc2l0aW9uOwogCi0g
ICAgT3B0aW9uYWw8dW5zaWduZWQ+IG51bWJlciA9IHBhcnNlSFRNTE5vbk5lZ2F0aXZlSW50ZWdl
cihTdHJpbmdWaWV3KG51bWJlclN0YXJ0LCBwb3NpdGlvbiAtIG51bWJlclN0YXJ0KSk7CisgICAg
T3B0aW9uYWw8dW5zaWduZWQ+IG51bWJlciA9IHBhcnNlSFRNTE5vbk5lZ2F0aXZlSW50ZWdlcih7
IG51bWJlclN0YXJ0LCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4ocG9zaXRpb24gLSBudW1iZXJTdGFy
dCkgfSk7CiAgICAgaWYgKCFudW1iZXIpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9DYXB0aW9uVXNlclByZWZlcmVuY2VzTWVkaWFBRi5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NhcHRpb25Vc2VyUHJlZmVyZW5jZXNNZWRpYUFGLmNw
cAppbmRleCA1ZjA1YmI5MGZhMTIzY2JiYTY5NzRkMGYwZTllNDJhYjg2YmZhY2UwLi4wZWY3ZGIz
ZjFkYmRiZTE4ZDVjMzY0NGZhMTYwZmNiODg0MjI4YTFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL0NhcHRpb25Vc2VyUHJlZmVyZW5jZXNNZWRpYUFGLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0NhcHRpb25Vc2VyUHJlZmVyZW5jZXNNZWRpYUFGLmNwcApAQCAtNDMyLDcg
KzQzMiw3IEBAIFN0cmluZyBDYXB0aW9uVXNlclByZWZlcmVuY2VzTWVkaWFBRjo6Y2FwdGlvbnNE
ZWZhdWx0Rm9udENTUygpIGNvbnN0CiAgICAgCiAgICAgYnVpbGRlci5hcHBlbmQoZ2V0UHJvcGVy
dHlOYW1lU3RyaW5nKENTU1Byb3BlcnR5Rm9udEZhbWlseSkpOwogICAgIGJ1aWxkZXIuYXBwZW5k
TGl0ZXJhbCgiOiBcIiIpOwotICAgIGJ1aWxkZXIuYXBwZW5kKFN0cmluZyhzdGF0aWNfY2FzdDxD
RlN0cmluZ1JlZj4obmFtZS5nZXQoKSkpKTsKKyAgICBidWlsZGVyLmFwcGVuZChzdGF0aWNfY2Fz
dDxDRlN0cmluZ1JlZj4obmFtZS5nZXQoKSkpOwogICAgIGJ1aWxkZXIuYXBwZW5kKCciJyk7CiAg
ICAgaWYgKGJlaGF2aW9yID09IGtNQUNhcHRpb25BcHBlYXJhbmNlQmVoYXZpb3JVc2VWYWx1ZSkK
ICAgICAgICAgYnVpbGRlci5hcHBlbmRMaXRlcmFsKCIgIWltcG9ydGFudCIpOwpAQCAtNjQyLDcg
KzY0Miw3IEBAIHN0YXRpYyB2b2lkIGJ1aWxkRGlzcGxheVN0cmluZ0ZvclRyYWNrQmFzZShTdHJp
bmdCdWlsZGVyJiBkaXNwbGF5TmFtZSwgY29uc3QgVHJhCiAgICAgICAgIGVsc2UgaWYgKCFsYW5n
dWFnZS5pc0VtcHR5KCkpCiAgICAgICAgICAgICBkaXNwbGF5TmFtZS5hcHBlbmQobGFuZ3VhZ2Up
OwogICAgICAgICBlbHNlCi0gICAgICAgICAgICBkaXNwbGF5TmFtZS5hcHBlbmQoU3RyaW5nKGxv
Y2FsZUlkZW50aWZpZXIuZ2V0KCkpKTsKKyAgICAgICAgICAgIGRpc3BsYXlOYW1lLmFwcGVuZChs
b2NhbGVJZGVudGlmaWVyLmdldCgpKTsKICAgICB9CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvbWFjL0Nvb2tpZUphck1hYy5tbSBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL25ldHdvcmsvbWFjL0Nvb2tpZUphck1hYy5tbQppbmRleCA4YzMxNzEyNTQ1
NTg3ZmFmM2QzMjE0NzJjYmI4N2U1ODY3NmU1YjNlLi4xYTBjYzdiN2IwZmJjOTFhNDI1YzRjNDAy
MjVmNTE5YjAyMTIyM2UxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3
b3JrL21hYy9Db29raWVKYXJNYWMubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0
d29yay9tYWMvQ29va2llSmFyTWFjLm1tCkBAIC0xNTUsOSArMTU1LDkgQEAgc3RhdGljIFN0cmlu
ZyBjb29raWVzRm9yU2Vzc2lvbihjb25zdCBOZXR3b3JrU3RvcmFnZVNlc3Npb24mIHNlc3Npb24s
IGNvbnN0IFVSTCYKICAgICAgICAgaWYgKCFjb29raWVzQnVpbGRlci5pc0VtcHR5KCkpCiAgICAg
ICAgICAgICBjb29raWVzQnVpbGRlci5hcHBlbmRMaXRlcmFsKCI7ICIpOwogCi0gICAgICAgIGNv
b2tpZXNCdWlsZGVyLmFwcGVuZChTdHJpbmcoW2Nvb2tpZSBuYW1lXSkpOworICAgICAgICBjb29r
aWVzQnVpbGRlci5hcHBlbmQoW2Nvb2tpZSBuYW1lXSk7CiAgICAgICAgIGNvb2tpZXNCdWlsZGVy
LmFwcGVuZCgnPScpOwotICAgICAgICBjb29raWVzQnVpbGRlci5hcHBlbmQoU3RyaW5nKFtjb29r
aWUgdmFsdWVdKSk7CisgICAgICAgIGNvb2tpZXNCdWlsZGVyLmFwcGVuZChbY29va2llIHZhbHVl
XSk7CiAgICAgfQogICAgIHJldHVybiBjb29raWVzQnVpbGRlci50b1N0cmluZygpOwogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVJT1MubW0gYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVJT1MubW0KaW5kZXggZmZjMzBkNDg3MWVj
ZDU2YzY1MWNhYWUzNWUxYjhhMDE4NzJjYzU3Ni4uODc5MGY3OWMzZDMxOTU1NzkxOWNkYTgzMjVj
YmRmZjMxZWU3OGVlYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
clRoZW1lSU9TLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUlP
Uy5tbQpAQCAtMTI5MCwxMSArMTI5MCw4IEBAIHZvaWQgUmVuZGVyVGhlbWVJT1M6OnVwZGF0ZUNh
Y2hlZFN5c3RlbUZvbnREZXNjcmlwdGlvbihDU1NWYWx1ZUlEIHZhbHVlSUQsIEZvbnRDCiBTdHJp
bmcgUmVuZGVyVGhlbWVJT1M6Om1lZGlhQ29udHJvbHNTdHlsZVNoZWV0KCkKIHsKICNpZiBFTkFC
TEUoTUVESUFfQ09OVFJPTFNfU0NSSVBUKQotICAgIGlmIChtX21lZGlhQ29udHJvbHNTdHlsZVNo
ZWV0LmlzRW1wdHkoKSkgewotICAgICAgICBTdHJpbmdCdWlsZGVyIGJ1aWxkZXI7Ci0gICAgICAg
IGJ1aWxkZXIuYXBwZW5kKFN0cmluZyhbTlNTdHJpbmcgc3RyaW5nV2l0aENvbnRlbnRzT2ZGaWxl
OltbTlNCdW5kbGUgYnVuZGxlRm9yQ2xhc3M6W1dlYkNvcmVSZW5kZXJUaGVtZUJ1bmRsZSBjbGFz
c11dIHBhdGhGb3JSZXNvdXJjZTpAIm1lZGlhQ29udHJvbHNpT1MiIG9mVHlwZTpAImNzcyJdIGVu
Y29kaW5nOk5TVVRGOFN0cmluZ0VuY29kaW5nIGVycm9yOm5pbF0pKTsKLSAgICAgICAgbV9tZWRp
YUNvbnRyb2xzU3R5bGVTaGVldCA9IGJ1aWxkZXIudG9TdHJpbmcoKTsKLSAgICB9CisgICAgaWYg
KG1fbWVkaWFDb250cm9sc1N0eWxlU2hlZXQuaXNFbXB0eSgpKQorICAgICAgICBtX21lZGlhQ29u
dHJvbHNTdHlsZVNoZWV0ID0gW05TU3RyaW5nIHN0cmluZ1dpdGhDb250ZW50c09mRmlsZTpbW05T
QnVuZGxlIGJ1bmRsZUZvckNsYXNzOltXZWJDb3JlUmVuZGVyVGhlbWVCdW5kbGUgY2xhc3NdXSBw
YXRoRm9yUmVzb3VyY2U6QCJtZWRpYUNvbnRyb2xzaU9TIiBvZlR5cGU6QCJjc3MiXSBlbmNvZGlu
ZzpOU1VURjhTdHJpbmdFbmNvZGluZyBlcnJvcjpuaWxdOwogICAgIHJldHVybiBtX21lZGlhQ29u
dHJvbHNTdHlsZVNoZWV0OwogI2Vsc2UKICAgICByZXR1cm4gZW1wdHlTdHJpbmcoKTsKQEAgLTEz
MDYsOSArMTMwMywxMCBAQCBTdHJpbmcgUmVuZGVyVGhlbWVJT1M6Om1lZGlhQ29udHJvbHNTY3Jp
cHQoKQogI2lmIEVOQUJMRShNRURJQV9DT05UUk9MU19TQ1JJUFQpCiAgICAgaWYgKG1fbWVkaWFD
b250cm9sc1NjcmlwdC5pc0VtcHR5KCkpIHsKICAgICAgICAgU3RyaW5nQnVpbGRlciBzY3JpcHRC
dWlsZGVyOwotICAgICAgICBzY3JpcHRCdWlsZGVyLmFwcGVuZChTdHJpbmcoW05TU3RyaW5nIHN0
cmluZ1dpdGhDb250ZW50c09mRmlsZTpbW05TQnVuZGxlIGJ1bmRsZUZvckNsYXNzOltXZWJDb3Jl
UmVuZGVyVGhlbWVCdW5kbGUgY2xhc3NdXSBwYXRoRm9yUmVzb3VyY2U6QCJtZWRpYUNvbnRyb2xz
TG9jYWxpemVkU3RyaW5ncyIgb2ZUeXBlOkAianMiXSBlbmNvZGluZzpOU1VURjhTdHJpbmdFbmNv
ZGluZyBlcnJvcjpuaWxdKSk7Ci0gICAgICAgIHNjcmlwdEJ1aWxkZXIuYXBwZW5kKFN0cmluZyhb
TlNTdHJpbmcgc3RyaW5nV2l0aENvbnRlbnRzT2ZGaWxlOltbTlNCdW5kbGUgYnVuZGxlRm9yQ2xh
c3M6W1dlYkNvcmVSZW5kZXJUaGVtZUJ1bmRsZSBjbGFzc11dIHBhdGhGb3JSZXNvdXJjZTpAIm1l
ZGlhQ29udHJvbHNBcHBsZSIgb2ZUeXBlOkAianMiXSBlbmNvZGluZzpOU1VURjhTdHJpbmdFbmNv
ZGluZyBlcnJvcjpuaWxdKSk7Ci0gICAgICAgIHNjcmlwdEJ1aWxkZXIuYXBwZW5kKFN0cmluZyhb
TlNTdHJpbmcgc3RyaW5nV2l0aENvbnRlbnRzT2ZGaWxlOltbTlNCdW5kbGUgYnVuZGxlRm9yQ2xh
c3M6W1dlYkNvcmVSZW5kZXJUaGVtZUJ1bmRsZSBjbGFzc11dIHBhdGhGb3JSZXNvdXJjZTpAIm1l
ZGlhQ29udHJvbHNpT1MiIG9mVHlwZTpAImpzIl0gZW5jb2Rpbmc6TlNVVEY4U3RyaW5nRW5jb2Rp
bmcgZXJyb3I6bmlsXSkpOworICAgICAgICBOU0J1bmRsZSogYnVuZGxlID0gW05TQnVuZGxlIGJ1
bmRsZUZvckNsYXNzOltXZWJDb3JlUmVuZGVyVGhlbWVCdW5kbGUgY2xhc3NdXTsKKyAgICAgICAg
c2NyaXB0QnVpbGRlci5hcHBlbmQoW05TU3RyaW5nIHN0cmluZ1dpdGhDb250ZW50c09mRmlsZTpb
YnVuZGxlIHBhdGhGb3JSZXNvdXJjZTpAIm1lZGlhQ29udHJvbHNMb2NhbGl6ZWRTdHJpbmdzIiBv
ZlR5cGU6QCJqcyJdIGVuY29kaW5nOk5TVVRGOFN0cmluZ0VuY29kaW5nIGVycm9yOm5pbF0pOwor
ICAgICAgICBzY3JpcHRCdWlsZGVyLmFwcGVuZChbTlNTdHJpbmcgc3RyaW5nV2l0aENvbnRlbnRz
T2ZGaWxlOltidW5kbGUgcGF0aEZvclJlc291cmNlOkAibWVkaWFDb250cm9sc0FwcGxlIiBvZlR5
cGU6QCJqcyJdIGVuY29kaW5nOk5TVVRGOFN0cmluZ0VuY29kaW5nIGVycm9yOm5pbF0pOworICAg
ICAgICBzY3JpcHRCdWlsZGVyLmFwcGVuZChbTlNTdHJpbmcgc3RyaW5nV2l0aENvbnRlbnRzT2ZG
aWxlOltidW5kbGUgcGF0aEZvclJlc291cmNlOkAibWVkaWFDb250cm9sc2lPUyIgb2ZUeXBlOkAi
anMiXSBlbmNvZGluZzpOU1VURjhTdHJpbmdFbmNvZGluZyBlcnJvcjpuaWxdKTsKICAgICAgICAg
bV9tZWRpYUNvbnRyb2xzU2NyaXB0ID0gc2NyaXB0QnVpbGRlci50b1N0cmluZygpOwogICAgIH0K
ICAgICByZXR1cm4gbV9tZWRpYUNvbnRyb2xzU2NyaXB0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lTWFjLm1tIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlclRoZW1lTWFjLm1tCmluZGV4IDNhYWZkNjVkMjZlYWM2NTQzYzNlZjU2MTNkMDRh
ODEwN2E1Y2ZkZmIuLmU3ZmUwZGU4OTViY2I1NWY1NWRkMjE4OGE2MmNmOGE1YzEyN2JjNTkgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZU1hYy5tbQorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVNYWMubW0KQEAgLTIzNSw3ICsy
MzUsNyBAQCBTdHJpbmcgUmVuZGVyVGhlbWVNYWM6Om1lZGlhQ29udHJvbHNTdHlsZVNoZWV0KCkK
ICNpZiBFTkFCTEUoTUVESUFfQ09OVFJPTFNfU0NSSVBUKQogICAgIGlmIChtX21lZGlhQ29udHJv
bHNTdHlsZVNoZWV0LmlzRW1wdHkoKSkgewogICAgICAgICBTdHJpbmdCdWlsZGVyIHN0eWxlU2hl
ZXRCdWlsZGVyOwotICAgICAgICBzdHlsZVNoZWV0QnVpbGRlci5hcHBlbmQoU3RyaW5nKFtOU1N0
cmluZyBzdHJpbmdXaXRoQ29udGVudHNPZkZpbGU6W1tOU0J1bmRsZSBidW5kbGVGb3JDbGFzczpb
V2ViQ29yZVJlbmRlclRoZW1lQnVuZGxlIGNsYXNzXV0gcGF0aEZvclJlc291cmNlOkAibWVkaWFD
b250cm9sc0FwcGxlIiBvZlR5cGU6QCJjc3MiXSBlbmNvZGluZzpOU1VURjhTdHJpbmdFbmNvZGlu
ZyBlcnJvcjpuaWxdKSk7CisgICAgICAgIHN0eWxlU2hlZXRCdWlsZGVyLmFwcGVuZChbTlNTdHJp
bmcgc3RyaW5nV2l0aENvbnRlbnRzT2ZGaWxlOltbTlNCdW5kbGUgYnVuZGxlRm9yQ2xhc3M6W1dl
YkNvcmVSZW5kZXJUaGVtZUJ1bmRsZSBjbGFzc11dIHBhdGhGb3JSZXNvdXJjZTpAIm1lZGlhQ29u
dHJvbHNBcHBsZSIgb2ZUeXBlOkAiY3NzIl0gZW5jb2Rpbmc6TlNVVEY4U3RyaW5nRW5jb2Rpbmcg
ZXJyb3I6bmlsXSk7CiAgICAgICAgIG1fbWVkaWFDb250cm9sc1N0eWxlU2hlZXQgPSBzdHlsZVNo
ZWV0QnVpbGRlci50b1N0cmluZygpOwogICAgIH0KICAgICByZXR1cm4gbV9tZWRpYUNvbnRyb2xz
U3R5bGVTaGVldDsKQEAgLTI0OSw4ICsyNDksOSBAQCBTdHJpbmcgUmVuZGVyVGhlbWVNYWM6Om1l
ZGlhQ29udHJvbHNTY3JpcHQoKQogI2lmIEVOQUJMRShNRURJQV9DT05UUk9MU19TQ1JJUFQpCiAg
ICAgaWYgKG1fbWVkaWFDb250cm9sc1NjcmlwdC5pc0VtcHR5KCkpIHsKICAgICAgICAgU3RyaW5n
QnVpbGRlciBzY3JpcHRCdWlsZGVyOwotICAgICAgICBzY3JpcHRCdWlsZGVyLmFwcGVuZChTdHJp
bmcoW05TU3RyaW5nIHN0cmluZ1dpdGhDb250ZW50c09mRmlsZTpbW05TQnVuZGxlIGJ1bmRsZUZv
ckNsYXNzOltXZWJDb3JlUmVuZGVyVGhlbWVCdW5kbGUgY2xhc3NdXSBwYXRoRm9yUmVzb3VyY2U6
QCJtZWRpYUNvbnRyb2xzTG9jYWxpemVkU3RyaW5ncyIgb2ZUeXBlOkAianMiXSBlbmNvZGluZzpO
U1VURjhTdHJpbmdFbmNvZGluZyBlcnJvcjpuaWxdKSk7Ci0gICAgICAgIHNjcmlwdEJ1aWxkZXIu
YXBwZW5kKFN0cmluZyhbTlNTdHJpbmcgc3RyaW5nV2l0aENvbnRlbnRzT2ZGaWxlOltbTlNCdW5k
bGUgYnVuZGxlRm9yQ2xhc3M6W1dlYkNvcmVSZW5kZXJUaGVtZUJ1bmRsZSBjbGFzc11dIHBhdGhG
b3JSZXNvdXJjZTpAIm1lZGlhQ29udHJvbHNBcHBsZSIgb2ZUeXBlOkAianMiXSBlbmNvZGluZzpO
U1VURjhTdHJpbmdFbmNvZGluZyBlcnJvcjpuaWxdKSk7CisgICAgICAgIE5TQnVuZGxlKiBidW5k
bGUgPSBbTlNCdW5kbGUgYnVuZGxlRm9yQ2xhc3M6W1dlYkNvcmVSZW5kZXJUaGVtZUJ1bmRsZSBj
bGFzc11dOworICAgICAgICBzY3JpcHRCdWlsZGVyLmFwcGVuZChbTlNTdHJpbmcgc3RyaW5nV2l0
aENvbnRlbnRzT2ZGaWxlOltidW5kbGUgcGF0aEZvclJlc291cmNlOkAibWVkaWFDb250cm9sc0xv
Y2FsaXplZFN0cmluZ3MiIG9mVHlwZTpAImpzIl0gZW5jb2Rpbmc6TlNVVEY4U3RyaW5nRW5jb2Rp
bmcgZXJyb3I6bmlsXSk7CisgICAgICAgIHNjcmlwdEJ1aWxkZXIuYXBwZW5kKFtOU1N0cmluZyBz
dHJpbmdXaXRoQ29udGVudHNPZkZpbGU6W2J1bmRsZSBwYXRoRm9yUmVzb3VyY2U6QCJtZWRpYUNv
bnRyb2xzQXBwbGUiIG9mVHlwZTpAImpzIl0gZW5jb2Rpbmc6TlNVVEY4U3RyaW5nRW5jb2Rpbmcg
ZXJyb3I6bmlsXSk7CiAgICAgICAgIG1fbWVkaWFDb250cm9sc1NjcmlwdCA9IHNjcmlwdEJ1aWxk
ZXIudG9TdHJpbmcoKTsKICAgICB9CiAgICAgcmV0dXJuIG1fbWVkaWFDb250cm9sc1NjcmlwdDsK
ZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCA1N2U4
MTExYTRiNjEzOWViOTc2NjU1YzZkOWMxN2M2YzQ2NzI4NTk5Li5iZGZhYjFlZWQ1YWY2MjVkMDA4
MTNlYzA1ZTg0MjMyMTJhZGJhZGI2IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIv
VG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTYtMDktMTIgIENocmlzIER1bWV6
ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBGaXggcG9zdC1sYW5kaW5nIHJldmlldyBj
b21tZW50cyBhZnRlciByMjA1Nzg3CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xNjE4ODUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBMZXZlcmFnZSBuZXcgU3RyaW5nQnVpbGRlcjo6YXBwZW5kKENGU3RyaW5n
UmVmKSBvdmVybG9hZC4KKworICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5k
bGUvSW5qZWN0ZWRCdW5kbGVQYWdlLmNwcDoKKyAgICAgICAgKFdUUjo6SW5qZWN0ZWRCdW5kbGVQ
YWdlOjpkdW1wRE9NQXNXZWJBcmNoaXZlKToKKwogMjAxNi0wOS0xMiAgQWxleCBDaHJpc3RlbnNl
biAgPGFjaHJpc3RlbnNlbkB3ZWJraXQub3JnPgogCiAgICAgICAgIEZpeCBtb3JlIFVSTFBhcnNl
ciBxdWlya3MKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5k
bGUvSW5qZWN0ZWRCdW5kbGVQYWdlLmNwcCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0
ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGVQYWdlLmNwcAppbmRleCA3OThhODU1MTIyMzNlNzUwMWQ0
NTI3MTVhOTU2Y2U3Y2Y5YzMxYzgwLi4xODk5YThiM2EzZjRkN2MyYmNiNGY3ZjU5ODE1ZGZhODJh
NjQwZjZmIDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxl
L0luamVjdGVkQnVuZGxlUGFnZS5jcHAKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9Jbmpl
Y3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZVBhZ2UuY3BwCkBAIC04NDMsNyArODQzLDcgQEAgdm9p
ZCBJbmplY3RlZEJ1bmRsZVBhZ2U6OmR1bXBET01Bc1dlYkFyY2hpdmUoV0tCdW5kbGVGcmFtZVJl
ZiBmcmFtZSwgU3RyaW5nQnVpbGQKICAgICBXS1JldGFpblB0cjxXS0RhdGFSZWY+IHdrRGF0YSA9
IGFkb3B0V0soV0tCdW5kbGVGcmFtZUNvcHlXZWJBcmNoaXZlKGZyYW1lKSk7CiAgICAgUmV0YWlu
UHRyPENGRGF0YVJlZj4gY2ZEYXRhID0gYWRvcHRDRihDRkRhdGFDcmVhdGUoMCwgV0tEYXRhR2V0
Qnl0ZXMod2tEYXRhLmdldCgpKSwgV0tEYXRhR2V0U2l6ZSh3a0RhdGEuZ2V0KCkpKSk7CiAgICAg
UmV0YWluUHRyPENGU3RyaW5nUmVmPiBjZlN0cmluZyA9IGFkb3B0Q0YoY3JlYXRlWE1MU3RyaW5n
RnJvbVdlYkFyY2hpdmVEYXRhKGNmRGF0YS5nZXQoKSkpOwotICAgIHN0cmluZ0J1aWxkZXIuYXBw
ZW5kKFN0cmluZyhjZlN0cmluZy5nZXQoKSkpOworICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKGNm
U3RyaW5nLmdldCgpKTsKICNlbmRpZgogfQogCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>288654</attachid>
            <date>2016-09-12 18:42:11 -0700</date>
            <delta_ts>2016-09-12 19:14:56 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-161885-20160912183939.patch</filename>
            <type>text/plain</type>
            <size>12319</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA1ODE5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGE0ZTllMTczYjJiMzc3M2FiZGUyMWE3
NzdmNzU2ZmI3NjAxYzgyNTkuLmY5Y2E4MmZmNTI2ZmRmZGRmZWU4NWY3NzVjNjZkNWJiODZiNGU2
YzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMTYtMDktMTIgIENocmlzIER1bWV6ICA8Y2R1bWV6
QGFwcGxlLmNvbT4KKworICAgICAgICBGaXggcG9zdC1sYW5kaW5nIHJldmlldyBjb21tZW50cyBh
ZnRlciByMjA1Nzg3CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xNjE4ODUKKworICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KKworICAgICAg
ICBBZGQgbmV3IFN0cmluZ0J1aWxkZXI6OmFwcGVuZChDRlN0cmluZ1JlZikgLyBhcHBlbmQoTlNT
dHJpbmcqKQorICAgICAgICBvdmVybG9hZHMgdG8gYXZvaWQgYW4gZXh0cmEgc3RyaW5nIGNvcHkg
d2hlbiBwb3NzaWJsZS4KKworICAgICAgICAqIHd0Zi90ZXh0L1N0cmluZ0J1aWxkZXIuY3BwOgor
ICAgICAgICAoV1RGOjpTdHJpbmdCdWlsZGVyOjphcHBlbmQpOgorICAgICAgICAqIHd0Zi90ZXh0
L1N0cmluZ0J1aWxkZXIuaDoKKyAgICAgICAgKFdURjo6U3RyaW5nQnVpbGRlcjo6YXBwZW5kKToK
KwogMjAxNi0wOS0xMiAgU2FhbSBCYXJhdGkgIDxzYmFyYXRpQGFwcGxlLmNvbT4KIAogICAgICAg
ICBNYXBIYXNoIHNob3VsZCBkbyBjb25zdGFudCBmb2xkaW5nIHdoZW4gaXQgaGFzIGEgY29uc3Rh
bnQgYXJndW1lbnQgYW5kIGl0cyBsZWdhbCB0byBoYXNoIHRoYXQgdmFsdWUKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRl
eCBhNjBjOGJmZGU3YTg2NTA4ZTE1YTQ1NDdlNDVhZjAwNzY0MTU5Y2M3Li4yN2E2ODM3N2M1ZDI2
MTRlMTdkYmY5MGM1N2NkZjE5ODNjOTE4NDcxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMjggQEAK
IDIwMTYtMDktMTIgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAorICAgICAgICBG
aXggcG9zdC1sYW5kaW5nIHJldmlldyBjb21tZW50cyBhZnRlciByMjA1Nzg3CisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjE4ODUKKworICAgICAgICBS
ZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KKworICAgICAgICBMZXZlcmFnZSBuZXcgU3RyaW5nQnVp
bGRlcjo6YXBwZW5kKENGU3RyaW5nUmVmKSBvdmVybG9hZC4KKworICAgICAgICAqIGh0bWwvcGFy
c2VyL0hUTUxQYXJzZXJJZGlvbXMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6cGFyc2VIVFRQUmVm
cmVzaEludGVybmFsKToKKyAgICAgICAgKiBwYWdlL0NhcHRpb25Vc2VyUHJlZmVyZW5jZXNNZWRp
YUFGLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNhcHRpb25Vc2VyUHJlZmVyZW5jZXNNZWRpYUFG
OjpjYXB0aW9uc0RlZmF1bHRGb250Q1NTKToKKyAgICAgICAgKFdlYkNvcmU6OmJ1aWxkRGlzcGxh
eVN0cmluZ0ZvclRyYWNrQmFzZSk6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9tYWMvQ29v
a2llSmFyTWFjLm1tOgorICAgICAgICAoV2ViQ29yZTo6Y29va2llc0ZvclNlc3Npb24pOgorICAg
ICAgICAqIHJlbmRlcmluZy9SZW5kZXJUaGVtZUlPUy5tbToKKyAgICAgICAgKFdlYkNvcmU6OlJl
bmRlclRoZW1lSU9TOjptZWRpYUNvbnRyb2xzU3R5bGVTaGVldCk6CisgICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJUaGVtZUlPUzo6bWVkaWFDb250cm9sc1NjcmlwdCk6CisgICAgICAgICogcmVuZGVy
aW5nL1JlbmRlclRoZW1lTWFjLm1tOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVNYWM6
Om1lZGlhQ29udHJvbHNTdHlsZVNoZWV0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1l
TWFjOjptZWRpYUNvbnRyb2xzU2NyaXB0KToKKworMjAxNi0wOS0xMiAgQ2hyaXMgRHVtZXogIDxj
ZHVtZXpAYXBwbGUuY29tPgorCiAgICAgICAgIFN3aXRjaCByZW1haW5pbmcgdXNlcnMgb2YgRG9j
dW1lbnQ6OmluUGFnZUNhY2hlKCkgdG8gcGFnZUNhY2hlU3RhdGUoKQogICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTYxODY1CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XVEYvd3RmL3RleHQvU3RyaW5nQnVpbGRlci5jcHAgYi9Tb3VyY2UvV1RGL3d0Zi90ZXh0
L1N0cmluZ0J1aWxkZXIuY3BwCmluZGV4IDJiZGY0YTNkODJlOTRjOTNmNTNlY2Y0MTBmZTcyMjJh
MWZjNTMxM2IuLmFmZTEzNDE5MjhhNzBhZmY4YjhjMDE3MGMyNDZhYTE1NTg2MmViYTggMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL3RleHQvU3RyaW5nQnVpbGRlci5jcHAKKysrIGIvU291cmNl
L1dURi93dGYvdGV4dC9TdHJpbmdCdWlsZGVyLmNwcApAQCAtMzA2LDYgKzMwNiwyMCBAQCB2b2lk
IFN0cmluZ0J1aWxkZXI6OmFwcGVuZChjb25zdCBMQ2hhciogY2hhcmFjdGVycywgdW5zaWduZWQg
bGVuZ3RoKQogICAgIH0KIH0KIAorI2lmIFVTRShDRikKKwordm9pZCBTdHJpbmdCdWlsZGVyOjph
cHBlbmQoQ0ZTdHJpbmdSZWYgc3RyaW5nKQoreworICAgIC8vIEZhc3QgcGF0aDogYXZvaWQgY29u
c3RydWN0aW5nIGEgdGVtcG9yYXJ5IFN0cmluZyB3aGVuIHBvc3NpYmxlLgorICAgIGlmIChhdXRv
KiBjaGFyYWN0ZXJzID0gQ0ZTdHJpbmdHZXRDU3RyaW5nUHRyKHN0cmluZywga0NGU3RyaW5nRW5j
b2RpbmdJU09MYXRpbjEpKSB7CisgICAgICAgIGFwcGVuZChyZWludGVycHJldF9jYXN0PGNvbnN0
IExDaGFyKj4oY2hhcmFjdGVycyksIENGU3RyaW5nR2V0TGVuZ3RoKHN0cmluZykpOworICAgICAg
ICByZXR1cm47CisgICAgfQorICAgIGFwcGVuZChTdHJpbmcoc3RyaW5nKSk7Cit9CisKKyNlbmRp
ZgorCiB2b2lkIFN0cmluZ0J1aWxkZXI6OmFwcGVuZE51bWJlcihpbnQgbnVtYmVyKQogewogICAg
IG51bWJlclRvU3RyaW5nU2lnbmVkPFN0cmluZ0J1aWxkZXI+KG51bWJlciwgdGhpcyk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi90ZXh0L1N0cmluZ0J1aWxkZXIuaCBiL1NvdXJjZS9XVEYv
d3RmL3RleHQvU3RyaW5nQnVpbGRlci5oCmluZGV4IDA1YjE1YmJmMDE0YWRhNGFiYzFjNGFjYWQ5
ZWYwMTNlY2ZmOWI5OTQuLmE4ZGFkYTc4NzllZWU3ZDQyNDdlMjE4NTdhOGMyMWNlNmQwMzAzNGQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL3RleHQvU3RyaW5nQnVpbGRlci5oCisrKyBiL1Nv
dXJjZS9XVEYvd3RmL3RleHQvU3RyaW5nQnVpbGRlci5oCkBAIC0xMDEsNiArMTAxLDEzIEBAIHB1
YmxpYzoKICAgICAgICAgZWxzZQogICAgICAgICAgICAgYXBwZW5kKHN0cmluZ1ZpZXcuY2hhcmFj
dGVyczE2KCksIHN0cmluZ1ZpZXcubGVuZ3RoKCkpOwogICAgIH0KKworI2lmIFVTRShDRikKKyAg
ICBXVEZfRVhQT1JUX1BSSVZBVEUgdm9pZCBhcHBlbmQoQ0ZTdHJpbmdSZWYpOworI2VuZGlmCisj
aWYgVVNFKENGKSAmJiBkZWZpbmVkKF9fT0JKQ19fKQorICAgIHZvaWQgYXBwZW5kKE5TU3RyaW5n
ICpzdHJpbmcpIHsgYXBwZW5kKChfX2JyaWRnZSBDRlN0cmluZ1JlZilzdHJpbmcpOyB9CisjZW5k
aWYKICAgICAKICAgICB2b2lkIGFwcGVuZChjb25zdCBTdHJpbmcmIHN0cmluZywgdW5zaWduZWQg
b2Zmc2V0LCB1bnNpZ25lZCBsZW5ndGgpCiAgICAgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGFnZS9DYXB0aW9uVXNlclByZWZlcmVuY2VzTWVkaWFBRi5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL0NhcHRpb25Vc2VyUHJlZmVyZW5jZXNNZWRpYUFGLmNwcAppbmRleCA1ZjA1YmI5MGZh
MTIzY2JiYTY5NzRkMGYwZTllNDJhYjg2YmZhY2UwLi4wZWY3ZGIzZjFkYmRiZTE4ZDVjMzY0NGZh
MTYwZmNiODg0MjI4YTFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NhcHRpb25V
c2VyUHJlZmVyZW5jZXNNZWRpYUFGLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NhcHRp
b25Vc2VyUHJlZmVyZW5jZXNNZWRpYUFGLmNwcApAQCAtNDMyLDcgKzQzMiw3IEBAIFN0cmluZyBD
YXB0aW9uVXNlclByZWZlcmVuY2VzTWVkaWFBRjo6Y2FwdGlvbnNEZWZhdWx0Rm9udENTUygpIGNv
bnN0CiAgICAgCiAgICAgYnVpbGRlci5hcHBlbmQoZ2V0UHJvcGVydHlOYW1lU3RyaW5nKENTU1By
b3BlcnR5Rm9udEZhbWlseSkpOwogICAgIGJ1aWxkZXIuYXBwZW5kTGl0ZXJhbCgiOiBcIiIpOwot
ICAgIGJ1aWxkZXIuYXBwZW5kKFN0cmluZyhzdGF0aWNfY2FzdDxDRlN0cmluZ1JlZj4obmFtZS5n
ZXQoKSkpKTsKKyAgICBidWlsZGVyLmFwcGVuZChzdGF0aWNfY2FzdDxDRlN0cmluZ1JlZj4obmFt
ZS5nZXQoKSkpOwogICAgIGJ1aWxkZXIuYXBwZW5kKCciJyk7CiAgICAgaWYgKGJlaGF2aW9yID09
IGtNQUNhcHRpb25BcHBlYXJhbmNlQmVoYXZpb3JVc2VWYWx1ZSkKICAgICAgICAgYnVpbGRlci5h
cHBlbmRMaXRlcmFsKCIgIWltcG9ydGFudCIpOwpAQCAtNjQyLDcgKzY0Miw3IEBAIHN0YXRpYyB2
b2lkIGJ1aWxkRGlzcGxheVN0cmluZ0ZvclRyYWNrQmFzZShTdHJpbmdCdWlsZGVyJiBkaXNwbGF5
TmFtZSwgY29uc3QgVHJhCiAgICAgICAgIGVsc2UgaWYgKCFsYW5ndWFnZS5pc0VtcHR5KCkpCiAg
ICAgICAgICAgICBkaXNwbGF5TmFtZS5hcHBlbmQobGFuZ3VhZ2UpOwogICAgICAgICBlbHNlCi0g
ICAgICAgICAgICBkaXNwbGF5TmFtZS5hcHBlbmQoU3RyaW5nKGxvY2FsZUlkZW50aWZpZXIuZ2V0
KCkpKTsKKyAgICAgICAgICAgIGRpc3BsYXlOYW1lLmFwcGVuZChsb2NhbGVJZGVudGlmaWVyLmdl
dCgpKTsKICAgICB9CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25l
dHdvcmsvbWFjL0Nvb2tpZUphck1hYy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdv
cmsvbWFjL0Nvb2tpZUphck1hYy5tbQppbmRleCA4YzMxNzEyNTQ1NTg3ZmFmM2QzMjE0NzJjYmI4
N2U1ODY3NmU1YjNlLi4xYTBjYzdiN2IwZmJjOTFhNDI1YzRjNDAyMjVmNTE5YjAyMTIyM2UxIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL21hYy9Db29raWVKYXJN
YWMubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9tYWMvQ29va2llSmFy
TWFjLm1tCkBAIC0xNTUsOSArMTU1LDkgQEAgc3RhdGljIFN0cmluZyBjb29raWVzRm9yU2Vzc2lv
bihjb25zdCBOZXR3b3JrU3RvcmFnZVNlc3Npb24mIHNlc3Npb24sIGNvbnN0IFVSTCYKICAgICAg
ICAgaWYgKCFjb29raWVzQnVpbGRlci5pc0VtcHR5KCkpCiAgICAgICAgICAgICBjb29raWVzQnVp
bGRlci5hcHBlbmRMaXRlcmFsKCI7ICIpOwogCi0gICAgICAgIGNvb2tpZXNCdWlsZGVyLmFwcGVu
ZChTdHJpbmcoW2Nvb2tpZSBuYW1lXSkpOworICAgICAgICBjb29raWVzQnVpbGRlci5hcHBlbmQo
W2Nvb2tpZSBuYW1lXSk7CiAgICAgICAgIGNvb2tpZXNCdWlsZGVyLmFwcGVuZCgnPScpOwotICAg
ICAgICBjb29raWVzQnVpbGRlci5hcHBlbmQoU3RyaW5nKFtjb29raWUgdmFsdWVdKSk7CisgICAg
ICAgIGNvb2tpZXNCdWlsZGVyLmFwcGVuZChbY29va2llIHZhbHVlXSk7CiAgICAgfQogICAgIHJl
dHVybiBjb29raWVzQnVpbGRlci50b1N0cmluZygpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVJT1MubW0gYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyVGhlbWVJT1MubW0KaW5kZXggZmZjMzBkNDg3MWVjZDU2YzY1MWNhYWUzNWUxYjhh
MDE4NzJjYzU3Ni4uODc5MGY3OWMzZDMxOTU1NzkxOWNkYTgzMjVjYmRmZjMxZWU3OGVlYiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lSU9TLm1tCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUlPUy5tbQpAQCAtMTI5MCwxMSAr
MTI5MCw4IEBAIHZvaWQgUmVuZGVyVGhlbWVJT1M6OnVwZGF0ZUNhY2hlZFN5c3RlbUZvbnREZXNj
cmlwdGlvbihDU1NWYWx1ZUlEIHZhbHVlSUQsIEZvbnRDCiBTdHJpbmcgUmVuZGVyVGhlbWVJT1M6
Om1lZGlhQ29udHJvbHNTdHlsZVNoZWV0KCkKIHsKICNpZiBFTkFCTEUoTUVESUFfQ09OVFJPTFNf
U0NSSVBUKQotICAgIGlmIChtX21lZGlhQ29udHJvbHNTdHlsZVNoZWV0LmlzRW1wdHkoKSkgewot
ICAgICAgICBTdHJpbmdCdWlsZGVyIGJ1aWxkZXI7Ci0gICAgICAgIGJ1aWxkZXIuYXBwZW5kKFN0
cmluZyhbTlNTdHJpbmcgc3RyaW5nV2l0aENvbnRlbnRzT2ZGaWxlOltbTlNCdW5kbGUgYnVuZGxl
Rm9yQ2xhc3M6W1dlYkNvcmVSZW5kZXJUaGVtZUJ1bmRsZSBjbGFzc11dIHBhdGhGb3JSZXNvdXJj
ZTpAIm1lZGlhQ29udHJvbHNpT1MiIG9mVHlwZTpAImNzcyJdIGVuY29kaW5nOk5TVVRGOFN0cmlu
Z0VuY29kaW5nIGVycm9yOm5pbF0pKTsKLSAgICAgICAgbV9tZWRpYUNvbnRyb2xzU3R5bGVTaGVl
dCA9IGJ1aWxkZXIudG9TdHJpbmcoKTsKLSAgICB9CisgICAgaWYgKG1fbWVkaWFDb250cm9sc1N0
eWxlU2hlZXQuaXNFbXB0eSgpKQorICAgICAgICBtX21lZGlhQ29udHJvbHNTdHlsZVNoZWV0ID0g
W05TU3RyaW5nIHN0cmluZ1dpdGhDb250ZW50c09mRmlsZTpbW05TQnVuZGxlIGJ1bmRsZUZvckNs
YXNzOltXZWJDb3JlUmVuZGVyVGhlbWVCdW5kbGUgY2xhc3NdXSBwYXRoRm9yUmVzb3VyY2U6QCJt
ZWRpYUNvbnRyb2xzaU9TIiBvZlR5cGU6QCJjc3MiXSBlbmNvZGluZzpOU1VURjhTdHJpbmdFbmNv
ZGluZyBlcnJvcjpuaWxdOwogICAgIHJldHVybiBtX21lZGlhQ29udHJvbHNTdHlsZVNoZWV0Owog
I2Vsc2UKICAgICByZXR1cm4gZW1wdHlTdHJpbmcoKTsKQEAgLTEzMDYsOSArMTMwMywxMCBAQCBT
dHJpbmcgUmVuZGVyVGhlbWVJT1M6Om1lZGlhQ29udHJvbHNTY3JpcHQoKQogI2lmIEVOQUJMRShN
RURJQV9DT05UUk9MU19TQ1JJUFQpCiAgICAgaWYgKG1fbWVkaWFDb250cm9sc1NjcmlwdC5pc0Vt
cHR5KCkpIHsKICAgICAgICAgU3RyaW5nQnVpbGRlciBzY3JpcHRCdWlsZGVyOwotICAgICAgICBz
Y3JpcHRCdWlsZGVyLmFwcGVuZChTdHJpbmcoW05TU3RyaW5nIHN0cmluZ1dpdGhDb250ZW50c09m
RmlsZTpbW05TQnVuZGxlIGJ1bmRsZUZvckNsYXNzOltXZWJDb3JlUmVuZGVyVGhlbWVCdW5kbGUg
Y2xhc3NdXSBwYXRoRm9yUmVzb3VyY2U6QCJtZWRpYUNvbnRyb2xzTG9jYWxpemVkU3RyaW5ncyIg
b2ZUeXBlOkAianMiXSBlbmNvZGluZzpOU1VURjhTdHJpbmdFbmNvZGluZyBlcnJvcjpuaWxdKSk7
Ci0gICAgICAgIHNjcmlwdEJ1aWxkZXIuYXBwZW5kKFN0cmluZyhbTlNTdHJpbmcgc3RyaW5nV2l0
aENvbnRlbnRzT2ZGaWxlOltbTlNCdW5kbGUgYnVuZGxlRm9yQ2xhc3M6W1dlYkNvcmVSZW5kZXJU
aGVtZUJ1bmRsZSBjbGFzc11dIHBhdGhGb3JSZXNvdXJjZTpAIm1lZGlhQ29udHJvbHNBcHBsZSIg
b2ZUeXBlOkAianMiXSBlbmNvZGluZzpOU1VURjhTdHJpbmdFbmNvZGluZyBlcnJvcjpuaWxdKSk7
Ci0gICAgICAgIHNjcmlwdEJ1aWxkZXIuYXBwZW5kKFN0cmluZyhbTlNTdHJpbmcgc3RyaW5nV2l0
aENvbnRlbnRzT2ZGaWxlOltbTlNCdW5kbGUgYnVuZGxlRm9yQ2xhc3M6W1dlYkNvcmVSZW5kZXJU
aGVtZUJ1bmRsZSBjbGFzc11dIHBhdGhGb3JSZXNvdXJjZTpAIm1lZGlhQ29udHJvbHNpT1MiIG9m
VHlwZTpAImpzIl0gZW5jb2Rpbmc6TlNVVEY4U3RyaW5nRW5jb2RpbmcgZXJyb3I6bmlsXSkpOwor
ICAgICAgICBOU0J1bmRsZSogYnVuZGxlID0gW05TQnVuZGxlIGJ1bmRsZUZvckNsYXNzOltXZWJD
b3JlUmVuZGVyVGhlbWVCdW5kbGUgY2xhc3NdXTsKKyAgICAgICAgc2NyaXB0QnVpbGRlci5hcHBl
bmQoW05TU3RyaW5nIHN0cmluZ1dpdGhDb250ZW50c09mRmlsZTpbYnVuZGxlIHBhdGhGb3JSZXNv
dXJjZTpAIm1lZGlhQ29udHJvbHNMb2NhbGl6ZWRTdHJpbmdzIiBvZlR5cGU6QCJqcyJdIGVuY29k
aW5nOk5TVVRGOFN0cmluZ0VuY29kaW5nIGVycm9yOm5pbF0pOworICAgICAgICBzY3JpcHRCdWls
ZGVyLmFwcGVuZChbTlNTdHJpbmcgc3RyaW5nV2l0aENvbnRlbnRzT2ZGaWxlOltidW5kbGUgcGF0
aEZvclJlc291cmNlOkAibWVkaWFDb250cm9sc0FwcGxlIiBvZlR5cGU6QCJqcyJdIGVuY29kaW5n
Ok5TVVRGOFN0cmluZ0VuY29kaW5nIGVycm9yOm5pbF0pOworICAgICAgICBzY3JpcHRCdWlsZGVy
LmFwcGVuZChbTlNTdHJpbmcgc3RyaW5nV2l0aENvbnRlbnRzT2ZGaWxlOltidW5kbGUgcGF0aEZv
clJlc291cmNlOkAibWVkaWFDb250cm9sc2lPUyIgb2ZUeXBlOkAianMiXSBlbmNvZGluZzpOU1VU
RjhTdHJpbmdFbmNvZGluZyBlcnJvcjpuaWxdKTsKICAgICAgICAgbV9tZWRpYUNvbnRyb2xzU2Ny
aXB0ID0gc2NyaXB0QnVpbGRlci50b1N0cmluZygpOwogICAgIH0KICAgICByZXR1cm4gbV9tZWRp
YUNvbnRyb2xzU2NyaXB0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlclRoZW1lTWFjLm1tIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lTWFj
Lm1tCmluZGV4IDNhYWZkNjVkMjZlYWM2NTQzYzNlZjU2MTNkMDRhODEwN2E1Y2ZkZmIuLmU3ZmUw
ZGU4OTViY2I1NWY1NWRkMjE4OGE2MmNmOGE1YzEyN2JjNTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZU1hYy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyVGhlbWVNYWMubW0KQEAgLTIzNSw3ICsyMzUsNyBAQCBTdHJpbmcgUmVu
ZGVyVGhlbWVNYWM6Om1lZGlhQ29udHJvbHNTdHlsZVNoZWV0KCkKICNpZiBFTkFCTEUoTUVESUFf
Q09OVFJPTFNfU0NSSVBUKQogICAgIGlmIChtX21lZGlhQ29udHJvbHNTdHlsZVNoZWV0LmlzRW1w
dHkoKSkgewogICAgICAgICBTdHJpbmdCdWlsZGVyIHN0eWxlU2hlZXRCdWlsZGVyOwotICAgICAg
ICBzdHlsZVNoZWV0QnVpbGRlci5hcHBlbmQoU3RyaW5nKFtOU1N0cmluZyBzdHJpbmdXaXRoQ29u
dGVudHNPZkZpbGU6W1tOU0J1bmRsZSBidW5kbGVGb3JDbGFzczpbV2ViQ29yZVJlbmRlclRoZW1l
QnVuZGxlIGNsYXNzXV0gcGF0aEZvclJlc291cmNlOkAibWVkaWFDb250cm9sc0FwcGxlIiBvZlR5
cGU6QCJjc3MiXSBlbmNvZGluZzpOU1VURjhTdHJpbmdFbmNvZGluZyBlcnJvcjpuaWxdKSk7Cisg
ICAgICAgIHN0eWxlU2hlZXRCdWlsZGVyLmFwcGVuZChbTlNTdHJpbmcgc3RyaW5nV2l0aENvbnRl
bnRzT2ZGaWxlOltbTlNCdW5kbGUgYnVuZGxlRm9yQ2xhc3M6W1dlYkNvcmVSZW5kZXJUaGVtZUJ1
bmRsZSBjbGFzc11dIHBhdGhGb3JSZXNvdXJjZTpAIm1lZGlhQ29udHJvbHNBcHBsZSIgb2ZUeXBl
OkAiY3NzIl0gZW5jb2Rpbmc6TlNVVEY4U3RyaW5nRW5jb2RpbmcgZXJyb3I6bmlsXSk7CiAgICAg
ICAgIG1fbWVkaWFDb250cm9sc1N0eWxlU2hlZXQgPSBzdHlsZVNoZWV0QnVpbGRlci50b1N0cmlu
ZygpOwogICAgIH0KICAgICByZXR1cm4gbV9tZWRpYUNvbnRyb2xzU3R5bGVTaGVldDsKQEAgLTI0
OSw4ICsyNDksOSBAQCBTdHJpbmcgUmVuZGVyVGhlbWVNYWM6Om1lZGlhQ29udHJvbHNTY3JpcHQo
KQogI2lmIEVOQUJMRShNRURJQV9DT05UUk9MU19TQ1JJUFQpCiAgICAgaWYgKG1fbWVkaWFDb250
cm9sc1NjcmlwdC5pc0VtcHR5KCkpIHsKICAgICAgICAgU3RyaW5nQnVpbGRlciBzY3JpcHRCdWls
ZGVyOwotICAgICAgICBzY3JpcHRCdWlsZGVyLmFwcGVuZChTdHJpbmcoW05TU3RyaW5nIHN0cmlu
Z1dpdGhDb250ZW50c09mRmlsZTpbW05TQnVuZGxlIGJ1bmRsZUZvckNsYXNzOltXZWJDb3JlUmVu
ZGVyVGhlbWVCdW5kbGUgY2xhc3NdXSBwYXRoRm9yUmVzb3VyY2U6QCJtZWRpYUNvbnRyb2xzTG9j
YWxpemVkU3RyaW5ncyIgb2ZUeXBlOkAianMiXSBlbmNvZGluZzpOU1VURjhTdHJpbmdFbmNvZGlu
ZyBlcnJvcjpuaWxdKSk7Ci0gICAgICAgIHNjcmlwdEJ1aWxkZXIuYXBwZW5kKFN0cmluZyhbTlNT
dHJpbmcgc3RyaW5nV2l0aENvbnRlbnRzT2ZGaWxlOltbTlNCdW5kbGUgYnVuZGxlRm9yQ2xhc3M6
W1dlYkNvcmVSZW5kZXJUaGVtZUJ1bmRsZSBjbGFzc11dIHBhdGhGb3JSZXNvdXJjZTpAIm1lZGlh
Q29udHJvbHNBcHBsZSIgb2ZUeXBlOkAianMiXSBlbmNvZGluZzpOU1VURjhTdHJpbmdFbmNvZGlu
ZyBlcnJvcjpuaWxdKSk7CisgICAgICAgIE5TQnVuZGxlKiBidW5kbGUgPSBbTlNCdW5kbGUgYnVu
ZGxlRm9yQ2xhc3M6W1dlYkNvcmVSZW5kZXJUaGVtZUJ1bmRsZSBjbGFzc11dOworICAgICAgICBz
Y3JpcHRCdWlsZGVyLmFwcGVuZChbTlNTdHJpbmcgc3RyaW5nV2l0aENvbnRlbnRzT2ZGaWxlOlti
dW5kbGUgcGF0aEZvclJlc291cmNlOkAibWVkaWFDb250cm9sc0xvY2FsaXplZFN0cmluZ3MiIG9m
VHlwZTpAImpzIl0gZW5jb2Rpbmc6TlNVVEY4U3RyaW5nRW5jb2RpbmcgZXJyb3I6bmlsXSk7Cisg
ICAgICAgIHNjcmlwdEJ1aWxkZXIuYXBwZW5kKFtOU1N0cmluZyBzdHJpbmdXaXRoQ29udGVudHNP
ZkZpbGU6W2J1bmRsZSBwYXRoRm9yUmVzb3VyY2U6QCJtZWRpYUNvbnRyb2xzQXBwbGUiIG9mVHlw
ZTpAImpzIl0gZW5jb2Rpbmc6TlNVVEY4U3RyaW5nRW5jb2RpbmcgZXJyb3I6bmlsXSk7CiAgICAg
ICAgIG1fbWVkaWFDb250cm9sc1NjcmlwdCA9IHNjcmlwdEJ1aWxkZXIudG9TdHJpbmcoKTsKICAg
ICB9CiAgICAgcmV0dXJuIG1fbWVkaWFDb250cm9sc1NjcmlwdDsKZGlmZiAtLWdpdCBhL1Rvb2xz
L0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCA1N2U4MTExYTRiNjEzOWViOTc2NjU1
YzZkOWMxN2M2YzQ2NzI4NTk5Li5iMWU3ZTNkNTZhNzI5NThkZDg2YmIwODAxNGI1MWRhN2EwNGU5
YzhiIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTUgQEAKKzIwMTYtMDktMTIgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNv
bT4KKworICAgICAgICBGaXggcG9zdC1sYW5kaW5nIHJldmlldyBjb21tZW50cyBhZnRlciByMjA1
Nzg3CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjE4
ODUKKworICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KKworICAgICAgICBMZXZlcmFn
ZSBuZXcgU3RyaW5nQnVpbGRlcjo6YXBwZW5kKENGU3RyaW5nUmVmKSBvdmVybG9hZC4KKworICAg
ICAgICAqIFdlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGVQYWdl
LmNwcDoKKyAgICAgICAgKFdUUjo6SW5qZWN0ZWRCdW5kbGVQYWdlOjpkdW1wRE9NQXNXZWJBcmNo
aXZlKToKKwogMjAxNi0wOS0xMiAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJr
aXQub3JnPgogCiAgICAgICAgIEZpeCBtb3JlIFVSTFBhcnNlciBxdWlya3MKZGlmZiAtLWdpdCBh
L1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGVQYWdl
LmNwcCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5k
bGVQYWdlLmNwcAppbmRleCA3OThhODU1MTIyMzNlNzUwMWQ0NTI3MTVhOTU2Y2U3Y2Y5YzMxYzgw
Li4xODk5YThiM2EzZjRkN2MyYmNiNGY3ZjU5ODE1ZGZhODJhNjQwZjZmIDEwMDY0NAotLS0gYS9U
b29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlUGFnZS5j
cHAKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1
bmRsZVBhZ2UuY3BwCkBAIC04NDMsNyArODQzLDcgQEAgdm9pZCBJbmplY3RlZEJ1bmRsZVBhZ2U6
OmR1bXBET01Bc1dlYkFyY2hpdmUoV0tCdW5kbGVGcmFtZVJlZiBmcmFtZSwgU3RyaW5nQnVpbGQK
ICAgICBXS1JldGFpblB0cjxXS0RhdGFSZWY+IHdrRGF0YSA9IGFkb3B0V0soV0tCdW5kbGVGcmFt
ZUNvcHlXZWJBcmNoaXZlKGZyYW1lKSk7CiAgICAgUmV0YWluUHRyPENGRGF0YVJlZj4gY2ZEYXRh
ID0gYWRvcHRDRihDRkRhdGFDcmVhdGUoMCwgV0tEYXRhR2V0Qnl0ZXMod2tEYXRhLmdldCgpKSwg
V0tEYXRhR2V0U2l6ZSh3a0RhdGEuZ2V0KCkpKSk7CiAgICAgUmV0YWluUHRyPENGU3RyaW5nUmVm
PiBjZlN0cmluZyA9IGFkb3B0Q0YoY3JlYXRlWE1MU3RyaW5nRnJvbVdlYkFyY2hpdmVEYXRhKGNm
RGF0YS5nZXQoKSkpOwotICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKFN0cmluZyhjZlN0cmluZy5n
ZXQoKSkpOworICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKGNmU3RyaW5nLmdldCgpKTsKICNlbmRp
ZgogfQogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>