#include <metal_stdlib>
using namespace metal;

struct tint_module_vars_struct {
  threadgroup float2x2* m00;
  threadgroup float2x2* m01;
  threadgroup float2x2* m02;
  threadgroup float2x2* m03;
  threadgroup float2x2* m04;
  threadgroup float2x2* m05;
  threadgroup float2x2* m06;
  threadgroup float2x2* m07;
  threadgroup float2x2* m08;
  threadgroup float2x2* m09;
  threadgroup float2x2* m10;
  threadgroup float2x2* m11;
  threadgroup float2x2* m12;
  threadgroup float2x2* m13;
  threadgroup float2x2* m14;
  threadgroup float2x2* m15;
  threadgroup float2x2* m16;
  threadgroup float2x2* m17;
  threadgroup float2x2* m18;
  threadgroup float2x2* m19;
  threadgroup float2x2* m20;
  threadgroup float2x2* m21;
  threadgroup float2x2* m22;
  threadgroup float2x2* m23;
  threadgroup float2x2* m24;
  threadgroup float2x2* m25;
  threadgroup float2x2* m26;
  threadgroup float2x2* m27;
  threadgroup float2x2* m28;
  threadgroup float2x2* m29;
  threadgroup float2x2* m30;
  threadgroup float2x2* m31;
  threadgroup float2x2* m32;
  threadgroup float2x2* m33;
  threadgroup float2x2* m34;
  threadgroup float2x2* m35;
  threadgroup float2x2* m36;
  threadgroup float2x2* m37;
  threadgroup float2x2* m38;
  threadgroup float2x2* m39;
  threadgroup float2x2* m40;
  threadgroup float2x2* m41;
  threadgroup float2x2* m42;
  threadgroup float2x2* m43;
  threadgroup float2x2* m44;
  threadgroup float2x2* m45;
  threadgroup float2x2* m46;
  threadgroup float2x2* m47;
  threadgroup float2x2* m48;
  threadgroup float2x2* m49;
  threadgroup float2x2* m50;
  threadgroup float2x2* m51;
  threadgroup float2x2* m52;
  threadgroup float2x2* m53;
  threadgroup float2x2* m54;
  threadgroup float2x2* m55;
  threadgroup float2x2* m56;
  threadgroup float2x2* m57;
  threadgroup float2x2* m58;
  threadgroup float2x2* m59;
  threadgroup float2x2* m60;
  threadgroup float2x2* m61;
  threadgroup float2x2* m62;
  threadgroup float2x2* m63;
  threadgroup float2x2* m64;
  threadgroup float2x2* m65;
  threadgroup float2x2* m66;
  threadgroup float2x2* m67;
  threadgroup float2x2* m68;
  threadgroup float2x2* m69;
  threadgroup float2x2* m70;
  threadgroup float2x2* m71;
  threadgroup float2x2* m72;
  threadgroup float2x2* m73;
  threadgroup float2x2* m74;
  threadgroup float2x2* m75;
  threadgroup float2x2* m76;
  threadgroup float2x2* m77;
  threadgroup float2x2* m78;
  threadgroup float2x2* m79;
  threadgroup float2x2* m80;
  threadgroup float2x2* m81;
  threadgroup float2x2* m82;
  threadgroup float2x2* m83;
  threadgroup float2x2* m84;
  threadgroup float2x2* m85;
  threadgroup float2x2* m86;
  threadgroup float2x2* m87;
  threadgroup float2x2* m88;
  threadgroup float2x2* m89;
  threadgroup float2x2* m90;
  threadgroup float2x2* m91;
  threadgroup float2x2* m92;
  threadgroup float2x2* m93;
  threadgroup float2x2* m94;
  threadgroup float2x2* m95;
  threadgroup float2x2* m96;
  threadgroup float2x2* m97;
  threadgroup float2x2* m98;
  threadgroup float2x2* m99;
};

