;; stacks-duck
;; contractType: public
(impl-trait 'SP2PABAF9FTAJYNFZH93XENAJ8FVY99RRM50D2JG9.nft-trait.nft-trait)
(define-non-fungible-token stacks-duck uint)
;; Constants
(define-constant DEPLOYER tx-sender)
(define-constant COMM u1000)
(define-constant COMM-ADDR 'SPNWZ5V2TPWGQGVDR6T7B6RQ4XMGZ4PXTEE0VQ0S)
(define-constant ERR-NO-MORE-NFTS u100)
(define-constant ERR-NOT-ENOUGH-PASSES u101)
(define-constant ERR-PUBLIC-SALE-DISABLED u102)
(define-constant ERR-CONTRACT-INITIALIZED u103)
(define-constant ERR-NOT-AUTHORIZED u104)
(define-constant ERR-INVALID-USER u105)
(define-constant ERR-LISTING u106)
(define-constant ERR-WRONG-COMMISSION u107)
(define-constant ERR-NOT-FOUND u108)
(define-constant ERR-PAUSED u109)
(define-constant ERR-MINT-LIMIT u110)
(define-constant ERR-METADATA-FROZEN u111)
(define-constant ERR-AIRDROP-CALLED u112)
(define-constant ERR-NO-MORE-MINTS u113)
(define-constant ERR-INVALID-PERCENTAGE u114)
;; Internal variables
(define-data-var mint-limit uint u500)
(define-data-var last-id uint u1)
(define-data-var total-price uint u10000000)
(define-data-var artist-address principal 'SP127263XG6REJ1H6YSNWCEKM9E6XBZ03F4MYR1S5)
(define-data-var ipfs-root (string-ascii 80) "ipfs://ipfs/QmcHXc88NkuYUjy1VwmbWijKMM6GzSyyHK5TqUjuCD3cfG/json/")
(define-data-var mint-paused bool true)
(define-data-var premint-enabled bool false)
(define-data-var sale-enabled bool false)
(define-data-var metadata-frozen bool false)
(define-data-var airdrop-called bool false)
(define-data-var mint-cap uint u3)
(define-map mints-per-user principal uint)
(define-map mint-passes principal uint)
(define-public (claim)
(mint (list true)))
;; Mintpass Minting
(define-private (mint (orders (list 25 bool)))
(let
(
(passes (get-passes tx-sender))
)
(if (var-get premint-enabled)
(begin
(asserts! (>= passes (len orders)) (err ERR-NOT-ENOUGH-PASSES))
(map-set mint-passes tx-sender (- passes (len orders)))
(mint-many orders)
)
(begin
(asserts! (var-get sale-enabled) (err ERR-PUBLIC-SALE-DISABLED))
(mint-many orders)
)
)))
(define-private (mint-many (orders (list 25 bool )))
(let
(
(last-nft-id (var-get last-id))
(enabled (asserts! (<= last-nft-id (var-get mint-limit)) (err ERR-NO-MORE-NFTS)))
(art-addr (var-get artist-address))
(id-reached (fold mint-many-iter orders last-nft-id))
(price (* (var-get total-price) (- id-reached last-nft-id)))
(total-commission (/ (* price COMM) u10000))
(current-balance (get-balance tx-sender))
(total-artist (- price total-commission))
(capped (> (var-get mint-cap) u0))
(user-mints (get-mints tx-sender))
)
(asserts! (or (is-eq false (var-get mint-paused)) (is-eq tx-sender DEPLOYER)) (err ERR-PAUSED))
(asserts! (or (not capped) (is-eq tx-sender DEPLOYER) (is-eq tx-sender art-addr) (>= (var-get mint-cap) (+ (len orders) user-mints))) (err ERR-NO-MORE-MINTS))
(map-set mints-per-user tx-sender (+ (len orders) user-mints))
(if (or (is-eq tx-sender art-addr) (is-eq tx-sender DEPLOYER) (is-eq (var-get total-price) u0000000))
(begin
(var-set last-id id-reached)
(map-set token-count tx-sender (+ current-balance (- id-reached last-nft-id)))
)
(begin
(var-set last-id id-reached)
(map-set token-count tx-sender (+ current-balance (- id-reached last-nft-id)))
(try! (stx-transfer? total-artist tx-sender (var-get artist-address)))
(try! (stx-transfer? total-commission tx-sender COMM-ADDR))
)
)
(ok id-reached)))
(define-private (mint-many-iter (ignore bool) (next-id uint))
(if (<= next-id (var-get mint-limit))
(begin
(unwrap! (nft-mint? stacks-duck next-id tx-sender) next-id)
(+ next-id u1)
)
next-id))
(define-public (set-artist-address (address principal))
(begin
(asserts! (or (is-eq tx-sender (var-get artist-address)) (is-eq tx-sender DEPLOYER)) (err ERR-INVALID-USER))
(ok (var-set artist-address address))))
(define-public (set-price (price uint))
(begin
(asserts! (or (is-eq tx-sender (var-get artist-address)) (is-eq tx-sender DEPLOYER)) (err ERR-INVALID-USER))
(ok (var-set total-price price))))
(define-public (toggle-pause)
(begin
(asserts! (or (is-eq tx-sender (var-get artist-address)) (is-eq tx-sender DEPLOYER)) (err ERR-INVALID-USER))
(ok (var-set mint-paused (not (var-get mint-paused))))))
(define-public (set-mint-limit (limit uint))
(begin
(asserts! (or (is-eq tx-sender (var-get artist-address)) (is-eq tx-sender DEPLOYER)) (err ERR-INVALID-USER))
(asserts! (< limit (var-get mint-limit)) (err ERR-MINT-LIMIT))
(ok (var-set mint-limit limit))))
(define-public (burn (token-id uint))
(begin
(asserts! (is-owner token-id tx-sender) (err ERR-NOT-AUTHORIZED))
(asserts! (is-none (map-get? market token-id)) (err ERR-LISTING))
(nft-burn? stacks-duck token-id tx-sender)))
(define-private (is-owner (token-id uint) (user principal))
(is-eq user (unwrap! (nft-get-owner? stacks-duck token-id) false)))
(define-public (set-base-uri (new-base-uri (string-ascii 80)))
(begin
(asserts! (or (is-eq tx-sender (var-get artist-address)) (is-eq tx-sender DEPLOYER)) (err ERR-NOT-AUTHORIZED))
(asserts! (not (var-get metadata-frozen)) (err ERR-METADATA-FROZEN))
(print { notification: "token-metadata-update", payload: { token-class: "nft", contract-id: (as-contract tx-sender) }})
(var-set ipfs-root new-base-uri)
(ok true)))
(define-public (freeze-metadata)
(begin
(asserts! (or (is-eq tx-sender (var-get artist-address)) (is-eq tx-sender DEPLOYER)) (err ERR-NOT-AUTHORIZED))
(var-set metadata-frozen true)
(ok true)))
(define-public (reveal-artwork (new-base-uri (string-ascii 80)))
(begin
(asserts! (or (is-eq tx-sender (var-get artist-address)) (is-eq tx-sender DEPLOYER)) (err ERR-NOT-AUTHORIZED))
(asserts! (not (var-get metadata-frozen)) (err ERR-METADATA-FROZEN))
(var-set ipfs-root new-base-uri)
(ok true)))
;; Non-custodial SIP-009 transfer function
(define-public (transfer (id uint) (sender principal) (recipient principal))
(begin
(asserts! (is-eq tx-sender sender) (err ERR-NOT-AUTHORIZED))
(asserts! (is-none (map-get? market id)) (err ERR-LISTING))
(trnsfr id sender recipient)))
;; read-only functions
(define-read-only (get-owner (token-id uint))
(ok (nft-get-owner? stacks-duck token-id)))
(define-read-only (get-last-token-id)
(ok (- (var-get last-id) u1)))
(define-read-only (get-token-uri (token-id uint))
(ok (some (concat (concat (var-get ipfs-root) "{id}") ".json"))))
(define-read-only (get-paused)
(ok (var-get mint-paused)))
(define-read-only (get-price)
(ok (var-get total-price)))
(define-read-only (get-artist-address)
(ok (var-get artist-address)))
(define-read-only (get-mints (caller principal))
(default-to u0 (map-get? mints-per-user caller)))
(define-read-only (get-mint-limit)
(ok (var-get mint-limit)))
(define-data-var license-uri (string-ascii 80) "https://arweave.net/zmc1WTspIhFyVY82bwfAIcIExLFH5lUcHHUN0wXg4W8/5")
(define-data-var license-name (string-ascii 40) "PERSONAL-NO-HATE")
(define-read-only (get-license-uri)
(ok (var-get license-uri)))
(define-read-only (get-license-name)
(ok (var-get license-name)))
(define-public (set-license-uri (uri (string-ascii 80)))
(begin
(asserts! (or (is-eq tx-sender (var-get artist-address)) (is-eq tx-sender DEPLOYER)) (err ERR-NOT-AUTHORIZED))
(ok (var-set license-uri uri))))
(define-public (set-license-name (name (string-ascii 40)))
(begin
(asserts! (or (is-eq tx-sender (var-get artist-address)) (is-eq tx-sender DEPLOYER)) (err ERR-NOT-AUTHORIZED))
(ok (var-set license-name name))))
;; Non-custodial marketplace extras
(use-trait commission-trait 'SP3D6PV2ACBPEKYJTCMH7HEN02KP87QSP8KTEH335.commission-trait.commission)
(define-map token-count principal uint)
(define-map market uint {price: uint, commission: principal, royalty: uint})
(define-read-only (get-balance (account principal))
(default-to u0
(map-get? token-count account)))
(define-private (trnsfr (id uint) (sender principal) (recipient principal))
(match (nft-transfer? stacks-duck id sender recipient)
success
(let
((sender-balance (get-balance sender))
(recipient-balance (get-balance recipient)))
(map-set token-count
sender
(- sender-balance u1))
(map-set token-count
recipient
(+ recipient-balance u1))
(ok success))
error (err error)))
(define-private (is-sender-owner (id uint))
(let ((owner (unwrap! (nft-get-owner? stacks-duck id) false)))
(or (is-eq tx-sender owner) (is-eq contract-caller owner))))
(define-read-only (get-listing-in-ustx (id uint))
(map-get? market id))
(define-public (list-in-ustx (id uint) (price uint) (comm-trait <commission-trait>))
(let ((listing {price: price, commission: (contract-of comm-trait), royalty: (var-get royalty-percent)}))
(asserts! (is-sender-owner id) (err ERR-NOT-AUTHORIZED))
(map-set market id listing)
(print (merge listing {a: "list-in-ustx", id: id}))
(ok true)))
(define-public (unlist-in-ustx (id uint))
(begin
(asserts! (is-sender-owner id) (err ERR-NOT-AUTHORIZED))
(map-delete market id)
(print {a: "unlist-in-ustx", id: id})
(ok true)))
(define-public (buy-in-ustx (id uint) (comm-trait <commission-trait>))
(let ((owner (unwrap! (nft-get-owner? stacks-duck id) (err ERR-NOT-FOUND)))
(listing (unwrap! (map-get? market id) (err ERR-LISTING)))
(price (get price listing))
(royalty (get royalty listing)))
(asserts! (is-eq (contract-of comm-trait) (get commission listing)) (err ERR-WRONG-COMMISSION))
(try! (stx-transfer? price tx-sender owner))
(try! (pay-royalty price royalty))
(try! (contract-call? comm-trait pay id price))
(try! (trnsfr id owner tx-sender))
(map-delete market id)
(print {a: "buy-in-ustx", id: id})
(ok true)))
(define-data-var royalty-percent uint u500)
(define-read-only (get-royalty-percent)
(ok (var-get royalty-percent)))
(define-public (set-royalty-percent (royalty uint))
(begin
(asserts! (or (is-eq tx-sender (var-get artist-address)) (is-eq tx-sender DEPLOYER)) (err ERR-INVALID-USER))
(asserts! (and (>= royalty u0) (<= royalty u1000)) (err ERR-INVALID-PERCENTAGE))
(ok (var-set royalty-percent royalty))))
(define-private (pay-royalty (price uint) (royalty uint))
(let (
(royalty-amount (/ (* price royalty) u10000))
)
(if (and (> royalty-amount u0) (not (is-eq tx-sender (var-get artist-address))))
(try! (stx-transfer? royalty-amount tx-sender (var-get artist-address)))
(print false)
)
(ok true)))
;; Extra functionality required for mintpass
(define-public (toggle-sale-state)
(let
(
;; (premint (not (var-get premint-enabled)))
(sale (not (var-get sale-enabled)))
)
(asserts! (or (is-eq tx-sender (var-get artist-address)) (is-eq tx-sender DEPLOYER)) (err ERR-NOT-AUTHORIZED))
(var-set premint-enabled false)
(var-set sale-enabled sale)
(print { sale: sale })
(ok true)))
(define-public (enable-premint)
(begin
(asserts! (or (is-eq tx-sender (var-get artist-address)) (is-eq tx-sender DEPLOYER)) (err ERR-NOT-AUTHORIZED))
(ok (var-set premint-enabled true))))
(define-public (disable-premint)
(begin
(asserts! (or (is-eq tx-sender (var-get artist-address)) (is-eq tx-sender DEPLOYER)) (err ERR-NOT-AUTHORIZED))
(ok (var-set premint-enabled false))))
(define-read-only (get-passes (caller principal))
(default-to u0 (map-get? mint-passes caller)))
(define-read-only (get-premint-enabled)
(ok (var-get premint-enabled)))
(define-read-only (get-sale-enabled)
(ok (var-get sale-enabled)))
(map-set mint-passes 'SP1020NWPB2Q59ZG82REVKZK4EHC1KMXWT0HXWP16 u1)
(map-set mint-passes 'SP103BZSXCX2YF8HXMN8DDP5Z46DN4A0HPRDYJXDD u1)
(map-set mint-passes 'SP10XK7F9BCVS8853HQT01HARD1NJ8K8V5KEBR2QS u1)
(map-set mint-passes 'SP1195B9V962PS0K70HZ37G0X22F8G8JAM2FJKDTH u1)
(map-set mint-passes 'SP126A5RTT72H344N7Y0XWEZ2G6DRM51YHDJPQVBG u2)
(map-set mint-passes 'SP135Q4A1W9HFT0ZW2VC4F0ER32EJAFX5ZME05JYW u1)
(map-set mint-passes 'SP13ENEXS3ZTJXWD0S5PY95S94V8DSRWTZ8AGVARV u2)
(map-set mint-passes 'SP13XQRXPVHE3X861Q0KSP3EEAK0Y5XGK780K013P u1)
(map-set mint-passes 'SP14TMQH37FXX0XG577R6D3426SPX1QT0KMEG0ZXJ u2)
(map-set mint-passes 'SP15P56F24FAY09RVRM98J0NDCW2P3JTDWWK8RQ1J u1)
(map-set mint-passes 'SP15SC7G0PBTS0WPDC0ZX96X1CXE76Y22E9XFH4G3 u1)
(map-set mint-passes 'SP1697EFBW8FY52GFF1ETR7P7JH76T6M7ZQ2TR7FB u1)
(map-set mint-passes 'SP16AZ9829ABNJ8TXV57DCDP6Q67VBSA43RYXC1F0 u1)
(map-set mint-passes 'SP16FECHZJPM4Z95D0Y2G7MSPGK0JHHCAE13X1PEW u1)
(map-set mint-passes 'SP16GW8PK05GD4JAK3JSFWGZ9RS1XQ8ENPKP5MV0V u1)
(map-set mint-passes 'SP16H5R1ZDFJQ7FE3ZYZKGFD8QTGPAGVEYWQXJMS5 u1)
(map-set mint-passes 'SP16PRV5FEZRH1KNFWNJTZ9HHZGWMPFB6G1QKE607 u1)
(map-set mint-passes 'SP16QNZ84F3BCT1M1MDRGYDJN93DPV1T7F023QKXT u1)
(map-set mint-passes 'SP16SBBARZXTKF6FJNA5BXWBPH220SPPVAYVJE94J u1)
(map-set mint-passes 'SP16SBKQZBG3HTRS82P8SKFGVHQJ8V6JTVTCB3QG1 u1)
(map-set mint-passes 'SP17D2C9PE4WAV8J8GAY1DBWZ9G4KQY68KKMFC9CD u2)
(map-set mint-passes 'SP17V7MYJ9VEHXBN1VMH71K4PATTB8JPPNBWFP5QJ u1)
(map-set mint-passes 'SP19EKY4ZZ93M32DQT1YZWYKBYXDQJQY59B4AMP9C u1)
(map-set mint-passes 'SP19W4NEX8X6ESNZ0H2TDTYRBN6VHNSS8XZAJPBA8 u1)
(map-set mint-passes 'SP1AGAJKWZ1MGYDC36H0TJ8C1R61VSGB2GN7QDVYR u1)
(map-set mint-passes 'SP1CHWS7TDP36PPVWV8E4Q8QV7S8SZPYYWW9N0ZW8 u1)
(map-set mint-passes 'SP1CQXBYR1FE2Z7CEVP23Z39WQ48KNAS2CV03GF3V u2)
(map-set mint-passes 'SP1CSWBBEXKF4GH170P90FXJS100KXW9YK42K5EB4 u1)
(map-set mint-passes 'SP1DG0FG2712VT0A4KGCV5EC6XS1EQSEMG4F32SVF u1)
(map-set mint-passes 'SP1E22HKNAM2J2M07QCMZYX6R00KPF3XC13SQHR5M u1)
(map-set mint-passes 'SP1EMXT9RET8W5TXQ325BG3TJ6X15NXV5GKEGVQE6 u1)
(map-set mint-passes 'SP1ENWK27YHX7N11GZY2GRP98RP3SHAG3M2ZT8JMB u1)
(map-set mint-passes 'SP1F5Y37R832GR5JPRY0S03546QDK5WRTWBP3XF5A u1)
(map-set mint-passes 'SP1FTZADJT2VX04ZC3JG3EAK8F908D8JF441AM036 u2)
(map-set mint-passes 'SP1HAERDMC22TKFYE3A72ZH190WE85G3Z83NFQTRQ u2)
(map-set mint-passes 'SP1J083RDYE2TQTKWRNG8JQ3Y4W0YYR0PA6517NFJ u1)
(map-set mint-passes 'SP1JPXYVHY7AW8XVT11XPK41XFNGSC8VSM4ZATVY4 u1)
(map-set mint-passes 'SP1K8RG4PV202FHT8J9023G1WJRPFTSZXN9TPNEJX u1)
(map-set mint-passes 'SP1M3C6626ANZ7MZDZPEXD9KHRZA0R70DWC8XNYZG u2)
(map-set mint-passes 'SP1MEWJPW7H2VCGV9P1H7SC2N2ZQ1GNHSQW24PXKW u1)
(map-set mint-passes 'SP1NFRJJFQAA5AB4R8RDA3F0WEBZHK0HQSKW1PPNY u1)
(map-set mint-passes 'SP1NK0YX5C77ESNW1MC928AM3PQDBW1NB0G3XHX4V u1)
(map-set mint-passes 'SP1NKDGDA9C64YJWC6FBHSJHK0KETG4D6E2B37HZ0 u1)
(map-set mint-passes 'SP1NQ0WG5PTB7M2N3PNNPG5XFD7N14VXKHZ9NQP08 u2)
(map-set mint-passes 'SP1NQT9PMVBWHZHSM13RD6CYF86G4YA99JR5Q1NM5 u1)
(map-set mint-passes 'SP1P2XGDSVYHXZ6GQAM4N7CX89GTZKBRP2BQF0G15 u1)
(map-set mint-passes 'SP1QVQHBQ94TDR69TB407DQYFZWZW9NX59A09TXHH u1)
(map-set mint-passes 'SP1R3X7PFRWG4X2RP8C4QZF7410CP7NRQXFB4WWTN u2)
(map-set mint-passes 'SP1RHMAECX3BJN4EXBYR143JW9FQ9JSK8EV96C7N2 u1)
(map-set mint-passes 'SP1SGREESCFG5C7Y7NS5TJS1X3GZ9TKC3PXEF9ZMX u1)
(map-set mint-passes 'SP1SV9KJ9ZRH8HTS20G57RQ757PBPBBC2ZTA4BPD4 u1)
(map-set mint-passes 'SP1T07GK9H4M0WP4N1DSSA7NJ7GNTQZ0GBZM0GAR2 u2)
(map-set mint-passes 'SP1T9EYHJPAFC9187Q92PG5NMSTF5T141X5RBMED7 u1)
(map-set mint-passes 'SP1VF0YPY4A9ZSMA0JVNXPBXKMV16J3Z4HQQGVMY7 u2)
(map-set mint-passes 'SP1VGB56BSXWF6T0P4841G3SD4TY3424T8C62JQS5 u1)
(map-set mint-passes 'SP1VW71S1H79GF812Q7ZDZ3MKW23V8YK8FV5E7AQ9 u1)
(map-set mint-passes 'SP1VWZ87JH5QVYB1FZ9274Q597XR1ZAQ99KGCTEFS u2)
(map-set mint-passes 'SP1XJ6GNTDVF6HR1VHPQDMFZJY87D9W6TGMH3QCP u2)
(map-set mint-passes 'SP1YEFK4DJDH5SB9SGAXM9GTB6E3FBGT7R83ZQX42 u1)
(map-set mint-passes 'SP1ZJHN74VH26SPHHJB4YP6NSEYVKFZD1W0ZK5K9H u2)
(map-set mint-passes 'SP20BG6DH4NEVAADQX5FMWQMGPYWMVKVAM4VA9P1P u1)
(map-set mint-passes 'SP21VASG1A54EXQG9SGFDZHWC515X942XWR2PJ0RT u1)
(map-set mint-passes 'SP21XPYZX9E156065K65CWY4EQ6Z79P1QP4JC6JXW u1)
(map-set mint-passes 'SP245RYQHC7TZH2VDQ95KHG4CNKMYYX9Z8A08BGTE u1)
(map-set mint-passes 'SP249PJACGRB83R9GQR64BV250BP5D8T8GEB3B71Y u1)
(map-set mint-passes 'SP25WCP3QWQR6EGASRKW0KVSQ460PNHFBQ79VAZDR u1)
(map-set mint-passes 'SP27CFVZD59PV5NCKP83GWYR9ZJHMFTAEY0ZKHVGC u1)
(map-set mint-passes 'SP27PJ00M5V9Y6TTPMGM5REESJA1F9ZPQBY7FKJTS u1)
(map-set mint-passes 'SP27YJ4ATAB5WK4SP3ZESV2AXXGSTNJT9HMFEKS0N u1)
(map-set mint-passes 'SP284M0TYY4B0Z9DM5H3FMFBGRHD1ADAKQN9EZRJ6 u1)
(map-set mint-passes 'SP296K1JB7V6E2S8WHYHBAE4MVR0PFCATQXYVYVJ8 u1)
(map-set mint-passes 'SP297PNXJFZ3ZS9RDCXN9DT0YQWX0GJES2N5FZZAF u1)
(map-set mint-passes 'SP29AR7Z3C3C4GQ0K9S03H4S4ACE27E7AK94JP376 u2)
(map-set mint-passes 'SP2A15MGAYDK5JYDF4BTZQZN7MQR29AZ14C2968BH u1)
(map-set mint-passes 'SP2AAH3SQWN8KR51J4X678P0FHJQT5ATF283VTVR4 u1)
(map-set mint-passes 'SP2AYX2WTDQ1XXEQQ8DF4A1TJFRK8XS7X3ZF9XYXR u1)
(map-set mint-passes 'SP2B7X8B230SZ8A8S8E6GG46MN71JTGHWBRR26HB0 u1)
(map-set mint-passes 'SP2C1QGPCE4SDWCVVKZW196DZSV04CE5J5944VK18 u1)
(map-set mint-passes 'SP2CF3E6Q7SCYDDM73DXRHHPR59VXXZJW1CAMGPAV u1)
(map-set mint-passes 'SP2CKYHCX61KAZ1V3BKB56HJVAPBKCQ5ZG3B1DSJN u1)
(map-set mint-passes 'SP2CQTA4FDFGZ1570DSEAMGHXNPKVM9JQ8J1KSJ9P u1)
(map-set mint-passes 'SP2CTPAPT2PHJ3ARMF5T2CZ7390HC0HAA77XSV09Z u1)
(map-set mint-passes 'SP2DCFHTZSY5YKSRHC7YRD1AD6HRA9CBZENCM4NGV u1)
(map-set mint-passes 'SP2DP0WQQS8CQ1Z5ZXRC0NFD4S9KERBG79CKTP9BX u1)
(map-set mint-passes 'SP2E4JE5BXQ6XVG86D2BBKSK3N9W49TEMY12CAATF u1)
(map-set mint-passes 'SP2EAJ6Y0STA70HBJF4V2DVRHEZZ50RXYHB2HP73K u1)
(map-set mint-passes 'SP2FZ154ESZ8NB34RZ3RS147GD6DSEYNE8DQD0XDM u1)
(map-set mint-passes 'SP2GDV9P09CSTKHKGTMZDT98PE64DZM1XVQH93JNV u1)
(map-set mint-passes 'SP2GHCPM134Y28EZKNKEMF7SBK0BQ1QW1QASYWS6Z u1)
(map-set mint-passes 'SP2H8CEZRSK22DR7APBSZ689SBKCQ6NXKWWFKA6E9 u1)
(map-set mint-passes 'SP2HN53NXSFTEAR028RK4SN9A68WJWT7WHEF2HWKF u1)
(map-set mint-passes 'SP2HRD15AE0WESKPR6X3B2XAPM9XHP1YJ3X07R4SV u1)
(map-set mint-passes 'SP2JMAGG7RKKSMR512SHKD8701B8X1G0DWPJ2EWKK u2)
(map-set mint-passes 'SP2JP42VVTK9WXT066CVG522DEG14DBZMD2Z6XNSV u1)
(map-set mint-passes 'SP2KW7JS1S4F4FQD869JCCKS2QC8NZJWBPFFMW6R4 u2)
(map-set mint-passes 'SP2KZ24AM4X9HGTG8314MS4VSY1CVAFH0G1KBZZ1D u1)
(map-set mint-passes 'SP2M2KRF7G9AWZBZR44MQDQTCSDSMH3KK3C5K24XJ u2)
(map-set mint-passes 'SP2M7K3YM8813404G1R7AXV106CPWH0Z5ZA80JVAV u1)
(map-set mint-passes 'SP2N5R4HKBB8XV3HKQ0ZH7RHDCS8M99PJKKQFA9FZ u1)
(map-set mint-passes 'SP2Q1SZSETS27AZ9FE0BH6C6B7MVC25E4N6C2VE7D u2)
(map-set mint-passes 'SP2QKVPXG87TZ01JMRH1VP3S38AWN32NBS5B4CWT0 u2)
(map-set mint-passes 'SP2R126DG40EJ788NMERJANVD5KZDMHGCCJVCJEKG u1)
(map-set mint-passes 'SP2R3YKTB23MB7DFV4QWX9XYW5NWF4EMQ281VS67Q u1)
(map-set mint-passes 'SP2RWS7D7RW6DDZCTXJC0VTK86CKD0TF445116V8A u1)
(map-set mint-passes 'SP2S1DKT1YND5AP2Y0Z5ZCC40DSZ4CGDGPHR9ZC2R u1)
(map-set mint-passes 'SP2SBT6D37033NTT0X5347YZYZ45MQTPFZR3G45V0 u1)
(map-set mint-passes 'SP2SSYRDJV1XN6R5YFCH97DXZAHVXEGWTHW561GMR u1)
(map-set mint-passes 'SP2T5ZS0WA4BP31E3CTK5GDAY3VKJ1JXSGHDQZD66 u1)
(map-set mint-passes 'SP2V4FR0V4AQAWJ8K42K2MYWBEBHABQEAG4AHSJNR u1)
(map-set mint-passes 'SP2VSNARK8SZVTGY99H9X1AGYZJ7JDKCAJ5S7FBZ7 u1)
(map-set mint-passes 'SP2VV13N9RB97ZFKEV7XKAYJ99VZSQ75MMR1NX4S u1)
(map-set mint-passes 'SP2WRX7ZAR4Z1SJ5V1NHBXZHWX2112HATSDV4R0Y5 u1)
(map-set mint-passes 'SP2Y26YP28QDYNBSKNTCSZX6RY7XTX985M6FB7A0T u1)
(map-set mint-passes 'SP2Y949F5EE2J7HA42DX9V2Y6N9HZP3CVSE54H7D1 u1)
(map-set mint-passes 'SP2YCATJ9Y8PMJT8ZYHMMP0BEB4MJW7ZJ6K726TA8 u1)
(map-set mint-passes 'SP2YQCF4DMRWRPKD0EVNDY3AJ0BBS9FQH548GCHND u1)
(map-set mint-passes 'SP2YRJ2KVJPTW4M43VTZDFSQQ0YPGK5YN7VH9Q4MX u1)
(map-set mint-passes 'SP2ZGXB09V8T0TV1Q75PKA8YVMQBC0ZPFYAE18972 u1)
(map-set mint-passes 'SP2ZNGJ85ENDY6QRHQ5P2D4FXKGZWCKTB2T0Z55KS u1)
(map-set mint-passes 'SP30XFAJZB1X97T2HZ7TN92FS99J0NT9RE70RD0F6 u1)
(map-set mint-passes 'SP313MRFF9AK07W9P1WETX32ZTH3V9MQ6VVM8BF62 u1)
(map-set mint-passes 'SP315M8WEFX6NGCNPT4DBA0S8ZXYZ53WFM6AQ7A73 u1)
(map-set mint-passes 'SP3188CJTN5YDY77KPT90AJJKHJKDSSMZ5T1PFF4D u1)
(map-set mint-passes 'SP31WBJXH49DR7RHHKSDG1G637KDNV8PVZZY42QRR u1)
(map-set mint-passes 'SP328JMZFQ05WNNV95TGEHZ3A8EGVA7QS8N591YTY u1)
(map-set mint-passes 'SP329G766AV8Z01X9EEAHPDQ4WDJXT2A0XB383MGP u2)
(map-set mint-passes 'SP32NV1QKM844AWM2HE1DY4Y91XY7B6R4ZP3WEMFG u1)
(map-set mint-passes 'SP32RW3MTSXT35777C31HKMJ3QV083CQNQQYBJXGA u1)
(map-set mint-passes 'SP32TE91ANJ3PP71SNNHXEX146CSQ46XTK3X6K0P4 u1)
(map-set mint-passes 'SP3307SZ5NAEVBA51M20AF6R3BW6VXTBJ3YG26TW5 u1)
(map-set mint-passes 'SP34ZPE43SCAWGC66CE9W2CEQHZV19E6ECX3Y3P78 u1)
(map-set mint-passes 'SP35R4DXWZRPMPTSNK0FFW714H9HPWH3R35Z4GVJC u1)
(map-set mint-passes 'SP35ZPRFSCA52PW0P9N52D2AWP9QWTFH8RFM23G44 u1)
(map-set mint-passes 'SP364QSH21GDVVJE569DPP0D7BX6F7B0V94G9HQ8F u1)
(map-set mint-passes 'SP36SCFGSAMY3J262QX98RDR82SVM454A5BZWR4WA u1)
(map-set mint-passes 'SP36XMD4PSF0CXT8J7HF2KZ4HWPAEDNV63S4N4KHV u1)
(map-set mint-passes 'SP376XP7PTDGN3WQ3S679S2960AJCKFT424EGSXR4 u1)
(map-set mint-passes 'SP38DJAQGP9TPG6YGN45H0A1FC157N9MNTNJRJ8BG u1)
(map-set mint-passes 'SP38SQNV5HTF199R1SYB2K4ZVQBWZKRNPGTZ6HSB2 u1)
(map-set mint-passes 'SP391GX0F1AXY2Z10GT9XK1H96KNCSW9NTXE78DNF u1)
(map-set mint-passes 'SP39D1KM11G5Q58P3X0AAECYS20ZV9WMJ3ZH2HVC2 u1)
(map-set mint-passes 'SP3A6XPVBKZMGP64ND3R5585QXBFFG9G96XCW4THB u1)
(map-set mint-passes 'SP3AJC728JY0Y43E8RT6K4VDWPT265RDMXJ8M0VH0 u2)
(map-set mint-passes 'SP3ANMVKK0P1YT48CMYEBWRFKSEM1N212TB2A1P78 u2)
(map-set mint-passes 'SP3ATPX57BE3SM2AN7VA9HH3FQX1B8SARGAF6ZMM9 u1)
(map-set mint-passes 'SP3B2T9W0ZSJYBDCHKFFNFANFN0533BGZSEY6BCF0 u1)
(map-set mint-passes 'SP3B7QJB089R9Q0AKFGXKRZ823RJQMMQNPHKGCYCD u1)
(map-set mint-passes 'SP3BZEVK82JSY4V7CH9P6P6YS0A1CAXM0X6SSYT4P u1)
(map-set mint-passes 'SP3CTD9QK4J1MKT34X6QDS3YXNM3B52MPVAJJ2APR u2)
(map-set mint-passes 'SP3DAN1BY12T5VEG3DN4M21P95N8VZHBTV7M1E9G1 u1)
(map-set mint-passes 'SP3EH5BNB7PMT8X4KNY2G6TEZEN5N011YBPSYGBP4 u1)
(map-set mint-passes 'SP3EPF8SDR32488BHA4VS7RSHFGQBAD7YBVKH9Q2S u2)
(map-set mint-passes 'SP3F2FFV2HP3E3ZFE1YGZ1RN5122W1XBT7EDYBKSD u1)
(map-set mint-passes 'SP3G4PMTKD5QKVGANHXP7TDZZ26Y31VDT08E1VH66 u1)
(map-set mint-passes 'SP3GCHVJ1PPSDC4VV8GNMYXX29ZXJDR95KY0MRY29 u1)
(map-set mint-passes 'SP3HHSDMT76FTYZF4FCWEKZQ6DCHVHNTPW710Y7WX u1)
(map-set mint-passes 'SP3HKNMX72JT1JASAAT08YX7SV6BSZ43YKGYJF9T6 u1)
(map-set mint-passes 'SP3JTYTBEVZF30HFSNE2T3VC03WQPYXXNFHC737H1 u1)
(map-set mint-passes 'SP3KXV3J6MRHAH4H89MDS390X1KS0GQN4DWQ5RFVB u2)
(map-set mint-passes 'SP3MBR504GBD6VDXS0J79ZSXNGPK0KS21MXC5M6CA u2)
(map-set mint-passes 'SP3MT4MZC4SMRK2FT9G95SR7GR2N9EG580AECTEP9 u1)
(map-set mint-passes 'SP3MYZ2T7JA4GYBYMSZ4ZJYEYTZ69JDD0M7W4BQ8V u1)
(map-set mint-passes 'SP3N363ZT59GTMAVSSCQKJ2SW7T4GMEYKWDY6PGPJ u1)
(map-set mint-passes 'SP3N3TX17HEJ256KH10T85Z4WBNJKNX3ZMEA5V96Q u1)
(map-set mint-passes 'SP3NQT56AQA86Z1DAD30Q56PYQ59TA6C37NTN85KA u1)
(map-set mint-passes 'SP3PM04S7CRJ4GWYH5EKN7CT0GD4AVJP8X8813C63 u1)
(map-set mint-passes 'SP3PZ1TD5QBKAK55MTPWJR288W7VMPXA2WNM2SHKT u1)
(map-set mint-passes 'SP3Q3AWAM21JQEGHQNDERCG7QJHVZRZ5EM0WJ7K2K u1)
(map-set mint-passes 'SP3Q4Q2YFMCGWPW440YQ8836RJ1DA12NE8YR4K1NC u2)
(map-set mint-passes 'SP3QKE2BE9JX52759E9C30V5C60RKK2DBFRF6NVPV u1)
(map-set mint-passes 'SP3RJJTZY19WP6DMFNXWAJ2E6MNPNRW3VB7T8H78H u1)
(map-set mint-passes 'SP3RYDKM1K785D2133JCSK0NE69Z6Y9B32KD314YF u1)
(map-set mint-passes 'SP3S9319FJ6M59FX2MNXSW2CVVE65D32RBTVW5AFE u1)
(map-set mint-passes 'SP3SN54DH2A25J3EFYSHQ5CQRYXHN195XVMA6XMWQ u1)
(map-set mint-passes 'SP3SQ52YMRV4T07HXFD762T5V3MRZVMT6WRZGH36V u1)
(map-set mint-passes 'SP3STF9VYF79XVKV8JJG4RN1EJ9PWMJWJZAY3G14T u1)
(map-set mint-passes 'SP3TAQCT0KQ1TC9E6XJ33J26XPG1DGSPS61M61H9G u2)
(map-set mint-passes 'SP3V433BG2J340NC3429VG5CPGX3F326PBE1QV197 u1)
(map-set mint-passes 'SP3W9H51SDTQ3H79T5QHW7HZMHQKDWS178NN7MNGT u1)
(map-set mint-passes 'SP3XEDSYT332VHN25137CDTZEP8RE9EXTCE9X867V u1)
(map-set mint-passes 'SP3Y8JBHCCVZE6FPV2NBP7CTA9MXMAMQAMR7FR20 u1)
(map-set mint-passes 'SP3ZQ3PRK7K9YG2E1AA2F4KAV6TZ876XDEQQBBGDB u2)
(map-set mint-passes 'SP3ZTY2CAGNRRDE9RJNNF849S5B4TAVMPA7RNVA0X u1)
(map-set mint-passes 'SP4YEE50TT22VEZS6389YQM31SXFP6V4BT8R8ZY9 u1)
(map-set mint-passes 'SP5TN2MP8EW41ECDDS9R10AZJAACV5RFBVP6PR6X u1)
(map-set mint-passes 'SP6QE8PDVDRKGG6NACCZZQBP4TH0GDTQ8XCZJSFX u1)
(map-set mint-passes 'SP796QP76MDZSRJSXSS7WC23W4D6TWXP6MZHCC4M u1)
(map-set mint-passes 'SP7KFWP8DZ6V2P401YK63R66QNY99WPTZPTVPA8P u1)
(map-set mint-passes 'SP7PDN16J712NBF4RD5XK6G1DQ5XFKS94NBT43EM u1)
(map-set mint-passes 'SP7TPSWNWC1BRY125PD5F10D44Q13PN3N0ARZF66 u2)
(map-set mint-passes 'SP80H1BDBFGK300F7F1XH2G60932PVVP532QDV92 u1)
(map-set mint-passes 'SP88THFXG9JJD7458F7N1KJ8516N2X75RAM6X7SZ u1)
(map-set mint-passes 'SP9C39XV8GD9XBQ41JDYG37ZP7PFPHYHQ89HHRAA u1)
(map-set mint-passes 'SP9NHARTFHTB4PXRXK5QR4B50MB7R78B2ZCYB4EF u1)
(map-set mint-passes 'SPAHTV25EDZPSFPSH3DGKN0ANRSDMEHYFVA1CS3N u1)
(map-set mint-passes 'SPATCJS6N2BR1HTJTJG9WBJVDMFA6GFZVBFGB9PT u2)
(map-set mint-passes 'SPAX2SZCDFTVV76SR4JY4RYEPC5PBH2QAHEJXHTF u1)
(map-set mint-passes 'SPBBPQS2JZ53RHXF7KG2HNCXPR01Z3AD7F1RR8YS u1)
(map-set mint-passes 'SPBWF76FHRNA9C1A6ZZ896B3XRRK5TGGW7X9A55A u2)
(map-set mint-passes 'SPC108HG46YD67MTWK4NBN3FK28TK4KZXVPARZQN u1)
(map-set mint-passes 'SPC3KJPSD9VHDJ8XM6JHNHJHJW0E5M7RCMRMCYZE u1)
(map-set mint-passes 'SPDEPSEDDYB4ZZVJ9H9SHHA64G7NFAM5VCDDFAX6 u1)
(map-set mint-passes 'SPDT293CG9EXKSFMXSBEK7M8XTEBX7Q1MGSZR9Z1 u1)
(map-set mint-passes 'SPE2Y7JDSETXD533E9844S9BMTM7YYNSFVV2ZNX6 u2)
(map-set mint-passes 'SPENXM9Q8CKQGJF9DBRF12WR0SQXFQMYJKRAZG3F u1)
(map-set mint-passes 'SPEXAF3YRNCR01Z4DFZ567Z0FB4RKPHM88DMKJSQ u2)
(map-set mint-passes 'SPFNK7H2SX0QZFZ73R0E4YVY0AN4Z9GMCGEHKYNA u1)
(map-set mint-passes 'SPFQCV70T2Q7HYX65KCJ4YVFAMSXAFMEZBF13C2N u2)
(map-set mint-passes 'SPFR6DKM6GPYXSNPKJ0EJ98GXF3XCPMHAMM35Z21 u1)
(map-set mint-passes 'SPFYA54RY7WZMVTS93QHHWK6M401CQ2XVPCN2CJS u1)
(map-set mint-passes 'SPG0JJAZXVFSTFNN1X9G0E5RGR985ASV729P407R u1)
(map-set mint-passes 'SPH7SXPXTMRYVNYSM24JF5KYME94WVXMETA2AA0J u1)
(map-set mint-passes 'SPHNEPXY2N25RTB6BMJGJXAH0XSHV55GZB2FC69D u1)
(map-set mint-passes 'SPK0FCGSHNPT1MQZZNP0XCCDT3WXABAPRXSB9261 u2)
(map-set mint-passes 'SPK2Z9CB6VQD91GQC8C2R21H1J0JRJEV9GDYQEBN u2)
(map-set mint-passes 'SPKH1FYTWT40WEMAK7V6ZACWCMHCJABNS5W8327X u2)
(map-set mint-passes 'SPKSMPY09H197KZS0N38E0B88M0X973E2G8V1M9Z u1)
(map-set mint-passes 'SPM1Q7YG18378H6W254YN8PABEVRPT38ZCY01SJD u2)
(map-set mint-passes 'SPM4JKECG23CJGXC93BDXX7579WVH5NR7E2XVC5H u2)
(map-set mint-passes 'SPMF02BY0S0SQRBH0JMJ73N2BERR5PJY4QGAZ88E u1)
(map-set mint-passes 'SPNF76W0YVXYG6A0RDRCYA16NXNXCCD3KPSJBW8B u1)
(map-set mint-passes 'SPP5KN0FRN3K389BMRC397DQ3CAM69ETJ2190SCX u1)
(map-set mint-passes 'SPP5KZXDTQKQ9E3QEDYCF4H7A1WSXSBCPZ9J4WRH u1)
(map-set mint-passes 'SPQ2HN9TYF8ZYY9D3G45NGYA9GHA6QZHQ8AXF5QM u2)
(map-set mint-passes 'SPQNWFZ4NTH2MQBS6MAXAMMG8F7J0GYGRXRFCC7M u1)
(map-set mint-passes 'SPR8WE4J8C9VYG0Y4V7TG8WRVSTZXF49XRBNM6AE u1)
(map-set mint-passes 'SPSS7WAYA17Y8Z5Q6GJTMH4FH4MRJ7HZZ6JPGAGR u1)
(map-set mint-passes 'SPV3KF5YV0SXVEQ6V50SW2K93YQYKXHGD3SHFV35 u1)
(map-set mint-passes 'SPW1JGZ10KXRKFY77EGNB0F9CHEJGEWR7PXAV9W1 u1)
(map-set mint-passes 'SPWE96STY8FDJG1XC24X82RPWYQMXR5B0DHK1433 u1)
(map-set mint-passes 'SPWVWZW6Q6BK3TNQQ05613ARZ252726GA7CQTE81 u1)
(map-set mint-passes 'SPWZTKKPKGRB4E7TETR5R26E6NVR83E6YB3TDPWW u1)
(map-set mint-passes 'SPXBC1J44BK7TSZQTXJZ3A9Q8M4Z6XQ833T3QV9P u1)
(map-set mint-passes 'SPZE987VW7P2CDEDQ9HFMZVT2R2DGVATZ9QNYQSB u1)
(map-set mint-passes 'SPZF8ND868RS4917EKM04950BTY2X1HQZVQW8F8T u1)
(map-set mint-passes 'SPSTE5R54386QDCDNJJWH2EXQFST44QYZW3RPMD3 u1)
;; Airdrop
(define-public (admin-airdrop)
(let
(
(last-nft-id (var-get last-id))
)
(begin
(asserts! (or (is-eq tx-sender (var-get artist-address)) (is-eq tx-sender DEPLOYER)) (err ERR-NOT-AUTHORIZED))
(asserts! (is-eq false (var-get airdrop-called)) (err ERR-AIRDROP-CALLED))
(try! (nft-mint? stacks-duck (+ last-nft-id u0) 'SPQZB84K0ZW6BNAVWETXHY6THQT1RYEMF930QZS2))
(map-set token-count 'SPQZB84K0ZW6BNAVWETXHY6THQT1RYEMF930QZS2 (+ (get-balance 'SPQZB84K0ZW6BNAVWETXHY6THQT1RYEMF930QZS2) u1))
(try! (nft-mint? stacks-duck (+ last-nft-id u1) 'SP35ZPRFSCA52PW0P9N52D2AWP9QWTFH8RFM23G44))
(map-set token-count 'SP35ZPRFSCA52PW0P9N52D2AWP9QWTFH8RFM23G44 (+ (get-balance 'SP35ZPRFSCA52PW0P9N52D2AWP9QWTFH8RFM23G44) u1))
(try! (nft-mint? stacks-duck (+ last-nft-id u2) 'SPR6K4VQ0JQN677W4GGCN5JTPN7XF7YTP7WKAJXH))
(map-set token-count 'SPR6K4VQ0JQN677W4GGCN5JTPN7XF7YTP7WKAJXH (+ (get-balance 'SPR6K4VQ0JQN677W4GGCN5JTPN7XF7YTP7WKAJXH) u1))
(try! (nft-mint? stacks-duck (+ last-nft-id u3) 'SP3NXCB6WJTHDT4ZSWYW5Q8GDYC29FZAVM94TAA1V))
(map-set token-count 'SP3NXCB6WJTHDT4ZSWYW5Q8GDYC29FZAVM94TAA1V (+ (get-balance 'SP3NXCB6WJTHDT4ZSWYW5Q8GDYC29FZAVM94TAA1V) u1))
(try! (nft-mint? stacks-duck (+ last-nft-id u4) 'SPM4JKECG23CJGXC93BDXX7579WVH5NR7E2XVC5H))
(map-set token-count 'SPM4JKECG23CJGXC93BDXX7579WVH5NR7E2XVC5H (+ (get-balance 'SPM4JKECG23CJGXC93BDXX7579WVH5NR7E2XVC5H) u1))
(try! (nft-mint? stacks-duck (+ last-nft-id u5) 'SP1NQ0WG5PTB7M2N3PNNPG5XFD7N14VXKHZ9NQP08))
(map-set token-count 'SP1NQ0WG5PTB7M2N3PNNPG5XFD7N14VXKHZ9NQP08 (+ (get-balance 'SP1NQ0WG5PTB7M2N3PNNPG5XFD7N14VXKHZ9NQP08) u1))
(try! (nft-mint? stacks-duck (+ last-nft-id u6) 'SP1Y4M4VR1116A7CT847AF6RJZSVM0JBRJH5Y2FY5))
(map-set token-count 'SP1Y4M4VR1116A7CT847AF6RJZSVM0JBRJH5Y2FY5 (+ (get-balance 'SP1Y4M4VR1116A7CT847AF6RJZSVM0JBRJH5Y2FY5) u1))
(try! (nft-mint? stacks-duck (+ last-nft-id u7) 'SP2N718HM783CA5W6DH1V3B1DSPNE1YWT9CNHT9S0))
(map-set token-count 'SP2N718HM783CA5W6DH1V3B1DSPNE1YWT9CNHT9S0 (+ (get-balance 'SP2N718HM783CA5W6DH1V3B1DSPNE1YWT9CNHT9S0) u1))
(try! (nft-mint? stacks-duck (+ last-nft-id u8) 'SP33FWG4TSMHQTZDCC04B4KZ5840KXK1GTTF98D2D))
(map-set token-count 'SP33FWG4TSMHQTZDCC04B4KZ5840KXK1GTTF98D2D (+ (get-balance 'SP33FWG4TSMHQTZDCC04B4KZ5840KXK1GTTF98D2D) u1))
(try! (nft-mint? stacks-duck (+ last-nft-id u9) 'SP1HAERDMC22TKFYE3A72ZH190WE85G3Z83NFQTRQ))
(map-set token-count 'SP1HAERDMC22TKFYE3A72ZH190WE85G3Z83NFQTRQ (+ (get-balance 'SP1HAERDMC22TKFYE3A72ZH190WE85G3Z83NFQTRQ) u1))
(try! (nft-mint? stacks-duck (+ last-nft-id u10) 'SP1P8SSM0TJDXH4JB9YC5CWMFR530QRWECZ598R3T))
(map-set token-count 'SP1P8SSM0TJDXH4JB9YC5CWMFR530QRWECZ598R3T (+ (get-balance 'SP1P8SSM0TJDXH4JB9YC5CWMFR530QRWECZ598R3T) u1))
(try! (nft-mint? stacks-duck (+ last-nft-id u11) 'SP175W037ABCZ2PBM8T6HF76Q3CRKY0ZF709XRHA5))
(map-set token-count 'SP175W037ABCZ2PBM8T6HF76Q3CRKY0ZF709XRHA5 (+ (get-balance 'SP175W037ABCZ2PBM8T6HF76Q3CRKY0ZF709XRHA5) u1))
(try! (nft-mint? stacks-duck (+ last-nft-id u12) 'SP10YNTTHXG16627WJF6YWMY8QB5T4FRZVF5FMN18))
(map-set token-count 'SP10YNTTHXG16627WJF6YWMY8QB5T4FRZVF5FMN18 (+ (get-balance 'SP10YNTTHXG16627WJF6YWMY8QB5T4FRZVF5FMN18) u1))
(try! (nft-mint? stacks-duck (+ last-nft-id u13) 'SP136TPF422GNTX1BHHS1DHBSSQ4GP2WFNJKY61CT))
(map-set token-count 'SP136TPF422GNTX1BHHS1DHBSSQ4GP2WFNJKY61CT (+ (get-balance 'SP136TPF422GNTX1BHHS1DHBSSQ4GP2WFNJKY61CT) u1))
(try! (nft-mint? stacks-duck (+ last-nft-id u14) 'SP13KWBHG40T4M9DT7CTPAN3NMSZ1VHPQD9C02ZNN))
(map-set token-count 'SP13KWBHG40T4M9DT7CTPAN3NMSZ1VHPQD9C02ZNN (+ (get-balance 'SP13KWBHG40T4M9DT7CTPAN3NMSZ1VHPQD9C02ZNN) u1))
(try! (nft-mint? stacks-duck (+ last-nft-id u15) 'SP14Y9RP2EWNCTCN6A2EQJYA13Q799WG21ERHJCMG))
(map-set token-count 'SP14Y9RP2EWNCTCN6A2EQJYA13Q799WG21ERHJCMG (+ (get-balance 'SP14Y9RP2EWNCTCN6A2EQJYA13Q799WG21ERHJCMG) u1))
(try! (nft-mint? stacks-duck (+ last-nft-id u16) 'SP16FECHZJPM4Z95D0Y2G7MSPGK0JHHCAE13X1PEW))
(map-set token-count 'SP16FECHZJPM4Z95D0Y2G7MSPGK0JHHCAE13X1PEW (+ (get-balance 'SP16FECHZJPM4Z95D0Y2G7MSPGK0JHHCAE13X1PEW) u1))
(try! (nft-mint? stacks-duck (+ last-nft-id u17) 'SP1726MFQ0STTSVKYSBPW9PE3PAS096VB95R9Y3Z4))
(map-set token-count 'SP1726MFQ0STTSVKYSBPW9PE3PAS096VB95R9Y3Z4 (+ (get-balance 'SP1726MFQ0STTSVKYSBPW9PE3PAS096VB95R9Y3Z4) u1))
(try! (nft-mint? stacks-duck (+ last-nft-id u18) 'SP17FR6S2MX2HHF25TQ1XTG8E5E9VB9NXMR9CAJ4V))
(map-set token-count 'SP17FR6S2MX2HHF25TQ1XTG8E5E9VB9NXMR9CAJ4V (+ (get-balance 'SP17FR6S2MX2HHF25TQ1XTG8E5E9VB9NXMR9CAJ4V) u1))
(try! (nft-mint? stacks-duck (+ last-nft-id u19) 'SP1AH2SKJZ1V5BPB66YKDAHVFX0NNP4NYJDJ85NJS))
(map-set token-count 'SP1AH2SKJZ1V5BPB66YKDAHVFX0NNP4NYJDJ85NJS (+ (get-balance 'SP1AH2SKJZ1V5BPB66YKDAHVFX0NNP4NYJDJ85NJS) u1))
(try! (nft-mint? stacks-duck (+ last-nft-id u20) 'SP1CHWS7TDP36PPVWV8E4Q8QV7S8SZPYYWW9N0ZW8))
(map-set token-count 'SP1CHWS7TDP36PPVWV8E4Q8QV7S8SZPYYWW9N0ZW8 (+ (get-balance 'SP1CHWS7TDP36PPVWV8E4Q8QV7S8SZPYYWW9N0ZW8) u1))
(try! (nft-mint? stacks-duck (+ last-nft-id u21) 'SP1D9MMX2SERHNB103VV42HHPPSH51XB288HD2CDV))
(map-set token-count 'SP1D9MMX2SERHNB103VV42HHPPSH51XB288HD2CDV (+ (get-balance 'SP1D9MMX2SERHNB103VV42HHPPSH51XB288HD2CDV) u1))
(try! (nft-mint? stacks-duck (+ last-nft-id u22) 'SP1EMXT9RET8W5TXQ325BG3TJ6X15NXV5GKEGVQE6))
(map-set token-count 'SP1EMXT9RET8W5TXQ325BG3TJ6X15NXV5GKEGVQE6 (+ (get-balance 'SP1EMXT9RET8W5TXQ325BG3TJ6X15NXV5GKEGVQE6) u1))
(try! (nft-mint? stacks-duck (+ last-nft-id u23) 'SP1FQCXVW3V42RK7JG1SNC5XGQFWWWKRFTHTXVQMW))
(map-set token-count 'SP1FQCXVW3V42RK7JG1SNC5XGQFWWWKRFTHTXVQMW (+ (get-balance 'SP1FQCXVW3V42RK7JG1SNC5XGQFWWWKRFTHTXVQMW) u1))
(try! (nft-mint? stacks-duck (+ last-nft-id u24) 'SP1GYWMYK320ASBBAERSC40TA3PA99ZHV3GF256T8))
(map-set token-count 'SP1GYWMYK320ASBBAERSC40TA3PA99ZHV3GF256T8 (+ (get-balance 'SP1GYWMYK320ASBBAERSC40TA3PA99ZHV3GF256T8) u1))
(try! (nft-mint? stacks-duck (+ last-nft-id u25) 'SP1J9CFRV5C69EQ0E8PP95Y5W4FBP53M7G133SZAH))
(map-set token-count 'SP1J9CFRV5C69EQ0E8PP95Y5W4FBP53M7G133SZAH (+ (get-balance 'SP1J9CFRV5C69EQ0E8PP95Y5W4FBP53M7G133SZAH) u1))
(try! (nft-mint? stacks-duck (+ last-nft-id u26) 'SP1NKDGDA9C64YJWC6FBHSJHK0KETG4D6E2B37HZ0))
(map-set token-count 'SP1NKDGDA9C64YJWC6FBHSJHK0KETG4D6E2B37HZ0 (+ (get-balance 'SP1NKDGDA9C64YJWC6FBHSJHK0KETG4D6E2B37HZ0) u1))
(try! (nft-mint? stacks-duck (+ last-nft-id u27) 'SP1NQ0WG5PTB7M2N3PNNPG5XFD7N14VXKHZ9NQP08))
(map-set token-count 'SP1NQ0WG5PTB7M2N3PNNPG5XFD7N14VXKHZ9NQP08 (+ (get-balance 'SP1NQ0WG5PTB7M2N3PNNPG5XFD7N14VXKHZ9NQP08) u1))
(try! (nft-mint? stacks-duck (+ last-nft-id u28) 'SP1P2XGDSVYHXZ6GQAM4N7CX89GTZKBRP2BQF0G15))
(map-set token-count 'SP1P2XGDSVYHXZ6GQAM4N7CX89GTZKBRP2BQF0G15 (+ (get-balance 'SP1P2XGDSVYHXZ6GQAM4N7CX89GTZKBRP2BQF0G15) u1))
(try! (nft-mint? stacks-duck (+ last-nft-id u29) 'SP1Q7MAJBHMMRWD5KZ9KJYF12D8N0J51F6BSCCY3S))
(map-set token-count 'SP1Q7MAJBHMMRWD5KZ9KJYF12D8N0J51F6BSCCY3S (+ (get-balance 'SP1Q7MAJBHMMRWD5KZ9KJYF12D8N0J51F6BSCCY3S) u1))
(try! (nft-mint? stacks-duck (+ last-nft-id u30) 'SP1QMJ2A884PAQ80Q7TZ9X1VE0839VGYQFP6ZX7V7))
(map-set token-count 'SP1QMJ2A884PAQ80Q7TZ9X1VE0839VGYQFP6ZX7V7 (+ (get-balance 'SP1QMJ2A884PAQ80Q7TZ9X1VE0839VGYQFP6ZX7V7) u1))
(try! (nft-mint? stacks-duck (+ last-nft-id u31) 'SP1SGREESCFG5C7Y7NS5TJS1X3GZ9TKC3PXEF9ZMX))
(map-set token-count 'SP1SGREESCFG5C7Y7NS5TJS1X3GZ9TKC3PXEF9ZMX (+ (get-balance 'SP1SGREESCFG5C7Y7NS5TJS1X3GZ9TKC3PXEF9ZMX) u1))
(try! (nft-mint? stacks-duck (+ last-nft-id u32) 'SP1V4BWKPD559WP67GWCV8VR0VRKJ7ESS8WHKYEJP))
(map-set token-count 'SP1V4BWKPD559WP67GWCV8VR0VRKJ7ESS8WHKYEJP (+ (get-balance 'SP1V4BWKPD559WP67GWCV8VR0VRKJ7ESS8WHKYEJP) u1))
(try! (nft-mint? stacks-duck (+ last-nft-id u33) 'SP1XQHNFBJ2QZRYT9HYW6P2R39HV1FQF6SV602133))
(map-set token-count 'SP1XQHNFBJ2QZRYT9HYW6P2R39HV1FQF6SV602133 (+ (get-balance 'SP1XQHNFBJ2QZRYT9HYW6P2R39HV1FQF6SV602133) u1))
(try! (nft-mint? stacks-duck (+ last-nft-id u34) 'SP1ZHQ3EP0AFN7Z0GERBKCRNSAA9TAEJBSD58B7P9))
(map-set token-count 'SP1ZHQ3EP0AFN7Z0GERBKCRNSAA9TAEJBSD58B7P9 (+ (get-balance 'SP1ZHQ3EP0AFN7Z0GERBKCRNSAA9TAEJBSD58B7P9) u1))
(try! (nft-mint? stacks-duck (+ last-nft-id u35) 'SP1ZQQVCZ53YQDQ9KVTVE41K79AG93JEHSV0WZ47A))
(map-set token-count 'SP1ZQQVCZ53YQDQ9KVTVE41K79AG93JEHSV0WZ47A (+ (get-balance 'SP1ZQQVCZ53YQDQ9KVTVE41K79AG93JEHSV0WZ47A) u1))
(try! (nft-mint? stacks-duck (+ last-nft-id u36) 'SP2155Z58KGH9GRZ7XJDGC6MZA2YY6442P5DFQ6ZY))
(map-set token-count 'SP2155Z58KGH9GRZ7XJDGC6MZA2YY6442P5DFQ6ZY (+ (get-balance 'SP2155Z58KGH9GRZ7XJDGC6MZA2YY6442P5DFQ6ZY) u1))
(try! (nft-mint? stacks-duck (+ last-nft-id u37) 'SP22VP51WA76EPC73472WN37G0H3QXHRF90ZY7GQ))
(map-set token-count 'SP22VP51WA76EPC73472WN37G0H3QXHRF90ZY7GQ (+ (get-balance 'SP22VP51WA76EPC73472WN37G0H3QXHRF90ZY7GQ) u1))
(try! (nft-mint? stacks-duck (+ last-nft-id u38) 'SP23BRV559KHHSE7DF4CB2W5QXXCQEYWTT866SSAV))
(map-set token-count 'SP23BRV559KHHSE7DF4CB2W5QXXCQEYWTT866SSAV (+ (get-balance 'SP23BRV559KHHSE7DF4CB2W5QXXCQEYWTT866SSAV) u1))
(try! (nft-mint? stacks-duck (+ last-nft-id u39) 'SP245RYQHC7TZH2VDQ95KHG4CNKMYYX9Z8A08BGTE))
(map-set token-count 'SP245RYQHC7TZH2VDQ95KHG4CNKMYYX9Z8A08BGTE (+ (get-balance 'SP245RYQHC7TZH2VDQ95KHG4CNKMYYX9Z8A08BGTE) u1))
(try! (nft-mint? stacks-duck (+ last-nft-id u40) 'SP251EDVZ1XRDMM9XTGJZEPAAAWR9CMENTAHCG2M6))
(map-set token-count 'SP251EDVZ1XRDMM9XTGJZEPAAAWR9CMENTAHCG2M6 (+ (get-balance 'SP251EDVZ1XRDMM9XTGJZEPAAAWR9CMENTAHCG2M6) u1))
(try! (nft-mint? stacks-duck (+ last-nft-id u41) 'SP25QRKTES151HJ03H74JGBKKM2G9X2JY7FYYZCE9))
(map-set token-count 'SP25QRKTES151HJ03H74JGBKKM2G9X2JY7FYYZCE9 (+ (get-balance 'SP25QRKTES151HJ03H74JGBKKM2G9X2JY7FYYZCE9) u1))
(try! (nft-mint? stacks-duck (+ last-nft-id u42) 'SP25WCP3QWQR6EGASRKW0KVSQ460PNHFBQ79VAZDR))
(map-set token-count 'SP25WCP3QWQR6EGASRKW0KVSQ460PNHFBQ79VAZDR (+ (get-balance 'SP25WCP3QWQR6EGASRKW0KVSQ460PNHFBQ79VAZDR) u1))
(try! (nft-mint? stacks-duck (+ last-nft-id u43) 'SP26J9FM581KPWFB65YAV3WXQRBZZ51NJ36Z9508A))
(map-set token-count 'SP26J9FM581KPWFB65YAV3WXQRBZZ51NJ36Z9508A (+ (get-balance 'SP26J9FM581KPWFB65YAV3WXQRBZZ51NJ36Z9508A) u1))
(try! (nft-mint? stacks-duck (+ last-nft-id u44) 'SP27CFVZD59PV5NCKP83GWYR9ZJHMFTAEY0ZKHVGC))
(map-set token-count 'SP27CFVZD59PV5NCKP83GWYR9ZJHMFTAEY0ZKHVGC (+ (get-balance 'SP27CFVZD59PV5NCKP83GWYR9ZJHMFTAEY0ZKHVGC) u1))
(try! (nft-mint? stacks-duck (+ last-nft-id u45) 'SP27YJ4ATAB5WK4SP3ZESV2AXXGSTNJT9HMFEKS0N))
(map-set token-count 'SP27YJ4ATAB5WK4SP3ZESV2AXXGSTNJT9HMFEKS0N (+ (get-balance 'SP27YJ4ATAB5WK4SP3ZESV2AXXGSTNJT9HMFEKS0N) u1))
(try! (nft-mint? stacks-duck (+ last-nft-id u46) 'SP2ASD325NJFDX1T8NXA10XZ2XR2V2KAFPDXQYB58))
(map-set token-count 'SP2ASD325NJFDX1T8NXA10XZ2XR2V2KAFPDXQYB58 (+ (get-balance 'SP2ASD325NJFDX1T8NXA10XZ2XR2V2KAFPDXQYB58) u1))
(try! (nft-mint? stacks-duck (+ last-nft-id u47) 'SP2C1QGPCE4SDWCVVKZW196DZSV04CE5J5944VK18))
(map-set token-count 'SP2C1QGPCE4SDWCVVKZW196DZSV04CE5J5944VK18 (+ (get-balance 'SP2C1QGPCE4SDWCVVKZW196DZSV04CE5J5944VK18) u1))
(try! (nft-mint? stacks-duck (+ last-nft-id u48) 'SP2C23HDNC67QJZX8QWQ2YXT77YXNVMXQ10WNQ00J))
(map-set token-count 'SP2C23HDNC67QJZX8QWQ2YXT77YXNVMXQ10WNQ00J (+ (get-balance 'SP2C23HDNC67QJZX8QWQ2YXT77YXNVMXQ10WNQ00J) u1))
(try! (nft-mint? stacks-duck (+ last-nft-id u49) 'SP2DCFHTZSY5YKSRHC7YRD1AD6HRA9CBZENCM4NGV))
(map-set token-count 'SP2DCFHTZSY5YKSRHC7YRD1AD6HRA9CBZENCM4NGV (+ (get-balance 'SP2DCFHTZSY5YKSRHC7YRD1AD6HRA9CBZENCM4NGV) u1))
(try! (nft-mint? stacks-duck (+ last-nft-id u50) 'SP2E4JE5BXQ6XVG86D2BBKSK3N9W49TEMY12CAATF))
(map-set token-count 'SP2E4JE5BXQ6XVG86D2BBKSK3N9W49TEMY12CAATF (+ (get-balance 'SP2E4JE5BXQ6XVG86D2BBKSK3N9W49TEMY12CAATF) u1))
(try! (nft-mint? stacks-duck (+ last-nft-id u51) 'SP2H46BBK7B0ZS1TPHQZ0AQWBYM57HCBQQVKA46KX))
(map-set token-count 'SP2H46BBK7B0ZS1TPHQZ0AQWBYM57HCBQQVKA46KX (+ (get-balance 'SP2H46BBK7B0ZS1TPHQZ0AQWBYM57HCBQQVKA46KX) u1))
(try! (nft-mint? stacks-duck (+ last-nft-id u52) 'SP2JSVNRJZ3SRVEQA93J0Q3Y6BRSKBTPTHPHSFVWN))
(map-set token-count 'SP2JSVNRJZ3SRVEQA93J0Q3Y6BRSKBTPTHPHSFVWN (+ (get-balance 'SP2JSVNRJZ3SRVEQA93J0Q3Y6BRSKBTPTHPHSFVWN) u1))
(try! (nft-mint? stacks-duck (+ last-nft-id u53) 'SP2KW7JS1S4F4FQD869JCCKS2QC8NZJWBPFFMW6R4))
(map-set token-count 'SP2KW7JS1S4F4FQD869JCCKS2QC8NZJWBPFFMW6R4 (+ (get-balance 'SP2KW7JS1S4F4FQD869JCCKS2QC8NZJWBPFFMW6R4) u1))
(try! (nft-mint? stacks-duck (+ last-nft-id u54) 'SP2KZ24AM4X9HGTG8314MS4VSY1CVAFH0G1KBZZ1D))
(map-set token-count 'SP2KZ24AM4X9HGTG8314MS4VSY1CVAFH0G1KBZZ1D (+ (get-balance 'SP2KZ24AM4X9HGTG8314MS4VSY1CVAFH0G1KBZZ1D) u1))
(try! (nft-mint? stacks-duck (+ last-nft-id u55) 'SP2M2KRF7G9AWZBZR44MQDQTCSDSMH3KK3C5K24XJ))
(map-set token-count 'SP2M2KRF7G9AWZBZR44MQDQTCSDSMH3KK3C5K24XJ (+ (get-balance 'SP2M2KRF7G9AWZBZR44MQDQTCSDSMH3KK3C5K24XJ) u1))
(try! (nft-mint? stacks-duck (+ last-nft-id u56) 'SP2MS7TNWWGTSHFP24CPFX8G3BWTD66M3T88N2TPF))
(map-set token-count 'SP2MS7TNWWGTSHFP24CPFX8G3BWTD66M3T88N2TPF (+ (get-balance 'SP2MS7TNWWGTSHFP24CPFX8G3BWTD66M3T88N2TPF) u1))
(try! (nft-mint? stacks-duck (+ last-nft-id u57) 'SP2MYS2F77WK4VGK22EX3GQ6155BW63AJ3RDX8Y30))
(map-set token-count 'SP2MYS2F77WK4VGK22EX3GQ6155BW63AJ3RDX8Y30 (+ (get-balance 'SP2MYS2F77WK4VGK22EX3GQ6155BW63AJ3RDX8Y30) u1))
(try! (nft-mint? stacks-duck (+ last-nft-id u58) 'SP2RS0YJZ2QH5VYXQ91X06B9QYR90BNGJETWP0V69))
(map-set token-count 'SP2RS0YJZ2QH5VYXQ91X06B9QYR90BNGJETWP0V69 (+ (get-balance 'SP2RS0YJZ2QH5VYXQ91X06B9QYR90BNGJETWP0V69) u1))
(try! (nft-mint? stacks-duck (+ last-nft-id u59) 'SP2S30F0TJBPG28464C501YWBBA65R07YKYEHRXHT))
(map-set token-count 'SP2S30F0TJBPG28464C501YWBBA65R07YKYEHRXHT (+ (get-balance 'SP2S30F0TJBPG28464C501YWBBA65R07YKYEHRXHT) u1))
(try! (nft-mint? stacks-duck (+ last-nft-id u60) 'SP2T5ZS0WA4BP31E3CTK5GDAY3VKJ1JXSGHDQZD66))
(map-set token-count 'SP2T5ZS0WA4BP31E3CTK5GDAY3VKJ1JXSGHDQZD66 (+ (get-balance 'SP2T5ZS0WA4BP31E3CTK5GDAY3VKJ1JXSGHDQZD66) u1))
(try! (nft-mint? stacks-duck (+ last-nft-id u61) 'SP2TTVRSPJX5QXMAPRXJAYFWGEZ5PSS6A19G5KFES))
(map-set token-count 'SP2TTVRSPJX5QXMAPRXJAYFWGEZ5PSS6A19G5KFES (+ (get-balance 'SP2TTVRSPJX5QXMAPRXJAYFWGEZ5PSS6A19G5KFES) u1))
(try! (nft-mint? stacks-duck (+ last-nft-id u62) 'SP2Z2CBMGWB9MQZAF5Z8X56KS69XRV3SJF4WKJ7J9))
(map-set token-count 'SP2Z2CBMGWB9MQZAF5Z8X56KS69XRV3SJF4WKJ7J9 (+ (get-balance 'SP2Z2CBMGWB9MQZAF5Z8X56KS69XRV3SJF4WKJ7J9) u1))
(try! (nft-mint? stacks-duck (+ last-nft-id u63) 'SP2ZNGJ85ENDY6QRHQ5P2D4FXKGZWCKTB2T0Z55KS))
(map-set token-count 'SP2ZNGJ85ENDY6QRHQ5P2D4FXKGZWCKTB2T0Z55KS (+ (get-balance 'SP2ZNGJ85ENDY6QRHQ5P2D4FXKGZWCKTB2T0Z55KS) u1))
(try! (nft-mint? stacks-duck (+ last-nft-id u64) 'SP30RYTXR8MGE31S55JT81SW9HZAT6PT7RB95XCT6))
(map-set token-count 'SP30RYTXR8MGE31S55JT81SW9HZAT6PT7RB95XCT6 (+ (get-balance 'SP30RYTXR8MGE31S55JT81SW9HZAT6PT7RB95XCT6) u1))
(try! (nft-mint? stacks-duck (+ last-nft-id u65) 'SP329G766AV8Z01X9EEAHPDQ4WDJXT2A0XB383MGP))
(map-set token-count 'SP329G766AV8Z01X9EEAHPDQ4WDJXT2A0XB383MGP (+ (get-balance 'SP329G766AV8Z01X9EEAHPDQ4WDJXT2A0XB383MGP) u1))
(try! (nft-mint? stacks-duck (+ last-nft-id u66) 'SP32CATVC5NJF0GD4XD5F2GRH7F8YKHGWM34ZM0JA))
(map-set token-count 'SP32CATVC5NJF0GD4XD5F2GRH7F8YKHGWM34ZM0JA (+ (get-balance 'SP32CATVC5NJF0GD4XD5F2GRH7F8YKHGWM34ZM0JA) u1))
(try! (nft-mint? stacks-duck (+ last-nft-id u67) 'SP32RW3MTSXT35777C31HKMJ3QV083CQNQQYBJXGA))
(map-set token-count 'SP32RW3MTSXT35777C31HKMJ3QV083CQNQQYBJXGA (+ (get-balance 'SP32RW3MTSXT35777C31HKMJ3QV083CQNQQYBJXGA) u1))
(try! (nft-mint? stacks-duck (+ last-nft-id u68) 'SP35RNJEAJFXZWFYAT9PHFBCQMEK7B0X2YS9EMP5C))
(map-set token-count 'SP35RNJEAJFXZWFYAT9PHFBCQMEK7B0X2YS9EMP5C (+ (get-balance 'SP35RNJEAJFXZWFYAT9PHFBCQMEK7B0X2YS9EMP5C) u1))
(try! (nft-mint? stacks-duck (+ last-nft-id u69) 'SP377PERR19T3GF9WA2MY6KZRCM1TANMRXWGDR5WM))
(map-set token-count 'SP377PERR19T3GF9WA2MY6KZRCM1TANMRXWGDR5WM (+ (get-balance 'SP377PERR19T3GF9WA2MY6KZRCM1TANMRXWGDR5WM) u1))
(try! (nft-mint? stacks-duck (+ last-nft-id u70) 'SP385TQWKH9Y7PA95RYRKZYJT3SDX6KH73392WZ95))
(map-set token-count 'SP385TQWKH9Y7PA95RYRKZYJT3SDX6KH73392WZ95 (+ (get-balance 'SP385TQWKH9Y7PA95RYRKZYJT3SDX6KH73392WZ95) u1))
(try! (nft-mint? stacks-duck (+ last-nft-id u71) 'SP38BP8321PZS9ZDTQ74WFPGFJSMEJ6K0571H53AC))
(map-set token-count 'SP38BP8321PZS9ZDTQ74WFPGFJSMEJ6K0571H53AC (+ (get-balance 'SP38BP8321PZS9ZDTQ74WFPGFJSMEJ6K0571H53AC) u1))
(try! (nft-mint? stacks-duck (+ last-nft-id u72) 'SP39988W72Q72Y5BN8683MP5NWWMTNHPXM8BWKJC))
(map-set token-count 'SP39988W72Q72Y5BN8683MP5NWWMTNHPXM8BWKJC (+ (get-balance 'SP39988W72Q72Y5BN8683MP5NWWMTNHPXM8BWKJC) u1))
(try! (nft-mint? stacks-duck (+ last-nft-id u73) 'SP39D19PFA6QQGQMAJCYQ5F5WCDMXFDF9SXE8AZMS))
(map-set token-count 'SP39D19PFA6QQGQMAJCYQ5F5WCDMXFDF9SXE8AZMS (+ (get-balance 'SP39D19PFA6QQGQMAJCYQ5F5WCDMXFDF9SXE8AZMS) u1))
(try! (nft-mint? stacks-duck (+ last-nft-id u74) 'SP39N5WF0FHVJFJYSEP5YSGKCN1PZQMKC62RQTYDX))
(map-set token-count 'SP39N5WF0FHVJFJYSEP5YSGKCN1PZQMKC62RQTYDX (+ (get-balance 'SP39N5WF0FHVJFJYSEP5YSGKCN1PZQMKC62RQTYDX) u1))
(try! (nft-mint? stacks-duck (+ last-nft-id u75) 'SP3A7R70XCE047NAP0WEMJDKS7CS41K3J5KZ7RC66))
(map-set token-count 'SP3A7R70XCE047NAP0WEMJDKS7CS41K3J5KZ7RC66 (+ (get-balance 'SP3A7R70XCE047NAP0WEMJDKS7CS41K3J5KZ7RC66) u1))
(try! (nft-mint? stacks-duck (+ last-nft-id u76) 'SP3AJC728JY0Y43E8RT6K4VDWPT265RDMXJ8M0VH0))
(map-set token-count 'SP3AJC728JY0Y43E8RT6K4VDWPT265RDMXJ8M0VH0 (+ (get-balance 'SP3AJC728JY0Y43E8RT6K4VDWPT265RDMXJ8M0VH0) u1))
(try! (nft-mint? stacks-duck (+ last-nft-id u77) 'SP3CEM5Y6P273YX74ME1D70AN6HJPQTA1HCK1HEBW))
(map-set token-count 'SP3CEM5Y6P273YX74ME1D70AN6HJPQTA1HCK1HEBW (+ (get-balance 'SP3CEM5Y6P273YX74ME1D70AN6HJPQTA1HCK1HEBW) u1))
(try! (nft-mint? stacks-duck (+ last-nft-id u78) 'SP3D318ZYA1QYRNRX4MC4SAH94VTAA9ADRENAHBYZ))
(map-set token-count 'SP3D318ZYA1QYRNRX4MC4SAH94VTAA9ADRENAHBYZ (+ (get-balance 'SP3D318ZYA1QYRNRX4MC4SAH94VTAA9ADRENAHBYZ) u1))
(try! (nft-mint? stacks-duck (+ last-nft-id u79) 'SP3F0QCMA9P08NBRTA85TPP351R2YT9ZSD69ECS0Q))
(map-set token-count 'SP3F0QCMA9P08NBRTA85TPP351R2YT9ZSD69ECS0Q (+ (get-balance 'SP3F0QCMA9P08NBRTA85TPP351R2YT9ZSD69ECS0Q) u1))
(try! (nft-mint? stacks-duck (+ last-nft-id u80) 'SP3F4FT895DGHKSW8GXMR922B7SVEG3XXCMGH6KCY))
(map-set token-count 'SP3F4FT895DGHKSW8GXMR922B7SVEG3XXCMGH6KCY (+ (get-balance 'SP3F4FT895DGHKSW8GXMR922B7SVEG3XXCMGH6KCY) u1))
(try! (nft-mint? stacks-duck (+ last-nft-id u81) 'SP3FE7R844ZQ77162SYAYYPD059E9PYA39VX0BMQB))
(map-set token-count 'SP3FE7R844ZQ77162SYAYYPD059E9PYA39VX0BMQB (+ (get-balance 'SP3FE7R844ZQ77162SYAYYPD059E9PYA39VX0BMQB) u1))
(try! (nft-mint? stacks-duck (+ last-nft-id u82) 'SP3FFTM7B10Z8HC64BSMW2Q11SME0X5JNFZJ2D916))
(map-set token-count 'SP3FFTM7B10Z8HC64BSMW2Q11SME0X5JNFZJ2D916 (+ (get-balance 'SP3FFTM7B10Z8HC64BSMW2Q11SME0X5JNFZJ2D916) u1))
(try! (nft-mint? stacks-duck (+ last-nft-id u83) 'SP3GCHVJ1PPSDC4VV8GNMYXX29ZXJDR95KY0MRY29))
(map-set token-count 'SP3GCHVJ1PPSDC4VV8GNMYXX29ZXJDR95KY0MRY29 (+ (get-balance 'SP3GCHVJ1PPSDC4VV8GNMYXX29ZXJDR95KY0MRY29) u1))
(try! (nft-mint? stacks-duck (+ last-nft-id u84) 'SP3GEMNBPZ57V6H77KA1ERKJWZEQ3HBJ1EZYRJJKN))
(map-set token-count 'SP3GEMNBPZ57V6H77KA1ERKJWZEQ3HBJ1EZYRJJKN (+ (get-balance 'SP3GEMNBPZ57V6H77KA1ERKJWZEQ3HBJ1EZYRJJKN) u1))
(try! (nft-mint? stacks-duck (+ last-nft-id u85) 'SP3JCY802PJ6N18YCTA565K3YPYPE6F94CTD0PA9M))
(map-set token-count 'SP3JCY802PJ6N18YCTA565K3YPYPE6F94CTD0PA9M (+ (get-balance 'SP3JCY802PJ6N18YCTA565K3YPYPE6F94CTD0PA9M) u1))
(try! (nft-mint? stacks-duck (+ last-nft-id u86) 'SP3M87BY9G9AZ90D97V0B25F5JRWRXTWHHNERGX2Z))
(map-set token-count 'SP3M87BY9G9AZ90D97V0B25F5JRWRXTWHHNERGX2Z (+ (get-balance 'SP3M87BY9G9AZ90D97V0B25F5JRWRXTWHHNERGX2Z) u1))
(try! (nft-mint? stacks-duck (+ last-nft-id u87) 'SP3QF39C7X6PXZ485W2VTX19BB9A8YKHRC47XN70J))
(map-set token-count 'SP3QF39C7X6PXZ485W2VTX19BB9A8YKHRC47XN70J (+ (get-balance 'SP3QF39C7X6PXZ485W2VTX19BB9A8YKHRC47XN70J) u1))
(try! (nft-mint? stacks-duck (+ last-nft-id u88) 'SP3QQWEWWRZ2K7GQWS4FFZRJJBCVWWGT7NRANX4Y))
(map-set token-count 'SP3QQWEWWRZ2K7GQWS4FFZRJJBCVWWGT7NRANX4Y (+ (get-balance 'SP3QQWEWWRZ2K7GQWS4FFZRJJBCVWWGT7NRANX4Y) u1))
(try! (nft-mint? stacks-duck (+ last-nft-id u89) 'SP3RFZA3GT2E0NPG4NDPJGKXMJCKX1MPVZ6YEPN5E))
(map-set token-count 'SP3RFZA3GT2E0NPG4NDPJGKXMJCKX1MPVZ6YEPN5E (+ (get-balance 'SP3RFZA3GT2E0NPG4NDPJGKXMJCKX1MPVZ6YEPN5E) u1))
(try! (nft-mint? stacks-duck (+ last-nft-id u90) 'SP3RNGGB8R14DXRTQW6290ZV4R7P7Z6PW7TDM7ES0))
(map-set token-count 'SP3RNGGB8R14DXRTQW6290ZV4R7P7Z6PW7TDM7ES0 (+ (get-balance 'SP3RNGGB8R14DXRTQW6290ZV4R7P7Z6PW7TDM7ES0) u1))
(try! (nft-mint? stacks-duck (+ last-nft-id u91) 'SP3S9319FJ6M59FX2MNXSW2CVVE65D32RBTVW5AFE))
(map-set token-count 'SP3S9319FJ6M59FX2MNXSW2CVVE65D32RBTVW5AFE (+ (get-balance 'SP3S9319FJ6M59FX2MNXSW2CVVE65D32RBTVW5AFE) u1))
(try! (nft-mint? stacks-duck (+ last-nft-id u92) 'SP3TAQCT0KQ1TC9E6XJ33J26XPG1DGSPS61M61H9G))
(map-set token-count 'SP3TAQCT0KQ1TC9E6XJ33J26XPG1DGSPS61M61H9G (+ (get-balance 'SP3TAQCT0KQ1TC9E6XJ33J26XPG1DGSPS61M61H9G) u1))
(try! (nft-mint? stacks-duck (+ last-nft-id u93) 'SP3XVTM5D9NS6H3BJ51Q081X2SW9BFTEP41TW7BYP))
(map-set token-count 'SP3XVTM5D9NS6H3BJ51Q081X2SW9BFTEP41TW7BYP (+ (get-balance 'SP3XVTM5D9NS6H3BJ51Q081X2SW9BFTEP41TW7BYP) u1))
(try! (nft-mint? stacks-duck (+ last-nft-id u94) 'SP5TN2MP8EW41ECDDS9R10AZJAACV5RFBVP6PR6X))
(map-set token-count 'SP5TN2MP8EW41ECDDS9R10AZJAACV5RFBVP6PR6X (+ (get-balance 'SP5TN2MP8EW41ECDDS9R10AZJAACV5RFBVP6PR6X) u1))
(try! (nft-mint? stacks-duck (+ last-nft-id u95) 'SP77RNE8HSHMHV27WCN43C50DXHXP8ZD56WJBJ41))
(map-set token-count 'SP77RNE8HSHMHV27WCN43C50DXHXP8ZD56WJBJ41 (+ (get-balance 'SP77RNE8HSHMHV27WCN43C50DXHXP8ZD56WJBJ41) u1))
(try! (nft-mint? stacks-duck (+ last-nft-id u96) 'SP7T6J7JRKSAZH02G283M8GNCXT96BACHDRQ6B4C))
(map-set token-count 'SP7T6J7JRKSAZH02G283M8GNCXT96BACHDRQ6B4C (+ (get-balance 'SP7T6J7JRKSAZH02G283M8GNCXT96BACHDRQ6B4C) u1))
(try! (nft-mint? stacks-duck (+ last-nft-id u97) 'SP88THFXG9JJD7458F7N1KJ8516N2X75RAM6X7SZ))
(map-set token-count 'SP88THFXG9JJD7458F7N1KJ8516N2X75RAM6X7SZ (+ (get-balance 'SP88THFXG9JJD7458F7N1KJ8516N2X75RAM6X7SZ) u1))
(try! (nft-mint? stacks-duck (+ last-nft-id u98) 'SP8VH92GXA0Y9STX8MQ4N03X9NAV3MJFZW8W0JT1))
(map-set token-count 'SP8VH92GXA0Y9STX8MQ4N03X9NAV3MJFZW8W0JT1 (+ (get-balance 'SP8VH92GXA0Y9STX8MQ4N03X9NAV3MJFZW8W0JT1) u1))
(try! (nft-mint? stacks-duck (+ last-nft-id u99) 'SPAHTV25EDZPSFPSH3DGKN0ANRSDMEHYFVA1CS3N))
(map-set token-count 'SPAHTV25EDZPSFPSH3DGKN0ANRSDMEHYFVA1CS3N (+ (get-balance 'SPAHTV25EDZPSFPSH3DGKN0ANRSDMEHYFVA1CS3N) u1))
(try! (nft-mint? stacks-duck (+ last-nft-id u100) 'SPBNBDF7KMRCHT12EPBJMWGDDSF518WQ3XZZVZV8))
(map-set token-count 'SPBNBDF7KMRCHT12EPBJMWGDDSF518WQ3XZZVZV8 (+ (get-balance 'SPBNBDF7KMRCHT12EPBJMWGDDSF518WQ3XZZVZV8) u1))
(try! (nft-mint? stacks-duck (+ last-nft-id u101) 'SPD4MXM7199CD0R2JYTYZKQGAYF8MEQQF0S49EW3))
(map-set token-count 'SPD4MXM7199CD0R2JYTYZKQGAYF8MEQQF0S49EW3 (+ (get-balance 'SPD4MXM7199CD0R2JYTYZKQGAYF8MEQQF0S49EW3) u1))
(try! (nft-mint? stacks-duck (+ last-nft-id u102) 'SPDHYD1VZ5AQ2V6W4DZDCV30S5BD0PW3A4K74HDV))
(map-set token-count 'SPDHYD1VZ5AQ2V6W4DZDCV30S5BD0PW3A4K74HDV (+ (get-balance 'SPDHYD1VZ5AQ2V6W4DZDCV30S5BD0PW3A4K74HDV) u1))
(try! (nft-mint? stacks-duck (+ last-nft-id u103) 'SPDXC0NM3YQDHV1HN3V9P5Y4P26QWY709NB86EYB))
(map-set token-count 'SPDXC0NM3YQDHV1HN3V9P5Y4P26QWY709NB86EYB (+ (get-balance 'SPDXC0NM3YQDHV1HN3V9P5Y4P26QWY709NB86EYB) u1))
(try! (nft-mint? stacks-duck (+ last-nft-id u104) 'SPECQ3MA43WSPVVNVXBWJDKZHCRVK8RG6NKPN856))
(map-set token-count 'SPECQ3MA43WSPVVNVXBWJDKZHCRVK8RG6NKPN856 (+ (get-balance 'SPECQ3MA43WSPVVNVXBWJDKZHCRVK8RG6NKPN856) u1))
(try! (nft-mint? stacks-duck (+ last-nft-id u105) 'SPFR6DKM6GPYXSNPKJ0EJ98GXF3XCPMHAMM35Z21))
(map-set token-count 'SPFR6DKM6GPYXSNPKJ0EJ98GXF3XCPMHAMM35Z21 (+ (get-balance 'SPFR6DKM6GPYXSNPKJ0EJ98GXF3XCPMHAMM35Z21) u1))
(try! (nft-mint? stacks-duck (+ last-nft-id u106) 'SPK0FCGSHNPT1MQZZNP0XCCDT3WXABAPRXSB9261))
(map-set token-count 'SPK0FCGSHNPT1MQZZNP0XCCDT3WXABAPRXSB9261 (+ (get-balance 'SPK0FCGSHNPT1MQZZNP0XCCDT3WXABAPRXSB9261) u1))
(try! (nft-mint? stacks-duck (+ last-nft-id u107) 'SPM4JKECG23CJGXC93BDXX7579WVH5NR7E2XVC5H))
(map-set token-count 'SPM4JKECG23CJGXC93BDXX7579WVH5NR7E2XVC5H (+ (get-balance 'SPM4JKECG23CJGXC93BDXX7579WVH5NR7E2XVC5H) u1))
(try! (nft-mint? stacks-duck (+ last-nft-id u108) 'SPS6169RQ4HHYRCWYZ54Y85ZG0RV4Z4Y6FSHDFX0))
(map-set token-count 'SPS6169RQ4HHYRCWYZ54Y85ZG0RV4Z4Y6FSHDFX0 (+ (get-balance 'SPS6169RQ4HHYRCWYZ54Y85ZG0RV4Z4Y6FSHDFX0) u1))
(try! (nft-mint? stacks-duck (+ last-nft-id u109) 'SPSS7WAYA17Y8Z5Q6GJTMH4FH4MRJ7HZZ6JPGAGR))
(map-set token-count 'SPSS7WAYA17Y8Z5Q6GJTMH4FH4MRJ7HZZ6JPGAGR (+ (get-balance 'SPSS7WAYA17Y8Z5Q6GJTMH4FH4MRJ7HZZ6JPGAGR) u1))
(try! (nft-mint? stacks-duck (+ last-nft-id u110) 'SPMH787PZM864PZY2AFVDDW9W9NMWMFXN5A8TQVZ))
(map-set token-count 'SPMH787PZM864PZY2AFVDDW9W9NMWMFXN5A8TQVZ (+ (get-balance 'SPMH787PZM864PZY2AFVDDW9W9NMWMFXN5A8TQVZ) u1))
(var-set last-id (+ last-nft-id u111))
(var-set airdrop-called true)
(ok true))))