text:
!! ERROR(S) in  9961720 / 0c213e4ac0f7361227b8417948ab29f4019e38db901786dc60347c8fcda9dd1bi0:
{“p”:"orc-721","op":"mint","s":"diypunks","g":[6,15,38,57]}

   - json parse -- 859: unexpected token at '{“p”:"orc-721","op":"mint","s":"diypunks","g":[6,15,38,57]}'

!! ERROR(S) in  9961721 / d21fcecdb9d9057044460ccba900432e21c4cccb639b28d648c829273bd32c0ei0:
{“p”:"orc-721","op":"mint","s":"diypunks","g":[1,17,36,51]}

   - json parse -- 859: unexpected token at '{“p”:"orc-721","op":"mint","s":"diypunks","g":[1,17,36,51]}'

!! ERROR(S) in  9961722 / 2245f80c554609754343e2942144328ca664d779db3c63fe5198b4daf8345729i0:
{“p”:"orc-721","op":"mint","s":"diypunks","g":[8,38,41,57]}

   - json parse -- 859: unexpected token at '{“p”:"orc-721","op":"mint","s":"diypunks","g":[8,38,41,57]}'

!! ERROR(S) in  9961723 / 1b43016da2599ee534ee8941a1d9c9fe5922cbcf34f2930e00dbb1cac77a8835i0:
{“p”:"orc-721","op":"mint","s":"diypunks","g":[8,15,41,55]}

   - json parse -- 859: unexpected token at '{“p”:"orc-721","op":"mint","s":"diypunks","g":[8,15,41,55]}'

!! ERROR(S) in  9961724 / 2623dac1696239fc7203c16566d14e79ac17aa652550298ee23643cb77ef8d6bi0:
{“p”:"orc-721","op":"mint","s":"diypunks","g":[6,38,41,57]}

   - json parse -- 859: unexpected token at '{“p”:"orc-721","op":"mint","s":"diypunks","g":[6,38,41,57]}'

!! ERROR(S) in  9961725 / 3fedb748291d2b91ade8b0db428bd14f06083e987e9e555010d2952fa12cf46ci0:
{“p”:"orc-721","op":"mint","s":"diypunks","g":[6,15,37,55]}

   - json parse -- 859: unexpected token at '{“p”:"orc-721","op":"mint","s":"diypunks","g":[6,15,37,55]}'

!! ERROR(S) in  9961726 / 48489debfb7628397a5136e519ddd74007ea09830f2e5e1b3f32a6d87efbbf72i0:
{“p”:"orc-721","op":"mint","s":"diypunks","g":[9,17,36,51]}

   - json parse -- 859: unexpected token at '{“p”:"orc-721","op":"mint","s":"diypunks","g":[9,17,36,51]}'

!! ERROR(S) in  9961727 / fb286e6903ef183cfd38b25442cba7e1104eccc8c1d2d5767ed89b499602ad74i0:
{“p”:"orc-721","op":"mint","s":"diypunks","g":[9,15,37,55]}

   - json parse -- 859: unexpected token at '{“p”:"orc-721","op":"mint","s":"diypunks","g":[9,15,37,55]}'

!! ERROR(S) in  9961728 / b81bb79bb37031d1fc77066d79968bfcd63bf337051e7f7f9a7f83d03173028ei0:
{“p”:"orc-721","op":"mint","s":"diypunks","g":[6,15,41,55]}

   - json parse -- 859: unexpected token at '{“p”:"orc-721","op":"mint","s":"diypunks","g":[6,15,41,55]}'

!! ERROR(S) in  9961729 / 33a2f3c928891579421cbf9c7f74ff5e7c7b7fe3deb4ac007d0cef62d95cc896i0:
{“p”:"orc-721","op":"mint","s":"diypunks","g":[8,15,37,55]}

   - json parse -- 859: unexpected token at '{“p”:"orc-721","op":"mint","s":"diypunks","g":[8,15,37,55]}'

!! ERROR(S) in  9961730 / 0b3763401b570d9a8fdb6fe300fd1f0f6229ec8f2315d31c79884c0a2c97d29fi0:
{“p”:"orc-721","op":"mint","s":"diypunks","g":[9,15,38,57]}

   - json parse -- 859: unexpected token at '{“p”:"orc-721","op":"mint","s":"diypunks","g":[9,15,38,57]}'

!! ERROR(S) in  9961731 / ed6ec73eb286b2fb65de7bf0e1ee1c1c6cb93dec95690eecd647e96c130226b0i0:
{“p”:"orc-721","op":"mint","s":"diypunks","g":[9,15,41,55]}

   - json parse -- 859: unexpected token at '{“p”:"orc-721","op":"mint","s":"diypunks","g":[9,15,41,55]}'

!! ERROR(S) in  9961732 / 923b5d852faf35508f692896a8bcb5d42e5c40e804b0bcbf5a616b4f11a9e4bai0:
{“p”:"orc-721","op":"mint","s":"diypunks","g":[9,38,41,57]}

   - json parse -- 859: unexpected token at '{“p”:"orc-721","op":"mint","s":"diypunks","g":[9,38,41,57]}'

!! ERROR(S) in  9961733 / 5a5375295fb1e190c0d37a00dbbccc1966aaae3051c9c4bac936eb741fbea4bbi0:
{“p”:"orc-721","op":"mint","s":"diypunks","g":[6,17,36,51]}

   - json parse -- 859: unexpected token at '{“p”:"orc-721","op":"mint","s":"diypunks","g":[6,17,36,51]}'

!! ERROR(S) in  9961734 / a9a4d792f1e5d323a2834a2be3c3947eb075dae5c3b9a5397978e8bb55a5fcd2i0:
{“p”:"orc-721","op":"mint","s":"diypunks","g":[1,15,38,57]}

   - json parse -- 859: unexpected token at '{“p”:"orc-721","op":"mint","s":"diypunks","g":[1,15,38,57]}'

!! ERROR(S) in  9961735 / 20349e10ecdde71b55d1429f24655813f49c584c058523b48159c74e1155afe1i0:
{“p”:"orc-721","op":"mint","s":"diypunks","g":[8,15,38,57]}

   - json parse -- 859: unexpected token at '{“p”:"orc-721","op":"mint","s":"diypunks","g":[8,15,38,57]}'

!! ERROR(S) in  9961736 / ef202342f1e1bb8fd671141bac6ecef109741823599f1cb32b9960e8f8e133e4i0:
{“p”:"orc-721","op":"mint","s":"diypunks","g":[1,15,41,55]}

   - json parse -- 859: unexpected token at '{“p”:"orc-721","op":"mint","s":"diypunks","g":[1,15,41,55]}'

!! ERROR(S) in  9961737 / 43b3be024b2d852b0c9892591a1d228ceefb8f0b88f6ef867318336dd7ce85e9i0:
{“p”:"orc-721","op":"mint","s":"diypunks","g":[8,17,36,51]}

   - json parse -- 859: unexpected token at '{“p”:"orc-721","op":"mint","s":"diypunks","g":[8,17,36,51]}'

!! ERROR(S) in  9961738 / c1e6e4eea10f335e4c08eb860cb45c2a304ee9a352f1d9b29a9c10444e9f210ai0:
{“p”:"orc-721","op":"mint","s":"diypunks","g":[8,38,48]}

   - json parse -- 859: unexpected token at '{“p”:"orc-721","op":"mint","s":"diypunks","g":[8,38,48]}'

!! ERROR(S) in  9961740 / acb4eb2ca98ebeffcaef232346a6d993141e04be028c9c03eb09d298830f1a3di0:
{“p”:"orc-721","op":"mint","s":"diypunks","g":[6,28,57]}

   - json parse -- 859: unexpected token at '{“p”:"orc-721","op":"mint","s":"diypunks","g":[6,28,57]}'

!! ERROR(S) in  9961741 / f00e0afa97a17824f6ed9a0b354d38b3c5f2b5841ecc5597f111ec2f607f125ei0:
{“p”:"orc-721","op":"mint","s":"diypunks","g":[6,38,48]}

   - json parse -- 859: unexpected token at '{“p”:"orc-721","op":"mint","s":"diypunks","g":[6,38,48]}'

!! ERROR(S) in  9961742 / 5d80d18edb0686474084d1052b9de2476b8750b16fcd364072727b349dd7ba6ei0:
{“p”:"orc-721","op":"mint","s":"diypunks","g":[9,28,57]}

   - json parse -- 859: unexpected token at '{“p”:"orc-721","op":"mint","s":"diypunks","g":[9,28,57]}'

!! ERROR(S) in  9961743 / db512cd442d692565f603cdd9092f4047110e42c6690c75f13bcc6f2ec8126eei0:
{“p”:"orc-721","op":"mint","s":"diypunks","g":[8,28,57]}

   - json parse -- 859: unexpected token at '{“p”:"orc-721","op":"mint","s":"diypunks","g":[8,28,57]}'

!! ERROR(S) in  9961744 / a5444c4f2d353de7e34b6c43e476f910dec7f1e710e0caaa859a8d0707422ff1i0:
{“p”:"orc-721","op":"mint","s":"diypunks","g":[9,38,48]}

   - json parse -- 859: unexpected token at '{“p”:"orc-721","op":"mint","s":"diypunks","g":[9,38,48]}'

!! ERROR(S) in  9963023 / 69c6b046b0a2c86566f37417ed92e238968a3cfe70971fcb318ff6252f454f03i0:
{“p”:"orc-721","op":"mint","s":"diypunks","g":[3,38,41,57]}

   - json parse -- 859: unexpected token at '{“p”:"orc-721","op":"mint","s":"diypunks","g":[3,38,41,57]}'

!! ERROR(S) in  9963024 / c93c6a22b90d07f0aebd627993fd824ae996fab6171851d5a6c319172657f40ai0:
{“p”:"orc-721","op":"mint","s":"diypunks","g":[7,17,36,51]}

   - json parse -- 859: unexpected token at '{“p”:"orc-721","op":"mint","s":"diypunks","g":[7,17,36,51]}'

!! ERROR(S) in  9963025 / 5f18a3db64ccf37b396a6a53d4947e7d09419818ce41b66c4833d11b95999c0fi0:
{“p”:"orc-721","op":"mint","s":"diypunks","g":[2,15,37,55]}

   - json parse -- 859: unexpected token at '{“p”:"orc-721","op":"mint","s":"diypunks","g":[2,15,37,55]}'

!! ERROR(S) in  9963026 / c07b0284b2e7545f4170b9c5ebe5532250143c1407d1a2c21e22ed58f1f6592ci0:
{“p”:"orc-721","op":"mint","s":"diypunks","g":[4,17,36,51]}

   - json parse -- 859: unexpected token at '{“p”:"orc-721","op":"mint","s":"diypunks","g":[4,17,36,51]}'

!! ERROR(S) in  9963027 / 96f73701d65660dcf81dee6da498530273d8bf5198827aec174116f51f99a251i0:
{“p”:"orc-721","op":"mint","s":"diypunks","g":[1,15,37,55]}

   - json parse -- 859: unexpected token at '{“p”:"orc-721","op":"mint","s":"diypunks","g":[1,15,37,55]}'

!! ERROR(S) in  9963028 / 0c54612a052caba3740af77603934303642f6a5b6f3eb0cac9de0030bde29175i0:
{“p”:"orc-721","op":"mint","s":"diypunks","g":[2,38,41,57]}

   - json parse -- 859: unexpected token at '{“p”:"orc-721","op":"mint","s":"diypunks","g":[2,38,41,57]}'

!! ERROR(S) in  9963029 / c510b1d1070ae2c3ec102c9a73a84932efe888889501dbdc7aded13ad5c18b76i0:
{“p”:"orc-721","op":"mint","s":"diypunks","g":[5,15,38,57]}

   - json parse -- 859: unexpected token at '{“p”:"orc-721","op":"mint","s":"diypunks","g":[5,15,38,57]}'

!! ERROR(S) in  9963030 / 40a68c579b80ef154acedcca618dce86327fc098d8364c5b9c7c6243747ca378i0:
{“p”:"orc-721","op":"mint","s":"diypunks","g":[3,15,37,55]}

   - json parse -- 859: unexpected token at '{“p”:"orc-721","op":"mint","s":"diypunks","g":[3,15,37,55]}'

!! ERROR(S) in  9963031 / 891103b334dad248ccb4719091d22edc76ea4cecafa9545e42ae30962455ba78i0:
{“p”:"orc-721","op":"mint","s":"diypunks","g":[7,15,38,57]}

   - json parse -- 859: unexpected token at '{“p”:"orc-721","op":"mint","s":"diypunks","g":[7,15,38,57]}'

!! ERROR(S) in  9963032 / 213f2e8f6942857072491bde787801ba6c84058f7b73ae53a4f816b582d85187i0:
{“p”:"orc-721","op":"mint","s":"diypunks","g":[7,15,41,55]}

   - json parse -- 859: unexpected token at '{“p”:"orc-721","op":"mint","s":"diypunks","g":[7,15,41,55]}'

!! ERROR(S) in  9963033 / faa7fc0adf1f1e315229c8015c21b6c3f63224d160ee5974a85eeee11d17638ei0:
{“p”:"orc-721","op":"mint","s":"diypunks","g":[5,17,36,51]}

   - json parse -- 859: unexpected token at '{“p”:"orc-721","op":"mint","s":"diypunks","g":[5,17,36,51]}'

!! ERROR(S) in  9963034 / 0aee9d458fd142e45f49e0d2d7901c88442276f5ad8688f3b3affeb35ab7c697i0:
{“p”:"orc-721","op":"mint","s":"diypunks","g":[1,38,41,57]}

   - json parse -- 859: unexpected token at '{“p”:"orc-721","op":"mint","s":"diypunks","g":[1,38,41,57]}'

!! ERROR(S) in  9963035 / 9b18f5a26e21f0a00fbad4f2fd949fdb794ff3ffcd5e1885597b2b9e15fd66a5i0:
{“p”:"orc-721","op":"mint","s":"diypunks","g":[4,15,38,57]}

   - json parse -- 859: unexpected token at '{“p”:"orc-721","op":"mint","s":"diypunks","g":[4,15,38,57]}'

!! ERROR(S) in  9963036 / bcdbca34f658c0ca7f470a0ebae59a52f60d4b918b7b876f664844f0c9f907cai0:
{“p”:"orc-721","op":"mint","s":"diypunks","g":[5,15,41,55]}

   - json parse -- 859: unexpected token at '{“p”:"orc-721","op":"mint","s":"diypunks","g":[5,15,41,55]}'

!! ERROR(S) in  9963053 / 03d5751131f0983e0729e62ec0dc95859a9d189bd80647354fe4fbc5b5b8d22bi0:
{“p”:"orc-721","op":"mint","s":"diypunks","g":[3,28,57]}

   - json parse -- 859: unexpected token at '{“p”:"orc-721","op":"mint","s":"diypunks","g":[3,28,57]}'

!! ERROR(S) in  9963054 / ac8b611f18e10b4ef413fc5b761ad63dd5959ad29b85a3a07350acc2b29f1640i0:
{“p”:"orc-721","op":"mint","s":"diypunks","g":[1,28,57]}

   - json parse -- 859: unexpected token at '{“p”:"orc-721","op":"mint","s":"diypunks","g":[1,28,57]}'

!! ERROR(S) in  9963056 / d79711745b68653592199f82885a8e40b835e17840798702892615d29d2ee760i0:
{“p”:"orc-721","op":"mint","s":"diypunks","g":[5,38,48]}

   - json parse -- 859: unexpected token at '{“p”:"orc-721","op":"mint","s":"diypunks","g":[5,38,48]}'

!! ERROR(S) in  9963057 / 698d11d20b9dda9f8a521daf2d01c69aab7d1404b0d65f8e80a07f741c689d61i0:
{“p”:"orc-721","op":"mint","s":"diypunks","g":[2,38,48]}

   - json parse -- 859: unexpected token at '{“p”:"orc-721","op":"mint","s":"diypunks","g":[2,38,48]}'

!! ERROR(S) in  9963059 / faaf3f28f49bb13d414bf76a1eef4b1b4eba6093a9ea831a578056398a803785i0:
{“p”:"orc-721","op":"mint","s":"diypunks","g":[3,28,57]}

   - json parse -- 859: unexpected token at '{“p”:"orc-721","op":"mint","s":"diypunks","g":[3,28,57]}'

