From mboxrd@z Thu Jan 1 00:00:00 1970 From: Patchwork Subject: =?utf-8?q?=E2=9C=93_Fi=2ECI=2EIGT=3A_success_for_snd/?= =?utf-8?q?hda=3A_Detangle_unwind_to_avoid_double_release_of_display_power?= =?utf-8?q?well_=28rev2=29?= Date: Mon, 08 Apr 2019 15:02:38 -0000 Message-ID: <20190408150238.21095.42056@emeril.freedesktop.org> References: <20190408094337.8709-1-chris@chris-wilson.co.uk> Reply-To: intel-gfx@lists.freedesktop.org Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20190408094337.8709-1-chris@chris-wilson.co.uk> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Chris Wilson Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org PT0gU2VyaWVzIERldGFpbHMgPT0KClNlcmllczogc25kL2hkYTogRGV0YW5nbGUgdW53aW5kIHRv IGF2b2lkIGRvdWJsZSByZWxlYXNlIG9mIGRpc3BsYXkgcG93ZXJ3ZWxsIChyZXYyKQpVUkwgICA6 IGh0dHBzOi8vcGF0Y2h3b3JrLmZyZWVkZXNrdG9wLm9yZy9zZXJpZXMvNTkxNTgvClN0YXRlIDog c3VjY2VzcwoKPT0gU3VtbWFyeSA9PQoKQ0kgQnVnIExvZyAtIGNoYW5nZXMgZnJvbSBDSV9EUk1f NTg4N19mdWxsIC0+IFBhdGNod29ya18xMjcyNV9mdWxsCj09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KClN1bW1hcnkKLS0tLS0tLQoKICAqKlNVQ0NF U1MqKgoKICBObyByZWdyZXNzaW9ucyBmb3VuZC4KCiAgCgpLbm93biBpc3N1ZXMKLS0tLS0tLS0t LS0tCgogIEhlcmUgYXJlIHRoZSBjaGFuZ2VzIGZvdW5kIGluIFBhdGNod29ya18xMjcyNV9mdWxs IHRoYXQgY29tZSBmcm9tIGtub3duIGlzc3VlczoKCiMjIyBJR1QgY2hhbmdlcyAjIyMKCiMjIyMg SXNzdWVzIGhpdCAjIyMjCgogICogaWd0QGdlbV9leGVjX3N0b3JlQHBhZ2VzLWJzZDE6CiAgICAt IHNoYXJkLWljbGI6ICAgICAgICAgTk9UUlVOIC0+IFNLSVAgW2ZkbyMxMDkyNzZdICsxCgogICog aWd0QGdlbV9tbWFwX2d0dEBoYW5nOgogICAgLSBzaGFyZC1pY2xiOiAgICAgICAgIFBBU1MgLT4g RkFJTCBbZmRvIzEwOTY3N10KCiAgKiBpZ3RAZ2VtX3BwZ3R0QGJsdC12cy1yZW5kZXItY3R4MDoK ICAgIC0gc2hhcmQtaWNsYjogICAgICAgICBQQVNTIC0+IElOQ09NUExFVEUgW2ZkbyMxMDk4MDFd CgogICogaWd0QGdlbV90aWxlZF9zd2FwcGluZ0Bub24tdGhyZWFkZWQ6CiAgICAtIHNoYXJkLWlj bGI6ICAgICAgICAgUEFTUyAtPiBTS0lQIFtmZG8jMTA5NDM5XQoKICAqIGlndEBpOTE1X3BtX3Jw bUBnZW0tbW1hcC1ndHQ6CiAgICAtIHNoYXJkLXNrbDogICAgICAgICAgUEFTUyAtPiBJTkNPTVBM RVRFIFtmZG8jMTA3ODA3XSArMQoKICAqIGlndEBrbXNfYXRvbWljX3RyYW5zaXRpb25AM3gtbW9k ZXNldC10cmFuc2l0aW9uczoKICAgIC0gc2hhcmQta2JsOiAgICAgICAgICBOT1RSVU4gLT4gU0tJ UCBbZmRvIzEwOTI3MV0gLyBbZmRvIzEwOTI3OF0gKzMKCiAgKiBpZ3RAa21zX2F0b21pY190cmFu c2l0aW9uQDZ4LW1vZGVzZXQtdHJhbnNpdGlvbnM6CiAgICAtIHNoYXJkLWljbGI6ICAgICAgICAg Tk9UUlVOIC0+IFNLSVAgW2ZkbyMxMDkyNzhdICsxCiAgICAtIHNoYXJkLXNuYjogICAgICAgICAg Tk9UUlVOIC0+IFNLSVAgW2ZkbyMxMDkyNzFdIC8gW2ZkbyMxMDkyNzhdICszCgogICogaWd0QGtt c19jdXJzb3JfY3JjQGN1cnNvci01MTJ4NTEyLW9mZnNjcmVlbjoKICAgIC0gc2hhcmQtaWNsYjog ICAgICAgICBOT1RSVU4gLT4gU0tJUCBbZmRvIzEwOTI3OV0KCiAgKiBpZ3RAa21zX2ZsaXBAMngt ZmxpcC12cy1leHBpcmVkLXZibGFuazoKICAgIC0gc2hhcmQtZ2xrOiAgICAgICAgICBQQVNTIC0+ IEZBSUwgW2ZkbyMxMDUzNjNdCgogICogaWd0QGttc19mbGlwQDJ4LW5vbmV4aXN0aW5nLWZiOgog ICAgLSBzaGFyZC1pY2xiOiAgICAgICAgIE5PVFJVTiAtPiBTS0lQIFtmZG8jMTA5Mjc0XSArMQoK ICAqIGlndEBrbXNfZmxpcEBmbGlwLXZzLXN1c3BlbmQtaW50ZXJydXB0aWJsZToKICAgIC0gc2hh cmQtc2tsOiAgICAgICAgICBQQVNTIC0+IElOQ09NUExFVEUgW2ZkbyMxMDk1MDddCgogICogaWd0 QGttc19mcm9udGJ1ZmZlcl90cmFja2luZ0BmYmMtMXAtb2Zmc2NyZW4tcHJpLXNocmZiLWRyYXct cmVuZGVyOgogICAgLSBzaGFyZC1pY2xiOiAgICAgICAgIFBBU1MgLT4gRkFJTCBbZmRvIzEwMzE2 N10gKzEKCiAgKiBpZ3RAa21zX2Zyb250YnVmZmVyX3RyYWNraW5nQGZiY3Bzci0xcC1vZmZzY3Jl bi1wcmktc2hyZmItZHJhdy1tbWFwLXdjOgogICAgLSBzaGFyZC1rYmw6ICAgICAgICAgIE5PVFJV TiAtPiBTS0lQIFtmZG8jMTA5MjcxXSArOQoKICAqIGlndEBrbXNfZnJvbnRidWZmZXJfdHJhY2tp bmdAZmJjcHNyLTJwLXByaW1zY3JuLWluZGZiLXBsZmxpcC1ibHQ6CiAgICAtIHNoYXJkLWFwbDog ICAgICAgICAgTk9UUlVOIC0+IFNLSVAgW2ZkbyMxMDkyNzFdICszCgogICogaWd0QGttc19mcm9u dGJ1ZmZlcl90cmFja2luZ0BmYmNwc3ItcmdiMTAxMDEwLWRyYXctYmx0OgogICAgLSBzaGFyZC1z bmI6ICAgICAgICAgIE5PVFJVTiAtPiBTS0lQIFtmZG8jMTA5MjcxXSArMzIKCiAgKiBpZ3RAa21z X2Zyb250YnVmZmVyX3RyYWNraW5nQGZiY3Bzci1yZ2IxMDEwMTAtZHJhdy1tbWFwLWNwdToKICAg IC0gc2hhcmQtaWNsYjogICAgICAgICBQQVNTIC0+IEZBSUwgW2ZkbyMxMDU2ODJdIC8gW2ZkbyMx MDkyNDddCgogICogaWd0QGttc19mcm9udGJ1ZmZlcl90cmFja2luZ0Bwc3ItMnAtcHJpbXNjcm4t c3ByLWluZGZiLW9ub2ZmOgogICAgLSBzaGFyZC1za2w6ICAgICAgICAgIE5PVFJVTiAtPiBTS0lQ IFtmZG8jMTA5MjcxXSArMTUKCiAgKiBpZ3RAa21zX2Zyb250YnVmZmVyX3RyYWNraW5nQHBzci0y cC1zY25kc2Nybi1wcmktc2hyZmItZHJhdy1yZW5kZXI6CiAgICAtIHNoYXJkLWljbGI6ICAgICAg ICAgTk9UUlVOIC0+IFNLSVAgW2ZkbyMxMDkyODBdICs0CgogICogaWd0QGttc19mcm9udGJ1ZmZl cl90cmFja2luZ0Bwc3ItcmdiNTY1LWRyYXctcmVuZGVyOgogICAgLSBzaGFyZC1pY2xiOiAgICAg ICAgIFBBU1MgLT4gRkFJTCBbZmRvIzEwOTI0N10gKzgKCiAgKiBpZ3RAa21zX3BsYW5lX2FscGhh X2JsZW5kQHBpcGUtYi1hbHBoYS03ZWZjOgogICAgLSBzaGFyZC1za2w6ICAgICAgICAgIE5PVFJV TiAtPiBGQUlMIFtmZG8jMTA3ODE1XSAvIFtmZG8jMTA4MTQ1XQoKICAqIGlndEBrbXNfcHNyQGN1 cnNvcl9ibHQ6CiAgICAtIHNoYXJkLWljbGI6ICAgICAgICAgUEFTUyAtPiBGQUlMIFtmZG8jMTA3 MzgzXSAvIFtmZG8jMTEwMjE1XSArMwoKICAqIGlndEBrbXNfcHNyQHBzcjJfY3Vyc29yX21tYXBf Y3B1OgogICAgLSBzaGFyZC1pY2xiOiAgICAgICAgIFBBU1MgLT4gU0tJUCBbZmRvIzEwOTQ0MV0g KzMKCiAgKiBpZ3RAa21zX3JvdGF0aW9uX2NyY0BtdWx0aXBsYW5lLXJvdGF0aW9uLWNyb3BwaW5n LWJvdHRvbToKICAgIC0gc2hhcmQta2JsOiAgICAgICAgICBQQVNTIC0+IERNRVNHLUZBSUwgW2Zk byMxMDU3NjNdCgogICogaWd0QGttc19zZXRtb2RlQGJhc2ljOgogICAgLSBzaGFyZC1hcGw6ICAg ICAgICAgIFBBU1MgLT4gRkFJTCBbZmRvIzk5OTEyXQoKICAqIGlndEBrbXNfdW5pdmVyc2FsX3Bs YW5lQGRpc2FibGUtcHJpbWFyeS12cy1mbGlwLXBpcGUtZToKICAgIC0gc2hhcmQtc2tsOiAgICAg ICAgICBOT1RSVU4gLT4gU0tJUCBbZmRvIzEwOTI3MV0gLyBbZmRvIzEwOTI3OF0gKzEKCiAgCiMj IyMgUG9zc2libGUgZml4ZXMgIyMjIwoKICAqIGlndEBpOTE1X3BtX3JwbUBpMmM6CiAgICAtIHNo YXJkLWljbGI6ICAgICAgICAgRE1FU0ctV0FSTiBbZmRvIzEwOTk4Ml0gLT4gUEFTUwoKICAqIGln dEBpOTE1X3NlbGZ0ZXN0QGxpdmVfd29ya2Fyb3VuZHM6CiAgICAtIHNoYXJkLWljbGI6ICAgICAg ICAgRE1FU0ctRkFJTCBbZmRvIzEwODk1NF0gLT4gUEFTUwoKICAqIGlndEBrbXNfZmJjb25fZmJ0 QGZiYzoKICAgIC0gc2hhcmQtaWNsYjogICAgICAgICBETUVTRy1XQVJOIFtmZG8jMTA5NTkzXSAt PiBQQVNTCgogICogaWd0QGttc19mbGlwX3RpbGluZ0BmbGlwLXktdGlsZWQ6CiAgICAtIHNoYXJk LWljbGI6ICAgICAgICAgRkFJTCBbZmRvIzEwODMwM10gLT4gUEFTUwoKICAqIGlndEBrbXNfZnJv bnRidWZmZXJfdHJhY2tpbmdAZmJjLXJnYjU2NS1kcmF3LXB3cml0ZToKICAgIC0gc2hhcmQtaWNs YjogICAgICAgICBGQUlMIFtmZG8jMTAzMTY3XSAtPiBQQVNTICs0CgogICogaWd0QGttc19mcm9u dGJ1ZmZlcl90cmFja2luZ0BmYmNwc3ItMXAtb2Zmc2NyZW4tcHJpLWluZGZiLWRyYXctcmVuZGVy OgogICAgLSBzaGFyZC1za2w6ICAgICAgICAgIEZBSUwgW2ZkbyMxMDMxNjddIC0+IFBBU1MKCiAg KiBpZ3RAa21zX2Zyb250YnVmZmVyX3RyYWNraW5nQGZiY3Bzci1yZ2IxMDEwMTAtZHJhdy1tbWFw LXdjOgogICAgLSBzaGFyZC1pY2xiOiAgICAgICAgIEZBSUwgW2ZkbyMxMDU2ODJdIC8gW2ZkbyMx MDkyNDddIC0+IFBBU1MKCiAgKiBpZ3RAa21zX2Zyb250YnVmZmVyX3RyYWNraW5nQHBzci0xcC1w cmltc2Nybi1zcHItaW5kZmItZnVsbHNjcmVlbjoKICAgIC0gc2hhcmQtaWNsYjogICAgICAgICBG QUlMIFtmZG8jMTA5MjQ3XSAtPiBQQVNTICs3CgogICogaWd0QGttc19wbGFuZUBwaXhlbC1mb3Jt YXQtcGlwZS1hLXBsYW5lcy1zb3VyY2UtY2xhbXBpbmc6CiAgICAtIHNoYXJkLWdsazogICAgICAg ICAgU0tJUCBbZmRvIzEwOTI3MV0gLT4gUEFTUwoKICAqIGlndEBrbXNfcGxhbmVfYWxwaGFfYmxl bmRAcGlwZS1jLWNvdmVyYWdlLTdlZmM6CiAgICAtIHNoYXJkLXNrbDogICAgICAgICAgRkFJTCBb ZmRvIzEwNzgxNV0gLT4gUEFTUwoKICAqIGlndEBrbXNfcGxhbmVfc2NhbGluZ0BwaXBlLWMtc2Nh bGVyLXdpdGgtcm90YXRpb246CiAgICAtIHNoYXJkLWdsazogICAgICAgICAgU0tJUCBbZmRvIzEw OTI3MV0gLyBbZmRvIzEwOTI3OF0gLT4gUEFTUwoKICAqIGlndEBrbXNfcHNyQHNwcml0ZV9tbWFw X2d0dDoKICAgIC0gc2hhcmQtaWNsYjogICAgICAgICBGQUlMIFtmZG8jMTA3MzgzXSAvIFtmZG8j MTEwMjE1XSAtPiBQQVNTICsxCgogICogaWd0QGttc19yb3RhdGlvbl9jcmNAbXVsdGlwbGFuZS1y b3RhdGlvbjoKICAgIC0gc2hhcmQta2JsOiAgICAgICAgICBJTkNPTVBMRVRFIFtmZG8jMTAzNjY1 XSAtPiBQQVNTCgogICogaWd0QGttc19yb3RhdGlvbl9jcmNAbXVsdGlwbGFuZS1yb3RhdGlvbi1j cm9wcGluZy10b3A6CiAgICAtIHNoYXJkLWtibDogICAgICAgICAgRkFJTCBbZmRvIzEwOTAxNl0g LT4gUEFTUwoKICAqIGlndEBrbXNfc2V0bW9kZUBiYXNpYzoKICAgIC0gc2hhcmQta2JsOiAgICAg ICAgICBGQUlMIFtmZG8jOTk5MTJdIC0+IFBBU1MKCiAgCiAgW2ZkbyMxMDMxNjddOiBodHRwczov L2J1Z3MuZnJlZWRlc2t0b3Aub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDMxNjcKICBbZmRvIzEwMzY2 NV06IGh0dHBzOi8vYnVncy5mcmVlZGVza3RvcC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMzY2NQog IFtmZG8jMTA1MzYzXTogaHR0cHM6Ly9idWdzLmZyZWVkZXNrdG9wLm9yZy9zaG93X2J1Zy5jZ2k/ aWQ9MTA1MzYzCiAgW2ZkbyMxMDU2ODJdOiBodHRwczovL2J1Z3MuZnJlZWRlc2t0b3Aub3JnL3No b3dfYnVnLmNnaT9pZD0xMDU2ODIKICBbZmRvIzEwNTc2M106IGh0dHBzOi8vYnVncy5mcmVlZGVz a3RvcC5vcmcvc2hvd19idWcuY2dpP2lkPTEwNTc2MwogIFtmZG8jMTA3MzgzXTogaHR0cHM6Ly9i dWdzLmZyZWVkZXNrdG9wLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA3MzgzCiAgW2ZkbyMxMDc4MDdd OiBodHRwczovL2J1Z3MuZnJlZWRlc2t0b3Aub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDc4MDcKICBb ZmRvIzEwNzgxNV06IGh0dHBzOi8vYnVncy5mcmVlZGVza3RvcC5vcmcvc2hvd19idWcuY2dpP2lk PTEwNzgxNQogIFtmZG8jMTA4MTQ1XTogaHR0cHM6Ly9idWdzLmZyZWVkZXNrdG9wLm9yZy9zaG93 X2J1Zy5jZ2k/aWQ9MTA4MTQ1CiAgW2ZkbyMxMDgzMDNdOiBodHRwczovL2J1Z3MuZnJlZWRlc2t0 b3Aub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDgzMDMKICBbZmRvIzEwODk1NF06IGh0dHBzOi8vYnVn cy5mcmVlZGVza3RvcC5vcmcvc2hvd19idWcuY2dpP2lkPTEwODk1NAogIFtmZG8jMTA5MDE2XTog aHR0cHM6Ly9idWdzLmZyZWVkZXNrdG9wLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA5MDE2CiAgW2Zk byMxMDkyNDddOiBodHRwczovL2J1Z3MuZnJlZWRlc2t0b3Aub3JnL3Nob3dfYnVnLmNnaT9pZD0x MDkyNDcKICBbZmRvIzEwOTI3MV06IGh0dHBzOi8vYnVncy5mcmVlZGVza3RvcC5vcmcvc2hvd19i dWcuY2dpP2lkPTEwOTI3MQogIFtmZG8jMTA5Mjc0XTogaHR0cHM6Ly9idWdzLmZyZWVkZXNrdG9w Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA5Mjc0CiAgW2ZkbyMxMDkyNzZdOiBodHRwczovL2J1Z3Mu ZnJlZWRlc2t0b3Aub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDkyNzYKICBbZmRvIzEwOTI3OF06IGh0 dHBzOi8vYnVncy5mcmVlZGVza3RvcC5vcmcvc2hvd19idWcuY2dpP2lkPTEwOTI3OAogIFtmZG8j MTA5Mjc5XTogaHR0cHM6Ly9idWdzLmZyZWVkZXNrdG9wLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA5 Mjc5CiAgW2ZkbyMxMDkyODBdOiBodHRwczovL2J1Z3MuZnJlZWRlc2t0b3Aub3JnL3Nob3dfYnVn LmNnaT9pZD0xMDkyODAKICBbZmRvIzEwOTQzOV06IGh0dHBzOi8vYnVncy5mcmVlZGVza3RvcC5v cmcvc2hvd19idWcuY2dpP2lkPTEwOTQzOQogIFtmZG8jMTA5NDQxXTogaHR0cHM6Ly9idWdzLmZy ZWVkZXNrdG9wLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA5NDQxCiAgW2ZkbyMxMDk1MDddOiBodHRw czovL2J1Z3MuZnJlZWRlc2t0b3Aub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDk1MDcKICBbZmRvIzEw OTU5M106IGh0dHBzOi8vYnVncy5mcmVlZGVza3RvcC5vcmcvc2hvd19idWcuY2dpP2lkPTEwOTU5 MwogIFtmZG8jMTA5Njc3XTogaHR0cHM6Ly9idWdzLmZyZWVkZXNrdG9wLm9yZy9zaG93X2J1Zy5j Z2k/aWQ9MTA5Njc3CiAgW2ZkbyMxMDk4MDFdOiBodHRwczovL2J1Z3MuZnJlZWRlc2t0b3Aub3Jn L3Nob3dfYnVnLmNnaT9pZD0xMDk4MDEKICBbZmRvIzEwOTk4Ml06IGh0dHBzOi8vYnVncy5mcmVl ZGVza3RvcC5vcmcvc2hvd19idWcuY2dpP2lkPTEwOTk4MgogIFtmZG8jMTEwMjE1XTogaHR0cHM6 Ly9idWdzLmZyZWVkZXNrdG9wLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTEwMjE1CiAgW2ZkbyM5OTkx Ml06IGh0dHBzOi8vYnVncy5mcmVlZGVza3RvcC5vcmcvc2hvd19idWcuY2dpP2lkPTk5OTEyCgoK UGFydGljaXBhdGluZyBob3N0cyAoMTAgLT4gOSkKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tCgogIE1pc3NpbmcgICAgKDEpOiBzaGFyZC1oc3cgCgoKQnVpbGQgY2hhbmdlcwotLS0tLS0t LS0tLS0tCgogICAgKiBMaW51eDogQ0lfRFJNXzU4ODcgLT4gUGF0Y2h3b3JrXzEyNzI1CgogIENJ X0RSTV81ODg3OiAzNjBiYzQ1NDY5MjhlYzFjOTMyNGRkZDM5OTFhMDFlODk0NzZhMTZjIEAgZ2l0 Oi8vYW5vbmdpdC5mcmVlZGVza3RvcC5vcmcvZ2Z4LWNpL2xpbnV4CiAgSUdUXzQ5MzI6IDA4Y2Y2 M2E4ZmFjMTFlMzU5NGI1NzU4MDMzMWZiMzE5MjQxYTBkNjkgQCBnaXQ6Ly9hbm9uZ2l0LmZyZWVk ZXNrdG9wLm9yZy94b3JnL2FwcC9pbnRlbC1ncHUtdG9vbHMKICBQYXRjaHdvcmtfMTI3MjU6IGMz NTRkYWZhMzU0ZDI4NmZmYTY1ZWRlZmU0MGU1YzJiYjkzZTZhNDMgQCBnaXQ6Ly9hbm9uZ2l0LmZy ZWVkZXNrdG9wLm9yZy9nZngtY2kvbGludXgKICBwaWdsaXRfNDUwOTogZmRjNWE0Y2ExMTEyNGFi ODQxM2M3OTg4ODk2ZWVjNGM5NzMzNjY5NCBAIGdpdDovL2Fub25naXQuZnJlZWRlc2t0b3Aub3Jn L3BpZ2xpdAoKPT0gTG9ncyA9PQoKRm9yIG1vcmUgZGV0YWlscyBzZWU6IGh0dHBzOi8vaW50ZWwt Z2Z4LWNpLjAxLm9yZy90cmVlL2RybS10aXAvUGF0Y2h3b3JrXzEyNzI1LwpfX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0 CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3Rv cC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZng=