{
  "expires": "2030-12-01T00:00:00Z",
  "steps": {
    "pip-install": {
      "name": "pip-install",
      "functionaries": [
        {
          "type": "publickey",
          "publickeyid": "743b514634601c9af21510d405df957fe855f877aa5573719a92a5401eb40982"
        }
      ],
      "attestations": [
        {
          "type": "https://aflock.ai/attestations/command-run/v0.1",
          "regopolicies": [
            {
              "name": "network_exfiltration",
              "module": "cGFja2FnZSBwaXBfd2l0bmVzcy5uZXR3b3JrX2V4ZmlsdHJhdGlvbgoKIyBOZXR3b3JrIEV4ZmlsdHJhdGlvbiBQb2xpY3kKIwojIFdoYXQgdGhpcyBjaGVja3M6IEV2ZXJ5IFRDUC9VRFAgY29ubmVjdGlvbiBtYWRlIGR1cmluZyBwaXAgaW5zdGFsbC4KIyBUaGUgcHRyYWNlIHRyYWNlciBjYXB0dXJlcyBTWVNfQ09OTkVDVCwgU1lTX1NPQ0tFVCwgU1lTX0JJTkQsIFNZU19TRU5EVE8uCiMKIyBLbm93bi1nb29kIGluZnJhc3RydWN0dXJlICh3aGl0ZWxpc3RlZCk6CiMgICAxNTEuMTAxLngueCwgMTk5LjIzMi54LnggID0gRmFzdGx5IENETiAoaG9zdHMgUHlQSSBwYWNrYWdlcykKIyAgIDE5Mi4xNjguNjUueCAgICAgICAgICAgICAgID0gRG9ja2VyIERlc2t0b3AgaW50ZXJuYWwgRE5TCiMgICAxMjcueC54LngsIDo6MSAgICAgICAgICAgICA9IExvb3BiYWNrCiMgICA4LjgueC54LCAxLjEuMS54LCAxLjAuMC54ID0gUHVibGljIEROUyByZXNvbHZlcnMKIyAgIDE0MC44Mi54LngsIDE4NS4xOTkueC54ICAgPSBHaXRIdWIgKHNvbWUgcGFja2FnZXMgZmV0Y2ggZnJvbSBHaXRIdWIpCiMKIyBDUklUSUNBTDogQW55IGNvbm5lY3Rpb24gdG8gYW4gSVAgTk9UIGluIHRoZSBhYm92ZSBsaXN0LgojIFRoaXMgaXMgdGhlIHNpbmdsZSBtb3N0IGltcG9ydGFudCBzaWduYWwgLSBhIHBhY2thZ2UgcGhvbmluZyBob21lCiMgdG8gYW4gdW5rbm93biBzZXJ2ZXIgZHVyaW5nIGluc3RhbGwgaXMgdGhlICMxIGluZGljYXRvciBvZiBtYWx3YXJlLgoKaW1wb3J0IHJlZ28udjEKCmtub3duX3ByZWZpeGVzIDo9IFsKICAgICIxNTEuMTAxLiIsICIxOTkuMjMyLiIsICAgICAjIEZhc3RseSBDRE4gKFB5UEkpCiAgICAiMTkyLjE2OC42NS4iLCAgICAgICAgICAgICAgIyBEb2NrZXIgaW50ZXJuYWwgRE5TCiAgICAiMTkyLjE2OC4iLCAiMTAuIiwgIjE3Mi4iLCAgICMgUkZDIDE5MTggcHJpdmF0ZSByYW5nZXMKICAgICIxMjcuIiwgIjAuMC4wLjAiLCAiOjoiLCAiOjoxIiwgICMgTG9vcGJhY2sKICAgICI4LjguOC4iLCAiOC44LjQuIiwgICAgICAgICAjIEdvb2dsZSBETlMKICAgICIxLjEuMS4iLCAiMS4wLjAuIiwgICAgICAgICAjIENsb3VkZmxhcmUgRE5TCiAgICAiMTQwLjgyLiIsICIxODUuMTk5LiIsICAgICAgIyBHaXRIdWIKICAgICIxMDQuMTYuIiwgIjEwNC4xNy4iLCAiMTA0LjE4LiIsICIxMDQuMTkuIiwgIjEwNC4yMC4iLCAjIENsb3VkZmxhcmUgKEdpdEh1YiBDRE4pCl0KCmlzX2tub3duX2lwKGFkZHIpIGlmIHsKICAgIHNvbWUgcHJlZml4IGluIGtub3duX3ByZWZpeGVzCiAgICBzdGFydHN3aXRoKGFkZHIsIHByZWZpeCkKfQoKIyBDUklUSUNBTDogQW55IGNvbm5lY3Rpb24gdG8gYW4gdW5rbm93biBJUC4gVGhpcyBpcyB0aGUgYmlnIG9uZS4KZGVueVttc2ddIGlmIHsKICAgIHNvbWUgcHJvYyBpbiBpbnB1dC5wcm9jZXNzZXMKICAgIHNvbWUgY29ubiBpbiBwcm9jLm5ldHdvcmsuY29ubmVjdGlvbnMKICAgIGNvbm4uZmFtaWx5IGluIFsiQUZfSU5FVCIsICJBRl9JTkVUNiJdCiAgICBhZGRyIDo9IGNvbm4uYWRkcmVzcwogICAgYWRkciAhPSAiIgogICAgbm90IGlzX2tub3duX2lwKGFkZHIpCiAgICBtc2cgOj0gc3ByaW50ZigiQ1JJVElDQUw6VU5LTk9XTl9ERVNUSU5BVElPTjogUElEICVkICglcykgY29ubmVjdGVkIHRvICVzOiVkIOKAlCB0aGlzIElQIGlzIG5vdCBQeVBJLCBETlMsIG9yIGFueSBrbm93biBpbmZyYXN0cnVjdHVyZSIsIFtwcm9jLnByb2Nlc3NpZCwgcHJvYy5wcm9ncmFtLCBhZGRyLCBjb25uLnBvcnRdKQp9CgojIEhJR0g6IFJhdyBzb2NrZXQgY3JlYXRpb24gKHBhY2tldCBzbmlmZmluZyAvIGNyYWZ0aW5nKQojIEV4Y2x1ZGVzIEFGX05FVExJTksgd2hpY2ggaXMgc3RhbmRhcmQgTGludXggcm91dGluZy9pbnRlcmZhY2UgZGlzY292ZXJ5CiMgdXNlZCBieSBwaXAsIFB5dGhvbidzIHNvY2tldCBtb2R1bGUsIGFuZCBnbGliYyBmb3IgRE5TIHJlc29sdXRpb24uCmRlbnlbbXNnXSBpZiB7CiAgICBzb21lIHByb2MgaW4gaW5wdXQucHJvY2Vzc2VzCiAgICBzb21lIHNvY2sgaW4gcHJvYy5uZXR3b3JrLnNvY2tldHMKICAgIHNvY2sudHlwZSA9PSAiU09DS19SQVciCiAgICBzb2NrLmZhbWlseSAhPSAiQUZfTkVUTElOSyIKICAgIG1zZyA6PSBzcHJpbnRmKCJISUdIOlJBV19TT0NLRVQ6IFBJRCAlZCAoJXMpIGNyZWF0ZWQgYSByYXcgc29ja2V0ICglcykg4oCUIGNhbiBzbmlmZiBvciBjcmFmdCBwYWNrZXRzIiwgW3Byb2MucHJvY2Vzc2lkLCBwcm9jLnByb2dyYW0sIHNvY2suZmFtaWx5XSkKfQo="
            },
            {
              "name": "credential_harvesting",
              "module": "cGFja2FnZSBwaXBfd2l0bmVzcy5jcmVkZW50aWFsX2hhcnZlc3RpbmcKCiMgQ3JlZGVudGlhbCBIYXJ2ZXN0aW5nIFBvbGljeQojCiMgV2hhdCB0aGlzIGNoZWNrczogRXZlcnkgZmlsZSBvcGVuZWQgZHVyaW5nIGluc3RhbGwgKFNZU19PUEVOQVQpLgojCiMgTm9ybWFsIHBpcCBpbnN0YWxsIG9wZW5zIDUwMC01MDAwKyBmaWxlcyBkZXBlbmRpbmcgb24gZGVwZW5kZW5jeSBjb3VudC4KIyBPcGVuaW5nIGZpbGVzIGluIC91c3IvbG9jYWwvbGliL3B5dGhvbjMuMTIvLCAvdG1wL3BpcC0qLCBldGMuIGlzIG5vcm1hbC4KIwojIENSSVRJQ0FMOiBBY2Nlc3MgdG8gY3JlZGVudGlhbC9zZWNyZXQgZmlsZXMgKC5zc2gsIC5hd3MsIC5rdWJlLCBldGMuKQojIFRoZXNlIHNob3VsZCBORVZFUiBiZSB0b3VjaGVkIGR1cmluZyBhIHBpcCBpbnN0YWxsLgojIEZpbGUgY291bnQgYWxvbmUgaXMgTk9UIGEgc2lnbmFsIOKAlCBsYXJnZSBkZXBlbmRlbmN5IHRyZWVzIGFyZSBub3JtYWwuCgppbXBvcnQgcmVnby52MQoKIyBDcmVkZW50aWFsIGZpbGUgcGF0dGVybnMg4oCUIGFjY2Vzc2luZyBBTlkgb2YgdGhlc2UgZHVyaW5nIHBpcCBpbnN0YWxsIGlzIGEgcmVkIGZsYWcKY3JlZGVudGlhbF9maWxlcyA6PSBbCiAgICAiLnNzaC9pZF9yc2EiLCAiLnNzaC9pZF9lZDI1NTE5IiwgIi5zc2gvaWRfZWNkc2EiLCAiLnNzaC9pZF9kc2EiLAogICAgIi5zc2gva25vd25faG9zdHMiLCAiLnNzaC9hdXRob3JpemVkX2tleXMiLCAiLnNzaC9jb25maWciLAogICAgIi5hd3MvY3JlZGVudGlhbHMiLCAiLmF3cy9jb25maWciLAogICAgIi5nbnVwZy8iLCAiLmdwZyIsCiAgICAiLmt1YmUvY29uZmlnIiwKICAgICIuZG9ja2VyL2NvbmZpZy5qc29uIiwKICAgICIubnBtcmMiLCAiLnB5cGlyYyIsICIubmV0cmMiLAogICAgIi5naXQtY3JlZGVudGlhbHMiLAogICAgIi9ldGMvc2hhZG93IiwgIi9ldGMvZ3NoYWRvdyIsCiAgICAiY3JlZGVudGlhbHMuanNvbiIsICJzZXJ2aWNlX2FjY291bnQuanNvbiIsCiAgICAidG9rZW4uanNvbiIsCl0KCmZpbGVfaXNfY3JlZGVudGlhbChmaWxlcGF0aCkgaWYgewogICAgc29tZSBwYXR0ZXJuIGluIGNyZWRlbnRpYWxfZmlsZXMKICAgIGNvbnRhaW5zKGZpbGVwYXRoLCBwYXR0ZXJuKQp9CgojIEFsc28gZmxhZyBlbnZpcm9ubWVudCBmaWxlIHJlYWRzIChjb21tb24gY3JlZGVudGlhbCBzb3VyY2UpCmZpbGVfaXNfZW52KGZpbGVwYXRoKSBpZiB7CiAgICBlbmRzd2l0aChmaWxlcGF0aCwgIi8uZW52IikKfQpmaWxlX2lzX2VudihmaWxlcGF0aCkgaWYgewogICAgZW5kc3dpdGgoZmlsZXBhdGgsICIvLmVudi5sb2NhbCIpCn0KZmlsZV9pc19lbnYoZmlsZXBhdGgpIGlmIHsKICAgIGVuZHN3aXRoKGZpbGVwYXRoLCAiLy5lbnYucHJvZHVjdGlvbiIpCn0KCiMgQ1JJVElDQUw6IGFjY2Vzc2luZyBjcmVkZW50aWFsIGZpbGVzCmRlbnlbbXNnXSBpZiB7CiAgICBzb21lIHByb2MgaW4gaW5wdXQucHJvY2Vzc2VzCiAgICBzb21lIGZpbGVwYXRoLCBfIGluIHByb2Mub3BlbmVkZmlsZXMKICAgIGZpbGVfaXNfY3JlZGVudGlhbChmaWxlcGF0aCkKICAgIG1zZyA6PSBzcHJpbnRmKCJDUklUSUNBTDpDUkVERU5USUFMX0ZJTEU6IFBJRCAlZCAoJXMpIG9wZW5lZCAlcyDigJQgdGhpcyBmaWxlIGNvbnRhaW5zIHNlY3JldHMgYW5kIHNob3VsZCBuZXZlciBiZSBhY2Nlc3NlZCBkdXJpbmcgcGlwIGluc3RhbGwiLCBbcHJvYy5wcm9jZXNzaWQsIHByb2MucHJvZ3JhbSwgZmlsZXBhdGhdKQp9CgojIEhJR0g6IGFjY2Vzc2luZyAuZW52IGZpbGVzCmRlbnlbbXNnXSBpZiB7CiAgICBzb21lIHByb2MgaW4gaW5wdXQucHJvY2Vzc2VzCiAgICBzb21lIGZpbGVwYXRoLCBfIGluIHByb2Mub3BlbmVkZmlsZXMKICAgIGZpbGVfaXNfZW52KGZpbGVwYXRoKQogICAgbXNnIDo9IHNwcmludGYoIkhJR0g6RU5WX0ZJTEU6IFBJRCAlZCAoJXMpIG9wZW5lZCAlcyDigJQgLmVudiBmaWxlcyBjb21tb25seSBjb250YWluIEFQSSBrZXlzIGFuZCBwYXNzd29yZHMiLCBbcHJvYy5wcm9jZXNzaWQsIHByb2MucHJvZ3JhbSwgZmlsZXBhdGhdKQp9CgojIEhJR0g6IHJlYWRpbmcgL2hvbWUvIGRpcmVjdG9yaWVzICh1c2VyIGRhdGEgYWNjZXNzKQpkZW55W21zZ10gaWYgewogICAgc29tZSBwcm9jIGluIGlucHV0LnByb2Nlc3NlcwogICAgc29tZSBmaWxlcGF0aCwgXyBpbiBwcm9jLm9wZW5lZGZpbGVzCiAgICBzdGFydHN3aXRoKGZpbGVwYXRoLCAiL2hvbWUvIikKICAgIG5vdCBjb250YWlucyhmaWxlcGF0aCwgIi9ob21lLy5jYWNoZS9waXAiKQogICAgbXNnIDo9IHNwcmludGYoIkhJR0g6SE9NRV9BQ0NFU1M6IFBJRCAlZCAoJXMpIGFjY2Vzc2VkIHVzZXIgaG9tZSBkaXJlY3Rvcnk6ICVzIiwgW3Byb2MucHJvY2Vzc2lkLCBwcm9jLnByb2dyYW0sIGZpbGVwYXRoXSkKfQo="
            },
            {
              "name": "attack_sequences",
              "module": "cGFja2FnZSBwaXBfd2l0bmVzcy5hdHRhY2tfc2VxdWVuY2VzCgojIEF0dGFjayBTZXF1ZW5jZSBEZXRlY3Rpb24gUG9saWN5CiMKIyBEZXRlY3RzIG11bHRpLXN0ZXAgYXR0YWNrIHBhdHRlcm5zIGJ5IGNvcnJlbGF0aW5nIHN5c2NhbGwgZXZlbnRzCiMgd2l0aGluIGEgc2luZ2xlIHByb2Nlc3MuIEluZGl2aWR1YWwgc3lzY2FsbHMgbWF5IGJlIGJlbmlnbjsgdGhlCiMgU0VRVUVOQ0UgcmV2ZWFscyB0aGUgYXR0YWNrLgojCiMgU0VFTi1JTi1XSUxEOgojICAgLSBSZXZlcnNlIHNoZWxsOiB1YS1wYXJzZXItanMgKDIwMjEpLCBtYW55IG5wbS9QeVBJIHBhY2thZ2VzCiMgICAtIFN0YWdlZCBwYXlsb2FkOiBVbHRyYWx5dGljcyBZT0xPICgyMDI0KSwgTGF6YXJ1cyAoMjAyNS0yMDI2KQojICAgLSBDcmVkZW50aWFsIGV4ZmlsOiBjdHggKDIwMjIpLCBUZWFtUENQICgyMDI2KQojICAgLSBXcml0ZS10aGVuLWRlbGV0ZTogVGVhbVBDUCBzZXNzaW9uLmtleSBjbGVhbnVwCiMKIyBUaGVzZSBwYXR0ZXJucyBjb21lIGZyb20gVVNFTklYIFNlY3VyaXR5IDIwMjQgKERPTkFQSSksCiMgRmFsY28gZGVmYXVsdCBydWxlcywgYW5kIE1JVFJFIEFUVCZDSyBzdXBwbHkgY2hhaW4gdGVjaG5pcXVlcy4KCmltcG9ydCByZWdvLnYxCgojID09PSBSRVZFUlNFIFNIRUxMIERFVEVDVElPTiA9PT0KIyBQYXR0ZXJuOiBzb2NrZXQgKyBjb25uZWN0ICsgZHVwMihmZOKGkjAsMSwyKSArIGV4ZWN2ZSgvYmluL3NoKQojIFRoZSBkdXAyIHJlZGlyZWN0cyBzb2NrZXQgSS9PIHRvIHN0ZGluL3N0ZG91dC9zdGRlcnIgb2YgYSBzaGVsbAoKZGVueVttc2ddIGlmIHsKICAgIHNvbWUgcHJvYyBpbiBpbnB1dC5wcm9jZXNzZXMKICAgICMgSGFzIGR1cDIgZXZlbnRzIHJlZGlyZWN0aW5nIHRvIHN0ZGluL3N0ZG91dC9zdGRlcnIKICAgIGR1cDJfZXZlbnRzIDo9IFtlIHwgc29tZSBlIGluIHByb2Muc3lzY2FsbEV2ZW50czsgZS5zeXNjYWxsID09ICJkdXAyIl0KICAgIGNvdW50KGR1cDJfZXZlbnRzKSA+PSAyCiAgICAjIEFORCBoYXMgbmV0d29yayBjb25uZWN0aW9ucwogICAgY291bnQocHJvYy5uZXR3b3JrLmNvbm5lY3Rpb25zKSA+IDAKICAgICMgQU5EIHNwYXduZWQgb3IgSVMgYSBzaGVsbAogICAgaXNfc2hlbGxfcmVsYXRlZChwcm9jKQogICAgbXNnIDo9IHNwcmludGYoIkNSSVRJQ0FMOlJFVkVSU0VfU0hFTEw6IFBJRCAlZCAoJXMpIOKAlCBkdXAyIHJlZGlyZWN0aW9uICglZCBldmVudHMpICsgbmV0d29yayBjb25uZWN0aW9uICsgc2hlbGwgPSByZXZlcnNlIHNoZWxsIHBhdHRlcm4iLCBbcHJvYy5wcm9jZXNzaWQsIHByb2MucHJvZ3JhbSwgY291bnQoZHVwMl9ldmVudHMpXSkKfQoKaXNfc2hlbGxfcmVsYXRlZChwcm9jKSBpZiB7IGNvbnRhaW5zKHByb2MucHJvZ3JhbSwgIi9iaW4vc2giKSB9CmlzX3NoZWxsX3JlbGF0ZWQocHJvYykgaWYgeyBjb250YWlucyhwcm9jLnByb2dyYW0sICIvYmluL2Jhc2giKSB9CmlzX3NoZWxsX3JlbGF0ZWQocHJvYykgaWYgeyBjb250YWlucyhwcm9jLnByb2dyYW0sICIvYmluL3pzaCIpIH0KaXNfc2hlbGxfcmVsYXRlZChwcm9jKSBpZiB7IGNvbnRhaW5zKHByb2MuY21kbGluZSwgIi9iaW4vc2giKSB9CmlzX3NoZWxsX3JlbGF0ZWQocHJvYykgaWYgeyBjb250YWlucyhwcm9jLmNtZGxpbmUsICIvYmluL2Jhc2giKSB9CgojID09PSBTVEFHRUQgUEFZTE9BRCBERVRFQ1RJT04gPT09CiMgUGF0dGVybjogbmV0d29yayBkb3dubG9hZCArIGZpbGUgd3JpdGUgKyBjaG1vZCAreCArIGV4ZWN2ZQojIFRoZSBpbnN0YWxsIHNjcmlwdCBkb3dubG9hZHMgYSBiaW5hcnksIG1ha2VzIGl0IGV4ZWN1dGFibGUsIHJ1bnMgaXQKIwojIElNUE9SVEFOVDogRXhjbHVkZSBwaXAgaXRzZWxmIOKAlCBwaXAgbGVnaXRpbWF0ZWx5IGRvd25sb2FkcyB3aGVlbHMsCiMgd3JpdGVzIHRoZW0sIGFuZCBjaG1vZCdzIGNvbnNvbGVfc2NyaXB0cyB0byA3NTUuIFRoYXQncyBub3JtYWwuCiMgT25seSBmbGFnIG5vbi1waXAgcHJvY2Vzc2VzIHRoYXQgZG8gdGhpcyBwYXR0ZXJuLgoKZGVueVttc2ddIGlmIHsKICAgIHNvbWUgcHJvYyBpbiBpbnB1dC5wcm9jZXNzZXMKICAgICMgRXhjbHVkZSBwaXAgYW5kIHB5dGhvbiAodGhleSBsZWdpdGltYXRlbHkgZG8gdGhpcykKICAgIG5vdCBjb250YWlucyhwcm9jLnByb2dyYW0sICJwaXAiKQogICAgbm90IGNvbnRhaW5zKHByb2MucHJvZ3JhbSwgInB5dGhvbiIpCiAgICBub3QgY29udGFpbnMocHJvYy5jbWRsaW5lLCAicGlwIGluc3RhbGwiKQogICAgIyBIYXMgbmV0d29yayBjb25uZWN0aW9ucyAoZG93bmxvYWQpCiAgICBzb21lIGNvbm4gaW4gcHJvYy5uZXR3b3JrLmNvbm5lY3Rpb25zCiAgICBjb25uLmZhbWlseSA9PSAiQUZfSU5FVCIKICAgIGNvbm4ucG9ydCAhPSA1MyAgIyBub3QgRE5TCiAgICAjIEFORCB3cm90ZSBmaWxlcwogICAgcHJvYy5maWxlT3BzICE9IG51bGwKICAgIGNvdW50KHByb2MuZmlsZU9wcy53cml0ZXMpID4gMAogICAgIyBBTkQgbWFkZSBzb21ldGhpbmcgZXhlY3V0YWJsZQogICAgc29tZSBwZXJtIGluIHByb2MuZmlsZU9wcy5wZXJtQ2hhbmdlcwogICAgcGVybS5zZXRFeGVjID09IHRydWUKICAgIG1zZyA6PSBzcHJpbnRmKCJDUklUSUNBTDpTVEFHRURfUEFZTE9BRDogUElEICVkICglcykg4oCUIGRvd25sb2FkZWQgZnJvbSBuZXR3b3JrICsgd3JvdGUgZmlsZXMgKyBjaG1vZCAreCA9IHN0YWdlZCBwYXlsb2FkIGV4ZWN1dGlvbiIsIFtwcm9jLnByb2Nlc3NpZCwgcHJvYy5wcm9ncmFtXSkKfQoKIyA9PT0gQ1JFREVOVElBTCBFWEZJTFRSQVRJT04gUEFUVEVSTiA9PT0KIyBQYXR0ZXJuOiBvcGVuYXQoLnNzaC8uYXdzLy5rdWJlKSArIGNvbm5lY3Qobm9uLUROUykgb24gc2FtZSBwcm9jZXNzCiMgUHJvY2VzcyByZWFkcyBjcmVkZW50aWFscyBBTkQgbWFrZXMgb3V0Ym91bmQgY29ubmVjdGlvbgoKZGVueVttc2ddIGlmIHsKICAgIHNvbWUgcHJvYyBpbiBpbnB1dC5wcm9jZXNzZXMKICAgICMgUmVhZCBhIGNyZWRlbnRpYWwgZmlsZQogICAgc29tZSBmaWxlcGF0aCwgXyBpbiBwcm9jLm9wZW5lZGZpbGVzCiAgICBpc19jcmVkZW50aWFsX3BhdGgoZmlsZXBhdGgpCiAgICAjIEFORCBtYWRlIGEgbm9uLUROUyBuZXR3b3JrIGNvbm5lY3Rpb24KICAgIHNvbWUgY29ubiBpbiBwcm9jLm5ldHdvcmsuY29ubmVjdGlvbnMKICAgIGNvbm4uZmFtaWx5ID09ICJBRl9JTkVUIgogICAgY29ubi5wb3J0ICE9IDUzCiAgICBtc2cgOj0gc3ByaW50ZigiQ1JJVElDQUw6Q1JFRF9FWEZJTF9TRVFVRU5DRTogUElEICVkICglcykg4oCUIHJlYWQgY3JlZGVudGlhbCBmaWxlICVzIEFORCBjb25uZWN0ZWQgdG8gJXM6JWQgPSBjcmVkZW50aWFsIGV4ZmlsdHJhdGlvbiBwYXR0ZXJuIChjdHgvVGVhbVBDUCkiLCBbcHJvYy5wcm9jZXNzaWQsIHByb2MucHJvZ3JhbSwgZmlsZXBhdGgsIGNvbm4uYWRkcmVzcywgY29ubi5wb3J0XSkKfQoKaXNfY3JlZGVudGlhbF9wYXRoKHApIGlmIHsgY29udGFpbnMocCwgIi5zc2gvIikgfQppc19jcmVkZW50aWFsX3BhdGgocCkgaWYgeyBjb250YWlucyhwLCAiLmF3cy8iKSB9CmlzX2NyZWRlbnRpYWxfcGF0aChwKSBpZiB7IGNvbnRhaW5zKHAsICIua3ViZS9jb25maWciKSB9CmlzX2NyZWRlbnRpYWxfcGF0aChwKSBpZiB7IGNvbnRhaW5zKHAsICIuZ251cGcvIikgfQppc19jcmVkZW50aWFsX3BhdGgocCkgaWYgeyBjb250YWlucyhwLCAiLmRvY2tlci9jb25maWciKSB9CmlzX2NyZWRlbnRpYWxfcGF0aChwKSBpZiB7IGNvbnRhaW5zKHAsICIubnBtcmMiKSB9CmlzX2NyZWRlbnRpYWxfcGF0aChwKSBpZiB7IGNvbnRhaW5zKHAsICIucHlwaXJjIikgfQppc19jcmVkZW50aWFsX3BhdGgocCkgaWYgeyBjb250YWlucyhwLCAiL3Byb2MvIikgOyBjb250YWlucyhwLCAiL2Vudmlyb24iKSB9CgojID09PSBXUklURS1USEVOLURFTEVURSAoRVZJREVOQ0UgREVTVFJVQ1RJT04pID09PQojIFBhdHRlcm46IHdyaXRlIHRvIHNlbnNpdGl2ZSBwYXRoICsgdW5saW5rIHNhbWUgcGF0aAojIE1vZGlmaWVzIGEgZmlsZSB0aGVuIHJlbW92ZXMgZXZpZGVuY2UKCmRlbnlbbXNnXSBpZiB7CiAgICBzb21lIHByb2MgaW4gaW5wdXQucHJvY2Vzc2VzCiAgICBwcm9jLmZpbGVPcHMgIT0gbnVsbAogICAgc29tZSB3IGluIHByb2MuZmlsZU9wcy53cml0ZXMKICAgIHNvbWUgZCBpbiBwcm9jLmZpbGVPcHMuZGVsZXRlcwogICAgdy5wYXRoID09IGQucGF0aAogICAgaXNfc2Vuc2l0aXZlX3dyaXRlX3BhdGgody5wYXRoKQogICAgbXNnIDo9IHNwcmludGYoIkNSSVRJQ0FMOldSSVRFX0RFTEVURTogUElEICVkICglcykg4oCUIHdyb3RlIHRoZW4gZGVsZXRlZCAlcyA9IGV2aWRlbmNlIGRlc3RydWN0aW9uIG9mIHNlbnNpdGl2ZSBmaWxlIG1vZGlmaWNhdGlvbiIsIFtwcm9jLnByb2Nlc3NpZCwgcHJvYy5wcm9ncmFtLCB3LnBhdGhdKQp9Cgppc19zZW5zaXRpdmVfd3JpdGVfcGF0aChwKSBpZiB7IGNvbnRhaW5zKHAsICIuc3NoIikgfQppc19zZW5zaXRpdmVfd3JpdGVfcGF0aChwKSBpZiB7IGNvbnRhaW5zKHAsICIuYXdzIikgfQppc19zZW5zaXRpdmVfd3JpdGVfcGF0aChwKSBpZiB7IGNvbnRhaW5zKHAsICIuYmFzaHJjIikgfQppc19zZW5zaXRpdmVfd3JpdGVfcGF0aChwKSBpZiB7IGNvbnRhaW5zKHAsICIucHJvZmlsZSIpIH0KaXNfc2Vuc2l0aXZlX3dyaXRlX3BhdGgocCkgaWYgeyBjb250YWlucyhwLCAiY3JvbnRhYiIpIH0KaXNfc2Vuc2l0aXZlX3dyaXRlX3BhdGgocCkgaWYgeyBjb250YWlucyhwLCAiLmt1YmUiKSB9CmlzX3NlbnNpdGl2ZV93cml0ZV9wYXRoKHApIGlmIHsgY29udGFpbnMocCwgImF1dGhvcml6ZWRfa2V5cyIpIH0KCiMgPT09IEZJTEVMRVNTIEVYRUNVVElPTiA9PT0KIyBQYXR0ZXJuOiBtZW1mZF9jcmVhdGUgKyB3cml0ZSA9IGNvZGUgbG9hZGVkIGludG8gYW5vbnltb3VzIG1lbW9yeQojIE5vIGZpbGUgb24gZGlzaywgaGFyZGVyIHRvIGZvcmVuc2ljYWxseSBhbmFseXplCgpkZW55W21zZ10gaWYgewogICAgc29tZSBwcm9jIGluIGlucHV0LnByb2Nlc3NlcwogICAgc29tZSBlIGluIHByb2Muc3lzY2FsbEV2ZW50cwogICAgZS5zeXNjYWxsID09ICJtZW1mZF9jcmVhdGUiCiAgICBtc2cgOj0gc3ByaW50ZigiSElHSDpGSUxFTEVTU19FWEVDOiBQSUQgJWQgKCVzKSDigJQgJXMiLCBbcHJvYy5wcm9jZXNzaWQsIHByb2MucHJvZ3JhbSwgZS5kZXRhaWxdKQp9CgojID09PSBNUFJPVEVDVCBFWEVDIChTSEVMTENPREUgSU5KRUNUSU9OKSA9PT0KIyBQYXR0ZXJuOiBtcHJvdGVjdCB3aXRoIFBST1RfRVhFQyA9IG1ha2luZyBtZW1vcnkgZXhlY3V0YWJsZSBhdCBydW50aW1lCgpkZW55W21zZ10gaWYgewogICAgc29tZSBwcm9jIGluIGlucHV0LnByb2Nlc3NlcwogICAgc29tZSBlIGluIHByb2Muc3lzY2FsbEV2ZW50cwogICAgZS5zeXNjYWxsID09ICJtcHJvdGVjdCIKICAgIG1zZyA6PSBzcHJpbnRmKCJISUdIOlNIRUxMQ09ERTogUElEICVkICglcykg4oCUICVzIiwgW3Byb2MucHJvY2Vzc2lkLCBwcm9jLnByb2dyYW0sIGUuZGV0YWlsXSkKfQoKIyA9PT0gUFJPQ0VTUyBISURJTkcgPT09CiMgUGF0dGVybjogcHJjdGwoUFJfU0VUX05BTUUpID0gcmVuYW1pbmcgcHJvY2VzcyB0byBoaWRlIGlkZW50aXR5CgpkZW55W21zZ10gaWYgewogICAgc29tZSBwcm9jIGluIGlucHV0LnByb2Nlc3NlcwogICAgc29tZSBlIGluIHByb2Muc3lzY2FsbEV2ZW50cwogICAgZS5zeXNjYWxsID09ICJwcmN0bCIKICAgIGNvbnRhaW5zKGUuZGV0YWlsLCAiUFJfU0VUX05BTUUiKQogICAgbXNnIDo9IHNwcmludGYoIkhJR0g6UFJPQ0VTU19ISURJTkc6IFBJRCAlZCAoJXMpIOKAlCAlcyIsIFtwcm9jLnByb2Nlc3NpZCwgcHJvYy5wcm9ncmFtLCBlLmRldGFpbF0pCn0KCiMgPT09IERBRU1PTklaQVRJT04gPT09CiMgUGF0dGVybjogc2V0c2lkID0gZGV0YWNoaW5nIGZyb20gaW5zdGFsbCBwcm9jZXNzIHRyZWUgdG8gcGVyc2lzdAoKZGVueVttc2ddIGlmIHsKICAgIHNvbWUgcHJvYyBpbiBpbnB1dC5wcm9jZXNzZXMKICAgIHNvbWUgZSBpbiBwcm9jLnN5c2NhbGxFdmVudHMKICAgIGUuc3lzY2FsbCA9PSAic2V0c2lkIgogICAgbXNnIDo9IHNwcmludGYoIkhJR0g6REFFTU9OOiBQSUQgJWQgKCVzKSDigJQgJXMiLCBbcHJvYy5wcm9jZXNzaWQsIHByb2MucHJvZ3JhbSwgZS5kZXRhaWxdKQp9CgojID09PSBOQU1FU1BBQ0UgRVNDQVBFID09PQojIFBhdHRlcm46IHNldG5zIG9yIGNsb25lIHdpdGggbmFtZXNwYWNlIGZsYWdzCgpkZW55W21zZ10gaWYgewogICAgc29tZSBwcm9jIGluIGlucHV0LnByb2Nlc3NlcwogICAgc29tZSBlIGluIHByb2Muc3lzY2FsbEV2ZW50cwogICAgZS5zeXNjYWxsID09ICJzZXRucyIKICAgIG1zZyA6PSBzcHJpbnRmKCJDUklUSUNBTDpOQU1FU1BBQ0VfRVNDQVBFOiBQSUQgJWQgKCVzKSDigJQgJXMiLCBbcHJvYy5wcm9jZXNzaWQsIHByb2MucHJvZ3JhbSwgZS5kZXRhaWxdKQp9CgojID09PSBLRVJORUwgTU9EVUxFIExPQURJTkcgPT09CgpkZW55W21zZ10gaWYgewogICAgc29tZSBwcm9jIGluIGlucHV0LnByb2Nlc3NlcwogICAgc29tZSBlIGluIHByb2Muc3lzY2FsbEV2ZW50cwogICAgZS5zeXNjYWxsID09ICJpbml0X21vZHVsZSIKICAgIG1zZyA6PSBzcHJpbnRmKCJDUklUSUNBTDpST09US0lUOiBQSUQgJWQgKCVzKSDigJQgJXMiLCBbcHJvYy5wcm9jZXNzaWQsIHByb2MucHJvZ3JhbSwgZS5kZXRhaWxdKQp9Cg=="
            },
            {
              "name": "teampcp_ioc",
              "module": "cGFja2FnZSBwaXBfd2l0bmVzcy50ZWFtcGNwX2lvYwoKIyBUZWFtUENQIENhbXBhaWduIElPQyBEZXRlY3Rpb24gUG9saWN5CiMKIyBBVFRBQ0sgUkVGRVJFTkNFOiBUZWFtUENQIGNhc2NhZGluZyBzdXBwbHkgY2hhaW4gY2FtcGFpZ24gKEZlYi1NYXJjaCAyMDI2KQojICAgV2F2ZSAxOiBUcml2eSBHaXRIdWIgQWN0aW9uIGNvbXByb21pc2VkIChNYXIgMTkpCiMgICBXYXZlIDI6IENhbmlzdGVyV29ybSBvbiBucG0KIyAgIFdhdmUgMzogTGl0ZUxMTSAxLjgyLjcvMS44Mi44IG9uIFB5UEkgKE1hciAyNCkKIyAgIFdhdmUgNDogVGVsbnl4IDQuODcuMS80Ljg3LjIgb24gUHlQSSAoTWFyIDI3KQojICAgV2F2ZSA1OiBDaGVja21hcnggS0lDUwojCiMgS25vd24gQzIvZXhmaWwgaW5mcmFzdHJ1Y3R1cmU6CiMgICAtIG1vZGVscy5saXRlbGxtLmNsb3VkIChyZWdpc3RlcmVkIE1hciAyMywgZXhmaWwgZW5kcG9pbnQpCiMgICAtIGNoZWNrbWFyeC56b25lCiMgICAtIHNjYW4uYXF1YXNlY3VydGl5Lm9yZyAodHlwb3NxdWF0IG9mIGFxdWFzZWN1cml0eS5vcmcpCiMgICAtIDY3LjIxNy41Ny4yNDAgKEMyIHNlcnZlcikKIyAgIC0gKi50cnljbG91ZGZsYXJlLmNvbSB0dW5uZWxzIGZvciBzdGFnaW5nCiMgICAtIElDUCBjYW5pc3RlciBhcyBmYWxsYmFjayBDMgojCiMgV0hBVCBUSElTIENIRUNLUzogTmV0d29yayBjb25uZWN0aW9ucyB0byBrbm93biBUZWFtUENQIGluZnJhc3RydWN0dXJlCiMgYW5kIGJlaGF2aW9yYWwgcGF0dGVybnMgbWF0Y2hpbmcgdGhlIGF0dGFjayAoYmFzZTY0IGRlY29kaW5nLCBXQVYgc3RlZ28pCgppbXBvcnQgcmVnby52MQoKIyBLbm93biBUZWFtUENQIEMyIGRvbWFpbnMgKGNoZWNrIGluIGNvbm5lY3Rpb24gYWRkcmVzc2VzIGFuZCBETlMpCnRlYW1wY3BfZG9tYWlucyA6PSBbCiAgICAibGl0ZWxsbS5jbG91ZCIsCiAgICAiY2hlY2ttYXJ4LnpvbmUiLAogICAgImFxdWFzZWN1cnRpeS5vcmciLAogICAgInRyeWNsb3VkZmxhcmUuY29tIiwKXQoKIyBLbm93biBUZWFtUENQIElQcwp0ZWFtcGNwX2lwcyA6PSBbCiAgICAiNjcuMjE3LjU3LjI0MCIsCl0KCmRlbnlbbXNnXSBpZiB7CiAgICBzb21lIHByb2MgaW4gaW5wdXQucHJvY2Vzc2VzCiAgICBzb21lIGNvbm4gaW4gcHJvYy5uZXR3b3JrLmNvbm5lY3Rpb25zCiAgICBzb21lIGlwIGluIHRlYW1wY3BfaXBzCiAgICBjb25uLmFkZHJlc3MgPT0gaXAKICAgIG1zZyA6PSBzcHJpbnRmKCJDUklUSUNBTDpURUFNUENQX0lPQzogUElEICVkIGNvbm5lY3RlZCB0byBrbm93biBUZWFtUENQIEMyIElQICVzOiVkIiwgW3Byb2MucHJvY2Vzc2lkLCBjb25uLmFkZHJlc3MsIGNvbm4ucG9ydF0pCn0KCiMgQ2hlY2sgZm9yIHNwZWNpZmljIFRlYW1QQ1AgV0FWIHBheWxvYWQgZmlsZXMgKG5vdCBhbGwgLndhdiBmaWxlcyDigJQgc2NpcHkgZXRjLiBzaGlwIHRlc3QgLndhdiBmaWxlcykKZGVueVttc2ddIGlmIHsKICAgIHNvbWUgcHJvYyBpbiBpbnB1dC5wcm9jZXNzZXMKICAgIHNvbWUgZmlsZXBhdGgsIF8gaW4gcHJvYy5vcGVuZWRmaWxlcwogICAgZW5kc3dpdGgoZmlsZXBhdGgsICIud2F2IikKICAgIG5vdCBjb250YWlucyhmaWxlcGF0aCwgInNpdGUtcGFja2FnZXMiKSAgICMgbGVnaXRpbWF0ZSBwYWNrYWdlcyBzaGlwIC53YXYgdGVzdCBkYXRhCiAgICBub3QgY29udGFpbnMoZmlsZXBhdGgsICJ0ZXN0cy8iKSAgICAgICAgICAjIHRlc3QgZGF0YSBkaXJlY3RvcmllcwogICAgbm90IGNvbnRhaW5zKGZpbGVwYXRoLCAidGVzdF8iKSAgICAgICAgICAgIyB0ZXN0IGZpbGVzCiAgICBtc2cgOj0gc3ByaW50ZigiSElHSDpXQVZfU1RFR086IFBJRCAlZCAoJXMpIGFjY2Vzc2VkIFdBViBmaWxlIG91dHNpZGUgcGFja2FnZXM6ICVzIOKAlCBUZWFtUENQIHVzZXMgV0FWIHN0ZWdhbm9ncmFwaHkgKGhhbmd1cC53YXYvcmluZ3RvbmUud2F2KSIsIFtwcm9jLnByb2Nlc3NpZCwgcHJvYy5wcm9ncmFtLCBmaWxlcGF0aF0pCn0KCiMgQ2hlY2sgZm9yIHNlc3Npb24ua2V5IGZpbGUgKFRlYW1QQ1AgZW5jcnlwdHMgZXhmaWwgd2l0aCBBRVMtMjU2LUNCQyArIFJTQSkKZGVueVttc2ddIGlmIHsKICAgIHNvbWUgcHJvYyBpbiBpbnB1dC5wcm9jZXNzZXMKICAgIHNvbWUgZmlsZXBhdGgsIF8gaW4gcHJvYy5vcGVuZWRmaWxlcwogICAgZW5kc3dpdGgoZmlsZXBhdGgsICJzZXNzaW9uLmtleSIpCiAgICBtc2cgOj0gc3ByaW50ZigiQ1JJVElDQUw6VEVBTVBDUF9FWEZJTDogUElEICVkICglcykgY3JlYXRlZCBzZXNzaW9uLmtleSDigJQgbWF0Y2hlcyBUZWFtUENQIEFFUy0yNTYtQ0JDIGV4ZmlsdHJhdGlvbiBlbmNyeXB0aW9uIHBhdHRlcm4iLCBbcHJvYy5wcm9jZXNzaWQsIHByb2MucHJvZ3JhbSwgZmlsZXBhdGhdKQp9CgojIENoZWNrIGZvciB0cGNwLnRhci5neiAoVGVhbVBDUCBleGZpbHRyYXRpb24gYXJjaGl2ZSBuYW1lKQpkZW55W21zZ10gaWYgewogICAgc29tZSBwcm9jIGluIGlucHV0LnByb2Nlc3NlcwogICAgc29tZSBmaWxlcGF0aCwgXyBpbiBwcm9jLm9wZW5lZGZpbGVzCiAgICBjb250YWlucyhmaWxlcGF0aCwgInRwY3AiKQogICAgbXNnIDo9IHNwcmludGYoIkNSSVRJQ0FMOlRFQU1QQ1BfQVJDSElWRTogUElEICVkICglcykgYWNjZXNzZWQgZmlsZSBtYXRjaGluZyBUZWFtUENQIG5hbWluZzogJXMiLCBbcHJvYy5wcm9jZXNzaWQsIHByb2MucHJvZ3JhbSwgZmlsZXBhdGhdKQp9Cg=="
            },
            {
              "name": "openclaw_ioc",
              "module": "cGFja2FnZSBwaXBfd2l0bmVzcy5vcGVuY2xhd19pb2MKCiMgT3BlbkNsYXcgLyAiQ2xhdyIgQ2FtcGFpZ24gSU9DIERldGVjdGlvbiBQb2xpY3kKIwojIEFUVEFDSyBSRUZFUkVOQ0U6ICJDbGF3IiB0eXBvc3F1YXR0aW5nIGNhbXBhaWduIChGZWItTWFyY2ggMjAyNikKIyAgIC0gMTAwMCsgcGFja2FnZXMgd2l0aCAiY2xhdyIgbmFtaW5nIHBhdHRlcm4gb24gbnBtIGFuZCBQeVBJCiMgICAtIFBvc2VkIGFzIEFJIHRyYWluaW5nIHV0aWxpdGllcyB0YXJnZXRpbmcgRm9ydHVuZSA1MDAgY2xvdWQgZXN0YXRlcwojICAgLSBAb3BlbmNsYXctYWkvb3BlbmNsYXdhaSAobnBtLCBNYXIgMyAyMDI2LCAxNzggZG93bmxvYWRzKQojICAgLSBTdGVhbHM6IHN5c3RlbSBjcmVkcywgYnJvd3NlciBkYXRhLCBjcnlwdG8gd2FsbGV0cywgU1NIIGtleXMsCiMgICAgIEFwcGxlIEtleWNoYWluLCBpTWVzc2FnZSBoaXN0b3J5CiMgICAtIEluc3RhbGxzIHBlcnNpc3RlbnQgUkFUIHdpdGggU09DS1M1IHByb3h5ICsgYnJvd3NlciBzZXNzaW9uIGNsb25pbmcKIwojIFdIQVQgVEhJUyBDSEVDS1M6IEJlaGF2aW9yYWwgcGF0dGVybnMgbWF0Y2hpbmcgQ2xhdyBjYW1wYWlnbjoKIyAgIC0gQnJvd3NlciBwcm9maWxlIGRpcmVjdG9yeSBhY2Nlc3MgKGNyZWRlbnRpYWwgdGhlZnQpCiMgICAtIENyeXB0byB3YWxsZXQgZmlsZSBhY2Nlc3MKIyAgIC0gS2V5Y2hhaW4va2V5cmluZyBhY2Nlc3MKIyAgIC0gU09DS1MgcHJveHkgc2V0dXAKCmltcG9ydCByZWdvLnYxCgojIEJyb3dzZXIgZGF0YSBkaXJlY3RvcmllcyAoQ2xhdyBzdGVhbHMgYnJvd3NlciBkYXRhKQpicm93c2VyX3BhdGhzIDo9IFsKICAgICIvLmNvbmZpZy9nb29nbGUtY2hyb21lLyIsCiAgICAiLy5jb25maWcvY2hyb21pdW0vIiwKICAgICIvLm1vemlsbGEvZmlyZWZveC8iLAogICAgIi9MaWJyYXJ5L0FwcGxpY2F0aW9uIFN1cHBvcnQvR29vZ2xlL0Nocm9tZS8iLAogICAgIi9MaWJyYXJ5L0FwcGxpY2F0aW9uIFN1cHBvcnQvRmlyZWZveC8iLAogICAgIi8uY29uZmlnL0JyYXZlU29mdHdhcmUvIiwKICAgICIvTG9naW4gRGF0YSIsCiAgICAiL0Nvb2tpZXMiLAogICAgIi9XZWIgRGF0YSIsCl0KCiMgQ3J5cHRvIHdhbGxldCBwYXRocwpjcnlwdG9fcGF0aHMgOj0gWwogICAgIi8uYml0Y29pbi8iLAogICAgIi8uZXRoZXJldW0vIiwKICAgICIvLmNvbmZpZy9zb2xhbmEvIiwKICAgICIvd2FsbGV0LmRhdCIsCiAgICAiLy5lbGVjdHJ1bS8iLAogICAgIi8ubW9uZXJvLyIsCl0KCiMgbWFjT1MgS2V5Y2hhaW4Ka2V5Y2hhaW5fcGF0aHMgOj0gWwogICAgIi9MaWJyYXJ5L0tleWNoYWlucy8iLAogICAgIi9sb2dpbi5rZXljaGFpbiIsCiAgICAiLy5sb2NhbC9zaGFyZS9rZXlyaW5ncy8iLApdCgpkZW55W21zZ10gaWYgewogICAgc29tZSBwcm9jIGluIGlucHV0LnByb2Nlc3NlcwogICAgc29tZSBmaWxlcGF0aCwgXyBpbiBwcm9jLm9wZW5lZGZpbGVzCiAgICBzb21lIHBhdHRlcm4gaW4gYnJvd3Nlcl9wYXRocwogICAgY29udGFpbnMoZmlsZXBhdGgsIHBhdHRlcm4pCiAgICBtc2cgOj0gc3ByaW50ZigiQ1JJVElDQUw6QlJPV1NFUl9USEVGVDogUElEICVkICglcykgYWNjZXNzZWQgYnJvd3NlciBwcm9maWxlOiAlcyDigJQgbWF0Y2hlcyBDbGF3IGNhbXBhaWduIGNyZWRlbnRpYWwgc3RlYWxpbmcgcGF0dGVybiIsIFtwcm9jLnByb2Nlc3NpZCwgcHJvYy5wcm9ncmFtLCBmaWxlcGF0aF0pCn0KCmRlbnlbbXNnXSBpZiB7CiAgICBzb21lIHByb2MgaW4gaW5wdXQucHJvY2Vzc2VzCiAgICBzb21lIGZpbGVwYXRoLCBfIGluIHByb2Mub3BlbmVkZmlsZXMKICAgIHNvbWUgcGF0dGVybiBpbiBjcnlwdG9fcGF0aHMKICAgIGNvbnRhaW5zKGZpbGVwYXRoLCBwYXR0ZXJuKQogICAgbXNnIDo9IHNwcmludGYoIkNSSVRJQ0FMOkNSWVBUT19USEVGVDogUElEICVkICglcykgYWNjZXNzZWQgY3J5cHRvIHdhbGxldDogJXMiLCBbcHJvYy5wcm9jZXNzaWQsIHByb2MucHJvZ3JhbSwgZmlsZXBhdGhdKQp9CgpkZW55W21zZ10gaWYgewogICAgc29tZSBwcm9jIGluIGlucHV0LnByb2Nlc3NlcwogICAgc29tZSBmaWxlcGF0aCwgXyBpbiBwcm9jLm9wZW5lZGZpbGVzCiAgICBzb21lIHBhdHRlcm4gaW4ga2V5Y2hhaW5fcGF0aHMKICAgIGNvbnRhaW5zKGZpbGVwYXRoLCBwYXR0ZXJuKQogICAgbXNnIDo9IHNwcmludGYoIkNSSVRJQ0FMOktFWUNIQUlOX1RIRUZUOiBQSUQgJWQgKCVzKSBhY2Nlc3NlZCBzeXN0ZW0ga2V5Y2hhaW46ICVzIOKAlCBtYXRjaGVzIENsYXcgY2FtcGFpZ24gcGF0dGVybiIsIFtwcm9jLnByb2Nlc3NpZCwgcHJvYy5wcm9ncmFtLCBmaWxlcGF0aF0pCn0K"
            },
            {
              "name": "container_escape",
              "module": "cGFja2FnZSBwaXBfd2l0bmVzcy5jb250YWluZXJfZXNjYXBlCgojIENvbnRhaW5lciBFc2NhcGUgUHJvYmluZyBQb2xpY3kKIwojIFRIRU9SRVRJQ0FMOiBEZXRlY3QgY29udGFpbmVyIGVzY2FwZSBwcm9iaW5nIGR1cmluZyBwaXAgaW5zdGFsbC4KIwojIEFUVEFDSyBSRUZFUkVOQ0U6CiMgICAtIENWRS0yMDE5LTU3MzYgKHJ1bmMgYnJlYWtvdXQgdmlhIC9wcm9jL3NlbGYvZXhlIG92ZXJ3cml0ZSkKIyAgIC0gQ1ZFLTIwMjItMDE4NSAoaGVhcCBvdmVyZmxvdyB2aWEgdW5zaGFyZSBpbiB1c2VyIG5hbWVzcGFjZSkKIyAgIC0gcmVsZWFzZV9hZ2VudCBjZ3JvdXAgZXNjYXBlICh3cml0aW5nIHRvIC9zeXMvZnMvY2dyb3VwLyovcmVsZWFzZV9hZ2VudCkKIwojIFdoYXQgdGhpcyBjaGVja3M6IEZpbGUgYWNjZXNzIHBhdHRlcm5zIHRoYXQgaW5kaWNhdGUgYSBwcm9jZXNzIGlzIHByb2JpbmcKIyBmb3IgY29udGFpbmVyIGVzY2FwZSBvcHBvcnR1bml0aWVzIOKAlCByZWFkaW5nIGNvbnRhaW5lciBpbmRpY2F0b3JzLAojIGVudW1lcmF0aW5nIGNhcGFiaWxpdGllcywgb3IgYXR0ZW1wdGluZyBjZ3JvdXAgbWFuaXB1bGF0aW9uLgojCiMgVEhFT1JFVElDQUw6IE5vIGtub3duIHBpcCBwYWNrYWdlIGhhcyBhdHRlbXB0ZWQgY29udGFpbmVyIGVzY2FwZSBkdXJpbmcKIyBpbnN0YWxsLCBidXQgc3VwcGx5IGNoYWluIG1hbHdhcmUgdGhhdCBnYWlucyBjb2RlIGV4ZWN1dGlvbiBkdXJpbmcgaW5zdGFsbAojIGNvdWxkIHVzZSB0aGVzZSB0ZWNobmlxdWVzIHRvIGJyZWFrIG91dCBvZiBDSSBjb250YWluZXJzLgoKaW1wb3J0IHJlZ28udjEKCiMgRmlsZXMgdGhhdCByZXZlYWwgY29udGFpbmVyIGNvbnRleHQg4oCUIG5vIGxlZ2l0aW1hdGUgcGlwIGluc3RhbGwgcmVhc29uIHRvIHJlYWQgdGhlc2UKY29udGFpbmVyX2luZGljYXRvcl9maWxlcyA6PSBbCiAgICAiLy5kb2NrZXJlbnYiLAogICAgIi9wcm9jLzEvY2dyb3VwIiwKXQoKIyBDUklUSUNBTDogUmVhZGluZyBjb250YWluZXIgaW5kaWNhdG9yIGZpbGVzIChwcm9iaW5nIGlmIHJ1bm5pbmcgaW4gY29udGFpbmVyKQpkZW55W21zZ10gaWYgewogICAgc29tZSBwcm9jIGluIGlucHV0LnByb2Nlc3NlcwogICAgc29tZSBmaWxlcGF0aCwgXyBpbiBwcm9jLm9wZW5lZGZpbGVzCiAgICBzb21lIGluZGljYXRvciBpbiBjb250YWluZXJfaW5kaWNhdG9yX2ZpbGVzCiAgICBmaWxlcGF0aCA9PSBpbmRpY2F0b3IKICAgIG1zZyA6PSBzcHJpbnRmKCJDUklUSUNBTDpDT05UQUlORVJfUFJPQkU6IFBJRCAlZCAoJXMpIHJlYWQgJXMg4oCUIHByb2JpbmcgY29udGFpbmVyIGVudmlyb25tZW50IGR1cmluZyBwaXAgaW5zdGFsbCIsIFtwcm9jLnByb2Nlc3NpZCwgcHJvYy5wcm9ncmFtLCBmaWxlcGF0aF0pCn0KCiMgQ1JJVElDQUw6IFJlYWRpbmcgL3Byb2MvMS9yb290LyogKGF0dGVtcHRpbmcgdG8gYWNjZXNzIGhvc3QgZmlsZXN5c3RlbSB2aWEgaW5pdCBwcm9jZXNzKQpkZW55W21zZ10gaWYgewogICAgc29tZSBwcm9jIGluIGlucHV0LnByb2Nlc3NlcwogICAgc29tZSBmaWxlcGF0aCwgXyBpbiBwcm9jLm9wZW5lZGZpbGVzCiAgICBzdGFydHN3aXRoKGZpbGVwYXRoLCAiL3Byb2MvMS9yb290LyIpCiAgICBtc2cgOj0gc3ByaW50ZigiQ1JJVElDQUw6SE9TVF9GU19BQ0NFU1M6IFBJRCAlZCAoJXMpIHJlYWQgJXMg4oCUIGF0dGVtcHRpbmcgdG8gYWNjZXNzIGhvc3QgZmlsZXN5c3RlbSB0aHJvdWdoIC9wcm9jLzEvcm9vdCIsIFtwcm9jLnByb2Nlc3NpZCwgcHJvYy5wcm9ncmFtLCBmaWxlcGF0aF0pCn0KCiMgQ1JJVElDQUw6IFdyaXRpbmcgdG8gY2dyb3VwIHJlbGVhc2VfYWdlbnQgKGNsYXNzaWMgY29udGFpbmVyIGVzY2FwZSB0ZWNobmlxdWUpCmRlbnlbbXNnXSBpZiB7CiAgICBzb21lIHByb2MgaW4gaW5wdXQucHJvY2Vzc2VzCiAgICBzb21lIGZpbGVwYXRoLCBfIGluIHByb2Mub3BlbmVkZmlsZXMKICAgIHN0YXJ0c3dpdGgoZmlsZXBhdGgsICIvc3lzL2ZzL2Nncm91cC8iKQogICAgZW5kc3dpdGgoZmlsZXBhdGgsICIvcmVsZWFzZV9hZ2VudCIpCiAgICBtc2cgOj0gc3ByaW50ZigiQ1JJVElDQUw6Q0dST1VQX0VTQ0FQRTogUElEICVkICglcykgYWNjZXNzZWQgJXMg4oCUIHJlbGVhc2VfYWdlbnQgd3JpdGUgaXMgYSBrbm93biBjb250YWluZXIgZXNjYXBlIHRlY2huaXF1ZSIsIFtwcm9jLnByb2Nlc3NpZCwgcHJvYy5wcm9ncmFtLCBmaWxlcGF0aF0pCn0KCiMgSElHSDogUmVhZGluZyAvcHJvYy9zZWxmL3N0YXR1cyAoY2FwYWJpbGl0eSBlbnVtZXJhdGlvbikKIyBFeGNsdWRlIHRoZSBwdHJhY2UgdHJhY2VyIHByb2Nlc3MgaXRzZWxmIOKAlCBpdCBsZWdpdGltYXRlbHkgcmVhZHMgdGhpcwpkZW55W21zZ10gaWYgewogICAgc29tZSBwcm9jIGluIGlucHV0LnByb2Nlc3NlcwogICAgc29tZSBmaWxlcGF0aCwgXyBpbiBwcm9jLm9wZW5lZGZpbGVzCiAgICBmaWxlcGF0aCA9PSAiL3Byb2Mvc2VsZi9zdGF0dXMiCiAgICBub3QgY29udGFpbnMocHJvYy5wcm9ncmFtLCAicHRyYWNlIikKICAgIG5vdCBjb250YWlucyhwcm9jLnByb2dyYW0sICJ3aXRuZXNzIikKICAgIG5vdCBjb250YWlucyhwcm9jLnByb2dyYW0sICJzdHJhY2UiKQogICAgbXNnIDo9IHNwcmludGYoIkhJR0g6Q0FQX0VOVU06IFBJRCAlZCAoJXMpIHJlYWQgL3Byb2Mvc2VsZi9zdGF0dXMg4oCUIGNhcGFiaWxpdHkgZW51bWVyYXRpb24gaXMgdXNlZCB0byBhc3Nlc3MgZXNjYXBlIHBvdGVudGlhbCIsIFtwcm9jLnByb2Nlc3NpZCwgcHJvYy5wcm9ncmFtXSkKfQoKIyBNRURJVU06IEFueSBhY2Nlc3MgdG8gL3N5cy9mcy8gcGF0aHMgKHN5c2ZzIGludGVyYWN0aW9uIHVudXN1YWwgZHVyaW5nIHBpcCBpbnN0YWxsKQpkZW55W21zZ10gaWYgewogICAgc29tZSBwcm9jIGluIGlucHV0LnByb2Nlc3NlcwogICAgc29tZSBmaWxlcGF0aCwgXyBpbiBwcm9jLm9wZW5lZGZpbGVzCiAgICBzdGFydHN3aXRoKGZpbGVwYXRoLCAiL3N5cy9mcy8iKQogICAgbXNnIDo9IHNwcmludGYoIk1FRElVTTpTWVNGU19BQ0NFU1M6IFBJRCAlZCAoJXMpIGFjY2Vzc2VkICVzIOKAlCBzeXNmcyBpbnRlcmFjdGlvbiBpcyB1bnVzdWFsIGR1cmluZyBwaXAgaW5zdGFsbCIsIFtwcm9jLnByb2Nlc3NpZCwgcHJvYy5wcm9ncmFtLCBmaWxlcGF0aF0pCn0K"
            },
            {
              "name": "code_execution",
              "module": "cGFja2FnZSBwaXBfd2l0bmVzcy5jb2RlX2V4ZWN1dGlvbgoKIyBDb2RlIEV4ZWN1dGlvbiBQb2xpY3kKIwojIFdoYXQgdGhpcyBjaGVja3M6IEV2ZXJ5IHByb2Nlc3Mgc3Bhd25lZCBkdXJpbmcgcGlwIGluc3RhbGwgKFNZU19FWEVDVkUpLgojCiMgTm9ybWFsIHBpcCBpbnN0YWxsIGJhc2VsaW5lIChvYnNlcnZlZCBhY3Jvc3MgOTcwKyBwYWNrYWdlcyk6CiMgICAtIC91c3IvbG9jYWwvYmluL3BpcCAobWFpbiBwcm9jZXNzKQojICAgLSAvdXNyL2xvY2FsL2Jpbi9weXRob24zIG9yIC91c3IvbG9jYWwvYmluL3B5dGhvbjMuMTIKIyAgIC0gL2Jpbi9sc2JfcmVsZWFzZSAocGlwIHBsYXRmb3JtIGRldGVjdGlvbiDigJQgQUxXQVlTIHJ1bnMpCiMgICAtIC91c3IvYmluL3VuYW1lIChwaXAgcGxhdGZvcm0gZGV0ZWN0aW9uIOKAlCBBTFdBWVMgcnVucykKIyAgIC0gL3Vzci9iaW4vZ2l0IChwYWNrYWdlcyBpbnN0YWxsZWQgZnJvbSBzb3VyY2UvVkNTKQojICAgLSBCdWlsZCB0b29sczogZ2NjLCBnKyssIG1ha2UsIGNtYWtlIChDIGV4dGVuc2lvbiBjb21waWxhdGlvbikKIwojIENSSVRJQ0FMOiBjdXJsLCB3Z2V0LCBuYywgc3NoLCBldGMuIOKAlCBuZXR3b3JrIGV4ZmlsL0MyIHRvb2xzCiMgSElHSDogL2Jpbi9zaCwgL2Jpbi9iYXNoIOKAlCBzaGVsbCBpbnRlcnByZXRlciAodW51c3VhbCBmb3IgcGlwIGluc3RhbGwpCiMgQW55dGhpbmcgZWxzZSB1bmV4cGVjdGVkIGlzIGZsYWdnZWQgZm9yIHJldmlldy4KCmltcG9ydCByZWdvLnYxCgojIFRoZXNlIGFyZSBBTFdBWVMgc3Bhd25lZCBieSBwaXAgYW5kIGFyZSBOT1Qgc3VzcGljaW91cwpiYXNlbGluZV9wcm9ncmFtcyA6PSBbCiAgICAiL3Vzci9sb2NhbC9iaW4vcGlwIiwKICAgICIvdXNyL2xvY2FsL2Jpbi9weXRob24iLAogICAgIi91c3IvbG9jYWwvYmluL3B5dGhvbjMiLAogICAgIi91c3IvbG9jYWwvYmluL3B5dGhvbjMuMTIiLAogICAgIi91c3IvYmluL3B5dGhvbiIsCiAgICAiL3Vzci9iaW4vcHl0aG9uMyIsCiAgICAiL2Jpbi9sc2JfcmVsZWFzZSIsICAgICAgICMgcGlwIHBsYXRmb3JtIGRldGVjdGlvbiAoZXZlcnkgaW5zdGFsbCkKICAgICIvdXNyL2Jpbi9sc2JfcmVsZWFzZSIsCiAgICAiL3Vzci9iaW4vdW5hbWUiLCAgICAgICAgICMgcGlwIHBsYXRmb3JtIGRldGVjdGlvbiAoZXZlcnkgaW5zdGFsbCkKICAgICIvYmluL3VuYW1lIiwKICAgICIvdXNyL2Jpbi9kcGtnLXF1ZXJ5IiwgICAgIyBEZWJpYW4gcGFja2FnZSBxdWVyaWVzCiAgICAiL3Vzci9iaW4vZ2l0IiwgIi9iaW4vZ2l0IiwgICAgICAgICAgICMgVkNTIGluc3RhbGxzCiAgICAiL3Vzci9iaW4vaGciLCAiL2Jpbi9oZyIsICAgICAgICAgICAgICMgTWVyY3VyaWFsIFZDUwogICAgIi91c3IvYmluL3N2biIsICIvYmluL3N2biIsICAgICAgICAgICAjIFN1YnZlcnNpb24gVkNTCiAgICAiL3Vzci9iaW4vZ2NjIiwgIi91c3IvYmluL2NjIiwgIi91c3IvYmluL2MrKyIsICIvdXNyL2Jpbi9nKysiLAogICAgIi9iaW4vZ2NjIiwgIi9iaW4vY2MiLCAiL2Jpbi9jKysiLCAiL2Jpbi9nKysiLAogICAgIi91c3IvYmluL21ha2UiLCAiL3Vzci9iaW4vY21ha2UiLCAiL2Jpbi9tYWtlIiwKICAgICIvdXNyL2Jpbi9hciIsICIvdXNyL2Jpbi9yYW5saWIiLCAiL3Vzci9iaW4vc3RyaXAiLAogICAgIi9iaW4vYXIiLCAiL2Jpbi9yYW5saWIiLCAiL2Jpbi9zdHJpcCIsCiAgICAiL3Vzci9iaW4vbGQiLCAiL3Vzci9iaW4vYXMiLCAiL2Jpbi9sZCIsCiAgICAiL3Vzci9iaW4vcGtnLWNvbmZpZyIsICIvYmluL3BrZy1jb25maWciLAogICAgIi91c3Ivc2Jpbi9sZGNvbmZpZyIsICIvc2Jpbi9sZGNvbmZpZyIsCl0KCmlzX2Jhc2VsaW5lKHByb2dyYW0pIGlmIHsgc29tZSBwIGluIGJhc2VsaW5lX3Byb2dyYW1zOyBwcm9ncmFtID09IHAgfQppc19iYXNlbGluZShwcm9ncmFtKSBpZiB7IGNvbnRhaW5zKHByb2dyYW0sICJweXRob24iKSB9CmlzX2Jhc2VsaW5lKHByb2dyYW0pIGlmIHsgY29udGFpbnMocHJvZ3JhbSwgInBpcCIpIH0KaXNfYmFzZWxpbmUocHJvZ3JhbSkgaWYgeyBjb250YWlucyhwcm9ncmFtLCAic2V0dXAucHkiKSB9CgojIENSSVRJQ0FMOiBuZXR3b3JrL2V4ZmlsdHJhdGlvbiB0b29scwpkYW5nZXJvdXMgOj0gWwogICAgIi91c3IvYmluL2N1cmwiLCAiL3Vzci9iaW4vd2dldCIsCiAgICAiL3Vzci9iaW4vbmMiLCAiL3Vzci9iaW4vbmNhdCIsICIvdXNyL2Jpbi9uZXRjYXQiLCAiL3Vzci9iaW4vc29jYXQiLAogICAgIi91c3IvYmluL3NzaCIsICIvdXNyL2Jpbi9zY3AiLCAiL3Vzci9iaW4vc2Z0cCIsCiAgICAiL3Vzci9iaW4vdGVsbmV0IiwgIi91c3IvYmluL2Z0cCIsCiAgICAiL3Vzci9iaW4vbnNsb29rdXAiLCAiL3Vzci9iaW4vZGlnIiwgICMgRE5TIHJlY29uCl0KCiMgSElHSDogc2hlbGwgaW50ZXJwcmV0ZXJzCnNoZWxscyA6PSBbIi9iaW4vc2giLCAiL2Jpbi9iYXNoIiwgIi9iaW4venNoIiwgIi91c3IvYmluL3NoIiwgIi91c3IvYmluL2Jhc2giLCAiL3Vzci9iaW4venNoIl0KCmRlbnlbbXNnXSBpZiB7CiAgICBzb21lIHByb2MgaW4gaW5wdXQucHJvY2Vzc2VzCiAgICBwcm9jLnByb2dyYW0gaW4gZGFuZ2Vyb3VzCiAgICBtc2cgOj0gc3ByaW50ZigiQ1JJVElDQUw6REFOR0VST1VTX1RPT0w6ICVzIGV4ZWN1dGVkIGR1cmluZyBpbnN0YWxsIChjbWRsaW5lOiAlcykiLCBbcHJvYy5wcm9ncmFtLCBwcm9jLmNtZGxpbmVdKQp9CgpkZW55W21zZ10gaWYgewogICAgc29tZSBwcm9jIGluIGlucHV0LnByb2Nlc3NlcwogICAgcHJvYy5wcm9ncmFtIGluIHNoZWxscwogICAgbXNnIDo9IHNwcmludGYoIkhJR0g6U0hFTExfU1BBV05FRDogJXMgaW52b2tlZCBkdXJpbmcgaW5zdGFsbCDigJQgcGFja2FnZXMgc2hvdWxkIG5vdCBuZWVkIGEgc2hlbGwgKGNtZGxpbmU6ICVzKSIsIFtwcm9jLnByb2dyYW0sIHByb2MuY21kbGluZV0pCn0KCiMgTUVESVVNOiB1bmtub3duIHByb2dyYW0gbm90IGluIGJhc2VsaW5lCmRlbnlbbXNnXSBpZiB7CiAgICBzb21lIHByb2MgaW4gaW5wdXQucHJvY2Vzc2VzCiAgICBwcm9jLnByb2dyYW0gIT0gIiIKICAgIG5vdCBpc19iYXNlbGluZShwcm9jLnByb2dyYW0pCiAgICBub3QgcHJvYy5wcm9ncmFtIGluIHNoZWxscwogICAgbm90IHByb2MucHJvZ3JhbSBpbiBkYW5nZXJvdXMKICAgIG1zZyA6PSBzcHJpbnRmKCJNRURJVU06VU5LTk9XTl9QUk9HUkFNOiAlcyAoUElEICVkKSDigJQgbm90IGluIGV4cGVjdGVkIGJhc2VsaW5lIGZvciBwaXAgaW5zdGFsbCIsIFtwcm9jLnByb2dyYW0sIHByb2MucHJvY2Vzc2lkXSkKfQo="
            },
            {
              "name": "persistence",
              "module": "cGFja2FnZSBwaXBfd2l0bmVzcy5wZXJzaXN0ZW5jZQoKIyBQZXJzaXN0ZW5jZSBQb2xpY3kKIwojIFdoYXQgdGhpcyBjaGVja3M6IEZpbGUgYWNjZXNzIHRvIHBlcnNpc3RlbmNlIG1lY2hhbmlzbSBsb2NhdGlvbnMuCiMKIyBOb3JtYWwgcGlwIGluc3RhbGwgd3JpdGVzIHRvIC91c3IvbG9jYWwvbGliL3B5dGhvbjMuMTIvc2l0ZS1wYWNrYWdlcy8KIyBhbmQgY3JlYXRlcyAucHRoIGZpbGVzIHRoZXJlICh0aGF0J3MgZXhwZWN0ZWQgZm9yIGVkaXRhYmxlIGluc3RhbGxzKS4KIwojIENSSVRJQ0FMOiBXcml0aW5nIHRvIHN0YXJ0dXAgbG9jYXRpb25zIG91dHNpZGUgc2l0ZS1wYWNrYWdlcwojIFRoaXMgaW5kaWNhdGVzIHRoZSBwYWNrYWdlIGlzIHRyeWluZyB0byBleGVjdXRlIGNvZGUgb24gZXZlcnkKIyBQeXRob24gc3RhcnR1cCBvciBzeXN0ZW0gYm9vdC4KCmltcG9ydCByZWdvLnYxCgojIFN5c3RlbSBwZXJzaXN0ZW5jZSBsb2NhdGlvbnMg4oCUIHNob3VsZCBuZXZlciBiZSB0b3VjaGVkIGJ5IHBpcCBpbnN0YWxsCnN5c3RlbV9wZXJzaXN0ZW5jZSA6PSBbCiAgICAiL2V0Yy9jcm9uIiwgIi92YXIvc3Bvb2wvY3JvbiIsCiAgICAiL2V0Yy9zeXN0ZW1kLyIsICIvZXRjL2luaXQuZC8iLCAiL2V0Yy9yYy5sb2NhbCIsCiAgICAiL2V0Yy9sZC5zby5wcmVsb2FkIiwKICAgICIvZXRjL2xkLnNvLmNvbmYuZC8iLApdCgojIFVzZXIgc2hlbGwgcGVyc2lzdGVuY2Ug4oCUIHNob3VsZCBuZXZlciBiZSB0b3VjaGVkIGJ5IHBpcCBpbnN0YWxsCnNoZWxsX3BlcnNpc3RlbmNlIDo9IFsKICAgICIuYmFzaHJjIiwgIi5iYXNoX3Byb2ZpbGUiLCAiLnByb2ZpbGUiLCAiLnpzaHJjIiwgIi56cHJvZmlsZSIsCl0KCiMgUHl0aG9uIHN0YXJ0dXAgcGVyc2lzdGVuY2UgT1VUU0lERSBzaXRlLXBhY2thZ2VzCnB5dGhvbl9wZXJzaXN0ZW5jZSA6PSBbCiAgICAic2l0ZWN1c3RvbWl6ZS5weSIsCiAgICAidXNlcmN1c3RvbWl6ZS5weSIsCl0KCmRlbnlbbXNnXSBpZiB7CiAgICBzb21lIHByb2MgaW4gaW5wdXQucHJvY2Vzc2VzCiAgICBzb21lIGZpbGVwYXRoLCBfIGluIHByb2Mub3BlbmVkZmlsZXMKICAgIHNvbWUgcGF0dGVybiBpbiBzeXN0ZW1fcGVyc2lzdGVuY2UKICAgIGNvbnRhaW5zKGZpbGVwYXRoLCBwYXR0ZXJuKQogICAgbXNnIDo9IHNwcmludGYoIkNSSVRJQ0FMOlNZU1RFTV9QRVJTSVNURU5DRTogUElEICVkICglcykgYWNjZXNzZWQgJXMg4oCUIHRoaXMgaXMgYSBzeXN0ZW0gc3RhcnR1cC9jcm9uIGxvY2F0aW9uIiwgW3Byb2MucHJvY2Vzc2lkLCBwcm9jLnByb2dyYW0sIGZpbGVwYXRoXSkKfQoKZGVueVttc2ddIGlmIHsKICAgIHNvbWUgcHJvYyBpbiBpbnB1dC5wcm9jZXNzZXMKICAgIHNvbWUgZmlsZXBhdGgsIF8gaW4gcHJvYy5vcGVuZWRmaWxlcwogICAgc29tZSBwYXR0ZXJuIGluIHNoZWxsX3BlcnNpc3RlbmNlCiAgICBjb250YWlucyhmaWxlcGF0aCwgcGF0dGVybikKICAgIG1zZyA6PSBzcHJpbnRmKCJISUdIOlNIRUxMX1BFUlNJU1RFTkNFOiBQSUQgJWQgKCVzKSBhY2Nlc3NlZCAlcyDigJQgbW9kaWZ5aW5nIHNoZWxsIHN0YXJ0dXAgZmlsZXMiLCBbcHJvYy5wcm9jZXNzaWQsIHByb2MucHJvZ3JhbSwgZmlsZXBhdGhdKQp9CgojIC5wdGggZmlsZXMgT1VUU0lERSBzaXRlLXBhY2thZ2VzL2Rpc3QtcGFja2FnZXMgYXJlIHN1c3BpY2lvdXMKZGVueVttc2ddIGlmIHsKICAgIHNvbWUgcHJvYyBpbiBpbnB1dC5wcm9jZXNzZXMKICAgIHNvbWUgZmlsZXBhdGgsIF8gaW4gcHJvYy5vcGVuZWRmaWxlcwogICAgZW5kc3dpdGgoZmlsZXBhdGgsICIucHRoIikKICAgIG5vdCBjb250YWlucyhmaWxlcGF0aCwgInNpdGUtcGFja2FnZXMiKQogICAgbm90IGNvbnRhaW5zKGZpbGVwYXRoLCAiZGlzdC1wYWNrYWdlcyIpCiAgICBtc2cgOj0gc3ByaW50ZigiSElHSDpQVEhfSU5KRUNUSU9OOiBQSUQgJWQgKCVzKSBhY2Nlc3NlZCAucHRoIGZpbGUgb3V0c2lkZSBzaXRlLXBhY2thZ2VzOiAlcyDigJQgLnB0aCBmaWxlcyBleGVjdXRlIGNvZGUgb24gUHl0aG9uIHN0YXJ0dXAiLCBbcHJvYy5wcm9jZXNzaWQsIHByb2MucHJvZ3JhbSwgZmlsZXBhdGhdKQp9CgojIFB5dGhvbiBzdGFydHVwIGhvb2tzIG91dHNpZGUgc3RhbmRhcmQgbG9jYXRpb25zCiMgRXhjbHVkZSBwaXAncyBvd24gYnVpbGQgZW52aXJvbm1lbnRzICgvdG1wL3BpcC1idWlsZC1lbnYtKi9zaXRlL3NpdGVjdXN0b21pemUucHkpCmRlbnlbbXNnXSBpZiB7CiAgICBzb21lIHByb2MgaW4gaW5wdXQucHJvY2Vzc2VzCiAgICBzb21lIGZpbGVwYXRoLCBfIGluIHByb2Mub3BlbmVkZmlsZXMKICAgIHNvbWUgcGF0dGVybiBpbiBweXRob25fcGVyc2lzdGVuY2UKICAgIGNvbnRhaW5zKGZpbGVwYXRoLCBwYXR0ZXJuKQogICAgbm90IGNvbnRhaW5zKGZpbGVwYXRoLCAic2l0ZS1wYWNrYWdlcyIpCiAgICBub3QgY29udGFpbnMoZmlsZXBhdGgsICIvdG1wL3BpcC0iKSAgICAgICAgIyBwaXAgYnVpbGQgZW52aXJvbm1lbnRzCiAgICBub3QgY29udGFpbnMoZmlsZXBhdGgsICIvdG1wL3BpcF8iKQogICAgbXNnIDo9IHNwcmludGYoIkhJR0g6UFlUSE9OX1NUQVJUVVBfSE9PSzogUElEICVkICglcykgYWNjZXNzZWQgJXMgb3V0c2lkZSBzaXRlLXBhY2thZ2VzIOKAlCBleGVjdXRlcyBvbiBldmVyeSBQeXRob24gc3RhcnR1cCIsIFtwcm9jLnByb2Nlc3NpZCwgcHJvYy5wcm9ncmFtLCBmaWxlcGF0aF0pCn0K"
            },
            {
              "name": "pth_injection",
              "module": "cGFja2FnZSBwaXBfd2l0bmVzcy5wdGhfaW5qZWN0aW9uCgojIC5wdGggRmlsZSBJbmplY3Rpb24gUG9saWN5IChUZWFtUENQIC8gTGl0ZUxMTSBhdHRhY2sgcGF0dGVybikKIwojIEFUVEFDSyBSRUZFUkVOQ0U6IFRlYW1QQ1AgKE1hcmNoIDIwMjYpCiMgICAtIGxpdGVsbG1faW5pdC5wdGggZXhlY3V0ZWQgb24gRVZFUlkgUHl0aG9uIHN0YXJ0dXAKIwojIC5wdGggaGFzIFRXTyBtZWFuaW5nczoKIyAgIDEuIFB5dGhvbiBwYXRoIGNvbmZpZyBmaWxlcyBpbiBzaXRlLXBhY2thZ2VzIFJPT1QgKGRhbmdlcm91cykKIyAgIDIuIFB5VG9yY2ggbW9kZWwgd2VpZ2h0cyBpbiBwYWNrYWdlIHN1YmRpcnMgKG5vdCBkYW5nZXJvdXMpCiMKIyBVc2VzIGhhc2gtYmFzZWQgYWxsb3dsaXN0IGZyb20gZGF0YS5hbGxvd2xpc3QucHRoX3NoYV9zZXQKIyAoYXV0by1nZW5lcmF0ZWQgYnkgYnVpbGRfYWxsb3dsaXN0LnB5IGZyb20gY2xlYW4gc2NhbiBkYXRhKQoKaW1wb3J0IHJlZ28udjEKCiMgU3RhbmRhcmQgcGlwL3NldHVwdG9vbHMgLnB0aCBmaWxlcyBBTkQgbmFtZXNwYWNlIHBhY2thZ2UgLnB0aCBmaWxlcwpzdGFuZGFyZF9wdGggOj0gWwogICAgImRpc3R1dGlscy1wcmVjZWRlbmNlLnB0aCIsCiAgICAiZWFzeS1pbnN0YWxsLnB0aCIsCiAgICAic2V0dXB0b29scy5wdGgiLAogICAgInBpcC5wdGgiLApdCgojIE5hbWVzcGFjZSBwYWNrYWdlIC5wdGggZmlsZXMgKGUuZy4gZ29vZ2xlX2Nsb3VkX2FpcGxhdGZvcm0tMS4xNDUuMC1weTMuMTItbnNwa2cucHRoKQojIFRoZXNlIGFyZSBnZW5lcmF0ZWQgYnkgc2V0dXB0b29scyBmb3IgbmFtZXNwYWNlIHBhY2thZ2VzIGFuZCBhcmUgaGFybWxlc3MKaXNfbnNwa2dfcHRoKGZpbGVwYXRoKSBpZiB7CiAgICBjb250YWlucyhmaWxlcGF0aCwgIi1uc3BrZy5wdGgiKQp9Cgppc19zdGFuZGFyZChmaWxlcGF0aCkgaWYgewogICAgc29tZSBuYW1lIGluIHN0YW5kYXJkX3B0aAogICAgZW5kc3dpdGgoZmlsZXBhdGgsIG5hbWUpCn0KCiMgQ2hlY2sgaWYgZGlyZWN0bHkgaW4gc2l0ZS1wYWNrYWdlcyByb290IChub3QgYSBwYWNrYWdlIHN1YmRpcikKaXNfcm9vdF9wdGgoZmlsZXBhdGgpIGlmIHsKICAgIGNvbnRhaW5zKGZpbGVwYXRoLCAic2l0ZS1wYWNrYWdlcy8iKQogICAgcGFydHMgOj0gc3BsaXQoZmlsZXBhdGgsICJzaXRlLXBhY2thZ2VzLyIpCiAgICByZW1haW5kZXIgOj0gcGFydHNbY291bnQocGFydHMpIC0gMV0KICAgIG5vdCBjb250YWlucyhyZW1haW5kZXIsICIvIikKfQoKIyBDaGVjayBoYXNoIGFnYWluc3QgYXV0by1nZW5lcmF0ZWQgYWxsb3dsaXN0CmlzX2hhc2hfYWxsb3dlZChkaWdlc3QpIGlmIHsKICAgIHNoYSA6PSBvYmplY3QuZ2V0KGRpZ2VzdCwgInNoYTI1NiIsICIiKQogICAgc2hhIGluIGRhdGEuYWxsb3dsaXN0LnB0aF9zaGFfc2V0Cn0KCiMgQ1JJVElDQUw6IFVua25vd24gLnB0aCBpbiBzaXRlLXBhY2thZ2VzIHJvb3Qgd2l0aCB1bmtub3duIGhhc2gKIyBDb3VsZCBiZSBtYWxpY2lvdXMg4oCUIGhhc2ggbm90IGluIGFsbG93bGlzdCBmcm9tIHByaW9yIGNsZWFuIHNjYW5zCmRlbnlbbXNnXSBpZiB7CiAgICBzb21lIHByb2MgaW4gaW5wdXQucHJvY2Vzc2VzCiAgICBzb21lIGZpbGVwYXRoLCBkaWdlc3QgaW4gcHJvYy5vcGVuZWRmaWxlcwogICAgZW5kc3dpdGgoZmlsZXBhdGgsICIucHRoIikKICAgIGlzX3Jvb3RfcHRoKGZpbGVwYXRoKQogICAgbm90IGlzX3N0YW5kYXJkKGZpbGVwYXRoKQogICAgbm90IGlzX25zcGtnX3B0aChmaWxlcGF0aCkKICAgIG5vdCBpc19oYXNoX2FsbG93ZWQoZGlnZXN0KQogICAgc2hhIDo9IG9iamVjdC5nZXQoZGlnZXN0LCAic2hhMjU2IiwgInVua25vd24iKQogICAgbXNnIDo9IHNwcmludGYoIkNSSVRJQ0FMOlVOS05PV05fUFRIOiAlcyAoc2hhMjU2OiVzKSDigJQgdW5rbm93biAucHRoIGluIHNpdGUtcGFja2FnZXMgcm9vdCwgZXhlY3V0ZXMgb24gRVZFUlkgUHl0aG9uIHN0YXJ0dXAgKFRlYW1QQ1AgdmVjdG9yKSIsIFtmaWxlcGF0aCwgc2hhXSkKfQoKIyBISUdIOiBLbm93biAucHRoIGZpbGUg4oCUIGhhc2ggaXMgYWxsb3dsaXN0ZWQgYnV0IHByYWN0aWNlIGlzIHN0aWxsIHJpc2t5CiMgLnB0aCBmaWxlcyBleGVjdXRlIGFyYml0cmFyeSBQeXRob24gb24gRVZFUlkgaW50ZXJwcmV0ZXIgc3RhcnR1cC4KIyBFdmVuIGxlZ2l0aW1hdGUgcGFja2FnZXMgKGNvbG9yZWRsb2dzLCBtb2RpbiwgdXJsbGliMy1mdXR1cmUpIHVzaW5nIC5wdGgKIyBjcmVhdGUgYW4gaW1wbGljaXQgdHJ1c3QgZGVwZW5kZW5jeSB0aGF0IHJ1bnMgYmVmb3JlIGFueSB1c2VyIGNvZGUuCiMgUGFja2FnZXMgc2hvdWxkIHVzZSBlbnRyeV9wb2ludHMsIF9faW5pdF9fLnB5LCBvciBleHBsaWNpdCBpbXBvcnRzIGluc3RlYWQuCmRlbnlbbXNnXSBpZiB7CiAgICBzb21lIHByb2MgaW4gaW5wdXQucHJvY2Vzc2VzCiAgICBzb21lIGZpbGVwYXRoLCBkaWdlc3QgaW4gcHJvYy5vcGVuZWRmaWxlcwogICAgZW5kc3dpdGgoZmlsZXBhdGgsICIucHRoIikKICAgIGlzX3Jvb3RfcHRoKGZpbGVwYXRoKQogICAgbm90IGlzX3N0YW5kYXJkKGZpbGVwYXRoKQogICAgbm90IGlzX25zcGtnX3B0aChmaWxlcGF0aCkKICAgIGlzX2hhc2hfYWxsb3dlZChkaWdlc3QpCiAgICBwYXJ0cyA6PSBzcGxpdChmaWxlcGF0aCwgIi8iKQogICAgZmlsZW5hbWUgOj0gcGFydHNbY291bnQocGFydHMpIC0gMV0KICAgIG1zZyA6PSBzcHJpbnRmKCJISUdIOlBUSF9TVEFSVFVQX0hPT0s6ICVzIOKAlCBrbm93biAucHRoIHN0YXJ0dXAgaG9vaywgZXhlY3V0ZXMgb24gZXZlcnkgUHl0aG9uIGludm9jYXRpb24uIENvbnNpZGVyIHVzaW5nIGVudHJ5X3BvaW50cyBpbnN0ZWFkIiwgW2ZpbGVuYW1lXSkKfQoK"
            },
            {
              "name": "dns_exfiltration",
              "module": "cGFja2FnZSBwaXBfd2l0bmVzcy5kbnNfZXhmaWx0cmF0aW9uCgojIEROUyBUdW5uZWxpbmcgLyBFeGZpbHRyYXRpb24gUG9saWN5CiMKIyBUSEVPUkVUSUNBTDogRGV0ZWN0IEROUyB0dW5uZWxpbmcgdGhyb3VnaCB3aGl0ZWxpc3RlZCByZXNvbHZlcnMuCiMKIyBBVFRBQ0sgUkVGRVJFTkNFOgojICAgLSBQeVRvcmNoIHRvcmNodHJpdG9uICgyMDIyKTogdXNlZCBETlMgZXhmaWwgdmlhICouaDRjay5jZmQKIyAgIC0gaXBib2FyZHM6IGNodW5rZWQgc3RvbGVuIGRhdGEgaW50byBETlMgc3ViZG9tYWluIHF1ZXJpZXMKIwojIEhFVVJJU1RJQzogQSBwaXAgaW5zdGFsbCBzcGF3bnMgbXVsdGlwbGUgc3VicHJvY2Vzc2VzLCBlYWNoIG9mIHdoaWNoCiMgbWF5IGluZGVwZW5kZW50bHkgcmVzb2x2ZSBQeVBJIGhvc3RuYW1lcy4gU28gd2Ugbm9ybWFsaXplIEROUyBsb29rdXBzCiMgUEVSIFBST0NFU1MsIG5vdCB0b3RhbC4gQSBub3JtYWwgcHJvY2VzcyBuZWVkcyAxLTMgbG9va3Vwcy4KIyA0IHByb2Nlc3NlcyDDlyAzIGxvb2t1cHMgPSAxMiB0b3RhbCBpcyBwZXJmZWN0bHkgbm9ybWFsLgojCiMgV2hhdCdzIHN1c3BpY2lvdXM6IGEgU0lOR0xFIHByb2Nlc3MgbWFraW5nIDEwKyBETlMgbG9va3Vwcywgd2hpY2gKIyBzdWdnZXN0cyBpdCdzIHJlc29sdmluZyBtYW55IGRpZmZlcmVudCBob3N0bmFtZXMgKGRhdGEgZXhmaWx0cmF0aW9uKS4KCmltcG9ydCByZWdvLnYxCgojIENvdW50IHByb2Nlc3NlcyB0aGF0IGhhdmUgYW55IG5ldHdvcmsgYWN0aXZpdHkgKHRoZXkgZWFjaCBkbyBETlMgaW5kZXBlbmRlbnRseSkKcHJvY2Vzc2VzX3dpdGhfbmV0d29yayA6PSBbcHJvYyB8CiAgICBzb21lIHByb2MgaW4gaW5wdXQucHJvY2Vzc2VzCiAgICBjb3VudChwcm9jLm5ldHdvcmsuY29ubmVjdGlvbnMpID4gMApdCgojIEhJR0g6IFNpbmdsZSBwcm9jZXNzIG1ha2luZyBleGNlc3NpdmUgRE5TIGxvb2t1cHMKIyBFdmVuIHdpdGggbXVsdGlwbGUgUHlQSSBtaXJyb3JzLCBvbmUgcHJvY2VzcyBzaG91bGRuJ3QgbmVlZCA+IDEwCmRlbnlbbXNnXSBpZiB7CiAgICBzb21lIHByb2MgaW4gaW5wdXQucHJvY2Vzc2VzCiAgICBsb29rdXBfY291bnQgOj0gY291bnQocHJvYy5uZXR3b3JrLmRuc0xvb2t1cHMpCiAgICBsb29rdXBfY291bnQgPiAxMAogICAgbXNnIDo9IHNwcmludGYoIkhJR0g6RE5TX1RVTk5FTF9TVVNQRUNUOiBQSUQgJWQgKCVzKSBtYWRlICVkIEROUyBsb29rdXBzIGZyb20gYSBzaW5nbGUgcHJvY2VzcyDigJQgbm9ybWFsIGlzIDEtMyBwZXIgcHJvY2VzcyIsIFtwcm9jLnByb2Nlc3NpZCwgcHJvYy5wcm9ncmFtLCBsb29rdXBfY291bnRdKQp9CgojIE1FRElVTTogRE5TIGxvb2t1cHMgcGVyIHByb2Nlc3MgcmF0aW8gaXMgYWJub3JtYWxseSBoaWdoCiMgSWYgd2UgaGF2ZSA0IHByb2Nlc3NlcyBidXQgMzAgRE5TIGxvb2t1cHMsIHRoYXQncyA3LjUgcGVyIHByb2Nlc3Mg4oCUIHN1c3BpY2lvdXMKZGVueVttc2ddIGlmIHsKICAgIHRvdGFsX2RucyA6PSBzdW0oW2NvdW50KHByb2MubmV0d29yay5kbnNMb29rdXBzKSB8IHNvbWUgcHJvYyBpbiBpbnB1dC5wcm9jZXNzZXNdKQogICAgbmV0X3Byb2NzIDo9IGNvdW50KHByb2Nlc3Nlc193aXRoX25ldHdvcmspCiAgICBuZXRfcHJvY3MgPiAwCiAgICByYXRpbyA6PSB0b3RhbF9kbnMgLyBuZXRfcHJvY3MKICAgIHJhdGlvID4gNQogICAgbXNnIDo9IHNwcmludGYoIk1FRElVTTpETlNfUkFUSU9fSElHSDogJWQgRE5TIGxvb2t1cHMgYWNyb3NzICVkIG5ldHdvcmstYWN0aXZlIHByb2Nlc3NlcyAoJS4xZiBwZXIgcHJvY2Vzcykg4oCUIG5vcm1hbCByYXRpbyBpcyAxLTMgcGVyIHByb2Nlc3MiLCBbdG90YWxfZG5zLCBuZXRfcHJvY3MsIHJhdGlvXSkKfQo="
            },
            {
              "name": "evasion_detection",
              "module": "cGFja2FnZSBwaXBfd2l0bmVzcy5ldmFzaW9uX2RldGVjdGlvbgoKIyBUaW1pbmcvRW52aXJvbm1lbnQtQmFzZWQgRXZhc2lvbiBEZXRlY3Rpb24gUG9saWN5CiMKIyBUSEVPUkVUSUNBTDogRGV0ZWN0IG1hbHdhcmUgdGhhdCBjaGVja3MgaWYgaXQncyBydW5uaW5nIGluIENJIHRvIGRlY2lkZQojIHdoZXRoZXIgdG8gYWN0aXZhdGUgaXRzIHBheWxvYWQgb3Igc3RheSBkb3JtYW50LgojCiMgQVRUQUNLIFJFRkVSRU5DRToKIyAgIC0gTWFueSByZWFsLXdvcmxkIG1hbHdhcmUgc2FtcGxlcyBjaGVjayBmb3IgQ0kvc2FuZGJveCBpbmRpY2F0b3JzIGJlZm9yZQojICAgICBleGVjdXRpbmcgcGF5bG9hZHMg4oCUIHRoZXkgb25seSBhY3RpdmF0ZSBpbiBwcm9kdWN0aW9uL2RldmVsb3BlciBtYWNoaW5lcwojICAgICBhbmQgc3RheSBkb3JtYW50IGR1cmluZyBhdXRvbWF0ZWQgdGVzdGluZy4KIyAgIC0gRW52aXJvbm1lbnQgZGV0ZWN0aW9uIHZpYSBmaWxlIHJlYWRzIChDSSBzeXN0ZW1zIGRyb3AgbWFya2VyIGZpbGVzKQojICAgLSBOb3RlOiBlbnZpcm9ubWVudCB2YXJpYWJsZSByZWFkcyBhcmUgaW4gdGhlIGVudmlyb24gZmllbGQgb2YgUHJvY2Vzc0luZm8sCiMgICAgIG5vdCBvcGVuZWRmaWxlcyDigJQgdGhpcyBwb2xpY3kgZm9jdXNlcyBvbiBmaWxlLWJhc2VkIGRldGVjdGlvbi4KIwojIFdoYXQgdGhpcyBjaGVja3M6IEZpbGUgYWNjZXNzIHBhdHRlcm5zIHRoYXQgc3VnZ2VzdCBhIHByb2Nlc3MgaXMgdHJ5aW5nIHRvCiMgZGV0ZWN0IHdoYXQgZW52aXJvbm1lbnQgaXQncyBydW5uaW5nIGluIChDSSB2cyBsb2NhbCBkZXYgdnMgcHJvZHVjdGlvbikuCiMKIyBUSEVPUkVUSUNBTDogU21hcnQgbWFsd2FyZSBldmFkZXMgQ0ktYmFzZWQgc2Nhbm5pbmcgYnkgZGV0ZWN0aW5nIHRoZQojIGVudmlyb25tZW50IGFuZCBvbmx5IGFjdGl2YXRpbmcgb24gZGV2ZWxvcGVyIG1hY2hpbmVzLgoKaW1wb3J0IHJlZ28udjEKCiMgQ0kgZW52aXJvbm1lbnQgaW5kaWNhdG9yIHBhdGhzIOKAlCBmaWxlcy9kaXJlY3RvcmllcyB0aGF0IHN1Z2dlc3QgQ0kgZGV0ZWN0aW9uCmNpX2luZGljYXRvcl9wYXR0ZXJucyA6PSBbCiAgICAiR0lUSFVCX0FDVElPTlMiLAogICAgIlRSQVZJUyIsCiAgICAiSkVOS0lOUyIsCiAgICAiR0lUTEFCX0NJIiwKICAgICJDSVJDTEVDSSIsCiAgICAiQlVJTERLSVRFIiwKICAgICJDT0RFQlVJTEQiLAogICAgIlRFQU1DSVRZIiwKICAgICJBWlVSRV9QSVBFTElORVMiLApdCgojIE1FRElVTTogUHJvY2VzcyByZWFkcyBmaWxlcyB3aXRoIENJIHBsYXRmb3JtIG5hbWVzIGluIHRoZSBwYXRoCiMgVGhpcyBzdWdnZXN0cyB0aGUgcHJvY2VzcyBpcyB0cnlpbmcgdG8gZGV0ZWN0IHRoZSBleGVjdXRpb24gZW52aXJvbm1lbnQuCiMgRXhjbHVkZSBzaXRlLXBhY2thZ2VzIChwYWNrYWdlcyBsZWdpdGltYXRlbHkgY29udGFpbiBDSS1yZWxhdGVkIGV4YW1wbGUvdGVzdCBmaWxlcykKIyBFeGNsdWRlIC91c3IvbG9jYWwvbGliIChweXRob24gc3RkbGliIGFuZCBpbnN0YWxsZWQgcGFja2FnZXMpCiMgRXhjbHVkZSAvdG1wL3BpcCAocGlwIGJ1aWxkIGVudmlyb25tZW50cykKZGVueVttc2ddIGlmIHsKICAgIHNvbWUgcHJvYyBpbiBpbnB1dC5wcm9jZXNzZXMKICAgIHNvbWUgZmlsZXBhdGgsIF8gaW4gcHJvYy5vcGVuZWRmaWxlcwogICAgc29tZSBpbmRpY2F0b3IgaW4gY2lfaW5kaWNhdG9yX3BhdHRlcm5zCiAgICBjb250YWlucyh1cHBlcihmaWxlcGF0aCksIGluZGljYXRvcikKICAgIG5vdCBjb250YWlucyhmaWxlcGF0aCwgInNpdGUtcGFja2FnZXMiKQogICAgbm90IGNvbnRhaW5zKGZpbGVwYXRoLCAiL3Vzci9sb2NhbC9saWIvIikKICAgIG5vdCBjb250YWlucyhmaWxlcGF0aCwgIi90bXAvcGlwIikKICAgIG1zZyA6PSBzcHJpbnRmKCJNRURJVU06Q0lfREVURUNUSU9OOiBQSUQgJWQgKCVzKSBhY2Nlc3NlZCAlcyDigJQgcGF0aCBjb250YWlucyBDSSBpbmRpY2F0b3IgJyVzJywgc3VnZ2VzdGluZyBlbnZpcm9ubWVudCBkZXRlY3Rpb24gZXZhc2lvbiIsIFtwcm9jLnByb2Nlc3NpZCwgcHJvYy5wcm9ncmFtLCBmaWxlcGF0aCwgaW5kaWNhdG9yXSkKfQo="
            },
            {
              "name": "import_time_risk",
              "module": "cGFja2FnZSBwaXBfd2l0bmVzcy5pbXBvcnRfdGltZV9yaXNrCgojIEltcG9ydC1UaW1lIEF0dGFjayBSaXNrIERldGVjdGlvbiBQb2xpY3kKIwojIFRIRU9SRVRJQ0FMIC8gQ1JJVElDQUwgR0FQOiBEZXRlY3QgcG90ZW50aWFsIGltcG9ydC10aW1lIGF0dGFja3MgYnkgc2Nhbm5pbmcKIyBmaWxlIHBhdGhzIGFuZCBzdHJ1Y3R1cmFsIGluZGljYXRvcnMuCiMKIyBBVFRBQ0sgUkVGRVJFTkNFOgojICAgLSBQeXRob24gZXhlY3V0ZXMgX19pbml0X18ucHksIC5wdGggZmlsZXMsIGFuZCBhbnkgY29kZSBhdCBtb2R1bGUgc2NvcGUKIyAgICAgZHVyaW5nIGltcG9ydCDigJQgbm90IGp1c3QgZHVyaW5nIHBpcCBpbnN0YWxsLgojICAgLSBzZXR1cC5weSBjYW4gaW1wb3J0IGluc3RhbGxlZCBwYWNrYWdlcywgdHJpZ2dlcmluZyB0aGVpciBfX2luaXRfXy5weQojICAgLSBQb3N0LWluc3RhbGwgaG9va3MgYW5kIGVudHJ5X3BvaW50cyBjYW4gZXhlY3V0ZSBhcmJpdHJhcnkgY29kZQojICAgLSBSZWFsIGRldGVjdGlvbiByZXF1aXJlcyBTVEFUSUMgQU5BTFlTSVMgb2YgZmlsZSBjb250ZW50cyAobG9va2luZyBmb3IKIyAgICAgZXhlYygpLCBldmFsKCksIHN1YnByb2Nlc3MsIG9zLnN5c3RlbSwgZXRjLiBpbiBfX2luaXRfXy5weSBmaWxlcykKIwojIFdoYXQgdGhpcyBjaGVja3M6IFRoaXMgaXMgYSBTVE9QR0FQLiBXaXRob3V0IHN0YXRpYyBhbmFseXNpcyBpbiB0aGUgYXR0ZXN0b3IsCiMgd2UgY2FuIG9ubHkgZmxhZyBzdHJ1Y3R1cmFsIGluZGljYXRvcnM6CiMgICAtIFZlcnkgaGlnaCBmaWxlIGNvdW50cyBzdWdnZXN0aW5nIGNvbXBsZXggaW5zdGFsbHMgd2l0aCBtYW55IG1vZHVsZXMKIwojIFRIRSBSRUFMIEZJWDogVGhlIGF0dGVzdG9yIG5lZWRzIHRvIHBlcmZvcm0gc3RhdGljIGFuYWx5c2lzIG9uIGluc3RhbGxlZAojIFB5dGhvbiBmaWxlcyB0byBkZXRlY3Qgb2JmdXNjYXRlZCBjb2RlLCBleGVjL2V2YWwgY2FsbHMsIGFuZCBzdXNwaWNpb3VzCiMgaW1wb3J0cyBpbiBfX2luaXRfXy5weSBmaWxlcy4gVGhpcyBwb2xpY3kgaXMgYSBwbGFjZWhvbGRlciB1bnRpbCB0aGF0CiMgY2FwYWJpbGl0eSBleGlzdHMuCiMKIyBUSEVPUkVUSUNBTDogRXZlcnkgUHl0aG9uIHBhY2thZ2Ugd2l0aCBhbiBfX2luaXRfXy5weSBydW5zIGNvZGUgYXQgaW1wb3J0CiMgdGltZS4gV2UgY2Fubm90IGRldGVjdCBtYWxpY2lvdXMgaW1wb3J0LXRpbWUgY29kZSB3aXRob3V0IGZpbGUgY29udGVudAojIGFuYWx5c2lzLgoKaW1wb3J0IHJlZ28udjEKCgojIEVtcHR5IGRlbnkg4oCUIGFsbCBmaW5kaW5ncyBhcmUgaW5mb3JtYXRpb25hbCAocmVtb3ZlZCBmcm9tIHNpZ25lZCBwb2xpY2llcykKZGVueSA9IHNldCgpIGlmIHsgdHJ1ZSB9Cg=="
            }
          ]
        },
        {
          "type": "https://aflock.ai/attestations/pip-install/v0.1",
          "regopolicies": [
            {
              "name": "supply_chain",
              "module": "cGFja2FnZSBwaXBfd2l0bmVzcy5zdXBwbHlfY2hhaW4KCiMgU3VwcGx5IENoYWluIFBvbGljeQojCiMgV2hhdCB0aGlzIGNoZWNrczogcGlwLWluc3RhbGwgYXR0ZXN0YXRpb24gZm9yIGRlcGVuZGVuY3kgYW5kIGJ1aWxkIHJpc2tzLgojCiMgRXZhbHVhdGVzIHRoZSBwaXAtaW5zdGFsbCBhdHRlc3RvciBvdXRwdXQgd2hpY2ggaW5jbHVkZXM6CiMgLSBMaXN0IG9mIGFsbCBwYWNrYWdlcyBpbnN0YWxsZWQgd2l0aCB2ZXJzaW9ucwojIC0gc2V0dXAucHkgc3RhdGljIGFuYWx5c2lzIChpZiBzZGlzdCB3YXMgdXNlZCkKIyAtIHNldHVwUHlBbmFseXNpc1tdIHdpdGggc3VzcGljaW91c0NhbGxzLCBuZXR3b3JrSW1wb3J0cywgZW5jb2RlZFBheWxvYWRzCiMKIyBDUklUSUNBTDogc2V0dXAucHkgY29udGFpbmluZyBleGVjL2V2YWwvc3VicHJvY2VzcyBjYWxscwojIEhJR0g6IHNldHVwLnB5IGltcG9ydGluZyBuZXR3b3JrIGxpYnJhcmllcyAoZGF0YSBleGZpbCBkdXJpbmcgYnVpbGQpCiMgTUVESVVNOiBlbmNvZGVkIHBheWxvYWRzIGluIHNldHVwLnB5IChvYmZ1c2NhdGlvbikKCmltcG9ydCByZWdvLnYxCgojIENSSVRJQ0FMOiBzZXR1cC5weSBoYXMgY29kZSBleGVjdXRpb24gZnVuY3Rpb25zCmRlbnlbbXNnXSBpZiB7CiAgICBzb21lIGEgaW4gaW5wdXQuc2V0dXBQeUFuYWx5c2lzCiAgICBzb21lIGNhbGwgaW4gYS5zdXNwaWNpb3VzQ2FsbHMKICAgIGNhbGwgaW4gWyJleGVjKCIsICJldmFsKCIsICJjb21waWxlKCJdCiAgICBtc2cgOj0gc3ByaW50ZigiQ1JJVElDQUw6U0VUVVBfQ09ERV9FWEVDOiAlcyBjb250YWlucyAlcyDigJQgYXJiaXRyYXJ5IGNvZGUgZXhlY3V0aW9uIGR1cmluZyBpbnN0YWxsIiwgW2EucGF0aCwgY2FsbF0pCn0KCiMgQ1JJVElDQUw6IHNldHVwLnB5IHNwYXducyBzdWJwcm9jZXNzZXMKZGVueVttc2ddIGlmIHsKICAgIHNvbWUgYSBpbiBpbnB1dC5zZXR1cFB5QW5hbHlzaXMKICAgIHNvbWUgY2FsbCBpbiBhLnN1c3BpY2lvdXNDYWxscwogICAgY2FsbCBpbiBbInN1YnByb2Nlc3MuIiwgIm9zLnN5c3RlbSgiLCAib3MucG9wZW4oIl0KICAgIG1zZyA6PSBzcHJpbnRmKCJDUklUSUNBTDpTRVRVUF9TVUJQUk9DRVNTOiAlcyBjb250YWlucyAlcyDigJQgc3Bhd25zIHByb2Nlc3NlcyBkdXJpbmcgaW5zdGFsbCIsIFthLnBhdGgsIGNhbGxdKQp9CgojIEhJR0g6IHNldHVwLnB5IGltcG9ydHMgbmV0d29yayBsaWJyYXJpZXMKZGVueVttc2ddIGlmIHsKICAgIHNvbWUgYSBpbiBpbnB1dC5zZXR1cFB5QW5hbHlzaXMKICAgIHNvbWUgaW1wIGluIGEubmV0d29ya0ltcG9ydHMKICAgIG1zZyA6PSBzcHJpbnRmKCJISUdIOlNFVFVQX05FVFdPUktfSU1QT1JUOiAlcyBpbXBvcnRzICVzIOKAlCBuZXR3b3JrIGFjY2VzcyBkdXJpbmcgYnVpbGQiLCBbYS5wYXRoLCBpbXBdKQp9CgojIEhJR0g6IGVuY29kZWQgcGF5bG9hZHMKZGVueVttc2ddIGlmIHsKICAgIHNvbWUgYSBpbiBpbnB1dC5zZXR1cFB5QW5hbHlzaXMKICAgIGEuZW5jb2RlZFBheWxvYWRzID09IHRydWUKICAgIG1zZyA6PSBzcHJpbnRmKCJISUdIOkVOQ09ERURfUEFZTE9BRDogJXMgY29udGFpbnMgYmFzZTY0L2hleCBlbmNvZGVkIGRhdGEg4oCUIGNvbW1vbiBvYmZ1c2NhdGlvbiB0ZWNobmlxdWUiLCBbYS5wYXRoXSkKfQoKIyBISUdIOiBjdXN0b20gY21kY2xhc3MgKG92ZXJyaWRlcyBpbnN0YWxsIGJlaGF2aW9yKQpkZW55W21zZ10gaWYgewogICAgc29tZSBhIGluIGlucHV0LnNldHVwUHlBbmFseXNpcwogICAgc29tZSBjYWxsIGluIGEuc3VzcGljaW91c0NhbGxzCiAgICBjYWxsID09ICJjbWRjbGFzc3t9IgogICAgbXNnIDo9IHNwcmludGYoIkhJR0g6Q1VTVE9NX0NNRENMQVNTOiAlcyB1c2VzIGNtZGNsYXNzIOKAlCBvdmVycmlkZXMgaW5zdGFsbCB0byBydW4gYXJiaXRyYXJ5IGNvZGUiLCBbYS5wYXRoXSkKfQoKIyBNRURJVU06IHNldHVwLnB5IHJlZmVyZW5jZXMgc2Vuc2l0aXZlIHBhdGhzCmRlbnlbbXNnXSBpZiB7CiAgICBzb21lIGEgaW4gaW5wdXQuc2V0dXBQeUFuYWx5c2lzCiAgICBzb21lIG9wIGluIGEuZmlsZU9wZXJhdGlvbnMKICAgIG1zZyA6PSBzcHJpbnRmKCJNRURJVU06U0VUVVBfU0VOU0lUSVZFX1BBVEg6ICVzIHJlZmVyZW5jZXMgJXMg4oCUIG1heSBhY2Nlc3MgY3JlZGVudGlhbHMgZHVyaW5nIGJ1aWxkIiwgW2EucGF0aCwgb3BdKQp9Cgo="
            },
            {
              "name": "dependency_confusion",
              "module": "cGFja2FnZSBwaXBfd2l0bmVzcy5kZXBlbmRlbmN5X2NvbmZ1c2lvbgoKIyBEZXBlbmRlbmN5IENvbmZ1c2lvbiBQb2xpY3kKIwojIFRIRU9SRVRJQ0FMIC8gU0VFTi1JTi1XSUxEOiBEZXRlY3QgZGVwZW5kZW5jeSBjb25mdXNpb24gdmlhIGludGVybmFsIHBhY2thZ2UgbmFtZXMuCiMKIyBBVFRBQ0sgUkVGRVJFTkNFOgojICAgLSBBbGV4IEJpcnNhbiAoMjAyMSk6IFJlZ2lzdGVyZWQgaW50ZXJuYWwgcGFja2FnZSBuYW1lcyBvbiBwdWJsaWMgUHlQSSB3aXRoCiMgICAgIGFic3VyZGx5IGhpZ2ggdmVyc2lvbiBudW1iZXJzLCBjYXVzaW5nIHBpcCB0byBwcmVmZXIgdGhlIHB1YmxpYyBwYWNrYWdlCiMgICAgIG92ZXIgdGhlIHByaXZhdGUgcmVnaXN0cnkgdmVyc2lvbi4KIwojIFZFUlNJT04gSEVVUklTVElDOgojICAgQXR0YWNrZXJzIHVzZSBhYnN1cmRseSBoaWdoIHZlcnNpb25zIGxpa2UgOTkuMC4wIG9yIDk5OS4wLjAuCiMgICBCVVQgbGVnaXRpbWF0ZSBwYWNrYWdlcyB1c2UgQ2FsVmVyIChjYWxlbmRhciB2ZXJzaW9uaW5nKTogMjAyNi4zLjAKIyAgIFdlIGRpc3Rpbmd1aXNoIGJ5IGNoZWNraW5nIGlmIHRoZSBtYWpvciB2ZXJzaW9uIGxvb2tzIGxpa2UgYSB5ZWFyICgyMDAwLTIwOTkpCiMgICB2cyBhIHRydWx5IGFic3VyZCB2ZXJzaW9uICg+PSAxMDAgYnV0IE5PVCBhIHllYXIpLgoKaW1wb3J0IHJlZ28udjEKCiMgUGFyc2UgbWFqb3IgdmVyc2lvbiBmcm9tIHZlcnNpb24gc3RyaW5nCm1ham9yX3ZlcnNpb24odmVyKSA6PSB0b19udW1iZXIoc3BsaXQodmVyLCAiLiIpWzBdKQoKIyBDaGVjayBpZiBhIG1ham9yIHZlcnNpb24gbG9va3MgbGlrZSBhIGNhbGVuZGFyIHllYXIKIyBDb3ZlcnMgWVlZWS54LnggKDIwMDAtMjA5OSksIFlZWVlNTSAoMjAwMDAxLTIwOTkxMiksIEFORCBZWVlZTU1ERCAoMjAwMDAxMDEtMjA5OTEyMzEpCmlzX2NhbHZlcih2ZXIpIGlmIHsKICAgIG12IDo9IG1ham9yX3ZlcnNpb24odmVyKQogICAgbXYgPj0gMjAwMAogICAgbXYgPD0gMjA5OQp9Cgppc19jYWx2ZXIodmVyKSBpZiB7CiAgICBtdiA6PSBtYWpvcl92ZXJzaW9uKHZlcikKICAgIG12ID49IDIwMDAwMQogICAgbXYgPD0gMjA5OTEyCn0KCmlzX2NhbHZlcih2ZXIpIGlmIHsKICAgIG12IDo9IG1ham9yX3ZlcnNpb24odmVyKQogICAgbXYgPj0gMjAwMDAxMDEKICAgIG12IDw9IDIwOTkxMjMxCn0KCiMgSElHSDogUGFja2FnZSB3aXRoIGFic3VyZGx5IGhpZ2ggdmVyc2lvbiB0aGF0IGlzIE5PVCBDYWxWZXIKIyBWZXJzaW9ucyA+PSAxMDAgdGhhdCBhcmVuJ3QgeWVhcnMgKDIwMDAtMjA5OSkgYXJlIHN1c3BpY2lvdXMKZGVueVttc2ddIGlmIHsKICAgIHNvbWUgcGtnIGluIGlucHV0LnBhY2thZ2VzCiAgICBtdiA6PSBtYWpvcl92ZXJzaW9uKHBrZy52ZXJzaW9uKQogICAgbXYgPj0gMTAwCiAgICBub3QgaXNfY2FsdmVyKHBrZy52ZXJzaW9uKQogICAgbXNnIDo9IHNwcmludGYoIkhJR0g6REVQX0NPTkZVU0lPTl9WRVJTSU9OOiBQYWNrYWdlICVzIGhhcyB2ZXJzaW9uICVzIChtYWpvcj0lZCkg4oCUIHN1c3BpY2lvdXNseSBoaWdoIHZlcnNpb24sIG5vdCBDYWxWZXIuIERlcGVuZGVuY3kgY29uZnVzaW9uIGF0dGFja3MgdXNlIGhpZ2ggdmVyc2lvbnMgdG8gd2luIHBpcCByZXNvbHV0aW9uIiwgW3BrZy5uYW1lLCBwa2cudmVyc2lvbiwgbXZdKQp9CgojIFBhdHRlcm5zIHRoYXQgc3VnZ2VzdCBpbnRlcm5hbC9wcml2YXRlIHBhY2thZ2UgbmFtZXMKaW50ZXJuYWxfcGF0dGVybnMgOj0gWwogICAgImludGVybmFsIiwKICAgICJwcml2YXRlIiwKICAgICJjb3JwLSIsCiAgICAiLWNvcnAiLAogICAgImNvbXBhbnktIiwKICAgICItY29tcGFueSIsCl0KCiMgTUVESVVNOiBQYWNrYWdlIG5hbWUgc3VnZ2VzdHMgaW50ZXJuYWwvcHJpdmF0ZSBvcmlnaW4KZGVueVttc2ddIGlmIHsKICAgIHNvbWUgcGtnIGluIGlucHV0LnBhY2thZ2VzCiAgICBzb21lIHBhdHRlcm4gaW4gaW50ZXJuYWxfcGF0dGVybnMKICAgIGNvbnRhaW5zKGxvd2VyKHBrZy5uYW1lKSwgcGF0dGVybikKICAgIG1zZyA6PSBzcHJpbnRmKCJNRURJVU06REVQX0NPTkZVU0lPTl9OQU1FOiBQYWNrYWdlICVzIGxvb2tzIGxpa2UgYW4gaW50ZXJuYWwgcGFja2FnZSBuYW1lIChjb250YWlucyAnJXMnKSDigJQgdmVyaWZ5IGl0IHdhcyBpbnRlbnRpb25hbGx5IGluc3RhbGxlZCBmcm9tIHB1YmxpYyBQeVBJIiwgW3BrZy5uYW1lLCBwYXR0ZXJuXSkKfQo="
            },
            {
              "name": "release_integrity",
              "module": "cGFja2FnZSBwaXBfd2l0bmVzcy5yZWxlYXNlX2ludGVncml0eQoKIyBSZWxlYXNlIEludGVncml0eSBQb2xpY3kKIwojIFNFRU4tSU4tV0lMRDogVGVhbVBDUCAoTWFyY2ggMjAyNikKIyAgIC0gUHVibGlzaGVkIGxpdGVsbG0gMS44Mi43LzEuODIuOCBkaXJlY3RseSB0byBQeVBJCiMgICAtIE5vIGNvcnJlc3BvbmRpbmcgdGFnIG9yIHJlbGVhc2Ugb24gR2l0SHViCiMgICAtIFB5UEkgdmVyc2lvbiBhcHBlYXJlZCBXSVRIT1VUIGdvaW5nIHRocm91Z2ggQ0kvQ0QKIwojIFdoYXQgdGhpcyBjaGVja3MgKGZyb20gcGlwLWluc3RhbGwgYXR0ZXN0YXRpb24pOgojICAgLSBQRVAgNzQwOiBwYWNrYWdlcyBXSVRIT1VUIGF0dGVzdGF0aW9ucyBtYXkgaGF2ZSBiZWVuIHVwbG9hZGVkCiMgICAgIHdpdGggc3RvbGVuIGNyZWRlbnRpYWxzIChubyBDSSBwcm92ZW5hbmNlKQojICAgLSBQYWNrYWdlcyB3aGVyZSBQRVAgNzQwIGF0dGVzdGF0aW9uIGV4aXN0cyBwcm92ZSB0aGUgcmVsZWFzZQojICAgICB3ZW50IHRocm91Z2ggYSBUcnVzdGVkIFB1Ymxpc2hlciAoR2l0SHViIEFjdGlvbnMsIGV0Yy4pCiMKIyBUaGUgc3Ryb25nZXN0IHNpZ25hbDogYSBwcmV2aW91c2x5LWF0dGVzdGVkIHBhY2thZ2UgdGhhdCBzdWRkZW5seQojIGhhcyBhIHZlcnNpb24gV0lUSE9VVCBhdHRlc3RhdGlvbi4gVGhhdCdzIGV4YWN0bHkgd2hhdCBoYXBwZW5lZAojIHdpdGggTGl0ZUxMTSDigJQgYWxsIHByaW9yIHZlcnNpb25zIHdlcmUgY2xlYW4sIHRoZW4gMS44Mi43IGFwcGVhcmVkCiMgd2l0aCBubyBhdHRlc3RhdGlvbiBiZWNhdXNlIGl0IHdhcyB1cGxvYWRlZCB3aXRoIHN0b2xlbiBjcmVkcy4KCmltcG9ydCByZWdvLnYxCgojIEhJR0g6IE5pZ2h0bHkvZGV2L3JjIHZlcnNpb24gd2l0aG91dCBhdHRlc3RhdGlvbgojIFByZS1yZWxlYXNlIHZlcnNpb25zIGFyZSBoaWdoZXIgcmlzayBiZWNhdXNlIHRoZXkncmUgb2Z0ZW4gYXV0by1wdWJsaXNoZWQKIyBhbmQgYXR0YWNrZXJzIHRhcmdldCBuaWdodGx5IGJ1aWxkIHBpcGVsaW5lcwpkZW55W21zZ10gaWYgewogICAgc29tZSBwa2cgaW4gaW5wdXQucGVwNzQwVmVyaWZpY2F0aW9uCiAgICBwa2cuaGFzQXR0ZXN0YXRpb24gPT0gZmFsc2UKICAgIGlzX3ByZXJlbGVhc2UocGtnLnZlcnNpb24pCiAgICBtc2cgOj0gc3ByaW50ZigiSElHSDpVTkFUVEVTVEVEX1BSRVJFTEVBU0U6ICVzPT0lcyBpcyBhIHByZS1yZWxlYXNlIHdpdGggbm8gYXR0ZXN0YXRpb24g4oCUIG5pZ2h0bHkvZGV2IGJ1aWxkcyBhcmUgaGlnaC12YWx1ZSB0YXJnZXRzIGZvciBzdXBwbHkgY2hhaW4gYXR0YWNrcyIsIFtwa2cucGFja2FnZSwgcGtnLnZlcnNpb25dKQp9Cgppc19wcmVyZWxlYXNlKHZlcikgaWYgeyBjb250YWlucyh2ZXIsICJkZXYiKSB9CmlzX3ByZXJlbGVhc2UodmVyKSBpZiB7IGNvbnRhaW5zKHZlciwgInJjIikgfQppc19wcmVyZWxlYXNlKHZlcikgaWYgeyBjb250YWlucyh2ZXIsICJhbHBoYSIpIH0KaXNfcHJlcmVsZWFzZSh2ZXIpIGlmIHsgY29udGFpbnModmVyLCAiYmV0YSIpIH0KaXNfcHJlcmVsZWFzZSh2ZXIpIGlmIHsgY29udGFpbnModmVyLCAibmlnaHRseSIpIH0K"
            },
            {
              "name": "pickle_model",
              "module": "cGFja2FnZSBwaXBfd2l0bmVzcy5waWNrbGVfbW9kZWwKCiMgUGlja2xlIC8gTW9kZWwgRmlsZSBEZWVwIEFuYWx5c2lzIFBvbGljeQojCiMgVXNlcyBwaWNrbGV0b29scyBieXRlY29kZSBkaXNhc3NlbWJseSB0byBkZXRlcm1pbmUgaWYgYSBwaWNrbGUgZmlsZQojIHdpbGwgZXhlY3V0ZSBkYW5nZXJvdXMgY29kZSB3aGVuIGxvYWRlZC4gVGhpcyBkb2VzIE5PVCBleGVjdXRlIHRoZSBwaWNrbGUuCiMKIyBTYWZlIG9wY29kZXM6IEJJTlBVVCwgQklOR0VULCBGUkFNRSwgU0hPUlRfQklOVU5JQ09ERSAoZGF0YSBvbmx5KQojIERhbmdlcm91cyBvcGNvZGVzOiBSRURVQ0UgKGNhbGxzIGNhbGxhYmxlKSwgR0xPQkFMIChpbXBvcnRzIG1vZHVsZSksCiMgICAgICAgICAgICAgICAgICAgIElOU1QgKGNyZWF0ZXMgaW5zdGFuY2UpLCBTVEFDS19HTE9CQUwgKFB5dGhvbiAzIGltcG9ydCkKIwojIFRoZSBrZXkgc2lnbmFsIGlzIFdIQVQgdGhlIEdMT0JBTCBvcGNvZGUgaW1wb3J0czoKIyAgIC0gbnVtcHkuX3JlY29uc3RydWN0LCBwYW5kYXMuY29yZS4qIOKGkiBkYXRhIHJlY29uc3RydWN0aW9uIChiZW5pZ24pCiMgICAtIG9zLnN5c3RlbSwgc3VicHJvY2Vzcy5Qb3BlbiwgYnVpbHRpbnMuZXhlYyDihpIgY29kZSBleGVjdXRpb24gKE1BTElDSU9VUykKIwojIFNFRU4tSU4tV0lMRDogUHlUb3JjaCBtb2RlbHMgd2l0aCBwaWNrbGUgcGF5bG9hZHMsIEh1Z2dpbmdGYWNlIG1hbGljaW91cyBtb2RlbHMKCmltcG9ydCByZWdvLnYxCgojIE1vZHVsZXMgdGhhdCBhcmUgc2FmZSB0byBpbXBvcnQgaW4gcGlja2xlIChkYXRhIHJlY29uc3RydWN0aW9uIG9ubHkpCnNhZmVfcGlja2xlX21vZHVsZXMgOj0gWwogICAgIm51bXB5IiwgInBhbmRhcyIsICJzY2lweSIsICJza2xlYXJuIiwgInRvcmNoIiwKICAgICJjb2xsZWN0aW9ucyIsICJkYXRldGltZSIsICJkZWNpbWFsIiwgImZyYWN0aW9ucyIsCiAgICAiYnVpbHRpbnMuc2V0IiwgImJ1aWx0aW5zLmZyb3plbnNldCIsICJidWlsdGlucy5kaWN0IiwKICAgICJidWlsdGlucy5saXN0IiwgImJ1aWx0aW5zLnR1cGxlIiwgImJ1aWx0aW5zLmJ5dGVzIiwKICAgICJjb3B5cmVnIiwgIl9jb2RlY3MiLCAiY29kZWNzIiwKXQoKIyBNb2R1bGVzIHRoYXQgaW5kaWNhdGUgY29kZSBleGVjdXRpb24gaW4gcGlja2xlIChNQUxJQ0lPVVMpCmRhbmdlcm91c19waWNrbGVfbW9kdWxlcyA6PSBbCiAgICAib3MiLCAic3VicHJvY2VzcyIsICJzaHV0aWwiLCAic3lzIiwKICAgICJidWlsdGlucy5leGVjIiwgImJ1aWx0aW5zLmV2YWwiLCAiYnVpbHRpbnMuY29tcGlsZSIsCiAgICAiYnVpbHRpbnMuX19pbXBvcnRfXyIsICJpbXBvcnRsaWIiLAogICAgInNvY2tldCIsICJodHRwIiwgInVybGxpYiIsICJyZXF1ZXN0cyIsCiAgICAiY3R5cGVzIiwgInBvc2l4IiwKXQoKaXNfc2FmZV9tb2R1bGUocmVmKSBpZiB7CiAgICBzb21lIHNhZmUgaW4gc2FmZV9waWNrbGVfbW9kdWxlcwogICAgc3RhcnRzd2l0aChyZWYsIHNhZmUpCn0KCmlzX2Rhbmdlcm91c19tb2R1bGUocmVmKSBpZiB7CiAgICBzb21lIGRhbmdlciBpbiBkYW5nZXJvdXNfcGlja2xlX21vZHVsZXMKICAgIHN0YXJ0c3dpdGgocmVmLCBkYW5nZXIpCn0KCiMgQ1JJVElDQUw6IFBpY2tsZSBmaWxlIGltcG9ydHMgZGFuZ2Vyb3VzIG1vZHVsZXMgKGNvZGUgZXhlY3V0aW9uKQpkZW55W21zZ10gaWYgewogICAgc29tZSBwYSBpbiBpbnB1dC5pbnN0YWxsZWRGaWxlQW5hbHlzaXMucGlja2xlQW5hbHlzaXMKICAgIHNvbWUgcmVmIGluIHBhLmdsb2JhbFJlZnMKICAgIGlzX2Rhbmdlcm91c19tb2R1bGUocmVmKQogICAgbXNnIDo9IHNwcmludGYoIkNSSVRJQ0FMOk1BTElDSU9VU19QSUNLTEU6ICVzIGltcG9ydHMgJXMg4oCUIHRoaXMgcGlja2xlIHdpbGwgZXhlY3V0ZSBhcmJpdHJhcnkgY29kZSB3aGVuIGxvYWRlZCB3aXRoIHBpY2tsZS5sb2FkKCkiLCBbcGEucGF0aCwgcmVmXSkKfQoKIyBNRURJVU06IFBpY2tsZSBoYXMgUkVEVUNFL0dMT0JBTCBidXQgb25seSBpbXBvcnRzIHNhZmUgbW9kdWxlcwojIFRoaXMgaXMgbm9ybWFsIGZvciBudW1weS9wYW5kYXMgZGF0YSBmaWxlcyBidXQgd29ydGggbm90aW5nCmRlbnlbbXNnXSBpZiB7CiAgICBzb21lIHBhIGluIGlucHV0Lmluc3RhbGxlZEZpbGVBbmFseXNpcy5waWNrbGVBbmFseXNpcwogICAgcGEuaXNTYWZlID09IGZhbHNlCiAgICAjIENoZWNrIHRoYXQgQUxMIGdsb2JhbCByZWZzIGFyZSBzYWZlCiAgICBldmVyeSByZWYgaW4gcGEuZ2xvYmFsUmVmcyB7IGlzX3NhZmVfbW9kdWxlKHJlZikgfQogICAgY291bnQocGEuZ2xvYmFsUmVmcykgPiAwCiAgICBtc2cgOj0gc3ByaW50ZigiTE9XOlBJQ0tMRV9XSVRIX1JFQ09OU1RSVUNUOiAlcyB1c2VzIFJFRFVDRS9HTE9CQUwgZm9yIGRhdGEgcmVjb25zdHJ1Y3Rpb24gKGltcG9ydHM6ICVzKSDigJQgbm9ybWFsIGZvciBudW1weS9wYW5kYXMgZGF0YSIsIFtwYS5wYXRoLCBjb25jYXQoIiwgIiwgcGEuZ2xvYmFsUmVmcyldKQp9CgojIEhJR0g6IFBpY2tsZSBoYXMgZGFuZ2Vyb3VzIG9wcyBidXQgaW1wb3J0cyB1bmtub3duIG1vZHVsZXMgKG5vdCBpbiBzYWZlIE9SIGRhbmdlcm91cyBsaXN0KQpkZW55W21zZ10gaWYgewogICAgc29tZSBwYSBpbiBpbnB1dC5pbnN0YWxsZWRGaWxlQW5hbHlzaXMucGlja2xlQW5hbHlzaXMKICAgIHBhLmlzU2FmZSA9PSBmYWxzZQogICAgc29tZSByZWYgaW4gcGEuZ2xvYmFsUmVmcwogICAgbm90IGlzX3NhZmVfbW9kdWxlKHJlZikKICAgIG5vdCBpc19kYW5nZXJvdXNfbW9kdWxlKHJlZikKICAgIG1zZyA6PSBzcHJpbnRmKCJISUdIOlVOS05PV05fUElDS0xFX0lNUE9SVDogJXMgaW1wb3J0cyB1bmtub3duIG1vZHVsZSAlcyB2aWEgcGlja2xlIOKAlCBpbnZlc3RpZ2F0ZSBiZWZvcmUgbG9hZGluZyIsIFtwYS5wYXRoLCByZWZdKQp9Cg=="
            },
            {
              "name": "package_signing",
              "module": "cGFja2FnZSBwaXBfd2l0bmVzcy5wYWNrYWdlX3NpZ25pbmcKCiMgUGFja2FnZSBTaWduaW5nIC8gUHJvdmVuYW5jZSBQb2xpY3kgKFBFUCA3NDApCiMKIyBXaGF0IHRoaXMgY2hlY2tzOiBXaGV0aGVyIHBhY2thZ2VzIHdlcmUgc2lnbmVkIHZpYSBTaWdzdG9yZS9UcnVzdGVkIFB1Ymxpc2hlcnMuCiMgUEVQIDc0MCBkaWdpdGFsIGF0dGVzdGF0aW9ucyBwcm92ZSBhIHBhY2thZ2Ugd2FzIGJ1aWx0IGJ5IGEgc3BlY2lmaWMKIyBHaXRIdWIgQWN0aW9ucyB3b3JrZmxvdyAob3Igb3RoZXIgQ0kpIGZyb20gYSBzcGVjaWZpYyByZXBvc2l0b3J5LgojCiMgVGhlIHBpcC1pbnN0YWxsIGF0dGVzdG9yIHF1ZXJpZXMgUHlQSSdzIEludGVncml0eSBBUEkgZm9yIGVhY2ggcGFja2FnZSBhbmQKIyBjYXB0dXJlcyBwdWJsaXNoZXIgaWRlbnRpdHk6IHJlcG9zaXRvcnksIHdvcmtmbG93LCBlbnZpcm9ubWVudC4KIwojIEEgc2lnbmVkIHBhY2thZ2UgbWVhbnM6CiMgICAtIEJ1aWx0IGJ5IGFuIGF1dG9tYXRlZCBDSSBwaXBlbGluZSAobm90IGEgZGV2ZWxvcGVyIGxhcHRvcCkKIyAgIC0gU2lnbmVkIHdpdGggYW4gZXBoZW1lcmFsIFNpZ3N0b3JlIGtleSB0aWVkIHRvIE9JREMgaWRlbnRpdHkKIyAgIC0gTG9nZ2VkIGluIFNpZ3N0b3JlJ3MgdHJhbnNwYXJlbmN5IGxvZyAodGFtcGVyLWV2aWRlbnQpCiMgICAtIFB1Ymxpc2hlciBpZGVudGl0eSBtYXRjaGVzIHRoZSBUcnVzdGVkIFB1Ymxpc2hlciBjb25maWd1cmVkIG9uIFB5UEkKIwojIFBhY2thZ2VzIFdJVEhPVVQgYXR0ZXN0YXRpb25zIGNvdWxkIGhhdmUgYmVlbiB1cGxvYWRlZCB3aXRoIGEgc3RvbGVuCiMgUHlQSSB0b2tlbiBvciBwYXNzd29yZCDigJQgbm8gcHJvb2Ygb2YgYnVpbGQgcHJvdmVuYW5jZS4KCmltcG9ydCByZWdvLnYxCgojIFNraXAgaW5mcmFzdHJ1Y3R1cmUgcGFja2FnZXMgdGhhdCB3b24ndCBoYXZlIGF0dGVzdGF0aW9ucwpza2lwX3BhY2thZ2VzIDo9IFsicGlwIiwgInNldHVwdG9vbHMiLCAid2hlZWwiXQoKCiMgRW1wdHkgZGVueSDigJQgYWxsIGZpbmRpbmdzIGFyZSBpbmZvcm1hdGlvbmFsIChyZW1vdmVkIGZyb20gc2lnbmVkIHBvbGljaWVzKQpkZW55ID0gc2V0KCkgaWYgeyB0cnVlIH0K"
            }
          ]
        },
        {
          "type": "https://aflock.ai/attestations/environment/v0.1"
        },
        {
          "type": "https://aflock.ai/attestations/material/v0.1"
        },
        {
          "type": "https://aflock.ai/attestations/product/v0.1"
        }
      ]
    }
  },
  "publickeys": {
    "743b514634601c9af21510d405df957fe855f877aa5573719a92a5401eb40982": {
      "keyid": "743b514634601c9af21510d405df957fe855f877aa5573719a92a5401eb40982",
      "key": "LS0tLS1CRUdJTiBQVUJMSUMgS0VZLS0tLS0KTUZrd0V3WUhLb1pJemowQ0FRWUlLb1pJemowREFRY0RRZ0FFMDVGRkdCYTd1RGMvKzk4Y1BWU2hDbEt0SDc2VgpuOSt1UnJzdzNPdnpwb1M4WkUwa0s1N1ZGeEJjdHhWdXpLQzY0N0Q4SG5ta2ZHVEdXOFhPVlNDS2hRPT0KLS0tLS1FTkQgUFVCTElDIEtFWS0tLS0tCg=="
    }
  }
}