amd-mixture-of-experts · submission 22778
KernelBot user 279 · 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.
my_moe_kernel.py
curl "https://kernelindex.com/api/v1/implementations/kernelbot-amd-mixture-of-experts-22778?include=source"interfacepython
Compatibility
measured onAMD Instinct MI300X
declared hardwareAMD Instinct MI300X
architecturesgfx942
dtypesfp16
Benchmark evidence
2 measurements across 1 GPU, fastest first.
Operation / workload
Hardware
Latency
Rank
Observed
Reported · How evidence levels are derived →
Source and license
sourceavailable
revision digestsha256:f63ecefbf6055075d3f6302281090afc50301c682c173aae55c9d0567567de0c
license declaredunknown
license concludedunknown
imported2026-08-15
Kernel source
my_moe_kernel.py1 lines
ZnJvbSB1dGlscyBpbXBvcnQgbWFrZV9tYXRjaF9yZWZlcmVuY2UKZnJvbSB0YXNrIGltcG9ydCBpbnB1dF90LCBvdXRwdXRfdAppbXBvcnQgdG9yY2gKaW1wb3J0IHRvcmNoLm5uIGFzIG5uCmltcG9ydCB0b3JjaC5ubi5mdW5jdGlvbmFsIGFzIEYKZnJvbSB0eXBpbmcgaW1wb3J0IERpY3QsIFR1cGxlLCBMaXN0LCBPcHRpb25hbAppbXBvcnQgbWF0aAoKIyBSZWZlcmVuY2UgY29kZSBpbiBQeVRvcmNoCmNsYXNzIEV4cGVydChubi5Nb2R1bGUpOgogICAgZGVmIF9faW5pdF9fKHNlbGYsIGNvbmZpZzogRGljdCwgZF9leHBlcnQ6IE9wdGlvbmFsW2ludF0gPSBOb25lKToKICAgICAgICBzdXBlcigpLl9faW5pdF9fKCkKICAgICAgICBzZWxmLmNvbmZpZyA9IGNvbmZpZwogICAgICAgIHNlbGYuYWN0X2ZuID0gbm4uU2lMVSgpCiAgICAgICAgc2VsZi5kX2hpZGRlbjogaW50ID0gY29uZmlnWyJkX2hpZGRlbiJdCiAgICAgICAgc2VsZi5kX2V4cGVydDogaW50ID0gY29uZmlnWyJkX2V4cGVydCJdIGlmIGRfZXhwZXJ0IGlzIE5vbmUgZWxzZSBkX2V4cGVydAoKICAgICAgICBzZWxmLldfZ2F0ZSA9IG5uLkxpbmVhcihzZWxmLmRfaGlkZGVuLCBzZWxmLmRfZXhwZXJ0LCBiaWFzPUZhbHNlKQogICAgICAgIHNlbGYuV191cCA9IG5uLkxpbmVhcihzZWxmLmRfaGlkZGVuLCBzZWxmLmRfZXhwZXJ0LCBiaWFzPUZhbHNlKQogICAgICAgIHNlbGYuV19kb3duID0gbm4uTGluZWFyKHNlbGYuZF9leHBlcnQsIHNlbGYuZF9oaWRkZW4sIGJpYXM9RmFsc2UpCgogICAgZGVmIGZvcndhcmQoc2VsZiwgeDogdG9yY2guVGVuc29yKSAtPiB0b3JjaC5UZW5zb3I6CiAgICAgICAgZ2F0ZSA9IHNlbGYuYWN0X2ZuKHNlbGYuV19nYXRlKHgpKQogICAgICAgIG91dCA9IHNlbGYuV19kb3duKGdhdGUgKiBzZWxmLldfdXAoeCkpCiAgICAgICAgcmV0dXJuIG91dAoKCmNsYXNzIE1vRUdhdGUobm4uTW9kdWxlKToKICAgIGRlZiBfX2luaXRfXyhzZWxmLCBjb25maWc6IERpY3QpOgogICAgICAgIHN1cGVyKCkuX19pbml0X18oKQogICAgICAgIHNlbGYudG9wX2s6IGludCA9IGNvbmZpZ1sibl9leHBlcnRzX3Blcl90b2tlbiJdCiAgICAgICAgc2VsZi5udW1fZXhwZXJ0czogaW50ID0gY29uZmlnWyJuX3JvdXRlZF9leHBlcnRzIl0KICAgICAgICBzZWxmLmRfaGlkZGVuOiBpbnQgPSBjb25maWdbImRfaGlkZGVuIl0KCiAgICAgICAgc2VsZi5XX2cgPSBubi5MaW5lYXIoc2VsZi5kX2hpZGRlbiwgc2VsZi5udW1fZXhwZXJ0cywgYmlhcz1GYWxzZSkKCiAgICBkZWYgZm9yd2FyZChzZWxmLCB4OiB0b3JjaC5UZW5zb3IpIC0+IFR1cGxlW3RvcmNoLlRlbnNvciwgdG9yY2guVGVuc29yXToKICAgICAgICBsb2dpdHMgPSBzZWxmLldfZyh4KQogICAgICAgIHNjb3JlcyA9IGxvZ2l0cy5zb2Z0bWF4KGRpbT0tMSkKICAgICAgICB0b3BrX3Njb3JlcywgdG9wa19pbmRpY2VzID0gdG9yY2gudG9wayhzY29yZXMsIGs9c2VsZi50b3BfaywgZGltPS0xLCBzb3J0ZWQ9RmFsc2UpCgogICAgICAgIHJldHVybiB0b3BrX2luZGljZXMsIHRvcGtfc2NvcmVzCgoKY2xhc3MgTW9FKG5uLk1vZHVsZSk6CiAgICBkZWYgX19pbml0X18oc2VsZiwgY29uZmlnOiBEaWN0KToKICAgICAgICBzdXBlcigpLl9faW5pdF9fKCkKICAgICAgICBzZWxmLmNvbmZpZyA9IGNvbmZpZwogICAgICAgIHNlbGYuZXhwZXJ0cyA9IG5uLk1vZHVsZUxpc3QoWwogICAgICAgICAgICBFeHBlcnQoY29uZmlnKQogICAgICAgICAgICBmb3IgXyBpbiByYW5nZShjb25maWdbIm5fcm91dGVkX2V4cGVydHMiXSkKICAgICAgICBdKQogICAgICAgIHNlbGYuZ2F0aW5nX25ldHdvcmsgPSBNb0VHYXRlKGNvbmZpZykKICAgICAgICBzaGFyZWRfZXhwZXJ0X2RpbSA9IGNvbmZpZ1siZF9leHBlcnQiXSAqIGNvbmZpZ1sibl9zaGFyZWRfZXhwZXJ0cyJdCiAgICAgICAgc2VsZi5zaGFyZWRfZXhwZXJ0ID0gRXhwZXJ0KGNvbmZpZz1jb25maWcsIGRfZXhwZXJ0PXNoYXJlZF9leHBlcnRfZGltKQoKICAgIGRlZiBmb3J3YXJkKHNlbGYsIHg6IHRvcmNoLlRlbnNvcikgLT4gdG9yY2guVGVuc29yOgogICAgICAgIHNoYXJlZF9vdXRwdXQgPSBzZWxmLnNoYXJlZF9leHBlcnQoeCkKICAgICAgICBleHBlcnRfaW5kaWNlcywgZXhwZXJ0X3Njb3JlcyA9IHNlbGYuZ2F0aW5nX25ldHdvcmsoeCkKICAgICAgICBiYXRjaF9zaXplLCBzZXFfbGVuLCBoaWRkZW5fZGltID0geC5zaGFwZQogICAgICAgIG9yaWdfc2hhcGUgPSB4LnNoYXBlCiAgICAgICAgeF9mbGF0ID0geC52aWV3KC0xLCBoaWRkZW5fZGltKQogICAgICAgIGZsYXRfZXhwZXJ0X2luZGljZXMgPSBleHBlcnRfaW5kaWNlcy52aWV3KC0xKQogICAgICAgIGZsYXRfZXhwZXJ0X3dlaWdodHMgPSBleHBlcnRfc2NvcmVzLnZpZXcoLTEsIDEpCiAgICAgICAgcm91dGVkX291dHB1dF9mbGF0ID0gc2VsZi5tb2VfaW5mZXIoeF9mbGF0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsYXRfZXhwZXJ0X2luZGljZXMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxhdF9leHBlcnRfd2VpZ2h0cykKICAgICAgICAKCiAgICAgICAgcm91dGVkX291dHB1dCA9IHJvdXRlZF9vdXRwdXRfZmxhdC52aWV3KCpvcmlnX3NoYXBlKQogICAgICAgIHJldHVybiByb3V0ZWRfb3V0cHV0ICsgc2hhcmVkX291dHB1dAoKICAgIEB0b3JjaC5ub19ncmFkKCkKICAgIGRlZiBtb2VfaW5mZXIoc2VsZiwKICAgICAgICAgICAgICAgICAgeDogdG9yY2guVGVuc29yLAogICAgICAgICAgICAgICAgICBmbGF0X2V4cGVydF9pbmRpY2VzOiB0b3JjaC5UZW5zb3IsCiAgICAgICAgICAgICAgICAgIGZsYXRfZXhwZXJ0X3dlaWdodHM6IHRvcmNoLlRlbnNvcgogICAgICAgICAgICAgICAgICkgLT4gdG9yY2guVGVuc29yOgogICAgICAgIGV4cGVydF9jYWNoZSA9IHRvcmNoLnplcm9zX2xpa2UoeCkKICAgICAgICBpZHhzID0gZmxhdF9leHBlcnRfaW5kaWNlcy5hcmdzb3J0KCkKICAgICAgICBjb3VudHMgPSBmbGF0X2V4cGVydF9pbmRpY2VzLmJpbmNvdW50KCkuY3B1KCkubnVtcHkoKQogICAgICAgIHRva2Vuc19wZXJfZXhwZXJ0ID0gY291bnRzLmN1bXN1bSgpCiAgICAgICAgbnVtX3Blcl90b2sgPSBzZWxmLmNvbmZpZ1sibl9leHBlcnRzX3Blcl90b2tlbiJdCiAgICAgICAgdG9rZW5faWR4cyA9IGlkeHMgLy8gbnVtX3Blcl90b2sKICAgICAgICBmb3IgZXhwZXJ0X2lkLCBlbmRfaWR4IGluIGVudW1lcmF0ZSh0b2tlbnNfcGVyX2V4cGVydCk6CiAgICAgICAgICAgIHN0YXJ0X2lkeCA9IDAgaWYgZXhwZXJ0X2lkID09IDAgZWxzZSB0b2tlbnNfcGVyX2V4cGVydFtleHBlcnRfaWQgLSAxXQogICAgICAgICAgICBpZiBzdGFydF9pZHggPT0gZW5kX2lkeDoKICAgICAgICAgICAgICAgIGNvbnRpbnVlCgogICAgICAgICAgICBleHBlcnQgPSBzZWxmLmV4cGVydHNbZXhwZXJ0X2lkXQogICAgICAgICAgICBleHBfdG9rZW5faWR4cyA9IHRva2VuX2lkeHNbc3RhcnRfaWR4OmVuZF9pZHhdCiAgICAgICAgICAgIGV4cGVydF90b2tlbnMgPSB4W2V4cF90b2tlbl9pZHhzXQogICAgICAgICAgICBleHBlcnRfb3V0ICAgID0gZXhwZXJ0KGV4cGVydF90b2tlbnMpCiAgICAgICAgICAgIGV4cGVydF9vdXQubXVsXyhmbGF0X2V4cGVydF93ZWlnaHRzW2lkeHNbc3RhcnRfaWR4OmVuZF9pZHhdXSkKICAgICAgICAgICAgZXhwZXJ0X2NhY2hlLnNjYXR0ZXJfcmVkdWNlXygKICAgICAgICAgICAgICAgIDAsCiAgICAgICAgICAgICAgICBleHBfdG9rZW5faWR4cy52aWV3KC0xLCAxKS5yZXBlYXQoMSwgeC5zaGFwZVstMV0pLAogICAgICAgICAgICAgICAgZXhwZXJ0X291dCwKICAgICAgICAgICAgICAgIHJlZHVjZT0nc3VtJwogICAgICAgICAgICApCgogICAgICAgIHJldHVybiBleHBlcnRfY2FjaGUKCmRlZiByZWZfa2VybmVsKGRhdGE6IGlucHV0X3QpIC0+IG91dHB1dF90OgogICAgIiIiCiAgICBSZWZlcmVuY2UgaW1wbGVtZW50YXRpb24gb2YgRGVlcFNlZWstc3R5bGUgTWl4dHVyZSBvZiBFeHBlcnRzIHVzaW5nIFB5VG9yY2guCiAgICAKICAgIEFyZ3M6CiAgICAgICAgZGF0YTogVHVwbGUgb2YgKGlucHV0OiB0b3JjaC5UZW5zb3IsIHdlaWdodHM6IERpY3Rbc3RyLCB0b3JjaC5UZW5zb3JdLCBjb25maWc6IERpY3QpCiAgICAgICAgICAgIC0gaW5wdXQ6IElucHV0IHRlbnNvciBvZiBzaGFwZSBbYmF0Y2hfc2l6ZSwgc2VxX2xlbiwgaGlkZGVuX2RpbV0KICAgICAgICAgICAgLSB3ZWlnaHRzOiBEaWN0aW9uYXJ5IGNvbnRhaW5pbmcgbW9kZWwgd2VpZ2h0cwogICAgICAgICAgICAtIGNvbmZpZzogRGljdGlvbmFyeSBjb250YWluaW5nIG1vZGVsIGNvbmZpZ3VyYXRpb24gcGFyYW1ldGVycwogICAgICAgICAgICAKICAgIFJldHVybnM6CiAgICAgICAgVHVwbGUgY29udGFpbmluZzoKICAgICAgICAgICAgLSBvdXRwdXQ6IFByb2Nlc3NlZCB0ZW5zb3IgW2JhdGNoX3NpemUsIHNlcV9sZW4sIGRfbW9kZWxdCiAgICAgICAgICAgIC0gYXV4X2RhdGE6IERpY3Rpb25hcnkgd2l0aCBhdXhpbGlhcnkgZGF0YQogICAgIiIiCiAgICBpbnB1dF90ZW5zb3IsIHdlaWdodHMsIGNvbmZpZyA9IGRhdGEKICAgIG51bV9leHBlcnRzID0gY29uZmlnWyJuX3JvdXRlZF9leHBlcnRzIl0KICAgIG1vZSA9IE1vRShjb25maWcpCgogICAgIyBGaWxsIGluIHRoZSBnaXZlbiB3ZWlnaHRzIG9mIHRoZSBtb2RlbAogICAgbW9lLmdhdGluZ19uZXR3b3JrLldfZy53ZWlnaHQgPSBubi5QYXJhbWV0ZXIod2VpZ2h0c1sncm91dGVyLndlaWdodCddKQoKICAgIGZvciBpIGluIHJhbmdlKG51bV9leHBlcnRzKToKICAgICAgICBnYXRlX3Byb2pfd2VpZ2h0ID0gd2VpZ2h0c1tmJ2V4cGVydHMue2l9LjAud2VpZ2h0J10KICAgICAgICB1cF9wcm9qX3dlaWdodCA9IHdlaWdodHNbZidleHBlcnRzLntpfS4xLndlaWdodCddCiAgICAgICAgZG93bl9wcm9qX3dlaWdodCA9IHdlaWdodHNbZidleHBlcnRzLntpfS4yLndlaWdodCddCgogICAgICAgICMgVHJhbnNwb3NlIHdlaWdodHMgdG8gbWF0Y2ggZXhwZWN0ZWQgc2hhcGUgZm9yIG5uLkxpbmVhcgogICAgICAgIG1vZS5leHBlcnRzW2ldLldfZ2F0ZS53ZWlnaHQgPSBubi5QYXJhbWV0ZXIoZ2F0ZV9wcm9qX3dlaWdodC50KCkpCiAgICAgICAgbW9lLmV4cGVydHNbaV0uV191cC53ZWlnaHQgPSBubi5QYXJhbWV0ZXIodXBfcHJval93ZWlnaHQudCgpKQogICAgICAgIG1vZS5leHBlcnRzW2ldLldfZG93bi53ZWlnaHQgPSBubi5QYXJhbWV0ZXIoZG93bl9wcm9qX3dlaWdodC50KCkpCgogICAgbW9lLnNoYXJlZF9leHBlcnQuV19nYXRlLndlaWdodCA9IG5uLlBhcmFtZXRlcih3ZWlnaHRzWydzaGFyZWRfZXhwZXJ0cy4wLndlaWdodCddLnQoKSkKICAgIG1vZS5zaGFyZWRfZXhwZXJ0LldfdXAud2VpZ2h0ID0gbm4uUGFyYW1ldGVyKHdlaWdodHNbJ3NoYXJlZF9leHBlcnRzLjEud2VpZ2h0J10udCgpKQogICAgbW9lLnNoYXJlZF9leHBlcnQuV19kb3duLndlaWdodCA9IG5uLlBhcmFtZXRlcih3ZWlnaHRzWydzaGFyZWRfZXhwZXJ0cy4yLndlaWdodCddLnQoKSkKCiAgICBvdXRwdXQgPSBtb2UoaW5wdXRfdGVuc29yKQoKICAgIHJldHVybiBvdXRwdXQKCiMgUmVmZXJlbmNlIGNvZGUgaW4gUHlUb3JjaApjbGFzcyBDdXN0b21fRXhwZXJ0KG5uLk1vZHVsZSk6CiAgICBkZWYgX19pbml0X18oc2VsZiwgY29uZmlnOiBEaWN0LCBkX2V4cGVydDogT3B0aW9uYWxbaW50XSA9IE5vbmUpOgogICAgICAgIHN1cGVyKCkuX19pbml0X18oKQogICAgICAgIHNlbGYuY29uZmlnID0gY29uZmlnCiAgICAgICAgc2VsZi5hY3RfZm4gPSBubi5TaUxVKCkKICAgICAgICBzZWxmLmRfaGlkZGVuOiBpbnQgPSBjb25maWdbImRfaGlkZGVuIl0KICAgICAgICBzZWxmLmRfZXhwZXJ0OiBpbnQgPSBjb25maWdbImRfZXhwZXJ0Il0gaWYgZF9leHBlcnQgaXMgTm9uZSBlbHNlIGRfZXhwZXJ0CgogICAgICAgIHNlbGYuV19nYXRlID0gbm4uTGluZWFyKHNlbGYuZF9oaWRkZW4sIHNlbGYuZF9leHBlcnQsIGJpYXM9RmFsc2UpCiAgICAgICAgc2VsZi5XX3VwID0gbm4uTGluZWFyKHNlbGYuZF9oaWRkZW4sIHNlbGYuZF9leHBlcnQsIGJpYXM9RmFsc2UpCiAgICAgICAgc2VsZi5XX2Rvd24gPSBubi5MaW5lYXIoc2VsZi5kX2V4cGVydCwgc2VsZi5kX2hpZGRlbiwgYmlhcz1GYWxzZSkKCiAgICBkZWYgZm9yd2FyZChzZWxmLCB4OiB0b3JjaC5UZW5zb3IpIC0+IHRvcmNoLlRlbnNvcjoKICAgICAgICBnYXRlID0gc2VsZi5hY3RfZm4oc2VsZi5XX2dhdGUoeCkpCiAgICAgICAgb3V0ID0gc2VsZi5XX2Rvd24oZ2F0ZSAqIHNlbGYuV191cCh4KSkKICAgICAgICByZXR1cm4gb3V0CgoKY2xhc3MgQ3VzdG9tX01vRUdhdGUobm4uTW9kdWxlKToKICAgIGRlZiBfX2luaXRfXyhzZWxmLCBjb25maWc6IERpY3QpOgogICAgICAgIHN1cGVyKCkuX19pbml0X18oKQogICAgICAgIHNlbGYudG9wX2s6IGludCA9IGNvbmZpZ1sibl9leHBlcnRzX3Blcl90b2tlbiJdCiAgICAgICAgc2VsZi5udW1fZXhwZXJ0czogaW50ID0gY29uZmlnWyJuX3JvdXRlZF9leHBlcnRzIl0KICAgICAgICBzZWxmLmRfaGlkZGVuOiBpbnQgPSBjb25maWdbImRfaGlkZGVuIl0KCiAgICAgICAgc2VsZi5XX2cgPSBubi5MaW5lYXIoc2VsZi5kX2hpZGRlbiwgc2VsZi5udW1fZXhwZXJ0cywgYmlhcz1GYWxzZSkKCiAgICBkZWYgZm9yd2FyZChzZWxmLCB4OiB0b3JjaC5UZW5zb3IpIC0+IFR1cGxlW3RvcmNoLlRlbnNvciwgdG9yY2guVGVuc29yXToKICAgICAgICBsb2dpdHMgPSBzZWxmLldfZyh4KQogICAgICAgIHNjb3JlcyA9IGxvZ2l0cy5zb2Z0bWF4KGRpbT0tMSkKICAgICAgICB0b3BrX3Njb3JlcywgdG9wa19pbmRpY2VzID0gdG9yY2gudG9wayhzY29yZXMsIGs9c2VsZi50b3BfaywgZGltPS0xLCBzb3J0ZWQ9RmFsc2UpCgogICAgICAgIHJldHVybiB0b3BrX2luZGljZXMsIHRvcGtfc2NvcmVzCgoKY2xhc3MgQ3VzdG9tX01vRShubi5Nb2R1bGUpOgogICAgZGVmIF9faW5pdF9fKHNlbGYsIGNvbmZpZzogRGljdCk6CiAgICAgICAgc3VwZXIoKS5fX2luaXRfXygpCiAgICAgICAgc2VsZi5jb25maWcgPSBjb25maWcKICAgICAgICBzZWxmLmV4cGVydHMgPSBubi5Nb2R1bGVMaXN0KFsKICAgICAgICAgICAgQ3VzdG9tX0V4cGVydChjb25maWcpCiAgICAgICAgICAgIGZvciBfIGluIHJhbmdlKGNvbmZpZ1sibl9yb3V0ZWRfZXhwZXJ0cyJdKQogICAgICAgIF0pCiAgICAgICAgIyDnoa7kv53mnYPph43ov57nu63lrZjlgqgKICAgICAgICBmb3IgZXhwZXJ0IGluIHNlbGYuZXhwZXJ0czoKICAgICAgICAgICAgZm9yIHBhcmFtIGluIGV4cGVydC5wYXJhbWV0ZXJzKCk6CiAgICAgICAgICAgICAgICBwYXJhbS5kYXRhID0gcGFyYW0uZGF0YS5jb250aWd1b3VzKCkKICAgICAgICBzZWxmLmdhdGluZ19uZXR3b3JrID0gQ3VzdG9tX01vRUdhdGUoY29uZmlnKQogICAgICAgIHNoYXJlZF9leHBlcnRfZGltID0gY29uZmlnWyJkX2V4cGVydCJdICogY29uZmlnWyJuX3NoYXJlZF9leHBlcnRzIl0KICAgICAgICBzZWxmLnNoYXJlZF9leHBlcnQgPSBDdXN0b21fRXhwZXJ0KGNvbmZpZz1jb25maWcsIGRfZXhwZXJ0PXNoYXJlZF9leHBlcnRfZGltKQoKICAgIGRlZiBmb3J3YXJkKHNlbGYsIHg6IHRvcmNoLlRlbnNvcikgLT4gdG9yY2guVGVuc29yOgogICAgICAgIHNoYXJlZF9vdXRwdXQgPSBzZWxmLnNoYXJlZF9leHBlcnQoeCkKICAgICAgICBleHBlcnRfaW5kaWNlcywgZXhwZXJ0X3Njb3JlcyA9IHNlbGYuZ2F0aW5nX25ldHdvcmsoeCkKICAgICAgICBiYXRjaF9zaXplLCBzZXFfbGVuLCBoaWRkZW5fZGltID0geC5zaGFwZQogICAgICAgIG9yaWdfc2hhcGUgPSB4LnNoYXBlCiAgICAgICAgeF9mbGF0ID0geC52aWV3KC0xLCBoaWRkZW5fZGltKQogICAgICAgIGZsYXRfZXhwZXJ0X2luZGljZXMgPSBleHBlcnRfaW5kaWNlcy52aWV3KC0xKQogICAgICAgIGZsYXRfZXhwZXJ0X3dlaWdodHMgPSBleHBlcnRfc2NvcmVzLnZpZXcoLTEsIDEpCiAgICAgICAgcm91dGVkX291dHB1dF9mbGF0ID0gc2VsZi5jdXN0b21fbW9lX2luZmVyKHhfZmxhdCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbGF0X2V4cGVydF9pbmRpY2VzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsYXRfZXhwZXJ0X3dlaWdodHMpCiAgICAgICAgCgogICAgICAgIHJvdXRlZF9vdXRwdXQgPSByb3V0ZWRfb3V0cHV0X2ZsYXQudmlldygqb3JpZ19zaGFwZSkKICAgICAgICByZXR1cm4gcm91dGVkX291dHB1dCArIHNoYXJlZF9vdXRwdXQKCiAgICBAdG9yY2gubm9fZ3JhZCgpCiAgICBkZWYgY3VzdG9tX21vZV9pbmZlcihzZWxmLAogICAgICAgICAgICAgICAgICB4OiB0b3JjaC5UZW5zb3IsCiAgICAgICAgICAgICAgICAgIGZsYXRfZXhwZXJ0X2luZGljZXM6IHRvcmNoLlRlbnNvciwKICAgICAgICAgICAgICAgICAgZmxhdF9leHBlcnRfd2VpZ2h0czogdG9yY2guVGVuc29yCiAgICAgICAgICAgICAgICAgKSAtPiB0b3JjaC5UZW5zb3I6CiAgICAgICAgZXhwZXJ0X2NhY2hlID0gdG9yY2guemVyb3NfbGlrZSh4KQogICAgICAgIGlkeHMgPSBmbGF0X2V4cGVydF9pbmRpY2VzLmFyZ3NvcnQoKQogICAgICAgIGNvdW50cyA9IGZsYXRfZXhwZXJ0X2luZGljZXMuYmluY291bnQoKS5jcHUoKS5udW1weSgpCiAgICAgICAgdG9rZW5zX3Blcl9leHBlcnQgPSBjb3VudHMuY3Vtc3VtKCkKICAgICAgICBudW1fcGVyX3RvayA9IHNlbGYuY29uZmlnWyJuX2V4cGVydHNfcGVyX3Rva2VuIl0KICAgICAgICB0b2tlbl9pZHhzID0gaWR4cyAvLyBudW1fcGVyX3RvawogICAgICAgIGZvciBleHBlcnRfaWQsIGVuZF9pZHggaW4gZW51bWVyYXRlKHRva2Vuc19wZXJfZXhwZXJ0KToKICAgICAgICAgICAgc3RhcnRfaWR4ID0gMCBpZiBleHBlcnRfaWQgPT0gMCBlbHNlIHRva2Vuc19wZXJfZXhwZXJ0W2V4cGVydF9pZCAtIDFdCiAgICAgICAgICAgIGlmIHN0YXJ0X2lkeCA9PSBlbmRfaWR4OgogICAgICAgICAgICAgICAgY29udGludWUKCiAgICAgICAgICAgIGV4cGVydCA9IHNlbGYuZXhwZXJ0c1tleHBlcnRfaWRdCiAgICAgICAgICAgIGV4cF90b2tlbl9pZHhzID0gdG9rZW5faWR4c1tzdGFydF9pZHg6ZW5kX2lkeF0KICAgICAgICAgICAgZXhwZXJ0X3Rva2VucyA9IHhbZXhwX3Rva2VuX2lkeHNdCiAgICAgICAgICAgIGV4cGVydF9vdXQgICAgPSBleHBlcnQoZXhwZXJ0X3Rva2VucykKICAgICAgICAgICAgZXhwZXJ0X291dC5tdWxfKGZsYXRfZXhwZXJ0X3dlaWdodHNbaWR4c1tzdGFydF9pZHg6ZW5kX2lkeF1dKQogICAgICAgICAgICBleHBlcnRfY2FjaGUuc2NhdHRlcl9yZWR1Y2VfKAogICAgICAgICAgICAgICAgMCwKICAgICAgICAgICAgICAgIGV4cF90b2tlbl9pZHhzLnZpZXcoLTEsIDEpLnJlcGVhdCgxLCB4LnNoYXBlWy0xXSksCiAgICAgICAgICAgICAgICBleHBlcnRfb3V0LAogICAgICAgICAgICAgICAgcmVkdWNlPSdzdW0nCiAgICAgICAgICAgICkKCiAgICAgICAgcmV0dXJuIGV4cGVydF9jYWNoZQoKQHRvcmNoLm5vX2dyYWQoKQpkZWYgY3VzdG9tX2tlcm5lbChkYXRhOiBpbnB1dF90KSAtPiBvdXRwdXRfdDoKICAgIAogICAgaW5wdXRfdGVuc29yLCB3ZWlnaHRzLCBjb25maWcgPSBkYXRhCiAgICBudW1fZXhwZXJ0cyA9IGNvbmZpZ1sibl9yb3V0ZWRfZXhwZXJ0cyJdCiAgICBtb2UgPSBNb0UoY29uZmlnKQoKICAgICMgRmlsbCBpbiB0aGUgZ2l2ZW4gd2VpZ2h0cyBvZiB0aGUgbW9kZWwKICAgIG1vZS5nYXRpbmdfbmV0d29yay5XX2cud2VpZ2h0ID0gbm4uUGFyYW1ldGVyKHdlaWdodHNbJ3JvdXRlci53ZWlnaHQnXSkKCiAgICBmb3IgaSBpbiByYW5nZShudW1fZXhwZXJ0cyk6CiAgICAgICAgZ2F0ZV9wcm9qX3dlaWdodCA9IHdlaWdodHNbZidleHBlcnRzLntpfS4wLndlaWdodCddCiAgICAgICAgdXBfcHJval93ZWlnaHQgPSB3ZWlnaHRzW2YnZXhwZXJ0cy57aX0uMS53ZWlnaHQnXQogICAgICAgIGRvd25fcHJval93ZWlnaHQgPSB3ZWlnaHRzW2YnZXhwZXJ0cy57aX0uMi53ZWlnaHQnXQoKICAgICAgICAjIFRyYW5zcG9zZSB3ZWlnaHRzIHRvIG1hdGNoIGV4cGVjdGVkIHNoYXBlIGZvciBubi5MaW5lYXIKICAgICAgICBtb2UuZXhwZXJ0c1tpXS5XX2dhdGUud2VpZ2h0ID0gbm4uUGFyYW1ldGVyKGdhdGVfcHJval93ZWlnaHQudCgpKQogICAgICAgIG1vZS5leHBlcnRzW2ldLldfdXAud2VpZ2h0ID0gbm4uUGFyYW1ldGVyKHVwX3Byb2pfd2VpZ2h0LnQoKSkKICAgICAgICBtb2UuZXhwZXJ0c1tpXS5XX2Rvd24ud2VpZ2h0ID0gbm4uUGFyYW1ldGVyKGRvd25fcHJval93ZWlnaHQudCgpKQoKICAgIG1vZS5zaGFyZWRfZXhwZXJ0LldfZ2F0ZS53ZWlnaHQgPSBubi5QYXJhbWV0ZXIod2VpZ2h0c1snc2hhcmVkX2V4cGVydHMuMC53ZWlnaHQnXS50KCkpCiAgICBtb2Uuc2hhcmVkX2V4cGVydC5XX3VwLndlaWdodCA9IG5uLlBhcmFtZXRlcih3ZWlnaHRzWydzaGFyZWRfZXhwZXJ0cy4xLndlaWdodCddLnQoKSkKICAgIG1vZS5zaGFyZWRfZXhwZXJ0LldfZG93bi53ZWlnaHQgPSBubi5QYXJhbWV0ZXIod2VpZ2h0c1snc2hhcmVkX2V4cGVydHMuMi53ZWlnaHQnXS50KCkpCgogICAgb3V0cHV0ID0gbW9lKGlucHV0X3RlbnNvcikKCiAgICByZXR1cm4gb3V0cHV0CgoKIyBJbnB1dCBnZW5lcmF0aW9uIGZvciB0aGUgcmVmZXJlbmNlIGNvZGUKCmRlZiBnZW5lcmF0ZV9pbnB1dCgKICAgIGRoaWRkZW46IGludCwKICAgIGRleHBlcnQ6IGludCwKICAgIG5yb3V0ZWRleHBlcnRzOiBpbnQsCiAgICBuc2hhcmVkZXhwZXJ0czogaW50LAogICAgbmV4cGVydHNwZXJ0b2tlbjogaW50LAogICAgYnM6IGludCwKICAgIHNlcWxlbjogaW50LAogICAgc2VlZDogaW50CikgLT4gaW5wdXRfdDoKCiAgICAjIFJlYWxseSBkdW1iIGJ1dCBmb3Igbm93IF8gaXNuJ3QgcGFyc2luZyBjb3JyZWN0bHkuCiAgICBkX2hpZGRlbiA9IGRoaWRkZW4KICAgIGRfZXhwZXJ0ID0gZGV4cGVydAogICAgbl9yb3V0ZWRfZXhwZXJ0cyA9IG5yb3V0ZWRleHBlcnRzCiAgICBuX3NoYXJlZF9leHBlcnRzID0gbnNoYXJlZGV4cGVydHMKICAgIG5fZXhwZXJ0c19wZXJfdG9rZW4gPSBuZXhwZXJ0c3BlcnRva2VuCiAgICBiYXRjaF9zaXplID0gYnMKICAgIHNlcV9sZW4gPSBzZXFsZW4KCiAgICBjb25maWcgPSB7CiAgICAgICAgImRfaGlkZGVuIjogZF9oaWRkZW4sCiAgICAgICAgImRfZXhwZXJ0IjogZF9leHBlcnQsCiAgICAgICAgIm5fcm91dGVkX2V4cGVydHMiOiBuX3JvdXRlZF9leHBlcnRzLAogICAgICAgICJuX3NoYXJlZF9leHBlcnRzIjogbl9zaGFyZWRfZXhwZXJ0cywKICAgICAgICAibl9leHBlcnRzX3Blcl90b2tlbiI6IG5fZXhwZXJ0c19wZXJfdG9rZW4sCiAgICAgICAgImJhdGNoX3NpemUiOiBiYXRjaF9zaXplLAogICAgICAgICJzZXFfbGVuIjogc2VxX2xlbiwKICAgIH0KCiAgICBnZW4gPSB0b3JjaC5HZW5lcmF0b3IoZGV2aWNlPSdjdWRhJykKICAgIGdlbi5tYW51YWxfc2VlZChzZWVkKQoKICAgIG51bV9leHBlcnRzID0gbl9yb3V0ZWRfZXhwZXJ0cwogICAgZXhwZXJ0X2RpbSA9IGRfZXhwZXJ0CiAgICB3ZWlnaHRzID0ge30KCiAgICBpbnB1dF90ZW5zb3IgPSB0b3JjaC5yYW5kbigKICAgICAgICAoYmF0Y2hfc2l6ZSwgc2VxX2xlbiwgZF9oaWRkZW4pLAogICAgICAgIGRldmljZT0nY3VkYScsCiAgICAgICAgZHR5cGU9dG9yY2guZmxvYXQxNiwKICAgICAgICBnZW5lcmF0b3I9Z2VuCiAgICApLmNvbnRpZ3VvdXMoKQoKICAgICMgSW5pdGlhbGl6ZSByb3V0ZXIgd2VpZ2h0cwogICAgd2VpZ2h0c1sncm91dGVyLndlaWdodCddID0gdG9yY2gucmFuZG4oCiAgICAgICAgKG51bV9leHBlcnRzLCBkX2hpZGRlbiksCiAgICAgICAgZGV2aWNlPSJjdWRhIiwKICAgICAgICBkdHlwZT10b3JjaC5mbG9hdDE2LAogICAgICAgIGdlbmVyYXRvcj1nZW4KICAgICkgLyBtYXRoLnNxcnQoZF9oaWRkZW4pCgogICAgZm9yIGkgaW4gcmFuZ2UobnVtX2V4cGVydHMpOgogICAgICAgIHdlaWdodHNbZidleHBlcnRzLntpfS4wLndlaWdodCddID0gdG9yY2gucmFuZG4oCiAgICAgICAgICAgIChkX2hpZGRlbiwgZXhwZXJ0X2RpbSksCiAgICAgICAgICAgIGRldmljZT0nY3VkYScsCiAgICAgICAgICAgIGR0eXBlPXRvcmNoLmZsb2F0MTYsCiAgICAgICAgICAgIGdlbmVyYXRvcj1nZW4KICAgICAgICApIC8gbWF0aC5zcXJ0KGV4cGVydF9kaW0pCgogICAgICAgIHdlaWdodHNbZidleHBlcnRzLntpfS4xLndlaWdodCddID0gdG9yY2gucmFuZG4oCiAgICAgICAgICAgIChkX2hpZGRlbiwgZXhwZXJ0X2RpbSksCiAgICAgICAgICAgIGRldmljZT0nY3VkYScsCiAgICAgICAgICAgIGR0eXBlPXRvcmNoLmZsb2F0MTYsCiAgICAgICAgICAgIGdlbmVyYXRvcj1nZW4KICAgICAgICApIC8gbWF0aC5zcXJ0KGV4cGVydF9kaW0pCgogICAgICAgIHdlaWdodHNbZidleHBlcnRzLntpfS4yLndlaWdodCddID0gdG9yY2gucmFuZG4oCiAgICAgICAgICAgIChleHBlcnRfZGltLCBkX2hpZGRlbiksCiAgICAgICAgICAgIGRldmljZT0nY3VkYScsCiAgICAgICAgICAgIGR0eXBlPXRvcmNoLmZsb2F0MTYsCiAgICAgICAgICAgIGdlbmVyYXRvcj1nZW4KICAgICAgICApIC8gbWF0aC5zcXJ0KGRfaGlkZGVuKQogICAgCiAgICB3ZWlnaHRzWydzaGFyZWRfZXhwZXJ0cy4wLndlaWdodCddID0gdG9yY2gucmFuZG4oCiAgICAgICAgKGRfaGlkZGVuLCBleHBlcnRfZGltICogbl9zaGFyZWRfZXhwZXJ0cyksCiAgICAgICAgZGV2aWNlPSdjdWRhJywKICAgICAgICBkdHlwZT10b3JjaC5mbG9hdDE2LAogICAgICAgIGdlbmVyYXRvcj1nZW4KICAgICkgLyBtYXRoLnNxcnQoZXhwZXJ0X2RpbSAqIG5fc2hhcmVkX2V4cGVydHMpCiAgICB3ZWlnaHRzWydzaGFyZWRfZXhwZXJ0cy4xLndlaWdodCddID0gdG9yY2gucmFuZG4oCiAgICAgICAgKGRfaGlkZGVuLCBleHBlcnRfZGltICogbl9zaGFyZWRfZXhwZXJ0cyksCiAgICAgICAgZGV2aWNlPSdjdWRhJywKICAgICAgICBkdHlwZT10b3JjaC5mbG9hdDE2LAogICAgICAgIGdlbmVyYXRvcj1nZW4KICAgICkgLyBtYXRoLnNxcnQoZXhwZXJ0X2RpbSAqIG5fc2hhcmVkX2V4cGVydHMpCiAgICB3ZWlnaHRzWydzaGFyZWRfZXhwZXJ0cy4yLndlaWdodCddID0gdG9yY2gucmFuZG4oCiAgICAgICAgKGV4cGVydF9kaW0gKiBuX3NoYXJlZF9leHBlcnRzLCBkX2hpZGRlbiksCiAgICAgICAgZGV2aWNlPSdjdWRhJywKICAgICAgICBkdHlwZT10b3JjaC5mbG9hdDE2LAogICAgICAgIGdlbmVyYXRvcj1nZW4KICAgICkgLyBtYXRoLnNxcnQoZF9oaWRkZW4pCgogICAgcmV0dXJuIChpbnB1dF90ZW5zb3IsIHdlaWdodHMsIGNvbmZpZykKCmNoZWNrX2ltcGxlbWVudGF0aW9uID0gbWFrZV9tYXRjaF9yZWZlcmVuY2UoY3VzdG9tX2tlcm5lbCwgcnRvbD0xZS0yLCBhdG9sPTFlLTIpCgppZiBfX25hbWVfXyA9PSAnX19tYWluX18nOgogICAgCiAgICB0ZXN0X3BhcmFtcyA9IHsKICAgICAgICAiZGhpZGRlbiI6IDEwMjQsCiAgICAgICAgImRleHBlcnQiOiAyMDQ4LAogICAgICAgICJucm91dGVkZXhwZXJ0cyI6IDgsCiAgICAgICAgIm5zaGFyZWRleHBlcnRzIjogMiwKICAgICAgICAibmV4cGVydHNwZXJ0b2tlbiI6IDIsCiAgICAgICAgImJzIjogNCwKICAgICAgICAic2VxbGVuIjogMTI4LAogICAgICAgICJzZWVkIjogNDIKICAgIH0KICAgIAogICAgIyBHZW5lcmF0ZSB0ZXN0IGlucHV0CiAgICB0ZXN0X2lucHV0ID0gZ2VuZXJhdGVfaW5wdXQoKip0ZXN0X3BhcmFtcykKICAgIAogICAgaW1wb3J0IHRvcmNoLnV0aWxzLmJlbmNobWFyayBhcyBiZW5jaG1hcmsKICAgIAogICAgIyDmtYvor5UgY3VzdG9tX2tlcm5lbCDlkowgcmVmX2tlcm5lbCDnmoTljZXmrKHov5DooYzml7bpl7QKICAgIHRfY3VzdG9tID0gYmVuY2htYXJrLlRpbWVyKAogICAgICAgIHN0bXQ9ImN1c3RvbV9rZXJuZWwodGVzdF9pbnB1dCkiLAogICAgICAgIGdsb2JhbHM9eyJjdXN0b21fa2VybmVsIjogY3VzdG9tX2tlcm5lbCwgInRlc3RfaW5wdXQiOiB0ZXN0X2lucHV0fQogICAgKS50aW1laXQoMTApCiAgICAKICAgIHRfcmVmID0gYmVuY2htYXJrLlRpbWVyKAogICAgICAgIHN0bXQ9InJlZl9rZXJuZWwodGVzdF9pbnB1dCkiLAogICAgICAgIGdsb2JhbHM9eyJyZWZfa2VybmVsIjogcmVmX2tlcm5lbCwgInRlc3RfaW5wdXQiOiB0ZXN0X2lucHV0fQogICAgKS50aW1laXQoMTApCiAgICAKICAgIHByaW50KGYiQ3VzdG9tIGtlcm5lbCB0aW1lOiB7dF9jdXN0b20ubWVhbjouNGZ9cyIpICAjIOS9v+eUqCAubWVhbiDojrflj5blubPlnYfml7bpl7QKICAgIHByaW50KGYiUmVmZXJlbmNlIGtlcm5lbCB0aW1lOiB7dF9yZWYubWVhbjouNGZ9cyIpSource code from GPU Mode and the KernelBot dataset · June 9 Researcher Reciprocity License v1.0
Best evidence level for this revision: reported
JSON