<?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>169390</bug_id>
          
          <creation_ts>2017-03-08 15:50:04 -0800</creation_ts>
          <short_desc>Let clients control autoplay quirks with website policies</short_desc>
          <delta_ts>2017-03-09 12:47:35 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Media</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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Matt Rajca">mrajca</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1285060</commentid>
    <comment_count>0</comment_count>
    <who name="Matt Rajca">mrajca</who>
    <bug_when>2017-03-08 15:50:04 -0800</bug_when>
    <thetext>Let clients control where a page is allowed to use autoplay quirks on a per-site basis with website policies.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1285064</commentid>
    <comment_count>1</comment_count>
      <attachid>303856</attachid>
    <who name="Matt Rajca">mrajca</who>
    <bug_when>2017-03-08 15:52:31 -0800</bug_when>
    <thetext>Created attachment 303856
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1285182</commentid>
    <comment_count>2</comment_count>
      <attachid>303856</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2017-03-08 19:19:21 -0800</bug_when>
    <thetext>Comment on attachment 303856
Patch

I don&apos;t understand exactly what these &quot;quirks&quot; are.  Please describe and/or name better</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1285328</commentid>
    <comment_count>3</comment_count>
      <attachid>303920</attachid>
    <who name="Matt Rajca">mrajca</who>
    <bug_when>2017-03-09 08:43:23 -0800</bug_when>
    <thetext>Created attachment 303920
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1285329</commentid>
    <comment_count>4</comment_count>
    <who name="Matt Rajca">mrajca</who>
    <bug_when>2017-03-09 08:43:57 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; Comment on attachment 303856 [details]
&gt; Patch
&gt; 
&gt; I don&apos;t understand exactly what these &quot;quirks&quot; are.  Please describe and/or
&gt; name better

I updated the ChangeLog with some background information.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1285463</commentid>
    <comment_count>5</comment_count>
      <attachid>303920</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2017-03-09 12:37:27 -0800</bug_when>
    <thetext>Comment on attachment 303920
Patch

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

&gt; Source/WebCore/ChangeLog:4
&gt; +        https://bugs.webkit.org/show_bug.cgi?id=169390

Radar #?

&gt; Source/WebKit2/Shared/WebsitePolicies.h:-41
&gt; -    

Nit - whitespace</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1285469</commentid>
    <comment_count>6</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2017-03-09 12:43:46 -0800</bug_when>
    <thetext>&lt;rdar://problem/30954277&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1285476</commentid>
    <comment_count>7</comment_count>
    <who name="Matt Rajca">mrajca</who>
    <bug_when>2017-03-09 12:47:35 -0800</bug_when>
    <thetext>r213656</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>303856</attachid>
            <date>2017-03-08 15:52:31 -0800</date>
            <delta_ts>2017-03-09 08:43:19 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-169390-20170308155231.patch</filename>
            <type>text/plain</type>
            <size>16057</size>
            <attacher name="Matt Rajca">mrajca</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjEzNTg2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODhkYmMxNjQ1ODc5MGRh