struct tint_symbol_101 {
  float2x2 tint_symbol_1;
  float2x2 tint_symbol_2;
  float2x2 tint_symbol_3;
  float2x2 tint_symbol_4;
  float2x2 tint_symbol_5;
  float2x2 tint_symbol_6;
  float2x2 tint_symbol_7;
  float2x2 tint_symbol_8;
  float2x2 tint_symbol_9;
  float2x2 tint_symbol_10;
  float2x2 tint_symbol_11;
  float2x2 tint_symbol_12;
  float2x2 tint_symbol_13;
  float2x2 tint_symbol_14;
  float2x2 tint_symbol_15;
  float2x2 tint_symbol_16;
  float2x2 tint_symbol_17;
  float2x2 tint_symbol_18;
  float2x2 tint_symbol_19;
  float2x2 tint_symbol_20;
  float2x2 tint_symbol_21;
  float2x2 tint_symbol_22;
  float2x2 tint_symbol_23;
  float2x2 tint_symbol_24;
  float2x2 tint_symbol_25;
  float2x2 tint_symbol_26;
  float2x2 tint_symbol_27;
  float2x2 tint_symbol_28;
  float2x2 tint_symbol_29;
  float2x2 tint_symbol_30;
  float2x2 tint_symbol_31;
  float2x2 tint_symbol_32;
  float2x2 tint_symbol_33;
  float2x2 tint_symbol_34;
  float2x2 tint_symbol_35;
  float2x2 tint_symbol_36;
  float2x2 tint_symbol_37;
  float2x2 tint_symbol_38;
  float2x2 tint_symbol_39;
  float2x2 tint_symbol_40;
  float2x2 tint_symbol_41;
  float2x2 tint_symbol_42;
  float2x2 tint_symbol_43;
  float2x2 tint_symbol_44;
  float2x2 tint_symbol_45;
  float2x2 tint_symbol_46;
  float2x2 tint_symbol_47;
  float2x2 tint_symbol_48;
  float2x2 tint_symbol_49;
  float2x2 tint_symbol_50;
  float2x2 tint_symbol_51;
  float2x2 tint_symbol_52;
  float2x2 tint_symbol_53;
  float2x2 tint_symbol_54;
  float2x2 tint_symbol_55;
  float2x2 tint_symbol_56;
  float2x2 tint_symbol_57;
  float2x2 tint_symbol_58;
  float2x2 tint_symbol_59;
  float2x2 tint_symbol_60;
  float2x2 tint_symbol_61;
  float2x2 tint_symbol_62;
  float2x2 tint_symbol_63;
  float2x2 tint_symbol_64;
  float2x2 tint_symbol_65;
  float2x2 tint_symbol_66;
  float2x2 tint_symbol_67;
  float2x2 tint_symbol_68;
  float2x2 tint_symbol_69;
  float2x2 tint_symbol_70;
  float2x2 tint_symbol_71;
  float2x2 tint_symbol_72;
  float2x2 tint_symbol_73;
  float2x2 tint_symbol_74;
  float2x2 tint_symbol_75;
  float2x2 tint_symbol_76;
  float2x2 tint_symbol_77;
  float2x2 tint_symbol_78;
  float2x2 tint_symbol_79;
  float2x2 tint_symbol_80;
  float2x2 tint_symbol_81;
  float2x2 tint_symbol_82;
  float2x2 tint_symbol_83;
  float2x2 tint_symbol_84;
  float2x2 tint_symbol_85;
  float2x2 tint_symbol_86;
  float2x2 tint_symbol_87;
  float2x2 tint_symbol_88;
  float2x2 tint_symbol_89;
  float2x2 tint_symbol_90;
  float2x2 tint_symbol_91;
  float2x2 tint_symbol_92;
  float2x2 tint_symbol_93;
  float2x2 tint_symbol_94;
  float2x2 tint_symbol_95;
  float2x2 tint_symbol_96;
  float2x2 tint_symbol_97;
  float2x2 tint_symbol_98;
  float2x2 tint_symbol_99;
  float2x2 tint_symbol_100;
};

