BCD

Tezos Contract Explorer
Search Networks Deploy
  • Home
  • /
  • Ghostnet
  • /
  • KT1DfJS...GBCc
FA2Ledger
operations (37)Storage Code Interact Tokens Metadata Fork Statistics Details
Latest
​x
835
1348
 
1
parameter (or
2
            (or
3
              (or (or %admin (unit %confirm_admin) (address %set_admin))
4
                  (or %assets
5
                    (or
6
                      (pair %balance_of
7
                        (list %requests (pair (address %owner) (nat %token_id)))
8
                        (contract %callback (list (pair
9
                                                  (pair %request (address %owner)
10
                                                                 (nat %token_id))
11
                                                  (nat %balance)))))
12
                      (list %transfer (pair (address %from_)
13
                                           (list %txs (pair (address %to_)
14
                                                           (nat %token_id)
15
                                                           (nat %amount))))))
16
                    (list %update_operators (or
17
                                             (pair %add_operator (address %owner)
18
                                                                 (address %operator)
19
                                                                 (nat %token_id))
20
                                             (pair %remove_operator (address %owner)
21
                                                                    (address %operator)
22
                                                                    (nat %token_id))))))
23
              (or
24
                (list %authorized_transfer (pair (address %from_) (key %pk)
25
                                                (timestamp %expiry)
26
                                                (list %txs (pair (address %to_)
27
                                                                (nat %token_id)
28
                                                                (nat %amount)
29
                                                                (signature %sig)))))
30
                (list %burn_editions nat)))
31
            (or
32
              (or %minter
33
                (or
34
                  (list %mint_editions (pair (address %owner)
35
                                            (list %tokens (pair
36
                                                           (map %token_info string bytes)
37
                                                           (bytes %artwork_id)
38
                                                           (nat %edition)))))
39
                  (list %register_artworks (pair (string %title) (string %artist_name)
40
                                                (bytes %fingerprint)
41
                                                (nat %max_edition))))
42
                (list %update_edition_metadata (pair (nat %token_id)
43
                                                    (map %token_info string bytes))))
44
              (or %trustee (address %add_trustee) (address %remove_trustee))));
45
storage (pair
46
          (pair
47
            (pair (pair %admin (address %admin) (option %pending_admin address))
48
                  (map %artworks bytes
49
                                 (pair
50
                                   (pair
51
                                     (pair (string %artist_name) (bytes %fingerprint))
52
                                     (pair (nat %max_edition) (string %title)))
53
                                   (nat %token_start_id))))
54
            (pair
55
              (pair %assets
56
                (pair (big_map %ledger nat address)
57
                      (big_map %operators (pair address (pair address nat)) unit))
58
                (big_map %token_metadata nat
59
                                         (pair (nat %token_id)
60
                                               (map %token_info string bytes))))
61
              (bool %burnable)))
62
          (pair
63
            (pair (big_map %metadata string bytes)
64
                  (big_map %token_attribute nat
65
                                            (pair
66
                                              (pair (bytes %artwork_id) (bool %burned))
67
                                              (nat %edition_number))))
68
            (pair %trustee (nat %max_trustee) (set %trustees address))));
