From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.ciao.gmane.io!not-for-mail From: Evgeny Zajcev Newsgroups: gmane.emacs.devel Subject: Re: [PATCH] battery.el, upower fixes Date: Thu, 30 Jan 2020 13:22:46 +0300 Message-ID: References: <83lfpsoj1v.fsf@gnu.org> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="0000000000004623b6059d58d750" Injection-Info: ciao.gmane.io; posting-host="ciao.gmane.io:159.69.161.202"; logging-data="52654"; mail-complaints-to="usenet@ciao.gmane.io" Cc: Eli Zaretskii , emacs-devel To: Andreas Schwab Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Thu Jan 30 11:23:41 2020 Return-path: Envelope-to: ged-emacs-devel@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1ix6z5-000DdL-VU for ged-emacs-devel@m.gmane-mx.org; Thu, 30 Jan 2020 11:23:40 +0100 Original-Received: from localhost ([::1]:58152 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ix6z5-0003OT-2Q for ged-emacs-devel@m.gmane-mx.org; Thu, 30 Jan 2020 05:23:39 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:36068) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ix6yX-0002xC-L7 for emacs-devel@gnu.org; Thu, 30 Jan 2020 05:23:07 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ix6yV-0007M3-Ej for emacs-devel@gnu.org; Thu, 30 Jan 2020 05:23:05 -0500 Original-Received: from mail-lj1-x242.google.com ([2a00:1450:4864:20::242]:39328) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1ix6yS-0007Gw-8k; Thu, 30 Jan 2020 05:23:00 -0500 Original-Received: by mail-lj1-x242.google.com with SMTP id o11so2711367ljc.6; Thu, 30 Jan 2020 02:22:59 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=/NbK45yW2gbXO9nkjNSLJ6yn+41gntg++kQXjeWX/2o=; b=qlLt9kwpjw26ZxjgjcdVicgqNTkuCD64phQEv//wh67qIg4Glh5cf4g3+NARLx1FRz IzcC/uhOq9NxYPPMDmzLePgFNglm+0bdJpdv18yWdPQSHbGB21laKQdE0zHuJxqt0n0H xOQEfLZw9ngLcHzctO0vG4Bb9Est97ROop6xk7Bs8U75+nopA+PRE1IUcMj75UabTVGG 3EqDtN8xTX/QTIt6NrNch2gvJAZZcDanPmk4GnPOTKf28O0rRlrSjnJD3rBCBeD91z1Y ogZBViv8D89yVDZ24JSbztklMZkM+cruqpb4f5OOAX7OO7e7taeOVlqiSuwmrgv7Em+F aL+g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=/NbK45yW2gbXO9nkjNSLJ6yn+41gntg++kQXjeWX/2o=; b=kiYFBS1PNTbIMVH5jX4z/0mQlZ1TTMhRWmRyGaPsizfX2D1OVt2A6vaeChzHrn3eKW +K42TBtGoshDSKS4MaDx1p5D0AXOUujBUl6Oo+D8ULpxDi+eRBgI5XhDw28OGvjguc6Q pRsYwZy+sGjCE0em+5N4bDfatCQa7e/+fuwac+3MwHX5YBOsErYjRBKRCpy/Gge7C9EO udkc15V43QeT7XKcSwbvbLoabuLJDYh5TGxH83Dl4d6QH2u+fbQ9IHCYd/mGu8e1pNiE GDcTeaC8FFUq6dmKdK0bkw7y3QeEjFM6UtqLl9Htq+VWO4FvpGcO17IUu1Tm/1j6QRhd iOzg== X-Gm-Message-State: APjAAAUH417rcd9q5hVisiMktroRnVNMGL5PVPtym2LOZWYgCys9GNHv 8baqFLfX6Sc5KROTeQ7hXgCZwmdGbPsLQ0ax4Ug= X-Google-Smtp-Source: APXvYqyoQrRaqrEmvtxFGLSrIgm8egjiroLQ/p1GsDMxRzHRPqvMxAPa81/MzwSAzrrnkwOuI5YO5+XNl0yD8lNcJrI= X-Received: by 2002:a2e:990d:: with SMTP id v13mr2446730lji.47.1580379777928; Thu, 30 Jan 2020 02:22:57 -0800 (PST) In-Reply-To: X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::242 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.io gmane.emacs.devel:244768 Archived-At: --0000000000004623b6059d58d750 Content-Type: multipart/alternative; boundary="0000000000004623b5059d58d74e" --0000000000004623b5059d58d74e Content-Type: text/plain; charset="UTF-8" Ok, here is the updated version. I rewrote it in the way to work out-of-box for most (with single battery) users. Checked it works fine with no D-Bus compiled in. Or with disabled "upowerd" Few users on different laptops tried this code and it works out-of-box for them. I did not documented power_supply interface, English is not my native language, somebody could do it much better. Also I have no knowledge at all about power_supply interface. Thanks -- lg --0000000000004623b5059d58d74e Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Ok, here is the updated version.=C2= =A0 I rewrote it in the way to work out-of-box for most (with single batter= y) users.
Checked it works fine with no D-Bus compiled in.=C2=A0 = Or with disabled "upowerd"

Few users on = different laptops tried this code and it works out-of-box for them.

I did not documented power_supply interface, English is n= ot my native language, somebody could do it much better.=C2=A0 Also I have = no knowledge at all about power_supply interface.

= Thanks