void tint_symbol_inner(uint idx, tint_module_vars_struct tint_module_vars) {
  if ((idx == 0u)) {
    (*tint_module_vars.m00) = float2x2(float2(0.0f), float2(0.0f));
    (*tint_module_vars.m01) = float2x2(float2(0.0f), float2(0.0f));
    (*tint_module_vars.m02) = float2x2(float2(0.0f), float2(0.0f));
    (*tint_module_vars.m03) = float2x2(float2(0.0f), float2(0.0f));
    (*tint_module_vars.m04) = float2x2(float2(0.0f), float2(0.0f));
    (*tint_module_vars.m05) = float2x2(float2(0.0f), float2(0.0f));
    (*tint_module_vars.m06) = float2x2(float2(0.0f), float2(0.0f));
    (*tint_module_vars.m07) = float2x2(float2(0.0f), float2(0.0f));
    (*tint_module_vars.m08) = float2x2(float2(0.0f), float2(0.0f));
    (*tint_module_vars.m09) = float2x2(float2(0.0f), float2(0.0f));
    (*tint_module_vars.m10) = float2x2(float2(0.0f), float2(0.0f));
    (*tint_module_vars.m11) = float2x2(float2(0.0f), float2(0.0f));
    (*tint_module_vars.m12) = float2x2(float2(0.0f), float2(0.0f));
    (*tint_module_vars.m13) = float2x2(float2(0.0f), float2(0.0f));
    (*tint_module_vars.m14) = float2x2(float2(0.0f), float2(0.0f));
    (*tint_module_vars.m15) = float2x2(float2(0.0f), float2(0.0f));
    (*tint_module_vars.m16) = float2x2(float2(0.0f), float2(0.0f));
    (*tint_module_vars.m17) = float2x2(float2(0.0f), float2(0.0f));
    (*tint_module_vars.m18) = float2x2(float2(0.0f), float2(0.0f));
    (*tint_module_vars.m19) = float2x2(float2(0.0f), float2(0.0f));
    (*tint_module_vars.m20) = float2x2(float2(0.0f), float2(0.0f));
    (*tint_module_vars.m21) = float2x2(float2(0.0f), float2(0.0f));
    (*tint_module_vars.m22) = float2x2(float2(0.0f), float2(0.0f));
    (*tint_module_vars.m23) = float2x2(float2(0.0f), float2(0.0f));
    (*tint_module_vars.m24) = float2x2(float2(0.0f), float2(0.0f));
    (*tint_module_vars.m25) = float2x2(float2(0.0f), float2(0.0f));
    (*tint_module_vars.m26) = float2x2(float2(0.0f), float2(0.0f));
    (*tint_module_vars.m27) = float2x2(float2(0.0f), float2(0.0f));
    (*tint_module_vars.m28) = float2x2(float2(0.0f), float2(0.0f));
    (*tint_module_vars.m29) = float2x2(float2(0.0f), float2(0.0f));
    (*tint_module_vars.m30) = float2x2(float2(0.0f), float2(0.0f));
    (*tint_module_vars.m31) = float2x2(float2(0.0f), float2(0.0f));
    (*tint_module_vars.m32) = float2x2(float2(0.0f), float2(0.0f));
    (*tint_module_vars.m33) = float2x2(float2(0.0f), float2(0.0f));
    (*tint_module_vars.m34) = float2x2(float2(0.0f), float2(0.0f));
    (*tint_module_vars.m35) = float2x2(float2(0.0f), float2(0.0f));
    (*tint_module_vars.m36) = float2x2(float2(0.0f), float2(0.0f));
    (*tint_module_vars.m37) = float2x2(float2(0.0f), float2(0.0f));
    (*tint_module_vars.m38) = float2x2(float2(0.0f), float2(0.0f));
    (*tint_module_vars.m39) = float2x2(float2(0.0f), float2(0.0f));
    (*tint_module_vars.m40) = float2x2(float2(0.0f), float2(0.0f));
    (*tint_module_vars.m41) = float2x2(float2(0.0f), float2(0.0f));
    (*tint_module_vars.m42) = float2x2(float2(0.0f), float2(0.0f));
    (*tint_module_vars.m43) = float2x2(float2(0.0f), float2(0.0f));
    (*tint_module_vars.m44) = float2x2(float2(0.0f), float2(0.0f));
    (*tint_module_vars.m45) = float2x2(float2(0.0f), float2(0.0f));
    (*tint_module_vars.m46) = float2x2(float2(0.0f), float2(0.0f));
    (*tint_module_vars.m47) = float2x2(float2(0.0f), float2(0.0f));
    (*tint_module_vars.m48) = float2x2(float2(0.0f), float2(0.0f));
    (*tint_module_vars.m49) = float2x2(float2(0.0f), float2(0.0f));
    (*tint_module_vars.m50) = float2x2(float2(0.0f), float2(0.0f));
    (*tint_module_vars.m51) = float2x2(float2(0.0f), float2(0.0f));
    (*tint_module_vars.m52) = float2x2(float2(0.0f), float2(0.0f));
    (*tint_module_vars.m53) = float2x2(float2(0.0f), float2(0.0f));
    (*tint_module_vars.m54) = float2x2(float2(0.0f), float2(0.0f));
    (*tint_module_vars.m55) = float2x2(float2(0.0f), float2(0.0f));
    (*tint_module_vars.m56) = float2x2(float2(0.0f), float2(0.0f));
    (*tint_module_vars.m57) = float2x2(float2(0.0f), float2(0.0f));
    (*tint_module_vars.m58) = float2x2(float2(0.0f), float2(0.0f));
    (*tint_module_vars.m59) = float2x2(float2(0.0f), float2(0.0f));
    (*tint_module_vars.m60) = float2x2(float2(0.0f), float2(0.0f));
    (*tint_module_vars.m61) = float2x2(float2(0.0f), float2(0.0f));
    (*tint_module_vars.m62) = float2x2(float2(0.0f), float2(0.0f));
    (*tint_module_vars.m63) = float2x2(float2(0.0f), float2(0.0f));
    (*tint_module_vars.m64) = float2x2(float2(0.0f), float2(0.0f));
    (*tint_module_vars.m65) = float2x2(float2(0.0f), float2(0.0f));
    (*tint_module_vars.m66) = float2x2(float2(0.0f), float2(0.0f));
    (*tint_module_vars.m67) = float2x2(float2(0.0f), float2(0.0f));
    (*tint_module_vars.m68) = float2x2(float2(0.0f), float2(0.0f));
    (*tint_module_vars.m69) = float2x2(float2(0.0f), float2(0.0f));
    (*tint_module_vars.m70) = float2x2(float2(0.0f), float2(0.0f));
    (*tint_module_vars.m71) = float2x2(float2(0.0f), float2(0.0f));
    (*tint_module_vars.m72) = float2x2(float2(0.0f), float2(0.0f));
    (*tint_module_vars.m73) = float2x2(float2(0.0f), float2(0.0f));
    (*tint_module_vars.m74) = float2x2(float2(0.0f), float2(0.0f));
    (*tint_module_vars.m75) = float2x2(float2(0.0f), float2(0.0f));
    (*tint_module_vars.m76) = float2x2(float2(0.0f), float2(0.0f));
    (*tint_module_vars.m77) = float2x2(float2(0.0f), float2(0.0f));
    (*tint_module_vars.m78) = float2x2(float2(0.0f), float2(0.0f));
    (*tint_module_vars.m79) = float2x2(float2(0.0f), float2(0.0f));
    (*tint_module_vars.m80) = float2x2(float2(0.0f), float2(0.0f));
    (*tint_module_vars.m81) = float2x2(float2(0.0f), float2(0.0f));
    (*tint_module_vars.m82) = float2x2(float2(0.0f), float2(0.0f));
    (*tint_module_vars.m83) = float2x2(float2(0.0f), float2(0.0f));
    (*tint_module_vars.m84) = float2x2(float2(0.0f), float2(0.0f));
    (*tint_module_vars.m85) = float2x2(float2(0.0f), float2(0.0f));
    (*tint_module_vars.m86) = float2x2(float2(0.0f), float2(0.0f));
    (*tint_module_vars.m87) = float2x2(float2(0.0f), float2(0.0f));
    (*tint_module_vars.m88) = float2x2(float2(0.0f), float2(0.0f));
    (*tint_module_vars.m89) = float2x2(float2(0.0f), float2(0.0f));
    (*tint_module_vars.m90) = float2x2(float2(0.0f), float2(0.0f));
    (*tint_module_vars.m91) = float2x2(float2(0.0f), float2(0.0f));
    (*tint_module_vars.m92) = float2x2(float2(0.0f), float2(0.0f));
    (*tint_module_vars.m93) = float2x2(float2(0.0f), float2(0.0f));
    (*tint_module_vars.m94) = float2x2(float2(0.0f), float2(0.0f));
    (*tint_module_vars.m95) = float2x2(float2(0.0f), float2(0.0f));
    (*tint_module_vars.m96) = float2x2(float2(0.0f), float2(0.0f));
    (*tint_module_vars.m97) = float2x2(float2(0.0f), float2(0.0f));
    (*tint_module_vars.m98) = float2x2(float2(0.0f), float2(0.0f));
    (*tint_module_vars.m99) = float2x2(float2(0.0f), float2(0.0f));
  }
  threadgroup_barrier(mem_flags::mem_threadgroup);
  (*tint_module_vars.m00)[0][0] = 1.0f;
  (*tint_module_vars.m01)[0][0] = 1.0f;
  (*tint_module_vars.m02)[0][0] = 1.0f;
  (*tint_module_vars.m03)[0][0] = 1.0f;
  (*tint_module_vars.m04)[0][0] = 1.0f;
  (*tint_module_vars.m05)[0][0] = 1.0f;
  (*tint_module_vars.m06)[0][0] = 1.0f;
  (*tint_module_vars.m07)[0][0] = 1.0f;
  (*tint_module_vars.m08)[0][0] = 1.0f;
  (*tint_module_vars.m09)[0][0] = 1.0f;
  (*tint_module_vars.m10)[0][0] = 1.0f;
  (*tint_module_vars.m11)[0][0] = 1.0f;
  (*tint_module_vars.m12)[0][0] = 1.0f;
  (*tint_module_vars.m13)[0][0] = 1.0f;
  (*tint_module_vars.m14)[0][0] = 1.0f;
  (*tint_module_vars.m15)[0][0] = 1.0f;
  (*tint_module_vars.m16)[0][0] = 1.0f;
  (*tint_module_vars.m17)[0][0] = 1.0f;
  (*tint_module_vars.m18)[0][0] = 1.0f;
  (*tint_module_vars.m19)[0][0] = 1.0f;
  (*tint_module_vars.m20)[0][0] = 1.0f;
  (*tint_module_vars.m21)[0][0] = 1.0f;
  (*tint_module_vars.m22)[0][0] = 1.0f;
  (*tint_module_vars.m23)[0][0] = 1.0f;
  (*tint_module_vars.m24)[0][0] = 1.0f;
  (*tint_module_vars.m25)[0][0] = 1.0f;
  (*tint_module_vars.m26)[0][0] = 1.0f;
  (*tint_module_vars.m27)[0][0] = 1.0f;
  (*tint_module_vars.m28)[0][0] = 1.0f;
  (*tint_module_vars.m29)[0][0] = 1.0f;
  (*tint_module_vars.m30)[0][0] = 1.0f;
  (*tint_module_vars.m31)[0][0] = 1.0f;
  (*tint_module_vars.m32)[0][0] = 1.0f;
  (*tint_module_vars.m33)[0][0] = 1.0f;
  (*tint_module_vars.m34)[0][0] = 1.0f;
  (*tint_module_vars.m35)[0][0] = 1.0f;
  (*tint_module_vars.m36)[0][0] = 1.0f;
  (*tint_module_vars.m37)[0][0] = 1.0f;
  (*tint_module_vars.m38)[0][0] = 1.0f;
  (*tint_module_vars.m39)[0][0] = 1.0f;
  (*tint_module_vars.m40)[0][0] = 1.0f;
  (*tint_module_vars.m41)[0][0] = 1.0f;
  (*tint_module_vars.m42)[0][0] = 1.0f;
  (*tint_module_vars.m43)[0][0] = 1.0f;
  (*tint_module_vars.m44)[0][0] = 1.0f;
  (*tint_module_vars.m45)[0][0] = 1.0f;
  (*tint_module_vars.m46)[0][0] = 1.0f;
  (*tint_module_vars.m47)[0][0] = 1.0f;
  (*tint_module_vars.m48)[0][0] = 1.0f;
  (*tint_module_vars.m49)[0][0] = 1.0f;
  (*tint_module_vars.m50)[0][0] = 1.0f;
  (*tint_module_vars.m51)[0][0] = 1.0f;
  (*tint_module_vars.m52)[0][0] = 1.0f;
  (*tint_module_vars.m53)[0][0] = 1.0f;
  (*tint_module_vars.m54)[0][0] = 1.0f;
  (*tint_module_vars.m55)[0][0] = 1.0f;
  (*tint_module_vars.m56)[0][0] = 1.0f;
  (*tint_module_vars.m57)[0][0] = 1.0f;
  (*tint_module_vars.m58)[0][0] = 1.0f;
  (*tint_module_vars.m59)[0][0] = 1.0f;
  (*tint_module_vars.m60)[0][0] = 1.0f;
  (*tint_module_vars.m61)[0][0] = 1.0f;
  (*tint_module_vars.m62)[0][0] = 1.0f;
  (*tint_module_vars.m63)[0][0] = 1.0f;
  (*tint_module_vars.m64)[0][0] = 1.0f;
  (*tint_module_vars.m65)[0][0] = 1.0f;
  (*tint_module_vars.m66)[0][0] = 1.0f;
  (*tint_module_vars.m67)[0][0] = 1.0f;
  (*tint_module_vars.m68)[0][0] = 1.0f;
  (*tint_module_vars.m69)[0][0] = 1.0f;
  (*tint_module_vars.m70)[0][0] = 1.0f;
  (*tint_module_vars.m71)[0][0] = 1.0f;
  (*tint_module_vars.m72)[0][0] = 1.0f;
  (*tint_module_vars.m73)[0][0] = 1.0f;
  (*tint_module_vars.m74)[0][0] = 1.0f;
  (*tint_module_vars.m75)[0][0] = 1.0f;
  (*tint_module_vars.m76)[0][0] = 1.0f;
  (*tint_module_vars.m77)[0][0] = 1.0f;
  (*tint_module_vars.m78)[0][0] = 1.0f;
  (*tint_module_vars.m79)[0][0] = 1.0f;
  (*tint_module_vars.m80)[0][0] = 1.0f;
  (*tint_module_vars.m81)[0][0] = 1.0f;
  (*tint_module_vars.m82)[0][0] = 1.0f;
  (*tint_module_vars.m83)[0][0] = 1.0f;
  (*tint_module_vars.m84)[0][0] = 1.0f;
  (*tint_module_vars.m85)[0][0] = 1.0f;
  (*tint_module_vars.m86)[0][0] = 1.0f;
  (*tint_module_vars.m87)[0][0] = 1.0f;
  (*tint_module_vars.m88)[0][0] = 1.0f;
  (*tint_module_vars.m89)[0][0] = 1.0f;
  (*tint_module_vars.m90)[0][0] = 1.0f;
  (*tint_module_vars.m91)[0][0] = 1.0f;
  (*tint_module_vars.m92)[0][0] = 1.0f;
  (*tint_module_vars.m93)[0][0] = 1.0f;
  (*tint_module_vars.m94)[0][0] = 1.0f;
  (*tint_module_vars.m95)[0][0] = 1.0f;
  (*tint_module_vars.m96)[0][0] = 1.0f;
  (*tint_module_vars.m97)[0][0] = 1.0f;
  (*tint_module_vars.m98)[0][0] = 1.0f;
  (*tint_module_vars.m99)[0][0] = 1.0f;
}

