def symbol

bend-kit-http2@0.4.0.0 · huffman.bend:535

import bend-kit-http2@0.4.0.0/huffman.bend as Huffman
import Base

535def symbol(+width: U32, +bits: U32) -> Maybe<&2, U32>:
536  match width:
537    case 5:
538      match bits:
539        case 0:
540          Some{48}
541        case 1:
542          Some{49}
543        case 2:
544          Some{50}
545        case 3:
546          Some{97}
547        case 4:
548          Some{99}
549        case 5:
550          Some{101}
551        case 6:
552          Some{105}
553        case 7:
554          Some{111}
555        case 8:
556          Some{115}
557        case 9:
558          Some{116}
559        case _:
560          None{}
561    case 6:
562      match bits:
563        case 20:
564          Some{32}
565        case 21:
566          Some{37}
567        case 22:
568          Some{45}
569        case 23:
570          Some{46}
571        case 24:
572          Some{47}
573        case 25:
574          Some{51}
575        case 26:
576          Some{52}
577        case 27:
578          Some{53}
579        case 28:
580          Some{54}
581        case 29:
582          Some{55}
583        case 30:
584          Some{56}
585        case 31:
586          Some{57}
587        case 32:
588          Some{61}
589        case 33:
590          Some{65}
591        case 34:
592          Some{95}
593        case 35:
594          Some{98}
595        case 36:
596          Some{100}
597        case 37:
598          Some{102}
599        case 38:
600          Some{103}
601        case 39:
602          Some{104}
603        case 40:
604          Some{108}
605        case 41:
606          Some{109}
607        case 42:
608          Some{110}
609        case 43:
610          Some{112}
611        case 44:
612          Some{114}
613        case 45:
614          Some{117}
615        case _:
616          None{}
617    case 7:
618      match bits:
619        case 92:
620          Some{58}
621        case 93:
622          Some{66}
623        case 94:
624          Some{67}
625        case 95:
626          Some{68}
627        case 96:
628          Some{69}
629        case 97:
630          Some{70}
631        case 98:
632          Some{71}
633        case 99:
634          Some{72}
635        case 100:
636          Some{73}
637        case 101:
638          Some{74}
639        case 102:
640          Some{75}
641        case 103:
642          Some{76}
643        case 104:
644          Some{77}
645        case 105:
646          Some{78}
647        case 106:
648          Some{79}
649        case 107:
650          Some{80}
651        case 108:
652          Some{81}
653        case 109:
654          Some{82}
655        case 110:
656          Some{83}
657        case 111:
658          Some{84}
659        case 112:
660          Some{85}
661        case 113:
662          Some{86}
663        case 114:
664          Some{87}
665        case 115:
666          Some{89}
667        case 116:
668          Some{106}
669        case 117:
670          Some{107}
671        case 118:
672          Some{113}
673        case 119:
674          Some{118}
675        case 120:
676          Some{119}
677        case 121:
678          Some{120}
679        case 122:
680          Some{121}
681        case 123:
682          Some{122}
683        case _:
684          None{}
685    case 8:
686      match bits:
687        case 248:
688          Some{38}
689        case 249:
690          Some{42}
691        case 250:
692          Some{44}
693        case 251:
694          Some{59}
695        case 252:
696          Some{88}
697        case 253:
698          Some{90}
699        case _:
700          None{}
701    case 10:
702      match bits:
703        case 1016:
704          Some{33}
705        case 1017:
706          Some{34}
707        case 1018:
708          Some{40}
709        case 1019:
710          Some{41}
711        case 1020:
712          Some{63}
713        case _:
714          None{}
715    case 11:
716      match bits:
717        case 2042:
718          Some{39}
719        case 2043:
720          Some{43}
721        case 2044:
722          Some{124}
723        case _:
724          None{}
725    case 12:
726      match bits:
727        case 4090:
728          Some{35}
729        case 4091:
730          Some{62}
731        case _:
732          None{}
733    case 13:
734      match bits:
735        case 8184:
736          Some{0}
737        case 8185:
738          Some{36}
739        case 8186:
740          Some{64}
741        case 8187:
742          Some{91}
743        case 8188:
744          Some{93}
745        case 8189:
746          Some{126}
747        case _:
748          None{}
749    case 14:
750      match bits:
751        case 16380:
752          Some{94}
753        case 16381:
754          Some{125}
755        case _:
756          None{}
757    case 15:
758      match bits:
759        case 32764:
760          Some{60}
761        case 32765:
762          Some{96}
763        case 32766:
764          Some{123}
765        case _:
766          None{}
767    case 19:
768      match bits:
769        case 524272:
770          Some{92}
771        case 524273:
772          Some{195}
773        case 524274:
774          Some{208}
775        case _:
776          None{}
777    case 20:
778      match bits:
779        case 1048550:
780          Some{128}
781        case 1048551:
782          Some{130}
783        case 1048552:
784          Some{131}
785        case 1048553:
786          Some{162}
787        case 1048554:
788          Some{184}
789        case 1048555:
790          Some{194}
791        case 1048556:
792          Some{224}
793        case 1048557:
794          Some{226}
795        case _:
796          None{}
797    case 21:
798      match bits:
799        case 2097116:
800          Some{153}
801        case 2097117:
802          Some{161}
803        case 2097118:
804          Some{167}
805        case 2097119:
806          Some{172}
807        case 2097120:
808          Some{176}
809        case 2097121:
810          Some{177}
811        case 2097122:
812          Some{179}
813        case 2097123:
814          Some{209}
815        case 2097124:
816          Some{216}
817        case 2097125:
818          Some{217}
819        case 2097126:
820          Some{227}
821        case 2097127:
822          Some{229}
823        case 2097128:
824          Some{230}
825        case _:
826          None{}
827    case 22:
828      match bits:
829        case 4194258:
830          Some{129}
831        case 4194259:
832          Some{132}
833        case 4194260:
834          Some{133}
835        case 4194261:
836          Some{134}
837        case 4194262:
838          Some{136}
839        case 4194263:
840          Some{146}
841        case 4194264:
842          Some{154}
843        case 4194265:
844          Some{156}
845        case 4194266:
846          Some{160}
847        case 4194267:
848          Some{163}
849        case 4194268:
850          Some{164}
851        case 4194269:
852          Some{169}
853        case 4194270:
854          Some{170}
855        case 4194271:
856          Some{173}
857        case 4194272:
858          Some{178}
859        case 4194273:
860          Some{181}
861        case 4194274:
862          Some{185}
863        case 4194275:
864          Some{186}
865        case 4194276:
866          Some{187}
867        case 4194277:
868          Some{189}
869        case 4194278:
870          Some{190}
871        case 4194279:
872          Some{196}
873        case 4194280:
874          Some{198}
875        case 4194281:
876          Some{228}
877        case 4194282:
878          Some{232}
879        case 4194283:
880          Some{233}
881        case _:
882          None{}
883    case 23:
884      match bits:
885        case 8388568:
886          Some{1}
887        case 8388569:
888          Some{135}
889        case 8388570:
890          Some{137}
891        case 8388571:
892          Some{138}
893        case 8388572:
894          Some{139}
895        case 8388573:
896          Some{140}
897        case 8388574:
898          Some{141}
899        case 8388575:
900          Some{143}
901        case 8388576:
902          Some{147}
903        case 8388577:
904          Some{149}
905        case 8388578:
906          Some{150}
907        case 8388579:
908          Some{151}
909        case 8388580:
910          Some{152}
911        case 8388581:
912          Some{155}
913        case 8388582:
914          Some{157}
915        case 8388583:
916          Some{158}
917        case 8388584:
918          Some{165}
919        case 8388585:
920          Some{166}
921        case 8388586:
922          Some{168}
923        case 8388587:
924          Some{174}
925        case 8388588:
926          Some{175}
927        case 8388589:
928          Some{180}
929        case 8388590:
930          Some{182}
931        case 8388591:
932          Some{183}
933        case 8388592:
934          Some{188}
935        case 8388593:
936          Some{191}
937        case 8388594:
938          Some{197}
939        case 8388595:
940          Some{231}
941        case 8388596:
942          Some{239}
943        case _:
944          None{}
945    case 24:
946      match bits:
947        case 16777194:
948          Some{9}
949        case 16777195:
950          Some{142}
951        case 16777196:
952          Some{144}
953        case 16777197:
954          Some{145}
955        case 16777198:
956          Some{148}
957        case 16777199:
958          Some{159}
959        case 16777200:
960          Some{171}
961        case 16777201:
962          Some{206}
963        case 16777202:
964          Some{215}
965        case 16777203:
966          Some{225}
967        case 16777204:
968          Some{236}
969        case 16777205:
970          Some{237}
971        case _:
972          None{}
973    case 25:
974      match bits:
975        case 33554412:
976          Some{199}
977        case 33554413:
978          Some{207}
979        case 33554414:
980          Some{234}
981        case 33554415:
982          Some{235}
983        case _:
984          None{}
985    case 26:
986      match bits:
987        case 67108832:
988          Some{192}
989        case 67108833:
990          Some{193}
991        case 67108834:
992          Some{200}
993        case 67108835:
994          Some{201}
995        case 67108836:
996          Some{202}
997        case 67108837:
998          Some{205}
999        case 67108838:
1000          Some{210}
1001        case 67108839:
1002          Some{213}
1003        case 67108840:
1004          Some{218}
1005        case 67108841:
1006          Some{219}
1007        case 67108842:
1008          Some{238}
1009        case 67108843:
1010          Some{240}
1011        case 67108844:
1012          Some{242}
1013        case 67108845:
1014          Some{243}
1015        case 67108846:
1016          Some{255}
1017        case _:
1018          None{}
1019    case 27:
1020      match bits:
1021        case 134217694:
1022          Some{203}
1023        case 134217695:
1024          Some{204}
1025        case 134217696:
1026          Some{211}
1027        case 134217697:
1028          Some{212}
1029        case 134217698:
1030          Some{214}
1031        case 134217699:
1032          Some{221}
1033        case 134217700:
1034          Some{222}
1035        case 134217701:
1036          Some{223}
1037        case 134217702:
1038          Some{241}
1039        case 134217703:
1040          Some{244}
1041        case 134217704:
1042          Some{245}
1043        case 134217705:
1044          Some{246}
1045        case 134217706:
1046          Some{247}
1047        case 134217707:
1048          Some{248}
1049        case 134217708:
1050          Some{250}
1051        case 134217709:
1052          Some{251}
1053        case 134217710:
1054          Some{252}
1055        case 134217711:
1056          Some{253}
1057        case 134217712:
1058          Some{254}
1059        case _:
1060          None{}
1061    case 28:
1062      match bits:
1063        case 268435426:
1064          Some{2}
1065        case 268435427:
1066          Some{3}
1067        case 268435428:
1068          Some{4}
1069        case 268435429:
1070          Some{5}
1071        case 268435430:
1072          Some{6}
1073        case 268435431:
1074          Some{7}
1075        case 268435432:
1076          Some{8}
1077        case 268435433:
1078          Some{11}
1079        case 268435434:
1080          Some{12}
1081        case 268435435:
1082          Some{14}
1083        case 268435436:
1084          Some{15}
1085        case 268435437:
1086          Some{16}
1087        case 268435438:
1088          Some{17}
1089        case 268435439:
1090          Some{18}
1091        case 268435440:
1092          Some{19}
1093        case 268435441:
1094          Some{20}
1095        case 268435442:
1096          Some{21}
1097        case 268435443:
1098          Some{23}
1099        case 268435444:
1100          Some{24}
1101        case 268435445:
1102          Some{25}
1103        case 268435446:
1104          Some{26}
1105        case 268435447:
1106          Some{27}
1107        case 268435448:
1108          Some{28}
1109        case 268435449:
1110          Some{29}
1111        case 268435450:
1112          Some{30}
1113        case 268435451:
1114          Some{31}
1115        case 268435452:
1116          Some{127}
1117        case 268435453:
1118          Some{220}
1119        case 268435454:
1120          Some{249}
1121        case _:
1122          None{}
1123    case 30:
1124      match bits:
1125        case 1073741820:
1126          Some{10}
1127        case 1073741821:
1128          Some{13}
1129        case 1073741822:
1130          Some{22}
1131        case 1073741823:
1132          Some{256}
1133        case _:
1134          None{}
1135    case _:
1136      None{}

Uses (5)

Used by (1)