NjhlYzlmNzQyMzA2M2FkNWRlZTM3M2FiMS4uNmE3NTY4MzAwZjdiOGQxY2IzZmJiMGFmZjk1N2U5
OGIzNTBhOGZlZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDE3LTAzLTA4ICBNYXR0
IFJhamNhICA8bXJhamNhQGFwcGxlLmNvbT4KKworICAgICAgICBMZXQgY2xpZW50cyBjb250cm9s
IGF1dG9wbGF5IHF1aXJrcyB3aXRoIHdlYnNpdGUgcG9saWNpZXMuCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjkzOTAKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRlZCBBUEkgdGVzdHMuCisKKyAgICAg
ICAgKiBodG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6bmVlZHNB
dXRvcGxheVBsYXlQYXVzZUV2ZW50c1F1aXJrKToKKyAgICAgICAgKiBsb2FkZXIvRG9jdW1lbnRM
b2FkZXIuaDoKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50TG9hZGVyOjphbGxvd3NBdXRvcGxh
eVF1aXJrcyk6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudExvYWRlcjo6c2V0QWxsb3dzQXV0
b3BsYXlRdWlya3MpOgorCiAyMDE3LTAzLTA2ICBNYXR0IFJhamNhICA8bXJhamNhQGFwcGxlLmNv
bT4KIAogICAgICAgICBBZGQgc3VwcG9ydCBmb3IgYW4gYXV0b3BsYXkgcGxheS1wYXVzZSBldmVu
dHMgcXVpcmsuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2Uv
V2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggNGMwMGE2ODZkZGM3ODViNjVmYzFkY2ViNzU1ZmQ5NGE5
NTBkMTI2Yi4uNGQwODMwNzZhZWY2YmMzMzA1MWRjODk0YmQxODE1ZWI3MzY2MDExYSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5n
ZUxvZwpAQCAtMSw1ICsxLDI5IEBACiAyMDE3LTAzLTA4ICBNYXR0IFJhamNhICA8bXJhamNhQGFw
cGxlLmNvbT4KIAorICAgICAgICBMZXQgY2xpZW50cyBjb250cm9sIGF1dG9wbGF5IHF1aXJrcyB3
aXRoIHdlYnNpdGUgcG9saWNpZXMuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xNjkzOTAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAqIFNoYXJlZC9XZWJzaXRlUG9saWNpZXMuaDoKKyAgICAgICAgKFdlYktp
dDo6V2Vic2l0ZVBvbGljaWVzOjplbmNvZGUpOgorICAgICAgICAoV2ViS2l0OjpXZWJzaXRlUG9s
aWNpZXM6OmRlY29kZSk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9BUElXZWJzaXRlUG9saWNp
ZXMuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tXZWJzaXRlUG9saWNpZXMuY3BwOgor
ICAgICAgICAoV0tXZWJzaXRlUG9saWNpZXNTZXRBbGxvd3NBdXRvcGxheVF1aXJrcyk6CisgICAg
ICAgIChXS1dlYnNpdGVQb2xpY2llc0dldEFsbG93c0F1dG9wbGF5UXVpcmtzKToKKyAgICAgICAg
KiBVSVByb2Nlc3MvQVBJL0MvV0tXZWJzaXRlUG9saWNpZXMuaDoKKyAgICAgICAgKiBVSVByb2Nl
c3MvQVBJL0NvY29hL19XS1dlYnNpdGVQb2xpY2llcy5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9B
UEkvQ29jb2EvX1dLV2Vic2l0ZVBvbGljaWVzLm1tOgorICAgICAgICAoLVtfV0tXZWJzaXRlUG9s
aWNpZXMgc2V0QWxsb3dzQXV0b3BsYXlRdWlya3M6XSk6CisgICAgICAgICgtW19XS1dlYnNpdGVQ
b2xpY2llcyBhbGxvd3NBdXRvcGxheVF1aXJrc10pOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2Vi
Q29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQuY3BwOgorICAgICAgICAoV2ViS2l0OjpX
ZWJGcmFtZUxvYWRlckNsaWVudDo6ZGlzcGF0Y2hEZWNpZGVQb2xpY3lGb3JOYXZpZ2F0aW9uQWN0
aW9uKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHA6CisgICAgICAg
IChXZWJLaXQ6OldlYlBhZ2U6OnVwZGF0ZVdlYnNpdGVQb2xpY2llcyk6CisKKzIwMTctMDMtMDgg
IE1hdHQgUmFqY2EgIDxtcmFqY2FAYXBwbGUuY29tPgorCiAgICAgICAgIEFkZCBzdXBwb3J0IGZv
ciB1cGRhdGluZyBhdXRvcGxheSBwb2xpY2llcyBhZnRlciBhIHBhZ2UgaGFzIGJlZW4gbG9hZGVk
LgogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY5MzYw
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCmluZGV4IDVlYjIwN2Fl
ZmJhNDI1OTEyYzVmZDlkOWUwZDNjNmRiMWUxNzZjMGEuLjUyM2MyZTVmMzA0N2UyNTI5OTY0YzY3
YzViZDA3NzI1ZjU5M2ZlN2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1l
ZGlhRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50
LmNwcApAQCAtNTkxLDggKzU5MSw4IEBAIHN0YXRpYyBib29sIG5lZWRzQXV0b3BsYXlQbGF5UGF1
c2VFdmVudHNRdWlyayhjb25zdCBEb2N1bWVudCYgZG9jdW1lbnQpCiAgICAgaWYgKCFwYWdlIHx8
ICFwYWdlLT5zZXR0aW5ncygpLm5lZWRzU2l0ZVNwZWNpZmljUXVpcmtzKCkpCiAgICAgICAgIHJl
dHVybiBmYWxzZTsKIAotICAgIFN0cmluZyBob3N0ID0gZG9jdW1lbnQudXJsKCkuaG9zdCgpOwot
ICAgIHJldHVybiBlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShob3N0LCAieWFob28uY29t
IikgfHwgaG9zdC5lbmRzV2l0aElnbm9yaW5nQVNDSUlDYXNlKCIueWFob28uY29tIik7CisgICAg
YXV0byogbG9hZGVyID0gZG9jdW1lbnQubG9hZGVyKCk7CisgICAgcmV0dXJuIGxvYWRlciAmJiBs
b2FkZXItPmFsbG93c0F1dG9wbGF5UXVpcmtzKCk7CiB9CiAKIHN0YXRpYyBib29sIG5lZWRzUGxh
eWJhY2tDb250cm9sc01hbmFnZXJRdWlyayhQYWdlJiBwYWdlKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50TG9hZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
RG9jdW1lbnRMb2FkZXIuaAppbmRleCAwYWQzNzJhNGYzYmVmYmU4OTJhNzA3OWE2YTg2NGI1MjE4
ODY0YzgyLi43ZGE0MDBhNzFiY2EzNmUzZWNhZjk3YmZkMGJjYTY3NjE1YzMxNjdlIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRMb2FkZXIuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRMb2FkZXIuaApAQCAtMjQyLDYgKzI0Miw5IEBAIHB1Ymxp
YzoKICAgICBBdXRvcGxheVBvbGljeSBhdXRvcGxheVBvbGljeSgpIGNvbnN0IHsgcmV0dXJuIG1f
YXV0b3BsYXlQb2xpY3k7IH0KICAgICB2b2lkIHNldEF1dG9wbGF5UG9saWN5KEF1dG9wbGF5UG9s
aWN5IHBvbGljeSkgeyBtX2F1dG9wbGF5UG9saWN5ID0gcG9saWN5OyB9CiAKKyAgICBib29sIGFs
bG93c0F1dG9wbGF5UXVpcmtzKCkgY29uc3QgeyByZXR1cm4gbV9hbGxvd3NBdXRvcGxheVF1aXJr
czsgfQorICAgIHZvaWQgc2V0QWxsb3dzQXV0b3BsYXlRdWlya3MoYm9vbCBhbGxvd3NRdWlya3Mp
IHsgbV9hbGxvd3NBdXRvcGxheVF1aXJrcyA9IGFsbG93c1F1aXJrczsgfQorCiAgICAgdm9pZCBh
ZGRTdWJyZXNvdXJjZUxvYWRlcihSZXNvdXJjZUxvYWRlciopOwogICAgIHZvaWQgcmVtb3ZlU3Vi
cmVzb3VyY2VMb2FkZXIoUmVzb3VyY2VMb2FkZXIqKTsKICAgICB2b2lkIGFkZFBsdWdJblN0cmVh
bUxvYWRlcihSZXNvdXJjZUxvYWRlciYpOwpAQCAtNDcyLDYgKzQ3NSw3IEBAIHByaXZhdGU6CiAj
ZW5kaWYKICAgICBib29sIG1fdXNlckNvbnRlbnRFeHRlbnNpb25zRW5hYmxlZCB7IHRydWUgfTsK
ICAgICBBdXRvcGxheVBvbGljeSBtX2F1dG9wbGF5UG9saWN5IHsgQXV0b3BsYXlQb2xpY3k6OkRl
ZmF1bHQgfTsKKyAgICBib29sIG1fYWxsb3dzQXV0b3BsYXlRdWlya3MgeyBmYWxzZSB9OwogCiAj
aWZuZGVmIE5ERUJVRwogICAgIGJvb2wgbV9oYXNFdmVyQmVlbkF0dGFjaGVkIHsgZmFsc2UgfTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJzaXRlUG9saWNpZXMuaCBiL1Nv
dXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJzaXRlUG9saWNpZXMuaAppbmRleCBmNzljM2ZiYjczNTMx
NzliODVlMGU2NDg4N2YyOTQ2YTk3M2U5ODVhLi5iNTRhZDEwY2YzZGE1Y2JmYTdkMzM4ZTU5ZjA4
Zjg3NmRmMjJiZDc5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2Vic2l0ZVBv
bGljaWVzLmgKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYnNpdGVQb2xpY2llcy5oCkBA
IC0zNyw4ICszNyw5IEBAIGVudW0gY2xhc3MgV2Vic2l0ZUF1dG9wbGF5UG9saWN5IHsKIHN0cnVj
dCBXZWJzaXRlUG9saWNpZXMgewogCiAgICAgYm9vbCBjb250ZW50QmxvY2tlcnNFbmFibGVkIHsg
dHJ1ZSB9OworICAgIGJvb2wgYWxsb3dzQXV0b3BsYXlRdWlya3MgeyBmYWxzZSB9OwogICAgIFdl
YnNpdGVBdXRvcGxheVBvbGljeSBhdXRvcGxheVBvbGljeSB7IFdlYnNpdGVBdXRvcGxheVBvbGlj
eTo6RGVmYXVsdCB9OwotICAgIAorCiAgICAgdGVtcGxhdGU8Y2xhc3MgRW5jb2Rlcj4gdm9pZCBl
bmNvZGUoRW5jb2RlciYpIGNvbnN0OwogICAgIHRlbXBsYXRlPGNsYXNzIERlY29kZXI+IHN0YXRp
YyBib29sIGRlY29kZShEZWNvZGVyJiwgV2Vic2l0ZVBvbGljaWVzJik7CiB9OwpAQCAtNDcsNiAr
NDgsNyBAQCB0ZW1wbGF0ZTxjbGFzcyBFbmNvZGVyPiB2b2lkIFdlYnNpdGVQb2xpY2llczo6ZW5j
b2RlKEVuY29kZXImIGVuY29kZXIpIGNvbnN0CiB7CiAgICAgZW5jb2RlciA8PCBjb250ZW50Qmxv
Y2tlcnNFbmFibGVkOwogICAgIGVuY29kZXIuZW5jb2RlRW51bShhdXRvcGxheVBvbGljeSk7Cisg
ICAgZW5jb2RlciA8PCBhbGxvd3NBdXRvcGxheVF1aXJrczsKIH0KIAogdGVtcGxhdGU8Y2xhc3Mg
RGVjb2Rlcj4gYm9vbCBXZWJzaXRlUG9saWNpZXM6OmRlY29kZShEZWNvZGVyJiBkZWNvZGVyLCBX
ZWJzaXRlUG9saWNpZXMmIHJlc3VsdCkKQEAgLTU1LDYgKzU3LDggQEAgdGVtcGxhdGU8Y2xhc3Mg
RGVjb2Rlcj4gYm9vbCBXZWJzaXRlUG9saWNpZXM6OmRlY29kZShEZWNvZGVyJiBkZWNvZGVyLCBX
ZWJzaXRlUG8KICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIGlmICghZGVjb2Rlci5kZWNvZGVF
bnVtKHJlc3VsdC5hdXRvcGxheVBvbGljeSkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBp
ZiAoIWRlY29kZXIuZGVjb2RlKHJlc3VsdC5hbGxvd3NBdXRvcGxheVF1aXJrcykpCisgICAgICAg
IHJldHVybiBmYWxzZTsKICAgICByZXR1cm4gdHJ1ZTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9BUElXZWJzaXRlUG9saWNpZXMuaCBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvQVBJV2Vic2l0ZVBvbGljaWVzLmgKaW5kZXggY2E3NGY4MTkyZjU5
MzVmOTQxY2Q4ZjEyYzVlMGI1NjJkMDUxNmQzNS4uZWUyMzQyN2I2ZDVhZWM4NTRjMTdmMjEyN2Qx
YzQyZDA1OWJjM2IyYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9B
UElXZWJzaXRlUG9saWNpZXMuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0FQ
SVdlYnNpdGVQb2xpY2llcy5oCkBAIC0zOSw2ICszOSw5IEBAIHB1YmxpYzoKICAgICBib29sIGNv
bnRlbnRCbG9ja2Vyc0VuYWJsZWQoKSBjb25zdCB7IHJldHVybiBtX3dlYnNpdGVQb2xpY2llcy5j
b250ZW50QmxvY2tlcnNFbmFibGVkOyB9CiAgICAgdm9pZCBzZXRDb250ZW50QmxvY2tlcnNFbmFi
bGVkKGJvb2wgZW5hYmxlZCkgeyBtX3dlYnNpdGVQb2xpY2llcy5jb250ZW50QmxvY2tlcnNFbmFi
bGVkID0gZW5hYmxlZDsgfQogCisgICAgYm9vbCBhbGxvd3NBdXRvcGxheVF1aXJrcygpIGNvbnN0
IHsgcmV0dXJuIG1fd2Vic2l0ZVBvbGljaWVzLmFsbG93c0F1dG9wbGF5UXVpcmtzOyB9CisgICAg
dm9pZCBzZXRBbGxvd3NBdXRvcGxheVF1aXJrcyhib29sIGFsbG93c1F1aXJrcykgeyBtX3dlYnNp
dGVQb2xpY2llcy5hbGxvd3NBdXRvcGxheVF1aXJrcyA9IGFsbG93c1F1aXJrczsgfQorCiAgICAg
V2ViS2l0OjpXZWJzaXRlQXV0b3BsYXlQb2xpY3kgYXV0b3BsYXlQb2xpY3koKSBjb25zdCB7IHJl
dHVybiBtX3dlYnNpdGVQb2xpY2llcy5hdXRvcGxheVBvbGljeTsgfQogICAgIHZvaWQgc2V0QXV0
b3BsYXlQb2xpY3koV2ViS2l0OjpXZWJzaXRlQXV0b3BsYXlQb2xpY3kgcG9saWN5KSB7IG1fd2Vi
c2l0ZVBvbGljaWVzLmF1dG9wbGF5UG9saWN5ID0gcG9saWN5OyB9CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1dlYnNpdGVQb2xpY2llcy5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tXZWJzaXRlUG9saWNpZXMuY3BwCmluZGV4IGI5
NzA5YTY4ZDFjMDllNTliNDdjNDFiZjIyNzAxZjAyNjJhYzRhNmQuLjAxOGEzMzE3ZjQ0ZmY3MmRi
NDNlM2Q0YzBmNWIyN2I5Y2YwNzQ5YjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvQy9XS1dlYnNpdGVQb2xpY2llcy5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9DL1dLV2Vic2l0ZVBvbGljaWVzLmNwcApAQCAtNTIsNiArNTIsMTYgQEAgYm9v
bCBXS1dlYnNpdGVQb2xpY2llc0dldENvbnRlbnRCbG9ja2Vyc0VuYWJsZWQoV0tXZWJzaXRlUG9s
aWNpZXNSZWYgd2Vic2l0ZVBvbGkKICAgICByZXR1cm4gdG9JbXBsKHdlYnNpdGVQb2xpY2llcykt
PmNvbnRlbnRCbG9ja2Vyc0VuYWJsZWQoKTsKIH0KIAordm9pZCBXS1dlYnNpdGVQb2xpY2llc1Nl
dEFsbG93c0F1dG9wbGF5UXVpcmtzKFdLV2Vic2l0ZVBvbGljaWVzUmVmIHdlYnNpdGVQb2xpY2ll
cywgYm9vbCBhbGxvd3NRdWlya3MpCit7CisgICAgdG9JbXBsKHdlYnNpdGVQb2xpY2llcyktPnNl
dEFsbG93c0F1dG9wbGF5UXVpcmtzKGFsbG93c1F1aXJrcyk7Cit9CisKK2Jvb2wgV0tXZWJzaXRl
UG9saWNpZXNHZXRBbGxvd3NBdXRvcGxheVF1aXJrcyhXS1dlYnNpdGVQb2xpY2llc1JlZiB3ZWJz
aXRlUG9saWNpZXMpCit7CisgICAgcmV0dXJuIHRvSW1wbCh3ZWJzaXRlUG9saWNpZXMpLT5hbGxv
d3NBdXRvcGxheVF1aXJrcygpOworfQorCiBXS1dlYnNpdGVBdXRvcGxheVBvbGljeSBXS1dlYnNp
dGVQb2xpY2llc0dldEF1dG9wbGF5UG9saWN5KFdLV2Vic2l0ZVBvbGljaWVzUmVmIHdlYnNpdGVQ
b2xpY2llcykKIHsKICAgICBzd2l0Y2ggKHRvSW1wbCh3ZWJzaXRlUG9saWNpZXMpLT5hdXRvcGxh
eVBvbGljeSgpKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0Mv
V0tXZWJzaXRlUG9saWNpZXMuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1dl
YnNpdGVQb2xpY2llcy5oCmluZGV4IDBjOGUzNGYxNTNmZTRiYmI0NTA3NmM2YTU5OWM2MjNkNWE2
OTUyNDguLjQ5MzhlOWY5ZGMwYzlhNzllMWUzOTkyNmE3ODYzZTYxNDlmMjAxOGMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1dlYnNpdGVQb2xpY2llcy5oCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1dlYnNpdGVQb2xpY2llcy5oCkBA
IC00NSw2ICs0NSw5IEBAIFdLX0VYUE9SVCBXS1dlYnNpdGVQb2xpY2llc1JlZiBXS1dlYnNpdGVQ
b2xpY2llc0NyZWF0ZSgpOwogV0tfRVhQT1JUIGJvb2wgV0tXZWJzaXRlUG9saWNpZXNHZXRDb250
ZW50QmxvY2tlcnNFbmFibGVkKFdLV2Vic2l0ZVBvbGljaWVzUmVmKTsKIFdLX0VYUE9SVCB2b2lk
IFdLV2Vic2l0ZVBvbGljaWVzU2V0Q29udGVudEJsb2NrZXJzRW5hYmxlZChXS1dlYnNpdGVQb2xp
Y2llc1JlZiwgYm9vbCk7CiAKK1dLX0VYUE9SVCBib29sIFdLV2Vic2l0ZVBvbGljaWVzR2V0QWxs
b3dzQXV0b3BsYXlRdWlya3MoV0tXZWJzaXRlUG9saWNpZXNSZWYpOworV0tfRVhQT1JUIHZvaWQg
V0tXZWJzaXRlUG9saWNpZXNTZXRBbGxvd3NBdXRvcGxheVF1aXJrcyhXS1dlYnNpdGVQb2xpY2ll
c1JlZiwgYm9vbCk7CisKIFdLX0VYUE9SVCBXS1dlYnNpdGVBdXRvcGxheVBvbGljeSBXS1dlYnNp
dGVQb2xpY2llc0dldEF1dG9wbGF5UG9saWN5KFdLV2Vic2l0ZVBvbGljaWVzUmVmKTsKIFdLX0VY
UE9SVCB2b2lkIFdLV2Vic2l0ZVBvbGljaWVzU2V0QXV0b3BsYXlQb2xpY3koV0tXZWJzaXRlUG9s
aWNpZXNSZWYsIFdLV2Vic2l0ZUF1dG9wbGF5UG9saWN5KTsKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tXZWJzaXRlUG9saWNpZXMuaCBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLV2Vic2l0ZVBvbGljaWVzLmgKaW5kZXgg
ZTEwY2ZjODA1MGMzY2M3YmI0YjRiN2YwNmFiZDA4NWUzYjQxZjFjNy4uZDNmYjJjNDNkMDM4M2Qy
MjBjOGE4ODI2MTNhNTFkNGRkZGNmM2VkOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9Db2NvYS9fV0tXZWJzaXRlUG9saWNpZXMuaAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL0NvY29hL19XS1dlYnNpdGVQb2xpY2llcy5oCkBAIC0zOCw2ICszOCw3
IEBAIFdLX0NMQVNTX0FWQUlMQUJMRShtYWNvc3goV0tfTUFDX1RCQSksIGlvcyhXS19JT1NfVEJB
KSkKIEBpbnRlcmZhY2UgX1dLV2Vic2l0ZVBvbGljaWVzIDogTlNPYmplY3QKIAogQHByb3BlcnR5
IChub25hdG9taWMpIEJPT0wgY29udGVudEJsb2NrZXJzRW5hYmxlZDsKK0Bwcm9wZXJ0eSAobm9u
YXRvbWljKSBCT09MIGFsbG93c0F1dG9wbGF5UXVpcmtzOwogQHByb3BlcnR5IChub25hdG9taWMp
IF9XS1dlYnNpdGVBdXRvcGxheVBvbGljeSBhdXRvcGxheVBvbGljeTsKIAogQGVuZApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tXZWJzaXRlUG9saWNp
ZXMubW0gYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL19XS1dlYnNpdGVQb2xp
Y2llcy5tbQppbmRleCBhNjIxZTQ1OTFjYWZkNmU3MDYwNjQyZjAzMGIwNWMyNDI5ZjQ5YmZmLi5j
ZGFjMWY5NTBlZDIwYTQ3NzA5YmNkYWIxZmRjMTVkMzExOWI2MWZmIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL19XS1dlYnNpdGVQb2xpY2llcy5tbQorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL19XS1dlYnNpdGVQb2xpY2llcy5t
bQpAQCAtNTcsNiArNTcsMTYgQEAKICAgICByZXR1cm4gX3dlYnNpdGVQb2xpY2llcy0+Y29udGVu
dEJsb2NrZXJzRW5hYmxlZCgpOwogfQogCistICh2b2lkKXNldEFsbG93c0F1dG9wbGF5UXVpcmtz
OihCT09MKWFsbG93c1F1aXJrcworeworICAgIF93ZWJzaXRlUG9saWNpZXMtPnNldEFsbG93c0F1
dG9wbGF5UXVpcmtzKGFsbG93c1F1aXJrcyk7Cit9CisKKy0gKEJPT0wpYWxsb3dzQXV0b3BsYXlR
dWlya3MKK3sKKyAgICByZXR1cm4gX3dlYnNpdGVQb2xpY2llcy0+YWxsb3dzQXV0b3BsYXlRdWly
a3MoKTsKK30KKwogLSAodm9pZClzZXRBdXRvcGxheVBvbGljeTooX1dLV2Vic2l0ZUF1dG9wbGF5
UG9saWN5KXBvbGljeQogewogICAgIHN3aXRjaCAocG9saWN5KSB7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50
LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVM
b2FkZXJDbGllbnQuY3BwCmluZGV4IGE4NTZmZjk4MzcyNDE4MTIxOWNkMjY4NDEwNGFlMDdhM2Vh
OWNhMGQuLjgxMDlkMDA3MDViYThhYTA5NGNhZWFiNmNiZjE4Mjg4MWMyNTc1M2QgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2Fk
ZXJDbGllbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBv
cnQvV2ViRnJhbWVMb2FkZXJDbGllbnQuY3BwCkBAIC04MTcsNiArODE3LDggQEAgdm9pZCBXZWJG
cmFtZUxvYWRlckNsaWVudDo6ZGlzcGF0Y2hEZWNpZGVQb2xpY3lGb3JOYXZpZ2F0aW9uQWN0aW9u
KGNvbnN0IE5hdmlnYXQKICAgICBpZiAoZG9jdW1lbnRMb2FkZXItPnVzZXJDb250ZW50RXh0ZW5z
aW9uc0VuYWJsZWQoKSkKICAgICAgICAgZG9jdW1lbnRMb2FkZXItPnNldFVzZXJDb250ZW50RXh0
ZW5zaW9uc0VuYWJsZWQod2Vic2l0ZVBvbGljaWVzLmNvbnRlbnRCbG9ja2Vyc0VuYWJsZWQpOwog
CisgICAgZG9jdW1lbnRMb2FkZXItPnNldEFsbG93c0F1dG9wbGF5UXVpcmtzKHdlYnNpdGVQb2xp
Y2llcy5hbGxvd3NBdXRvcGxheVF1aXJrcyk7CisKICAgICBzd2l0Y2ggKHdlYnNpdGVQb2xpY2ll
cy5hdXRvcGxheVBvbGljeSkgewogICAgIGNhc2UgV2Vic2l0ZUF1dG9wbGF5UG9saWN5OjpEZWZh
dWx0OgogICAgICAgICBkb2N1bWVudExvYWRlci0+c2V0QXV0b3BsYXlQb2xpY3koQXV0b3BsYXlQ
b2xpY3k6OkRlZmF1bHQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJQYWdlL1dlYlBhZ2UuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dl
YlBhZ2UuY3BwCmluZGV4IGMzMGJhMTg3NmY2Y2FiNWE0MmM0ODE1NDE2OGFmMGViMmYxODJiNmMu
LjFiNjU3ZDIyMWMyNmRhNzMyODE5MjY2NzZmNTllZTBmNmQwNjk2ZjQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKQEAgLTU0NTgsNiArNTQ1OCw4
IEBAIHZvaWQgV2ViUGFnZTo6dXBkYXRlV2Vic2l0ZVBvbGljaWVzKGNvbnN0IFdlYnNpdGVQb2xp
Y2llcyYgd2Vic2l0ZVBvbGljaWVzKQogICAgIGlmICghZG9jdW1lbnRMb2FkZXIpCiAgICAgICAg
IHJldHVybjsKIAorICAgIGRvY3VtZW50TG9hZGVyLT5zZXRBbGxvd3NBdXRvcGxheVF1aXJrcyh3
ZWJzaXRlUG9saWNpZXMuYWxsb3dzQXV0b3BsYXlRdWlya3MpOworCiAgICAgc3dpdGNoICh3ZWJz
aXRlUG9saWNpZXMuYXV0b3BsYXlQb2xpY3kpIHsKICAgICBjYXNlIFdlYnNpdGVBdXRvcGxheVBv
bGljeTo6RGVmYXVsdDoKICAgICAgICAgZG9jdW1lbnRMb2FkZXItPnNldEF1dG9wbGF5UG9saWN5
KEF1dG9wbGF5UG9saWN5OjpEZWZhdWx0KTsKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBi
L1Rvb2xzL0NoYW5nZUxvZwppbmRleCA2ZDg0MTFhODA5NTY0YzI2MzAwMjMxNmViODQ1MWI4OTEy
NDRkNDZiLi5jMDVmYmJjNjc4YmQxZjVlNDVlZjUyMmE3M2E5ZGFlZjE4ZTY1NDU1IDEwMDY0NAot
LS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMTcg
QEAKIDIwMTctMDMtMDggIE1hdHQgUmFqY2EgIDxtcmFqY2FAYXBwbGUuY29tPgogCisgICAgICAg
IExldCBjbGllbnRzIGNvbnRyb2wgYXV0b3BsYXkgcXVpcmtzIHdpdGggd2Vic2l0ZSBwb2xpY2ll
cy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2OTM5
MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogVGVz
dFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyL2F1dG9wbGF5LWNoZWNrLmh0bWw6CisgICAgICAgICog
VGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyQ29jb2EvV2Vic2l0ZVBvbGljaWVzLm1tOgorICAg
ICAgICAoLVtBdXRvcGxheVBvbGljaWVzRGVsZWdhdGUgX3dlYlZpZXc6ZGVjaWRlUG9saWN5Rm9y
TmF2aWdhdGlvbkFjdGlvbjpkZWNpc2lvbkhhbmRsZXI6XSk6CisgICAgICAgIChURVNUKToKKwor
MjAxNy0wMy0wOCAgTWF0dCBSYWpjYSAgPG1yYWpjYUBhcHBsZS5jb20+CisKICAgICAgICAgQWRk
IHN1cHBvcnQgZm9yIHVwZGF0aW5nIGF1dG9wbGF5IHBvbGljaWVzIGFmdGVyIGEgcGFnZSBoYXMg
YmVlbiBsb2FkZWQuCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xNjkzNjAKIApkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJL
aXQyL2F1dG9wbGF5LWNoZWNrLmh0bWwgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktp
dDIvYXV0b3BsYXktY2hlY2suaHRtbAppbmRleCAzZjFhMjIxNzNlYzkxZTY0MjNmYjlhMjQ4MTE2
M2RjNDEyY2UzZmNiLi40ZGU2MjQ3NWFjZGViNWUzYWY5ODUzOWJkZjFkMjA2YmM0NjJhNDMzIDEw
MDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDIvYXV0b3BsYXktY2hl
Y2suaHRtbAorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDIvYXV0b3BsYXkt
Y2hlY2suaHRtbApAQCAtMTIsOSArMTIsMTUgQEAKICAgICAgICAgICAgICAgICAgICAgfSBjYXRj
aChlKSB7IH0KICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgIH0KKworICAgICAgICAg
ICAgZnVuY3Rpb24gdmlkZW9EaWRQYXVzZSgpIHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAg
ICAgICAgICAgICAgICAgICB3aW5kb3cud2Via2l0Lm1lc3NhZ2VIYW5kbGVycy50ZXN0SGFuZGxl
ci5wb3N0TWVzc2FnZSgib24tcGF1c2UiKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoKGUpIHsg
fQorICAgICAgICAgICAgfQogICAgICAgICA8L3NjcmlwdD4KICAgICA8L2hlYWQ+CiAgICAgPGJv
ZHkgb25sb2FkPSJwbGF5VmlkZW8oKSI+Ci0gICAgICAgIDx2aWRlbyBpZD0idmlkZW8iIHBsYXlz
aW5saW5lIHNyYz0idGVzdC5tcDQiIC8+CisgICAgICAgIDx2aWRlbyBpZD0idmlkZW8iIG9ucGF1
c2U9dmlkZW9EaWRQYXVzZSgpIHBsYXlzaW5saW5lIHNyYz0idGVzdC5tcDQiIC8+CiAgICAgPC9i
b2R5PgogPC9odG1sPgpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJL
aXQyQ29jb2EvV2Vic2l0ZVBvbGljaWVzLm1tIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9X
ZWJLaXQyQ29jb2EvV2Vic2l0ZVBvbGljaWVzLm1tCmluZGV4IGFiNjMxNDE3YTUxZmIxZWJiNDA3
NTFlYTI1NzcwNjdiMGM4MjI4ZDcuLjQ0YTE1ZTFhOTYxODVjMjkxNzhhYTVkYTJjOTE5NTdmNzdj
NzFhNDcgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0MkNvY29h
L1dlYnNpdGVQb2xpY2llcy5tbQorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktp
dDJDb2NvYS9XZWJzaXRlUG9saWNpZXMubW0KQEAgLTI4LDYgKzI4LDcgQEAKICNpbXBvcnQgIlBs
YXRmb3JtVXRpbGl0aWVzLmgiCiAjaW1wb3J0ICJUZXN0V0tXZWJWaWV3LmgiCiAjaW1wb3J0IDxX
ZWJLaXQvV0tQYWdlUHJpdmF0ZS5oPgorI2ltcG9ydCA8V2ViS2l0L1dLUHJlZmVyZW5jZXNSZWZQ
cml2YXRlLmg+CiAjaW1wb3J0IDxXZWJLaXQvV0tVc2VyQ29udGVudENvbnRyb2xsZXJQcml2YXRl
Lmg+CiAjaW1wb3J0IDxXZWJLaXQvV0tXZWJWaWV3UHJpdmF0ZS5oPgogI2ltcG9ydCA8V2ViS2l0
L19XS1VzZXJDb250ZW50RXh0ZW5zaW9uU3RvcmVQcml2YXRlLmg+CkBAIC0xNjUsNiArMTY2LDcg
QEAgVEVTVChXZWJLaXQyLCBXZWJzaXRlUG9saWNpZXNDb250ZW50QmxvY2tlcnNFbmFibGVkKQog
CiBAaW50ZXJmYWNlIEF1dG9wbGF5UG9saWNpZXNEZWxlZ2F0ZSA6IE5TT2JqZWN0IDxXS05hdmln
YXRpb25EZWxlZ2F0ZSwgV0tVSURlbGVnYXRlPgogQHByb3BlcnR5IChub25hdG9taWMsIGNvcHkp
IF9XS1dlYnNpdGVBdXRvcGxheVBvbGljeSheYXV0b3BsYXlQb2xpY3lGb3JVUkwpKE5TVVJMICop
OworQHByb3BlcnR5IChub25hdG9taWMpIEJPT0wgYWxsb3dzQXV0b3BsYXlRdWlya3M7CiBAZW5k
CiAKIEBpbXBsZW1lbnRhdGlvbiBBdXRvcGxheVBvbGljaWVzRGVsZWdhdGUKQEAgLTE3OSw2ICsx
ODEsNyBAQCBURVNUKFdlYktpdDIsIFdlYnNpdGVQb2xpY2llc0NvbnRlbnRCbG9ja2Vyc0VuYWJs
ZWQpCiAtICh2b2lkKV93ZWJWaWV3OihXS1dlYlZpZXcgKil3ZWJWaWV3IGRlY2lkZVBvbGljeUZv
ck5hdmlnYXRpb25BY3Rpb246KFdLTmF2aWdhdGlvbkFjdGlvbiAqKW5hdmlnYXRpb25BY3Rpb24g
ZGVjaXNpb25IYW5kbGVyOih2b2lkICheKShXS05hdmlnYXRpb25BY3Rpb25Qb2xpY3ksIF9XS1dl
YnNpdGVQb2xpY2llcyAqKSlkZWNpc2lvbkhhbmRsZXIKIHsKICAgICBfV0tXZWJzaXRlUG9saWNp
ZXMgKndlYnNpdGVQb2xpY2llcyA9IFtbW19XS1dlYnNpdGVQb2xpY2llcyBhbGxvY10gaW5pdF0g
YXV0b3JlbGVhc2VdOworICAgIHdlYnNpdGVQb2xpY2llcy5hbGxvd3NBdXRvcGxheVF1aXJrcyA9
IF9hbGxvd3NBdXRvcGxheVF1aXJrczsKICAgICBpZiAoX2F1dG9wbGF5UG9saWN5Rm9yVVJMKQog
ICAgICAgICB3ZWJzaXRlUG9saWNpZXMuYXV0b3BsYXlQb2xpY3kgPSBfYXV0b3BsYXlQb2xpY3lG
b3JVUkwobmF2aWdhdGlvbkFjdGlvbi5yZXF1ZXN0LlVSTCk7CiAgICAgZGVjaXNpb25IYW5kbGVy
KFdLTmF2aWdhdGlvbkFjdGlvblBvbGljeUFsbG93LCB3ZWJzaXRlUG9saWNpZXMpOwpAQCAtNDM3
LDYgKzQ0MCwyOSBAQCBURVNUKFdlYktpdDIsIFdlYnNpdGVQb2xpY2llc1VzZXJOZXZlclBsYXll
ZE1lZGlhUHJldmVudGVkRnJvbVBsYXlpbmcpCiAgICAgW3dlYlZpZXcgbG9hZFJlcXVlc3Q6W05T
VVJMUmVxdWVzdCByZXF1ZXN0V2l0aFVSTDpbTlNVUkwgVVJMV2l0aFN0cmluZzpAImFib3V0OmJs
YW5rIl1dXTsKICAgICBydW5VbnRpbFJlY2VpdmVzQXV0b3BsYXlFdmVudChrV0tBdXRvcGxheUV2
ZW50VXNlck5ldmVyUGxheWVkTWVkaWFQcmV2ZW50ZWRGcm9tUGxheWluZyk7CiB9CisKK1RFU1Qo
V2ViS2l0MiwgV2Vic2l0ZVBvbGljaWVzQXV0b3BsYXlRdWlya3MpCit7CisgICAgYXV0byBjb25m
aWd1cmF0aW9uID0gYWRvcHROUyhbW1dLV2ViVmlld0NvbmZpZ3VyYXRpb24gYWxsb2NdIGluaXRd
KTsKKyAgICBhdXRvIHdlYlZpZXcgPSBhZG9wdE5TKFtbVGVzdFdLV2ViVmlldyBhbGxvY10gaW5p
dFdpdGhGcmFtZTpOU01ha2VSZWN0KDAsIDAsIDgwMCwgNjAwKSBjb25maWd1cmF0aW9uOmNvbmZp
Z3VyYXRpb24uZ2V0KCldKTsKKworICAgIGF1dG8gZGVsZWdhdGUgPSBhZG9wdE5TKFtbQXV0b3Bs
YXlQb2xpY2llc0RlbGVnYXRlIGFsbG9jXSBpbml0XSk7CisgICAgW3dlYlZpZXcgc2V0TmF2aWdh
dGlvbkRlbGVnYXRlOmRlbGVnYXRlLmdldCgpXTsKKworICAgIFdLUmV0YWluUHRyPFdLUHJlZmVy
ZW5jZXNSZWY+IHByZWZlcmVuY2VzKEFkb3B0V0ssIFdLUHJlZmVyZW5jZXNDcmVhdGUoKSk7Cisg
ICAgV0tQcmVmZXJlbmNlc1NldE5lZWRzU2l0ZVNwZWNpZmljUXVpcmtzKHByZWZlcmVuY2VzLmdl
dCgpLCB0cnVlKTsKKyAgICBXS1BhZ2VHcm91cFNldFByZWZlcmVuY2VzKFdLUGFnZUdldFBhZ2VH
cm91cChbd2ViVmlldyBfcGFnZUZvclRlc3RpbmddKSwgcHJlZmVyZW5jZXMuZ2V0KCkpOworCisg
ICAgTlNVUkxSZXF1ZXN0ICpyZXF1ZXN0V2l0aEF1ZGlvID0gW05TVVJMUmVxdWVzdCByZXF1ZXN0
V2l0aFVSTDpbW05TQnVuZGxlIG1haW5CdW5kbGVdIFVSTEZvclJlc291cmNlOkAiYXV0b3BsYXkt
Y2hlY2siIHdpdGhFeHRlbnNpb246QCJodG1sIiBzdWJkaXJlY3Rvcnk6QCJUZXN0V2ViS2l0QVBJ
LnJlc291cmNlcyJdXTsKKworICAgIFtkZWxlZ2F0ZSBzZXRBbGxvd3NBdXRvcGxheVF1aXJrczpZ
RVNdOworICAgIFtkZWxlZ2F0ZSBzZXRBdXRvcGxheVBvbGljeUZvclVSTDpeKE5TVVJMICopIHsK
KyAgICAgICAgcmV0dXJuIF9XS1dlYnNpdGVBdXRvcGxheVBvbGljeURlbnk7CisgICAgfV07Cisg
ICAgW3dlYlZpZXcgbG9hZFJlcXVlc3Q6cmVxdWVzdFdpdGhBdWRpb107CisgICAgW3dlYlZpZXcg
d2FpdEZvck1lc3NhZ2U6QCJkaWQtbm90LXBsYXkiXTsKKyAgICBbd2ViVmlldyB3YWl0Rm9yTWVz
c2FnZTpAIm9uLXBhdXNlIl07Cit9CiAjZW5kaWYKIAogI2VuZGlmCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>303920</attachid>
            <date>2017-03-09 08:43:23 -0800</date>
            <delta_ts>2017-03-09 12:37:27 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-169390-20170309084323.patch</filename>
            <type>text/plain</type>
            <size>17067</size>
            <attacher name="Matt Rajca">mrajca</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjEzNTg2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODhkYmMxNjQ1ODc5MGRh