69
code { LAMBDA
70
         (pair address (option address))
71
         unit
72
         { CAR ; SENDER ; COMPARE ; NEQ ; IF { PUSH string "NOT_AN_ADMIN" ; FAILWITH } { UNIT } } ;
73
       PUSH string "FA2_TOKEN_UNDEFINED" ;
74
       PUSH string "FA2_INSUFFICIENT_BALANCE" ;
75
       PUSH string "FA2_NOT_OWNER" ;
76
       LAMBDA
77
         (pair nat (big_map nat (pair nat (map string bytes))))
78
         unit
79
         { UNPAIR ;
80
           MEM ;
81
           NOT ;
82
           IF { PUSH string "TOKEN_METADATA_NOT_FOUND" ; FAILWITH } { UNIT } } ;
83
       DIG 5 ;
84
       UNPAIR ;
85
       IF_LEFT
86
         { IF_LEFT
87
             { DIG 2 ;
88
               DROP ;
89
               IF_LEFT
90
                 { DIG 2 ;
91
                   DIG 3 ;
92
                   DIG 4 ;
93
                   DROP 3 ;
94
                   SWAP ;
95
                   DUP ;
96
                   DUG 2 ;
97
                   CAR ;
98
                   CAR ;
99
                   CAR ;
100
                   SWAP ;
101
                   IF_LEFT
102
                     { DIG 3 ;
103
                       DROP 2 ;
104
                       CDR ;
105
                       IF_NONE
106
                         { PUSH string "NO_PENDING_ADMIN" ; FAILWITH }
107
                         { SENDER ;
108
                           COMPARE ;
109
                           EQ ;
110
                           IF
111
                             { NONE address ; SENDER ; PAIR }
112
                             { PUSH string "NOT_A_PENDING_ADMIN" ; FAILWITH } } ;
113
                       NIL operation ;
114
                       PAIR }
115
                     { SWAP ; DUP ; DUG 2 ; DIG 4 ; SWAP ; EXEC ; DROP ; SOME ; SWAP ; CAR ; PAIR ; NIL operation ; PAIR } ;
116
                   UNPAIR ;
117
                   DUP 3 ;
118
                   CDR ;
119
                   DUP 4 ;
120
                   CAR ;
121
                   CDR ;
122
                   DIG 4 ;
123
                   CAR ;
124
                   CAR ;
125
                   CDR ;
126
                   DIG 4 ;
127
                   PAIR ;
128
                   PAIR ;
129
                   PAIR ;
130
                   SWAP ;
131
                   PAIR }
132
                 { DIG 5 ;
133
                   DROP ;
134
                   SWAP ;
135
                   DUP ;
136
                   DUG 2 ;
137
                   CAR ;
138
                   CDR ;
139
                   CAR ;
140
                   SWAP ;
141
                   IF_LEFT
142
                     { DIG 3 ;
143
                       DROP ;
144
                       IF_LEFT
145
                         { DIG 3 ;
146
                           DROP ;
147
                           DUP ;
148
                           CAR ;
149
                           MAP { DUP 3 ;
150
                                 CAR ;
151
                                 CAR ;
152
                                 SWAP ;
153
                                 DUP ;
154
                                 DUG 2 ;
155
                                 CDR ;
156
                                 GET ;
157
                                 IF_NONE
158
                                   { DROP ; DUP 4 ; FAILWITH }
159
                                   { SWAP ;
160
                                     DUP ;
161
                                     DUG 2 ;
162
                                     CAR ;
163
                                     SWAP ;
164
                                     COMPARE ;
165
                                     EQ ;
166
                                     IF { PUSH nat 1 } { PUSH nat 0 } ;
167
                                     SWAP ;
168
                                     PAIR } } ;
169
                           DIG 4 ;
170
                           DROP ;
171
                           SWAP ;
172
                           CDR ;
173
                           PUSH mutez 0 ;
174
                           DIG 2 ;
175
                           TRANSFER_TOKENS ;
176
                           SWAP ;
177
                           NIL operation ;
178
                           DIG 2 ;
179
                           CONS ;
180
                           PAIR }
181
                         { SWAP ;
182
                           DUP ;
183
                           DUG 2 ;
184
                           CAR ;
185
                           CAR ;
186
                           SWAP ;
187
                           ITER { DUP ;
188
                                  DUG 2 ;
189
                                  CDR ;
190
                                  ITER { SWAP ;
191
                                         PUSH nat 0 ;
192
                                         DUP 3 ;
193
                                         GET 4 ;
194
                                         COMPARE ;
195
                                         EQ ;
196
                                         IF
197
                                           { SWAP ; DROP }
198
                                           { PUSH nat 1 ;
199
                                             DUP 3 ;
200
                                             GET 4 ;
201
                                             COMPARE ;
202
                                             NEQ ;
203
                                             IF
204
                                               { DROP 2 ; DUP 4 ; FAILWITH }
205
                                               { DUP ;
206
                                                 DUP 3 ;
207
                                                 GET 3 ;
208
                                                 GET ;
209
                                                 IF_NONE
210
                                                   { DROP 2 ; DUP 5 ; FAILWITH }
211
                                                   { DUP 4 ;
212
                                                     CAR ;
213
                                                     SWAP ;
214
                                                     DUP ;
215
                                                     DUG 2 ;
216
                                                     COMPARE ;
217
                                                     NEQ ;
218
                                                     IF
219
                                                       { DROP 3 ; DUP 4 ; FAILWITH }
220
                                                       { DUP 5 ;
221
                                                         CAR ;
222
                                                         CDR ;
223
                                                         DUP 4 ;
224
                                                         GET 3 ;
225
                                                         PAIR ;
226
                                                         SENDER ;
227
                                                         DUG 2 ;
228
                                                         UNPAIR ;
229
                                                         DUP 4 ;
230
                                                         DUP 4 ;
231
                                                         COMPARE ;
232
                                                         EQ ;
233
                                                         IF
234
                                                           { DROP 4 ; UNIT }
235
                                                           { DIG 3 ;
236
                                                             PAIR ;
237
                                                             DIG 2 ;
238
                                                             PAIR ;
239
                                                             MEM ;
240
                                                             IF
241
                                                               { UNIT }
242
                                                               { PUSH string "FA2_NOT_OPERATOR" ;
243
                                                                 FAILWITH } } ;
244
                                                         DROP ;
245
                                                         SWAP ;
246
                                                         DUP ;
247
                                                         DUG 2 ;
248
                                                         CAR ;
249
                                                         SOME ;
250
                                                         DIG 2 ;
251
                                                         GET 3 ;
252
                                                         UPDATE } } } } } ;
253
                                  SWAP ;
254
                                  DROP } ;
255
                           DIG 3 ;
256
                           DIG 4 ;
257
                           DROP 2 ;
258
                           SWAP ;
259
                           DUP ;
260
                           DUG 2 ;
261
                           CDR ;
262
                           DIG 2 ;
263
                           CAR ;
264
                           CDR ;
265
                           DIG 2 ;
266
                           PAIR ;
267
                           PAIR ;
268
                           NIL operation ;
269
                           PAIR } }
270
                     { DIG 4 ;
271
                       DIG 5 ;
272
                       DROP 2 ;
273
                       SWAP ;
274
                       DUP ;
275
                       DUG 2 ;
276
                       CAR ;
277
                       CDR ;
278
                       SWAP ;
279
                       ITER { SWAP ;
280
                              SENDER ;
281
                              DUP 3 ;
282
                              IF_LEFT {} {} ;
283
                              CAR ;
284
                              COMPARE ;
285
                              EQ ;
286
                              IF {} { DUP 5 ; FAILWITH } ;
287
                              SWAP ;
288
                              IF_LEFT
289
                                { SWAP ;
290
                                  UNIT ;
291
                                  SOME ;
292
                                  DUP 3 ;
293
                                  GET 4 ;
294
                                  DUP 4 ;
295
                                  GET 3 ;
296
                                  PAIR ;
297
                                  DIG 3 ;
298
                                  CAR ;
299
                                  PAIR ;
300
                                  UPDATE }
301
                                { DUP ;
302
                                  DUG 2 ;
303
                                  GET 4 ;
304
                                  DUP 3 ;
305
                                  GET 3 ;
306
                                  PAIR ;
307
                                  DIG 2 ;
308
                                  CAR ;
309
                                  PAIR ;
310
                                  NONE unit ;
311
                                  SWAP ;
312
                                  UPDATE } } ;
313
                       DIG 3 ;
314
                       DROP ;
315
                       SWAP ;
316
                       DUP ;
317
                       DUG 2 ;
318
                       CDR ;
319
                       SWAP ;
320
                       DIG 2 ;
321
                       CAR ;
322
                       CAR ;
323
                       PAIR ;
324
                       PAIR ;
325
                       NIL operation ;
326
                       PAIR } ;
327
                   UNPAIR ;
328
                   DUP 3 ;
329
                   CDR ;
330
                   DUP 4 ;
331
                   CAR ;
332
                   CDR ;
333
                   CDR ;
334
                   DIG 3 ;
335
                   PAIR ;
336
                   DIG 3 ;
337
                   CAR ;
338
                   CAR ;
339
                   PAIR ;
340
                   PAIR ;
341
                   SWAP ;
342
                   PAIR } }
343
             { IF_LEFT
344
                 { DIG 2 ;
345
                   DIG 3 ;
346
                   DROP 2 ;
347
                   SWAP ;
348
                   DUP ;
349
                   DUG 2 ;
350
                   CDR ;
351
                   CDR ;
352
                   CDR ;
353
                   SENDER ;
354
                   MEM ;
355
                   NOT ;
356
                   IF
357
                     { SWAP ; DUP ; DUG 2 ; CAR ; CAR ; CAR ; DIG 5 ; SWAP ; EXEC ; DROP ; UNIT }
358
                     { DIG 4 ; DROP ; UNIT } ;
359
                   DROP ;
360
                   SWAP ;
361
                   DUP ;
362
                   DUG 2 ;
363
                   CAR ;
364
                   CDR ;
365
                   CAR ;
366
                   DUP ;
367
                   CAR ;
368
                   CAR ;
369
                   DIG 2 ;
370
                   ITER { DUP ;
371
                          DUG 2 ;
372
                          GET 3 ;
373
                          HASH_KEY ;
374
                          IMPLICIT_ACCOUNT ;
375
                          DUP 3 ;
376
                          CAR ;
377
                          SWAP ;
378
                          ADDRESS ;
379
                          COMPARE ;
380
                          NEQ ;
381
                          IF
382
                            { PUSH string "FA2_PUBLICKEY_ADDRESS_MISMATCH" ; FAILWITH }
383
                            {} ;
384
                          SWAP ;
385
                          DUP ;
386
                          DUG 2 ;
387
                          GET 5 ;
388
                          NOW ;
389
                          COMPARE ;
390
                          GT ;
391
                          IF { PUSH string "FA2_EXPIRED_TIMESTAMP" ; FAILWITH } {} ;
392
                          SWAP ;
393
                          DUP ;
394
                          DUG 2 ;
395
                          GET 5 ;
396
                          PACK ;
397
                          SWAP ;
398
                          DUP 3 ;
399
                          GET 6 ;
400
                          ITER { SWAP ;
401
                                 PUSH nat 0 ;
402
                                 DUP 3 ;
403
                                 GET 5 ;
404
                                 COMPARE ;
405
                                 EQ ;
406
                                 IF
407
                                   { SWAP ; DROP }
408
                                   { PUSH nat 1 ;
409
                                     DUP 3 ;
410
                                     GET 5 ;
411
                                     COMPARE ;
412
                                     NEQ ;
413
                                     IF
414
                                       { DROP 2 ; DUP 5 ; FAILWITH }
415
                                       { DUP ;
416
                                         DUP 3 ;
417
                                         GET 3 ;
418
                                         GET ;
419
                                         IF_NONE
420
                                           { DROP 2 ; DUP 6 ; FAILWITH }
421
                                           { DUP 5 ;
422
                                             CAR ;
423
                                             SWAP ;
424
                                             COMPARE ;
425
                                             NEQ ;
426
                                             IF
427
                                               { DROP 2 ; DUP 5 ; FAILWITH }
428
                                               { SWAP ;
429
                                                 DUP ;
430
                                                 DUG 2 ;
431
                                                 CAR ;
432
                                                 PACK ;
433
                                                 DUP 3 ;
434
                                                 GET 3 ;
435
                                                 PACK ;
436
                                                 SWAP ;
437
                                                 CONCAT ;
438
                                                 DUP 4 ;
439
                                                 CONCAT ;
440
                                                 PUSH bytes 0x54657a6f73205369676e6564204d6573736167653a ;
441
                                                 CONCAT ;
442
                                                 PACK ;
443
                                                 PUSH bool False ;
444
                                                 SWAP ;
445
                                                 DUP 4 ;
446
                                                 GET 6 ;
447
                                                 DUP 7 ;
448
                                                 GET 3 ;
449
                                                 CHECK_SIGNATURE ;
450
                                                 COMPARE ;
451
                                                 EQ ;
452
                                                 IF
453
                                                   { PUSH string "FA2_INVALID_SIGNATURE" ;
454
                                                     FAILWITH }
455
                                                   {} ;
456
                                                 SWAP ;
457
                                                 DUP ;
458
                                                 DUG 2 ;
459
                                                 CAR ;
460
                                                 SOME ;
461
                                                 DIG 2 ;
462
                                                 GET 3 ;
463
                                                 UPDATE } } } } } ;
464
                          SWAP ;
465
                          DIG 2 ;
466
                          DROP 2 } ;
467
                   DIG 3 ;
468
                   DIG 4 ;
469
                   DROP 2 ;
470
                   DUP 3 ;
471
                   CDR ;
472
                   DUP 4 ;
473
                   CAR ;
474
                   CDR ;
475
                   CDR ;
476
                   DUP 4 ;
477
                   CDR ;
478
                   DIG 4 ;
479
                   CAR ;
480
                   CDR ;
481
                   DIG 4 ;
482
                   PAIR ;
483
                   PAIR ;
484
                   PAIR ;
485
                   DIG 2 ;
486
                   CAR ;
487
                   CAR ;
488
                   PAIR ;
489
                   PAIR ;
490
                   NIL operation ;
491
                   PAIR }
492
                 { DIG 4 ;
493
                   DIG 6 ;
494
                   DROP 2 ;
495
                   SWAP ;
496
                   DUP ;
497
                   DUG 2 ;
498
                   CAR ;
499
                   CDR ;
500
                   CDR ;
501
                   NOT ;
502
                   IF { PUSH string "TOKEN_NOT_BURNABLE" ; FAILWITH } {} ;
503
                   SWAP ;
504
                   DUP ;
505
                   DUG 2 ;
506
                   CAR ;
507
                   CDR ;
508
                   CAR ;
509
                   DUP ;
510
                   CDR ;
511
                   DUP 4 ;
512
                   CDR ;
513
                   CAR ;
514
                   CDR ;
515
                   DUP 3 ;
516
                   CAR ;
517
                   CAR ;
518
                   PAIR ;
519
                   PAIR ;
520
                   DIG 2 ;
521
                   ITER { SWAP ;
522
                          DUP ;
523
                          CDR ;
524
                          DUP 3 ;
525
                          PAIR ;
526
                          DUP 6 ;
527
                          SWAP ;
528
                          EXEC ;
529
                          DROP ;
530
                          DUP ;
531
                          CAR ;
532
                          CAR ;
533
                          DUP 3 ;
534
                          GET ;
535
                          IF_NONE
536
                            { DROP 2 ; DUP 5 ; FAILWITH }
537
                            { SENDER ;
538
                              SWAP ;
539
                              COMPARE ;
540
                              NEQ ;
541
                              IF { DUP 6 ; FAILWITH } {} ;
542
                              DUP ;
543
                              CAR ;
544
                              CDR ;
545
                              DUP 3 ;
546
                              GET ;
547
                              IF_NONE
548
                                { DROP 2 ;
549
                                  PUSH string "TOKEN_ATTRIBUTE_NOT_FOUND" ;
550
                                  FAILWITH }
551
                                { SWAP ;
552
                                  DUP ;
553
                                  DUG 2 ;
554
                                  CDR ;
555
                                  DUP 4 ;
556
                                  NONE (pair nat (map string bytes)) ;
557
                                  SWAP ;
558
                                  UPDATE ;
559
                                  DUP 3 ;
560
                                  CAR ;
561
                                  CDR ;
562
                                  DUP 3 ;
563
                                  CDR ;
564
                                  PUSH bool True ;
565
                                  DIG 4 ;
566
                                  CAR ;
567
                                  CAR ;
568
                                  PAIR ;
569
                                  PAIR ;
570
                                  SOME ;
571
                                  DUP 5 ;
572
                                  UPDATE ;
573
                                  DIG 2 ;
574
                                  CAR ;
575
                                  CAR ;
576
                                  DIG 3 ;
577
                                  NONE address ;
578
                                  SWAP ;
579
                                  UPDATE ;
580
                                  PAIR ;
581
                                  PAIR } } } ;
582
                   DIG 3 ;
583
                   DIG 4 ;
584
                   DIG 5 ;
585
                   DROP 3 ;
586
                   DUP 3 ;
587
                   CDR ;
588
                   DUP 4 ;
589
                   CAR ;
590
                   CDR ;
591
                   CDR ;
592
                   DUP 3 ;
593
                   CDR ;
594
                   DIG 4 ;
595
                   CAR ;
596
                   CDR ;
597
                   DUP 5 ;
598
                   CAR ;
599
                   CAR ;
600
                   PAIR ;
601
                   PAIR ;
602
                   PAIR ;
603
                   DIG 3 ;
604
                   CAR ;
605
                   CAR ;
606
                   PAIR ;
607
                   PAIR ;
608
                   DUP ;
609
                   CDR ;
610
                   CDR ;
611
                   DIG 2 ;
612
                   CAR ;
613
                   CDR ;
614
                   DUP 3 ;
615
                   CDR ;
616
                   CAR ;
617
                   CAR ;
618
                   PAIR ;
619
                   PAIR ;
620
                   SWAP ;
621
                   CAR ;
622
                   PAIR ;
623
                   NIL operation ;
624
                   PAIR } } }
625
         { DIG 3 ;
626
           DIG 4 ;
627
           DIG 5 ;
628
           DROP 3 ;
629
           IF_LEFT
630
             { SWAP ;
631
               DUP ;
632
               DUG 2 ;
633
               CDR ;
634
               CDR ;
635
               CDR ;
636
               SENDER ;
637
               MEM ;
638
               NOT ;
639
               IF
640
                 { SWAP ; DUP ; DUG 2 ; CAR ; CAR ; CAR ; DIG 4 ; SWAP ; EXEC ; DROP ; UNIT }
641
                 { DIG 3 ; DROP ; UNIT } ;
642
               DROP ;
643
               SWAP ;
644
               DUP ;
645
               DUG 2 ;
646
               CAR ;
647
               CDR ;
648
               CAR ;
649
               DUP 3 ;
650
               CDR ;
651
               CAR ;
652
               CDR ;
653
               DUP 4 ;
654
               CAR ;
655
               CAR ;
656
               CDR ;
657
               DIG 3 ;
658
               IF_LEFT
659
                 { DIG 5 ;
660
                   DROP ;
661
                   IF_LEFT
662
                     { DUP 4 ;
663
                       CDR ;
664
                       DIG 3 ;
665
                       DUP 5 ;
666
                       CAR ;
667
                       CAR ;
668
                       PAIR ;
669
                       PAIR ;
670
                       SWAP ;
671
                       ITER { DUP ;
672
                              DUG 2 ;
673
                              CDR ;
674
                              ITER { SWAP ;
675
                                     DUP 4 ;
676
                                     DUP 3 ;
677
                                     GET 3 ;
678
                                     GET ;
679
                                     IF_NONE
680
                                       { DROP 2 ;
681
                                         PUSH string "ARTWORK_NOT_FOUND" ;
682
                                         FAILWITH }
683
                                       { DUP ;
684
                                         CAR ;
685
                                         CDR ;
686
                                         CAR ;
687
                                         DUP 4 ;
688
                                         GET 4 ;
689
                                         COMPARE ;
690
                                         GT ;
691
                                         IF
692
                                           { PUSH string "EDITION_NUMBER_EXCEEDS_MAX_EDITION_LIMITS" ;
693
                                             FAILWITH }
694
                                           {} ;
695
                                         DUP 3 ;
696
                                         GET 4 ;
697
                                         SWAP ;
698
                                         CDR ;
699
                                         ADD ;
700
                                         SWAP ;
701
                                         DUP ;
702
                                         DUG 2 ;
703
                                         CAR ;
704
                                         CAR ;
705
                                         SWAP ;
706
                                         DUP ;
707
                                         DUG 2 ;
708
                                         MEM ;
709
                                         IF
710
                                           { PUSH string "TOKEN_HAS_ALREADY_ISSUED" ;
711
                                             FAILWITH }
712
                                           {} ;
713
                                         SWAP ;
714
                                         DUP ;
715
                                         DUG 2 ;
716
                                         CDR ;
717
                                         SWAP ;
718
                                         DUP ;
719
                                         DUG 2 ;
720
                                         MEM ;
721
                                         IF
722
                                           { PUSH string "TOKEN_METADATA_HAS_ALREADY_REGISTERED" ;
723
                                             FAILWITH }
724
                                           {} ;
725
                                         SWAP ;
726
                                         DUP ;
727
                                         DUG 2 ;
728
                                         CAR ;
729
                                         CDR ;
730
                                         SWAP ;
731
                                         DUP ;
732
                                         DUG 2 ;
733
                                         MEM ;
734
                                         IF
735
                                           { PUSH string "TOKEN_ATTRIBUTE_HAS_ALREADY_REGISTERED" ;
736
                                             FAILWITH }
737
                                           {} ;
738
                                         SWAP ;
739
                                         DUP ;
740
                                         DUG 2 ;
741
                                         CDR ;
742
                                         DUP 4 ;
743
                                         CAR ;
744
                                         DUP 3 ;
745
                                         PAIR ;
746
                                         DUP 3 ;
747
                                         SWAP ;
748
                                         SOME ;
749
                                         SWAP ;
750
                                         UPDATE ;
751
                                         DUP 3 ;
752
                                         CAR ;
753
                                         CDR ;
754
                                         DUP 5 ;
755
                                         GET 4 ;
756
                                         PUSH bool False ;
757
                                         DIG 6 ;
758
                                         GET 3 ;
759
                                         PAIR ;
760
                                         PAIR ;
761
                                         DUP 4 ;
762
                                         SWAP ;
763
                                         SOME ;
764
                                         SWAP ;
765
                                         UPDATE ;
766
                                         DIG 3 ;
767
                                         CAR ;
768
                                         CAR ;
769
                                         DUP 5 ;
770
                                         CAR ;
771
                                         DIG 4 ;
772
                                         SWAP ;
773
                                         SOME ;
774
                                         SWAP ;
775
                                         UPDATE ;
776
                                         PAIR ;
777
                                         PAIR } } ;
778
                              SWAP ;
779
                              DROP } ;
780
                       DUP ;
781
                       CAR ;
782
                       CDR ;
783
                       DUG 2 ;
784
                       DUP ;
785
                       DUG 3 ;
786
                       CDR ;
787
                       DIG 4 ;
788
                       CAR ;
789
                       CDR ;
790
                       DIG 4 ;
791
                       CAR ;
792
                       CAR ;
793
                       PAIR ;
794
                       PAIR ;
795
                       PAIR ;
796
                       PAIR }
797
                     { ITER { DUP ;
798
                              DUG 2 ;
799
                              GET 5 ;
800
                              KECCAK ;
801
                              SWAP ;
802
                              DUP ;
803
                              DUG 2 ;
804
                              SWAP ;
805
                              DUP ;
806
                              DUG 2 ;
807
                              MEM ;
808
                              IF
809
                                { DROP 3 ; PUSH string "USED_ARTWORK_ID" ; FAILWITH }
810
                                { PUSH nat 0 ;
811
                                  PUSH nat 0 ;
812
                                  DUP 3 ;
813
                                  PAIR ;
814
                                  PAIR ;
815
                                  { LEFT nat ;
816
                                    LOOP_LEFT { UNPAIR ;
817
                                                UNPAIR ;
818
                                                PUSH nat 0 ;
819
                                                SWAP ;
820
                                                DUP ;
821
                                                DUG 2 ;
822
                                                SIZE ;
823
                                                COMPARE ;
824
                                                EQ ;
825
                                                IF
826
                                                  { DROP 3 ;
827
                                                    PUSH string "BYTES_LENGTH_ZERO" ;
828
                                                    FAILWITH }
829
                                                  { DUP ;
830
                                                    SIZE ;
831
                                                    DUP 3 ;
832
                                                    COMPARE ;
833
                                                    LT ;
834
                                                    IF
835
                                                      { DUP ;
836
                                                        PUSH nat 1 ;
837
                                                        DUP 4 ;
838
                                                        SLICE ;
839
                                                        IF_NONE
840
                                                          { PUSH string "SLICE" ;
841
                                                            FAILWITH }
842
                                                          {} ;
843
                                                        EMPTY_MAP bytes nat ;
844
                                                        PUSH nat 255 ;
845
                                                        SOME ;
846
                                                        PUSH bytes 0xff ;
847
                                                        UPDATE ;
848
                                                        PUSH nat 254 ;
849
                                                        SOME ;
850
                                                        PUSH bytes 0xfe ;
851
                                                        UPDATE ;
852
                                                        PUSH nat 253 ;
853
                                                        SOME ;
854
                                                        PUSH bytes 0xfd ;
855
                                                        UPDATE ;
856
                                                        PUSH nat 252 ;
857
                                                        SOME ;
858
                                                        PUSH bytes 0xfc ;
859
                                                        UPDATE ;
860
                                                        PUSH nat 251 ;
861
                                                        SOME ;
862
                                                        PUSH bytes 0xfb ;
863
                                                        UPDATE ;
864
                                                        PUSH nat 250 ;
865
                                                        SOME ;
866
                                                        PUSH bytes 0xfa ;
867
                                                        UPDATE ;
868
                                                        PUSH nat 249 ;
869
                                                        SOME ;
870
                                                        PUSH bytes 0xf9 ;
871
                                                        UPDATE ;
872
                                                        PUSH nat 248 ;
873
                                                        SOME ;
874
                                                        PUSH bytes 0xf8 ;
875
                                                        UPDATE ;
876
                                                        PUSH nat 247 ;
877
                                                        SOME ;
878
                                                        PUSH bytes 0xf7 ;
879
                                                        UPDATE ;
880
                                                        PUSH nat 246 ;
881
                                                        SOME ;
882
                                                        PUSH bytes 0xf6 ;
883
                                                        UPDATE ;
884
                                                        PUSH nat 245 ;
885
                                                        SOME ;
886
                                                        PUSH bytes 0xf5 ;
887
                                                        UPDATE ;
888
                                                        PUSH nat 244 ;
889
                                                        SOME ;
890
                                                        PUSH bytes 0xf4 ;
891
                                                        UPDATE ;
892
                                                        PUSH nat 243 ;
893
                                                        SOME ;
894
                                                        PUSH bytes 0xf3 ;
895
                                                        UPDATE ;
896
                                                        PUSH nat 242 ;
897
                                                        SOME ;
898
                                                        PUSH bytes 0xf2 ;
899
                                                        UPDATE ;
900
                                                        PUSH nat 241 ;
901
                                                        SOME ;
902
                                                        PUSH bytes 0xf1 ;
903
                                                        UPDATE ;
904
                                                        PUSH nat 240 ;
905
                                                        SOME ;
906
                                                        PUSH bytes 0xf0 ;
907
                                                        UPDATE ;
908
                                                        PUSH nat 239 ;
909
                                                        SOME ;
910
                                                        PUSH bytes 0xef ;
911
                                                        UPDATE ;
912
                                                        PUSH nat 238 ;
913
                                                        SOME ;
914
                                                        PUSH bytes 0xee ;
915
                                                        UPDATE ;
916
                                                        PUSH nat 237 ;
917
                                                        SOME ;
918
                                                        PUSH bytes 0xed ;
919
                                                        UPDATE ;
920
                                                        PUSH nat 236 ;
921
                                                        SOME ;
922
                                                        PUSH bytes 0xec ;
923
                                                        UPDATE ;
924
                                                        PUSH nat 235 ;
925
                                                        SOME ;
926
                                                        PUSH bytes 0xeb ;
927
                                                        UPDATE ;
928
                                                        PUSH nat 234 ;
929
                                                        SOME ;
930
                                                        PUSH bytes 0xea ;
931
                                                        UPDATE ;
932
                                                        PUSH nat 233 ;
933
                                                        SOME ;
934
                                                        PUSH bytes 0xe9 ;
935
                                                        UPDATE ;
936
                                                        PUSH nat 232 ;
937
                                                        SOME ;
938
                                                        PUSH bytes 0xe8 ;
939
                                                        UPDATE ;
940
                                                        PUSH nat 231 ;
941
                                                        SOME ;
942
                                                        PUSH bytes 0xe7 ;
943
                                                        UPDATE ;
944
                                                        PUSH nat 230 ;
945
                                                        SOME ;
946
                                                        PUSH bytes 0xe6 ;
947
                                                        UPDATE ;
948
                                                        PUSH nat 229 ;
949
                                                        SOME ;
950
                                                        PUSH bytes 0xe5 ;
951
                                                        UPDATE ;
952
                                                        PUSH nat 228 ;
953
                                                        SOME ;
954
                                                        PUSH bytes 0xe4 ;
955
                                                        UPDATE ;
956
                                                        PUSH nat 227 ;
957
                                                        SOME ;
958
                                                        PUSH bytes 0xe3 ;
959
                                                        UPDATE ;
960
                                                        PUSH nat 226 ;
961
                                                        SOME ;
962
                                                        PUSH bytes 0xe2 ;
963
                                                        UPDATE ;
964
                                                        PUSH nat 225 ;
965
                                                        SOME ;
966
                                                        PUSH bytes 0xe1 ;
967
                                                        UPDATE ;
968
                                                        PUSH nat 224 ;
969
                                                        SOME ;
970
                                                        PUSH bytes 0xe0 ;
971
                                                        UPDATE ;
972
                                                        PUSH nat 223 ;
973
                                                        SOME ;
974
                                                        PUSH bytes 0xdf ;
975
                                                        UPDATE ;
976
                                                        PUSH nat 222 ;
977
                                                        SOME ;
978
                                                        PUSH bytes 0xde ;
979
                                                        UPDATE ;
980
                                                        PUSH nat 221 ;
981
                                                        SOME ;
982
                                                        PUSH bytes 0xdd ;
983
                                                        UPDATE ;
984
                                                        PUSH nat 220 ;
985
                                                        SOME ;
986
                                                        PUSH bytes 0xdc ;
987
                                                        UPDATE ;
988
                                                        PUSH nat 219 ;
989
                                                        SOME ;
990
                                                        PUSH bytes 0xdb ;
991
                                                        UPDATE ;
992
                                                        PUSH nat 218 ;
993
                                                        SOME ;
994
                                                        PUSH bytes 0xda ;
995
                                                        UPDATE ;
996
                                                        PUSH nat 217 ;
997
                                                        SOME ;
998
                                                        PUSH bytes 0xd9 ;
999
                                                        UPDATE ;
1000
                                                        PUSH nat 216 ;
1001
                                                        SOME ;
1002
                                                        PUSH bytes 0xd8 ;
1003
                                                        UPDATE ;
1004
                                                        PUSH nat 215 ;
1005
                                                        SOME ;
1006
                                                        PUSH bytes 0xd7 ;
1007
                                                        UPDATE ;
1008
                                                        PUSH nat 214 ;
1009
                                                        SOME ;
1010
                                                        PUSH bytes 0xd6 ;
1011
                                                        UPDATE ;
1012
                                                        PUSH nat 213 ;
1013
                                                        SOME ;
1014
                                                        PUSH bytes 0xd5 ;
1015
                                                        UPDATE ;
1016
                                                        PUSH nat 212 ;
1017
                                                        SOME ;
1018
                                                        PUSH bytes 0xd4 ;
1019
                                                        UPDATE ;
1020
                                                        PUSH nat 211 ;
1021
                                                        SOME ;
1022
                                                        PUSH bytes 0xd3 ;
1023
                                                        UPDATE ;
1024
                                                        PUSH nat 210 ;
1025
                                                        SOME ;
1026
                                                        PUSH bytes 0xd2 ;
1027
                                                        UPDATE ;
1028
                                                        PUSH nat 209 ;
1029
                                                        SOME ;
1030
                                                        PUSH bytes 0xd1 ;
1031
                                                        UPDATE ;
1032
                                                        PUSH nat 208 ;
1033
                                                        SOME ;
1034
                                                        PUSH bytes 0xd0 ;
1035
                                                        UPDATE ;
1036
                                                        PUSH nat 207 ;
1037
                                                        SOME ;
1038
                                                        PUSH bytes 0xcf ;
1039
                                                        UPDATE ;
1040
                                                        PUSH nat 206 ;
1041
                                                        SOME ;
1042
                                                        PUSH bytes 0xce ;
1043
                                                        UPDATE ;
1044
                                                        PUSH nat 205 ;
1045
                                                        SOME ;
1046
                                                        PUSH bytes 0xcd ;
1047
                                                        UPDATE ;
1048
                                                        PUSH nat 204 ;
1049
                                                        SOME ;
1050
                                                        PUSH bytes 0xcc ;
1051
                                                        UPDATE ;
1052
                                                        PUSH nat 203 ;
1053
                                                        SOME ;
1054
                                                        PUSH bytes 0xcb ;
1055
                                                        UPDATE ;
1056
                                                        PUSH nat 202 ;
1057
                                                        SOME ;
1058
                                                        PUSH bytes 0xca ;
1059
                                                        UPDATE ;
1060
                                                        PUSH nat 201 ;
1061
                                                        SOME ;
1062
                                                        PUSH bytes 0xc9 ;
1063
                                                        UPDATE ;
1064
                                                        PUSH nat 200 ;
1065
                                                        SOME ;
1066
                                                        PUSH bytes 0xc8 ;
1067
                                                        UPDATE ;
1068
                                                        PUSH nat 199 ;
1069
                                                        SOME ;
1070
                                                        PUSH bytes 0xc7 ;
1071
                                                        UPDATE ;
1072
                                                        PUSH nat 198 ;
1073
                                                        SOME ;
1074
                                                        PUSH bytes 0xc6 ;
1075
                                                        UPDATE ;
1076
                                                        PUSH nat 197 ;
1077
                                                        SOME ;
1078
                                                        PUSH bytes 0xc5 ;
1079
                                                        UPDATE ;
1080
                                                        PUSH nat 196 ;
1081
                                                        SOME ;
1082
                                                        PUSH bytes 0xc4 ;
1083
                                                        UPDATE ;
1084
                                                        PUSH nat 195 ;
1085
                                                        SOME ;
1086
                                                        PUSH bytes 0xc3 ;
1087
                                                        UPDATE ;
1088
                                                        PUSH nat 194 ;
1089
                                                        SOME ;
1090
                                                        PUSH bytes 0xc2 ;
1091
                                                        UPDATE ;
1092
                                                        PUSH nat 193 ;
1093
                                                        SOME ;
1094
                                                        PUSH bytes 0xc1 ;
1095
                                                        UPDATE ;
1096
                                                        PUSH nat 192 ;
1097
                                                        SOME ;
1098
                                                        PUSH bytes 0xc0 ;
1099
                                                        UPDATE ;
1100
                                                        PUSH nat 191 ;
1101
                                                        SOME ;
1102
                                                        PUSH bytes 0xbf ;
1103
                                                        UPDATE ;
1104
                                                        PUSH nat 190 ;
1105
                                                        SOME ;
1106
                                                        PUSH bytes 0xbe ;
1107
                                                        UPDATE ;
1108
                                                        PUSH nat 189 ;
1109
                                                        SOME ;
1110
                                                        PUSH bytes 0xbd ;
1111
                                                        UPDATE ;
1112
                                                        PUSH nat 188 ;
1113
                                                        SOME ;
1114
                                                        PUSH bytes 0xbc ;
1115
                                                        UPDATE ;
1116
                                                        PUSH nat 187 ;
1117
                                                        SOME ;
1118
                                                        PUSH bytes 0xbb ;
1119
                                                        UPDATE ;
1120
                                                        PUSH nat 186 ;
1121
                                                        SOME ;
1122
                                                        PUSH bytes 0xba ;
1123
                                                        UPDATE ;
1124
                                                        PUSH nat 185 ;
1125
                                                        SOME ;
1126
                                                        PUSH bytes 0xb9 ;
1127
                                                        UPDATE ;
1128
                                                        PUSH nat 184 ;
1129
                                                        SOME ;
1130
                                                        PUSH bytes 0xb8 ;
1131
                                                        UPDATE ;
1132
                                                        PUSH nat 183 ;
1133
                                                        SOME ;
1134
                                                        PUSH bytes 0xb7 ;
1135
                                                        UPDATE ;
1136
                                                        PUSH nat 182 ;
1137
                                                        SOME ;
1138
                                                        PUSH bytes 0xb6 ;
1139
                                                        UPDATE ;
1140
                                                        PUSH nat 181 ;
1141
                                                        SOME ;
1142
                                                        PUSH bytes 0xb5 ;
1143
                                                        UPDATE ;
1144
                                                        PUSH nat 180 ;
1145
                                                        SOME ;
1146
                                                        PUSH bytes 0xb4 ;
1147
                                                        UPDATE ;
1148
                                                        PUSH nat 179 ;
1149
                                                        SOME ;
1150
                                                        PUSH bytes 0xb3 ;
1151
                                                        UPDATE ;
1152
                                                        PUSH nat 178 ;
1153
                                                        SOME ;
1154
                                                        PUSH bytes 0xb2 ;
1155
                                                        UPDATE ;
1156
                                                        PUSH nat 177 ;
1157
                                                        SOME ;
1158
                                                        PUSH bytes 0xb1 ;
1159
                                                        UPDATE ;
1160
                                                        PUSH nat 176 ;
1161
                                                        SOME ;
1162
                                                        PUSH bytes 0xb0 ;
1163
                                                        UPDATE ;
1164
                                                        PUSH nat 175 ;
1165
                                                        SOME ;
1166
                                                        PUSH bytes 0xaf ;
1167
                                                        UPDATE ;
1168
                                                        PUSH nat 174 ;
1169
                                                        SOME ;
1170
                                                        PUSH bytes 0xae ;
1171
                                                        UPDATE ;
1172
                                                        PUSH nat 173 ;
1173
                                                        SOME ;
1174
                                                        PUSH bytes 0xad ;
1175
                                                        UPDATE ;
1176
                                                        PUSH nat 172 ;
1177
                                                        SOME ;
1178
                                                        PUSH bytes 0xac ;
1179
                                                        UPDATE ;
1180
                                                        PUSH nat 171 ;
1181
                                                        SOME ;
1182
                                                        PUSH bytes 0xab ;
1183
                                                        UPDATE ;
1184
                                                        PUSH nat 170 ;
1185
                                                        SOME ;
1186
                                                        PUSH bytes 0xaa ;
1187
                                                        UPDATE ;
1188
                                                        PUSH nat 169 ;
1189
                                                        SOME ;
1190
                                                        PUSH bytes 0xa9 ;
1191
                                                        UPDATE ;
1192
                                                        PUSH nat 168 ;
1193
                                                        SOME ;
1194
                                                        PUSH bytes 0xa8 ;
1195
                                                        UPDATE ;
1196
                                                        PUSH nat 167 ;
1197
                                                        SOME ;
1198
                                                        PUSH bytes 0xa7 ;
1199
                                                        UPDATE ;
1200
                                                        PUSH nat 166 ;
1201
                                                        SOME ;
1202
                                                        PUSH bytes 0xa6 ;
1203
                                                        UPDATE ;
1204
                                                        PUSH nat 165 ;
1205
                                                        SOME ;
1206
                                                        PUSH bytes 0xa5 ;
1207
                                                        UPDATE ;
1208
                                                        PUSH nat 164 ;
1209
                                                        SOME ;
1210
                                                        PUSH bytes 0xa4 ;
1211
                                                        UPDATE ;
1212
                                                        PUSH nat 163 ;
1213
                                                        SOME ;
1214
                                                        PUSH bytes 0xa3 ;
1215
                                                        UPDATE ;
1216
                                                        PUSH nat 162 ;
1217
                                                        SOME ;
1218
                                                        PUSH bytes 0xa2 ;
1219
                                                        UPDATE ;
1220
                                                        PUSH nat 161 ;
1221
                                                        SOME ;
1222
                                                        PUSH bytes 0xa1 ;
1223
                                                        UPDATE ;
1224
                                                        PUSH nat 160 ;
1225
                                                        SOME ;
1226
                                                        PUSH bytes 0xa0 ;
1227
                                                        UPDATE ;
1228
                                                        PUSH nat 159 ;
1229
                                                        SOME ;
1230
                                                        PUSH bytes 0x9f ;
1231
                                                        UPDATE ;
1232
                                                        PUSH nat 158 ;
1233
                                                        SOME ;
1234
                                                        PUSH bytes 0x9e ;
1235
                                                        UPDATE ;
1236
                                                        PUSH nat 157 ;
1237
                                                        SOME ;
1238
                                                        PUSH bytes 0x9d ;
1239
                                                        UPDATE ;
1240
                                                        PUSH nat 156 ;
1241
                                                        SOME ;
1242
                                                        PUSH bytes 0x9c ;
1243
                                                        UPDATE ;
1244
                                                        PUSH nat 155 ;
1245
                                                        SOME ;
1246
                                                        PUSH bytes 0x9b ;
1247
                                                        UPDATE ;
1248
                                                        PUSH nat 154 ;
1249
                                                        SOME ;
1250
                                                        PUSH bytes 0x9a ;
1251
                                                        UPDATE ;
1252
                                                        PUSH nat 153 ;
1253
                                                        SOME ;
1254
                                                        PUSH bytes 0x99 ;
1255
                                                        UPDATE ;
1256
                                                        PUSH nat 152 ;
1257
                                                        SOME ;
1258
                                                        PUSH bytes 0x98 ;
1259
                                                        UPDATE ;
1260
                                                        PUSH nat 151 ;
1261
                                                        SOME ;
1262
                                                        PUSH bytes 0x97 ;
1263
                                                        UPDATE ;
1264
                                                        PUSH nat 150 ;
1265
                                                        SOME ;
1266
                                                        PUSH bytes 0x96 ;
1267
                                                        UPDATE ;
1268
                                                        PUSH nat 149 ;
1269
                                                        SOME ;
1270
                                                        PUSH bytes 0x95 ;
1271
                                                        UPDATE ;
1272
                                                        PUSH nat 148 ;
1273
                                                        SOME ;
1274
                                                        PUSH bytes 0x94 ;
1275
                                                        UPDATE ;
1276
                                                        PUSH nat 147 ;
1277
                                                        SOME ;
1278
                                                        PUSH bytes 0x93 ;
1279
                                                        UPDATE ;
1280
                                                        PUSH nat 146 ;
1281
                                                        SOME ;
1282
                                                        PUSH bytes 0x92 ;
1283
                                                        UPDATE ;
1284
                                                        PUSH nat 145 ;
1285
                                                        SOME ;
1286
                                                        PUSH bytes 0x91 ;
1287
                                                        UPDATE ;
1288
                                                        PUSH nat 144 ;
1289
                                                        SOME ;
1290
                                                        PUSH bytes 0x90 ;
1291
                                                        UPDATE ;
1292
                                                        PUSH nat 143 ;
1293
                                                        SOME ;
1294
                                                        PUSH bytes 0x8f ;
1295
                                                        UPDATE ;
1296
                                                        PUSH nat 142 ;
1297
                                                        SOME ;
1298
                                                        PUSH bytes 0x8e ;
1299
                                                        UPDATE ;
1300
                                                        PUSH nat 141 ;
1301
                                                        SOME ;
1302
                                                        PUSH bytes 0x8d ;
1303
                                                        UPDATE ;
1304
                                                        PUSH nat 140 ;
1305
                                                        SOME ;
1306
                                                        PUSH bytes 0x8c ;
1307
                                                        UPDATE ;
1308
                                                        PUSH nat 139 ;
1309
                                                        SOME ;
1310
                                                        PUSH bytes 0x8b ;
1311
                                                        UPDATE ;
1312
                                                        PUSH nat 138 ;
1313
                                                        SOME ;
1314
                                                        PUSH bytes 0x8a ;
1315
                                                        UPDATE ;
1316
                                                        PUSH nat 137 ;
1317
                                                        SOME ;
1318
                                                        PUSH bytes 0x89 ;
1319
                                                        UPDATE ;
1320
                                                        PUSH nat 136 ;
1321
                                                        SOME ;
1322
                                                        PUSH bytes 0x88 ;
1323
                                                        UPDATE ;
1324
                                                        PUSH nat 135 ;
1325
                                                        SOME ;
1326
                                                        PUSH bytes 0x87 ;
1327
                                                        UPDATE ;
1328
                                                        PUSH nat 134 ;
1329
                                                        SOME ;
1330
                                                        PUSH bytes 0x86 ;
1331
                                                        UPDATE ;
1332
                                                        PUSH nat 133 ;
1333
                                                        SOME ;
1334
                                                        PUSH bytes 0x85 ;
1335
                                                        UPDATE ;
1336
                                                        PUSH nat 132 ;
1337
                                                        SOME ;
1338
                                                        PUSH bytes 0x84 ;
1339
                                                        UPDATE ;
1340
                                                        PUSH nat 131 ;
1341
                                                        SOME ;
1342
                                                        PUSH bytes 0x83 ;
1343
                                                        UPDATE ;
1344
                                                        PUSH nat 130 ;
1345
                                                        SOME ;
1346
                                                        PUSH bytes 0x82 ;
1347
                                                        UPDATE ;
1348
                                                        PUSH nat 129 ;
1349
                                                        SOME ;
1350
                                                        PUSH bytes 0x81 ;
1351
                                                        UPDATE ;
1352
                                                        PUSH nat 128 ;
1353
                                                        SOME ;
1354
                                                        PUSH bytes 0x80 ;
1355
                                                        UPDATE ;
1356
                                                        PUSH nat 127 ;
1357
                                                        SOME ;
1358
                                                        PUSH bytes 0x7f ;
1359
                                                        UPDATE ;
1360
                                                        PUSH nat 126 ;
1361
                                                        SOME ;
1362
                                                        PUSH bytes 0x7e ;
1363
                                                        UPDATE ;
1364
                                                        PUSH nat 125 ;
1365
                                                        SOME ;
1366
                                                        PUSH bytes 0x7d ;
1367
                                                        UPDATE ;
1368
                                                        PUSH nat 124 ;
1369
                                                        SOME ;
1370
                                                        PUSH bytes 0x7c ;
1371
                                                        UPDATE ;
1372
                                                        PUSH nat 123 ;
1373
                                                        SOME ;
1374
                                                        PUSH bytes 0x7b ;
1375
                                                        UPDATE ;
1376
                                                        PUSH nat 122 ;
1377
                                                        SOME ;
1378
                                                        PUSH bytes 0x7a ;
1379
                                                        UPDATE ;
1380
                                                        PUSH nat 121 ;
1381
                                                        SOME ;
1382
                                                        PUSH bytes 0x79 ;
1383
                                                        UPDATE ;
1384
                                                        PUSH nat 120 ;
1385
                                                        SOME ;
1386
                                                        PUSH bytes 0x78 ;
1387
                                                        UPDATE ;
1388
                                                        PUSH nat 119 ;
1389
                                                        SOME ;
1390
                                                        PUSH bytes 0x77 ;
1391
                                                        UPDATE ;
1392
                                                        PUSH nat 118 ;
1393
                                                        SOME ;
1394
                                                        PUSH bytes 0x76 ;
1395
                                                        UPDATE ;
1396
                                                        PUSH nat 117 ;
1397
                                                        SOME ;
1398
                                                        PUSH bytes 0x75 ;
1399
                                                        UPDATE ;
1400
                                                        PUSH nat 116 ;
1401
                                                        SOME ;
1402
                                                        PUSH bytes 0x74 ;
1403
                                                        UPDATE ;
1404
                                                        PUSH nat 115 ;
1405
                                                        SOME ;
1406
                                                        PUSH bytes 0x73 ;
1407
                                                        UPDATE ;
1408
                                                        PUSH nat 114 ;
1409
                                                        SOME ;
1410
                                                        PUSH bytes 0x72 ;
1411
                                                        UPDATE ;
1412
                                                        PUSH nat 113 ;
1413
                                                        SOME ;
1414
                                                        PUSH bytes 0x71 ;
1415
                                                        UPDATE ;
1416
                                                        PUSH nat 112 ;
1417
                                                        SOME ;
1418
                                                        PUSH bytes 0x70 ;
1419
                                                        UPDATE ;
1420
                                                        PUSH nat 111 ;
1421
                                                        SOME ;
1422
                                                        PUSH bytes 0x6f ;
1423
                                                        UPDATE ;
1424
                                                        PUSH nat 110 ;
1425
                                                        SOME ;
1426
                                                        PUSH bytes 0x6e ;
1427
                                                        UPDATE ;
1428
                                                        PUSH nat 109 ;
1429
                                                        SOME ;
1430
                                                        PUSH bytes 0x6d ;
1431
                                                        UPDATE ;
1432
                                                        PUSH nat 108 ;
1433
                                                        SOME ;
1434
                                                        PUSH bytes 0x6c ;
1435
                                                        UPDATE ;
1436
                                                        PUSH nat 107 ;
1437
                                                        SOME ;
1438
                                                        PUSH bytes 0x6b ;
1439
                                                        UPDATE ;
1440
                                                        PUSH nat 106 ;
1441
                                                        SOME ;
1442
                                                        PUSH bytes 0x6a ;
1443
                                                        UPDATE ;
1444
                                                        PUSH nat 105 ;
1445
                                                        SOME ;
1446
                                                        PUSH bytes 0x69 ;
1447
                                                        UPDATE ;
1448
                                                        PUSH nat 104 ;
1449
                                                        SOME ;
1450
                                                        PUSH bytes 0x68 ;
1451
                                                        UPDATE ;
1452
                                                        PUSH nat 103 ;
1453
                                                        SOME ;
1454
                                                        PUSH bytes 0x67 ;
1455
                                                        UPDATE ;
1456
                                                        PUSH nat 102 ;
1457
                                                        SOME ;
1458
                                                        PUSH bytes 0x66 ;
1459
                                                        UPDATE ;
1460
                                                        PUSH nat 101 ;
1461
                                                        SOME ;
1462
                                                        PUSH bytes 0x65 ;
1463
                                                        UPDATE ;
1464
                                                        PUSH nat 100 ;
1465
                                                        SOME ;
1466
                                                        PUSH bytes 0x64 ;
1467
                                                        UPDATE ;
1468
                                                        PUSH nat 99 ;
1469
                                                        SOME ;
1470
                                                        PUSH bytes 0x63 ;
1471
                                                        UPDATE ;
1472
                                                        PUSH nat 98 ;
1473
                                                        SOME ;
1474
                                                        PUSH bytes 0x62 ;
1475
                                                        UPDATE ;
1476
                                                        PUSH nat 97 ;
1477
                                                        SOME ;
1478
                                                        PUSH bytes 0x61 ;
1479
                                                        UPDATE ;
1480
                                                        PUSH nat 96 ;
1481
                                                        SOME ;
1482
                                                        PUSH bytes 0x60 ;
1483
                                                        UPDATE ;
1484
                                                        PUSH nat 95 ;
1485
                                                        SOME ;
1486
                                                        PUSH bytes 0x5f ;
1487
                                                        UPDATE ;
1488
                                                        PUSH nat 94 ;
1489
                                                        SOME ;
1490
                                                        PUSH bytes 0x5e ;
1491
                                                        UPDATE ;
1492
                                                        PUSH nat 93 ;
1493
                                                        SOME ;
1494
                                                        PUSH bytes 0x5d ;
1495
                                                        UPDATE ;
1496
                                                        PUSH nat 92 ;
1497
                                                        SOME ;
1498
                                                        PUSH bytes 0x5c ;
1499
                                                        UPDATE ;
1500
                                                        PUSH nat 91 ;
1501
                                                        SOME ;
1502
                                                        PUSH bytes 0x5b ;
1503
                                                        UPDATE ;
1504
                                                        PUSH nat 90 ;
1505
                                                        SOME ;
1506
                                                        PUSH bytes 0x5a ;
1507
                                                        UPDATE ;
1508
                                                        PUSH nat 89 ;
1509
                                                        SOME ;
1510
                                                        PUSH bytes 0x59 ;
1511
                                                        UPDATE ;
1512
                                                        PUSH nat 88 ;
1513
                                                        SOME ;
1514
                                                        PUSH bytes 0x58 ;
1515
                                                        UPDATE ;
1516
                                                        PUSH nat 87 ;
1517
                                                        SOME ;
1518
                                                        PUSH bytes 0x57 ;
1519
                                                        UPDATE ;
1520
                                                        PUSH nat 86 ;
1521
                                                        SOME ;
1522
                                                        PUSH bytes 0x56 ;
1523
                                                        UPDATE ;
1524
                                                        PUSH nat 85 ;
1525
                                                        SOME ;
1526
                                                        PUSH bytes 0x55 ;
1527
                                                        UPDATE ;
1528
                                                        PUSH nat 84 ;
1529
                                                        SOME ;
1530
                                                        PUSH bytes 0x54 ;
1531
                                                        UPDATE ;
1532
                                                        PUSH nat 83 ;
1533
                                                        SOME ;
1534
                                                        PUSH bytes 0x53 ;
1535
                                                        UPDATE ;
1536
                                                        PUSH nat 82 ;
1537
                                                        SOME ;
1538
                                                        PUSH bytes 0x52 ;
1539
                                                        UPDATE ;
1540
                                                        PUSH nat 81 ;
1541
                                                        SOME ;
1542
                                                        PUSH bytes 0x51 ;
1543
                                                        UPDATE ;
1544
                                                        PUSH nat 80 ;
1545
                                                        SOME ;
1546
                                                        PUSH bytes 0x50 ;
1547
                                                        UPDATE ;
1548
                                                        PUSH nat 79 ;
1549
                                                        SOME ;
1550
                                                        PUSH bytes 0x4f ;
1551
                                                        UPDATE ;
1552
                                                        PUSH nat 78 ;
1553
                                                        SOME ;
1554
                                                        PUSH bytes 0x4e ;
1555
                                                        UPDATE ;
1556
                                                        PUSH nat 77 ;
1557
                                                        SOME ;
1558
                                                        PUSH bytes 0x4d ;
1559
                                                        UPDATE ;
1560
                                                        PUSH nat 76 ;
1561
                                                        SOME ;
1562
                                                        PUSH bytes 0x4c ;
1563
                                                        UPDATE ;
1564
                                                        PUSH nat 75 ;
1565
                                                        SOME ;
1566
                                                        PUSH bytes 0x4b ;
1567
                                                        UPDATE ;
1568
                                                        PUSH nat 74 ;
1569
                                                        SOME ;
1570
                                                        PUSH bytes 0x4a ;
1571
                                                        UPDATE ;
1572
                                                        PUSH nat 73 ;
1573
                                                        SOME ;
1574
                                                        PUSH bytes 0x49 ;
1575
                                                        UPDATE ;
1576
                                                        PUSH nat 72 ;
1577
                                                        SOME ;
1578
                                                        PUSH bytes 0x48 ;
1579
                                                        UPDATE ;
1580
                                                        PUSH nat 71 ;
1581
                                                        SOME ;
1582
                                                        PUSH bytes 0x47 ;
1583
                                                        UPDATE ;
1584
                                                        PUSH nat 70 ;
1585
                                                        SOME ;
1586
                                                        PUSH bytes 0x46 ;
1587
                                                        UPDATE ;
1588
                                                        PUSH nat 69 ;
1589
                                                        SOME ;
1590
                                                        PUSH bytes 0x45 ;
1591
                                                        UPDATE ;
1592
                                                        PUSH nat 68 ;
1593
                                                        SOME ;
1594
                                                        PUSH bytes 0x44 ;
1595
                                                        UPDATE ;
1596
                                                        PUSH nat 67 ;
1597
                                                        SOME ;
1598
                                                        PUSH bytes 0x43 ;
1599
                                                        UPDATE ;
1600
                                                        PUSH nat 66 ;
1601
                                                        SOME ;
1602
                                                        PUSH bytes 0x42 ;
1603
                                                        UPDATE ;
1604
                                                        PUSH nat 65 ;
1605
                                                        SOME ;
1606
                                                        PUSH bytes 0x41 ;
1607
                                                        UPDATE ;
1608
                                                        PUSH nat 64 ;
1609
                                                        SOME ;
1610
                                                        PUSH bytes 0x40 ;
1611
                                                        UPDATE ;
1612
                                                        PUSH nat 63 ;
1613
                                                        SOME ;
1614
                                                        PUSH bytes 0x3f ;
1615
                                                        UPDATE ;
1616
                                                        PUSH nat 62 ;
1617
                                                        SOME ;
1618
                                                        PUSH bytes 0x3e ;
1619
                                                        UPDATE ;
1620
                                                        PUSH nat 61 ;
1621
                                                        SOME ;
1622
                                                        PUSH bytes 0x3d ;
1623
                                                        UPDATE ;
1624
                                                        PUSH nat 60 ;
1625
                                                        SOME ;
1626
                                                        PUSH bytes 0x3c ;
1627
                                                        UPDATE ;
1628
                                                        PUSH nat 59 ;
1629
                                                        SOME ;
1630
                                                        PUSH bytes 0x3b ;
1631
                                                        UPDATE ;
1632
                                                        PUSH nat 58 ;
1633
                                                        SOME ;
1634
                                                        PUSH bytes 0x3a ;
1635
                                                        UPDATE ;
1636
                                                        PUSH nat 57 ;
1637
                                                        SOME ;
1638
                                                        PUSH bytes 0x39 ;
1639
                                                        UPDATE ;
1640
                                                        PUSH nat 56 ;
1641
                                                        SOME ;
1642
                                                        PUSH bytes 0x38 ;
1643
                                                        UPDATE ;
1644
                                                        PUSH nat 55 ;
1645
                                                        SOME ;
1646
                                                        PUSH bytes 0x37 ;
1647
                                                        UPDATE ;
1648
                                                        PUSH nat 54 ;
1649
                                                        SOME ;
1650
                                                        PUSH bytes 0x36 ;
1651
                                                        UPDATE ;
1652
                                                        PUSH nat 53 ;
1653
                                                        SOME ;
1654
                                                        PUSH bytes 0x35 ;
1655
                                                        UPDATE ;
1656
                                                        PUSH nat 52 ;
1657
                                                        SOME ;
1658
                                                        PUSH bytes 0x34 ;
1659
                                                        UPDATE ;
1660
                                                        PUSH nat 51 ;
1661
                                                        SOME ;
1662
                                                        PUSH bytes 0x33 ;
1663
                                                        UPDATE ;
1664
                                                        PUSH nat 50 ;
1665
                                                        SOME ;
1666
                                                        PUSH bytes 0x32 ;
1667
                                                        UPDATE ;
1668
                                                        PUSH nat 49 ;
1669
                                                        SOME ;
1670
                                                        PUSH bytes 0x31 ;
1671
                                                        UPDATE ;
1672
                                                        PUSH nat 48 ;
1673
                                                        SOME ;
1674
                                                        PUSH bytes 0x30 ;
1675
                                                        UPDATE ;
1676
                                                        PUSH nat 47 ;
1677
                                                        SOME ;
1678
                                                        PUSH bytes 0x2f ;
1679
                                                        UPDATE ;
1680
                                                        PUSH nat 46 ;
1681
                                                        SOME ;
1682
                                                        PUSH bytes 0x2e ;
1683
                                                        UPDATE ;
1684
                                                        PUSH nat 45 ;
1685
                                                        SOME ;
1686
                                                        PUSH bytes 0x2d ;
1687
                                                        UPDATE ;
1688
                                                        PUSH nat 44 ;
1689
                                                        SOME ;
1690
                                                        PUSH bytes 0x2c ;
1691
                                                        UPDATE ;
1692
                                                        PUSH nat 43 ;
1693
                                                        SOME ;
1694
                                                        PUSH bytes 0x2b ;
1695
                                                        UPDATE ;
1696
                                                        PUSH nat 42 ;
1697
                                                        SOME ;
1698
                                                        PUSH bytes 0x2a ;
1699
                                                        UPDATE ;
1700
                                                        PUSH nat 41 ;
1701
                                                        SOME ;
1702
                                                        PUSH bytes 0x29 ;
1703
                                                        UPDATE ;
1704
                                                        PUSH nat 40 ;
1705
                                                        SOME ;
1706
                                                        PUSH bytes 0x28 ;
1707
                                                        UPDATE ;
1708
                                                        PUSH nat 39 ;
1709
                                                        SOME ;
1710
                                                        PUSH bytes 0x27 ;
1711
                                                        UPDATE ;
1712
                                                        PUSH nat 38 ;
1713
                                                        SOME ;
1714
                                                        PUSH bytes 0x26 ;
1715
                                                        UPDATE ;
1716
                                                        PUSH nat 37 ;
1717
                                                        SOME ;
1718
                                                        PUSH bytes 0x25 ;
1719
                                                        UPDATE ;
1720
                                                        PUSH nat 36 ;
1721
                                                        SOME ;
1722
                                                        PUSH bytes 0x24 ;
1723
                                                        UPDATE ;
1724
                                                        PUSH nat 35 ;
1725
                                                        SOME ;
1726
                                                        PUSH bytes 0x23 ;
1727
                                                        UPDATE ;
1728
                                                        PUSH nat 34 ;
1729
                                                        SOME ;
1730
                                                        PUSH bytes 0x22 ;
1731
                                                        UPDATE ;
1732
                                                        PUSH nat 33 ;
1733
                                                        SOME ;
1734
                                                        PUSH bytes 0x21 ;
1735
                                                        UPDATE ;
1736
                                                        PUSH nat 32 ;
1737
                                                        SOME ;
1738
                                                        PUSH bytes 0x20 ;
1739
                                                        UPDATE ;
1740
                                                        PUSH nat 31 ;
1741
                                                        SOME ;
1742
                                                        PUSH bytes 0x1f ;
1743
                                                        UPDATE ;
1744
                                                        PUSH nat 30 ;
1745
                                                        SOME ;
1746
                                                        PUSH bytes 0x1e ;
1747
                                                        UPDATE ;
1748
                                                        PUSH nat 29 ;
1749
                                                        SOME ;
1750
                                                        PUSH bytes 0x1d ;
1751
                                                        UPDATE ;
1752
                                                        PUSH nat 28 ;
1753
                                                        SOME ;
1754
                                                        PUSH bytes 0x1c ;
1755
                                                        UPDATE ;
1756
                                                        PUSH nat 27 ;
1757
                                                        SOME ;
1758
                                                        PUSH bytes 0x1b ;
1759
                                                        UPDATE ;
1760
                                                        PUSH nat 26 ;
1761
                                                        SOME ;
1762
                                                        PUSH bytes 0x1a ;
1763
                                                        UPDATE ;
1764
                                                        PUSH nat 25 ;
1765
                                                        SOME ;
1766
                                                        PUSH bytes 0x19 ;
1767
                                                        UPDATE ;
1768
                                                        PUSH nat 24 ;
1769
                                                        SOME ;
1770
                                                        PUSH bytes 0x18 ;
1771
                                                        UPDATE ;
1772
                                                        PUSH nat 23 ;
1773
                                                        SOME ;
1774
                                                        PUSH bytes 0x17 ;
1775
                                                        UPDATE ;
1776
                                                        PUSH nat 22 ;
1777
                                                        SOME ;
1778
                                                        PUSH bytes 0x16 ;
1779
                                                        UPDATE ;
1780
                                                        PUSH nat 21 ;
1781
                                                        SOME ;
1782
                                                        PUSH bytes 0x15 ;
1783
                                                        UPDATE ;
1784
                                                        PUSH nat 20 ;
1785
                                                        SOME ;
1786
                                                        PUSH bytes 0x14 ;
1787
                                                        UPDATE ;
1788
                                                        PUSH nat 19 ;
1789
                                                        SOME ;
1790
                                                        PUSH bytes 0x13 ;
1791
                                                        UPDATE ;
1792
                                                        PUSH nat 18 ;
1793
                                                        SOME ;
1794
                                                        PUSH bytes 0x12 ;
1795
                                                        UPDATE ;
1796
                                                        PUSH nat 17 ;
1797
                                                        SOME ;
1798
                                                        PUSH bytes 0x11 ;
1799
                                                        UPDATE ;
1800
                                                        PUSH nat 16 ;
1801
                                                        SOME ;
1802
                                                        PUSH bytes 0x10 ;
1803
                                                        UPDATE ;
1804
                                                        PUSH nat 15 ;
1805
                                                        SOME ;
1806
                                                        PUSH bytes 0x0f ;
1807
                                                        UPDATE ;
1808
                                                        PUSH nat 14 ;
1809
                                                        SOME ;
1810
                                                        PUSH bytes 0x0e ;
1811
                                                        UPDATE ;
1812
                                                        PUSH nat 13 ;
1813
                                                        SOME ;
1814
                                                        PUSH bytes 0x0d ;
1815
                                                        UPDATE ;
1816
                                                        PUSH nat 12 ;
1817
                                                        SOME ;
1818
                                                        PUSH bytes 0x0c ;
1819
                                                        UPDATE ;
1820
                                                        PUSH nat 11 ;
1821
                                                        SOME ;
1822
                                                        PUSH bytes 0x0b ;
1823
                                                        UPDATE ;
1824
                                                        PUSH nat 10 ;
1825
                                                        SOME ;
1826
                                                        PUSH bytes 0x0a ;
1827
                                                        UPDATE ;
1828
                                                        PUSH nat 9 ;
1829
                                                        SOME ;
1830
                                                        PUSH bytes 0x09 ;
1831
                                                        UPDATE ;
1832
                                                        PUSH nat 8 ;
1833
                                                        SOME ;
1834
                                                        PUSH bytes 0x08 ;
1835
                                                        UPDATE ;
1836
                                                        PUSH nat 7 ;
1837
                                                        SOME ;
1838
                                                        PUSH bytes 0x07 ;
1839
                                                        UPDATE ;
1840
                                                        PUSH nat 6 ;
1841
                                                        SOME ;
1842
                                                        PUSH bytes 0x06 ;
1843
                                                        UPDATE ;
1844
                                                        PUSH nat 5 ;
1845
                                                        SOME ;
1846
                                                        PUSH bytes 0x05 ;
1847
                                                        UPDATE ;
1848
                                                        PUSH nat 4 ;
1849
                                                        SOME ;
1850
                                                        PUSH bytes 0x04 ;
1851
                                                        UPDATE ;
1852
                                                        PUSH nat 3 ;
1853
                                                        SOME ;
1854
                                                        PUSH bytes 0x03 ;
1855
                                                        UPDATE ;
1856
                                                        PUSH nat 2 ;
1857
                                                        SOME ;
1858
                                                        PUSH bytes 0x02 ;
1859
                                                        UPDATE ;
1860
                                                        PUSH nat 1 ;
1861
                                                        SOME ;
1862
                                                        PUSH bytes 0x01 ;
1863
                                                        UPDATE ;
1864
                                                        PUSH nat 0 ;
1865
                                                        SOME ;
1866
                                                        PUSH bytes 0x00 ;
1867
                                                        UPDATE ;
1868
                                                        SWAP ;
1869
                                                        GET ;
1870
                                                        IF_NONE
1871
                                                          { DROP 3 ;
1872
                                                            PUSH string "UNDEFINED_BYTES_IN_MAP" ;
1873
                                                            FAILWITH }
1874
                                                          { PUSH nat 256 ;
1875
                                                            DIG 4 ;
1876
                                                            MUL ;
1877
                                                            ADD ;
1878
                                                            PUSH nat 1 ;
1879
                                                            DIG 3 ;
1880
                                                            ADD ;
1881
                                                            DIG 2 ;
1882
                                                            PAIR ;
1883
                                                            PAIR ;
1884
                                                            LEFT nat } }
1885
                                                      { DROP 2 ;
1886
                                                        RIGHT (pair (pair bytes nat) nat) } } } } ;
1887
                                  DIG 2 ;
1888
                                  SWAP ;
1889
                                  DUP 4 ;
1890
                                  CAR ;
1891
                                  DUP 5 ;
1892
                                  GET 6 ;
1893
                                  PAIR ;
1894
                                  DUP 5 ;
1895
                                  GET 5 ;
1896
                                  DIG 5 ;
1897
                                  GET 3 ;
1898
                                  PAIR ;
1899
                                  PAIR ;
1900
                                  PAIR ;
1901
                                  DIG 2 ;
1902
                                  SWAP ;
1903
                                  SOME ;
1904
                                  SWAP ;
1905
                                  UPDATE } } ;
1906
                       DIG 2 ;
1907
                       PAIR ;
1908
                       PAIR } }
1909
                 { DUP 4 ;
1910
                   CDR ;
1911
                   SWAP ;
1912
                   ITER { SWAP ;
1913
                          DUP ;
1914
                          DUP 3 ;
1915
                          CAR ;
1916
                          PAIR ;
1917
                          DUP 8 ;
1918
                          SWAP ;
1919
                          EXEC ;
1920
                          DROP ;
1921
                          SWAP ;
1922
                          DUP ;
1923
                          DUG 2 ;
1924
                          SOME ;
1925
                          DIG 2 ;
1926
                          CAR ;
1927
                          UPDATE } ;
1928
                   DIG 5 ;
1929
                   DROP ;
1930
                   DIG 3 ;
1931
                   CAR ;
1932
                   PAIR ;
1933
                   PAIR ;
1934
                   PAIR } ;
1935
               UNPAIR ;
1936
               UNPAIR ;
1937
               DUP 4 ;
1938
               CDR ;
1939
               DUP 5 ;
1940
               CAR ;
1941
               CDR ;
1942
               CDR ;
1943
               DIG 2 ;
1944
               PAIR ;
1945
               DIG 4 ;
1946
               CAR ;
1947
               CAR ;
1948
               PAIR ;
1949
               PAIR ;
1950
               DUP ;
1951
               CDR ;
1952
               SWAP ;
1953
               DUP ;
1954
               DUG 2 ;
1955
               CAR ;
1956
               CDR ;
1957
               DIG 3 ;
1958
               DIG 3 ;
1959
               CAR ;
1960
               CAR ;
1961
               CAR ;
1962
               PAIR ;
1963
               PAIR ;
1964
               PAIR ;
1965
               DUP ;
1966
               CDR ;
1967
               CDR ;
1968
               DUG 2 ;
1969
               DUP ;
1970
               DUG 3 ;
1971
               CDR ;
1972
               CAR ;
1973
               CAR ;
1974
               PAIR ;
1975
               PAIR ;
1976
               SWAP ;
1977
               CAR ;
1978
               PAIR ;
1979
               NIL operation ;
1980
               PAIR }
1981
             { DIG 2 ;
1982
               DROP ;
1983
               SWAP ;
1984
               DUP ;
1985
               DUG 2 ;
1986
               CAR ;
1987
               CAR ;
1988
               CAR ;
1989
               DIG 3 ;
1990
               SWAP ;
1991
               EXEC ;
1992
               DROP ;
1993
               SWAP ;
1994
               DUP ;
1995
               DUG 2 ;
1996
               CDR ;
1997
               CDR ;
1998
               SWAP ;
1999
               IF_LEFT
2000
                 { SWAP ;
2001
                   DUP ;
2002
                   DUG 2 ;
2003
                   CAR ;
2004
                   DUP 3 ;
2005
                   CDR ;
2006
                   SIZE ;
2007
                   COMPARE ;
2008
                   GE ;
2009
                   IF { PUSH string "FF_OVER_MAX_TRUSTEE_AMOUNT" ; FAILWITH } {} ;
2010
                   SWAP ;
2011
                   DUP ;
2012
                   DUG 2 ;
2013
                   CDR ;
2014
                   SWAP ;
2015
                   DUP ;
2016
                   DUG 2 ;
2017
                   MEM ;
2018
                   IF { PUSH string "FF_TRUSTEE_ALREADY_EXIST" ; FAILWITH } {} ;
2019
                   SWAP ;
2020
                   DUP ;
2021
                   DUG 2 ;
2022
                   CDR ;
2023
                   SWAP ;
2024
                   PUSH bool True ;
2025
                   SWAP ;
2026
                   UPDATE ;
2027
                   SWAP ;
2028
                   CAR ;
2029
                   PAIR }
2030
                 { SWAP ;
2031
                   DUP ;
2032
                   DUG 2 ;
2033
                   CDR ;
2034
                   SWAP ;
2035
                   DUP ;
2036
                   DUG 2 ;
2037
                   MEM ;
2038
                   NOT ;
2039
                   IF { PUSH string "FF_NOT_TRUSTEE" ; FAILWITH } {} ;
2040
                   SWAP ;
2041
                   DUP ;
2042
                   DUG 2 ;
2043
                   CDR ;
2044
                   SWAP ;
2045
                   PUSH bool False ;
2046
                   SWAP ;
2047
                   UPDATE ;
2048
                   SWAP ;
2049
                   CAR ;
2050
                   PAIR } ;
2051
               SWAP ;
2052
               DUP ;
2053
               DUG 2 ;
2054
               CDR ;
2055
               CAR ;
2056
               PAIR ;
2057
               SWAP ;
2058
               CAR ;
2059
               PAIR ;
2060
               NIL operation ;
2061
               PAIR } } }