kernel void tint_symbol(uint idx [[thread_index_in_threadgroup]], threadgroup tint_symbol_101* v [[threadgroup(0)]]) {
  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.m00=(&(*v).tint_symbol_1), .m01=(&(*v).tint_symbol_2), .m02=(&(*v).tint_symbol_3), .m03=(&(*v).tint_symbol_4), .m04=(&(*v).tint_symbol_5), .m05=(&(*v).tint_symbol_6), .m06=(&(*v).tint_symbol_7), .m07=(&(*v).tint_symbol_8), .m08=(&(*v).tint_symbol_9), .m09=(&(*v).tint_symbol_10), .m10=(&(*v).tint_symbol_11), .m11=(&(*v).tint_symbol_12), .m12=(&(*v).tint_symbol_13), .m13=(&(*v).tint_symbol_14), .m14=(&(*v).tint_symbol_15), .m15=(&(*v).tint_symbol_16), .m16=(&(*v).tint_symbol_17), .m17=(&(*v).tint_symbol_18), .m18=(&(*v).tint_symbol_19), .m19=(&(*v).tint_symbol_20), .m20=(&(*v).tint_symbol_21), .m21=(&(*v).tint_symbol_22), .m22=(&(*v).tint_symbol_23), .m23=(&(*v).tint_symbol_24), .m24=(&(*v).tint_symbol_25), .m25=(&(*v).tint_symbol_26), .m26=(&(*v).tint_symbol_27), .m27=(&(*v).tint_symbol_28), .m28=(&(*v).tint_symbol_29), .m29=(&(*v).tint_symbol_30), .m30=(&(*v).tint_symbol_31), .m31=(&(*v).tint_symbol_32), .m32=(&(*v).tint_symbol_33), .m33=(&(*v).tint_symbol_34), .m34=(&(*v).tint_symbol_35), .m35=(&(*v).tint_symbol_36), .m36=(&(*v).tint_symbol_37), .m37=(&(*v).tint_symbol_38), .m38=(&(*v).tint_symbol_39), .m39=(&(*v).tint_symbol_40), .m40=(&(*v).tint_symbol_41), .m41=(&(*v).tint_symbol_42), .m42=(&(*v).tint_symbol_43), .m43=(&(*v).tint_symbol_44), .m44=(&(*v).tint_symbol_45), .m45=(&(*v).tint_symbol_46), .m46=(&(*v).tint_symbol_47), .m47=(&(*v).tint_symbol_48), .m48=(&(*v).tint_symbol_49), .m49=(&(*v).tint_symbol_50), .m50=(&(*v).tint_symbol_51), .m51=(&(*v).tint_symbol_52), .m52=(&(*v).tint_symbol_53), .m53=(&(*v).tint_symbol_54), .m54=(&(*v).tint_symbol_55), .m55=(&(*v).tint_symbol_56), .m56=(&(*v).tint_symbol_57), .m57=(&(*v).tint_symbol_58), .m58=(&(*v).tint_symbol_59), .m59=(&(*v).tint_symbol_60), .m60=(&(*v).tint_symbol_61), .m61=(&(*v).tint_symbol_62), .m62=(&(*v).tint_symbol_63), .m63=(&(*v).tint_symbol_64), .m64=(&(*v).tint_symbol_65), .m65=(&(*v).tint_symbol_66), .m66=(&(*v).tint_symbol_67), .m67=(&(*v).tint_symbol_68), .m68=(&(*v).tint_symbol_69), .m69=(&(*v).tint_symbol_70), .m70=(&(*v).tint_symbol_71), .m71=(&(*v).tint_symbol_72), .m72=(&(*v).tint_symbol_73), .m73=(&(*v).tint_symbol_74), .m74=(&(*v).tint_symbol_75), .m75=(&(*v).tint_symbol_76), .m76=(&(*v).tint_symbol_77), .m77=(&(*v).tint_symbol_78), .m78=(&(*v).tint_symbol_79), .m79=(&(*v).tint_symbol_80), .m80=(&(*v).tint_symbol_81), .m81=(&(*v).tint_symbol_82), .m82=(&(*v).tint_symbol_83), .m83=(&(*v).tint_symbol_84), .m84=(&(*v).tint_symbol_85), .m85=(&(*v).tint_symbol_86), .m86=(&(*v).tint_symbol_87), .m87=(&(*v).tint_symbol_88), .m88=(&(*v).tint_symbol_89), .m89=(&(*v).tint_symbol_90), .m90=(&(*v).tint_symbol_91), .m91=(&(*v).tint_symbol_92), .m92=(&(*v).tint_symbol_93), .m93=(&(*v).tint_symbol_94), .m94=(&(*v).tint_symbol_95), .m95=(&(*v).tint_symbol_96), .m96=(&(*v).tint_symbol_97), .m97=(&(*v).tint_symbol_98), .m98=(&(*v).tint_symbol_99), .m99=(&(*v).tint_symbol_100)};
  tint_symbol_inner(idx, tint_module_vars);
}