NjhlYzlmNzQyMzA2M2FkNWRlZTM3M2FiMS4uOTA4ZWFmYWZmMDgzZTBhMzRiMjAxNDA5YzYxODBl
Y2RhNTYyOTE3OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDE3LTAzLTA4ICBNYXR0
IFJhamNhICA8bXJhamNhQGFwcGxlLmNvbT4KKworICAgICAgICBMZXQgY2xpZW50cyBjb250cm9s
IGF1dG9wbGF5IHF1aXJrcyB3aXRoIHdlYnNpdGUgcG9saWNpZXMuCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjkzOTAKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRlZCBBUEkgdGVzdHMuCisKKyAgICAg
ICAgTWFueSBzaXRlcyBpbmNvcnJlY3RseSBhc3N1bWUgbWVkaWEgd2lsbCBzdGFydCBvZmYgcGxh
eWluZyBhbmQgZGlzcGxheSBhIHBhdXNlIGJ1dHRvbiBmcm9tIHRoZQorICAgICAgICBzdGFydC4g
V2UgY2FuIHRyaWNrIG1hbnkgb2YgdGhlc2Ugc2l0ZXMgaW50byB1cGRhdGluZyB0aGVpciBjb250
cm9scyBieSBzZW5kaW5nIGEgInBhdXNlIgorICAgICAgICBldmVudCB3aGVuIHdlIHByZXZlbnQg
YSBtZWRpYSBlbGVtZW50IGZyb20gcGxheWluZy4KKworICAgICAgICBXZSBkb24ndCB3YW50IHRo
aXMgdG8gYmVjb21lIHN0YW5kYXJkIHdlYiBiZWhhdmlvciwgaG93ZXZlciwgc2luY2UgdWx0aW1h
dGVseSBzaXRlcyBzaG91bGQgYWRhcHQKKyAgICAgICAgdG8gdGhlIG5ldyBiZWhhdmlvci4gVGhp
cyBwYXRjaCBsZXRzIGNsaWVudHMgZGVjaWRlIHdoaWNoIGxpbWl0ZWQgc2V0IG9mIHNpdGVzIGdl
dHMgdG8gdXNlIGF1dG8tcGxheQorICAgICAgICBxdWlya3MuCisKKyAgICAgICAgKiBodG1sL0hU
TUxNZWRpYUVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6bmVlZHNBdXRvcGxheVBsYXlQ
YXVzZUV2ZW50c1F1aXJrKToKKyAgICAgICAgKiBsb2FkZXIvRG9jdW1lbnRMb2FkZXIuaDoKKyAg
ICAgICAgKFdlYkNvcmU6OkRvY3VtZW50TG9hZGVyOjphbGxvd3NBdXRvcGxheVF1aXJrcyk6Cisg
ICAgICAgIChXZWJDb3JlOjpEb2N1bWVudExvYWRlcjo6c2V0QWxsb3dzQXV0b3BsYXlRdWlya3Mp
OgorCiAyMDE3LTAzLTA2ICBNYXR0IFJhamNhICA8bXJhamNhQGFwcGxlLmNvbT4KIAogICAgICAg
ICBBZGQgc3VwcG9ydCBmb3IgYW4gYXV0b3BsYXkgcGxheS1wYXVzZSBldmVudHMgcXVpcmsuCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFu
Z2VMb2cKaW5kZXggNGMwMGE2ODZkZGM3ODViNjVmYzFkY2ViNzU1ZmQ5NGE5NTBkMTI2Yi4uZjg3
ZjA2OTFiZTU5Y2M2MjEwNzkxMWYyMjQ1MmFiZTMxMjA2MGVmMSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSw1
ICsxLDM3IEBACiAyMDE3LTAzLTA4ICBNYXR0IFJhamNhICA8bXJhamNhQGFwcGxlLmNvbT4KIAor
ICAgICAgICBMZXQgY2xpZW50cyBjb250cm9sIGF1dG9wbGF5IHF1aXJrcyB3aXRoIHdlYnNpdGUg
cG9saWNpZXMuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xNjkzOTAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKyAgICAgICAg
CisgICAgICAgIE1hbnkgc2l0ZXMgaW5jb3JyZWN0bHkgYXNzdW1lIG1lZGlhIHdpbGwgc3RhcnQg
b2ZmIHBsYXlpbmcgYW5kIGRpc3BsYXkgYSBwYXVzZSBidXR0b24gZnJvbSB0aGUKKyAgICAgICAg
c3RhcnQuIFdlIGNhbiB0cmljayBtYW55IG9mIHRoZXNlIHNpdGVzIGludG8gdXBkYXRpbmcgdGhl
aXIgY29udHJvbHMgYnkgc2VuZGluZyBhICJwYXVzZSIKKyAgICAgICAgZXZlbnQgd2hlbiB3ZSBw
cmV2ZW50IGEgbWVkaWEgZWxlbWVudCBmcm9tIHBsYXlpbmcuCisKKyAgICAgICAgV2UgZG9uJ3Qg
d2FudCB0aGlzIHRvIGJlY29tZSBzdGFuZGFyZCB3ZWIgYmVoYXZpb3IsIGhvd2V2ZXIsIHNpbmNl
IHVsdGltYXRlbHkgc2l0ZXMgc2hvdWxkIGFkYXB0CisgICAgICAgIHRvIHRoZSBuZXcgYmVoYXZp
b3IuIFRoaXMgcGF0Y2ggbGV0cyBjbGllbnRzIGRlY2lkZSB3aGljaCBsaW1pdGVkIHNldCBvZiBz
aXRlcyBnZXRzIHRvIHVzZSBhdXRvLXBsYXkKKyAgICAgICAgcXVpcmtzLgorCisgICAgICAgICog
U2hhcmVkL1dlYnNpdGVQb2xpY2llcy5oOgorICAgICAgICAoV2ViS2l0OjpXZWJzaXRlUG9saWNp
ZXM6OmVuY29kZSk6CisgICAgICAgIChXZWJLaXQ6OldlYnNpdGVQb2xpY2llczo6ZGVjb2RlKToK
KyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0FQSVdlYnNpdGVQb2xpY2llcy5oOgorICAgICAgICAq
IFVJUHJvY2Vzcy9BUEkvQy9XS1dlYnNpdGVQb2xpY2llcy5jcHA6CisgICAgICAgIChXS1dlYnNp
dGVQb2xpY2llc1NldEFsbG93c0F1dG9wbGF5UXVpcmtzKToKKyAgICAgICAgKFdLV2Vic2l0ZVBv
bGljaWVzR2V0QWxsb3dzQXV0b3BsYXlRdWlya3MpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkv
Qy9XS1dlYnNpdGVQb2xpY2llcy5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvX1dL
V2Vic2l0ZVBvbGljaWVzLmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tXZWJz
aXRlUG9saWNpZXMubW06CisgICAgICAgICgtW19XS1dlYnNpdGVQb2xpY2llcyBzZXRBbGxvd3NB
dXRvcGxheVF1aXJrczpdKToKKyAgICAgICAgKC1bX1dLV2Vic2l0ZVBvbGljaWVzIGFsbG93c0F1
dG9wbGF5UXVpcmtzXSk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJG
cmFtZUxvYWRlckNsaWVudC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYkZyYW1lTG9hZGVyQ2xp
ZW50OjpkaXNwYXRjaERlY2lkZVBvbGljeUZvck5hdmlnYXRpb25BY3Rpb24pOgorICAgICAgICAq
IFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFn
ZTo6dXBkYXRlV2Vic2l0ZVBvbGljaWVzKToKKworMjAxNy0wMy0wOCAgTWF0dCBSYWpjYSAgPG1y
YWpjYUBhcHBsZS5jb20+CisKICAgICAgICAgQWRkIHN1cHBvcnQgZm9yIHVwZGF0aW5nIGF1dG9w
bGF5IHBvbGljaWVzIGFmdGVyIGEgcGFnZSBoYXMgYmVlbiBsb2FkZWQuCiAgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjkzNjAKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAKaW5kZXggNWViMjA3YWVmYmE0MjU5MTJjNWZkOWQ5
ZTBkM2M2ZGIxZTE3NmMwYS4uNTIzYzJlNWYzMDQ3ZTI1Mjk5NjRjNjdjNWJkMDc3MjVmNTkzZmU3
YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCkBAIC01OTEsOCAr
NTkxLDggQEAgc3RhdGljIGJvb2wgbmVlZHNBdXRvcGxheVBsYXlQYXVzZUV2ZW50c1F1aXJrKGNv
bnN0IERvY3VtZW50JiBkb2N1bWVudCkKICAgICBpZiAoIXBhZ2UgfHwgIXBhZ2UtPnNldHRpbmdz
KCkubmVlZHNTaXRlU3BlY2lmaWNRdWlya3MoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0g
ICAgU3RyaW5nIGhvc3QgPSBkb2N1bWVudC51cmwoKS5ob3N0KCk7Ci0gICAgcmV0dXJuIGVxdWFs
TGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNlKGhvc3QsICJ5YWhvby5jb20iKSB8fCBob3N0LmVuZHNX
aXRoSWdub3JpbmdBU0NJSUNhc2UoIi55YWhvby5jb20iKTsKKyAgICBhdXRvKiBsb2FkZXIgPSBk
b2N1bWVudC5sb2FkZXIoKTsKKyAgICByZXR1cm4gbG9hZGVyICYmIGxvYWRlci0+YWxsb3dzQXV0
b3BsYXlRdWlya3MoKTsKIH0KIAogc3RhdGljIGJvb2wgbmVlZHNQbGF5YmFja0NvbnRyb2xzTWFu
YWdlclF1aXJrKFBhZ2UmIHBhZ2UpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
RG9jdW1lbnRMb2FkZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudExvYWRlci5o
CmluZGV4IDBhZDM3MmE0ZjNiZWZiZTg5MmE3MDc5YTZhODY0YjUyMTg4NjRjODIuLjdkYTQwMGE3
MWJjYTM2ZTNlY2FmOTdiZmQwYmNhNjc2MTVjMzE2N2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9Eb2N1bWVudExvYWRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9E
b2N1bWVudExvYWRlci5oCkBAIC0yNDIsNiArMjQyLDkgQEAgcHVibGljOgogICAgIEF1dG9wbGF5
UG9saWN5IGF1dG9wbGF5UG9saWN5KCkgY29uc3QgeyByZXR1cm4gbV9hdXRvcGxheVBvbGljeTsg
fQogICAgIHZvaWQgc2V0QXV0b3BsYXlQb2xpY3koQXV0b3BsYXlQb2xpY3kgcG9saWN5KSB7IG1f
YXV0b3BsYXlQb2xpY3kgPSBwb2xpY3k7IH0KIAorICAgIGJvb2wgYWxsb3dzQXV0b3BsYXlRdWly
a3MoKSBjb25zdCB7IHJldHVybiBtX2FsbG93c0F1dG9wbGF5UXVpcmtzOyB9CisgICAgdm9pZCBz
ZXRBbGxvd3NBdXRvcGxheVF1aXJrcyhib29sIGFsbG93c1F1aXJrcykgeyBtX2FsbG93c0F1dG9w
bGF5UXVpcmtzID0gYWxsb3dzUXVpcmtzOyB9CisKICAgICB2b2lkIGFkZFN1YnJlc291cmNlTG9h
ZGVyKFJlc291cmNlTG9hZGVyKik7CiAgICAgdm9pZCByZW1vdmVTdWJyZXNvdXJjZUxvYWRlcihS
ZXNvdXJjZUxvYWRlciopOwogICAgIHZvaWQgYWRkUGx1Z0luU3RyZWFtTG9hZGVyKFJlc291cmNl
TG9hZGVyJik7CkBAIC00NzIsNiArNDc1LDcgQEAgcHJpdmF0ZToKICNlbmRpZgogICAgIGJvb2wg
bV91c2VyQ29udGVudEV4dGVuc2lvbnNFbmFibGVkIHsgdHJ1ZSB9OwogICAgIEF1dG9wbGF5UG9s
aWN5IG1fYXV0b3BsYXlQb2xpY3kgeyBBdXRvcGxheVBvbGljeTo6RGVmYXVsdCB9OworICAgIGJv
b2wgbV9hbGxvd3NBdXRvcGxheVF1aXJrcyB7IGZhbHNlIH07CiAKICNpZm5kZWYgTkRFQlVHCiAg
ICAgYm9vbCBtX2hhc0V2ZXJCZWVuQXR0YWNoZWQgeyBmYWxzZSB9OwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvU2hhcmVkL1dlYnNpdGVQb2xpY2llcy5oIGIvU291cmNlL1dlYktpdDIvU2hh
cmVkL1dlYnNpdGVQb2xpY2llcy5oCmluZGV4IGY3OWMzZmJiNzM1MzE3OWI4NWUwZTY0ODg3ZjI5
NDZhOTczZTk4NWEuLmI1NGFkMTBjZjNkYTVjYmZhN2QzMzhlNTlmMDhmODc2ZGYyMmJkNzkgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJzaXRlUG9saWNpZXMuaAorKysgYi9T
b3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2Vic2l0ZVBvbGljaWVzLmgKQEAgLTM3LDggKzM3LDkgQEAg
ZW51bSBjbGFzcyBXZWJzaXRlQXV0b3BsYXlQb2xpY3kgewogc3RydWN0IFdlYnNpdGVQb2xpY2ll
cyB7CiAKICAgICBib29sIGNvbnRlbnRCbG9ja2Vyc0VuYWJsZWQgeyB0cnVlIH07CisgICAgYm9v
bCBhbGxvd3NBdXRvcGxheVF1aXJrcyB7IGZhbHNlIH07CiAgICAgV2Vic2l0ZUF1dG9wbGF5UG9s
aWN5IGF1dG9wbGF5UG9saWN5IHsgV2Vic2l0ZUF1dG9wbGF5UG9saWN5OjpEZWZhdWx0IH07Ci0g
ICAgCisKICAgICB0ZW1wbGF0ZTxjbGFzcyBFbmNvZGVyPiB2b2lkIGVuY29kZShFbmNvZGVyJikg
Y29uc3Q7CiAgICAgdGVtcGxhdGU8Y2xhc3MgRGVjb2Rlcj4gc3RhdGljIGJvb2wgZGVjb2RlKERl
Y29kZXImLCBXZWJzaXRlUG9saWNpZXMmKTsKIH07CkBAIC00Nyw2ICs0OCw3IEBAIHRlbXBsYXRl
PGNsYXNzIEVuY29kZXI+IHZvaWQgV2Vic2l0ZVBvbGljaWVzOjplbmNvZGUoRW5jb2RlciYgZW5j
b2RlcikgY29uc3QKIHsKICAgICBlbmNvZGVyIDw8IGNvbnRlbnRCbG9ja2Vyc0VuYWJsZWQ7CiAg
ICAgZW5jb2Rlci5lbmNvZGVFbnVtKGF1dG9wbGF5UG9saWN5KTsKKyAgICBlbmNvZGVyIDw8IGFs
bG93c0F1dG9wbGF5UXVpcmtzOwogfQogCiB0ZW1wbGF0ZTxjbGFzcyBEZWNvZGVyPiBib29sIFdl
YnNpdGVQb2xpY2llczo6ZGVjb2RlKERlY29kZXImIGRlY29kZXIsIFdlYnNpdGVQb2xpY2llcyYg
cmVzdWx0KQpAQCAtNTUsNiArNTcsOCBAQCB0ZW1wbGF0ZTxjbGFzcyBEZWNvZGVyPiBib29sIFdl
YnNpdGVQb2xpY2llczo6ZGVjb2RlKERlY29kZXImIGRlY29kZXIsIFdlYnNpdGVQbwogICAgICAg
ICByZXR1cm4gZmFsc2U7CiAgICAgaWYgKCFkZWNvZGVyLmRlY29kZUVudW0ocmVzdWx0LmF1dG9w
bGF5UG9saWN5KSkKICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIGlmICghZGVjb2Rlci5kZWNv
ZGUocmVzdWx0LmFsbG93c0F1dG9wbGF5UXVpcmtzKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOwog
ICAgIHJldHVybiB0cnVlOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL0FQSVdlYnNpdGVQb2xpY2llcy5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9BUElXZWJzaXRlUG9saWNpZXMuaAppbmRleCBjYTc0ZjgxOTJmNTkzNWY5NDFjZDhmMTJjNWUw
YjU2MmQwNTE2ZDM1Li5lZTIzNDI3YjZkNWFlYzg1NGMxN2YyMTI3ZDFjNDJkMDU5YmMzYjJjIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0FQSVdlYnNpdGVQb2xpY2ll
cy5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQVBJV2Vic2l0ZVBvbGljaWVz
LmgKQEAgLTM5LDYgKzM5LDkgQEAgcHVibGljOgogICAgIGJvb2wgY29udGVudEJsb2NrZXJzRW5h
YmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1fd2Vic2l0ZVBvbGljaWVzLmNvbnRlbnRCbG9ja2Vyc0Vu
YWJsZWQ7IH0KICAgICB2b2lkIHNldENvbnRlbnRCbG9ja2Vyc0VuYWJsZWQoYm9vbCBlbmFibGVk
KSB7IG1fd2Vic2l0ZVBvbGljaWVzLmNvbnRlbnRCbG9ja2Vyc0VuYWJsZWQgPSBlbmFibGVkOyB9
CiAKKyAgICBib29sIGFsbG93c0F1dG9wbGF5UXVpcmtzKCkgY29uc3QgeyByZXR1cm4gbV93ZWJz
aXRlUG9saWNpZXMuYWxsb3dzQXV0b3BsYXlRdWlya3M7IH0KKyAgICB2b2lkIHNldEFsbG93c0F1
dG9wbGF5UXVpcmtzKGJvb2wgYWxsb3dzUXVpcmtzKSB7IG1fd2Vic2l0ZVBvbGljaWVzLmFsbG93
c0F1dG9wbGF5UXVpcmtzID0gYWxsb3dzUXVpcmtzOyB9CisKICAgICBXZWJLaXQ6OldlYnNpdGVB
dXRvcGxheVBvbGljeSBhdXRvcGxheVBvbGljeSgpIGNvbnN0IHsgcmV0dXJuIG1fd2Vic2l0ZVBv
bGljaWVzLmF1dG9wbGF5UG9saWN5OyB9CiAgICAgdm9pZCBzZXRBdXRvcGxheVBvbGljeShXZWJL
aXQ6OldlYnNpdGVBdXRvcGxheVBvbGljeSBwb2xpY3kpIHsgbV93ZWJzaXRlUG9saWNpZXMuYXV0
b3BsYXlQb2xpY3kgPSBwb2xpY3k7IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9DL1dLV2Vic2l0ZVBvbGljaWVzLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvQy9XS1dlYnNpdGVQb2xpY2llcy5jcHAKaW5kZXggYjk3MDlhNjhkMWMwOWU1OWI0
N2M0MWJmMjI3MDFmMDI2MmFjNGE2ZC4uMDE4YTMzMTdmNDRmZjcyZGI0M2UzZDRjMGY1YjI3Yjlj
ZjA3NDliNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLV2Vi
c2l0ZVBvbGljaWVzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tX
ZWJzaXRlUG9saWNpZXMuY3BwCkBAIC01Miw2ICs1MiwxNiBAQCBib29sIFdLV2Vic2l0ZVBvbGlj
aWVzR2V0Q29udGVudEJsb2NrZXJzRW5hYmxlZChXS1dlYnNpdGVQb2xpY2llc1JlZiB3ZWJzaXRl
UG9saQogICAgIHJldHVybiB0b0ltcGwod2Vic2l0ZVBvbGljaWVzKS0+Y29udGVudEJsb2NrZXJz
RW5hYmxlZCgpOwogfQogCit2b2lkIFdLV2Vic2l0ZVBvbGljaWVzU2V0QWxsb3dzQXV0b3BsYXlR
dWlya3MoV0tXZWJzaXRlUG9saWNpZXNSZWYgd2Vic2l0ZVBvbGljaWVzLCBib29sIGFsbG93c1F1
aXJrcykKK3sKKyAgICB0b0ltcGwod2Vic2l0ZVBvbGljaWVzKS0+c2V0QWxsb3dzQXV0b3BsYXlR
dWlya3MoYWxsb3dzUXVpcmtzKTsKK30KKworYm9vbCBXS1dlYnNpdGVQb2xpY2llc0dldEFsbG93
c0F1dG9wbGF5UXVpcmtzKFdLV2Vic2l0ZVBvbGljaWVzUmVmIHdlYnNpdGVQb2xpY2llcykKK3sK
KyAgICByZXR1cm4gdG9JbXBsKHdlYnNpdGVQb2xpY2llcyktPmFsbG93c0F1dG9wbGF5UXVpcmtz
KCk7Cit9CisKIFdLV2Vic2l0ZUF1dG9wbGF5UG9saWN5IFdLV2Vic2l0ZVBvbGljaWVzR2V0QXV0
b3BsYXlQb2xpY3koV0tXZWJzaXRlUG9saWNpZXNSZWYgd2Vic2l0ZVBvbGljaWVzKQogewogICAg
IHN3aXRjaCAodG9JbXBsKHdlYnNpdGVQb2xpY2llcyktPmF1dG9wbGF5UG9saWN5KCkpIHsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1dlYnNpdGVQb2xpY2ll
cy5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLV2Vic2l0ZVBvbGljaWVzLmgK
aW5kZXggMGM4ZTM0ZjE1M2ZlNGJiYjQ1MDc2YzZhNTk5YzYyM2Q1YTY5NTI0OC4uNDkzOGU5Zjlk
YzBjOWE3OWUxZTM5OTI2YTc4NjNlNjE0OWYyMDE4YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9DL1dLV2Vic2l0ZVBvbGljaWVzLmgKKysrIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9DL1dLV2Vic2l0ZVBvbGljaWVzLmgKQEAgLTQ1LDYgKzQ1LDkgQEAg
V0tfRVhQT1JUIFdLV2Vic2l0ZVBvbGljaWVzUmVmIFdLV2Vic2l0ZVBvbGljaWVzQ3JlYXRlKCk7
CiBXS19FWFBPUlQgYm9vbCBXS1dlYnNpdGVQb2xpY2llc0dldENvbnRlbnRCbG9ja2Vyc0VuYWJs
ZWQoV0tXZWJzaXRlUG9saWNpZXNSZWYpOwogV0tfRVhQT1JUIHZvaWQgV0tXZWJzaXRlUG9saWNp
ZXNTZXRDb250ZW50QmxvY2tlcnNFbmFibGVkKFdLV2Vic2l0ZVBvbGljaWVzUmVmLCBib29sKTsK
IAorV0tfRVhQT1JUIGJvb2wgV0tXZWJzaXRlUG9saWNpZXNHZXRBbGxvd3NBdXRvcGxheVF1aXJr
cyhXS1dlYnNpdGVQb2xpY2llc1JlZik7CitXS19FWFBPUlQgdm9pZCBXS1dlYnNpdGVQb2xpY2ll
c1NldEFsbG93c0F1dG9wbGF5UXVpcmtzKFdLV2Vic2l0ZVBvbGljaWVzUmVmLCBib29sKTsKKwog
V0tfRVhQT1JUIFdLV2Vic2l0ZUF1dG9wbGF5UG9saWN5IFdLV2Vic2l0ZVBvbGljaWVzR2V0QXV0
b3BsYXlQb2xpY3koV0tXZWJzaXRlUG9saWNpZXNSZWYpOwogV0tfRVhQT1JUIHZvaWQgV0tXZWJz
aXRlUG9saWNpZXNTZXRBdXRvcGxheVBvbGljeShXS1dlYnNpdGVQb2xpY2llc1JlZiwgV0tXZWJz
aXRlQXV0b3BsYXlQb2xpY3kpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL0NvY29hL19XS1dlYnNpdGVQb2xpY2llcy5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9Db2NvYS9fV0tXZWJzaXRlUG9saWNpZXMuaAppbmRleCBlMTBjZmM4MDUwYzNjYzdi
YjRiNGI3ZjA2YWJkMDg1ZTNiNDFmMWM3Li5kM2ZiMmM0M2QwMzgzZDIyMGM4YTg4MjYxM2E1MWQ0
ZGRkY2YzZWQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29h
L19XS1dlYnNpdGVQb2xpY2llcy5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
Q29jb2EvX1dLV2Vic2l0ZVBvbGljaWVzLmgKQEAgLTM4LDYgKzM4LDcgQEAgV0tfQ0xBU1NfQVZB
SUxBQkxFKG1hY29zeChXS19NQUNfVEJBKSwgaW9zKFdLX0lPU19UQkEpKQogQGludGVyZmFjZSBf
V0tXZWJzaXRlUG9saWNpZXMgOiBOU09iamVjdAogCiBAcHJvcGVydHkgKG5vbmF0b21pYykgQk9P
TCBjb250ZW50QmxvY2tlcnNFbmFibGVkOworQHByb3BlcnR5IChub25hdG9taWMpIEJPT0wgYWxs
b3dzQXV0b3BsYXlRdWlya3M7CiBAcHJvcGVydHkgKG5vbmF0b21pYykgX1dLV2Vic2l0ZUF1dG9w
bGF5UG9saWN5IGF1dG9wbGF5UG9saWN5OwogCiBAZW5kCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL19XS1dlYnNpdGVQb2xpY2llcy5tbSBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLV2Vic2l0ZVBvbGljaWVzLm1tCmluZGV4IGE2
MjFlNDU5MWNhZmQ2ZTcwNjA2NDJmMDMwYjA1YzI0MjlmNDliZmYuLmNkYWMxZjk1MGVkMjBhNDc3
MDliY2RhYjFmZGMxNWQzMTE5YjYxZmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvQ29jb2EvX1dLV2Vic2l0ZVBvbGljaWVzLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLV2Vic2l0ZVBvbGljaWVzLm1tCkBAIC01Nyw2ICs1Nywx
NiBAQAogICAgIHJldHVybiBfd2Vic2l0ZVBvbGljaWVzLT5jb250ZW50QmxvY2tlcnNFbmFibGVk
KCk7CiB9CiAKKy0gKHZvaWQpc2V0QWxsb3dzQXV0b3BsYXlRdWlya3M6KEJPT0wpYWxsb3dzUXVp
cmtzCit7CisgICAgX3dlYnNpdGVQb2xpY2llcy0+c2V0QWxsb3dzQXV0b3BsYXlRdWlya3MoYWxs
b3dzUXVpcmtzKTsKK30KKworLSAoQk9PTClhbGxvd3NBdXRvcGxheVF1aXJrcworeworICAgIHJl
dHVybiBfd2Vic2l0ZVBvbGljaWVzLT5hbGxvd3NBdXRvcGxheVF1aXJrcygpOworfQorCiAtICh2
b2lkKXNldEF1dG9wbGF5UG9saWN5OihfV0tXZWJzaXRlQXV0b3BsYXlQb2xpY3kpcG9saWN5CiB7
CiAgICAgc3dpdGNoIChwb2xpY3kpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQuY3BwIGIvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5jcHAK
aW5kZXggYTg1NmZmOTgzNzI0MTgxMjE5Y2QyNjg0MTA0YWUwN2EzZWE5Y2EwZC4uODEwOWQwMDcw
NWJhOGFhMDk0Y2FlYWI2Y2JmMTgyODgxYzI1NzUzZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5jcHAKKysr
IGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRl
ckNsaWVudC5jcHAKQEAgLTgxNyw2ICs4MTcsOCBAQCB2b2lkIFdlYkZyYW1lTG9hZGVyQ2xpZW50
OjpkaXNwYXRjaERlY2lkZVBvbGljeUZvck5hdmlnYXRpb25BY3Rpb24oY29uc3QgTmF2aWdhdAog
ICAgIGlmIChkb2N1bWVudExvYWRlci0+dXNlckNvbnRlbnRFeHRlbnNpb25zRW5hYmxlZCgpKQog
ICAgICAgICBkb2N1bWVudExvYWRlci0+c2V0VXNlckNvbnRlbnRFeHRlbnNpb25zRW5hYmxlZCh3
ZWJzaXRlUG9saWNpZXMuY29udGVudEJsb2NrZXJzRW5hYmxlZCk7CiAKKyAgICBkb2N1bWVudExv
YWRlci0+c2V0QWxsb3dzQXV0b3BsYXlRdWlya3Mod2Vic2l0ZVBvbGljaWVzLmFsbG93c0F1dG9w
bGF5UXVpcmtzKTsKKwogICAgIHN3aXRjaCAod2Vic2l0ZVBvbGljaWVzLmF1dG9wbGF5UG9saWN5
KSB7CiAgICAgY2FzZSBXZWJzaXRlQXV0b3BsYXlQb2xpY3k6OkRlZmF1bHQ6CiAgICAgICAgIGRv
Y3VtZW50TG9hZGVyLT5zZXRBdXRvcGxheVBvbGljeShBdXRvcGxheVBvbGljeTo6RGVmYXVsdCk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5j
cHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKaW5kZXgg
YzMwYmExODc2ZjZjYWI1YTQyYzQ4MTU0MTY4YWYwZWIyZjE4MmI2Yy4uMWI2NTdkMjIxYzI2ZGE3
MzI4MTkyNjY3NmY1OWVlMGY2ZDA2OTZmNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvV2ViUGFnZS9XZWJQYWdlLmNwcApAQCAtNTQ1OCw2ICs1NDU4LDggQEAgdm9pZCBXZWJQYWdl
Ojp1cGRhdGVXZWJzaXRlUG9saWNpZXMoY29uc3QgV2Vic2l0ZVBvbGljaWVzJiB3ZWJzaXRlUG9s
aWNpZXMpCiAgICAgaWYgKCFkb2N1bWVudExvYWRlcikKICAgICAgICAgcmV0dXJuOwogCisgICAg
ZG9jdW1lbnRMb2FkZXItPnNldEFsbG93c0F1dG9wbGF5UXVpcmtzKHdlYnNpdGVQb2xpY2llcy5h
bGxvd3NBdXRvcGxheVF1aXJrcyk7CisKICAgICBzd2l0Y2ggKHdlYnNpdGVQb2xpY2llcy5hdXRv
cGxheVBvbGljeSkgewogICAgIGNhc2UgV2Vic2l0ZUF1dG9wbGF5UG9saWN5OjpEZWZhdWx0Ogog
ICAgICAgICBkb2N1bWVudExvYWRlci0+c2V0QXV0b3BsYXlQb2xpY3koQXV0b3BsYXlQb2xpY3k6
OkRlZmF1bHQpOwpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9n
CmluZGV4IDZkODQxMWE4MDk1NjRjMjYzMDAyMzE2ZWI4NDUxYjg5MTI0NGQ0NmIuLmMwNWZiYmM2
NzhiZDFmNWU0NWVmNTIyYTczYTlkYWVmMThlNjU0NTUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5n
ZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsNSArMSwxNyBAQAogMjAxNy0wMy0wOCAg
TWF0dCBSYWpjYSAgPG1yYWpjYUBhcHBsZS5jb20+CiAKKyAgICAgICAgTGV0IGNsaWVudHMgY29u
dHJvbCBhdXRvcGxheSBxdWlya3Mgd2l0aCB3ZWJzaXRlIHBvbGljaWVzLgorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY5MzkwCisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3Rz
L1dlYktpdDIvYXV0b3BsYXktY2hlY2suaHRtbDoKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rl
c3RzL1dlYktpdDJDb2NvYS9XZWJzaXRlUG9saWNpZXMubW06CisgICAgICAgICgtW0F1dG9wbGF5
UG9saWNpZXNEZWxlZ2F0ZSBfd2ViVmlldzpkZWNpZGVQb2xpY3lGb3JOYXZpZ2F0aW9uQWN0aW9u
OmRlY2lzaW9uSGFuZGxlcjpdKToKKyAgICAgICAgKFRFU1QpOgorCisyMDE3LTAzLTA4ICBNYXR0
IFJhamNhICA8bXJhamNhQGFwcGxlLmNvbT4KKwogICAgICAgICBBZGQgc3VwcG9ydCBmb3IgdXBk
YXRpbmcgYXV0b3BsYXkgcG9saWNpZXMgYWZ0ZXIgYSBwYWdlIGhhcyBiZWVuIGxvYWRlZC4KICAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2OTM2MAogCmRp
ZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDIvYXV0b3BsYXktY2hl
Y2suaHRtbCBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Mi9hdXRvcGxheS1jaGVj
ay5odG1sCmluZGV4IDNmMWEyMjE3M2VjOTFlNjQyM2ZiOWEyNDgxMTYzZGM0MTJjZTNmY2IuLjRk
ZTYyNDc1YWNkZWI1ZTNhZjk4NTM5YmRmMWQyMDZiYzQ2MmE0MzMgMTAwNjQ0Ci0tLSBhL1Rvb2xz
L1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Mi9hdXRvcGxheS1jaGVjay5odG1sCisrKyBiL1Rv
b2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Mi9hdXRvcGxheS1jaGVjay5odG1sCkBAIC0x
Miw5ICsxMiwxNSBAQAogICAgICAgICAgICAgICAgICAgICB9IGNhdGNoKGUpIHsgfQogICAgICAg
ICAgICAgICAgIH0pOwogICAgICAgICAgICAgfQorCisgICAgICAgICAgICBmdW5jdGlvbiB2aWRl
b0RpZFBhdXNlKCkgeworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAg
IHdpbmRvdy53ZWJraXQubWVzc2FnZUhhbmRsZXJzLnRlc3RIYW5kbGVyLnBvc3RNZXNzYWdlKCJv
bi1wYXVzZSIpOworICAgICAgICAgICAgICAgIH0gY2F0Y2goZSkgeyB9CisgICAgICAgICAgICB9
CiAgICAgICAgIDwvc2NyaXB0PgogICAgIDwvaGVhZD4KICAgICA8Ym9keSBvbmxvYWQ9InBsYXlW
aWRlbygpIj4KLSAgICAgICAgPHZpZGVvIGlkPSJ2aWRlbyIgcGxheXNpbmxpbmUgc3JjPSJ0ZXN0
Lm1wNCIgLz4KKyAgICAgICAgPHZpZGVvIGlkPSJ2aWRlbyIgb25wYXVzZT12aWRlb0RpZFBhdXNl
KCkgcGxheXNpbmxpbmUgc3JjPSJ0ZXN0Lm1wNCIgLz4KICAgICA8L2JvZHk+CiA8L2h0bWw+CmRp
ZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDJDb2NvYS9XZWJzaXRl
UG9saWNpZXMubW0gYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDJDb2NvYS9XZWJz
aXRlUG9saWNpZXMubW0KaW5kZXggYWI2MzE0MTdhNTFmYjFlYmI0MDc1MWVhMjU3NzA2N2IwYzgy
MjhkNy4uNDRhMTVlMWE5NjE4NWMyOTE3OGFhNWRhMmM5MTk1N2Y3N2M3MWE0NyAxMDA2NDQKLS0t
IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyQ29jb2EvV2Vic2l0ZVBvbGljaWVz
Lm1tCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0MkNvY29hL1dlYnNpdGVQ
b2xpY2llcy5tbQpAQCAtMjgsNiArMjgsNyBAQAogI2ltcG9ydCAiUGxhdGZvcm1VdGlsaXRpZXMu
aCIKICNpbXBvcnQgIlRlc3RXS1dlYlZpZXcuaCIKICNpbXBvcnQgPFdlYktpdC9XS1BhZ2VQcml2
YXRlLmg+CisjaW1wb3J0IDxXZWJLaXQvV0tQcmVmZXJlbmNlc1JlZlByaXZhdGUuaD4KICNpbXBv
cnQgPFdlYktpdC9XS1VzZXJDb250ZW50Q29udHJvbGxlclByaXZhdGUuaD4KICNpbXBvcnQgPFdl
YktpdC9XS1dlYlZpZXdQcml2YXRlLmg+CiAjaW1wb3J0IDxXZWJLaXQvX1dLVXNlckNvbnRlbnRF
eHRlbnNpb25TdG9yZVByaXZhdGUuaD4KQEAgLTE2NSw2ICsxNjYsNyBAQCBURVNUKFdlYktpdDIs
IFdlYnNpdGVQb2xpY2llc0NvbnRlbnRCbG9ja2Vyc0VuYWJsZWQpCiAKIEBpbnRlcmZhY2UgQXV0
b3BsYXlQb2xpY2llc0RlbGVnYXRlIDogTlNPYmplY3QgPFdLTmF2aWdhdGlvbkRlbGVnYXRlLCBX
S1VJRGVsZWdhdGU+CiBAcHJvcGVydHkgKG5vbmF0b21pYywgY29weSkgX1dLV2Vic2l0ZUF1dG9w
bGF5UG9saWN5KF5hdXRvcGxheVBvbGljeUZvclVSTCkoTlNVUkwgKik7CitAcHJvcGVydHkgKG5v
bmF0b21pYykgQk9PTCBhbGxvd3NBdXRvcGxheVF1aXJrczsKIEBlbmQKIAogQGltcGxlbWVudGF0
aW9uIEF1dG9wbGF5UG9saWNpZXNEZWxlZ2F0ZQpAQCAtMTc5LDYgKzE4MSw3IEBAIFRFU1QoV2Vi
S2l0MiwgV2Vic2l0ZVBvbGljaWVzQ29udGVudEJsb2NrZXJzRW5hYmxlZCkKIC0gKHZvaWQpX3dl
YlZpZXc6KFdLV2ViVmlldyAqKXdlYlZpZXcgZGVjaWRlUG9saWN5Rm9yTmF2aWdhdGlvbkFjdGlv
bjooV0tOYXZpZ2F0aW9uQWN0aW9uICopbmF2aWdhdGlvbkFjdGlvbiBkZWNpc2lvbkhhbmRsZXI6
KHZvaWQgKF4pKFdLTmF2aWdhdGlvbkFjdGlvblBvbGljeSwgX1dLV2Vic2l0ZVBvbGljaWVzICop
KWRlY2lzaW9uSGFuZGxlcgogewogICAgIF9XS1dlYnNpdGVQb2xpY2llcyAqd2Vic2l0ZVBvbGlj
aWVzID0gW1tbX1dLV2Vic2l0ZVBvbGljaWVzIGFsbG9jXSBpbml0XSBhdXRvcmVsZWFzZV07Cisg
ICAgd2Vic2l0ZVBvbGljaWVzLmFsbG93c0F1dG9wbGF5UXVpcmtzID0gX2FsbG93c0F1dG9wbGF5
UXVpcmtzOwogICAgIGlmIChfYXV0b3BsYXlQb2xpY3lGb3JVUkwpCiAgICAgICAgIHdlYnNpdGVQ
b2xpY2llcy5hdXRvcGxheVBvbGljeSA9IF9hdXRvcGxheVBvbGljeUZvclVSTChuYXZpZ2F0aW9u
QWN0aW9uLnJlcXVlc3QuVVJMKTsKICAgICBkZWNpc2lvbkhhbmRsZXIoV0tOYXZpZ2F0aW9uQWN0
aW9uUG9saWN5QWxsb3csIHdlYnNpdGVQb2xpY2llcyk7CkBAIC00MzcsNiArNDQwLDI5IEBAIFRF
U1QoV2ViS2l0MiwgV2Vic2l0ZVBvbGljaWVzVXNlck5ldmVyUGxheWVkTWVkaWFQcmV2ZW50ZWRG
cm9tUGxheWluZykKICAgICBbd2ViVmlldyBsb2FkUmVxdWVzdDpbTlNVUkxSZXF1ZXN0IHJlcXVl
c3RXaXRoVVJMOltOU1VSTCBVUkxXaXRoU3RyaW5nOkAiYWJvdXQ6YmxhbmsiXV1dOwogICAgIHJ1
blVudGlsUmVjZWl2ZXNBdXRvcGxheUV2ZW50KGtXS0F1dG9wbGF5RXZlbnRVc2VyTmV2ZXJQbGF5
ZWRNZWRpYVByZXZlbnRlZEZyb21QbGF5aW5nKTsKIH0KKworVEVTVChXZWJLaXQyLCBXZWJzaXRl
UG9saWNpZXNBdXRvcGxheVF1aXJrcykKK3sKKyAgICBhdXRvIGNvbmZpZ3VyYXRpb24gPSBhZG9w
dE5TKFtbV0tXZWJWaWV3Q29uZmlndXJhdGlvbiBhbGxvY10gaW5pdF0pOworICAgIGF1dG8gd2Vi
VmlldyA9IGFkb3B0TlMoW1tUZXN0V0tXZWJWaWV3IGFsbG9jXSBpbml0V2l0aEZyYW1lOk5TTWFr
ZVJlY3QoMCwgMCwgODAwLCA2MDApIGNvbmZpZ3VyYXRpb246Y29uZmlndXJhdGlvbi5nZXQoKV0p
OworCisgICAgYXV0byBkZWxlZ2F0ZSA9IGFkb3B0TlMoW1tBdXRvcGxheVBvbGljaWVzRGVsZWdh
dGUgYWxsb2NdIGluaXRdKTsKKyAgICBbd2ViVmlldyBzZXROYXZpZ2F0aW9uRGVsZWdhdGU6ZGVs
ZWdhdGUuZ2V0KCldOworCisgICAgV0tSZXRhaW5QdHI8V0tQcmVmZXJlbmNlc1JlZj4gcHJlZmVy
ZW5jZXMoQWRvcHRXSywgV0tQcmVmZXJlbmNlc0NyZWF0ZSgpKTsKKyAgICBXS1ByZWZlcmVuY2Vz
U2V0TmVlZHNTaXRlU3BlY2lmaWNRdWlya3MocHJlZmVyZW5jZXMuZ2V0KCksIHRydWUpOworICAg
IFdLUGFnZUdyb3VwU2V0UHJlZmVyZW5jZXMoV0tQYWdlR2V0UGFnZUdyb3VwKFt3ZWJWaWV3IF9w
YWdlRm9yVGVzdGluZ10pLCBwcmVmZXJlbmNlcy5nZXQoKSk7CisKKyAgICBOU1VSTFJlcXVlc3Qg
KnJlcXVlc3RXaXRoQXVkaW8gPSBbTlNVUkxSZXF1ZXN0IHJlcXVlc3RXaXRoVVJMOltbTlNCdW5k
bGUgbWFpbkJ1bmRsZV0gVVJMRm9yUmVzb3VyY2U6QCJhdXRvcGxheS1jaGVjayIgd2l0aEV4dGVu
c2lvbjpAImh0bWwiIHN1YmRpcmVjdG9yeTpAIlRlc3RXZWJLaXRBUEkucmVzb3VyY2VzIl1dOwor
CisgICAgW2RlbGVnYXRlIHNldEFsbG93c0F1dG9wbGF5UXVpcmtzOllFU107CisgICAgW2RlbGVn
YXRlIHNldEF1dG9wbGF5UG9saWN5Rm9yVVJMOl4oTlNVUkwgKikgeworICAgICAgICByZXR1cm4g
X1dLV2Vic2l0ZUF1dG9wbGF5UG9saWN5RGVueTsKKyAgICB9XTsKKyAgICBbd2ViVmlldyBsb2Fk
UmVxdWVzdDpyZXF1ZXN0V2l0aEF1ZGlvXTsKKyAgICBbd2ViVmlldyB3YWl0Rm9yTWVzc2FnZTpA
ImRpZC1ub3QtcGxheSJdOworICAgIFt3ZWJWaWV3IHdhaXRGb3JNZXNzYWdlOkAib24tcGF1c2Ui
XTsKK30KICNlbmRpZgogCiAjZW5kaWYK
</data>
<flag name="review"
          id="325519"
          type_id="1"
          status="+"
          setter="wenson_hsieh"
    />
          </attachment>
      

    </bug>

</bugzilla>