--
lg
--0000000000004623b5059d58d74e-- --0000000000004623b6059d58d750 Content-Type: text/x-patch; charset="US-ASCII"; name="0001-Make-M-x-battery-RET-work-out-of-box-for-UPower-user.patch" Content-Disposition: attachment; filename="0001-Make-M-x-battery-RET-work-out-of-box-for-UPower-user.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_k60lag9t0 RnJvbSA3ZjgyMTlmMTI0NTJlNmE5NDA5YTQxM2MwYTRlZjI1NWEwZDBlNDk2IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBaYWpjZXYgRXZnZW55IDx6ZXZsZ0B5YW5kZXgucnU+CkRhdGU6 IE1vbiwgMjcgSmFuIDIwMjAgMDE6MjY6MjYgKzAzMDAKU3ViamVjdDogW1BBVENIXSBNYWtlICdN LXggYmF0dGVyeSBSRVQnIHdvcmsgb3V0LW9mLWJveCBmb3IgVVBvd2VyIHVzZXJzLgoKKiBiYXR0 ZXJ5LmVsIChiYXR0ZXJ5LXVwb3dlci1wcm9wKTogQXV0b2RldGVjdCB1c2FibGUgYmF0dGVyeSBk ZXZpY2UuCiAgKGJhdHRlcnktdXBvd2VyLWxpbmUtcG93ZXItZGV2aWNlKTogQXV0b2RldGVjdCB1 c2FibGUgbGluZSBwb3dlcgogIGRldmljZS4KICAoYmF0dGVyeS1zdGF0dXMtZnVuY3Rpb24pOiBE ZXRlY3QgdXNhYmxlIFVQb3dlciBzZXJ2aWNlIHRvIHVzZQogICdiYXR0ZXJ5LXVwb3dlcicgYXMg c3RhdHVzIGZ1bmN0aW9uLgogIChiYXR0ZXJ5LXVwb3dlcik6IFNwZWVkdXAuICBSZXF1ZXN0IEQt QnVzIG9ubHkgb25jZSwgZmV0Y2hpbmcgYWxsCiAgdGhlIHByb3BlcnRpZXMgYXQgb25jZS4KICAo YmF0dGVyeS11cG93ZXItdXNhYmxlLXApOiBOZXcgZnVuYywgcmV0dXJuIG5vbi1uaWwgaWYgVVBv d2VyCiAgc2VydmljZSBpcyB1c2FibGUuCiAgKGJhdHRlcnktdXBvd2VyLWRldmljZS1saXN0LCBi YXR0ZXJ5LXVwb3dlci1kZXZpY2UtYWxsLXByb3BlcnRpZXMsCiAgYmF0dGVyeS11cG93ZXItZGV2 aWNlLXByb3BlcnR5KTogTmV3IGZ1bmN0aW9ucyB0byB3b3JrIHdpdGggVVBvd2VyCiAgZGV2aWNl cy4KICAoYmF0dGVyeS11cG93ZXItZGJ1cy1zZXJ2aWNlLCBiYXR0ZXJ5LXVwb3dlci1kYnVzLWlu dGVyZmFjZSwKICBiYXR0ZXJ5LXVwb3dlci1kYnVzLXBhdGgsIGJhdHRlcnktdXBvd2VyLWRidXMt ZGV2aWNlLWludGVyZmFjZSwKICBiYXR0ZXJ5LXVwb3dlci1kYnVzLWRldmljZS1wYXRoKTogTmV3 IGNvbnN0YW50cyBkZXNjcmliaW5nIFVQb3dlcgogIEQtQnVzIHNlcnZpY2UuCi0tLQogbGlzcC9i YXR0ZXJ5LmVsIHwgMjQ0ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0t LS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDE3MSBpbnNlcnRpb25zKCspLCA3MyBkZWxldGlvbnMo LSkKCmRpZmYgLS1naXQgYS9saXNwL2JhdHRlcnkuZWwgYi9saXNwL2JhdHRlcnkuZWwKaW5kZXgg NDliMDFkNWI1NC4uOWI0MDI0MDZkYSAxMDA2NDQKLS0tIGEvbGlzcC9iYXR0ZXJ5LmVsCisrKyBi L2xpc3AvYmF0dGVyeS5lbApAQCAtMjMsMTQgKzIzLDE2IEBACiA7OzsgQ29tbWVudGFyeToKIAog OzsgVGhlcmUgaXMgYXQgcHJlc2VudCBzdXBwb3J0IGZvciBHTlUvTGludXgsIG1hY09TIGFuZCBX aW5kb3dzLiAgVGhpcwotOzsgbGlicmFyeSBzdXBwb3J0cyBib3RoIHRoZSBgL3Byb2MvYXBtJyBm aWxlIGZvcm1hdCBvZiBMaW51eCB2ZXJzaW9uCi07OyAxLjMuNTggb3IgbmV3ZXIgYW5kIHRoZSBg L3Byb2MvYWNwaS8nIGRpcmVjdG9yeSBzdHJ1Y3R1cmUgb2YgTGludXgKLTs7IDIuNC4yMCBhbmQg Mi42LiAgRGFyd2luIChtYWNPUykgaXMgc3VwcG9ydGVkIGJ5IHVzaW5nIHRoZSBgcG1zZXQnCi07 OyBwcm9ncmFtLiAgV2luZG93cyBpcyBzdXBwb3J0ZWQgYnkgdGhlIEdldFN5c3RlbVBvd2VyU3Rh dHVzIEFQSSBjYWxsLgorOzsgbGlicmFyeSBzdXBwb3J0cyBVUG93ZXIgKGh0dHBzOi8vdXBvd2Vy LmZyZWVkZXNrdG9wLm9yZykgdmlhIEQtQnVzCis7OyBBUEkgb3IgdGhlIGAvcHJvYy9hcG0nIGZp bGUgZm9ybWF0IG9mIExpbnV4IHZlcnNpb24gMS4zLjU4IG9yIG5ld2VyCis7OyBhbmQgdGhlIGAv cHJvYy9hY3BpLycgZGlyZWN0b3J5IHN0cnVjdHVyZSBvZiBMaW51eCAyLjQuMjAgYW5kIDIuNi4K Kzs7IERhcndpbiAobWFjT1MpIGlzIHN1cHBvcnRlZCBieSB1c2luZyB0aGUgYHBtc2V0JyBwcm9n cmFtLiAgV2luZG93cworOzsgaXMgc3VwcG9ydGVkIGJ5IHRoZSBHZXRTeXN0ZW1Qb3dlclN0YXR1 cyBBUEkgY2FsbC4KIAogOzs7IENvZGU6CiAKIChyZXF1aXJlICd0aW1lcikKKyhyZXF1aXJlICdk YnVzKQogKGV2YWwtd2hlbi1jb21waWxlIChyZXF1aXJlICdjbC1saWIpKQogDAogKGRlZmdyb3Vw IGJhdHRlcnkgbmlsCkBAIC00NSwxNCArNDcsMTc0IEBAIGJhdHRlcnktbGludXgtc3lzZnMtcmVn ZXhwCiAgIDp0eXBlICdyZWdleHAKICAgOmdyb3VwICdiYXR0ZXJ5KQogCi0oZGVmY3VzdG9tIGJh dHRlcnktdXBvd2VyLWRldmljZSAiYmF0dGVyeV9CQVQxIgotICAiVXBvd2VyIGJhdHRlcnkgZGV2 aWNlIG5hbWUuIgotICA6dmVyc2lvbiAiMjYuMSIKLSAgOnR5cGUgJ3N0cmluZworDAorOzs7IGB1 cG93ZXJkJyBpbnRlcmZhY2UuCisocmVxdWlyZSAnZGJ1cykKKworKGRlZmNvbnN0IGJhdHRlcnkt dXBvd2VyLWRidXMtc2VydmljZSAib3JnLmZyZWVkZXNrdG9wLlVQb3dlciIKKyAgIldlbGwta25v d24gVVBvd2VyIHNlcnZpY2UgbmFtZSBmb3IgdGhlIEQtQnVzIHN5c3RlbS4iKQorCisoZGVmY29u c3QgYmF0dGVyeS11cG93ZXItZGJ1cy1pbnRlcmZhY2UgIm9yZy5mcmVlZGVza3RvcC5VUG93ZXIi CisgICJUaGUgaW50ZXJmYWNlIHRvIFVQb3dlci4KK1NlZSBVUkwgYGh0dHBzOi8vdXBvd2VyLmZy ZWVkZXNrdG9wLm9yZy9kb2NzLycuIikKKworKGRlZmNvbnN0IGJhdHRlcnktdXBvd2VyLWRidXMt cGF0aCAiL29yZy9mcmVlZGVza3RvcC9VUG93ZXIiCisgICJELUJ1cyBwYXRoIHRvIHRhbGsgdG8g VVBvd2VyIHNlcnZpY2UuIikKKworKGRlZmNvbnN0IGJhdHRlcnktdXBvd2VyLWRidXMtZGV2aWNl LWludGVyZmFjZQorICAoY29uY2F0IGJhdHRlcnktdXBvd2VyLWRidXMtaW50ZXJmYWNlICIuRGV2 aWNlIikKKyAgIlRoZSBEZXZpY2UgaW50ZXJmYWNlIG9mIHRoZSBVUG93ZXIuCitTZWUgVVJMIGBo dHRwczovL3Vwb3dlci5mcmVlZGVza3RvcC5vcmcvZG9jcy9EZXZpY2UuaHRtbCcuIikKKworKGRl ZmNvbnN0IGJhdHRlcnktdXBvd2VyLWRidXMtZGV2aWNlLXBhdGgKKyAgKGNvbmNhdCBiYXR0ZXJ5 LXVwb3dlci1kYnVzLXBhdGggIi9kZXZpY2VzIikKKyAgIkQtQnVzIHBhdGggdG8gdGFsayB0byBk ZXZpY2VzIHBhcnQgb2YgdGhlIFVQb3dlciBzZXJ2aWNlLiIpCisKKyhkZWZjb25zdCBiYXR0ZXJ5 LXVwb3dlci10eXBlcworICAnKCgwIC4gOnVua25vd24pICgxIC4gOmxpbmUtcG93ZXIpICgyIC4g OmJhdHRlcnkpCisgICAgKDMgLiA6dXBzKSAoNCAuIDptb25pdG9yKSAoNSAuIDptb3VzZSkKKyAg ICAoNiAuIDprZXlib2FyZCkgKDcgLiA6cGRhKSAoOCAuIDpwaG9uZSkpCisgICJUeXBlIG9mIHRo ZSBkZXZpY2UuIikKKworKGRlZmNvbnN0IGJhdHRlcnktdXBvd2VyLXN0YXRlcworICAnKCgwIC4g InVua25vd24iKSAoMSAuICJjaGFyZ2luZyIpICgyIC4gImRpc2NoYXJnaW5nIikKKyAgICAoMyAu ICJlbXB0eSIpICg0IC4gImZ1bGx5LWNoYXJnZWQiKSAoNSAuICJwZW5kaW5nLWNoYXJnZSIpCisg ICAgKDYgLiAicGVuZGluZy1kaXNjaGFyZ2UiKSkKKyAgIkFsaXN0IG9mIGJhdHRlcnkgcG93ZXIg c3RhdGVzLgorT25seSB2YWxpZCBmb3IgYDpiYXR0ZXJ5JyBkZXZpY2VzLiIpCisKKyhkZWZzdWJz dCBiYXR0ZXJ5LXVwb3dlci1kZXZpY2UtcHJvcGVydHkgKGRldmljZSBwcm9wZXJ0eSkKKyAgIkdl dCB2YWx1ZSBvZiB0aGUgc2luZ2xlIFBST1BFUlRZIGZvciB0aGUgVVBvd2VyIERFVklDRS4iCisg IChkYnVzLWdldC1wcm9wZXJ0eQorICAgOnN5c3RlbSBiYXR0ZXJ5LXVwb3dlci1kYnVzLXNlcnZp Y2UKKyAgIChleHBhbmQtZmlsZS1uYW1lIGRldmljZSBiYXR0ZXJ5LXVwb3dlci1kYnVzLWRldmlj ZS1wYXRoKQorICAgYmF0dGVyeS11cG93ZXItZGJ1cy1kZXZpY2UtaW50ZXJmYWNlCisgICBwcm9w ZXJ0eSkpCisKKyhkZWZ1biBiYXR0ZXJ5LXVwb3dlci1kZXZpY2UtYWxsLXByb3BlcnRpZXMgKGRl dmljZSkKKyAgIlJldHVybiB2YWx1ZSBmb3IgYWxsIGF2YWlsYWJsZSBwcm9wZXJ0aWVzIGZvciB0 aGUgVVBvd2VyIERFVklDRS4iCisgIChkYnVzLWdldC1hbGwtcHJvcGVydGllcworICAgOnN5c3Rl bSBiYXR0ZXJ5LXVwb3dlci1kYnVzLXNlcnZpY2UKKyAgIChleHBhbmQtZmlsZS1uYW1lIGRldmlj ZSBiYXR0ZXJ5LXVwb3dlci1kYnVzLWRldmljZS1wYXRoKQorICAgYmF0dGVyeS11cG93ZXItZGJ1 cy1kZXZpY2UtaW50ZXJmYWNlKSkKKworKGRlZnVuIGJhdHRlcnktdXBvd2VyLWRldmljZS1saXN0 ICgpCisgICJSZXR1cm4gbGlzdCBvZiBhbGwgYXZhaWxhYmxlIFVQb3dlciBkZXZpY2VzLgorRWFj aCBlbGVtZW50IGlzIHRoZSBjb25zIGNlbGwgaW4gZm9ybTogKERFVklDRSAuIERFVklDRS1UWVBF KS4iCisgIChtYXBjYXIgKGxhbWJkYSAoZGV2aWNlLXBhdGgpCisgICAgICAgICAgICAobGV0KiAo KGRldmljZSAoZmlsZS1yZWxhdGl2ZS1uYW1lCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ZGV2aWNlLXBhdGggYmF0dGVyeS11cG93ZXItZGJ1cy1kZXZpY2UtcGF0aCkpCisgICAgICAgICAg ICAgICAgICAgKHR5cGUtbnVtIChiYXR0ZXJ5LXVwb3dlci1kZXZpY2UtcHJvcGVydHkgZGV2aWNl ICJUeXBlIikpKQorICAgICAgICAgICAgICAoY29ucyBkZXZpY2UgKG9yIChjZHIgKGFzc3EgdHlw ZS1udW0gYmF0dGVyeS11cG93ZXItdHlwZXMpKQorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIDp1bmtub3duKSkpKQorICAgICAgICAgIChkYnVzLWNhbGwtbWV0aG9kIDpzeXN0ZW0gYmF0 dGVyeS11cG93ZXItZGJ1cy1zZXJ2aWNlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmF0 dGVyeS11cG93ZXItZGJ1cy1wYXRoCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmF0dGVy eS11cG93ZXItZGJ1cy1pbnRlcmZhY2UKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAiRW51 bWVyYXRlRGV2aWNlcyIpKSkKKworKGRlY2xhcmUtZnVuY3Rpb24gY2wtZmluZCAiY2wtc2VxIiAo Y2wtaXRlbSBjbC1zZXEgJnJlc3QgY2wta2V5cykpCisKKzs7OyMjI2F1dG9sb2FkCisoZGVmdW4g YmF0dGVyeS11cG93ZXItZGV2aWNlLWF1dG9kZXRlY3QgKGRldmljZS10eXBlKQorICAiUmV0dXJu IGZpcnN0IG1hdGNoaW5nIFVQb3dlciBkZXZpY2Ugb2YgREVWSUNFLVRZUEUuIgorICAobGV0ICgo ZGV2aWNlcyAoYmF0dGVyeS11cG93ZXItZGV2aWNlLWxpc3QpKSkKKyAgICAoY2FyIChjbC1maW5k IGRldmljZS10eXBlIGRldmljZXMgOmtleSAnY2RyKSkpKQorCisoZGVmY3VzdG9tIGJhdHRlcnkt dXBvd2VyLWRldmljZQorICAoZGJ1cy1pZ25vcmUtZXJyb3JzCisgICAgKGJhdHRlcnktdXBvd2Vy LWRldmljZS1hdXRvZGV0ZWN0IDpiYXR0ZXJ5KSkKKyAgIlVQb3dlciBkZXZpY2Ugb2YgdGhlIGA6 YmF0dGVyeScgdHlwZS4KK1VzZSBgYmF0dGVyeS11cG93ZXItZGV2aWNlLWxpc3QnIHRvIGxpc3Qg YWxsIGF2YWlsYWJsZSBVUG93ZXIgZGV2aWNlcy4iCisgIDp2ZXJzaW9uICIyOC4xIgorICA6dHlw ZSAnc3RyaW5nLW9yLW51bGwtcAogICA6Z3JvdXAgJ2JhdHRlcnkpCiAKKyhkZWZjdXN0b20gYmF0 dGVyeS11cG93ZXItbGluZS1wb3dlci1kZXZpY2UKKyAgKGRidXMtaWdub3JlLWVycm9ycworICAg IChiYXR0ZXJ5LXVwb3dlci1kZXZpY2UtYXV0b2RldGVjdCA6bGluZS1wb3dlcikpCisgICJVUG93 ZXIgZGV2aWNlIG9mIHRoZSBgOmxpbmUtcG93ZXInIHR5cGUuCitVc2UgYGJhdHRlcnktdXBvd2Vy LWRldmljZS1saXN0JyB0byBsaXN0IGFsbCBhdmFpbGFibGUgVVBvd2VyIGRldmljZXMuIgorICA6 dmVyc2lvbiAiMjguMSIKKyAgOnR5cGUgJ3N0cmluZy1vci1udWxsLXAKKyAgOmdyb3VwICdiYXR0 ZXJ5KQorCisoZGVmdW4gYmF0dGVyeS11cG93ZXItdXNhYmxlLXAgKCkKKyAgIlJldHVybiBub24t bmlsIGlmIFVQb3dlciBpbnRlcmZhY2UgaXMgYXZhaWxhYmxlIGFuZCB1c2FibGUuCitJZiBELUJ1 cyBzdXBwb3J0IGlzIG5vdCBjb21waWxlZCBpbnRvIEVtYWNzLCB0aGVuIHJldHVybiBuaWwuCitJ c3N1ZSB3YXJyaW5nIGlmIGBiYXR0ZXJ5LXVwb3dlci1kZXZpY2UnIG9yCitgYmF0dGVyeS11cG93 ZXItbGluZS1wb3dlci1kZXZpY2UnIGlzIGludmFsaWQuCitSZXR1cm4gbmlsIGlmIGBiYXR0ZXJ5 LXVwb3dlci1kZXZpY2UnIGlzIGludmFsaWQuCitIb3dldmVyIGFjY2VwdCBpbnZhbGlkIGBiYXR0 ZXJ5LXVwb3dlci1saW5lLXBvd2VyLWRldmljZScgdmFsdWUsCitqdXN0IHNob3dpbmcgd2Fybmlu Zy4iCisgICh3aGVuIChhbmQgYmF0dGVyeS11cG93ZXItZGV2aWNlCisgICAgICAgICAgICAgKGRi dXMtcGluZyA6c3lzdGVtIGJhdHRlcnktdXBvd2VyLWRidXMtc2VydmljZSkpCisgICAgKGxldCAo KGJhdC10eXBlIChiYXR0ZXJ5LXVwb3dlci1kZXZpY2UtcHJvcGVydHkKKyAgICAgICAgICAgICAg ICAgICAgIGJhdHRlcnktdXBvd2VyLWRldmljZSAiVHlwZSIpKQorICAgICAgICAgIChscC10eXBl ICh3aGVuIGJhdHRlcnktdXBvd2VyLWxpbmUtcG93ZXItZGV2aWNlCisgICAgICAgICAgICAgICAg ICAgICAoYmF0dGVyeS11cG93ZXItZGV2aWNlLXByb3BlcnR5CisgICAgICAgICAgICAgICAgICAg ICAgYmF0dGVyeS11cG93ZXItbGluZS1wb3dlci1kZXZpY2UgIlR5cGUiKSkpKQorICAgICAgKHVu bGVzcyAoZXEgKGNkciAoYXNzcSBscC10eXBlIGJhdHRlcnktdXBvd2VyLXR5cGVzKSkgOmxpbmUt cG93ZXIpCisgICAgICAgIChkaXNwbGF5LXdhcm5pbmcgJ2JhdHRlcnkgKGZvcm1hdCAiXAorVW5r bm93biBgOmxpbmUtcG93ZXInIFVQb3dlciBkZXZpY2UgYGJhdHRlcnktdXBvd2VyLWxpbmUtcG93 ZXItZGV2aWNlJyAoJVMpLgorQUMgc3RhdHVzIHdvbid0IGJlIHNob3duIGNvcnJlY3RseS4iCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYXR0ZXJ5LXVwb3dlci1s aW5lLXBvd2VyLWRldmljZSkKKyAgICAgICAgICAgICAgICAgICAgICAgICA6d2FybmluZykpCisK KyAgICAgIChpZiAoZXEgKGNkciAoYXNzcSBiYXQtdHlwZSBiYXR0ZXJ5LXVwb3dlci10eXBlcykp IDpiYXR0ZXJ5KQorICAgICAgICAgIHQKKworICAgICAgICAoZGlzcGxheS13YXJuaW5nICdiYXR0 ZXJ5IChmb3JtYXQgIlwKK1Vua25vd24gYDpiYXR0ZXJ5JyBVUG93ZXIgZGV2aWNlIGBiYXR0ZXJ5 LXVwb3dlci1kZXZpY2UnICglUykuCitDYW4ndCB1c2UgVVBvd2VyIGFzIHNvdXJjZSBmb3IgdGhl IGJhdHRlcnkuCitVc2UgYGJhdHRlcnktdXBvd2VyLWRldmljZS1saXN0JyB0byBsaXN0IGFsbCB0 aGUgVVBvd2VyIGRldmljZXMuIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgYmF0dGVyeS11cG93ZXItZGV2aWNlKQorICAgICAgICAgICAgICAgICAgICAgICAgIDp3 YXJuaW5nKQorICAgICAgICBuaWwpKSkpCisKKyhkZWZ1biBiYXR0ZXJ5LXVwb3dlciAoKQorICAi R2V0IGJhdHRlcnkgc3RhdHVzIGZyb20gZGJ1cyBVcG93ZXIgaW50ZXJmYWNlLgorVGhpcyBmdW5j dGlvbiB3b3JrcyBvbmx5IGluIHN5c3RlbXMgd2l0aCBgdXBvd2VyZCcgZGFlbW9uCitydW5uaW5n LgorCitUaGUgZm9sbG93aW5nICUtc2VxdWVuY2VzIGFyZSBwcm92aWRlZDoKKyVjIEN1cnJlbnQg Y2FwYWNpdHkgKG1XaCkKKyVwIEJhdHRlcnkgbG9hZCBwZXJjZW50YWdlCislciBDdXJyZW50IHJh dGUKKyVCIEJhdHRlcnkgc3RhdHVzICh2ZXJib3NlKQorJUwgQUMgbGluZSBzdGF0dXMgKHZlcmJv c2UpCislcyBSZW1haW5pbmcgdGltZSAodG8gY2hhcmdlIG9yIGRpc2NoYXJnZSkgaW4gc2Vjb25k cworJW0gUmVtYWluaW5nIHRpbWUgKHRvIGNoYXJnZSBvciBkaXNjaGFyZ2UpIGluIG1pbnV0ZXMK KyVoIFJlbWFpbmluZyB0aW1lICh0byBjaGFyZ2Ugb3IgZGlzY2hhcmdlKSBpbiBob3VycworJXQg UmVtYWluaW5nIHRpbWUgKHRvIGNoYXJnZSBvciBkaXNjaGFyZ2UpIGluIHRoZSBmb3JtIGBoOm1p biciCisgIChsZXQqICgoYmF0LXByb3BzIChiYXR0ZXJ5LXVwb3dlci1kZXZpY2UtYWxsLXByb3Bl cnRpZXMgYmF0dGVyeS11cG93ZXItZGV2aWNlKSkKKyAgICAgICAgIChwZXJjZW50cyAoY2RyIChh c3NvYyAiUGVyY2VudGFnZSIgYmF0LXByb3BzKSkpCisgICAgICAgICAodGltZS10by1lbXB0eSAo Y2RyIChhc3NvYyAiVGltZVRvRW1wdHkiIGJhdC1wcm9wcykpKQorICAgICAgICAgKHRpbWUtdG8t ZnVsbCAoY2RyIChhc3NvYyAiVGltZVRvRnVsbCIgYmF0LXByb3BzKSkpCisgICAgICAgICAoc3Rh dGUgKGNkciAoYXNzb2MgIlN0YXRlIiBiYXQtcHJvcHMpKSkKKyAgICAgICAgIChlbmVyZ3kgKGNk ciAoYXNzb2MgIkVuZXJneSIgYmF0LXByb3BzKSkpCisgICAgICAgICAoZW5lcmd5LXJhdGUgKGNk ciAoYXNzb2MgIkVuZXJneVJhdGUiIGJhdC1wcm9wcykpKQorICAgICAgICAgKG9ubGluZS1wICh3 aGVuIGJhdHRlcnktdXBvd2VyLWxpbmUtcG93ZXItZGV2aWNlCisgICAgICAgICAgICAgICAgICAg ICAoYmF0dGVyeS11cG93ZXItZGV2aWNlLXByb3BlcnR5CisgICAgICAgICAgICAgICAgICAgICAg YmF0dGVyeS11cG93ZXItbGluZS1wb3dlci1kZXZpY2UgIk9ubGluZSIpKSkKKyAgICAgICAgIChz ZWNvbmRzIChpZiBvbmxpbmUtcCB0aW1lLXRvLWZ1bGwgdGltZS10by1lbXB0eSkpCisgICAgICAg ICAobWludXRlcyAod2hlbiBzZWNvbmRzICgvIHNlY29uZHMgNjApKSkKKyAgICAgICAgIChob3Vy cyAod2hlbiBtaW51dGVzICgvIG1pbnV0ZXMgNjApKSkKKyAgICAgICAgIChyZW1haW5pbmctdGlt ZSAod2hlbiBob3VycyAoZm9ybWF0ICIlZDolMDJkIiBob3VycyAobW9kIG1pbnV0ZXMgNjApKSkp KQorICAgIChsaXN0IChjb25zID9jIChpZiBlbmVyZ3kgKG51bWJlci10by1zdHJpbmcgKHJvdW5k ICgqIDEwMDAgZW5lcmd5KSkpICJOL0EiKSkKKyAgICAgICAgICAoY29ucyA/cCAoaWYgcGVyY2Vu dHMgKG51bWJlci10by1zdHJpbmcgKHJvdW5kIHBlcmNlbnRzKSkgIk4vQSIpKQorICAgICAgICAg IChjb25zID9yIChpZiBlbmVyZ3ktcmF0ZSAoY29uY2F0IChudW1iZXItdG8tc3RyaW5nIGVuZXJn eS1yYXRlKSAiIFciKSAiTi9BIikpCisgICAgICAgICAgKGNvbnMgP0IgKGlmIHN0YXRlIChjZHIg KGFzc3Egc3RhdGUgYmF0dGVyeS11cG93ZXItc3RhdGVzKSkgInVua25vd24iKSkKKyAgICAgICAg ICAoY29ucyA/TCAoaWYgb25saW5lLXAgIm9uLWxpbmUiCisgICAgICAgICAgICAgICAgICAgICAo aWYgYmF0dGVyeS11cG93ZXItbGluZS1wb3dlci1kZXZpY2UgIm9mZi1saW5lIiAidW5rbm93biIp KSkKKyAgICAgICAgICAoY29ucyA/cyAoaWYgc2Vjb25kcyAobnVtYmVyLXRvLXN0cmluZyBzZWNv bmRzKSAiTi9BIikpCisgICAgICAgICAgKGNvbnMgP20gKGlmIG1pbnV0ZXMgKG51bWJlci10by1z dHJpbmcgbWludXRlcykgIk4vQSIpKQorICAgICAgICAgIChjb25zID9oIChpZiBob3VycyAobnVt YmVyLXRvLXN0cmluZyBob3VycykgIk4vQSIpKQorICAgICAgICAgIChjb25zID90IChvciByZW1h aW5pbmctdGltZSAiTi9BIikpKSkpCisKIChkZWZjdXN0b20gYmF0dGVyeS1zdGF0dXMtZnVuY3Rp b24KLSAgKGNvbmQgKChhbmQgKGVxIHN5c3RlbS10eXBlICdnbnUvbGludXgpCisgIChjb25kICgo YmF0dGVyeS11cG93ZXItdXNhYmxlLXApCisgICAgICAgICAjJ2JhdHRlcnktdXBvd2VyKQorICAg ICAgICAoKGFuZCAoZXEgc3lzdGVtLXR5cGUgJ2dudS9saW51eCkKIAkgICAgICAoZmlsZS1yZWFk YWJsZS1wICIvcHJvYy9hcG0iKSkKIAkgIydiYXR0ZXJ5LWxpbnV4LXByb2MtYXBtKQogCSgoYW5k IChlcSBzeXN0ZW0tdHlwZSAnZ251L2xpbnV4KQpAQCAtNTM4LDcwICs3MDAsNiBAQCBiYXR0ZXJ5 LWxpbnV4LXN5c2ZzCiAgICAgICAgICAgICAgICAgICAgICh0ICJOL0EiKSkpKSkpCiAKIAwKLShk ZWNsYXJlLWZ1bmN0aW9uIGRidXMtZ2V0LXByb3BlcnR5ICJkYnVzLmVsIgotICAgICAgICAgICAg ICAgICAgKGJ1cyBzZXJ2aWNlIHBhdGggaW50ZXJmYWNlIHByb3BlcnR5KSkKLQotOzs7IGB1cG93 ZXJkJyBpbnRlcmZhY2UuCi0oZGVmc3Vic3QgYmF0dGVyeS11cG93ZXItcHJvcCAocG5hbWUgJm9w dGlvbmFsIGRldmljZSkKLSAgKGRidXMtZ2V0LXByb3BlcnR5Ci0gICA6c3lzdGVtCi0gICAib3Jn LmZyZWVkZXNrdG9wLlVQb3dlciIKLSAgIChjb25jYXQgIi9vcmcvZnJlZWRlc2t0b3AvVVBvd2Vy L2RldmljZXMvIiAob3IgZGV2aWNlIGJhdHRlcnktdXBvd2VyLWRldmljZSkpCi0gICAib3JnLmZy ZWVkZXNrdG9wLlVQb3dlciIKLSAgIHBuYW1lKSkKLQotKGRlZnVuIGJhdHRlcnktdXBvd2VyICgp Ci0gICJHZXQgYmF0dGVyeSBzdGF0dXMgZnJvbSBkYnVzIFVwb3dlciBpbnRlcmZhY2UuCi1UaGlz IGZ1bmN0aW9uIHdvcmtzIG9ubHkgaW4gc3lzdGVtcyB3aXRoIGB1cG93ZXJkJyBkYWVtb24KLXJ1 bm5pbmcuCi0KLVRoZSBmb2xsb3dpbmcgJS1zZXF1ZW5jZXMgYXJlIHByb3ZpZGVkOgotJWMgQ3Vy cmVudCBjYXBhY2l0eSAobVdoKQotJXAgQmF0dGVyeSBsb2FkIHBlcmNlbnRhZ2UKLSVyIEN1cnJl bnQgcmF0ZQotJUIgQmF0dGVyeSBzdGF0dXMgKHZlcmJvc2UpCi0lTCBBQyBsaW5lIHN0YXR1cyAo dmVyYm9zZSkKLSVzIFJlbWFpbmluZyB0aW1lICh0byBjaGFyZ2Ugb3IgZGlzY2hhcmdlKSBpbiBz ZWNvbmRzCi0lbSBSZW1haW5pbmcgdGltZSAodG8gY2hhcmdlIG9yIGRpc2NoYXJnZSkgaW4gbWlu dXRlcwotJWggUmVtYWluaW5nIHRpbWUgKHRvIGNoYXJnZSBvciBkaXNjaGFyZ2UpIGluIGhvdXJz Ci0ldCBSZW1haW5pbmcgdGltZSAodG8gY2hhcmdlIG9yIGRpc2NoYXJnZSkgaW4gdGhlIGZvcm0g YGg6bWluJyIKLSAgKGxldCAoKHBlcmNlbnRzIChiYXR0ZXJ5LXVwb3dlci1wcm9wICJQZXJjZW50 YWdlIikpCi0gICAgICAgICh0aW1lLXRvLWVtcHR5IChiYXR0ZXJ5LXVwb3dlci1wcm9wICJUaW1l VG9FbXB0eSIpKQotICAgICAgICAodGltZS10by1mdWxsIChiYXR0ZXJ5LXVwb3dlci1wcm9wICJU aW1lVG9GdWxsIikpCi0gICAgICAgIChzdGF0ZSAoYmF0dGVyeS11cG93ZXItcHJvcCAiU3RhdGUi KSkKLSAgICAgICAgKG9ubGluZSAoYmF0dGVyeS11cG93ZXItcHJvcCAiT25saW5lIiAibGluZV9w b3dlcl9BQ0FEIikpCi0gICAgICAgIChlbmVyZ3kgKGJhdHRlcnktdXBvd2VyLXByb3AgIkVuZXJn eSIpKQotICAgICAgICAoZW5lcmd5LXJhdGUgKGJhdHRlcnktdXBvd2VyLXByb3AgIkVuZXJneVJh dGUiKSkKLSAgICAgICAgKGJhdHRlcnktc3RhdGVzICcoKDAgLiAidW5rbm93biIpICgxIC4gImNo YXJnaW5nIikKLSAgICAgICAgICAgICAgICAgICAgICAgICAgKDIgLiAiZGlzY2hhcmdpbmciKSAo MyAuICJlbXB0eSIpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICg0IC4gImZ1bGx5LWNoYXJn ZWQiKSAoNSAuICJwZW5kaW5nLWNoYXJnZSIpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICg2 IC4gInBlbmRpbmctZGlzY2hhcmdlIikpKQotICAgICAgICBzZWNvbmRzIG1pbnV0ZXMgaG91cnMg cmVtYWluaW5nLXRpbWUpCi0gICAgKGNvbmQgKChhbmQgb25saW5lIHRpbWUtdG8tZnVsbCkKLSAg ICAgICAgICAgKHNldHEgc2Vjb25kcyB0aW1lLXRvLWZ1bGwpKQotICAgICAgICAgICgoYW5kIChu b3Qgb25saW5lKSB0aW1lLXRvLWVtcHR5KQotICAgICAgICAgICAoc2V0cSBzZWNvbmRzIHRpbWUt dG8tZW1wdHkpKSkKLSAgICAod2hlbiBzZWNvbmRzCi0gICAgICAoc2V0cSBtaW51dGVzICgvIHNl Y29uZHMgNjApCi0gICAgICAgICAgICBob3VycyAoLyBtaW51dGVzIDYwKQotCSAgICByZW1haW5p bmctdGltZSAoZm9ybWF0ICIlZDolMDJkIiBob3VycyAobW9kIG1pbnV0ZXMgNjApKSkpCi0gICAg KGxpc3QgKGNvbnMgP2MgKG9yIChhbmQgZW5lcmd5Ci0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgKG51bWJlci10by1zdHJpbmcgKHJvdW5kICgqIDEwMDAgZW5lcmd5KSkpKQotICAgICAgICAg ICAgICAgICAgICAgICAiTi9BIikpCi0gICAgICAgICAgKGNvbnMgP3AgKG9yIChhbmQgcGVyY2Vu dHMgKG51bWJlci10by1zdHJpbmcgKHJvdW5kIHBlcmNlbnRzKSkpCi0gICAgICAgICAgICAgICAg ICAgICAgICJOL0EiKSkKLSAgICAgICAgICAoY29ucyA/ciAob3IgKGFuZCBlbmVyZ3ktcmF0ZQot ICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjb25jYXQgKG51bWJlci10by1zdHJpbmcgZW5l cmd5LXJhdGUpICIgVyIpKQotICAgICAgICAgICAgICAgICAgICAgICAiTi9BIikpCi0gICAgICAg ICAgKGNvbnMgP0IgKG9yIChhbmQgc3RhdGUgKGNkciAoYXNzb2Mgc3RhdGUgYmF0dGVyeS1zdGF0 ZXMpKSkKLSAgICAgICAgICAgICAgICAgICAgICAgInVua25vd24iKSkKLSAgICAgICAgICAoY29u cyA/TCAob3IgKGFuZCBvbmxpbmUgIm9uLWxpbmUiKSAib2ZmLWxpbmUiKSkKLSAgICAgICAgICAo Y29ucyA/cyAob3IgKGFuZCBzZWNvbmRzIChudW1iZXItdG8tc3RyaW5nIHNlY29uZHMpKSAiTi9B IikpCi0gICAgICAgICAgKGNvbnMgP20gKG9yIChhbmQgbWludXRlcyAobnVtYmVyLXRvLXN0cmlu ZyBtaW51dGVzKSkgIk4vQSIpKQotICAgICAgICAgIChjb25zID9oIChvciAoYW5kIGhvdXJzIChu dW1iZXItdG8tc3RyaW5nIGhvdXJzKSkgIk4vQSIpKQotICAgICAgICAgIChjb25zID90IChvciBy ZW1haW5pbmctdGltZSAiTi9BIikpKSkpCi0KLQwKIDs7OyBgYXBtJyBpbnRlcmZhY2UgZm9yIEJT RC4KIChkZWZ1biBiYXR0ZXJ5LWJzZC1hcG0gKCkKICAgIkdldCBBUE0gc3RhdHVzIGluZm9ybWF0 aW9uIGZyb20gQlNEIGFwbSBiaW5hcnkuCi0tIAoyLjE3LjEKCg== --0000000000004623b6059d58d750--