submission 29476
KernelBot user 7 · python · License unknown
Use it
Vendorable · source mirrored · license unknownView source →
No package. Vendor the mirrored source: 1 lines, June 9 Researcher Reciprocity License v1.0.
amd-mla-submission.py
curl "https://kernelindex.com/api/v1/implementations/kernelbot-amd-mla-decode-29476?include=source"interfacepython
Compatibility
measured onAMD Instinct MI300X
declared hardwareAMD Instinct MI300X
architecturesgfx942
dtypesbf16
Benchmark evidence
1 measurement across 1 GPU, fastest first.
Operation / workload
Hardware
Latency
Rank
Observed
Reported · How evidence levels are derived →
Source and license
sourceavailable
revision digestsha256:c3525d7ff35dc8f7e7a2dbc2ccedfbb5a7860c6d4bb66b3baeaec9c93e524a91
license declaredunknown
license concludedunknown
imported2026-08-15
Kernel source
amd-mla-submission.py1 lines
aW1wb3J0IG1hdGgNCmltcG9ydCB0b3JjaA0KZnJvbSB0b3JjaCBpbXBvcnQgbm4NCmZyb20gdGFzayBpbXBvcnQgaW5wdXRfdCwgb3V0cHV0X3QNCg0KZGVmIG15cm9wZSh4OiB0b3JjaC5UZW5zb3IsIHBvczogaW50KSAtPiB0b3JjaC5UZW5zb3I6DQoNCiAgICBuLCBzbCwgZCA9IHguc2hhcGUNCg0KICAgIHRoZXRhID0gdG9yY2guYXJhbmdlKGQgLy8gMiwgZHR5cGU9dG9yY2guYmZsb2F0MTYsIGRldmljZT0nY3VkYScpDQogICAgdGhldGEgPSAxMDAwMCAqKiAoLTIgKiB0aGV0YSAvIGQpDQogICAgaWR4ID0gdG9yY2guYXJhbmdlKHBvcywgcG9zICsgc2wsIGR0eXBlPXRvcmNoLmJmbG9hdDE2LCBkZXZpY2U9J2N1ZGEnKQ0KICAgIGlkeF90aGV0YSA9IHRvcmNoLmVpbnN1bSgncyxkLT5zZCcsIGlkeCwgdGhldGEpDQogICAgY29zID0gdG9yY2guY29zKGlkeF90aGV0YSkudG8odG9yY2guYmZsb2F0MTYpDQogICAgc2luID0gdG9yY2guc2luKGlkeF90aGV0YSkudG8odG9yY2guYmZsb2F0MTYpDQoNCiAgICB5ID0gdG9yY2guZW1wdHlfbGlrZSh4KQ0KICAgIHgxID0geFs6LCA6LCA6ZC8vMl0NCiAgICB4MiA9IHhbOiwgOiwgZC8vMjpdDQogICAgeVs6LCA6LCA6ZC8vMl0gPSB4MSAqIGNvcyAtIHgyICogc2luDQogICAgeVs6LCA6LCBkLy8yOl0gPSB4MiAqIGNvcyArIHgxICogc2luDQogICAgcmV0dXJuIHkNCg0KZGVmIGN1c3RvbV9rZXJuZWwoZGF0YTogaW5wdXRfdCkgLT4gb3V0cHV0X3Q6DQogICAgY29uZmlnLCB4LCBrdl9jYWNoZSA9IGRhdGENCg0KICAgIGJzID0gY29uZmlnLmJhdGNoX3NpemUNCiAgICBzbCA9IGNvbmZpZy5zZXFfbGVuDQogICAgcGwgPSBrdl9jYWNoZS5zZXFfbGVuDQogICAgbmggPSBjb25maWcubl9oZWFkcw0KICAgIGQgPSAgY29uZmlnLmRpbQ0KICAgIGRxID0gY29uZmlnLnFfbG9yYV9yYW5rDQogICAgZGt2ID0gY29uZmlnLmt2X2xvcmFfcmFuaw0KICAgIGRub3BlID0gY29uZmlnLnFrX25vcGVfaGVhZF9kaW0NCiAgICBkcm9wZSA9IGNvbmZpZy5xa19yb3BlX2hlYWRfZGltDQogICAgZHYgPSBjb25maWcudl9oZWFkX2RpbQ0KDQogICAgd0RRICA9IGNvbmZpZy5RX3Byb2pfZG93bl93ZWlnaHQgICAgICAgICAgICAgICAgICAgICAgICAjIFtkcSwgZF0NCiAgICB3REtWID0gY29uZmlnLktWX3Byb2pfZG93bl93ZWlnaHQgICAgICAgICAgICAgICAgICAgICAgICMgW2RrdiArIGRyb3BlLCBkXQ0KICAgIHdVUSAgPSBjb25maWcuUV9wcm9qX3VwX3dlaWdodCAgICAgICAgICAgICAgICAgICAgICAgICAgIyBbbmggKiAoZG5vcGUgKyBkcm9wZSksIGRxXQ0KICAgIHdVS1YgPSBjb25maWcuS1ZfcHJval91cF93ZWlnaHQgICAgICAgICAgICAgICAgICAgICAgICAgIyBbbmggKiAoZG5vcGUgKyBkdiksIGRrdl0NCiAgICB3TyAgID0gY29uZmlnLndvX3dlaWdodCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgW2QsIG5oICogZHZdDQoNCiAgICB4ID0geC52aWV3KGJzLCBkKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgW2JzLCBkXQ0KICAgIHFEID0geCBAIHdEUS5UICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBbYnMsIGRxXQ0KICAgIHFVID0gKHFEIEAgd1VRLlQpLnZpZXcoYnMgKiBuaCwgc2wsIGRub3BlICsgZHJvcGUpICAgICAgIyBbYnMqbmgsIHNsLCBkbm9wZSArIGRyb3BlXQ0KICAgIHFVWzosIDosIGRub3BlOl0gPSBteXJvcGUocVVbOiwgOiwgZG5vcGU6XSwgcGwpDQogICAgcVUgPSBxVS52aWV3KGJzLCBuaCwgZG5vcGUgKyBkcm9wZSkgICAgICAgICAgICAgICAgICAgICAjIFticywgbmgsIGRub3BlICsgZHJvcGVdDQoNCiAgICB3REtWID0gd0RLVi52aWV3KGRrdiArIGRyb3BlLCBkKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBbZGt2ICsgZHJvcGUsIGRdDQogICAga3ZfY2FjaGUuZGF0YVs6LCBwbDpwbCsxLCA6XSA9ICh4IEAgd0RLVi5UKS52aWV3KGJzLCAxLCBka3YgKyBkcm9wZSkNCiAgICBrdl9jYWNoZS5zZXFfbGVuICs9IDENCiAgICBrUiA9IG15cm9wZShrdl9jYWNoZS5kYXRhWzosIDpwbCsxLCBka3Y6XSwgMCkudmlldyhicywgcGwrc2wsIGRyb3BlKSAgICAgICAgICAjIFticywgcGwrc2wsIGRyb3BlXQ0KICAgIHFDd1VLID0gdG9yY2guZW1wdHkoKGJzLCBuaCwgZGt2KSwgZHR5cGU9dG9yY2guYmZsb2F0MTYsIGRldmljZT0nY3VkYScpDQogICAgd1VLViA9IHdVS1YudmlldyhuaCwgZG5vcGUgKyBkdiwgZGt2KQ0KICAgIGZvciBpX25oIGluIHJhbmdlKG5oKToNCiAgICAgICAgcUN3VUtbOiwgaV9uaCwgOl0gPSBxVVs6LCBpX25oLCA6ZG5vcGVdIEAgd1VLVltpX25oLCA6ZG5vcGUsIDpdDQogICAgcWsgPSB0b3JjaC5lbXB0eSgoYnMsIG5oLCBwbCtzbCksIGR0eXBlPXRvcmNoLmJmbG9hdDE2LCBkZXZpY2U9J2N1ZGEnKQ0KICAgIGZvciBpX2JzIGluIHJhbmdlKGJzKToNCiAgICAgICAgcWtbaV9icywgOiwgOl0gPSBxQ3dVS1tpX2JzLCA6LCA6XSBAIGt2X2NhY2hlLmRhdGFbaV9icywgOnBsK3NsLCA6ZGt2XS5UICsgcVVbaV9icywgOiwgZG5vcGU6XSBAIGtSW2lfYnMsIDpwbCtzbCwgOl0uVA0KICAgIHFrID0gdG9yY2guc29mdG1heChxayAvIG1hdGguc3FydChkbm9wZSArIGRyb3BlKSwgZGltPS0xKSAgICAgICAgICAgICAgICAgICAjIFticywgbmgsIHBsK3NsXQ0KICAgIHFra3ZDID0gdG9yY2guZW1wdHkoKGJzLCBuaCwgZGt2KSwgZHR5cGU9dG9yY2guYmZsb2F0MTYsIGRldmljZT0nY3VkYScpDQogICAgZm9yIGlfYnMgaW4gcmFuZ2UoYnMpOg0KICAgICAgICBxa2t2Q1tpX2JzLCA6LCA6XSA9IHFrW2lfYnMsIDosIDpdIEAga3ZfY2FjaGUuZGF0YVtpX2JzLCA6cGwrc2wsIDpka3ZdDQogICAgcWt2ID0gdG9yY2guZW1wdHkoKGJzLCBuaCwgZHYpLCBkdHlwZT10b3JjaC5iZmxvYXQxNiwgZGV2aWNlPSdjdWRhJykNCiAgICBmb3IgaV9uaCBpbiByYW5nZShuaCk6DQogICAgICAgIHFrdls6LCBpX25oLCA6XSA9IHFra3ZDWzosIGlfbmgsIDpdIEAgd1VLVltpX25oLCBkbm9wZTosIDpdLlQNCiAgICBvdXRwdXQgPSAocWt2LnZpZXcoYnMsIG5oICogZHYpIEAgd08uVCkudmlldyhicywgc2wsIGQpICAjIFticywgc2wsIGRdDQoNCiAgICByZXR1cm4gb3V0cHV0LCBrdl9jYWNoZS5kYXRhSource code from GPU Mode and the KernelBot dataset · June 9 Researcher Reciprocity License v1.0
Changes from previous submission
Against this author's previous submission submission 29137.
- aW1wb3J0IG1hdGgNCmltcG9ydCB0b3JjaA0KZnJvbSB0b3JjaCBpbXBvcnQgbm4NCmZyb20gdGFzayBpbXBvcnQgaW5wdXRfdCwgb3V0cHV0X3QNCg0KZGVmIHJvcGUoeDogdG9yY2guVGVuc29yLCBwb3M6IGludCkgLT4gdG9yY2guVGVuc29yOg0KDQogICAgc2wgPSB4LnNoYXBlWzBdDQogICAgZCA9IHguc2hhcGVbLTFdDQoNCiAgICB0aGV0YSA9IHRvcmNoLmFyYW5nZShkIC8vIDIsIGR0eXBlPXRvcmNoLmJmbG9hdDE2LCBkZXZpY2U9J2N1ZGEnKQ0KICAgIHRoZXRhID0gMTAwMDAgKiogKC0yICogdGhldGEgLyBkKQ0KICAgIGlkeCA9IHRvcmNoLmFyYW5nZShwb3MsIHBvcyArIHNsLCBkdHlwZT10b3JjaC5iZmxvYXQxNiwgZGV2aWNlPSdjdWRhJykNCiAgICBpZHhfdGhldGEgPSB0b3JjaC5laW5zdW0oJ3MsZC0+c2QnLCBpZHgsIHRoZXRhKQ0KICAgIGNvcyA9IHRvcmNoLmNvcyhpZHhfdGhldGEpLnRvKHRvcmNoLmJmbG9hdDE2KQ0KICAgIHNpbiA9IHRvcmNoLnNpbihpZHhfdGhldGEpLnRvKHRvcmNoLmJmbG9hdDE2KQ0KDQogICAgaWYgeC5kaW0oKSA9PSAyOg0KICAgICAgICB5ID0gdG9yY2guemVyb3NfbGlrZSh4KQ0KICAgICAgICB4MSA9IHhbOiwgOmQvLzJdDQogICAgICAgIHgyID0geFs6LCBkLy8yOl0NCiAgICAgICAgeVs6LCA6ZC8vMl0gKz0geDEgKiBjb3MNCiAgICAgICAgeVs6LCBkLy8yOl0gKz0geDIgKiBjb3MNCiAgICAgICAgeVs6LCA6ZC8vMl0gKz0gLXgyICogc2luDQogICAgICAgIHlbOiwgZC8vMjpdICs9IHgxICogc2luDQogICAgICAgIHJldHVybiB5DQogICAgZWxpZiB4LmRpbSgpID09IDM6DQogICAgICAgIG5oID0geC5zaGFwZVsxXQ0KICAgICAgICB5ID0gdG9yY2guemVyb3NfbGlrZSh4KQ0KICAgICAgICBmb3IgaV9uaCBpbiByYW5nZShuaCk6DQogICAgICAgICAgICB4MSA9IHhbOiwgaV9uaCwgOmQvLzJdDQogICAgICAgICAgICB4MiA9IHhbOiwgaV9uaCwgZC8vMjpdDQogICAgICAgICAgICB5WzosIGlfbmgsIDpkLy8yXSArPSB4MSAqIGNvcw0KICAgICAgICAgICAgeVs6LCBpX25oLCBkLy8yOl0gKz0geDIgKiBjb3MNCiAgICAgICAgICAgIHlbOiwgaV9uaCwgOmQvLzJdICs9IC14MiAqIHNpbg0KICAgICAgICAgICAgeVs6LCBpX25oLCBkLy8yOl0gKz0geDEgKiBzaW4NCiAgICAgICAgcmV0dXJuIHkNCg0KZGVmIGN1c3RvbV9rZXJuZWwoZGF0YTogaW5wdXRfdCkgLT4gb3V0cHV0X3Q6DQogICAgY29uZmlnLCB4LCBrdl9jYWNoZSA9IGRhdGENCg0KICAgIGYgPSBvcGVuKCdtbGEtZGVjb2RlLmxvZycsICdhJykNCg0KICAgIGJzID0gY29uZmlnLmJhdGNoX3NpemUNCiAgICBzbCA9IGNvbmZpZy5zZXFfbGVuDQogICAgcGwgPSBrdl9jYWNoZS5zZXFfbGVuDQogICAgbmggPSBjb25maWcubl9oZWFkcw0KICAgIGQgPSAgY29uZmlnLmRpbQ0KICAgIGRxID0gY29uZmlnLnFfbG9yYV9yYW5rDQogICAgZGt2ID0gY29uZmlnLmt2X2xvcmFfcmFuaw0KICAgIGRub3BlID0gY29uZmlnLnFrX25vcGVfaGVhZF9kaW0NCiAgICBkcm9wZSA9IGNvbmZpZy5xa19yb3BlX2hlYWRfZGltDQogICAgZHYgPSBjb25maWcudl9oZWFkX2RpbQ0KDQogICAgd0RRICA9IGNvbmZpZy5RX3Byb2pfZG93bl93ZWlnaHQgICAgICAgICAgICAgICAgICAgICAgICAjIFtkcSwgZF0NCiAgICB3REtWID0gY29uZmlnLktWX3Byb2pfZG93bl93ZWlnaHQgICAgICAgICAgICAgICAgICAgICAgICMgW2RrdiArIGRyb3BlLCBkXQ0KICAgIHdVUSAgPSBjb25maWcuUV9wcm9qX3VwX3dlaWdodCAgICAgICAgICAgICAgICAgICAgICAgICAgIyBbbmggKiAoZG5vcGUgKyBkcm9wZSksIGRxXQ0KICAgIHdVS1YgPSBjb25maWcuS1ZfcHJval91cF93ZWlnaHQgICAgICAgICAgICAgICAgICAgICAgICAgIyBbbmggKiAoZG5vcGUgKyBkdiksIGRrdl0NCiAgICB3TyAgID0gY29uZmlnLndvX3dlaWdodCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgW2QsIG5oICogZHZdDQoNCiAgICBxa3YgPSB0b3JjaC5lbXB0eSgoYnMsIHNsLCBuaCwgZHYpLCBkdHlwZT10b3JjaC5iZmxvYXQxNiwgZGV2aWNlPSdjdWRhJykNCiAgICBvdXRwdXQgPSB0b3JjaC5lbXB0eSgoYnMsIHNsLCBkKSwgZHR5cGU9dG9yY2guYmZsb2F0MTYsIGRldmljZT0nY3VkYScpDQoNCiAgICBmb3IgaV9icyBpbiByYW5nZShicyk6DQogICAgICAgIHhfYnMgPSB4W2lfYnMsIDosIDpdICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIFtzbCwgZF0NCg0KICAgICAgICBxRF9icyA9IHhfYnMgQCB3RFEuVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBbc2wsIGRxXQ0KICAgICAgICBxVV9icyA9IHFEX2JzIEAgd1VRLlQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBbc2wsIG5oICogKGRub3BlICsgZHJvcGUpXQ0KICAgICAgICBxVV9icyA9IHFVX2JzLnJlc2hhcGUoc2wsIG5oLCBkbm9wZSArIGRyb3BlKQ0KICAgICAgICBxQ19icyA9IHFVX2JzWzosIDosIDpkbm9wZV0gICAgICAgICAgICAgICAgICAgICAgICAgIyBbc2wsIG5oLCBkbm9wZV0NCiAgICAgICAgcVJfYnMgPSBxVV9ic1s6LCA6LCBkbm9wZTpdICAgICAgICAgICAgICAgICAgICAgICAgICMgW3NsLCBuaCwgZHJvcGVdDQogICAgICAgIHFSX2JzID0gcm9wZShxUl9icywgcGwpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIFtzbCwgbmgsIGRyb3BlXQ0KDQogICAgICAgIGt2RF9icyA9IHhfYnMgQCB3REtWLlQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIFtzbCwgZGt2ICsgZHJvcGVdDQogICAgICAgIGt2X2NhY2hlLmRhdGFbaV9icywgcGw6cGwrc2wsIDpdID0ga3ZEX2JzDQogICAgICAgIGt2X2NhY2hlLnNlcV9sZW4gKz0gc2wNCiAgICAgICAga3ZEX2JzID0ga3ZfY2FjaGUuZGF0YVtpX2JzLCA6cGwrc2wsIDpdICAgICAgICAgICAgICMgW3BsK3NsLCBka3YgKyBkcm9wZV0NCiAgICAgICAga3ZEX2JzID0ga3ZEX2JzLnJlc2hhcGUocGwrc2wsIGRrdiArIGRyb3BlKQ0KICAgICAgICBrdkNfYnMgPSBrdkRfYnNbOiwgOmRrdl0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBbcGwrc2wsIGRrdl0NCiAgICAgICAga1JfYnMgPSBrdkRfYnNbOiwgZGt2Ol0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgW3BsK3NsLCBkcm9wZV0NCiAgICAgICAga1JfYnMgPSByb3BlKGtSX2JzLCAwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgW3BsK3NsLCBkcm9wZV0NCg0KICAgICAgICBmb3IgaV9uaCBpbiByYW5nZShuaCk6DQogICAgICAgICAgICBxQ19oID0gcUNfYnNbOiwgaV9uaCwgOl0gICAgICAgICAgICAgICAgICAgICAgICAjIFtzbCwgZG5vcGVdDQogICAgICAgICAgICBxUl9oID0gcVJfYnNbOiwgaV9uaCwgOl0gICAgICAgICAgICAgICAgICAgICAgICAjIFtzbCwgZHJvcGVdDQogICAgICAgICAgICB3VUtWX2ggPSB3VUtWLnJlc2hhcGUobmgsIGRub3BlICsgZHYsIGRrdilbaV9uaCwgOiwgOl0gICMgW2Rub3BlICsgZHYsIGRrdl0NCiAgICAgICAgICAgIHdVS19oID0gd1VLVl9oWzpkbm9wZSwgOl0gICAgICAgICAgICAgICAgICAgICAgICMgW2Rub3BlLCBka3ZdDQogICAgICAgICAgICBxQ3dVS19oID0gcUNfaCBAIHdVS19oICAgICAgICAgICAgICAgICAgICAgICAgICAjIFtzbCwgZGt2XQ0KICAgICAgICAgICAgcUNrQ19oID0gcUN3VUtfaCBAIGt2Q19icy5UICAgICAgICAgICAgICAgICAgICAgIyBbc2wsIHBsK3NsXQ0KICAgICAgICAgICAgcVJrUl9oID0gcVJfaCBAIGtSX2JzLlQgICAgICAgICAgICAgICAgICAgICAgICAgIyBbc2wsIHBsK3NsXQ0KICAgICAgICAgICAgcWtfaCA9IHFDa0NfaCArIHFSa1JfaCAgICAgICAgICAgICAgICAgICAgICAgICAgIyBbc2wsIHBsK3NsXQ0KICAgICAgICAgICAgcWtfaCA9IHFrX2ggLyBtYXRoLnNxcnQoZG5vcGUgKyBkcm9wZSkgICAgICAgICAgIyBbc2wsIHBsK3NsXQ0KICAgICAgICAgICAgcWtfaCA9IHRvcmNoLnNvZnRtYXgocWtfaCwgZGltPS0xKSAgICAgICAgICAgICAgIyBbc2wsIHBsK3NsXQ0KICAgICAgICAgICAgcWtjS1ZfaCA9IHFrX2ggQCBrdkNfYnMgICAgICAgICAgICAgICAgICAgICAgICAgIyBbc2wsIGRrdl0NCiAgICAgICAgICAgIHdVVl9oID0gd1VLVl9oW2Rub3BlOiwgOl0gICAgICAgICAgICAgICAgICAgICAgICMgW2R2LCBka3ZdDQogICAgICAgICAgICBxa3ZfaCA9IHFrY0tWX2ggQCB3VVZfaC5UICAgICAgICAgICAgICAgICAgICAgICAjIFtzbCwgZHZdDQogICAgICAgICAgICBxa3ZbaV9icywgOiwgaV9uaCwgOl0gPSBxa3ZfaA0KICAgICAgICBvdXRwdXRbaV9icywgOiwgOl0gPSBxa3ZbaV9icywgOiwgOiwgOl0ucmVzaGFwZShzbCwgbmggKiBkdikgQCB3Ty5UDQoNCiAgICByZXR1cm4gb3V0cHV0LCBrdl9jYWNoZS5kYXRhNo newline at end of file+ aW1wb3J0IG1hdGgNCmltcG9ydCB0b3JjaA0KZnJvbSB0b3JjaCBpbXBvcnQgbm4NCmZyb20gdGFzayBpbXBvcnQgaW5wdXRfdCwgb3V0cHV0X3QNCg0KZGVmIG15cm9wZSh4OiB0b3JjaC5UZW5zb3IsIHBvczogaW50KSAtPiB0b3JjaC5UZW5zb3I6DQoNCiAgICBuLCBzbCwgZCA9IHguc2hhcGUNCg0KICAgIHRoZXRhID0gdG9yY2guYXJhbmdlKGQgLy8gMiwgZHR5cGU9dG9yY2guYmZsb2F0MTYsIGRldmljZT0nY3VkYScpDQogICAgdGhldGEgPSAxMDAwMCAqKiAoLTIgKiB0aGV0YSAvIGQpDQogICAgaWR4ID0gdG9yY2guYXJhbmdlKHBvcywgcG9zICsgc2wsIGR0eXBlPXRvcmNoLmJmbG9hdDE2LCBkZXZpY2U9J2N1ZGEnKQ0KICAgIGlkeF90aGV0YSA9IHRvcmNoLmVpbnN1bSgncyxkLT5zZCcsIGlkeCwgdGhldGEpDQogICAgY29zID0gdG9yY2guY29zKGlkeF90aGV0YSkudG8odG9yY2guYmZsb2F0MTYpDQogICAgc2luID0gdG9yY2guc2luKGlkeF90aGV0YSkudG8odG9yY2guYmZsb2F0MTYpDQoNCiAgICB5ID0gdG9yY2guZW1wdHlfbGlrZSh4KQ0KICAgIHgxID0geFs6LCA6LCA6ZC8vMl0NCiAgICB4MiA9IHhbOiwgOiwgZC8vMjpdDQogICAgeVs6LCA6LCA6ZC8vMl0gPSB4MSAqIGNvcyAtIHgyICogc2luDQogICAgeVs6LCA6LCBkLy8yOl0gPSB4MiAqIGNvcyArIHgxICogc2luDQogICAgcmV0dXJuIHkNCg0KZGVmIGN1c3RvbV9rZXJuZWwoZGF0YTogaW5wdXRfdCkgLT4gb3V0cHV0X3Q6DQogICAgY29uZmlnLCB4LCBrdl9jYWNoZSA9IGRhdGENCg0KICAgIGJzID0gY29uZmlnLmJhdGNoX3NpemUNCiAgICBzbCA9IGNvbmZpZy5zZXFfbGVuDQogICAgcGwgPSBrdl9jYWNoZS5zZXFfbGVuDQogICAgbmggPSBjb25maWcubl9oZWFkcw0KICAgIGQgPSAgY29uZmlnLmRpbQ0KICAgIGRxID0gY29uZmlnLnFfbG9yYV9yYW5rDQogICAgZGt2ID0gY29uZmlnLmt2X2xvcmFfcmFuaw0KICAgIGRub3BlID0gY29uZmlnLnFrX25vcGVfaGVhZF9kaW0NCiAgICBkcm9wZSA9IGNvbmZpZy5xa19yb3BlX2hlYWRfZGltDQogICAgZHYgPSBjb25maWcudl9oZWFkX2RpbQ0KDQogICAgd0RRICA9IGNvbmZpZy5RX3Byb2pfZG93bl93ZWlnaHQgICAgICAgICAgICAgICAgICAgICAgICAjIFtkcSwgZF0NCiAgICB3REtWID0gY29uZmlnLktWX3Byb2pfZG93bl93ZWlnaHQgICAgICAgICAgICAgICAgICAgICAgICMgW2RrdiArIGRyb3BlLCBkXQ0KICAgIHdVUSAgPSBjb25maWcuUV9wcm9qX3VwX3dlaWdodCAgICAgICAgICAgICAgICAgICAgICAgICAgIyBbbmggKiAoZG5vcGUgKyBkcm9wZSksIGRxXQ0KICAgIHdVS1YgPSBjb25maWcuS1ZfcHJval91cF93ZWlnaHQgICAgICAgICAgICAgICAgICAgICAgICAgIyBbbmggKiAoZG5vcGUgKyBkdiksIGRrdl0NCiAgICB3TyAgID0gY29uZmlnLndvX3dlaWdodCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgW2QsIG5oICogZHZdDQoNCiAgICB4ID0geC52aWV3KGJzLCBkKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgW2JzLCBkXQ0KICAgIHFEID0geCBAIHdEUS5UICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBbYnMsIGRxXQ0KICAgIHFVID0gKHFEIEAgd1VRLlQpLnZpZXcoYnMgKiBuaCwgc2wsIGRub3BlICsgZHJvcGUpICAgICAgIyBbYnMqbmgsIHNsLCBkbm9wZSArIGRyb3BlXQ0KICAgIHFVWzosIDosIGRub3BlOl0gPSBteXJvcGUocVVbOiwgOiwgZG5vcGU6XSwgcGwpDQogICAgcVUgPSBxVS52aWV3KGJzLCBuaCwgZG5vcGUgKyBkcm9wZSkgICAgICAgICAgICAgICAgICAgICAjIFticywgbmgsIGRub3BlICsgZHJvcGVdDQoNCiAgICB3REtWID0gd0RLVi52aWV3KGRrdiArIGRyb3BlLCBkKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBbZGt2ICsgZHJvcGUsIGRdDQogICAga3ZfY2FjaGUuZGF0YVs6LCBwbDpwbCsxLCA6XSA9ICh4IEAgd0RLVi5UKS52aWV3KGJzLCAxLCBka3YgKyBkcm9wZSkNCiAgICBrdl9jYWNoZS5zZXFfbGVuICs9IDENCiAgICBrUiA9IG15cm9wZShrdl9jYWNoZS5kYXRhWzosIDpwbCsxLCBka3Y6XSwgMCkudmlldyhicywgcGwrc2wsIGRyb3BlKSAgICAgICAgICAjIFticywgcGwrc2wsIGRyb3BlXQ0KICAgIHFDd1VLID0gdG9yY2guZW1wdHkoKGJzLCBuaCwgZGt2KSwgZHR5cGU9dG9yY2guYmZsb2F0MTYsIGRldmljZT0nY3VkYScpDQogICAgd1VLViA9IHdVS1YudmlldyhuaCwgZG5vcGUgKyBkdiwgZGt2KQ0KICAgIGZvciBpX25oIGluIHJhbmdlKG5oKToNCiAgICAgICAgcUN3VUtbOiwgaV9uaCwgOl0gPSBxVVs6LCBpX25oLCA6ZG5vcGVdIEAgd1VLVltpX25oLCA6ZG5vcGUsIDpdDQogICAgcWsgPSB0b3JjaC5lbXB0eSgoYnMsIG5oLCBwbCtzbCksIGR0eXBlPXRvcmNoLmJmbG9hdDE2LCBkZXZpY2U9J2N1ZGEnKQ0KICAgIGZvciBpX2JzIGluIHJhbmdlKGJzKToNCiAgICAgICAgcWtbaV9icywgOiwgOl0gPSBxQ3dVS1tpX2JzLCA6LCA6XSBAIGt2X2NhY2hlLmRhdGFbaV9icywgOnBsK3NsLCA6ZGt2XS5UICsgcVVbaV9icywgOiwgZG5vcGU6XSBAIGtSW2lfYnMsIDpwbCtzbCwgOl0uVA0KICAgIHFrID0gdG9yY2guc29mdG1heChxayAvIG1hdGguc3FydChkbm9wZSArIGRyb3BlKSwgZGltPS0xKSAgICAgICAgICAgICAgICAgICAjIFticywgbmgsIHBsK3NsXQ0KICAgIHFra3ZDID0gdG9yY2guZW1wdHkoKGJzLCBuaCwgZGt2KSwgZHR5cGU9dG9yY2guYmZsb2F0MTYsIGRldmljZT0nY3VkYScpDQogICAgZm9yIGlfYnMgaW4gcmFuZ2UoYnMpOg0KICAgICAgICBxa2t2Q1tpX2JzLCA6LCA6XSA9IHFrW2lfYnMsIDosIDpdIEAga3ZfY2FjaGUuZGF0YVtpX2JzLCA6cGwrc2wsIDpka3ZdDQogICAgcWt2ID0gdG9yY2guZW1wdHkoKGJzLCBuaCwgZHYpLCBkdHlwZT10b3JjaC5iZmxvYXQxNiwgZGV2aWNlPSdjdWRhJykNCiAgICBmb3IgaV9uaCBpbiByYW5nZShuaCk6DQogICAgICAgIHFrdls6LCBpX25oLCA6XSA9IHFra3ZDWzosIGlfbmgsIDpdIEAgd1VLVltpX25oLCBkbm9wZTosIDpdLlQNCiAgICBvdXRwdXQgPSAocWt2LnZpZXcoYnMsIG5oICogZHYpIEAgd08uVCkudmlldyhicywgc2wsIGQpICAjIFticywgc2wsIGRdDQoNCiAgICByZXR1cm4gb3V0cHV0LCBrdl9jYWNoZS5kYXRhNo newline at end of file
Best evidence level for this revision: reported
JSON