!! ERROR(S) in  9963060 / 80bd25f534c6a57fe2c7dd284a787cbe8c5c08173b55a754c60373732794bd91i0:
{“p”:"orc-721","op":"mint","s":"diypunks","g":[2,28,57]}

   - json parse -- 859: unexpected token at '{“p”:"orc-721","op":"mint","s":"diypunks","g":[2,28,57]}'

!! ERROR(S) in  9963062 / c45a9efd2b8a9bafd6314ea284b7729dab2835d518da4a47d8f59e6e702d839ai0:
{“p”:"orc-721","op":"mint","s":"diypunks","g":[1,38,48]}

   - json parse -- 859: unexpected token at '{“p”:"orc-721","op":"mint","s":"diypunks","g":[1,38,48]}'

!! ERROR(S) in  9963063 / da3e969e8c1c4fb2c00db8762a8a6e7baa031c597ad8bd9f97af12c28037f2a7i0:
{“p”:"orc-721","op":"mint","s":"diypunks","g":[3,38,48]}

   - json parse -- 859: unexpected token at '{“p”:"orc-721","op":"mint","s":"diypunks","g":[3,38,48]}'

!! ERROR(S) in  9963064 / b3bbcbe2b97a02da50dca3d6183514fcbf65a1841818a4af1b1e034e257f87abi0:
{“p":"orc-721","op":"mint","s":"diypunks","g":[6,38,57]}

   - json parse -- 859: unexpected token at '{“p":"orc-721","op":"mint","s":"diypunks","g":[6,38,57]}'

!! ERROR(S) in  9963065 / db2cd3386a036c21e5fac199a41f6ebc8a392912aee84b3b90cdd9a7fc7fb5b6i0:
{“p”:"orc-721","op":"mint","s":"diypunks","g":[6,15,55]}

   - json parse -- 859: unexpected token at '{“p”:"orc-721","op":"mint","s":"diypunks","g":[6,15,55]}'

!! ERROR(S) in  9963067 / 97606453cf8f38893f8dc047645e6c8ae14188ee0e7cf35208fe4014adb7bad2i0:
{“p”:"orc-721","op":"mint","s":"diypunks","g":[3,38,48]}

   - json parse -- 859: unexpected token at '{“p”:"orc-721","op":"mint","s":"diypunks","g":[3,38,48]}'

!! ERROR(S) in  9970776 / 0fabb5e2b5877dbb933be9f9df6796b8672b31b4d2494b2f3fc8169877fe74d6i0:
{“p":"orc-721","op":"mint","s":"diypunks","g":[7,41,57]}

   - json parse -- 859: unexpected token at '{“p":"orc-721","op":"mint","s":"diypunks","g":[7,41,57]}'

!! ERROR(S) in  9970780 / 68ba9d177771eb947f863440223e91c33631e9b3f1d145c1ccbc56b1c51d5ff2i0:
{“p":"orc-721","op":"mint","s":"diypunks","g":[8,41,57]}

   - json parse -- 859: unexpected token at '{“p":"orc-721","op":"mint","s":"diypunks","g":[8,41,57]}'

!! ERROR(S) in  9982679 / a857786b14564c53a0a17d79a0a8414763030c918411288a1b43085244b5f016i0:
{“p”:"orc-721","op":"mint","s":"diypunks","g":[59,5,21,38,55]}

   - json parse -- 859: unexpected token at '{“p”:"orc-721","op":"mint","s":"diypunks","g":[59,5,21,38,55]}'

!! ERROR(S) in  9984232 / 368de1d3702a41b05019d3c377ce86055333dde2d41ae5498ab7b7e0cc64923ei0:
{"p":"orc-721",  "op":"mint",  "s":"diypunks",  "g":[3.4.59]}

   - json parse -- 451: unexpected token at '.4.59]}'

!! ERROR(S) in  9984430 / 201fe25ec4e706c9fdad3c230e2ac5b962b704f7651ee003175bd3a6d37f39aei0:
{“p”:"orc-721","op":"mint","s":"diypunks","g":[0]}

   - json parse -- 859: unexpected token at '{“p”:"orc-721","op":"mint","s":"diypunks","g":[0]}'

!! ERROR(S) in  9984431 / c82c76d1bfb6b21f0f76a7a5fdfa5844538f94ef1bb0ae11888b39de2742fc05i0:
{“p”:"orc-721","op":"mint","s":"diypunks","g":[2]}

   - json parse -- 859: unexpected token at '{“p”:"orc-721","op":"mint","s":"diypunks","g":[2]}'

!! ERROR(S) in  9984433 / 8f8d5e77699a394b64967b9a33a13ad7dcba1bf28625f1adbff7bf4e2dd0be0ci0:
{“p”:"orc-721","op":"mint","s":"diypunks","g":[6]}

   - json parse -- 859: unexpected token at '{“p”:"orc-721","op":"mint","s":"diypunks","g":[6]}'

!! ERROR(S) in  9984434 / 9cdf813c1bbb0fac4ceb85cf2204e06bc32f92ff625a94fa733acc7b3cf25f0di0:
{“p”:"orc-721","op":"mint","s":"diypunks","g":[4]}

   - json parse -- 859: unexpected token at '{“p”:"orc-721","op":"mint","s":"diypunks","g":[4]}'

!! ERROR(S) in  9984435 / 2467bb7737ffb1b14ac6afe1bd6a390e720783b84f4003d94b38b571f8d5d72ai0:
{“p”:"orc-721","op":"mint","s":"diypunks","g":[1]}

   - json parse -- 859: unexpected token at '{“p”:"orc-721","op":"mint","s":"diypunks","g":[1]}'

!! ERROR(S) in  9984437 / b89ac64ca7841ffab4d7bf061e02b3526ddb81f17ba21747724ad5762e0a624ci0:
{“p”:"orc-721","op":"mint","s":"diypunks","g":[58,5]}

   - json parse -- 859: unexpected token at '{“p”:"orc-721","op":"mint","s":"diypunks","g":[58,5]}'

!! ERROR(S) in  9984443 / a89a3d802405774261023d9a826f9d12c62cdeec2e8db2c176fd2f9311610071i0:
{“p”:"orc-721","op":"mint","s":"diypunks","g":[5]}

   - json parse -- 859: unexpected token at '{“p”:"orc-721","op":"mint","s":"diypunks","g":[5]}'

!! ERROR(S) in  9984444 / 75d630e263eb8f9b8b5a3ea7ee742ecc08ff7e2d987a73c94420bf0da85dcb80i0:
{“p”:"orc-721","op":"mint","s":"diypunks","g":[8]}

   - json parse -- 859: unexpected token at '{“p”:"orc-721","op":"mint","s":"diypunks","g":[8]}'

!! ERROR(S) in  9984446 / 3e5506da68ef7015a211e06f2c5af11f02ba2052e9c78766605a20235b7b318fi0:
{“p”:"orc-721","op":"mint","s":"diypunks","g":[7]}

   - json parse -- 859: unexpected token at '{“p”:"orc-721","op":"mint","s":"diypunks","g":[7]}'

!! ERROR(S) in  9984447 / d7b0218fd7e38a59294036ef90a0a8a366648fe6299b2f3f2ffb5429208ad69ai0:
{“p”:"orc-721","op":"mint","s":"diypunks","g":[3]}

   - json parse -- 859: unexpected token at '{“p”:"orc-721","op":"mint","s":"diypunks","g":[3]}'

!! ERROR(S) in  9984453 / 1a538188e3950c42da07098ac3b948ad18b72a4d9b4068ecdf32483a122d02f4i0:
{“p”:"orc-721","op":"mint","s":"diypunks","g":[9]}

   - json parse -- 859: unexpected token at '{“p”:"orc-721","op":"mint","s":"diypunks","g":[9]}'

!! ERROR(S) in  9984489 / d98905a2a40e94fd0698c68c771db87cd8218959ef72b07acc8602fcb266775bi0:
{“p”:"orc-721","op":"mint","s":"diypunks","g":[59,3,57]}

   - json parse -- 859: unexpected token at '{“p”:"orc-721","op":"mint","s":"diypunks","g":[59,3,57]}'

!! ERROR(S) in  9987287 / e76bd98fe9bf20e68c43a3e23a229e9021412ce3627db18101aa5736e43ed4c8i0:
{“p”:"orc-721","op":"mint","s":"diypunks","g":[0,26,38,44]}

   - json parse -- 859: unexpected token at '{“p”:"orc-721","op":"mint","s":"diypunks","g":[0,26,38,44]}'

!! ERROR(S) in  9989699 / b0bce70a88f94f1be1cebca3cc324a966eed09299ea73b8c9dac84e05ea0cf1ci0:
{"p":"orc-721","op":"mint","s":"diypunks","g":[57,5,39]}
{"p":"orc-721","op":"mint","s":"diypunks","g":[57,5,37]}
{"p":"orc-721","op":"mint","s":"diypunks","g":[5,14]}
{"p":"orc-721","op":"mint","s":"diypunks","g":[2,24,38]}
{"p":"orc-721","op":"mint","s":"diypunks","g":[5,20,39]}

   - json parse -- 859: unexpected token at '{"p":"orc-721","op":"mint","s":"diypunks","g":[57,5,37]}
{"p":"orc-721","op":"mint","s":"diypunks","g":[5,14]}
{"p":"orc-721","op":"mint","s":"diypunks","g":[2,24,38]}
{"p":"orc-721","op":"mint","s":"diypunks","g":[5,20,39]}'

!! ERROR(S) in  9989730 / 34abd925db40994001b12a27ebaac8e5e5325acf6803cd207d0a1f0cb5a51834i0:
{"p":"orc-721","op":"mint","s":"diypunks”,”g”:[3,19,30,56]}

   - json parse -- 859: unexpected token at '{"p":"orc-721","op":"mint","s":"diypunks”,”g”:[3,19,30,56]}'

!! ERROR(S) in  9990042 / d1958b3398f268d0e8cbbe798746015a12ecb1c2804a2f960a985128cd0f74cei0:
{"p":"orc-721","op":"mint","s":"diypunks”,”g”:[3,16,30,55,58]}

   - json parse -- 859: unexpected token at '{"p":"orc-721","op":"mint","s":"diypunks”,”g”:[3,16,30,55,58]}'

!! ERROR(S) in  9990812 / 0f92c9ba31021e347d2de8e45ec963cb18930402f72b5d2822d51b7411c4b27fi0:
{"p":"orc-721","op":"mint","s":"diypunks”,”g”:[3,16,30,55,59]}

   - json parse -- 859: unexpected token at '{"p":"orc-721","op":"mint","s":"diypunks”,”g”:[3,16,30,55,59]}'

!! ERROR(S) in  9990813 / fb52a40a8fa7a5db557ea73d7a0f38511090970f718d31817c7a7e56e4f717e2i0:
{"p":"orc-721","op":"mint","s":"diypunks”,”g”:[3,16,30,56,59]}

   - json parse -- 859: unexpected token at '{"p":"orc-721","op":"mint","s":"diypunks”,”g”:[3,16,30,56,59]}'

!! ERROR(S) in  9990838 / cce9517aef476284ad58f1e5bfe84c193a4551df305b8ccf1ff31d07b8a0fecci0:
{"p":"orc-721","op":"mint","s":"diypunks”,”g”:[3,16,30,56,58]}

   - json parse -- 859: unexpected token at '{"p":"orc-721","op":"mint","s":"diypunks”,”g”:[3,16,30,56,58]}'

!! ERROR(S) in  9993205 / f2f376450c1170e5a00562018d1267bc4932cf389fa2664037b384b771a36075i0:
{“p”:"orc-721","op":"mint","s":"diypunks","g":[59,5,26,38]}

   - json parse -- 859: unexpected token at '{“p”:"orc-721","op":"mint","s":"diypunks","g":[59,5,26,38]}'

!! ERROR(S) in  9993598 / 0d6fcbbdf0b4dc302f291e40220f02fad2477a2ab85ddb654add69528dd9fa85i0:
{“p”:"orc-721","op":"mint","s":"diypunks","g":[59,9,38,44]}

   - json parse -- 859: unexpected token at '{“p”:"orc-721","op":"mint","s":"diypunks","g":[59,9,38,44]}'

!! ERROR(S) in  9993801 / 39692503dbaf987924cb179159072a575fd6955eb7f4386dfe3391d6d61e4489i0:
{“p”:"orc-721","op":"mint","s":"diypunks","g":[59,4,38,57]}

   - json parse -- 859: unexpected token at '{“p”:"orc-721","op":"mint","s":"diypunks","g":[59,4,38,57]}'

!! ERROR(S) in  9994589 / 3a56b891f65f989bcb8da0394bb03b031f2ef38ba4fa2326f169a97b6539b75ai0:
{"p":"orc-721","op":"mint","s":"diypunks”,”g”:[3,16,34,55,58]}

   - json parse -- 859: unexpected token at '{"p":"orc-721","op":"mint","s":"diypunks”,”g”:[3,16,34,55,58]}'

!! ERROR(S) in  9997703 / d7ed5d60a84cc3183241c3570349662f949d1895dc9fb6b659de6ec545245984i0:
{"p":"orc-721","op":"mint","s":"diypunks”,”g”:[5,20,28,38,49,59]}

   - json parse -- 859: unexpected token at '{"p":"orc-721","op":"mint","s":"diypunks”,”g”:[5,20,28,38,49,59]}'

!! ERROR(S) in  9997705 / 3eeb119f8629b090eaea37bbd2062c19ece79e64ca8d21a43c8ac78716d9b5c2i0:
{"p":"orc-721","op":"mint","s":"diypunks”,”g”:[5,20,28,38,49,58]}

   - json parse -- 859: unexpected token at '{"p":"orc-721","op":"mint","s":"diypunks”,”g”:[5,20,28,38,49,58]}'

!! ERROR(S) in  9997806 / 65807592efb52c8c4db86a9632338d00a3b7244e8163e254ed5d77a4534b646di0:
{"p":"orc-721","op":"mint","s":"diypunks”,”g”:[3,16,34,56,59]}

   - json parse -- 859: unexpected token at '{"p":"orc-721","op":"mint","s":"diypunks”,”g”:[3,16,34,56,59]}'

!! ERROR(S) in  9999682 / a9bc97d33eac604ff8feeb0d1e95826c5cb92c0c42e676d2165ed125bf73d098i0:
{"p":"orc-721","op":"mint","s":"diypunks”,”g”:[4,20,28,38,49,58]}

   - json parse -- 859: unexpected token at '{"p":"orc-721","op":"mint","s":"diypunks”,”g”:[4,20,28,38,49,58]}'

!! ERROR(S) in  9999683 / 881f8867047e12d23598b27fb16043fdf458a3d1b23cb43627c7c49b8acca0d8i0:
{"p":"orc-721","op":"mint","s":"diypunks”,”g”:[4,20,28,38,49,59]}

   - json parse -- 859: unexpected token at '{"p":"orc-721","op":"mint","s":"diypunks”,”g”:[4,20,28,38,49,59]}'

!! ERROR(S) in  10011411 / 2a2effddb219651dd6c6fe49887c877a8d7780815b3515c314065f8e170b110di0:
{"p":"orc-721","op":"mint","s":"diypunks”,”g”:[7,35,56]}

   - json parse -- 859: unexpected token at '{"p":"orc-721","op":"mint","s":"diypunks”,”g”:[7,35,56]}'

!! ERROR(S) in  10011412 / aacae6b8e90725e9c94a5edb0013b842fdebbad6c7d22427be5ee0da6406d827i0:
{"p":"orc-721","op":"mint","s":"diypunks”,”g”:[9,35,54]}

   - json parse -- 859: unexpected token at '{"p":"orc-721","op":"mint","s":"diypunks”,”g”:[9,35,54]}'

!! ERROR(S) in  10011413 / 1d072a513e1802f55a8fdc8609b4efe5bd9ad0aba4a3631637e5e21e5caa813ai0:
{"p":"orc-721","op":"mint","s":"diypunks”,”g”:[9,35,56]}

   - json parse -- 859: unexpected token at '{"p":"orc-721","op":"mint","s":"diypunks”,”g”:[9,35,56]}'

!! ERROR(S) in  10011414 / c61218a811ca666b0d802b8bb693635db4739afe01e1dbf16739dcbe7e7e8e68i0:
{"p":"orc-721","op":"mint","s":"diypunks”,”g”:[9,35,55]}

   - json parse -- 859: unexpected token at '{"p":"orc-721","op":"mint","s":"diypunks”,”g”:[9,35,55]}'

!! ERROR(S) in  10011415 / 103c81ee77fc8a36d01c761426e875f863d5498d141487853e4f433140e7fb69i0:
{"p":"orc-721","op":"mint","s":"diypunks”,”g”:[8,35,54]}

   - json parse -- 859: unexpected token at '{"p":"orc-721","op":"mint","s":"diypunks”,”g”:[8,35,54]}'

!! ERROR(S) in  10011416 / 2c3509863083348caa27c3dd6e8bf8ab880c0003927507e3c566f8047a142581i0:
{"p":"orc-721","op":"mint","s":"diypunks”,”g”:[8,35,55]}

   - json parse -- 859: unexpected token at '{"p":"orc-721","op":"mint","s":"diypunks”,”g”:[8,35,55]}'

!! ERROR(S) in  10011417 / 2fd328f201b0a1f1a19978a5e4f974140253aa1ec0854c6252b572f251e2f60ei0:
{"p":"orc-721","op":"mint","s":"diypunks”,”g”:[7,35,55,58]}

   - json parse -- 859: unexpected token at '{"p":"orc-721","op":"mint","s":"diypunks”,”g”:[7,35,55,58]}'

!! ERROR(S) in  10011418 / 9065ae48948e2bd94372257b59cb257a3ffd677fcf934ddcb61d2f9808475185i0:
{"p":"orc-721","op":"mint","s":"diypunks”,”g”:[8,35,56,58]}

   - json parse -- 859: unexpected token at '{"p":"orc-721","op":"mint","s":"diypunks”,”g”:[8,35,56,58]}'

!! ERROR(S) in  10012735 / ff0faf70ec38078956ba20866084193a151520a303a13d23e9a8fe1793602c50i0:
{
"p":orc-721",
"op":"mint",
"s":"diypunks",
"g":"[59,5,22,21,38,39,43,48,50,54]
}

   - json parse -- 859: unexpected token at '{
"p":orc-721",
"op":"mint",
"s":"diypunks",
"g":"[59,5,22,21,38,39,43,48,50,54]
}'

!! ERROR(S) in  10020445 / 69a8348c9d29b4884c871d41820258ce624abd289c5224f9fc3846e41e32c6b6i0:
{“p”:"orc-721","op":"mint","s":"diypunks","g":[59,9]}

   - json parse -- 859: unexpected token at '{“p”:"orc-721","op":"mint","s":"diypunks","g":[59,9]}'

!! ERROR(S) in  10020446 / ae45dcaf3fe287ecc2e905410a04ba3e6af1d70596ec69ee3f0a6872d863c599i0:
{“p”:"orc-721","op":"mint","s":"diypunks","g":[59,6]}

   - json parse -- 859: unexpected token at '{“p”:"orc-721","op":"mint","s":"diypunks","g":[59,6]}'

!! ERROR(S) in  10020546 / 6ecccd8d1dc338e471cdcbe5179a520f169756ce614fc60f684c8c74526ac300i0:
{“p”:"orc-721","op":"mint","s":"diypunks","g":[1]}

   - json parse -- 859: unexpected token at '{“p”:"orc-721","op":"mint","s":"diypunks","g":[1]}'

!! ERROR(S) in  10021123 / 39b4fde5714cd1b06854c3cfd3d08ca2317fc94da0683ce376f2690e4d15b0f6i0:
{“p”:"orc-721","op":"mint","s":"diypunks","g":[59,5,18,36]}

   - json parse -- 859: unexpected token at '{“p”:"orc-721","op":"mint","s":"diypunks","g":[59,5,18,36]}'

!! ERROR(S) in  10021186 / b9f033876d76b0a19d23cf2938df59bd232a5fb7253d08952cbe66e590aed74fi0:
{“p”:"orc-721","op":"mint","s":"diypunks","g":[59,4,47,44,29]}

   - json parse -- 859: unexpected token at '{“p”:"orc-721","op":"mint","s":"diypunks","g":[59,4,47,44,29]}'

!! ERROR(S) in  10026192 / b85d3930b144e1a15d8f52899b664bf42d9fb9be5f4eebc0243734499cc02d34i0:
{“p”:"orc-721","op":"mint","s":"diypunks","g":[58,0,30,39,57]}

   - json parse -- 859: unexpected token at '{“p”:"orc-721","op":"mint","s":"diypunks","g":[58,0,30,39,57]}'

!! ERROR(S) in  10029805 / 1e092929bfeeed1d58fc51cb1204f88a70337c98f9d66d9cc54f6f9599473c99i0:
{
   "p":"orc-721",
   "op":"mint",
   "s":"diypunks",
   "g":[59,28,38,57
}

   - json parse -- 451: unexpected token at '}'

!! ERROR(S) in  10031051 / 5d50601b54be4ed5cca1368281bf902d5e7b2786ab52dcd188b60fa1b44d2187i0:
{“p”:"orc-721","op":"mint","s":"diypunks","g":[4,23,32,39,50,55]}

   - json parse -- 859: unexpected token at '{“p”:"orc-721","op":"mint","s":"diypunks","g":[4,23,32,39,50,55]}'

!! ERROR(S) in  10032332 / af61ed450381b1e8b0f3b608b870dfef4370f5b690d1dedbfea9a0ae07ee75e4i0:
{“p”:"orc-721","op":"mint","s":"diypunks","g":[59,8,26,38,44]}

   - json parse -- 859: unexpected token at '{“p”:"orc-721","op":"mint","s":"diypunks","g":[59,8,26,38,44]}'

!! ERROR(S) in  10032678 / 6ee77ab12079ff72a8c4e76048bc6eab078ae8f8fabdb83ccd20bda6bb66ee53i0:
{“p”:"orc-721","op":"mint","s":"diypunks","g":[5,26,15]}

   - json parse -- 859: unexpected token at '{“p”:"orc-721","op":"mint","s":"diypunks","g":[5,26,15]}'

!! ERROR(S) in  10033336 / c38fb38146552f5c44cdecc9fe565bbd041fea4739b4d52ecce6f49474d775d7i0:
{“p”:"orc-721","op":"mint","s":"diypunks","g":[58,0,57]}

   - json parse -- 859: unexpected token at '{“p”:"orc-721","op":"mint","s":"diypunks","g":[58,0,57]}'

!! ERROR(S) in  10037260 / f8fe432ed2a88ecad9b1ab56101aecb2e3558055dbf5d6d078532d2ea0b31cfbi0:
{“p”:"orc-721","op":"mint","s":"diypunks","g":[58,9,28,51]}

   - json parse -- 859: unexpected token at '{“p”:"orc-721","op":"mint","s":"diypunks","g":[58,9,28,51]}'

!! ERROR(S) in  10039855 / 63a345c4afb65621c7162ab74138384175338e604f7adff9c1c3dc2efd00aac3i0:
{“p”:"orc-721","op":"mint","s":"diypunks","g":[59,0,55,57]}

   - json parse -- 859: unexpected token at '{“p”:"orc-721","op":"mint","s":"diypunks","g":[59,0,55,57]}'

!! ERROR(S) in  10040947 / 27fd73de49e6743bce8faef912478901db63bf6703978ce971c9b00e377ab43di0:
{"p":"orc-721", "op":"mint", "s":"diypunks", "g":[4,27,13,3155]}

   - protocol --  g no. 3155 out-of-range 0-59 (60) in 'diypunks' mint

!! ERROR(S) in  10040948 / 24e7ab9b387aeb91f0ca19eb530167c638d9e9f09f5232db1bd29583c61dd43ei0:
{"p":"orc-721", "op":"mint", "s":"diypunks", "g":[8,27,17,3854,57]}

   - protocol --  g no. 3854 out-of-range 0-59 (60) in 'diypunks' mint

!! ERROR(S) in  10040949 / 8ba04b2003106669d31892b0ee994377ac8e5f5742ace9b205cedcb975c8445ci0:
{"p":"orc-721", "op":"mint", "s":"diypunks", "g":[2,28,11,3255]}

   - protocol --  g no. 3255 out-of-range 0-59 (60) in 'diypunks' mint

!! ERROR(S) in  10040951 / d9810249f73627f16c9e3d61207f4d393d4e3fc15827539f6312935e42edbc96i0:
{"p":"orc-721", "op":"mint", "s":"diypunks", "g":[6,25,21,3154,47]}

   - protocol --  g no. 3154 out-of-range 0-59 (60) in 'diypunks' mint

!! ERROR(S) in  10040953 / 1845eec37d5b20a5116e6a4ca7e8576122355a9acc19551950ef1d92240c85cci0:
{"p":"orc-721", "op":"mint", "s":"diypunks", "g":[1,27,11,3154]}

   - protocol --  g no. 3154 out-of-range 0-59 (60) in 'diypunks' mint

!! ERROR(S) in  10040954 / 1d1bf1e98dc20ffe1d23a2edfc0324cd13fceb74265fa2a4abc1c69b67a01fcei0:
{"p":"orc-721", "op":"mint", "s":"diypunks", "g":[5,24,12,3555,57]}

   - protocol --  g no. 3555 out-of-range 0-59 (60) in 'diypunks' mint

!! ERROR(S) in  10042188 / 7e13c0a72dd14d5bec9a0df743b6f7718fad0942efb1f74aedd8ee40efaad245i0:
{“p”:"orc-721","op":"mint","s":"diypunks","g":[6,37]}

   - json parse -- 859: unexpected token at '{“p”:"orc-721","op":"mint","s":"diypunks","g":[6,37]}'

!! ERROR(S) in  10048013 / 3f4f3bc4d2c7c8817b7fe722b5b325f3d4cc38f66461d4e7e598a74dc9992cd7i0:
{“p”:"orc-721","op":"mint","s":"diypunks","g":[1,38]}

   - json parse -- 859: unexpected token at '{“p”:"orc-721","op":"mint","s":"diypunks","g":[1,38]}'

!! ERROR(S) in  10048014 / 305486dd6e0dd9ab04699e41b92d0bb6929e27b570f2c675a84e8f734d9fe92fi0:
{“p”:"orc-721","op":"mint","s":"diypunks","g":[4,38]}

   - json parse -- 859: unexpected token at '{“p”:"orc-721","op":"mint","s":"diypunks","g":[4,38]}'

!! ERROR(S) in  10048015 / cb6b02362e440a18faf194f5d418bab741f6e8eb7c0a940c3735d46c1d3dfb59i0:
{“p”:"orc-721","op":"mint","s":"diypunks","g":[2,38]}

   - json parse -- 859: unexpected token at '{“p”:"orc-721","op":"mint","s":"diypunks","g":[2,38]}'

!! ERROR(S) in  10048016 / 987b04da8596da7bccbae01fc22fd0aff7a6e15c39de04010f1683c25154b789i0:
{“p”:"orc-721","op":"mint","s":"diypunks","g":[5,38]}

   - json parse -- 859: unexpected token at '{“p”:"orc-721","op":"mint","s":"diypunks","g":[5,38]}'

!! ERROR(S) in  10048017 / b7d59741f348cfe735b4e321cface6b2fc579371289f77ad46b7be2f7f1a22b8i0:
{“p”:"orc-721","op":"mint","s":"diypunks","g":[3,38]}

   - json parse -- 859: unexpected token at '{“p”:"orc-721","op":"mint","s":"diypunks","g":[3,38]}'

!! ERROR(S) in  10048226 / 411a7113a120677209b6c84ba9c8964f84a23c6e3a7805c7a22e0a2f1e00a88bi0:
{“p”:"orc-721","op":"mint","s":"diypunks","g":[0,38]}

   - json parse -- 859: unexpected token at '{“p”:"orc-721","op":"mint","s":"diypunks","g":[0,38]}'

!! ERROR(S) in  10048481 / 42c01f1699edc8eaab73373ba429a425395ac2aa9c0a57636fb193afe59232fei0:
{"p":"orc-721", "op":"mint", "s":"diypunks", "g":[2,26,15,3155]}

   - protocol --  g no. 3155 out-of-range 0-59 (60) in 'diypunks' mint

!! ERROR(S) in  10052722 / 745b537e6fa729aae785de2d51fd89244e15a01846900fb9020dbc105fc7c3b5i0:
{“p”:"orc-721","op":"mint","s":"diypunks","g":[6,30,42,51]}

   - json parse -- 859: unexpected token at '{“p”:"orc-721","op":"mint","s":"diypunks","g":[6,30,42,51]}'

!! ERROR(S) in  10052723 / 2bc2b763755fd866c03a8f7657b1b8ef223b66cba998ac877bb740f73f33be0ei0:
{“p”:"orc-721","op":"mint","s":"diypunks","g":[7,30,41,51]}

   - json parse -- 859: unexpected token at '{“p”:"orc-721","op":"mint","s":"diypunks","g":[7,30,41,51]}'

!! ERROR(S) in  10052724 / c37162592f5a91e6b840fb2fe3aac092b2ea37225e393a158c679a585c6ed439i0:
{“p”:"orc-721","op":"mint","s":"diypunks","g":[59,0,22,17,30,40,42,45,47,48,53,56,57]}

   - json parse -- 859: unexpected token at '{“p”:"orc-721","op":"mint","s":"diypunks","g":[59,0,22,17,30,40,42,45,47,48,53,56,57]}'

!! ERROR(S) in  10052725 / 9787d14a469df5c4cab9b4b4b7d4bbf26b1f434c3ff3152dcd3391da9d64bc55i0:
{“p”:"orc-721","op":"mint","s":"diypunks","g":[3,30,41,53]}

   - json parse -- 859: unexpected token at '{“p”:"orc-721","op":"mint","s":"diypunks","g":[3,30,41,53]}'

!! ERROR(S) in  10052726 / ae8af6b1053b89d2a9e479c88d3345293f4b5a9f7a90df79b4e62d3b8c7e9ca5i0:
{“p”:"orc-721","op":"mint","s":"diypunks","g":[8,38,43,52]}

   - json parse -- 859: unexpected token at '{“p”:"orc-721","op":"mint","s":"diypunks","g":[8,38,43,52]}'

!! ERROR(S) in  10052727 / b4f0feae60b0c85aa0223deab0f9412f371423bfd2062920fb0d8f92d64c00bdi0:
{“p”:"orc-721","op":"mint","s":"diypunks","g":[4,38,43,52]}

   - json parse -- 859: unexpected token at '{“p”:"orc-721","op":"mint","s":"diypunks","g":[4,38,43,52]}'

!! ERROR(S) in  10052997 / 15faa253183fbb655f42bbc6ac240450bbab8986c35444b950030fbfc116ae2ci0:
{"p":"orc-721", "op":"mint", "s":"diypunks", "g":[8,26,16,3156,57]}

   - protocol --  g no. 3156 out-of-range 0-59 (60) in 'diypunks' mint

!! ERROR(S) in  10052999 / aaff6503d1fe8620e860222ed928d1bc28e7e3beef4cd10e265ad34a6da99246i0:
{"p":"orc-721", "op":"mint", "s":"diypunks", "g":[1,22,17,3554]}

   - protocol --  g no. 3554 out-of-range 0-59 (60) in 'diypunks' mint

!! ERROR(S) in  10053000 / 8fa9d2f633cb1a9b542051ca954046a9c6e4a3f7b0c4dce601c410a0aaf6be4ci0:
{"p":"orc-721", "op":"mint", "s":"diypunks", "g":[3,23,14,3256]}

   - protocol --  g no. 3256 out-of-range 0-59 (60) in 'diypunks' mint

!! ERROR(S) in  10053001 / e0795e9569a98c0dbd9ae46df7b277c278dcf310263d233e0e7a007fd81f5553i0:
{"p":"orc-721", "op":"mint", "s":"diypunks", "g":[4,25,17,3854]}

   - protocol --  g no. 3854 out-of-range 0-59 (60) in 'diypunks' mint

!! ERROR(S) in  10053002 / de5b7c3e746939ca5407d8107c76bac9dc0d9d76e82de025a547866b7b778c53i0:
{"p":"orc-721", "op":"mint", "s":"diypunks", "g":[0,22,10,3154]}

   - protocol --  g no. 3154 out-of-range 0-59 (60) in 'diypunks' mint

!! ERROR(S) in  10053003 / 1e48748dfb969b83ed9b14d6f2be66f4a8b55b116b6bf59ccd3f667e03153757i0:
{"p":"orc-721", "op":"mint", "s":"diypunks", "g":[3,29,11,3355,57]}

   - protocol --  g no. 3355 out-of-range 0-59 (60) in 'diypunks' mint

!! ERROR(S) in  10053004 / 61ee69ba3f99ecb0fe7648f5d3220367627ec09adf3c20e1e4b60043f7104e6di0:
{"p":"orc-721", "op":"mint", "s":"diypunks", "g":[9,29,19,3255]}

   - protocol --  g no. 3255 out-of-range 0-59 (60) in 'diypunks' mint

!! ERROR(S) in  10053005 / 006d52a6d5665e4838d256d6c19fb20d47ec2abdc38d61cb9e2e4905e97f8c86i0:
{"p":"orc-721", "op":"mint", "s":"diypunks", "g":[7,27,20,3254]}

   - protocol --  g no. 3254 out-of-range 0-59 (60) in 'diypunks' mint

!! ERROR(S) in  10053006 / 2dc97a003609a2a7cc76755c1bb9c22ffec708632dab3b7ddd78c08fd97e058ci0:
{"p":"orc-721", "op":"mint", "s":"diypunks", "g":[9,28,20,3355]}

   - protocol --  g no. 3355 out-of-range 0-59 (60) in 'diypunks' mint

!! ERROR(S) in  10053007 / 070c61083f740d683907fe542a7c6c79a04234bced298faa6c30bbc34b01daa7i0:
{"p":"orc-721", "op":"mint", "s":"diypunks", "g":[4,22,12,3456]}

   - protocol --  g no. 3456 out-of-range 0-59 (60) in 'diypunks' mint

!! ERROR(S) in  10053008 / 3c03b8cf8b0439bd22ab41cc07a893ab5eebbe602f1173d8f38213e74aad8aaci0:
{"p":"orc-721", "op":"mint", "s":"diypunks", "g":[2,24,17,3654,47]}

   - protocol --  g no. 3654 out-of-range 0-59 (60) in 'diypunks' mint

!! ERROR(S) in  10053009 / 5e5f96ccc291e3186bb6ea4d6d177dfb21d64b1c66c7b6a2374dbf0260b410c0i0:
{"p":"orc-721", "op":"mint", "s":"diypunks", "g":[0,29,21,3454]}

   - protocol --  g no. 3454 out-of-range 0-59 (60) in 'diypunks' mint

!! ERROR(S) in  10053010 / d2ec8f21ffc9c948fe8e9dcc54aed10f9d0522a8f74428bfdaaa83051c2246c9i0:
{"p":"orc-721", "op":"mint", "s":"diypunks", "g":[6,25,12,3656]}

   - protocol --  g no. 3656 out-of-range 0-59 (60) in 'diypunks' mint

!! ERROR(S) in  10053011 / d88520d37488520e2908aefc623791ecdb1effacff3438260790d0b582700ad2i0:
{"p":"orc-721", "op":"mint", "s":"diypunks", "g":[7,25,17,3754]}

   - protocol --  g no. 3754 out-of-range 0-59 (60) in 'diypunks' mint

!! ERROR(S) in  10053012 / a05183ae4f706678c915fd5caa4ddf0081c95fcadb20d34c3566e7828db20aeci0:
{"p":"orc-721", "op":"mint", "s":"diypunks", "g":[5,27,17,3054]}

   - protocol --  g no. 3054 out-of-range 0-59 (60) in 'diypunks' mint

!! ERROR(S) in  10053013 / 251ef246758f6352321cbc0d9e8ed0aef736a8188b309bf4c9c8d371836d81f0i0:
{"p":"orc-721", "op":"mint", "s":"diypunks", "g":[9,25,17,3055]}

   - protocol --  g no. 3055 out-of-range 0-59 (60) in 'diypunks' mint

!! ERROR(S) in  10053014 / 5aeaf1e6848ca25bd9dd092698f90ee289d1b1cfbc42c402185bec9f29be01fci0:
{"p":"orc-721", "op":"mint", "s":"diypunks", "g":[3,25,17,3754]}

   - protocol --  g no. 3754 out-of-range 0-59 (60) in 'diypunks' mint

!! ERROR(S) in  10060241 / 28984051c8400c964581c6da3190ea7f344c54d3ab818adec2f004dd7e0a1e16i0:
{“p”:"orc-721","op":"mint","s":"diypunks","g":[59,8,13,38]}

   - json parse -- 859: unexpected token at '{“p”:"orc-721","op":"mint","s":"diypunks","g":[59,8,13,38]}'

!! ERROR(S) in  10062289 / c60275cced0ae8dbd61f90d58ef5f8c4b61b0cdf3badee588bec6cc7e542ea14i0:
{“p”:”orc-721”,”op”:”mint","s":"diypunks","g":[59,0,26,17,30,47,55]}

   - json parse -- 859: unexpected token at '{“p”:”orc-721”,”op”:”mint","s":"diypunks","g":[59,0,26,17,30,47,55]}'

!! ERROR(S) in  10062290 / bdb93a341ed3e420cc08963e73ca274bf06f82e9a5f6afe9bafd2d479a0d2a6fi0:
{“p”:”orc-721”,”op”:”mint","s":"diypunks","g":[59,5,26,17,30,47,55]}

   - json parse -- 859: unexpected token at '{“p”:”orc-721”,”op”:”mint","s":"diypunks","g":[59,5,26,17,30,47,55]}'

!! ERROR(S) in  10062291 / 2e000912cadf3a31733d8b3566e4bbd0ac431c24c9981274c76527d1b1e6c86fi0:
{“p”:”orc-721”,”op”:”mint","s":"diypunks","g":[59,6,26,17,30,47,55]}

   - json parse -- 859: unexpected token at '{“p”:”orc-721”,”op”:”mint","s":"diypunks","g":[59,6,26,17,30,47,55]}'

!! ERROR(S) in  10062292 / 7d0c570b0a533e4a03d95188335599a012ccafabb3f281ab815bd7a781277d78i0:
{“p”:”orc-721”,”op”:”mint","s":"diypunks","g":[59,3,26,17,30,47,55]}

   - json parse -- 859: unexpected token at '{“p”:”orc-721”,”op”:”mint","s":"diypunks","g":[59,3,26,17,30,47,55]}'

!! ERROR(S) in  10062293 / bdf179b37381b2f547cf4f8c56c4faebaf60671e01950962ad4d5b9992c15480i0:
{“p”:”orc-721”,”op”:”mint","s":"diypunks","g":[59,1,26,17,30,47,55]}

   - json parse -- 859: unexpected token at '{“p”:”orc-721”,”op”:”mint","s":"diypunks","g":[59,1,26,17,30,47,55]}'

!! ERROR(S) in  10062294 / 52b0758850c7ada2a2b99824417aa82f63ff46980b8f5975f2486c9279bbda8fi0:
{“p”:”orc-721”,”op”:”mint","s":"diypunks","g":[59,4,26,17,30,47,55]}

   - json parse -- 859: unexpected token at '{“p”:”orc-721”,”op”:”mint","s":"diypunks","g":[59,4,26,17,30,47,55]}'

!! ERROR(S) in  10062295 / 6654e9c59574b8353826f6f1a4e712eafc51f657fd8ef5f4132cea73a26856cci0:
{“p”:”orc-721”,”op”:”mint","s":"diypunks","g":[59,7,26,17,30,47,55]}

   - json parse -- 859: unexpected token at '{“p”:”orc-721”,”op”:”mint","s":"diypunks","g":[59,7,26,17,30,47,55]}'

!! ERROR(S) in  10062296 / d6cf1a9366392f93d8d091b31d27a208d3d66fedddd69abad6dfc947c4d241d1i0:
{“p”:”orc-721”,”op”:”mint","s":"diypunks","g":[59,2,26,17,30,47,55]}

   - json parse -- 859: unexpected token at '{“p”:”orc-721”,”op”:”mint","s":"diypunks","g":[59,2,26,17,30,47,55]}'

!! ERROR(S) in  10064666 / 08c5237a9c096870d98cc1387fab661a5c9d512706a24c3b39d149ccbef1e3cbi0:
{“p”:”orc-721”,"op":"mint","s":"diypunks","g":[59,0,33,47]}

   - json parse -- 859: unexpected token at '{“p”:”orc-721”,"op":"mint","s":"diypunks","g":[59,0,33,47]}'

!! ERROR(S) in  10064667 / 56658f888793624e26938e3c4a46f64fc3817955492e74503b0a54a80597956ai0:
{“p”:”orc-721”,"op":"mint","s":"diypunks","g":[59,7,33,47]}

   - json parse -- 859: unexpected token at '{“p”:”orc-721”,"op":"mint","s":"diypunks","g":[59,7,33,47]}'

!! ERROR(S) in  10064668 / 47f3731e83d9e7a42ec953333c3c3749796eca3e747ced2ff9708e2cf20ced81i0:
{“p”:”orc-721”,"op":"mint","s":"diypunks","g":[59,6,33,47]}

   - json parse -- 859: unexpected token at '{“p”:”orc-721”,"op":"mint","s":"diypunks","g":[59,6,33,47]}'

!! ERROR(S) in  10072364 / 0dbafb1eef3eb704b7fe806843305357ee727fade67df12544d010e605b5422ei0:
{“p”:"orc-721","op":"mint","s":"diypunks","g":[58,0,25,13,37,41,43,46,47,48,53,55,57]}

   - json parse -- 859: unexpected token at '{“p”:"orc-721","op":"mint","s":"diypunks","g":[58,0,25,13,37,41,43,46,47,48,53,55,57]}'

!! ERROR(S) in  10072365 / e8c9e5c14fb9ef28e871804de177db4c38d2e666c5ed498b09e7afaf1d023dc2i0:
{“p”:"orc-721","op":"mint","s":"diypunks","g":[58,1,25,13,37,41,43,46,47,48,53,55,57]}

   - json parse -- 859: unexpected token at '{“p”:"orc-721","op":"mint","s":"diypunks","g":[58,1,25,13,37,41,43,46,47,48,53,55,57]}'

!! ERROR(S) in  10072366 / a28d64781b931f6d74bd0a09420069c4f362d673297681fb4c0c5fadaa2fefdci0:
{“p”:"orc-721","op":"mint","s":"diypunks","g":[58,4,25,13,37,41,43,46,47,48,53,55,57]}

   - json parse -- 859: unexpected token at '{“p”:"orc-721","op":"mint","s":"diypunks","g":[58,4,25,13,37,41,43,46,47,48,53,55,57]}'

!! ERROR(S) in  10072367 / 4c1aff64b3e747d8f59e7dfe69a3abaf0c4b88b422d62a9f4200d16cd30f70fci0:
{“p”:"orc-721","op":"mint","s":"diypunks","g":[58,2,25,13,37,41,43,46,47,48,53,55,57]}

   - json parse -- 859: unexpected token at '{“p”:"orc-721","op":"mint","s":"diypunks","g":[58,2,25,13,37,41,43,46,47,48,53,55,57]}'

!! ERROR(S) in  10072368 / a5f3378344250a1252751abf4c71782d8823bbefa06d2d7e930926d3892cac1fi0:
{“p”:"orc-721","op":"mint","s":"diypunks","g":[58,0]}

   - json parse -- 859: unexpected token at '{“p”:"orc-721","op":"mint","s":"diypunks","g":[58,0]}'

!! ERROR(S) in  10072369 / 639d1fca5706203af25ee5d187d39fe7407211dfaf1a081452266f6a7f1f7224i0:
{“p”:"orc-721","op":"mint","s":"diypunks","g":[58,1]}

   - json parse -- 859: unexpected token at '{“p”:"orc-721","op":"mint","s":"diypunks","g":[58,1]}'

!! ERROR(S) in  10072370 / 765715db3aa1bc03b5651b95eaaaa055c07bac179dc899689ce378a0895a6e2bi0:
{“p”:"orc-721","op":"mint","s":"diypunks","g":[58,8]}

   - json parse -- 859: unexpected token at '{“p”:"orc-721","op":"mint","s":"diypunks","g":[58,8]}'

!! ERROR(S) in  10072371 / 39fcb864347ec244cc92ec0b38f89ed852d07871e14170e53a4b5c8163b3ea4ai0:
{“p”:"orc-721","op":"mint","s":"diypunks","g":[58,4]}

   - json parse -- 859: unexpected token at '{“p”:"orc-721","op":"mint","s":"diypunks","g":[58,4]}'

!! ERROR(S) in  10072372 / 46363361bb8173e12fc45bce1de16d8cc1ac5474b253c2401d99feda4f5d2b7bi0:
{“p”:"orc-721","op":"mint","s":"diypunks","g":[58,7]}

   - json parse -- 859: unexpected token at '{“p”:"orc-721","op":"mint","s":"diypunks","g":[58,7]}'

!! ERROR(S) in  10072373 / 5ea61ab6b253658aebfce9bc6ff548b5e51b20031270d010c3f9494231042686i0:
{“p”:"orc-721","op":"mint","s":"diypunks","g":[58,2]}

   - json parse -- 859: unexpected token at '{“p”:"orc-721","op":"mint","s":"diypunks","g":[58,2]}'

!! ERROR(S) in  10072374 / 4b267852fa46469a2f123474e20fd0a11ced37a00ab4f4045fb78b593d3d399ci0:
{“p”:"orc-721","op":"mint","s":"diypunks","g":[58,6]}

   - json parse -- 859: unexpected token at '{“p”:"orc-721","op":"mint","s":"diypunks","g":[58,6]}'

!! ERROR(S) in  10072375 / 1e1701cc95609852fa25786f939732b3e75cd9c9ee15fceb20b54a69ab0e30aci0:
{“p”:"orc-721","op":"mint","s":"diypunks","g":[58,5]}

   - json parse -- 859: unexpected token at '{“p”:"orc-721","op":"mint","s":"diypunks","g":[58,5]}'

!! ERROR(S) in  10072376 / 125d42cb9cecc4bfea5dca9291f055437d0780228fcf5e79cde6a53e6983d2e9i0:
{“p”:"orc-721","op":"mint","s":"diypunks","g":[58,3]}

   - json parse -- 859: unexpected token at '{“p”:"orc-721","op":"mint","s":"diypunks","g":[58,3]}'

!! ERROR(S) in  10072377 / f8c346c72e73c3e8507dcfd44a743892c880a5652f5200a82d1742ed9086baedi0:
{“p”:"orc-721","op":"mint","s":"diypunks","g":[58,9]}

   - json parse -- 859: unexpected token at '{“p”:"orc-721","op":"mint","s":"diypunks","g":[58,9]}'

!! ERROR(S) in  10072631 / 7df620eb4e75a6474a9c6e7b63b8b69e7ff5233b66c96c3939434723114e136ei0:
{“p”:"orc-721","op":"mint","s":"diypunks","g":[59,5,34]}

   - json parse -- 859: unexpected token at '{“p”:"orc-721","op":"mint","s":"diypunks","g":[59,5,34]}'

!! ERROR(S) in  10072632 / 604ac37b630d940133ddad3c28932c54581c183624024c09bc067a968e97cb27i0:
{“p”:"orc-721","op":"mint","s":"diypunks","g":[59,8,35]}

   - json parse -- 859: unexpected token at '{“p”:"orc-721","op":"mint","s":"diypunks","g":[59,8,35]}'

!! ERROR(S) in  10072633 / 12ac2ba8506645bccf7237d8af9c12c512fd39d9213883ae435e5bd501b7004bi0:
{“p”:"orc-721","op":"mint","s":"diypunks","g":[59,3,38]}

   - json parse -- 859: unexpected token at '{“p”:"orc-721","op":"mint","s":"diypunks","g":[59,3,38]}'

!! ERROR(S) in  10072634 / cc29aa018dfb40021a711dc719051601bc3a479bd614135de66a19f766b1b9abi0:
{“p”:"orc-721","op":"mint","s":"diypunks","g":[59,7,37]}

   - json parse -- 859: unexpected token at '{“p”:"orc-721","op":"mint","s":"diypunks","g":[59,7,37]}'

!! ERROR(S) in  10072635 / 05dd36ab2b8edacac03049357837c5a539f225c39cee12bc71f3b0b04755bbcci0:
{“p”:"orc-721","op":"mint","s":"diypunks","g":[58,9,36]}

   - json parse -- 859: unexpected token at '{“p”:"orc-721","op":"mint","s":"diypunks","g":[58,9,36]}'

!! ERROR(S) in  10072899 / c8a05efd4b87b0b9c7cb684507f749cfeff8da2d45c979f1d87360d60ad9cf1ci0:
{“p”:"orc-721","op":"mint","s":"diypunks","g":[58,8,25,13,37,41,43,46,47,48,53,55,57]}

   - json parse -- 859: unexpected token at '{“p”:"orc-721","op":"mint","s":"diypunks","g":[58,8,25,13,37,41,43,46,47,48,53,55,57]}'

!! ERROR(S) in  10072900 / 5263baa95dbd6defe53242ecdd8e87081545b38eaec0e6780a7b625f4d96ac35i0:
{“p”:"orc-721","op":"mint","s":"diypunks","g":[58,5,25,13,37,41,43,46,47,48,53,55,57]}

   - json parse -- 859: unexpected token at '{“p”:"orc-721","op":"mint","s":"diypunks","g":[58,5,25,13,37,41,43,46,47,48,53,55,57]}'

!! ERROR(S) in  10072901 / bd2a2b2b849928477399d03e0bd303d9b5772dfe8a0f0b724ad349147b9727cbi0:
{“p”:"orc-721","op":"mint","s":"diypunks","g":[58,6,25,13,37,41,43,46,47,48,53,55,57]}

   - json parse -- 859: unexpected token at '{“p”:"orc-721","op":"mint","s":"diypunks","g":[58,6,25,13,37,41,43,46,47,48,53,55,57]}'

!! ERROR(S) in  10072902 / d13d468431ef49ed7bca95b759c52dcc7157611eed3c067bfc5fd70cfed2e5e7i0:
{“p”:"orc-721","op":"mint","s":"diypunks","g":[58,7,25,13,37,41,43,46,47,48,53,55,57]}

   - json parse -- 859: unexpected token at '{“p”:"orc-721","op":"mint","s":"diypunks","g":[58,7,25,13,37,41,43,46,47,48,53,55,57]}'

!! ERROR(S) in  10072903 / e11a4f515a458ddff5d56fc5b77768771bc35f9151d0ceb513e6e50c10915af7i0:
{“p”:"orc-721","op":"mint","s":"diypunks","g":[58,9,25,13,37,41,43,46,47,48,53,55,57]}

   - json parse -- 859: unexpected token at '{“p”:"orc-721","op":"mint","s":"diypunks","g":[58,9,25,13,37,41,43,46,47,48,53,55,57]}'

!! ERROR(S) in  10073278 / be2c6e73e0c5d1aca4d25b3e41af74683c89a5ba879ab8d8a8304b89d80d5f17i0:
{“p”:"orc-721","op":"mint","s":"diypunks","g":[58,3,25,13,37,41,43,46,47,48,53,55,57]}

   - json parse -- 859: unexpected token at '{“p”:"orc-721","op":"mint","s":"diypunks","g":[58,3,25,13,37,41,43,46,47,48,53,55,57]}'

!! ERROR(S) in  10073279 / b28c9364bb4482253ceaa83beaba929d40bbcd891ec435414d80eed21754cf1ci0:
{“p”:"orc-721","op":"mint","s":"diypunks","g":[58,3,25,13,37,41,43,46,47,48,53,55,57]}

   - json parse -- 859: unexpected token at '{“p”:"orc-721","op":"mint","s":"diypunks","g":[58,3,25,13,37,41,43,46,47,48,53,55,57]}'

!! ERROR(S) in  10073438 / 00eaaf315b6d05a60b636f1f41c6debaf948ea8bb0ee42226cee0d33dc89de14i0:
{“p”:"orc-721","op":"mint","s":"diypunks","g":[5,21,34,59]}

   - json parse -- 859: unexpected token at '{“p”:"orc-721","op":"mint","s":"diypunks","g":[5,21,34,59]}'

!! ERROR(S) in  10073439 / 86b7de35d16c1ca22f56fdbcd684a3ed891bc75a5d135579222e2f3e9b59d912i0:
{“p”:"orc-721","op":"mint","s":"diypunks","g":[8,18,35,59]}

   - json parse -- 859: unexpected token at '{“p”:"orc-721","op":"mint","s":"diypunks","g":[8,18,35,59]}'

!! ERROR(S) in  10073440 / 93037574f0482dd3072e7a8267def7987958b11fe4c5950ea5f68a0dec1d813di0:
{“p”:"orc-721","op":"mint","s":"diypunks","g":[7,20,37,59]}

   - json parse -- 859: unexpected token at '{“p”:"orc-721","op":"mint","s":"diypunks","g":[7,20,37,59]}'

!! ERROR(S) in  10073441 / a5f110227bd38cc5bd8955e92f29adb9bff2adc368fa87c927e4e2dfa601e07ai0:
{“p”:"orc-721","op":"mint","s":"diypunks","g":[9,19,36,59]}

   - json parse -- 859: unexpected token at '{“p”:"orc-721","op":"mint","s":"diypunks","g":[9,19,36,59]}'

!! ERROR(S) in  10073442 / fc3b9e038362298bba658215b3fe5e58256f17ae3fdd7674c2211ab712f774bai0:
{“p”:"orc-721","op":"mint","s":"diypunks","g":[3,26,38,59]}

   - json parse -- 859: unexpected token at '{“p”:"orc-721","op":"mint","s":"diypunks","g":[3,26,38,59]}'

!! ERROR(S) in  10074954 / 37b05d85ec03bc76a44231caf8c3ef06d9412de989ccc854b4a19024acfe17f7i0:
{“p”:"orc-721","op":"mint","s":"diypunks","g":[51,0,38]}

   - json parse -- 859: unexpected token at '{“p”:"orc-721","op":"mint","s":"diypunks","g":[51,0,38]}'

!! ERROR(S) in  10074955 / 5f795068b3a3a825906211e72206f7fab69897baf4adaf8f128ccaa6e2c22200i0:
{“p”:"orc-721","op":"mint","s":"diypunks","g":[51,1,38]}

   - json parse -- 859: unexpected token at '{“p”:"orc-721","op":"mint","s":"diypunks","g":[51,1,38]}'

!! ERROR(S) in  10074975 / 923a65751f49113d14c2cfac477ca0deee390fc8f7a6e1e50ae4d30439d87823i0:
{“p”:"orc-721","op":"mint","s":"diypunks","g":[51,4,38]}

   - json parse -- 859: unexpected token at '{“p”:"orc-721","op":"mint","s":"diypunks","g":[51,4,38]}'

!! ERROR(S) in  10074986 / 17f5b0ca37ea1da2fde9cfd9027639a3106dbd0e95a4e714f150ba99d4b2f730i0:
{“p”:"orc-721","op":"mint","s":"diypunks","g":[6,38]}

   - json parse -- 859: unexpected token at '{“p”:"orc-721","op":"mint","s":"diypunks","g":[6,38]}'

!! ERROR(S) in  10075010 / 9b696a4d35f2920911e536c24b38b2cb816bcd05bcf526575404f6d0de795c4ei0:
{“p”:"orc-721","op":"mint","s":"diypunks","g":[8,38]}

   - json parse -- 859: unexpected token at '{“p”:"orc-721","op":"mint","s":"diypunks","g":[8,38]}'

!! ERROR(S) in  10075023 / 30d89fb96e4da8227dab0dd8be09c769a05f541f9303989c0b57d9e74336e671i0:
{“p”:"orc-721","op":"mint","s":"diypunks","g":[9,38]}

   - json parse -- 859: unexpected token at '{“p”:"orc-721","op":"mint","s":"diypunks","g":[9,38]}'

!! ERROR(S) in  10075026 / 30c19fa768020d4f121646de29e678a6757e92b8c7ccdbb22cfb3c4fcf2ec177i0:
{“p”:"orc-721","op":"mint","s":"diypunks","g":[51,2,38]}

   - json parse -- 859: unexpected token at '{“p”:"orc-721","op":"mint","s":"diypunks","g":[51,2,38]}'

!! ERROR(S) in  10075039 / f3f08c4d65a53620eca1f9c044aba53ed2a7271a979dff1f42d7e549ad570b9ai0:
{“p”:"orc-721","op":"mint","s":"diypunks","g":[51,5,38]}

   - json parse -- 859: unexpected token at '{“p”:"orc-721","op":"mint","s":"diypunks","g":[51,5,38]}'

!! ERROR(S) in  10075044 / 93a3e49aa05b3ba47c07ec0d1efb847221e7cf6956ca56dfd46c7da5c009e7a1i0:
{“p”:"orc-721","op":"mint","s":"diypunks","g":[51,6,38]}

   - json parse -- 859: unexpected token at '{“p”:"orc-721","op":"mint","s":"diypunks","g":[51,6,38]}'

!! ERROR(S) in  10075059 / 3e19c5fca18f1c2cce5767e70cb52aa7d7a39b294550b8cacbcc7a1e0e3ef6bfi0:
{“p”:"orc-721","op":"mint","s":"diypunks","g":[7,38]}

   - json parse -- 859: unexpected token at '{“p”:"orc-721","op":"mint","s":"diypunks","g":[7,38]}'

!! ERROR(S) in  10075066 / 9bee9bd1b9c1c26d21627d664bc53240f83d830b58dd63a04d19e03440da0ec7i0:
{“p”:"orc-721","op":"mint","s":"diypunks","g":[51,3,38]}

   - json parse -- 859: unexpected token at '{“p”:"orc-721","op":"mint","s":"diypunks","g":[51,3,38]}'

!! ERROR(S) in  10075427 / aa62ab877ffd5499b43bf0af5cf743cd6f20803ec7a1c7a12b58dd2e38abda5fi0:
{“p”:"orc-721","op":"mint","s":"diypunks","g":[0,30,53]}

   - json parse -- 859: unexpected token at '{“p”:"orc-721","op":"mint","s":"diypunks","g":[0,30,53]}'

!! ERROR(S) in  10077011 / c5a6c2da83270e9da5c8f2c0171bca561432852abd83fde5ee207673adff92dci0:
{“p”:"orc-721","op":"mint","s":"diypunks","g":[59,10,38,57]}

   - json parse -- 859: unexpected token at '{“p”:"orc-721","op":"mint","s":"diypunks","g":[59,10,38,57]}'

!! ERROR(S) in  10079153 / 08f078eab6a56aca496bf3e1dd99c5853ee81b2298440d820a3b3999256a9ba4i0:
{“p”:"orc-721","op":"mint","s":"diypunks","g":[58,8,22,10,37,40,43,46,47,48,53,55,57]}

   - json parse -- 859: unexpected token at '{“p”:"orc-721","op":"mint","s":"diypunks","g":[58,8,22,10,37,40,43,46,47,48,53,55,57]}'

!! ERROR(S) in  10079154 / 4c223cc7f5b87b48616b15b646a014cc3279122fd838a6cb1c369502c3790a0ai0:
{“p”:"orc-721","op":"mint","s":"diypunks","g":[59,8,23,11,30,41,43,46,47,48,53,55,57]}

   - json parse -- 859: unexpected token at '{“p”:"orc-721","op":"mint","s":"diypunks","g":[59,8,23,11,30,41,43,46,47,48,53,55,57]}'

!! ERROR(S) in  10079155 / 0efc8410ce90dd031075b7ff9dde6fc1ef521e03acb33a54d1a881bfa8c3d50fi0:
{“p”:"orc-721","op":"mint","s":"diypunks","g":[59,8,25,13,32,39,43,46,47,48,53,55,57]}

   - json parse -- 859: unexpected token at '{“p”:"orc-721","op":"mint","s":"diypunks","g":[59,8,25,13,32,39,43,46,47,48,53,55,57]}'

!! ERROR(S) in  10079156 / e150228615a6823c6bd8f1a0e8a1734f3f835721d9655f87140d7eda97f46170i0:
{“p”:"orc-721","op":"mint","s":"diypunks","g":[59,8,26,19,38,40,43,46,47,48,53,55,57]}

   - json parse -- 859: unexpected token at '{“p”:"orc-721","op":"mint","s":"diypunks","g":[59,8,26,19,38,40,43,46,47,48,53,55,57]}'

!! ERROR(S) in  10079157 / 3eb330a9a05ef245e83f5e451c6741716859a64c84af61cd70c56c68d9c7069ai0:
{“p”:"orc-721","op":"mint","s":"diypunks","g":[58,8,26,14,33,41,43,46,47,48,53,55,57]}

   - json parse -- 859: unexpected token at '{“p”:"orc-721","op":"mint","s":"diypunks","g":[58,8,26,14,33,41,43,46,47,48,53,55,57]}'

!! ERROR(S) in  10079158 / d3c7f8967cc509200b45e4c1ed84798d1d8c8db83778c3ecd64227ab486eb2b6i0:
{“p”:"orc-721","op":"mint","s":"diypunks","g":[59,8,29,17,36,41,43,46,47,48,53,55,57]}

   - json parse -- 859: unexpected token at '{“p”:"orc-721","op":"mint","s":"diypunks","g":[59,8,29,17,36,41,43,46,47,48,53,55,57]}'

!! ERROR(S) in  10079159 / a4ccd6a4802b9df4fd7d6eea1417b08781c51e5df8ede466b3abb81876002ec6i0:
{“p”:"orc-721","op":"mint","s":"diypunks","g":[58,8,28,16,35,39,43,46,47,48,53,55,57]}

   - json parse -- 859: unexpected token at '{“p”:"orc-721","op":"mint","s":"diypunks","g":[58,8,28,16,35,39,43,46,47,48,53,55,57]}'

!! ERROR(S) in  10079160 / dfb2cf91befb82b3ee9aeaaf9755c1b8ac17e067b15d172bd3515cbc82205debi0:
{“p”:"orc-721","op":"mint","s":"diypunks","g":[59,8,27,15,34,41,43,46,47,48,53,55,57]}

   - json parse -- 859: unexpected token at '{“p”:"orc-721","op":"mint","s":"diypunks","g":[59,8,27,15,34,41,43,46,47,48,53,55,57]}'

!! ERROR(S) in  10079161 / fb8560c2adb52b99e1055e82cdbda78ec55613c3b980332aa1971b6ed48906f6i0:
{“p”:"orc-721","op":"mint","s":"diypunks","g":[58,8,24,12,31,41,43,46,47,48,53,55,57]}

   - json parse -- 859: unexpected token at '{“p”:"orc-721","op":"mint","s":"diypunks","g":[58,8,24,12,31,41,43,46,47,48,53,55,57]}'

!! ERROR(S) in  10079162 / f7c9ec65673ce17b05e6991500ae20b1da18155c115263d22e67d0e5c9aa5cfbi0:
{“p”:"orc-721","op":"mint","s":"diypunks","g":[58,8,25,18,37,40,43,46,47,48,53,55,57]}

   - json parse -- 859: unexpected token at '{“p”:"orc-721","op":"mint","s":"diypunks","g":[58,8,25,18,37,40,43,46,47,48,53,55,57]}'

!! ERROR(S) in  10079233 / edfc295b8febb6abac27ff052f35f11e57162f73b081f7c4df41edf363bd4082i0:
{"p":"orc-721","op":"mint","s":"diypunks","g":[59,4,45,57}

   - json parse -- 451: unexpected token at '}'

!! ERROR(S) in  10079234 / 9852cd9d277dd3a6332822738b6d08da6ab2eca2601cd70f3d1ad82b1311503fi0:
{"p":"orc-721","op":"mint","s":"diypunks","g":[59,0,57}

   - json parse -- 451: unexpected token at '}'

!! ERROR(S) in  10079235 / d0ab6ecbab98e7bb7a0516771722e983ceaa4e1a8289c9d4e400f60ec887e341i0:
{"p":"orc-721","op":"mint","s":"diypunks","g":[3,44,48}

   - json parse -- 451: unexpected token at '}'

!! ERROR(S) in  10079244 / dfddb41f1d4330b1ab22817500c74e114f7fc85dcc1f50a5dce7691d767a5512i0:
{"p":"orc-721","op":"mint","s":"diypunks","g":[1,59,69]}

   - protocol --  g no. 69 out-of-range 0-59 (60) in 'diypunks' mint

!! ERROR(S) in  10079254 / 040eec9fa5161619b7c88ddcf7657a94bf22bf4451c3d4d37c89b182ba29f32ai0:
{"p":"orc-721","op":"mint","s":"diypunks","g":[9,10,54,55,57}

   - json parse -- 451: unexpected token at '}'

!! ERROR(S) in  10079259 / f96aa884059ea790e9cb3bb10697d1b084db4a96deee4e5d930f1e671924673ai0:
{"p":"orc-721","op":"mint","s":"diypunks","g":[1,15,28,38}

   - json parse -- 451: unexpected token at '}'

!! ERROR(S) in  10079263 / 752106d255cbce7296e60f18dbf2496372c287f9595a32e5ae0ee570e2159445i0:
{"p":"orc-721","op":"mint","s":"diypunks","g":[6,15,37,57}

   - json parse -- 451: unexpected token at '}'

!! ERROR(S) in  10079286 / 5fb6cfbff07216d8de0fa63325b55afaca3f927020c34831fb6ada8344049f88i0:
{"p":"orc-721","op":"mint","s":"diypunks","g":[0,42,52,55,57}

   - json parse -- 451: unexpected token at '}'

!! ERROR(S) in  10079290 / f991c0c15669962c35cc67fdca92bb11abde684861a53f43f2a81e94d15a8590i0:
{"p":"orc-721","op":"mint","s":"diypunks","g":[59,3,36,42,48}

   - json parse -- 451: unexpected token at '}'

!! ERROR(S) in  10079294 / 2bc12228966d43a3ac00311e819777ad7457040805e49ff8ea4298b89fb8d1a8i0:
{"p":"orc-721","op":"mint","s":"diypunks","g":[8,34,42,48}

   - json parse -- 451: unexpected token at '}'

!! ERROR(S) in  10079310 / f83b7024102d3b546d390490365dce2b09bad528df5114191d38fb32359a91efi0:
{"p":"orc-721","op":"mint","s":"diypunks","g":[7,19,30,43}

   - json parse -- 451: unexpected token at '}'

!! ERROR(S) in  10079326 / a0ec3b48f2c2932fea646bc408bf546f2f3ccdacd8a5cc439ebe6b71ec674ac9i0:
{"p":"orc-721","op":"mint","s":"diypunks","g":[5,14,68]}

   - protocol --  g no. 68 out-of-range 0-59 (60) in 'diypunks' mint

!! ERROR(S) in  10079694 / 5e02c78eed9799e898631ca896d63aaf63024b2ec59253a51f463681fcc03476i0:
{"p":"orc-721","op":"mint","s":"diypunks","g":[8,13,49,60]}

   - protocol --  g no. 60 out-of-range 0-59 (60) in 'diypunks' mint

!! ERROR(S) in  10080510 / 5d1b25ace8887b71d1c165db234d9b71ebb48f1d93e445ce47786378c70ce115i0:
{"p":"orc-721","op":"mint","s":"diypunks","g":[5,49,68]}

   - protocol --  g no. 68 out-of-range 0-59 (60) in 'diypunks' mint

!! ERROR(S) in  10084181 / 37d76d78b2c5c879f461b167fdf0c6cd3ecaaa05c8684c7b67959bef226b6bb6i0:
{"p":"orc-721","op":"mint","s":"diypunks","g":[5,65,68]}

   - protocol --  g no. 65 out-of-range 0-59 (60) in 'diypunks' mint
   - protocol --  g no. 68 out-of-range 0-59 (60) in 'diypunks' mint

!! ERROR(S) in  10084213 / 8a1bb5537ae35545b2cb85e482564b69d7838583c215f095c3b941930459db9ei0:
{"p":"orc-721","op":"mint","s":"diypunks","g":[1,5,65]}

   - protocol --  g no. 65 out-of-range 0-59 (60) in 'diypunks' mint

!! ERROR(S) in  10084215 / 25faca7d3db6aa46f451a2b4c2ea2532cd9a0c12316fa6a43eae0ab516526bf1i0:
{“p”:"orc-721","op":"mint","s":"diypunks","g":[4,27,37,53]}

   - json parse -- 859: unexpected token at '{“p”:"orc-721","op":"mint","s":"diypunks","g":[4,27,37,53]}'

!! ERROR(S) in  10156103 / 2917103337c3b4d003e59fa831453a2bf878b98c10aa43c71d9f9ee446eb44a6i0:
{“p”:"orc-721","op":"mint","s":"diypunks","g":[59,2,30,58]}

   - json parse -- 859: unexpected token at '{“p”:"orc-721","op":"mint","s":"diypunks","g":[59,2,30,58]}'

!! ERROR(S) in  10156169 / 132ba9f56c2a037ee4dcc51df113d40eaf07aba959b8abb1b7d9d057d7a12e73i0:
{“p”:"orc-721","op":"mint","s":"diypunks","g":[5,38,41,57]}

   - json parse -- 859: unexpected token at '{“p”:"orc-721","op":"mint","s":"diypunks","g":[5,38,41,57]}'

!! ERROR(S) in  10156942 / 8f60122d63a3dfc32cbf8c3e2894552fcb034c1630ff217718aa8f2d02471c99i0:
{“p”:"orc-721","op":"mint","s":"diypunks","g":[2,38,40,57]}

   - json parse -- 859: unexpected token at '{“p”:"orc-721","op":"mint","s":"diypunks","g":[2,38,40,57]}'

!! ERROR(S) in  10229248 / b3cccac683a7bece378d3aea3bd9573e9277bf63474e8ec8103f76c5bcd23e25i0:
{“p”:"orc-721","op":"mint","s":"diypunks","g":[6,37,41,57]}

   - json parse -- 859: unexpected token at '{“p”:"orc-721","op":"mint","s":"diypunks","g":[6,37,41,57]}'

!! ERROR(S) in  10230140 / 68a2f48c791111e2ecaab17d489390a5cacd1c0dc42d7179993d1116bb442f70i0:
{“p”:"orc-721","op":"mint","s":"diypunks","g":[8,30,42,53]}

   - json parse -- 859: unexpected token at '{“p”:"orc-721","op":"mint","s":"diypunks","g":[8,30,42,53]}'

!! ERROR(S) in  10274488 / 926c02cdac80d02b38ec3c132fe3d2fea2d10804893766bc10eb5c613224de8ei0:
{“p”:"orc-721","op":"mint","s":"diypunks","g":[6,15,33,51]}

   - json parse -- 859: unexpected token at '{“p”:"orc-721","op":"mint","s":"diypunks","g":[6,15,33,51]}'


text:
#  D.I.Y. Punks -   Work-In-Progress (WIP)

_The World's 1st (Generative) ORC-721 Collection (on Bitcoin)_

For now the official support channel is the ordinal punks discord
(join us in the #generative-orc-721 channel). For an invite
see <https://twitter.com/OrdinalPunks/status/1620230583711576068>.

For more technical questions & commentary,
please open a new issue / thread here - <https://github.com/ordbase/generative-orc-721/issues>.

For questions directed to the ORC-721 protocol author (Gerald Bauer) personally,
please open a new issue / thread here - <https://github.com/geraldb/help/issues>.

## D.I.Y. Punk Images

### 1) Indexed by inscription id

All mints (valid, broken - if auto-fix possible, "cursed" overflow "negatives")
will get generated in 1x (24x24px) and 4x (96x24px) and uploaded for public use / reference.

The naming format is `/content/<inscription_id>.png` for 1x
and `/content/<inscription_id>@4x.png` for 4x.

Example - [Inscription №9959200](https://ordinals.com/inscription/31bd26c29a483fbcde4c44d0a7f21741d72931e107aae978f43d1f6511b7bba8i0) -  The World's 1st (Generative) ORC-721 ever! - Genesis:

The id is `31bd26c29a483fbcde4c44d0a7f21741d72931e107aae978f43d1f6511b7bba8i0`
with the content:

``` json
{"p":"orc-721","op":"mint","s":"diypunks","g":[58,4,19]}
```

resulting in:

![](https://github.com/ordbase/generative-orc-721/raw/master/content/31bd26c29a483fbcde4c44d0a7f21741d72931e107aae978f43d1f6511b7bba8i0.png)

(Source:
<https://github.com/ordbase/generative-orc-721/raw/master/content/31bd26c29a483fbcde4c44d0a7f21741d72931e107aae978f43d1f6511b7bba8i0.png>)

4x ![](https://github.com/ordbase/generative-orc-721/raw/master/content/31bd26c29a483fbcde4c44d0a7f21741d72931e107aae978f43d1f6511b7bba8i0@4x.png)

(Source: <https://github.com/ordbase/generative-orc-721/raw/master/content/31bd26c29a483fbcde4c44d0a7f21741d72931e107aae978f43d1f6511b7bba8i0@4x.png>

For more see  [/content »](../content)

### 2) Indexed by g(enerative) specs / ids

All mints (valid, broken - if auto-fix possible, "cursed" overflow "negatives")
will get generated in 1x (24x24px) and 4x (96x24px) and uploaded for public use / reference.

The naming format is `/<slug>/g/<generative_ids>.png` for 1x
and `/<slug>/g/<generative_ids>.png@4x.png` for 4x.

Example - [Inscription №9959200](https://ordinals.com/inscription/31bd26c29a483fbcde4c44d0a7f21741d72931e107aae978f43d1f6511b7bba8i0) -  The World's 1st (Generative) ORC-721 ever! - Genesis:

``` json
{"p":"orc-721","op":"mint","s":"diypunks","g":[58,4,19]}
```

![](https://github.com/ordbase/generative-orc-721/raw/master/diypunks/g/58_4_19.png)

(Source:
<https://github.com/ordbase/generative-orc-721/raw/master/diypunks/g/58_4_19.png>)

4x ![](https://github.com/ordbase/generative-orc-721/raw/master/diypunks/g/58_4_19@4x.png)

(Source:
<https://github.com/ordbase/generative-orc-721/raw/master/diypunks/g/58_4_19@4x.png>)

For more see  [/diypunks/g »](g)

### More

SOON!  The reference (open-source) javascript file to render the generative image
online via data fetched from "on-chain" ordinals content only.

## Frequently Asked Questions (F.A.Qs) and Answers

### Q: What's a broken mint inscription?

Your mint inscription MUST be valid json - try any json validation service online or offline.
Example: <https://jsonlint.com>

Example (broken) real-world mints:

- smart (opening & closing) quotes

``` json
```

- "numbers delimited by dot NOT commas

``` json
```

Note: These (broken) inscriptions are still ordinals that you own and, thus, can sell or buy -
are early misprints (or mismints) the new ultra-rares?

### Q:  What can I do if I minted broken inscriptions?

Work-In-Progress

The plan for now is - you are welcome to inscribe again (with a valid json) -
note: your mint inscription will get added on the first-come, first-serve principle
and, thus, if the max limit (721) is hit will get added to the "cursed" overflow "negatives".

The more controversial still under discussion second option (in addition to working first above)
is to start a second "diypunks-v2" collection - with a new ORC-721 deploy inscription e.g.

```json
{
  "p":"orc-721",
  "op":"deploy",
  "slug":"diypunks-v2",
  "name":"D.I.Y. Punks V2",
  "max":721,
  "dim":"24x24",
  "generative":"cf5df319bbe23fa3d012e5ee0810700c8e82aebff41164246f0d87d7b60a9903i0"
}
```

that gives you (and everyone else) a second chance to get in a mint below 721.   If you support this idea
and are interested in doing the "deploy" inscription - please, tell us / say so on the ordinals punk channel!

### Q: Can I mint more than one generative in an inscription?

Sorry - there's a 1:1 (one-to-one) mapping from (generative) text inscription to
(generative) image.  Thus, if you add more than one mint in the inscription
your mint will be broken (even if valid json).

Example broken real-world mints:

``` json
```

Note: These (broken) inscriptions are still ordinals that you own and, thus, can sell or buy -
are early misprints (or mismints) the new ultra-rares?

repo_language: Ruby

mime_type: text/plain


text:
####
#  to run use
#    $ ruby preview/diyaliens.rb

require 'ordgen'

## step 1 - read (local) spritesheet.png ("art layers")
diyaliens   = Ordgen.read( './docs/diyaliens/spritesheet.png',
                                          width: 24,
                                          height: 24 )

specs = [
  [0],
  [0,4],
  [0,1,20],
 ]

specs.each do |attributes|
  puts "==> alien #{attributes.inspect}"
  punk = diyaliens.generate( *attributes )

  path = "./preview/tmp/alien-#{attributes.join('_')}"
  punk.save( path+'.png' )
  punk.zoom(4).save( path+'@4x.png' )
end

puts "bye"


text:
####
#  to run use
#    $ ruby preview/diybirdies.rb

require 'ordgen'

## step 1 - read (local) spritesheet.png ("art layers")
diybirdies    = Ordgen.read( './diybirdies/spritesheet.png',
                                        width: 24,
                                        height: 24 )

specs = [
   [92, 162, 107],
   [91, 141, 102, 207],
   [17, 178, 145, 106],

   ## more
   [91, 205, 126],
   [16, 147, 205],
   [13, 100, 126, 192],

   [22, 124, 96, 192, 209],

   ## more
    [13, 127, 177, 196, 100, 200],
    [49, 191, 129, 167, 98, 215, 197],
    [82, 208, 131, 94, 171, 209, 187],

    ## rerun
    [17, 93, 108, 173],

    ## more (unconfirmed)
    [25, 192, 177, 99],
    [92, 172, 209],
]

specs.each do |attributes|
  puts "==> birdie #{attributes.inspect}"
  punk = diybirdies.generate( *attributes )

  path = "./preview/tmp/birdie-#{attributes.join('_')}"
  punk.save( path+'.png' )
  punk.zoom(4).save( path+'@4x.png' )
end

puts "bye"


text:
####
#  to run use
#    $ ruby preview/diypunks.rb

require 'ordgen'

## step 1 - read (local) spritesheet.png ("art layers")
diypunks   = Ordgen.read( './diypunks/spritesheet.png',
                                          width: 24,
                                          height: 24 )

specs = [
  [0],
  [0,23,44],
  [0,38],
  [59,0,38],
  [1,27,38],
  [58,9,28,38],
  [0,15,31,44,54],
  [0,40,43,30],
  [59,0,47,44,29],

  ## preview asked for
  [5,10],
  [0,26,38,41],
  [8,11,57],
  [8,57,11],
  [5,27,38,55,57],
  [5,27,57,38,55],
  [5,57,38,55],

  [59,5,21,38,48,55],
  [59,5,21,38,55],
  [59,5,38,48,55],

  [1, 34, 42, 48],

  [6, 35, 54, 55],
  [6, 37, 54, 55],

  [59, 5, 26, 38, 43],

  [4,17,36,51],
  [59, 4, 26, 37, 44, 55, 57],

  # konf..
  [1,34,42,48],
  [5,34,42,48],

  # more
  [58,4,19],
]

specs.each do |attributes|
  puts "==> punk #{attributes.inspect}"
  punk = diypunks.generate( *attributes )

  path = "./preview/tmp/punk-#{attributes.join('_')}"
  punk.save( path+'.png' )
  punk.zoom(4).save( path+'@4x.png' )
end

puts "bye"


text:
####
#  to run use
#    $ ruby preview/diymartians.rb

require 'ordgen'

## step 1 - read (local) spritesheet.png ("art layers")
diymartians   = Ordgen.read( './docs/diymartians/spritesheet.png',
                                          width: 24,
                                          height: 24 )

specs = [
  [0,31,39,36],
  [44,1,10,23],
  [2,7,18,25,29,37,44],
  [1,32,35,34,39,9],
 ]

specs.each do |attributes|
  puts "==> martian #{attributes.inspect}"
  punk = diymartians.generate( *attributes )

  path = "./preview/tmp/martian-#{attributes.join('_')}"
  punk.save( path+'.png' )
  punk.zoom(4).save( path+'@4x.png' )
end

puts "bye"


text:
####
#  to run use
#    $ ruby preview/diyordibots.rb

require 'ordgen'

## step 1 - read (local) spritesheet.png ("art layers")
diyordibots   = Ordgen.read( './diyordibots/spritesheet.png',
                                          width: 32,
                                          height: 32 )

specs = [
  [1,4,7,21,24],
  [0,5,22,23,11],

  [2,5,16,23,9],

  [3,6,9,17,26],
  [2,4,16,23,9],

  [0,3,16,25,14],
 ]

specs.each do |attributes|
  puts "==> bot #{attributes.inspect}"
  punk = diyordibots.generate( *attributes )

  path = "./preview/tmp/bot-#{attributes.join('_')}"
  punk.save( path+'.png' )
  punk.zoom(4).save( path+'@4x.png' )
end

puts "bye"


text:
####
#  to run use
#    $ ruby preview/btcwords.rb

require 'ordgen'

## step 1 - read (local) spritesheet.png ("art layers")
btcwords   = Ordgen.read( './btcwords/spritesheet.png',
                                          width: 102,
                                          height: 32 )

specs = [
  [0,53,58,98,110,153],
  [0,53,58,100,115,153],
 ]

specs.each do |attributes|
  puts "==> btcword #{attributes.inspect}"
  img = btcwords.generate( *attributes )

  path = "./preview/tmp/btcword-#{attributes.join('_')}"
  img.save( path+'.png' )
  img.zoom(4).save( path+'@4x.png' )
end

puts "bye"


text:
####
#  to run use
#    $ ruby preview/diyapes.rb

require 'ordgen'

## step 1 - read (local) spritesheet.png ("art layers")
diyapes  = Ordgen.read( './docs/diyapes/spritesheet.png',
                                          width: 24,
                                          height: 24 )

specs = [
  [0],
  [0,10,14],
  [0,1,20],
 ]

specs.each do |attributes|
  puts "==> ape #{attributes.inspect}"
  punk = diyapes.generate( *attributes )

  path = "./preview/tmp/ape-#{attributes.join('_')}"
  punk.save( path+'.png' )
  punk.zoom(4).save( path+'@4x.png' )
end

puts "bye"


text:
####
#  to run use
#    $ ruby preview/genesis.rb

require 'ordgen'

## step 1 - read (local) spritesheet.png ("art layers")
genesis   = Ordgen.read( './docs/genesis/spritesheet.png',
                                          width: 24,
                                          height: 24 )

specs = [
  [0, 11, 61, 50, 34, 12, 19],
]

specs.each do |attributes|
  puts "==> punk #{attributes.inspect}"
  punk = genesis.generate( *attributes )

  path = "./preview/tmp/genesis-#{attributes.join('_')}"
  punk.save( path+'.png' )
  punk.zoom(4).save( path+'@4x.png' )
end

puts "bye"


text:
####
#  to run use
#    $ ruby preview/diymaxibiz.rb

require 'ordgen'

## step 1 - read (local) spritesheet.png ("art layers")
diymaxibiz   = Ordgen.read( './diymaxibiz/spritesheet.png',
                                          width: 24,
                                          height: 24 )

specs = [
  [83,72],
]

specs.each do |attributes|
  puts "==> maxibiz #{attributes.inspect}"
  punk = diymaxibiz.generate( *attributes )

  path = "./preview/tmp/maxibiz-#{attributes.join('_')}"
  punk.save( path+'.png' )
  punk.zoom(4).save( path+'@4x.png' )
end

puts "bye"


text:
####
#  to run use
#    $ ruby preview/diyphunks.rb

require 'ordgen'

## step 1 - read (local) spritesheet.png ("art layers")
diyphunks   = Ordgen.read( './diyphunks/spritesheet.png',
                                          width: 24,
                                          height: 24 )

specs = [
  [5,57,38],
  [4,57,38],

  [59,0,38],
  [58,4,19],
]

specs.each do |attributes|
  puts "==> phunk #{attributes.inspect}"
  punk = diyphunks.generate( *attributes )

  path = "./preview/tmp/phunk-#{attributes.join('_')}"
  punk.save( path+'.png' )
  punk.zoom(4).save( path+'@4x.png' )
end

puts "bye"


text:
####
#  to run use
#    $ ruby preview/orangepixels.rb

require 'ordgen'

module Pixelart

class Image

  ## neon glow special effect
  def neon( color )
     ## find color - assume 1-bit (one color only)
     colors = pixels.uniq.sort    ## let 0 (transparent go first)

     if colors.size != 2 && colors[0] != 0
       puts "!! ERROR - 1-bit image expected; got #{colors.inspect}"
       exit 1
     end

    foreground = colors[1]

    ## transparent & white
    inverse1 = change_colors( {
              foreground => 'ffffff',  ## 1-bit color to white
            })

    ## transparent & color
    inverse2 = change_colors( {
                foreground => color,  ##  1-bit color to color
           })

####
# inspired by
#   https://css-tricks.com/how-to-create-neon-text-with-css/
#
# .neonText {
#    color: #fff;
#    text-shadow:
#      // white glow
#       0 0 7px #fff,
#       0 0 10px #fff,
#       0 0 21px #fff,
#      // green glow
#       0 0 42px #0fa,
#       0 0 82px #0fa,
#       0 0 92px #0fa,
#       0 0 102px #0fa,
#       0 0 151px #0fa;

    base = Image.new( width, height, Color::BLACK )
    base.compose!( inverse2.blur( 12 ) )  # -blur 21x21
    base.compose!( inverse2.blur( 6 ) )  # -blur 10x10
    base.compose!( inverse2.blur( 4 ) )   # -blur 7x7

    base.compose!( inverse1.blur( 2 ) )   # -blur 2x2
    base.compose!( inverse1 )
    base
  end
end # class Image
end # module Pixelart

## step 1 - read (local) spritesheet.png ("art layers")
orangepixels  =  Ordgen.read( './orangepixels/spritesheet.png',
                                          width: 24,
                                          height: 24 )

specs = [
  ## ordinal punk no. 1
  [128, 129, 130, 131, 132, 133, 134, 151, 159, 174, 184, 198, 208, 222, 232, 246, 256, 270, 272, 273, 274, 275, 276, 277, 278, 279, 280, 293, 294, 296, 297, 299, 300, 301, 303, 304, 316, 317, 320, 321, 322, 323, 324, 325, 326, 327, 328, 341, 342, 344, 345, 346, 347, 350, 351, 352, 366, 376, 390, 393, 394, 395, 396, 397, 398, 399, 400, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 437, 438, 439, 440, 441, 442, 446, 447, 448, 449, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 534, 536, 537, 538, 539, 540, 541, 542, 543, 544, 558, 562, 563, 564, 565, 566, 567],
  ## smile face
  [55, 56, 57, 58, 59, 77, 78, 84, 85, 100, 101, 109, 110, 123, 134, 146, 147, 150, 155, 158, 159, 170, 183, 194, 207, 208, 218, 225, 232, 242, 253, 256, 266, 270, 276, 277, 280, 290, 294, 300, 304, 314, 319, 320, 321, 322, 323, 328, 339, 352, 363, 364, 375, 376, 388, 389, 390, 399, 415, 416, 417, 421, 422, 441, 442, 443, 444],
  ## knight
  [100, 102, 104, 124, 125, 126, 127, 128, 148, 149, 150, 151, 152, 156, 157, 158, 159, 160, 172, 174, 176, 180, 181, 182, 183, 184, 198, 204, 208, 222, 226, 228, 229, 231, 232, 234, 246, 249, 250, 252, 253, 255, 256, 258, 259, 270, 273, 274, 276, 277, 278, 279, 280, 282, 283, 294, 297, 298, 306, 307, 317, 318, 319, 322, 323, 324, 325, 326, 327, 328, 329, 330, 341, 342, 343, 344, 346, 347, 348, 349, 350, 351, 352, 353, 354, 356, 365, 366, 367, 368, 371, 372, 373, 374, 375, 376, 377, 380, 390, 403, 404, 419, 420, 421, 422, 423, 424, 425, 427, 428, 443, 444, 445, 446, 447, 448, 449, 467, 468, 469, 471, 472, 473, 491, 492, 493, 495, 496, 497, 515, 516, 517, 519, 520, 521],
  ## frog
  [178, 179, 180, 182, 183, 184, 201, 205, 206, 209, 224, 225, 226, 228, 229, 230, 231, 233, 248, 249, 250, 252, 253, 254, 255, 257, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 295, 296, 297, 307, 319, 320, 322, 323, 324, 325, 326, 327, 328, 329, 331, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 366, 369, 370, 371, 372, 373, 374, 375, 376, 377, 389, 390, 391, 392, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 440, 441, 443, 445, 462, 463, 467, 469, 485, 486, 487, 488, 489, 492, 494],
  ## bitcoin money bag
  [128, 129, 130, 131, 132, 133, 134, 151, 159, 176, 182, 201, 202, 203, 204, 205, 224, 228, 230, 247, 252, 255, 270, 274, 280, 293, 296, 297, 298, 299, 305, 316, 321, 324, 330, 340, 345, 346, 347, 354, 364, 369, 372, 375, 378, 389, 392, 393, 394, 395, 398, 401, 414, 418, 424, 439, 447, 464, 465, 466, 467, 468, 469, 470],
  ## coffee
  [109, 134, 154, 155, 158, 177, 180, 181, 201, 226, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 330, 331, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 354, 355, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 378, 379, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 402, 403, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 426, 427, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 487, 488, 489, 490, 491, 492, 493, 494],

  ## ???
  [115, 116, 117, 128, 129, 130, 131, 132, 133, 134, 139, 141, 151, 159, 163, 165, 174, 184, 187, 188, 189, 198, 208, 211, 213, 222, 232, 235, 237, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 259, 260, 261, 270, 271, 281, 283, 285, 293, 295, 297, 302, 305, 307, 309, 317, 319, 324, 329, 331, 332, 333, 342, 343, 347, 349, 353, 355, 357, 366, 368, 369, 370, 372, 374, 375, 376, 379, 381, 390, 400, 403, 404, 405, 414, 424, 427, 429, 438, 443, 444, 445, 446, 448, 450, 453, 462, 468, 471, 472, 473, 476, 486, 493, 499, 510, 514, 515, 516, 517, 518, 519, 520, 521, 522, 534, 538, 558, 562],

    [57, 58, 59, 60, 61, 80, 86, 103, 111, 127, 133, 135, 138, 139, 140, 141, 151, 153, 155, 157, 158, 159, 160, 161, 163, 165, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 182, 184, 186, 188, 189, 193, 195, 197, 199, 201, 203, 205, 207, 209, 211, 212, 217, 218, 220, 222, 224, 226, 228, 230, 231, 232, 233, 234, 235, 242, 243, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 268, 269, 270, 271, 280, 294, 295, 297, 298, 301, 302, 304, 318, 319, 321, 325, 328, 342, 343, 352, 367, 376, 391, 392, 395, 397, 400, 415, 416, 417, 423, 424, 439, 440, 443, 444, 445, 448, 464, 465, 471, 488, 489, 490, 494, 512, 513, 514, 515, 516, 517, 536, 537, 538, 539, 540, 560, 561, 562, 563, 564],
  ## more
  [128, 129, 130, 131, 132, 133, 134, 151, 159, 174, 177, 178, 179, 180, 181, 182, 184, 198, 200, 207, 208, 222, 223, 232, 246, 256, 270, 272, 273, 274, 278, 279, 280, 293, 296, 297, 298, 302, 303, 304, 317, 320, 321, 322, 326, 327, 328, 342, 352, 366, 376, 390, 391, 400, 414, 415, 420, 424, 438, 440, 444, 447, 448, 462, 465, 466, 470, 472, 486, 491, 492, 493, 495, 510, 514, 515, 516, 517, 518, 534, 538, 558, 562],
]

specs = [
  [129, 133, 150, 151, 153, 154, 155, 156, 157, 159, 175, 176, 177, 178, 179, 180, 181, 182, 200, 201, 202, 203, 204, 206, 225, 227, 228, 229, 230, 231, 249, 250, 251, 252, 253, 254, 256, 257, 273, 274, 275, 276, 277, 279, 280, 281, 282, 298, 299, 300, 301, 303, 305, 307, 321, 322, 323, 324, 327, 328, 329, 330, 331, 345, 347, 348, 369, 370, 371, 372, 392, 393, 394, 395, 414, 415, 416, 417, 419, 420, 437, 438, 440, 441, 442, 443, 444, 460, 462, 463, 464, 466, 468, 486, 488, 490, 492],
  [129, 133, 150, 151, 153, 154, 155, 156, 157, 159, 175, 176, 177, 178, 179, 180, 181, 182, 200, 201, 202, 203, 204, 206, 225, 227, 228, 229, 230, 231, 249, 250, 251, 252, 253, 254, 256, 257, 273, 274, 275, 276, 277, 279, 280, 281, 282, 298, 299, 300, 301, 303, 305, 307, 321, 322, 323, 324, 327, 328, 329, 330, 331, 345, 347, 348, 369, 370, 371, 372, 392, 393, 394, 395, 414, 415, 416, 417, 419, 420, 437, 438, 440, 441, 442, 443, 444, 460, 462, 463, 464, 466, 468, 486, 488, 490, 492],
  [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10,
  11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
  21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
  31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
  41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
  51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
  61, 62, 63, 64, 65, 66, 67, 68, 69, 70,
  71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
  81, 82, 83, 84, 85, 86, 87, 88, 89, 90,
  91, 92, 93, 94, 95, 96, 97, 98, 99, 100,
  101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
  111, 112, 113, 114, 115, 116, 117, 118, 119, 120,
  121, 122, 123, 124, 125, 126, 127, 128, 129, 130,
  131, 132, 133, 134, 135, 136, 137, 138, 139, 140,
  141, 142, 143, 144, 145, 146, 147, 148, 149, 161,
  162, 163, 164, 165, 166, 167, 168, 169, 170, 171,
  172, 186, 187, 188, 189, 190, 191, 192, 193, 194,
  195, 196, 210, 211, 212, 213, 214, 215, 216, 217,
  225, 226, 227, 231, 232, 237, 238, 239, 240, 241,
  244, 245, 246, 249, 250, 251, 252, 253, 254, 255,
  256, 258, 259, 261, 262, 263, 264, 265, 268, 269,
  270, 273, 274, 276, 277, 278, 280, 282, 283, 285,
  286, 287, 288, 289, 292, 293, 294, 297, 298, 300,
  301, 302, 304, 309, 310, 311, 312, 313, 316, 317,
  318, 321, 322, 323, 324, 325, 326, 327, 328, 329,
  331, 333, 334, 335, 336, 337, 345, 346, 347, 349,
  350, 351, 352, 353, 357, 358, 359, 360, 361, 362,
  363, 364, 369, 370, 371, 372, 379, 380, 381, 382,
  383, 384, 385, 386, 387, 388, 394, 395, 396, 397,
  398, 399, 400, 402, 403, 404, 405, 406, 407, 408,
  409, 410, 411, 412, 413, 425, 426, 427, 428, 429,
  430, 431, 432, 433, 434, 435, 436, 437, 438, 439,
  440, 441, 442, 443, 444, 445, 446, 447, 448, 449,
  450, 451, 452, 453, 454, 455, 456, 457, 458, 459,
  460, 461, 462, 463, 464, 465, 466, 467, 468, 469,
  470, 471, 472, 473, 474, 475, 476, 477, 478, 479,
  480, 481, 482, 483, 484, 485, 486, 487, 488, 489,
  490, 491, 492, 493, 494, 495, 496, 497, 498, 499,
  500, 501, 502, 503, 504, 505, 506, 507, 508, 509,
  510, 511, 512, 513, 514, 515, 516, 517, 518, 519,
  520, 521, 522, 523, 524, 525, 526, 527, 528, 529,
  530, 531, 532, 533, 534, 535, 536, 537, 538, 539]
]

specs.each do |attributes|
  puts "==> orange #{attributes.inspect}"
  img = orangepixels.generate( *attributes )

  ## note: use first five numbers and add pix(el) count
  path = "./preview/tmp3/orange-#{attributes[0,5].join('_')}-pix#{attributes.count}"
  img.save( path+'.png' )
  img.zoom(4).save( path+'@4x.png' )

=begin
  neon = img.neon( 'ff9900' )    ## bitcoin orange
  neon.save( path+'_neon.png' )
  neon.zoom(4).save( path+'_neon@4x.png' )
  neon.zoom(8).save( path+'_neon@8x.png' )

  neon = img.neon( '00ff00' )    ## fed green
  neon.save( path+'_neon-green.png' )
  neon.zoom(4).save( path+'_neon-green@4x.png' )
  neon.zoom(8).save( path+'_neon-green@8x.png' )
=end
end

puts "bye"


text:
#####
# begin config settings - change for your collection

# slug = 'diypunks'
# max  = 721              ##  to be done - get "automagically" from deploy inscribe
# name = 'D.I.Y. Punk'
# offset = 0   ## start counting at (offset) 0 or (offset) 1

#  end config settings
###

def generate_page( slug:, max:, name:,
                            offset: 0 )

  recs = read_csv( "./#{slug}/mint.csv" )
  recs = recs[0, max]    ## cut-off "cursed" overflow "negatives" if any

  puts "   #{recs.size } mint record(s)"

  ## (lookup) mapping (table) ord num to ord id
  mapping = read_csv( "./market/#{slug}_ids.csv" ).reduce( {} ) do |mapping, rec|
                                           mapping[rec['num']] = rec['id']
                                           mapping
                                      end

  ## pp mapping

  ## note:  add s for plural now
  title  =   name.end_with?( 's') ||
             name.end_with?( 'z') ? name : "#{name}s"

  buf = <<TXT
## #{title} (#{slug}) max. #{max}

TXT

  recs.each_with_index do |rec,i|

    num = rec['num']
    id = mapping[ num ]

    tooltip = "#{name} ##{i} - № #{num}"

    buf << %Q[]
    buf << %Q[]
    buf << "\n"
  end

buf += <<TXT

---

Page Generated with [Ordlite - Ordinal Inscription (SQL) Database - Scripts](https://github.com/ordbase/generative-orc-721/tree/master/ordlite).
TXT

  buf
end


text:
#####
#  generate inscriptions.json dataset
##    for ordinals wallet et al
#
#  to run use:
#    $ ruby market/diyaliens.rb

require 'cocos'      ## quick starter ruby "standard" library
                     ##  cocos == code commons
                     ##  see https://rubygems.org/gems/cocos

require_relative 'market'     ## use/pull-in (shared) code

inscriptions = generate_inscriptions(
                      slug: 'diyaliens',
                      max: 100,
                      name: 'D.I.Y. Recursive Alien',
                      include_images: true,
                      include_attributes: true,
                      include_dna: true
                     )

write_json( "./market/diyaliens_inscriptions.json",
             inscriptions )

puts 'bye'


text:
#####
#  generate inscriptions.json dataset
##    for ordinals wallet et al
#
#  to run use:
#    $ ruby market/diycoolcats.rb

require 'cocos'      ## quick starter ruby "standard" library
                     ##  cocos == code commons
                     ##  see https://rubygems.org/gems/cocos

require_relative 'market'     ## use/pull-in (shared) code

inscriptions = generate_inscriptions(
                      slug: 'diycoolcats',
                      max: 721,
                      name: 'D.I.Y. Cool Cat',
                      include_images: true
                     )

write_json( "./market/diycoolcats_inscriptions.json",
             inscriptions )

puts 'bye'


text:
#####
# begin config settings - change for your collection

# slug = 'diypunks'
# max  = 721              ##  to be done - get "automagically" from deploy inscribe
# name = 'D.I.Y. Punk'
# offset = 0   ## start counting at (offset) 0 or (offset) 1

#  end config settings
###

def generate_inscriptions( slug:, max:, name:,
                            offset: 0,
                            include_images: false,
                            include_attributes: false,
                            include_dna: false  )

  recs = read_csv( "./#{slug}/mint.csv" )
  recs = recs[0, max]    ## cut-off "cursed" overflow "negatives" if any

  puts "   #{recs.size } mint record(s)"

  ## (lookup) mapping (table) ord num to ord id
  mapping = read_csv( "./market/#{slug}_ids.csv" ).reduce( {} ) do |mapping, rec|
                                           mapping[rec['num']] = rec['id']
                                           mapping
                                      end

  ## pp mapping

  meta =  if include_attributes
              read_csv( "./#{slug}/meta.csv" )
          else
             []
          end

  ## note: MUST sort meta records by id!!!
  ##          do NOT assume / expected sorted records!!!!
  meta = meta.sort do |l,r|
                         l['id'].to_i(10) <=> r['id'].to_i(10)
                   end

  data = []
  recs.each_with_index do |rec,i|

    id = mapping[ rec['num']]

    h = {
      'id' => id,
      'meta' => {
         'name' => "#{name} ##{i+offset}",
      }
    }

    if include_attributes
        attributes = []

        ## for delimiter allow for now:  - why? why not?
        ##     (multiple) space ( )
        ##      command or semicolon
        g  =  rec['g'].strip.split( %r{[ ,;/_-]+} ).map {|v| v.to_i(10) }
        g.each do |value|
           attribute  = meta[value]
           if attribute.nil?
              puts "!! ERROR - no meta record found g no. #{value}; sorry"
              exit 1
           end
           attributes << { 'trait_type' => attribute['category'],
                           'value'      => "#{value} - #{attribute['name']}" }
        end

        if include_dna
          attributes <<  { 'trait_type' => 'DNA',
                           'value'      => g.join( ' ' ) }
        end

        h['meta']['attributes'] = attributes
    end

    h['meta']['high_res_img_url'] = "https://ordbase.github.io/content/#{id}.png"  if include_images

   data << h
  end

  data
end


text:
#####
#  generate inscriptions.json dataset
##    for ordinals wallet et al
#
#  to run use:
#    $ ruby market/diypunks.rb

require 'cocos'      ## quick starter ruby "standard" library
                     ##  cocos == code commons
                     ##  see https://rubygems.org/gems/cocos

require_relative 'market'     ## use/pull-in (shared) code

inscriptions = generate_inscriptions(
                      slug: 'diypunks',
                      max: 721,
                      name: 'D.I.Y. Punk',
                      include_images: true,
                      include_attributes: true,
                      include_dna: true
                     )

write_json( "./market/diypunks_inscriptions.json",
             inscriptions )

puts 'bye'


text:
#####
#  generate collection page
#
#  to run use:
#    $ ruby market/orangepixels_page.rb

require 'cocos'      ## quick starter ruby "standard" library
                     ##  cocos == code commons
                     ##  see https://rubygems.org/gems/cocos

require_relative 'page'     ## use/pull-in (shared) code

page = generate_page(
                      slug: 'orangepixels',
                      max: 100,
                      name: 'Orange Pixels'
                     )

write_text( "./market/tmp/orangepixels/README.md",
             page )

puts 'bye'


text:
require 'cocos'

backgrounds = {
   ## backgrounds
   'Bitcoin Orange' => '189b02ffc8aac68a45102e9837a1ca92e422bf5544d9011a863626cf6b0abeeai0',
   'Bitcoin Pattern' => '43e93e43f2dac75b141baaa5b08df440e0b6ec5755577a9554a7af6540447bb7i0',
   'Red' => '39d774f7d7514371c88bc4f939346f6b23000c9892ac4ae8ea36c76694e3b842i0',
   'Green' => 'b268b2acccd6b04680c2aa3130863ffbaa450f6870f100af678428cd07212ef6i0',
   'Dollar Pattern' => 'ac810c9098681e100964166b7510d1ac371c147861b0ae2a862da3a8b8256037i0',
   'Blue' => '4b9f880df07b072a4147a62acdd0881d024d14da6d84174db9b5ac555b71b346i0',
   'Aqua' => '014ad6ed6297bc4ed624b2856e036c6bde115d51eb7200b14e3b3413ad53db08i0',
   'Classic' => 'e139b5b0649186772cbf044bb8d3c5e43b77e3cf0472008ce2aaf52966c921eci0',
   'Rainbow' => '6eb271ad3fdd15cc2ec34dda462e71aaa8a7ef7e306cfd189931ef37216a9c60i0',
   'Ukraine' => '47cb34f1d73371df0b27ca0a259927fa80e2b2d9ee0e1d487fca5c9029b67b49i0',
}

data = []
backgrounds.each_with_index do |(name, id),i|

  h = {
    'id' => id,
    'meta' => {
       'name' => "Boring Background ##{i}",
       'attributes' => [{ 'trait_type' => 'Background',
                           'value'     => name }
                       ]
    }
  }
  data << h
end

data

pp data

write_json( "./market/backgrounds_inscriptions.json",
             data )

puts "bye"


text:
#####
#  generate inscriptions.json dataset
##    for ordinals wallet et al
#
#  to run use:
#    $ ruby market/diymartians.rb

require 'cocos'      ## quick starter ruby "standard" library
                     ##  cocos == code commons
                     ##  see https://rubygems.org/gems/cocos

require_relative 'page'     ## use/pull-in (shared) code

page = generate_page(
    slug: 'diymartians',
    max: 100,
    name: 'D.I.Y. Martian',
   )

write_text( "./market/tmp/diymartians/README.md",
             page )

puts 'bye'


text:
#####
#  generate inscriptions.json dataset
##    for ordinals wallet et al
#
#  to run use:
#    $ ruby market/diymartians.rb

require 'cocos'      ## quick starter ruby "standard" library
                     ##  cocos == code commons
                     ##  see https://rubygems.org/gems/cocos

require_relative 'market'     ## use/pull-in (shared) code

inscriptions = generate_inscriptions(
                      slug: 'diymartians',
                      max: 100,
                      name: 'D.I.Y. Martian',
                      include_images: true,
                      include_attributes: true,
                      include_dna: true
                     )

write_json( "./market/diymartians_inscriptions.json",
             inscriptions )

puts 'bye'


text:
#####
#  generate inscriptions.json dataset
##    for ordinals wallet et al
#
#  to run use:
#    $ ruby market/diymaxibiz_page.rb

require 'cocos'      ## quick starter ruby "standard" library
                     ##  cocos == code commons
                     ##  see https://rubygems.org/gems/cocos

require_relative 'page'     ## use/pull-in (shared) code

page = generate_page(
    slug: 'diymaxibiz',
    max: 100,
    name: 'D.I.Y. Maxi Biz',
   )

write_text( "./market/tmp/diymaxibiz/README.md",
             page )

puts 'bye'


text:
#####
#  generate inscriptions.json dataset
##    for ordinals wallet et al
#
#  to run use:
#    $ ruby market/diyordibots.rb

require 'cocos'      ## quick starter ruby "standard" library
                     ##  cocos == code commons
                     ##  see https://rubygems.org/gems/cocos

require_relative 'market'     ## use/pull-in (shared) code

##
# note: for name use SINGULAR used for:
#   e.g. D.I.Y. Ordibot #0
#        D.I.Y. Ordibot #1
#        D.I.Y. Ordibot #2
#        ...

inscriptions = generate_inscriptions(
                      slug: 'diyordibots',
                      max: 1000,
                      name: 'D.I.Y. Ordibot'
                     )

write_json( "./market/diyordibots_inscriptions.json",
             inscriptions )

puts 'bye'


text:
#####
#  generate inscriptions.json dataset
##    for ordinals wallet et al
#
#  to run use:
#    $ ruby market/diyapes.rb

require 'cocos'      ## quick starter ruby "standard" library
                     ##  cocos == code commons
                     ##  see https://rubygems.org/gems/cocos

require_relative 'market'     ## use/pull-in (shared) code

inscriptions = generate_inscriptions(
                      slug: 'diyapes',
                      max: 100,
                      name: 'D.I.Y. Recursive Ape',
                      include_images: true,
                      include_attributes: true,
                      include_dna: true
                     )

write_json( "./market/diyapes_inscriptions.json",
             inscriptions )

puts 'bye'


text:
#####
#  generate inscriptions.json dataset
##    for ordinals wallet et al
#
#  to run use:
#    $ ruby market/diymaxibiz.rb

require 'cocos'      ## quick starter ruby "standard" library
                     ##  cocos == code commons
                     ##  see https://rubygems.org/gems/cocos

require_relative 'market'     ## use/pull-in (shared) code

inscriptions = generate_inscriptions(
                      slug: 'diymaxibiz',
                      max: 100,
                      name: 'D.I.Y. Maxi Biz (Punk)',
                      include_images: true,
                      include_attributes: true,
                      include_dna: true
                     )

write_json( "./market/diymaxibiz_inscriptions.json",
             inscriptions )

puts 'bye'


text:
#####
#  generate images for mint indexed by inscription ids
##    for ordinals wallet et al
#
#  to run use:
#    $ ruby market/images.rb

require 'ordgen'

## slug = 'diyaliens'
## max  = 100              ##  to be done - get "automagically" from deploy inscribe

## slug = 'diycoolcats'
# slug = 'diycoolcats'
# max  = 721
width = 24
height = 24

## slug = 'diymartians'
## slug = 'diyphunks'
slug = 'diymaxibiz'
max  = 100

recs = read_csv( "./#{slug}/mint.csv" )
## recs = recs[0, max]    ## cut-off "cursed" overflow "negatives" if any

puts "   #{recs.size } mint record(s)"

## (lookup) mapping (table) ord num to ord id
mapping = read_csv( "./market/#{slug}_ids.csv" ).reduce( {} ) do |mapping, rec|
                                         mapping[rec['num']] = rec['id']
                                         mapping
                                    end

## pp mapping

## read (local) spritesheet.png ("art layers")
gen    = Ordgen.read( "./#{slug}/spritesheet.png",
                                        width: width,
                                        height: height )

recs.each_with_index do |rec,i|

   id = mapping[ rec['num']]
   if id.nil?
     puts "!! error - no inscribe num to inscribe id mapping found for:"
     pp rec
     exit 1
   end

   puts "==> #{i} - #{id} ..."

   g = gen._parse( rec['g'] )
   img = gen.generate( *g )

   path = "../ordbase.github.io/content/#{id}.png"
   img.save( path )
end

puts 'bye'


text:
require 'cocos'

martians = {
'Orange'      =>  '0829dc471f8bb92a971dfdfb00a71c016b833c8f1d5f39dcb15aa5535d08fc15i0',
 'Gold'        =>  '9482552ec759b76577b28923741eb4bfc7770cead528755bf8fa44196ae9318ci0',
 'Cyber Green'  =>  '5b8eb4a05f13fffc49f824f457fb080b67e4fdc312fbbf2f804cef59e6d5fad2i0',
 'Deep Blue'    =>  '85e0efd6cc2801ab7e1fe28e23110441348ca40481599f880c571ff4f69f066fi0',
 'Midnight'    =>  '7953ccb6614a41e7b4c4ed2a2b112b52feda387de92de2c1a314f03d5da41955i0',
 'Magenta'     =>  '2f1219924cfa01f9816581e8a39e201f15e19ab447e852ff9b43b13fa7b0c75di0',
 'Mars Red'     =>  'e60f597ec41c50e823ea382c101dfc2f30c13a927222be3b73cedd88bd1b9237i0',
}

data = []
martians.each_with_index do |(name, id),i|

  h = {
    'id' => id,
    'meta' => {
       'name' => "Martian ##{i}",
       'attributes' => [{ 'trait_type' => 'Base',
                           'value'     => name }
                       ]
    }
  }
  data << h
end

data

pp data

write_json( "./market/martians_inscriptions.json",
             data )

puts "bye"


text:
# Wen Market?

**Wen Market? Wen Magic Eden (ME)? Wen Ordinals Wallet (OW)?  See [/market @ Bitcoin Ordinal Generative (ORC-721 / OG / Ordgen) Community »](https://github.com/inscribes/market)**

To help with market submission  ...

Q: How can I generate a inscriptions.json dataset?

Let's try the  D.I.Y. Ordibots (w/ slug: diyordibots)
collection ...

Use / start with the [market/diyordibots.rb](diyordibots.rb) script ...

... that will auto-generate a filled-in basic skeleton
of an inscriptions.json dataset ...

... to run ... you must install the ruby machinery  (and the ruby package manager called rubygems ) ...

...  than get a copy of the repo - you can download as zip archive  or if you are a "power user" use $ git clone

...   to run the script use ...

    $ ruby market/diyordibots.rb

... that's it  ... that will get you  `market/diyordibots_inscriptions.json` generated  (using the
[`diyordibots/mint.csv`](../diyordibots/mint.csv) &
[`market/diyordibots_ids.csv`](diyordibots_ids.csv) tabular datasets in the comma-separated values (.csv) format)

.. that's the basic skeleton ...

## Questions? Comments?

Please post in the #generative-orc-721 channel
in the ordinal punks discord.
For an invite
see <https://twitter.com/OrdinalPunks/status/1620230583711576068>.


text:
#####
#  generate collection page
#
#  to run use:
#    $ ruby market/diypunks_page.rb

require 'cocos'      ## quick starter ruby "standard" library
                     ##  cocos == code commons
                     ##  see https://rubygems.org/gems/cocos

require_relative 'page'     ## use/pull-in (shared) code

page = generate_page(
                      slug: 'diypunks',
                      max: 721,
                      name: 'D.I.Y. Punk'
                     )

write_text( "./market/tmp/diypunks/README.md",
             page )

puts 'bye'


text:
!! ERROR(S) in  12800642 / f2807a47edeb36d61f3f779c6a37b0665709cfa8d113ca928e1f1eed2153e1b7i0:
{"p":"orc-721","op":"mint","s":"diymartians","g":["g":[1,32,35,34,39,9]}

   - json parse -- 451: unexpected token at ':[1,32,35,34,39,9]}'