From 1207eb1e32f03eb1135dddea18ff9b2cfb5c5a2d Mon Sep 17 00:00:00 2001 From: LTVA1 <87536432+LTVA1@users.noreply.github.com> Date: Wed, 25 Oct 2023 21:28:29 +0300 Subject: [PATCH 01/99] add C64 ADSR macros, add gate bit to test/gate macro, untested fix of macro retrigger on 03xx command --- src/engine/fileOps.cpp | 3 ++- src/engine/platform/c64.cpp | 26 +++++++++++++++++++++++++- src/engine/platform/c64.h | 2 +- src/gui/insEdit.cpp | 17 ++++++++++++++++- src/gui/sysConf.cpp | 6 ++++++ 5 files changed, 50 insertions(+), 4 deletions(-) diff --git a/src/engine/fileOps.cpp b/src/engine/fileOps.cpp index 0175c02e2..213e7cc7a 100644 --- a/src/engine/fileOps.cpp +++ b/src/engine/fileOps.cpp @@ -3008,11 +3008,12 @@ bool DivEngine::loadFur(unsigned char* file, size_t len) { } } - // C64 1Exy compat + // C64 1Exy and old version test bit macro compat if (ds.version<186) { for (int i=0; i> 4; + chan[i].decay = chan[i].std.ex5.val & 15; + rWrite(i * 7 + 5, (chan[i].attack << 4) | (chan[i].decay)); + } + + if (chan[i].std.ex6.had) { + chan[i].sustain = chan[i].std.ex6.val >> 4; + chan[i].release = chan[i].std.ex6.val & 15; + rWrite(i * 7 + 6, (chan[i].sustain << 4) | (chan[i].release)); + } + if (sysTick) { if (chan[i].testWhen>0) { if (--chan[i].testWhen<1) { @@ -396,7 +419,7 @@ int DivPlatformC64::dispatch(DivCommand c) { break; case DIV_CMD_PRE_PORTA: if (chan[c.chan].active && c.value2) { - if (parent->song.resetMacroOnPorta || !chan[c.chan].inPorta) { + if (parent->song.resetMacroOnPorta) {// || !chan[c.chan].inPorta) { chan[c.chan].macroInit(parent->getIns(chan[c.chan].ins,DIV_INS_C64)); chan[c.chan].keyOn=true; } @@ -675,6 +698,7 @@ void DivPlatformC64::setFlags(const DivConfig& flags) { } keyPriority=flags.getBool("keyPriority",true); no1EUpdate=flags.getBool("no1EUpdate",false); + newTestBitMacro = flags.getBool("oldTestBitMacro", false); testAD=((flags.getInt("testAttack",0)&15)<<4)|(flags.getInt("testDecay",0)&15); testSR=((flags.getInt("testSustain",0)&15)<<4)|(flags.getInt("testRelease",0)&15); diff --git a/src/engine/platform/c64.h b/src/engine/platform/c64.h index 67ead6aa7..51777f6d0 100644 --- a/src/engine/platform/c64.h +++ b/src/engine/platform/c64.h @@ -72,7 +72,7 @@ class DivPlatformC64: public DivDispatch { unsigned char sidCore; int filtCut, resetTime; - bool keyPriority, sidIs6581, needInitTables, no1EUpdate; + bool keyPriority, sidIs6581, needInitTables, no1EUpdate, newTestBitMacro; unsigned char chanOrder[3]; unsigned char testAD, testSR; diff --git a/src/gui/insEdit.cpp b/src/gui/insEdit.cpp index 731211722..241badab9 100644 --- a/src/gui/insEdit.cpp +++ b/src/gui/insEdit.cpp @@ -256,6 +256,18 @@ const char* c64SpecialBits[3]={ "sync", "ring", NULL }; +const char* c64TestGateBits[3]={ + "test", "gate", NULL +}; + +const char* c64AttackDecayBits[9] = { + "Decay 1", "Decay 2", "Decay 3", "Decay 4", "Attack 1", "Attack 2", "Attack 3", "Attack 4", NULL +}; + +const char* c64SustainReleaseBits[9] = { + "Release 1", "Release 2", "Release 3", "Release 4", "Sustain 1", "Sustain 2", "Sustain 3", "Sustain 4", NULL +}; + const char* pokeyCtlBits[9]={ "15KHz", "filter 2+4", "filter 1+3", "16-bit 3+4", "16-bit 1+2", "high3", "high1", "poly9", NULL }; @@ -6479,7 +6491,10 @@ void FurnaceGUI::drawInsEdit() { } if (ins->type==DIV_INS_C64) { macroList.push_back(FurnaceGUIMacroDesc("Special",&ins->std.ex3Macro,0,2,32,uiColors[GUI_COLOR_MACRO_OTHER],false,NULL,NULL,true,c64SpecialBits)); - macroList.push_back(FurnaceGUIMacroDesc("Test/Gate",&ins->std.ex4Macro,0,1,32,uiColors[GUI_COLOR_MACRO_OTHER],false,NULL,NULL,true)); + //macroList.push_back(FurnaceGUIMacroDesc("Test/Gate",&ins->std.ex4Macro,0,1,32,uiColors[GUI_COLOR_MACRO_OTHER],false,NULL,NULL,true)); + macroList.push_back(FurnaceGUIMacroDesc("Test/Gate",&ins->std.ex4Macro,0,2,32,uiColors[GUI_COLOR_MACRO_OTHER],false,NULL,NULL, true, c64TestGateBits)); + macroList.push_back(FurnaceGUIMacroDesc("Attack/Decay", &ins->std.ex5Macro, 0, 8, 128, uiColors[GUI_COLOR_MACRO_OTHER], false, NULL, NULL, true, c64AttackDecayBits)); + macroList.push_back(FurnaceGUIMacroDesc("Sustain/Release", &ins->std.ex6Macro, 0, 8, 128, uiColors[GUI_COLOR_MACRO_OTHER], false, NULL, NULL, true, c64SustainReleaseBits)); } if (ins->type==DIV_INS_AY || ins->type==DIV_INS_AY8930 || (ins->type==DIV_INS_X1_010 && !ins->amiga.useSample)) { macroList.push_back(FurnaceGUIMacroDesc("AutoEnv Num",&ins->std.ex3Macro,0,15,160,uiColors[GUI_COLOR_MACRO_OTHER])); diff --git a/src/gui/sysConf.cpp b/src/gui/sysConf.cpp index d53582f6c..1f03375a8 100644 --- a/src/gui/sysConf.cpp +++ b/src/gui/sysConf.cpp @@ -587,6 +587,7 @@ bool FurnaceGUI::drawSysConf(int chan, int sysPos, DivSystem type, DivConfig& fl int clockSel=flags.getInt("clockSel",0); bool keyPriority=flags.getBool("keyPriority",true); bool no1EUpdate=flags.getBool("no1EUpdate",false); + bool newTestBitMacro = flags.getBool("newTestBitMacro", false); int testAttack=flags.getInt("testAttack",0); int testDecay=flags.getInt("testDecay",0); int testSustain=flags.getInt("testSustain",0); @@ -649,11 +650,16 @@ bool FurnaceGUI::drawSysConf(int chan, int sysPos, DivSystem type, DivConfig& fl altered=true; } + if (ImGui::Checkbox("New test bit macro behaviour (with gate bit) (compatibility)", &newTestBitMacro)) { + altered = true; + } + if (altered) { e->lockSave([&]() { flags.set("clockSel",clockSel); flags.set("keyPriority",keyPriority); flags.set("no1EUpdate",no1EUpdate); + flags.set("newTestBitMacro", newTestBitMacro); flags.set("testAttack",testAttack); flags.set("testDecay",testDecay); flags.set("testSustain",testSustain); From 422c916e4e5cb704b388dec6b037edb7a11ea75b Mon Sep 17 00:00:00 2001 From: tildearrow Date: Wed, 25 Oct 2023 15:40:10 -0500 Subject: [PATCH 02/99] allocate ID for ESFM --- papers/format.md | 1 + 1 file changed, 1 insertion(+) diff --git a/papers/format.md b/papers/format.md index 44faff0b2..54082b532 100644 --- a/papers/format.md +++ b/papers/format.md @@ -234,6 +234,7 @@ size | description | - 0xce: Namco C140 - 24 channels | - 0xcf: Namco C219 - 16 channels | - 0xd0: Namco C352 - 32 channels (UNAVAILABLE) + | - 0xd1: ESFM - 18 channels (UNAVAILABLE) | - 0xde: YM2610B extended - 19 channels | - 0xe0: QSound - 19 channels | - 0xfc: Pong - 1 channel From 0c00322004faefc719fc277503e2ff4a6c9916b4 Mon Sep 17 00:00:00 2001 From: tildearrow Date: Thu, 26 Oct 2023 17:33:01 -0500 Subject: [PATCH 03/99] GUI: update info about Revolt --- src/gui/tutorial.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/gui/tutorial.cpp b/src/gui/tutorial.cpp index ef98a9533..7774b95f0 100644 --- a/src/gui/tutorial.cpp +++ b/src/gui/tutorial.cpp @@ -274,7 +274,7 @@ void FurnaceGUI::drawTutorial() { ImGui::TextWrapped( "if you need help, you may:\n" "- read the manual (a file called manual.pdf)\n" - "- ask for help in Discussions (https://github.com/tildearrow/furnace/discussions), the Furnace Discord (https://discord.gg/EfrwT2wq7z) or Furnace in Revolt (https://rvlt.gg/GRPS6tmc)" + "- ask for help in Discussions (https://github.com/tildearrow/furnace/discussions), the Furnace Discord (https://discord.gg/EfrwT2wq7z) or Furnace in Revolt (official: https://rvlt.gg/GRPS6tmc)" ); ImGui::Separator(); From ad4d08243a44cf730278b99346190d02316f69b2 Mon Sep 17 00:00:00 2001 From: tildearrow Date: Thu, 26 Oct 2023 17:38:39 -0500 Subject: [PATCH 04/99] GUI: always write olders len in UndoStep --- src/gui/editing.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/gui/editing.cpp b/src/gui/editing.cpp index aa7e6f5c7..45603e68c 100644 --- a/src/gui/editing.cpp +++ b/src/gui/editing.cpp @@ -83,6 +83,8 @@ void FurnaceGUI::makeUndo(ActionType action) { s.selStart=selStart; s.selEnd=selEnd; s.order=curOrder; + s.oldOrdersLen=oldOrdersLen; + s.newOrdersLen=e->curSubSong->ordersLen; s.nibble=curNibble; size_t subSong=e->getCurrentSubSong(); switch (action) { @@ -94,8 +96,6 @@ void FurnaceGUI::makeUndo(ActionType action) { } } } - s.oldOrdersLen=oldOrdersLen; - s.newOrdersLen=e->curSubSong->ordersLen; if (oldOrdersLen!=e->curSubSong->ordersLen) { doPush=true; } From e28af73746e93f3068bdd0610d902993178c19af Mon Sep 17 00:00:00 2001 From: tildearrow Date: Thu, 26 Oct 2023 19:03:45 -0500 Subject: [PATCH 05/99] GUI: channel status, part 2 --- src/engine/engine.cpp | 5 +++++ src/engine/engine.h | 3 +++ src/gui/pattern.cpp | 29 +++++++++++++++++++++-------- 3 files changed, 29 insertions(+), 8 deletions(-) diff --git a/src/engine/engine.cpp b/src/engine/engine.cpp index e8fe8167b..76a307f5b 100644 --- a/src/engine/engine.cpp +++ b/src/engine/engine.cpp @@ -1424,6 +1424,11 @@ DivChannelPair DivEngine::getChanPaired(int ch) { return disCont[dispatchOfChan[ch]].dispatch->getPaired(dispatchChanOfChan[ch]); } +DivChannelModeHints DivEngine::getChanModeHints(int ch) { + if (ch<0 || ch>=chans) return DivChannelModeHints(); + return disCont[dispatchOfChan[ch]].dispatch->getModeHints(dispatchChanOfChan[ch]); +} + unsigned char* DivEngine::getRegisterPool(int sys, int& size, int& depth) { if (sys<0 || sys>=song.systemLen) return NULL; if (disCont[sys].dispatch==NULL) return NULL; diff --git a/src/engine/engine.h b/src/engine/engine.h index f4c46de32..7f0e4600c 100644 --- a/src/engine/engine.h +++ b/src/engine/engine.h @@ -1017,6 +1017,9 @@ class DivEngine { // get channel pairs DivChannelPair getChanPaired(int chan); + // get channel mode hints + DivChannelModeHints getChanModeHints(int chan); + // get register pool unsigned char* getRegisterPool(int sys, int& size, int& depth); diff --git a/src/gui/pattern.cpp b/src/gui/pattern.cpp index 98ea6c94e..157b5078b 100644 --- a/src/gui/pattern.cpp +++ b/src/gui/pattern.cpp @@ -934,17 +934,18 @@ void FurnaceGUI::drawPattern() { ImGui::Dummy(ImVec2(dpiScale,settings.iconSize*dpiScale)); ImVec2 posMax=ImGui::GetContentRegionMax(); ImDrawList* dl=ImGui::GetWindowDrawList(); - ImVec2 iconPos[6]; - - for (int i=0; i<6; i++) { - iconPos[i]=ImLerp(posMin,posMax,ImVec2((float)i/6.0f,0.0f)); - - //dl->AddText(mainFont,settings.mainFontSize*dpiScale,iconPos[i],0xffffffff,ICON_FUR_SINE); - } - DivChannelState* cs=e->getChanState(i); if (cs!=NULL) { + DivChannelModeHints hints=e->getChanModeHints(i); + if (hints.count>4) hints.count=4; + int hintCount=3+hints.count; + + // calculate icon size + for (int i=0; ikeyOn) { @@ -960,6 +961,7 @@ void FurnaceGUI::drawPattern() { onOffColor=uiColors[GUI_COLOR_PATTERN_STATUS_OFF]; } } + iconPos[0].x-=mainFont->CalcTextSizeA(mainFont->FontSize,FLT_MAX,0.0f,ICON_FA_SQUARE).x*0.5f; dl->AddText(mainFont,settings.mainFontSize*dpiScale,iconPos[0],ImGui::GetColorU32(onOffColor),ICON_FA_SQUARE); // 2. PITCH SLIDE/VIBRATO @@ -984,6 +986,7 @@ void FurnaceGUI::drawPattern() { } else { pitchColor=uiColors[GUI_COLOR_TOGGLE_OFF]; } + iconPos[1].x-=mainFont->CalcTextSizeA(mainFont->FontSize,FLT_MAX,0.0f,pitchIcon).x*0.5f; dl->AddText(mainFont,settings.mainFontSize*dpiScale,iconPos[1],ImGui::GetColorU32(pitchColor),pitchIcon); @@ -1003,7 +1006,17 @@ void FurnaceGUI::drawPattern() { } else { volColor=uiColors[GUI_COLOR_TOGGLE_OFF]; } + iconPos[2].x-=mainFont->CalcTextSizeA(mainFont->FontSize,FLT_MAX,0.0f,volIcon).x*0.5f; dl->AddText(mainFont,settings.mainFontSize*dpiScale,iconPos[2],ImGui::GetColorU32(volColor),volIcon); + + // 4. OTHER + for (int i=0; iCalcTextSizeA(mainFont->FontSize,FLT_MAX,0.0f,hints.hint[i]).x*0.5f; + dl->AddText(mainFont,settings.mainFontSize*dpiScale,iconPos[i+3],ImGui::GetColorU32(hintColor),hints.hint[i]); + } } } chanHeadBottom=ImGui::GetCursorScreenPos().y-ImGui::GetStyle().ItemSpacing.y; From 20a5d9c0898bece18ccc576f0bea6b68e99edf87 Mon Sep 17 00:00:00 2001 From: tildearrow Date: Fri, 27 Oct 2023 04:23:35 -0500 Subject: [PATCH 06/99] GUI: channel status, part 3 --- src/engine/dispatch.h | 9 ++++++- src/gui/gui.h | 11 +++++++++ src/gui/guiConst.cpp | 11 +++++++++ src/gui/pattern.cpp | 57 +++++++++++++++++++++++++++++++++++-------- src/gui/settings.cpp | 13 +++++++++- 5 files changed, 89 insertions(+), 12 deletions(-) diff --git a/src/engine/dispatch.h b/src/engine/dispatch.h index 6f2119356..cff298353 100644 --- a/src/engine/dispatch.h +++ b/src/engine/dispatch.h @@ -388,7 +388,14 @@ struct DivChannelModeHints { // - 1: volume // - 2: pitch // - 3: panning - // - 4: ??? + // - 4: chip primary + // - 5: chip secondary + // - 6: mixing + // - 7: DSP + // - 8: note + // - 9: misc 1 + // - 10: misc 2 + // - 11: misc 3 unsigned char type[4]; // up to 4 unsigned char count; diff --git a/src/gui/gui.h b/src/gui/gui.h index 73fe79951..1bca9f066 100644 --- a/src/gui/gui.h +++ b/src/gui/gui.h @@ -310,6 +310,17 @@ enum FurnaceGUIColors { GUI_COLOR_PATTERN_STATUS_REL, GUI_COLOR_PATTERN_STATUS_REL_ON, GUI_COLOR_PATTERN_STATUS_ON, + GUI_COLOR_PATTERN_STATUS_VOLUME, + GUI_COLOR_PATTERN_STATUS_PITCH, + GUI_COLOR_PATTERN_STATUS_PANNING, + GUI_COLOR_PATTERN_STATUS_SYS1, + GUI_COLOR_PATTERN_STATUS_SYS2, + GUI_COLOR_PATTERN_STATUS_MIXING, + GUI_COLOR_PATTERN_STATUS_DSP, + GUI_COLOR_PATTERN_STATUS_NOTE, + GUI_COLOR_PATTERN_STATUS_MISC1, + GUI_COLOR_PATTERN_STATUS_MISC2, + GUI_COLOR_PATTERN_STATUS_MISC3, GUI_COLOR_PATTERN_PAIR, diff --git a/src/gui/guiConst.cpp b/src/gui/guiConst.cpp index 39607ba92..fdfc323ed 100644 --- a/src/gui/guiConst.cpp +++ b/src/gui/guiConst.cpp @@ -993,6 +993,17 @@ const FurnaceGUIColorDef guiColors[GUI_COLOR_MAX]={ D(GUI_COLOR_PATTERN_STATUS_REL,"",ImVec4(0.7f,0.1f,0.1f,1.0f)), D(GUI_COLOR_PATTERN_STATUS_REL_ON,"",ImVec4(1.0f,0.8f,0.1f,1.0f)), D(GUI_COLOR_PATTERN_STATUS_ON,"",ImVec4(0.3f,1.0f,0.1f,1.0f)), + D(GUI_COLOR_PATTERN_STATUS_VOLUME,"",ImVec4(0.0f,1.0f,0.0f,1.0f)), + D(GUI_COLOR_PATTERN_STATUS_PITCH,"",ImVec4(1.0f,1.0f,0.0f,1.0f)), + D(GUI_COLOR_PATTERN_STATUS_PANNING,"",ImVec4(0.0f,1.0f,1.0f,1.0f)), + D(GUI_COLOR_PATTERN_STATUS_SYS1,"",ImVec4(0.5f,1.0f,0.0f,1.0f)), + D(GUI_COLOR_PATTERN_STATUS_SYS2,"",ImVec4(0.0f,1.0f,0.5f,1.0f)), + D(GUI_COLOR_PATTERN_STATUS_MIXING,"",ImVec4(1.0f,0.3f,1.0f,1.0f)), + D(GUI_COLOR_PATTERN_STATUS_DSP,"",ImVec4(0.3f,0.6f,1.0f,1.0f)), + D(GUI_COLOR_PATTERN_STATUS_NOTE,"",ImVec4(0.3f,0.3f,1.0f,1.0f)), + D(GUI_COLOR_PATTERN_STATUS_MISC1,"",ImVec4(1.0f,0.5f,0.0f,1.0f)), + D(GUI_COLOR_PATTERN_STATUS_MISC2,"",ImVec4(0.7f,0.5f,1.0f,1.0f)), + D(GUI_COLOR_PATTERN_STATUS_MISC3,"",ImVec4(1.0f,0.1f,0.1f,1.0f)), D(GUI_COLOR_PATTERN_PAIR,"",ImVec4(0.6f,0.8f,1.0f,1.0f)), diff --git a/src/gui/pattern.cpp b/src/gui/pattern.cpp index 157b5078b..d3666240e 100644 --- a/src/gui/pattern.cpp +++ b/src/gui/pattern.cpp @@ -969,22 +969,22 @@ void FurnaceGUI::drawPattern() { const char* pitchIcon=ICON_FUR_SINE; if (cs->inPorta) { pitchIcon=ICON_FA_SHARE; - pitchColor=uiColors[GUI_COLOR_PATTERN_EFFECT_PITCH]; + pitchColor=uiColors[GUI_COLOR_PATTERN_STATUS_PITCH]; } else if (cs->portaSpeed>0) { if (cs->portaNote>=60) { pitchIcon=ICON_FA_CHEVRON_UP; } else { pitchIcon=ICON_FA_CHEVRON_DOWN; } - pitchColor=uiColors[GUI_COLOR_PATTERN_EFFECT_PITCH]; + pitchColor=uiColors[GUI_COLOR_PATTERN_STATUS_PITCH]; } else if (cs->vibratoDepth>0) { pitchIcon=ICON_FUR_SINE; - pitchColor=uiColors[GUI_COLOR_PATTERN_EFFECT_PITCH]; + pitchColor=uiColors[GUI_COLOR_PATTERN_STATUS_PITCH]; } else if (cs->arp) { pitchIcon=ICON_FA_BARS; - pitchColor=uiColors[GUI_COLOR_PATTERN_EFFECT_MISC]; + pitchColor=uiColors[GUI_COLOR_PATTERN_STATUS_NOTE]; } else { - pitchColor=uiColors[GUI_COLOR_TOGGLE_OFF]; + pitchColor=uiColors[GUI_COLOR_PATTERN_STATUS_OFF]; } iconPos[1].x-=mainFont->CalcTextSizeA(mainFont->FontSize,FLT_MAX,0.0f,pitchIcon).x*0.5f; dl->AddText(mainFont,settings.mainFontSize*dpiScale,iconPos[1],ImGui::GetColorU32(pitchColor),pitchIcon); @@ -995,16 +995,16 @@ void FurnaceGUI::drawPattern() { const char* volIcon=ICON_FA_MINUS; if (cs->tremoloDepth>0) { volIcon=ICON_FUR_SINE; - volColor=uiColors[GUI_COLOR_PATTERN_VOLUME_MAX]; + volColor=uiColors[GUI_COLOR_PATTERN_STATUS_VOLUME]; } else if (cs->volSpeed) { if (cs->volSpeed>0) { volIcon=ICON_FA_CHEVRON_UP; } else { volIcon=ICON_FA_CHEVRON_DOWN; } - volColor=uiColors[GUI_COLOR_PATTERN_VOLUME_MAX]; + volColor=uiColors[GUI_COLOR_PATTERN_STATUS_VOLUME]; } else { - volColor=uiColors[GUI_COLOR_TOGGLE_OFF]; + volColor=uiColors[GUI_COLOR_PATTERN_STATUS_OFF]; } iconPos[2].x-=mainFont->CalcTextSizeA(mainFont->FontSize,FLT_MAX,0.0f,volIcon).x*0.5f; dl->AddText(mainFont,settings.mainFontSize*dpiScale,iconPos[2],ImGui::GetColorU32(volColor),volIcon); @@ -1012,8 +1012,45 @@ void FurnaceGUI::drawPattern() { // 4. OTHER for (int i=0; iCalcTextSizeA(mainFont->FontSize,FLT_MAX,0.0f,hints.hint[i]).x*0.5f; dl->AddText(mainFont,settings.mainFontSize*dpiScale,iconPos[i+3],ImGui::GetColorU32(hintColor),hints.hint[i]); } diff --git a/src/gui/settings.cpp b/src/gui/settings.cpp index 6384d2aad..7e8a85a5b 100644 --- a/src/gui/settings.cpp +++ b/src/gui/settings.cpp @@ -3366,10 +3366,21 @@ void FurnaceGUI::drawSettings() { UI_COLOR_CONFIG(GUI_COLOR_PATTERN_EFFECT_SYS_SECONDARY,"Secondary specific effect"); UI_COLOR_CONFIG(GUI_COLOR_PATTERN_EFFECT_MISC,"Miscellaneous"); UI_COLOR_CONFIG(GUI_COLOR_EE_VALUE,"External command output"); - UI_COLOR_CONFIG(GUI_COLOR_PATTERN_STATUS_OFF,"Status: off"); + UI_COLOR_CONFIG(GUI_COLOR_PATTERN_STATUS_OFF,"Status: off/disabled"); UI_COLOR_CONFIG(GUI_COLOR_PATTERN_STATUS_REL,"Status: off + macro rel"); UI_COLOR_CONFIG(GUI_COLOR_PATTERN_STATUS_REL_ON,"Status: on + macro rel"); UI_COLOR_CONFIG(GUI_COLOR_PATTERN_STATUS_ON,"Status: on"); + UI_COLOR_CONFIG(GUI_COLOR_PATTERN_STATUS_VOLUME,"Status: volume"); + UI_COLOR_CONFIG(GUI_COLOR_PATTERN_STATUS_PITCH,"Status: pitch"); + UI_COLOR_CONFIG(GUI_COLOR_PATTERN_STATUS_PANNING,"Status: panning"); + UI_COLOR_CONFIG(GUI_COLOR_PATTERN_STATUS_SYS1,"Status: chip (primary)"); + UI_COLOR_CONFIG(GUI_COLOR_PATTERN_STATUS_SYS2,"Status: chip (secondary)"); + UI_COLOR_CONFIG(GUI_COLOR_PATTERN_STATUS_MIXING,"Status: mixing"); + UI_COLOR_CONFIG(GUI_COLOR_PATTERN_STATUS_DSP,"Status: DSP effect"); + UI_COLOR_CONFIG(GUI_COLOR_PATTERN_STATUS_NOTE,"Status: note altering"); + UI_COLOR_CONFIG(GUI_COLOR_PATTERN_STATUS_MISC1,"Status: misc color 1"); + UI_COLOR_CONFIG(GUI_COLOR_PATTERN_STATUS_MISC2,"Status: misc color 2"); + UI_COLOR_CONFIG(GUI_COLOR_PATTERN_STATUS_MISC3,"Status: misc color 3"); ImGui::TreePop(); } if (ImGui::TreeNode("Sample Editor")) { From 50b314bd77005a7a313cd1b60059973e43b66872 Mon Sep 17 00:00:00 2001 From: LTVA1 <87536432+LTVA1@users.noreply.github.com> Date: Fri, 27 Oct 2023 17:20:32 +0300 Subject: [PATCH 07/99] Make separate macros for each ADSR param --- src/engine/platform/c64.cpp | 14 +++++++++++--- src/gui/insEdit.cpp | 14 ++++---------- 2 files changed, 15 insertions(+), 13 deletions(-) diff --git a/src/engine/platform/c64.cpp b/src/engine/platform/c64.cpp index 9b3364ce6..30aec4e2f 100644 --- a/src/engine/platform/c64.cpp +++ b/src/engine/platform/c64.cpp @@ -235,13 +235,21 @@ void DivPlatformC64::tick(bool sysTick) { } if (chan[i].std.ex5.had) { - chan[i].attack = chan[i].std.ex5.val >> 4; - chan[i].decay = chan[i].std.ex5.val & 15; + chan[i].attack = chan[i].std.ex5.val & 15; rWrite(i * 7 + 5, (chan[i].attack << 4) | (chan[i].decay)); } if (chan[i].std.ex6.had) { - chan[i].sustain = chan[i].std.ex6.val >> 4; + chan[i].decay = chan[i].std.ex5.val & 15; + rWrite(i * 7 + 6, (chan[i].sustain << 4) | (chan[i].release)); + } + + if (chan[i].std.ex7.had) { + chan[i].sustain = chan[i].std.ex6.val & 15; + rWrite(i * 7 + 6, (chan[i].sustain << 4) | (chan[i].release)); + } + + if (chan[i].std.ex8.had) { chan[i].release = chan[i].std.ex6.val & 15; rWrite(i * 7 + 6, (chan[i].sustain << 4) | (chan[i].release)); } diff --git a/src/gui/insEdit.cpp b/src/gui/insEdit.cpp index 241badab9..e93367424 100644 --- a/src/gui/insEdit.cpp +++ b/src/gui/insEdit.cpp @@ -260,14 +260,6 @@ const char* c64TestGateBits[3]={ "test", "gate", NULL }; -const char* c64AttackDecayBits[9] = { - "Decay 1", "Decay 2", "Decay 3", "Decay 4", "Attack 1", "Attack 2", "Attack 3", "Attack 4", NULL -}; - -const char* c64SustainReleaseBits[9] = { - "Release 1", "Release 2", "Release 3", "Release 4", "Sustain 1", "Sustain 2", "Sustain 3", "Sustain 4", NULL -}; - const char* pokeyCtlBits[9]={ "15KHz", "filter 2+4", "filter 1+3", "16-bit 3+4", "16-bit 1+2", "high3", "high1", "poly9", NULL }; @@ -6493,8 +6485,10 @@ void FurnaceGUI::drawInsEdit() { macroList.push_back(FurnaceGUIMacroDesc("Special",&ins->std.ex3Macro,0,2,32,uiColors[GUI_COLOR_MACRO_OTHER],false,NULL,NULL,true,c64SpecialBits)); //macroList.push_back(FurnaceGUIMacroDesc("Test/Gate",&ins->std.ex4Macro,0,1,32,uiColors[GUI_COLOR_MACRO_OTHER],false,NULL,NULL,true)); macroList.push_back(FurnaceGUIMacroDesc("Test/Gate",&ins->std.ex4Macro,0,2,32,uiColors[GUI_COLOR_MACRO_OTHER],false,NULL,NULL, true, c64TestGateBits)); - macroList.push_back(FurnaceGUIMacroDesc("Attack/Decay", &ins->std.ex5Macro, 0, 8, 128, uiColors[GUI_COLOR_MACRO_OTHER], false, NULL, NULL, true, c64AttackDecayBits)); - macroList.push_back(FurnaceGUIMacroDesc("Sustain/Release", &ins->std.ex6Macro, 0, 8, 128, uiColors[GUI_COLOR_MACRO_OTHER], false, NULL, NULL, true, c64SustainReleaseBits)); + macroList.push_back(FurnaceGUIMacroDesc("Attack", &ins->std.ex5Macro, 0, 15, 128, uiColors[GUI_COLOR_MACRO_OTHER])); + macroList.push_back(FurnaceGUIMacroDesc("Decay", &ins->std.ex6Macro, 0, 15, 128, uiColors[GUI_COLOR_MACRO_OTHER])); + macroList.push_back(FurnaceGUIMacroDesc("Sustain", &ins->std.ex7Macro, 0, 15, 128, uiColors[GUI_COLOR_MACRO_OTHER])); + macroList.push_back(FurnaceGUIMacroDesc("Release", &ins->std.ex8Macro, 0, 15, 128, uiColors[GUI_COLOR_MACRO_OTHER])); } if (ins->type==DIV_INS_AY || ins->type==DIV_INS_AY8930 || (ins->type==DIV_INS_X1_010 && !ins->amiga.useSample)) { macroList.push_back(FurnaceGUIMacroDesc("AutoEnv Num",&ins->std.ex3Macro,0,15,160,uiColors[GUI_COLOR_MACRO_OTHER])); From 847bb046f68aa7f501bf8f85e64848caa0cb999f Mon Sep 17 00:00:00 2001 From: LTVA1 <87536432+LTVA1@users.noreply.github.com> Date: Fri, 27 Oct 2023 17:23:48 +0300 Subject: [PATCH 08/99] fix --- src/engine/platform/c64.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/engine/platform/c64.cpp b/src/engine/platform/c64.cpp index 30aec4e2f..9fcd52c5f 100644 --- a/src/engine/platform/c64.cpp +++ b/src/engine/platform/c64.cpp @@ -240,17 +240,17 @@ void DivPlatformC64::tick(bool sysTick) { } if (chan[i].std.ex6.had) { - chan[i].decay = chan[i].std.ex5.val & 15; - rWrite(i * 7 + 6, (chan[i].sustain << 4) | (chan[i].release)); + chan[i].decay = chan[i].std.ex6.val & 15; + rWrite(i * 7 + 5, (chan[i].attack << 4) | (chan[i].decay)); } if (chan[i].std.ex7.had) { - chan[i].sustain = chan[i].std.ex6.val & 15; + chan[i].sustain = chan[i].std.ex7.val & 15; rWrite(i * 7 + 6, (chan[i].sustain << 4) | (chan[i].release)); } if (chan[i].std.ex8.had) { - chan[i].release = chan[i].std.ex6.val & 15; + chan[i].release = chan[i].std.ex8.val & 15; rWrite(i * 7 + 6, (chan[i].sustain << 4) | (chan[i].release)); } From 006f0d6f488ccef72378859389efe0211e0042f8 Mon Sep 17 00:00:00 2001 From: LTVA1 <87536432+LTVA1@users.noreply.github.com> Date: Fri, 27 Oct 2023 17:25:14 +0300 Subject: [PATCH 09/99] wrong flag string --- src/engine/platform/c64.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/engine/platform/c64.cpp b/src/engine/platform/c64.cpp index 9fcd52c5f..11070c26c 100644 --- a/src/engine/platform/c64.cpp +++ b/src/engine/platform/c64.cpp @@ -706,7 +706,7 @@ void DivPlatformC64::setFlags(const DivConfig& flags) { } keyPriority=flags.getBool("keyPriority",true); no1EUpdate=flags.getBool("no1EUpdate",false); - newTestBitMacro = flags.getBool("oldTestBitMacro", false); + newTestBitMacro = flags.getBool("newTestBitMacro", false); testAD=((flags.getInt("testAttack",0)&15)<<4)|(flags.getInt("testDecay",0)&15); testSR=((flags.getInt("testSustain",0)&15)<<4)|(flags.getInt("testRelease",0)&15); From fe5587e958924606dde4aa5c45afc63d76b56513 Mon Sep 17 00:00:00 2001 From: tildearrow Date: Fri, 27 Oct 2023 14:45:34 -0500 Subject: [PATCH 10/99] fix 0300 not being taken into account in pre note --- src/engine/playback.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/engine/playback.cpp b/src/engine/playback.cpp index de5c58a22..2211cf0f9 100644 --- a/src/engine/playback.cpp +++ b/src/engine/playback.cpp @@ -1266,11 +1266,11 @@ void DivEngine::nextRow() { for (int j=0; jdata[curRow][4+(j<<1)]==0x03) { + if (pat->data[curRow][4+(j<<1)]==0x03 && pat->data[curRow][5+(j<<1)]!=0 && pat->data[curRow][5+(j<<1)]!=-1) { doPreparePreNote=false; break; } - if (pat->data[curRow][4+(j<<1)]==0x06) { + if (pat->data[curRow][4+(j<<1)]==0x06 && pat->data[curRow][5+(j<<1)]!=0 && pat->data[curRow][5+(j<<1)]!=-1) { doPreparePreNote=false; break; } @@ -1297,11 +1297,11 @@ void DivEngine::nextRow() { int addition=0; for (int j=0; jdata[curRow][4+(j<<1)]==0x03) { + if (pat->data[curRow][4+(j<<1)]==0x03 && pat->data[curRow][5+(j<<1)]!=0 && pat->data[curRow][5+(j<<1)]!=-1) { doPrepareCut=false; break; } - if (pat->data[curRow][4+(j<<1)]==0x06) { + if (pat->data[curRow][4+(j<<1)]==0x06 && pat->data[curRow][5+(j<<1)]!=0 && pat->data[curRow][5+(j<<1)]!=-1) { doPrepareCut=false; break; } From 429119a186e1facceb1b4da6a9d228c790516678 Mon Sep 17 00:00:00 2001 From: tildearrow Date: Fri, 27 Oct 2023 15:48:36 -0500 Subject: [PATCH 11/99] C64: I may have solved it --- src/engine/platform/c64.cpp | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/engine/platform/c64.cpp b/src/engine/platform/c64.cpp index cfabd2049..02b511977 100644 --- a/src/engine/platform/c64.cpp +++ b/src/engine/platform/c64.cpp @@ -616,7 +616,18 @@ void DivPlatformC64::reset() { needInitTables=false; } else if (sidCore==1) { sid_fp->reset(); - sid_fp->clockSilent(16000); + for (int i=0; i<3; i++) { + sid_fp->write(i*7+5,testAD); + sid_fp->write(i*7+6,testSR); + sid_fp->write(i*7+4,8); + } + sid_fp->clockSilent(30000); + for (int i=0; i<3; i++) { + sid_fp->write(i*7+5,testAD); + sid_fp->write(i*7+6,testSR); + sid_fp->write(i*7+4,0); + } + sid_fp->clockSilent(30000); } else { sid->reset(); } From d8daeb1169b8b70fe05bae7806e984961f8dd486 Mon Sep 17 00:00:00 2001 From: tildearrow Date: Fri, 27 Oct 2023 18:08:37 -0500 Subject: [PATCH 12/99] GUI: channel status, part 4 --- src/engine/dispatch.h | 9 ++++++ src/engine/platform/snes.cpp | 57 ++++++++++++++++++++++++++++++++++++ src/engine/platform/snes.h | 1 + src/gui/gui.h | 10 ++++++- src/gui/guiConst.cpp | 9 ++++++ src/gui/pattern.cpp | 34 +++++++++++++++++++-- src/gui/settings.cpp | 9 ++++++ 7 files changed, 126 insertions(+), 3 deletions(-) diff --git a/src/engine/dispatch.h b/src/engine/dispatch.h index cff298353..2f6b7c04a 100644 --- a/src/engine/dispatch.h +++ b/src/engine/dispatch.h @@ -396,6 +396,15 @@ struct DivChannelModeHints { // - 9: misc 1 // - 10: misc 2 // - 11: misc 3 + // - 12: attack + // - 13: decay + // - 14: sustain + // - 15: release + // - 16: dec linear + // - 17: dec exp + // - 18: inc linear + // - 19: inc bent + // - 20: direct unsigned char type[4]; // up to 4 unsigned char count; diff --git a/src/engine/platform/snes.cpp b/src/engine/platform/snes.cpp index ae1746678..63d5923e3 100644 --- a/src/engine/platform/snes.cpp +++ b/src/engine/platform/snes.cpp @@ -710,6 +710,63 @@ DivChannelPair DivPlatformSNES::getPaired(int ch) { return DivChannelPair(); } +DivChannelModeHints DivPlatformSNES::getModeHints(int ch) { + DivChannelModeHints ret; + ret.count=1; + ret.hint[0]="-"; + ret.type[0]=0; + + const SPC_DSP::voice_t* v=dsp.get_voice(ch); + if (v!=NULL) { + if (v->regs[5]&128) { + switch (v->env_mode) { + case SPC_DSP::env_attack: + ret.hint[0]="A"; + ret.type[0]=12; + break; + case SPC_DSP::env_decay: + ret.hint[0]="D"; + ret.type[0]=13; + break; + case SPC_DSP::env_sustain: + ret.hint[0]="S"; + ret.type[0]=14; + break; + case SPC_DSP::env_release: + ret.hint[0]="R"; + ret.type[0]=15; + break; + } + } else { + if (v->regs[7]&128) { + switch (v->regs[7]&0x60) { + case 0: + ret.hint[0]="d"; + ret.type[0]=16; + break; + case 32: + ret.hint[0]="X"; + ret.type[0]=17; + break; + case 64: + ret.hint[0]="I"; + ret.type[0]=18; + break; + case 96: + ret.hint[0]="B"; + ret.type[0]=19; + break; + } + } else { + ret.hint[0]="V"; + ret.type[0]=20; + } + } + } + + return ret; +} + DivSamplePos DivPlatformSNES::getSamplePos(int ch) { if (ch>=8) return DivSamplePos(); if (!chan[ch].active) return DivSamplePos(); diff --git a/src/engine/platform/snes.h b/src/engine/platform/snes.h index 277a06c95..8c48c6c72 100644 --- a/src/engine/platform/snes.h +++ b/src/engine/platform/snes.h @@ -102,6 +102,7 @@ class DivPlatformSNES: public DivDispatch { DivMacroInt* getChanMacroInt(int ch); unsigned short getPan(int chan); DivChannelPair getPaired(int chan); + DivChannelModeHints getModeHints(int chan); DivSamplePos getSamplePos(int ch); DivDispatchOscBuffer* getOscBuffer(int chan); unsigned char* getRegisterPool(); diff --git a/src/gui/gui.h b/src/gui/gui.h index 1bca9f066..7a17624db 100644 --- a/src/gui/gui.h +++ b/src/gui/gui.h @@ -321,7 +321,15 @@ enum FurnaceGUIColors { GUI_COLOR_PATTERN_STATUS_MISC1, GUI_COLOR_PATTERN_STATUS_MISC2, GUI_COLOR_PATTERN_STATUS_MISC3, - + GUI_COLOR_PATTERN_STATUS_ATTACK, + GUI_COLOR_PATTERN_STATUS_DECAY, + GUI_COLOR_PATTERN_STATUS_SUSTAIN, + GUI_COLOR_PATTERN_STATUS_RELEASE, + GUI_COLOR_PATTERN_STATUS_DEC_LINEAR, + GUI_COLOR_PATTERN_STATUS_DEC_EXP, + GUI_COLOR_PATTERN_STATUS_INC, + GUI_COLOR_PATTERN_STATUS_BENT, + GUI_COLOR_PATTERN_STATUS_DIRECT, GUI_COLOR_PATTERN_PAIR, GUI_COLOR_SAMPLE_BG, diff --git a/src/gui/guiConst.cpp b/src/gui/guiConst.cpp index fdfc323ed..55a638d6c 100644 --- a/src/gui/guiConst.cpp +++ b/src/gui/guiConst.cpp @@ -1004,6 +1004,15 @@ const FurnaceGUIColorDef guiColors[GUI_COLOR_MAX]={ D(GUI_COLOR_PATTERN_STATUS_MISC1,"",ImVec4(1.0f,0.5f,0.0f,1.0f)), D(GUI_COLOR_PATTERN_STATUS_MISC2,"",ImVec4(0.7f,0.5f,1.0f,1.0f)), D(GUI_COLOR_PATTERN_STATUS_MISC3,"",ImVec4(1.0f,0.1f,0.1f,1.0f)), + D(GUI_COLOR_PATTERN_STATUS_ATTACK,"",ImVec4(1.0f,0.1f,0.1f,1.0f)), + D(GUI_COLOR_PATTERN_STATUS_DECAY,"",ImVec4(1.0f,0.1f,1.0f,1.0f)), + D(GUI_COLOR_PATTERN_STATUS_SUSTAIN,"",ImVec4(0.1f,1.0f,1.0f,1.0f)), + D(GUI_COLOR_PATTERN_STATUS_RELEASE,"",ImVec4(0.1f,0.2f,1.0f,1.0f)), + D(GUI_COLOR_PATTERN_STATUS_DEC_LINEAR,"",ImVec4(1.0f,1.0f,0.1f,1.0f)), + D(GUI_COLOR_PATTERN_STATUS_DEC_EXP,"",ImVec4(1.0f,0.5f,0.1f,1.0f)), + D(GUI_COLOR_PATTERN_STATUS_INC,"",ImVec4(1.0f,1.0f,0.1f,1.0f)), + D(GUI_COLOR_PATTERN_STATUS_BENT,"",ImVec4(1.0f,0.5f,0.1f,1.0f)), + D(GUI_COLOR_PATTERN_STATUS_DIRECT,"",ImVec4(0.2f,1.0f,0.2f,1.0f)), D(GUI_COLOR_PATTERN_PAIR,"",ImVec4(0.6f,0.8f,1.0f,1.0f)), diff --git a/src/gui/pattern.cpp b/src/gui/pattern.cpp index d3666240e..215949ebb 100644 --- a/src/gui/pattern.cpp +++ b/src/gui/pattern.cpp @@ -1039,14 +1039,44 @@ void FurnaceGUI::drawPattern() { hintColor=uiColors[GUI_COLOR_PATTERN_STATUS_DSP]; break; case 8: - hintColor=uiColors[GUI_COLOR_PATTERN_STATUS_MISC1]; + hintColor=uiColors[GUI_COLOR_PATTERN_STATUS_NOTE]; break; case 9: - hintColor=uiColors[GUI_COLOR_PATTERN_STATUS_MISC2]; + hintColor=uiColors[GUI_COLOR_PATTERN_STATUS_MISC1]; break; case 10: + hintColor=uiColors[GUI_COLOR_PATTERN_STATUS_MISC2]; + break; + case 11: hintColor=uiColors[GUI_COLOR_PATTERN_STATUS_MISC3]; break; + case 12: + hintColor=uiColors[GUI_COLOR_PATTERN_STATUS_ATTACK]; + break; + case 13: + hintColor=uiColors[GUI_COLOR_PATTERN_STATUS_DECAY]; + break; + case 14: + hintColor=uiColors[GUI_COLOR_PATTERN_STATUS_SUSTAIN]; + break; + case 15: + hintColor=uiColors[GUI_COLOR_PATTERN_STATUS_RELEASE]; + break; + case 16: + hintColor=uiColors[GUI_COLOR_PATTERN_STATUS_DEC_LINEAR]; + break; + case 17: + hintColor=uiColors[GUI_COLOR_PATTERN_STATUS_DEC_EXP]; + break; + case 18: + hintColor=uiColors[GUI_COLOR_PATTERN_STATUS_INC]; + break; + case 19: + hintColor=uiColors[GUI_COLOR_PATTERN_STATUS_BENT]; + break; + case 20: + hintColor=uiColors[GUI_COLOR_PATTERN_STATUS_DIRECT]; + break; default: hintColor=uiColors[GUI_COLOR_TEXT]; break; diff --git a/src/gui/settings.cpp b/src/gui/settings.cpp index 7e8a85a5b..d325b4821 100644 --- a/src/gui/settings.cpp +++ b/src/gui/settings.cpp @@ -3381,6 +3381,15 @@ void FurnaceGUI::drawSettings() { UI_COLOR_CONFIG(GUI_COLOR_PATTERN_STATUS_MISC1,"Status: misc color 1"); UI_COLOR_CONFIG(GUI_COLOR_PATTERN_STATUS_MISC2,"Status: misc color 2"); UI_COLOR_CONFIG(GUI_COLOR_PATTERN_STATUS_MISC3,"Status: misc color 3"); + UI_COLOR_CONFIG(GUI_COLOR_PATTERN_STATUS_ATTACK,"Status: attack"); + UI_COLOR_CONFIG(GUI_COLOR_PATTERN_STATUS_DECAY,"Status: decay"); + UI_COLOR_CONFIG(GUI_COLOR_PATTERN_STATUS_SUSTAIN,"Status: sustain"); + UI_COLOR_CONFIG(GUI_COLOR_PATTERN_STATUS_RELEASE,"Status: release"); + UI_COLOR_CONFIG(GUI_COLOR_PATTERN_STATUS_DEC_LINEAR,"Status: decrease linear"); + UI_COLOR_CONFIG(GUI_COLOR_PATTERN_STATUS_DEC_EXP,"Status: decrease exp"); + UI_COLOR_CONFIG(GUI_COLOR_PATTERN_STATUS_INC,"Status: increase"); + UI_COLOR_CONFIG(GUI_COLOR_PATTERN_STATUS_BENT,"Status: bent"); + UI_COLOR_CONFIG(GUI_COLOR_PATTERN_STATUS_DIRECT,"Status: direct"); ImGui::TreePop(); } if (ImGui::TreeNode("Sample Editor")) { From afd5529925f640b90c83811aa478fc0cd2d45777 Mon Sep 17 00:00:00 2001 From: tildearrow Date: Fri, 27 Oct 2023 19:19:39 -0500 Subject: [PATCH 13/99] C64: deprecate 1Exy --- src/engine/sysDef.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/engine/sysDef.cpp b/src/engine/sysDef.cpp index 410a4203b..ed4b74a33 100644 --- a/src/engine/sysDef.cpp +++ b/src/engine/sysDef.cpp @@ -597,7 +597,7 @@ void DivEngine::registerSystems() { {0x1a, {DIV_CMD_C64_RESET_MASK, "1Axx: Disable envelope reset for this channel (1 disables; 0 enables)"}}, {0x1b, {DIV_CMD_C64_FILTER_RESET, "1Bxy: Reset cutoff (x: on new note; y: now)"}}, {0x1c, {DIV_CMD_C64_DUTY_RESET, "1Cxy: Reset pulse width (x: on new note; y: now)"}}, - {0x1e, {DIV_CMD_C64_EXTENDED, "1Exy: Change additional parameters"}}, + {0x1e, {DIV_CMD_C64_EXTENDED, "1Exy: Change other parameters (LEGACY)"}}, {0x20, {DIV_CMD_C64_AD, "20xy: Set attack/decay (x: attack; y: decay)"}}, {0x21, {DIV_CMD_C64_SR, "21xy: Set sustain/release (x: sustain; y: release)"}}, }; From 0f760a365e223ca0b19d07f6ce040912e85ec18a Mon Sep 17 00:00:00 2001 From: LTVA1 <87536432+LTVA1@users.noreply.github.com> Date: Sat, 28 Oct 2023 10:15:41 +0300 Subject: [PATCH 14/99] standlalone cutoff macro (with correct relative mode) --- src/engine/platform/c64.cpp | 13 +++++++++++++ src/gui/insEdit.cpp | 9 +++++++++ 2 files changed, 22 insertions(+) diff --git a/src/engine/platform/c64.cpp b/src/engine/platform/c64.cpp index 11070c26c..55615eecc 100644 --- a/src/engine/platform/c64.cpp +++ b/src/engine/platform/c64.cpp @@ -173,6 +173,19 @@ void DivPlatformC64::tick(bool sysTick) { willUpdateFilter=true; } } + if (chan[i].std.alg.had) { //new cutoff macro! + DivInstrument* ins = parent->getIns(chan[i].ins, DIV_INS_C64); + if (ins->c64.filterIsAbs) { + filtCut = MIN(2047, chan[i].std.alg.val); + } + else { + filtCut += ((signed char)chan[i].std.alg.val) * 7; //new macro should not be executed in inverted way when in relative mode jesus + if (filtCut > 2047) filtCut = 2047; + if (filtCut < 0) filtCut = 0; + } + willUpdateFilter = true; + } + if (NEW_ARP_STRAT) { chan[i].handleArp(); } else if (chan[i].std.arp.had) { diff --git a/src/gui/insEdit.cpp b/src/gui/insEdit.cpp index e93367424..7b2b1e2aa 100644 --- a/src/gui/insEdit.cpp +++ b/src/gui/insEdit.cpp @@ -6437,6 +6437,15 @@ void FurnaceGUI::drawInsEdit() { } if (ex1Max>0) { if (ins->type==DIV_INS_C64) { + int cutoffmin = -64; + int cutoffmax = 64; + + if (ins->c64.filterIsAbs) { + ins->std.algMacro.vZoom = -1; + cutoffmin = 0; + cutoffmax = 2047; + } + macroList.push_back(FurnaceGUIMacroDesc("Filter Cutoff", &ins->std.algMacro, cutoffmin, cutoffmax, 160, uiColors[GUI_COLOR_MACRO_OTHER])); macroList.push_back(FurnaceGUIMacroDesc("Filter Mode",&ins->std.ex1Macro,0,ex1Max,64,uiColors[GUI_COLOR_MACRO_OTHER],false,NULL,NULL,true,filtModeBits)); } else if (ins->type==DIV_INS_SAA1099) { macroList.push_back(FurnaceGUIMacroDesc("Envelope",&ins->std.ex1Macro,0,ex1Max,160,uiColors[GUI_COLOR_MACRO_OTHER],false,NULL,NULL,true,saaEnvBits)); From 1a448649b616ad8980bda976909b63483504dd5c Mon Sep 17 00:00:00 2001 From: tildearrow Date: Sat, 28 Oct 2023 02:39:44 -0500 Subject: [PATCH 15/99] GUI: channel status, part 5 now with custom icons colors stolen from GEP --- res/icons.sfd | 473 ++++++++++++++++++++++--- res/icons.ttf | Bin 29112 -> 30848 bytes src/engine/platform/snes.cpp | 20 +- src/gui/font_furicon.cpp | 670 ++++++++++++++++++----------------- src/gui/furIcons.h | 13 +- src/gui/guiConst.cpp | 14 +- 6 files changed, 803 insertions(+), 387 deletions(-) diff --git a/res/icons.sfd b/res/icons.sfd index 5d33304de..49866fbb7 100644 --- a/res/icons.sfd +++ b/res/icons.sfd @@ -21,7 +21,7 @@ OS2Version: 0 OS2_WeightWidthSlopeOnly: 0 OS2_UseTypoMetrics: 0 CreationTime: 1691897631 -ModificationTime: 1697616170 +ModificationTime: 1698475675 PfmFamily: 81 TTFWeight: 400 TTFWidth: 5 @@ -53,7 +53,7 @@ FitToEm: 0 WinInfo: 57552 16 10 BeginPrivate: 0 EndPrivate -BeginChars: 65536 75 +BeginChars: 65536 84 StartChar: space Encoding: 32 32 0 @@ -5717,49 +5717,49 @@ SplineSet 635 935 l 5 203 935 l 5 203 1027 l 5 -118 675 m 29 - 118 578 l 29 - 955.375 578 l 5 - 1029.47460938 364.203125 l 5 - 1080.17480469 426.109375 l 5 - 1142.57519531 257.4921875 l 5 - 1191.32519531 371.125976562 l 5 - 1238.125 165.8515625 l 5 - 1300.52539062 393.122070312 l 5 - 1359.02539062 132.860351562 l 5 - 1417.52539062 217.170898438 l 5 - 1472.125 77.8740234375 l 5 - 1497.47460938 184.1796875 l 5 - 1546.22460938 -39.423828125 l 5 - 1561.82519531 106.947265625 l 5 - 1616.42480469 -193.381835938 l 5 - 1671.27539062 67.0830078125 l 5 - 1710.02539062 557.821289062 l 5 - 1710.02539062 695.178710938 l 5 - 1671.27539062 1185.91699219 l 5 - 1616.42480469 1446.38183594 l 5 - 1561.82519531 1109.14160156 l 5 - 1546.22460938 1292.42382812 l 5 - 1497.47460938 1068.8203125 l 5 - 1472.125 1175.12597656 l 5 - 1417.52539062 1035.82910156 l 5 - 1359.02539062 1120.13964844 l 5 - 1300.52539062 859.877929688 l 5 - 1238.125 1087.1484375 l 5 - 1191.32519531 881.874023438 l 5 - 1142.57519531 995.5078125 l 5 - 1080.17480469 826.890625 l 5 - 1029.47460938 888.796875 l 5 - 955.375 675 l 5 - 118 675 l 29 -805 318 m 5 - 373 318 l 5 - 373 478 l 5 - 83 272 l 5 - 373 66 l 5 - 373 226 l 5 - 805 226 l 5 - 805 318 l 5 +118 675 m 25 + 118 578 l 25 + 955.375 578 l 1 + 1029.47460938 364.203125 l 1 + 1080.17480469 426.109375 l 1 + 1142.57519531 257.4921875 l 1 + 1191.32519531 371.125976562 l 1 + 1238.125 165.8515625 l 1 + 1300.52539062 393.122070312 l 1 + 1359.02539062 132.860351562 l 1 + 1417.52539062 217.170898438 l 1 + 1472.125 77.8740234375 l 1 + 1497.47460938 184.1796875 l 1 + 1546.22460938 -39.423828125 l 1 + 1561.82519531 106.947265625 l 1 + 1616.42480469 -193.381835938 l 1 + 1671.27539062 67.0830078125 l 1 + 1710.02539062 557.821289062 l 1 + 1710.02539062 695.178710938 l 1 + 1671.27539062 1185.91699219 l 1 + 1616.42480469 1446.38183594 l 1 + 1561.82519531 1109.14160156 l 1 + 1546.22460938 1292.42382812 l 1 + 1497.47460938 1068.8203125 l 1 + 1472.125 1175.12597656 l 1 + 1417.52539062 1035.82910156 l 1 + 1359.02539062 1120.13964844 l 1 + 1300.52539062 859.877929688 l 1 + 1238.125 1087.1484375 l 1 + 1191.32519531 881.874023438 l 1 + 1142.57519531 995.5078125 l 1 + 1080.17480469 826.890625 l 1 + 1029.47460938 888.796875 l 1 + 955.375 675 l 1 + 118 675 l 25 +805 318 m 1 + 373 318 l 1 + 373 478 l 1 + 83 272 l 1 + 373 66 l 1 + 373 226 l 1 + 805 226 l 1 + 805 318 l 1 EndSplineSet EndChar @@ -6028,7 +6028,7 @@ EndChar StartChar: uniE144 Encoding: 57668 57668 74 Width: 1792 -Flags: HWO +Flags: HW LayerCount: 2 Fore SplineSet @@ -6056,5 +6056,386 @@ SplineSet 1551.17675781 680.580078125 1569.90136719 713.986328125 1612.40039062 713.986328125 c 0 EndSplineSet EndChar + +StartChar: uniE145 +Encoding: 57669 57669 75 +Width: 1792 +Flags: HW +LayerCount: 2 +Fore +SplineSet +522.990195527 -133 m 4 + 522.990195527 -160.625937316 500.62567195 -182.990195527 473 -182.990195527 c 6 + 120 -182.990195527 l 6 + 92.3740626842 -182.990195527 70.009804473 -160.62567195 70.009804473 -133 c 4 + 70.009804473 -105.374062684 92.3743280499 -83.009804473 120 -83.009804473 c 6 + 473 -83.009804473 l 6 + 500.625937316 -83.009804473 522.990195527 -105.37432805 522.990195527 -133 c 4 +120 10.009804473 m 4 + 92.3740626842 10.009804473 70.009804473 32.3743280499 70.009804473 60 c 4 + 70.009804473 64.8134431008 70.699727686 69.6268862016 72.079574112 74.2784931335 c 6 + 425.079574112 1264.27849313 l 6 + 431.263927162 1285.12659548 450.525009059 1299.99019553 473 1299.99019553 c 4 + 479.835355796 1299.99019553 499.699888713 1298.26011808 513.435208596 1279.42115066 c 6 + 899.438504977 749.990195527 l 5 + 1295 749.990195527 l 6 + 1301.13102947 749.990195527 1323.80711626 748.43031074 1337.51061627 726.339026088 c 6 + 1734.51061627 86.3390260882 l 6 + 1739.49700244 78.300519415 1741.99019553 69.1502597075 1741.99019553 60 c 4 + 1741.99019553 32.3740626842 1719.62567195 10.009804473 1692 10.009804473 c 4 + 1685.86897053 10.009804473 1663.19288374 11.5696892605 1649.48938373 33.6609739118 c 6 + 1267.16049977 650.009804473 l 5 + 874 650.009804473 l 6 + 867.164644204 650.009804473 847.300111287 651.739881916 833.564791404 670.578849337 c 6 + 492.17532648 1138.81876382 l 5 + 167.920425888 45.7215068665 l 6 + 161.736072838 24.8734045156 142.474990941 10.009804473 120 10.009804473 c 4 +291 1363.99509776 m 4 + 304.812968658 1363.99509776 315.995097764 1352.81283598 315.995097764 1339 c 4 + 315.995097764 1336.72748524 302.589006251 1222.55285612 289.855072456 1113.33612268 c 4 + 289.58961524 1110.82609608 288.953231482 1108.42736209 288.001699464 1106.19569974 c 4 + 285.999860964 1101.49353775 282.607669759 1097.55307198 278.356613679 1094.86460664 c 4 + 274.495333198 1092.4207025 269.916875116 1091.00599258 265.005682215 1091.00490287 c 6 + 265 1091.00490224 l 6 + 261.605274126 1091.00490224 258.210548251 1091.69122514 255.042904102 1093.06387093 c 6 + 45.042904102 1184.06387093 l 6 + 36.1517873883 1187.91668818 30.0049022365 1196.77638349 30.0049022365 1207 c 4 + 30.0049022365 1220.81296866 41.187164025 1231.99509776 55 1231.99509776 c 4 + 58.3947258743 1231.99509776 61.7894517486 1231.30877486 64.957095898 1229.93612907 c 6 + 204.490746756 1169.47154703 l 5 + 41.4497078318 1446.31845966 l 6 + 39.1531707682 1450.21802507 38.0049022365 1454.60901253 38.0049022365 1459 c 4 + 38.0049022365 1472.81296866 49.187164025 1483.99509776 63 1483.99509776 c 4 + 65.9338592397 1483.99509776 77.7382982208 1483.24844096 84.5502921682 1471.68154034 c 6 + 248.788761019 1192.80136799 l 5 + 266.174214397 1341.91506427 l 6 + 267.637145507 1354.46251187 278.267491735 1363.99509776 291 1363.99509776 c 4 +EndSplineSet +EndChar + +StartChar: uniE146 +Encoding: 57670 57670 76 +Width: 1792 +Flags: HW +LayerCount: 2 +Fore +SplineSet +923.990195527 -133 m 0 + 923.990195527 -160.625937316 901.62567195 -182.990195527 874 -182.990195527 c 2 + 473 -182.990195527 l 2 + 445.374062684 -182.990195527 423.009804473 -160.62567195 423.009804473 -133 c 0 + 423.009804473 -105.374062684 445.37432805 -83.009804473 473 -83.009804473 c 2 + 874 -83.009804473 l 2 + 901.625937316 -83.009804473 923.990195527 -105.37432805 923.990195527 -133 c 0 +120 10.009804473 m 0 + 92.3740626842 10.009804473 70.009804473 32.3743280499 70.009804473 60 c 0 + 70.009804473 64.8134431008 70.699727686 69.6268862016 72.079574112 74.2784931335 c 2 + 425.079574112 1264.27849313 l 2 + 431.263927162 1285.12659548 450.525009059 1299.99019553 473 1299.99019553 c 0 + 479.835355796 1299.99019553 499.699888713 1298.26011808 513.435208596 1279.42115066 c 2 + 899.438504977 749.990195527 l 1 + 1295 749.990195527 l 2 + 1301.13102947 749.990195527 1323.80711626 748.43031074 1337.51061627 726.339026088 c 2 + 1734.51061627 86.3390260882 l 2 + 1739.49700244 78.300519415 1741.99019553 69.1502597075 1741.99019553 60 c 0 + 1741.99019553 32.3740626842 1719.62567195 10.009804473 1692 10.009804473 c 0 + 1685.86897053 10.009804473 1663.19288374 11.5696892605 1649.48938373 33.6609739118 c 2 + 1267.16049977 650.009804473 l 1 + 874 650.009804473 l 2 + 867.164644204 650.009804473 847.300111287 651.739881916 833.564791404 670.578849337 c 2 + 492.17532648 1138.81876382 l 1 + 167.920425888 45.7215068665 l 2 + 161.736072838 24.8734045156 142.474990941 10.009804473 120 10.009804473 c 0 +987 1293.13572276 m 0 + 1000.81296866 1293.13572276 1011.99509776 1281.95346098 1011.99509776 1268.140625 c 0 + 1011.99509776 1263.69241786 1010.81670769 1259.24421072 1008.45992755 1255.30688847 c 2 + 935.698971275 1133.74980006 l 1 + 1236.81087137 1237.76397869 l 2 + 1239.45825701 1238.67847474 1242.22912851 1239.13572276 1245 1239.13572276 c 0 + 1258.81296866 1239.13572276 1269.99509776 1227.95346098 1269.99509776 1214.140625 c 0 + 1269.99509776 1203.27422071 1263.04780398 1193.92278939 1253.18912863 1190.51727131 c 2 + 939.748292604 1082.24426351 l 1 + 1077.25037188 1004.93905019 l 2 + 1079.69668307 1003.56370656 1089.99509776 996.953556381 1089.99509776 983.140625 c 0 + 1089.99509776 969.327656342 1078.81283598 958.145527236 1065 958.145527236 c 0 + 1060.77011153 958.145527236 1056.54022306 959.211084762 1052.74962812 961.342199814 c 2 + 866.749628119 1065.91348888 l 2 + 866.618722401 1065.98708554 866.465332358 1066.07567196 866.292238034 1066.17954775 c 0 + 863.033869485 1068.10546545 860.2515148 1070.74998574 858.162663277 1073.89560304 c 0 + 855.849429066 1077.31041594 854.004904086 1081.86612897 854.004902236 1087.71191406 c 0 + 854.004902236 1090.53137826 854.472612732 1093.24885041 855.337535819 1095.7869306 c 0 + 855.896115778 1097.42970853 856.630294239 1099.02574468 857.540072447 1100.54565059 c 2 + 965.540072447 1280.97436153 l 2 + 967.067066953 1283.52541385 973.701841651 1293.13572276 987 1293.13572276 c 0 +EndSplineSet +EndChar + +StartChar: uniE147 +Encoding: 57671 57671 77 +Width: 1792 +Flags: HW +LayerCount: 2 +Fore +SplineSet +1344.99019553 -133 m 0 + 1344.99019553 -160.625937316 1322.62567195 -182.990195527 1295 -182.990195527 c 2 + 874 -182.990195527 l 2 + 846.374062684 -182.990195527 824.009804473 -160.62567195 824.009804473 -133 c 0 + 824.009804473 -105.374062684 846.37432805 -83.009804473 874 -83.009804473 c 2 + 1295 -83.009804473 l 2 + 1322.62593732 -83.009804473 1344.99019553 -105.37432805 1344.99019553 -133 c 0 +120 10.009804473 m 0 + 92.3740626842 10.009804473 70.009804473 32.3743280499 70.009804473 60 c 0 + 70.009804473 64.8134431008 70.699727686 69.6268862016 72.079574112 74.2784931335 c 2 + 425.079574112 1264.27849313 l 2 + 431.263927162 1285.12659548 450.525009059 1299.99019553 473 1299.99019553 c 0 + 479.835355796 1299.99019553 499.699888713 1298.26011808 513.435208596 1279.42115066 c 2 + 899.438504977 749.990195527 l 1 + 1295 749.990195527 l 2 + 1301.13102947 749.990195527 1323.80711626 748.43031074 1337.51061627 726.339026088 c 2 + 1734.51061627 86.3390260882 l 2 + 1739.49700244 78.300519415 1741.99019553 69.1502597075 1741.99019553 60 c 0 + 1741.99019553 32.3740626842 1719.62567195 10.009804473 1692 10.009804473 c 0 + 1685.86897053 10.009804473 1663.19288374 11.5696892605 1649.48938373 33.6609739118 c 2 + 1267.16049977 650.009804473 l 1 + 874 650.009804473 l 2 + 867.164644204 650.009804473 847.300111287 651.739881916 833.564791404 670.578849337 c 2 + 492.17532648 1138.81876382 l 1 + 167.920425888 45.7215068665 l 2 + 161.736072838 24.8734045156 142.474990941 10.009804473 120 10.009804473 c 0 +1084.00495181 1430.66194045 m 2 + 1084.00495181 1444.57909512 1095.22502858 1455.70701183 1109 1455.70701183 c 0 + 1122.79340754 1455.70701183 1133.96768049 1444.55520556 1133.99504819 1430.76188767 c 2 + 1134.84372708 1003.00652189 l 1 + 1191.01019316 1078.20250251 1280.58910304 1196.65635616 1282.32233047 1198.38958359 c 0 + 1287.20061596 1203.26786908 1293.60030798 1205.70701183 1300 1205.70701183 c 0 + 1313.81296866 1205.70701183 1324.99509776 1194.52475004 1324.99509776 1180.71191406 c 0 + 1324.99509776 1175.39825496 1323.31356069 1170.08459585 1319.95048655 1165.64179831 c 2 + 1319.95048655 1165.64179831 1169.74933909 967.202659181 1136.79718212 921.589936639 c 1 + 1136.79718212 921.589936639 1134.99509776 926.711914062 1134.99509776 926.711914062 c 0 + 1134.99509776 914.405239676 1126.88992674 905.533770837 1116.96812187 902.69947513 c 0 + 1114.75667886 902.059674388 1112.41866713 901.716818782 1110 901.716816299 c 0 + 1109.21533751 901.716816299 1108.43915082 901.752904718 1107.67300982 901.823514982 c 0 + 1102.42285625 902.229856341 1097.16630151 904.09245251 1092.05299755 909.205756573 c 0 + 1083.69666264 917.562091485 1049.14355642 964.844828621 1007.26491083 1021.09775066 c 0 + 955.99749067 1089.96201665 899.880227391 1165.86808633 899.880227391 1165.86808633 c 2 + 896.630010621 1170.26443217 895.004902236 1175.48817312 895.004902236 1180.71191406 c 0 + 895.004902236 1194.52488272 906.187164025 1205.70701183 920 1205.70701183 c 0 + 923.445371477 1205.70701183 933.259523451 1204.83513145 940.119772609 1195.5557418 c 2 + 940.119772609 1195.5557418 1029.57692545 1075.08662563 1084.85734273 1001.0569193 c 1 + 1084.00495181 1430.66194045 l 2 +EndSplineSet +EndChar + +StartChar: uniE148 +Encoding: 57672 57672 78 +Width: 1792 +Flags: HW +LayerCount: 2 +Fore +SplineSet +1741.99019553 -133 m 0 + 1741.99019553 -160.625937316 1719.62567195 -182.990195527 1692 -182.990195527 c 2 + 1295 -182.990195527 l 2 + 1267.37406268 -182.990195527 1245.00980447 -160.62567195 1245.00980447 -133 c 0 + 1245.00980447 -105.374062684 1267.37432805 -83.009804473 1295 -83.009804473 c 2 + 1692 -83.009804473 l 2 + 1719.62593732 -83.009804473 1741.99019553 -105.37432805 1741.99019553 -133 c 0 +120 10.009804473 m 0 + 92.3740626842 10.009804473 70.009804473 32.3743280499 70.009804473 60 c 0 + 70.009804473 64.8134431008 70.699727686 69.6268862016 72.079574112 74.2784931335 c 2 + 425.079574112 1264.27849313 l 2 + 431.263927162 1285.12659548 450.525009059 1299.99019553 473 1299.99019553 c 0 + 479.835355796 1299.99019553 499.699888713 1298.26011808 513.435208596 1279.42115066 c 2 + 899.438504977 749.990195527 l 1 + 1295 749.990195527 l 2 + 1301.13102947 749.990195527 1323.80711626 748.43031074 1337.51061627 726.339026088 c 2 + 1734.51061627 86.3390260882 l 2 + 1739.49700244 78.300519415 1741.99019553 69.1502597075 1741.99019553 60 c 0 + 1741.99019553 32.3740626842 1719.62567195 10.009804473 1692 10.009804473 c 0 + 1685.86897053 10.009804473 1663.19288374 11.5696892605 1649.48938373 33.6609739118 c 2 + 1267.16049977 650.009804473 l 1 + 874 650.009804473 l 2 + 867.164644204 650.009804473 847.300111287 651.739881916 833.564791404 670.578849337 c 2 + 492.17532648 1138.81876382 l 1 + 167.920425888 45.7215068665 l 2 + 161.736072838 24.8734045156 142.474990941 10.009804473 120 10.009804473 c 0 +1647.27476051 1191.59987793 m 0 + 1650.59441446 1201.62267929 1660.02764304 1208.70701183 1671 1208.70701183 c 0 + 1684.81296866 1208.70701183 1695.99509776 1197.52475004 1695.99509776 1183.71191406 c 0 + 1695.99509776 1181.04593052 1695.57181167 1178.37994697 1694.72523949 1175.8239502 c 0 + 1653.66887383 1051.86530771 1594.4265485 873.585135594 1560.31492304 774.14523513 c 1 + 1723.338566 880.654015196 l 2 + 1727.47427684 883.356012949 1732.23713842 884.707011826 1737 884.707011826 c 0 + 1750.81296866 884.707011826 1761.99509776 873.524750038 1761.99509776 859.711914062 c 0 + 1761.99509776 851.02772187 1757.55561844 843.274013429 1750.661434 838.769812929 c 2 + 1526.70849225 692.453890982 l 2 + 1523.19152841 689.855872872 1518.3636137 687.716816299 1512 687.716816299 c 0 + 1507.04339917 687.716816299 1502.42555525 689.15668701 1498.5415823 691.64129618 c 0 + 1494.3486555 694.321072629 1491.00027694 698.22285387 1489.01330483 702.872514023 c 0 + 1488.81598153 703.3333405 1488.63210474 703.801314398 1488.4621627 704.275941682 c 2 + 1389.5442774 973.052821943 l 2 + 1388.51802729 975.841319716 1388.00490224 978.776616889 1388.00490224 981.711914062 c 0 + 1388.00490224 995.52488272 1399.18716402 1006.70701183 1413 1006.70701183 c 0 + 1423.6987823 1006.70701183 1432.92175444 999.973404506 1436.4557226 990.371006182 c 2 + 1511.5898978 786.218550321 l 1 + 1532.32115736 846.743221881 1572.08799988 964.611311617 1647.27476051 1191.59987793 c 0 +EndSplineSet +EndChar + +StartChar: uniE149 +Encoding: 57673 57673 79 +Width: 1792 +Flags: H +LayerCount: 2 +Fore +SplineSet +1484 1461.6171875 m 5 + 1484 1103.6171875 l 5 + 1667 1173.6171875 l 5 + 1441 884.6171875 l 5 + 1215 1173.6171875 l 5 + 1398 1103.6171875 l 5 + 1398 1461.6171875 l 5 + 1484 1461.6171875 l 5 +1666.98529329 -56.2001953125 m 0 + 1666.98529329 -97.6391012863 1633.43850793 -131.185488603 1592 -131.185488603 c 0 + 1572.80092394 -131.185488603 1553.60184788 -123.868060369 1538.96699141 -109.233203901 c 2 + 146.966991411 1282.7667961 l 2 + 132.332134943 1297.40165257 125.014706709 1316.60072863 125.014706709 1335.79980469 c 0 + 125.014706709 1377.23871066 158.561492075 1410.78509798 200 1410.78509798 c 0 + 219.199076061 1410.78509798 238.398152121 1403.46766974 253.033008589 1388.83281328 c 2 + 1645.03300859 -3.16718672351 l 2 + 1659.66786506 -17.8020431912 1666.98529329 -37.0011192519 1666.98529329 -56.2001953125 c 0 +EndSplineSet +EndChar + +StartChar: uniE14A +Encoding: 57674 57674 80 +Width: 1792 +Flags: HW +LayerCount: 2 +Fore +SplineSet +1484 1461.6171875 m 1 + 1484 1103.6171875 l 1 + 1667 1173.6171875 l 1 + 1441 884.6171875 l 1 + 1215 1173.6171875 l 1 + 1398 1103.6171875 l 1 + 1398 1461.6171875 l 1 + 1484 1461.6171875 l 1 +1666.98529329 -56.2001953125 m 0 + 1666.98529329 -97.6391012863 1633.43850793 -131.185488603 1592 -131.185488603 c 0 + 1591.52523691 -131.185488603 1591.05047382 -131.181014029 1590.57577974 -131.17206488 c 0 + 1204.22474011 -123.888399549 871.515114873 8.26117947017 618.582599933 261.19369441 c 0 + 371.118582643 508.6577117 203.65752734 866.213710135 126.078697051 1323.16817722 c 0 + 125.369370157 1327.34625121 125.014706709 1331.57302795 125.014706709 1335.79980469 c 0 + 125.014706709 1377.23871066 158.561492075 1410.78509798 200 1410.78509798 c 0 + 236.80294028 1410.78509798 267.845706788 1384.21788054 273.921302949 1348.43143216 c 0 + 347.777920162 913.401527306 505.150856207 586.757472492 724.648617111 367.259711588 c 0 + 948.32678825 143.58154045 1240.28993931 25.4291221611 1593.42422026 18.7716742555 c 0 + 1634.28501058 18.0013480719 1666.98529329 -15.3022691437 1666.98529329 -56.2001953125 c 0 +EndSplineSet +EndChar + +StartChar: uniE14B +Encoding: 57675 57675 81 +Width: 1792 +Flags: HW +LayerCount: 2 +Fore +SplineSet +1398 -160.3828125 m 5 + 1398 197.6171875 l 5 + 1215 127.6171875 l 5 + 1441 416.6171875 l 5 + 1667 127.6171875 l 5 + 1484 197.6171875 l 5 + 1484 -160.3828125 l 5 + 1398 -160.3828125 l 5 +200 -131.185488603 m 0 + 158.561094026 -131.185488603 125.014706709 -97.6387032376 125.014706709 -56.2001953125 c 0 + 125.014706709 -37.0011192519 132.332134943 -17.8020431912 146.966991411 -3.16718672351 c 2 + 1538.96699141 1388.83281328 l 2 + 1553.60184788 1403.46766974 1572.80092394 1410.78509798 1592 1410.78509798 c 0 + 1633.43890597 1410.78509798 1666.98529329 1377.23831261 1666.98529329 1335.79980469 c 0 + 1666.98529329 1316.60072863 1659.66786506 1297.40165257 1645.03300859 1282.7667961 c 2 + 253.033008589 -109.233203901 l 2 + 238.398152121 -123.868060369 219.199076061 -131.185488603 200 -131.185488603 c 0 +EndSplineSet +EndChar + +StartChar: uniE14C +Encoding: 57676 57676 82 +Width: 1792 +Flags: HW +LayerCount: 2 +Fore +SplineSet +1398 -160.3828125 m 1 + 1398 197.6171875 l 1 + 1215 127.6171875 l 1 + 1441 416.6171875 l 1 + 1667 127.6171875 l 1 + 1484 197.6171875 l 1 + 1484 -160.3828125 l 1 + 1398 -160.3828125 l 1 +200 -131.185488603 m 0 + 158.561094026 -131.185488603 125.014706709 -97.6387032376 125.014706709 -56.2001953125 c 0 + 125.014706709 -46.3359567044 126.9463412 -36.4717180962 130.809610181 -27.2265159787 c 0 + 180.222951228 91.0247182868 222.892032868 202.02925922 262.91073691 306.157577084 c 0 + 385.479688717 625.080917548 482.300015367 877.006560584 669.496680182 1064.2032254 c 0 + 860.176064791 1254.88261001 1135.57605261 1366.88874873 1584.71163148 1410.43269233 c 0 + 1587.13489866 1410.66762943 1589.56744933 1410.78509798 1592 1410.78509798 c 0 + 1633.43890597 1410.78509798 1666.98529329 1377.23831261 1666.98529329 1335.79980469 c 0 + 1666.98529329 1297.0734414 1637.60142618 1264.88138924 1599.28836852 1261.16691704 c 0 + 983.643746929 1201.47982935 759.100861728 1016.28364015 593.588205401 701.489986386 c 0 + 527.530145003 575.852112797 469.624761613 425.83922682 402.895181451 252.209442936 c 0 + 362.875526167 148.078649948 319.626145727 35.5241040949 269.190389819 -85.1738746463 c 0 + 257.838987207 -112.338954786 231.005903287 -131.185488603 200 -131.185488603 c 0 +EndSplineSet +EndChar + +StartChar: uniE14D +Encoding: 57677 57677 83 +Width: 1792 +Flags: HW +LayerCount: 2 +Fore +SplineSet +1195.09712219 749.990195527 m 1 + 1295 749.990195527 l 2 + 1301.13102947 749.990195527 1323.80711626 748.43031074 1337.51061627 726.339026088 c 2 + 1734.51061627 86.3390260882 l 2 + 1739.49700244 78.300519415 1741.99019553 69.1502597075 1741.99019553 60 c 0 + 1741.99019553 32.3740626842 1719.62567195 10.009804473 1692 10.009804473 c 0 + 1685.86897053 10.009804473 1663.19288374 11.5696892605 1649.48938373 33.6609739118 c 2 + 1267.16049977 650.009804473 l 1 + 1131.95161768 650.009804473 l 1 + 1195.09712219 749.990195527 l 1 +1131.95161768 650.009804473 m 1025 +731.259986684 810.89716005 m 1 + 492.17532648 1138.81876382 l 1 + 167.920425888 45.7215068665 l 2 + 161.736072838 24.8734045156 142.474990941 10.009804473 120 10.009804473 c 0 + 92.3740626842 10.009804473 70.009804473 32.3743280499 70.009804473 60 c 0 + 70.009804473 64.8134431008 70.699727686 69.6268862016 72.079574112 74.2784931335 c 2 + 425.079574112 1264.27849313 l 2 + 431.263927162 1285.12659548 450.525009059 1299.99019553 473 1299.99019553 c 0 + 479.835355796 1299.99019553 499.699888713 1298.26011808 513.435208596 1279.42115066 c 2 + 790.499437572 899.407869025 l 1 + 731.259986684 810.89716005 l 1 +1350.99804688 1459.29681673 m 0 + 1392.43695285 1459.29681673 1425.98334017 1425.75003136 1425.98334017 1384.31152344 c 0 + 1425.98334017 1370.32875638 1422.10197898 1356.34598932 1414.3392566 1344.1264358 c 2 + 463.339256601 -152.873564196 l 2 + 458.314262729 -160.783570323 438.406450284 -187.673769853 399.998046875 -187.673769853 c 0 + 358.559140901 -187.673769853 325.012753584 -154.126984488 325.012753584 -112.688476563 c 0 + 325.012753584 -98.7057095056 328.894114773 -84.7229424487 336.656837149 -72.5033889291 c 2 + 1287.65683715 1424.49661107 l 2 + 1292.68183102 1432.4066172 1312.58964347 1459.29681673 1350.99804688 1459.29681673 c 0 +EndSplineSet +EndChar EndChars EndSplineFont diff --git a/res/icons.ttf b/res/icons.ttf index aa4b28057a43e807dda7207ddd9a028e7d3ff421..3a749c81a193c8bd51c2be64cb9a78523ab77a4c 100644 GIT binary patch delta 2153 zcmb7_e{2(F7{{OI?%uoYw)NJo*TJ@~+d5X+O2)SCiX!9JsDrQ{Yy%=lX4!xtE2}WD zi;~XGpdyPv#Y93xM2Mh4%wYHf68|t@;)2E)6^sJYn2;Dzqece1`P{V(FwsEX-uv`< z@9w$#Jn!>-@4X+e=QoT30)Pd2fQLr|f#%xRPn`J{Aks#wIS*CO3xEoC@@ovgzNxf) z`$*%{0N76clGac#{8`_phXJ?9 zNNM;*09FVP`lNkTFxpl)c4&-F{!E9~PAkd1BBNk*0Ti}}x*{cgYAg94kw4hc*&4i{ z{Z&q}yU0Hl3P!@PpQn4#c)`5&!O*IsTR$EG*kG((33qPnl4l=00nqgg0N-xH5^!$M zg4!14!9O9zCeeKWmqy3-8TRtZmh4zM&cLOyI$VLZvA6O4xw#N9#}fN`ZkWga&0(?a_i3UeD@6sQaYhy2Q?^^4i9vWZ~G(ryk475djidB`1`FP>vVkOC!8N8EPNonKJo(<<`IClwS``utdh z73G#h|Kh zQ=J?JS(bI8g1xvsM~Py;Y)N{< zik5J((^>3X;Z!9_IFxQzN3Tv8?Mbz$&Iw$*ieFy;Fx}1;C^BB=1xXONVRxF?JJlQ4 z{*66O9leFkH_D1ogHr@SR;>Ej=hGBfVjm#m1w^hxx*Krbk|K%S?Py7{u~4m~$O^xf zXJQg1f<88B z&Hu@6phx3d&JQS*(S9+>uCSN$Ih(=qll<|23L4E&wP56HG z+S&hwC-x}SJNrqr$qKgIcR->dO}Qi`QD%8u$tki`Tv&V;?82*7MHU2oxNDt2jUvSa zL68vB1V*Jaw1vny*fRE%*vAGz1RDvL)t`cyRSk(o>TNc3a(MV8rg^IzBRd>4 zvoIUf_XPBdm>^#+32wr zl4ALh%F-?&+iZYb&%W(_U&GY_%-1gl^gT|K%-}OHqH&U&0ZZw_5f2!bKFwbx`nAGD ztCP$L7EYp{C|MGZ8M)!|ie*g&?wQ52rp@>4!a-cf3oft6Ij9eReqe*o6(}ufsz@rj z;}u+rW%Jj|9)4v>^vT65JiFe^qhvTsc-!1Zw(f45zAw^wKB7)E`cVB*-RCQc&^=G)LUYEl*;&B^>op%p(ca$QQ#}0?4(tIKG z4t?CVt>0_Ig;BzTPz3`6V+N2PmYkbdaQxl{djj}%H36kQFfgR|WTYn6r>K1D>;p=^0b;WZpa^FZ8!ON-6(Ci+!QcP$LG;5=$5oRB7;PE- zCi^kQGP+D&!?;r)s1qm!!ZKh3fXab9P`Jr3urM3}(i}j@1f&%ne0k_Hc?HwP&DqRs zjFa #define CHIP_FREQBASE 131072 @@ -721,19 +723,19 @@ DivChannelModeHints DivPlatformSNES::getModeHints(int ch) { if (v->regs[5]&128) { switch (v->env_mode) { case SPC_DSP::env_attack: - ret.hint[0]="A"; + ret.hint[0]=ICON_FUR_ADSR_A; ret.type[0]=12; break; case SPC_DSP::env_decay: - ret.hint[0]="D"; + ret.hint[0]=ICON_FUR_ADSR_D; ret.type[0]=13; break; case SPC_DSP::env_sustain: - ret.hint[0]="S"; + ret.hint[0]=ICON_FUR_ADSR_S; ret.type[0]=14; break; case SPC_DSP::env_release: - ret.hint[0]="R"; + ret.hint[0]=ICON_FUR_ADSR_R; ret.type[0]=15; break; } @@ -741,24 +743,24 @@ DivChannelModeHints DivPlatformSNES::getModeHints(int ch) { if (v->regs[7]&128) { switch (v->regs[7]&0x60) { case 0: - ret.hint[0]="d"; + ret.hint[0]=ICON_FUR_DEC_LINEAR; ret.type[0]=16; break; case 32: - ret.hint[0]="X"; + ret.hint[0]=ICON_FUR_DEC_EXP; ret.type[0]=17; break; case 64: - ret.hint[0]="I"; + ret.hint[0]=ICON_FUR_INC_LINEAR; ret.type[0]=18; break; case 96: - ret.hint[0]="B"; + ret.hint[0]=ICON_FUR_INC_BENT; ret.type[0]=19; break; } } else { - ret.hint[0]="V"; + ret.hint[0]=ICON_FUR_VOL_DIRECT; ret.type[0]=20; } } diff --git a/src/gui/font_furicon.cpp b/src/gui/font_furicon.cpp index e22136c60..b8a841ecc 100644 --- a/src/gui/font_furicon.cpp +++ b/src/gui/font_furicon.cpp @@ -1,328 +1,352 @@ #include "fonts.h" -// File: 'icons.ttf' (29112 bytes) +// File: 'icons.ttf' (30848 bytes) // Exported using binary_to_compressed_c.cpp -const unsigned int furIcons_compressed_size = 15318; -const unsigned int furIcons_compressed_data[15320/4] = +const unsigned int furIcons_compressed_size = 16494; +const unsigned int furIcons_compressed_data[16496/4] = { - 0x0000bc57, 0x00000000, 0xb8710000, 0x00000400, 0x00010037, 0x000e0000, 0x00030080, 0x54464660, 0xa9a8a24d, 0x7100006a, 0x2815829c, 0x4544471c, - 0x00150046, 0x200f8214, 0x2b0f8380, 0x322f534f, 0x7852fa8c, 0x68010000, 0x562c0f82, 0x70616d63, 0x3fd0dec7, 0x64020000, 0xe62c1382, 0x20747663, - 0x6f043b00, 0x4c040000, 0x04261f82, 0x70736167, 0x5982ffff, 0x82710021, 0x08002933, 0x66796c67, 0x82a68389, 0xf02c1f82, 0x8c670000, 0x64616568, - 0x8e89f224, 0xec202b82, 0x36210382, 0x23108268, 0x05068209, 0x24204b82, 0x24280f82, 0x78746d68, 0xdd13df29, 0xc0200f82, 0xa4280f82, 0x61636f6c, - 0xb4e91903, 0x50203f82, 0x9e270f82, 0x7078616d, 0x82039800, 0x4801213b, 0x202c0f82, 0x656d616e, 0xccc485ad, 0x7c6c0000, 0xe9263382, 0x74736f70, - 0xaf83e3e7, 0xaf826e20, 0x840e0321, 0x820120eb, 0x36a92979, 0x3c0f5f27, 0x070b00f5, 0x00253682, 0xfffde000, 0x2b08839f, 0xaa4155e1, 0x68fe80fc, - 0xe0050007, 0x08220f82, 0x05820200, 0x33820283, 0xff000622, 0x07290982, 0x0080fc00, 0x00000700, 0x8b0c8201, 0x84042002, 0x034e2511, 0x000800bb, - 0x02210083, 0x83238300, 0x00402225, 0x820b822e, 0x00072b0d, 0x05009001, 0x8c040000, 0x1182e604, 0x0785fa20, 0x005c032b, 0x00cf0159, 0x05000200, - 0x85158209, 0x10012102, 0x05840785, 0x72754629, 0x00400054, 0x8544e120, 0x84062083, 0x8404856a, 0x833b208b, 0x82072026, 0x25038304, 0x090280fc, - 0x0c829100, 0x20005222, 0xa52c7982, 0x4b003500, 0x91002900, 0x78006d01, 0x60349b82, 0x52004700, 0x0a001701, 0x8f004a00, 0x1b003201, 0x2e004f00, - 0xca263182, 0x36011801, 0x1b82a900, 0x33002825, 0x82004d01, 0x38238291, 0x01220003, 0x007a017c, 0x01390039, 0x00ce0127, 0x014c0013, 0x00220073, - 0x240d8247, 0x0085000b, 0x260f82b5, 0x012e005b, 0x845c004b, 0x822a2001, 0x82532005, 0x004b2e03, 0x0053005e, 0x015c00c8, 0x002e0156, 0x208d826b, - 0x20038603, 0x22b7861c, 0x840300e0, 0x001c2409, 0x82c40004, 0x00082e1b, 0x00020008, 0xe0200000, 0xff44e1f4, 0x260984ff, 0xff00e1f0, 0x82e3ffff, - 0x8400200b, 0x0006222b, 0x260b820e, 0x00050004, 0x82070006, 0x8209202f, 0x000b24a1, 0x820d000c, 0x000f2617, 0x00110010, 0x2ca18212, 0x00150014, - 0x00170016, 0x00190018, 0x08df821a, 0x1d001c38, 0x1f001e00, 0x21002000, 0x23002200, 0x25002400, 0x27002600, 0x29002800, 0x2b002a00, 0x2d002c00, - 0x2f002e00, 0x31003000, 0x33003200, 0x35003400, 0x37003600, 0xf5823800, 0x003a2608, 0x003c003b, 0x003e003d, 0x0040003f, 0x00420041, 0x00440043, - 0x00460045, 0x00480047, 0x004a0049, 0x004c004b, 0x209e824d, 0x82a28506, 0x0100229f, 0x21058202, 0x008d0002, 0x82000121, 0x40128df0, 0x3b22d20d, - 0xd5826f04, 0x85002c21, 0x3c920801, 0xc6008400, 0x24056404, 0xd406c405, 0xea075807, 0x3409ce08, 0xb00a7609, 0x880bfe0a, 0x2e0cee0b, 0x6a0de60c, - 0x640ed80d, 0xa40fca0e, 0xbc105a10, 0xc6117e11, 0x0c139212, 0xd8138c13, 0x48159814, 0x12173816, 0x1e1b8017, 0x341cae1b, 0xea1dc01c, 0xbc1f081f, - 0x34218020, 0xfc218a21, 0xc8238622, 0xca272a27, 0x5229b028, 0x0a2ac629, 0xa42bbe2a, 0x162ef42b, 0x682e442e, 0xf02f8e2e, 0x6a300c30, 0x1e31d230, - 0xac315631, 0xec31de31, 0x6433ba32, 0x9d82c633, 0x00022108, 0x0200003b, 0x00aa0415, 0x00070003, 0x0001b12e, 0x07b23c2f, 0x32ed0004, 0xdc0506b1, - 0x0203b23c, 0x00220a82, 0x168303b1, 0x16830520, 0x0607b227, 0xb23cfc01, 0x37178301, 0x11211133, 0x21112125, 0xfeda013b, 0xfe640161, 0xfbaa049c, - 0x34043b56, 0xfc255783, 0x03f5ff80, 0x20098280, 0x2e598201, 0x25210500, 0x0533fd21, 0x07b3f99a, 0x820b0b00, 0x03250815, 0x0f000902, 0xfd03f704, - 0x25001b00, 0x00002f00, 0x32213001, 0x0e141516, 0x07060701, 0x16171615, 0x15011e17, 0x2f0b8214, 0x2123010e, 0x36322137, 0x2634013d, 0x33352123, - 0x4d080985, 0x0a02012b, 0x8e7dbd01, 0x2020311f, 0x25251e1e, 0x132b1f20, 0x5f232214, 0xa217fe38, 0x483f1801, 0xe8fe3f48, 0x42423dfc, 0xfd03fc3d, - 0x4f38778d, 0x030c0d32, 0x0d0d0208, 0x3f581c1c, 0x2735363c, 0x428b2c27, 0x423e313e, 0x2e393e88, 0x8f833e3a, 0x91003008, 0x6f066300, 0x0f00a903, - 0x2b001700, 0x30250000, 0x30213027, 0x36233007, 0x16333712, 0x30011712, 0x30070623, 0x30012633, 0x30270011, 0x85133033, 0x02062f03, 0x02301107, - 0xc7fe4cea, 0xbf2f8a49, 0x0382ab2f, 0x8dfe3408, 0xf73d3c06, 0xfe84023c, 0xcc9b17f7, 0x3794cb04, 0xe3631dce, 0x2e028ce3, 0xd2fd8c8c, 0xb9c9028c, - 0xf0fdb9b9, 0xd4014a01, 0x018bfe28, 0x9afe6175, 0x82b3fe32, 0x03002182, 0xab3a0482, 0x61030007, 0x8c035803, 0x0000ba03, 0x27022637, 0x021d3033, - 0x17041d17, 0x0290031d, 0x11a31491, 0x26f14782, 0x86957191, 0x17011e26, 0x37013e33, 0x86067341, 0x033d220d, 0x20028937, 0x850b8a04, 0x8211a317, - 0x9126f129, 0x2e86a171, 0x07020633, 0x27022623, 0x2327012e, 0x8207010e, 0x22052d0d, 0x013e2726, 0x33011e37, 0x26343532, 0x26291883, 0x34352627, - 0x16323336, 0x2b218217, 0x2223012e, 0x17141506, 0x011e1716, 0x15230285, 0x82250614, 0x2223223b, 0x26288227, 0x37342627, 0x823e3736, 0x2021823c, - 0x352c8407, 0x1614011d, 0x3e373233, 0x23013d02, 0x23113335, 0x185e188e, 0x00cc0168, 0x040e0434, 0x030e040c, 0x7b0e390e, 0x030e390f, 0x030d030f, - 0x61cc040e, 0x18640127, 0x0e7a1962, 0x205c833a, 0x3b5c820c, 0x020f3c0f, 0x276e4bf0, 0x1d0c2f0b, 0x2a77314d, 0x0a240934, 0x702a2b5a, 0x24634865, - 0x3c081382, 0x3731401a, 0x31161637, 0x30092409, 0x13161544, 0x0c430274, 0x34484f09, 0x20212b2c, 0x12121213, 0x3d5f2222, 0x1e38375a, 0x3c461153, - 0x48505048, 0x271a1a1e, 0x5adf7c16, 0xbe0170b7, 0x10b8cd70, 0x47014d00, 0x19681a2d, 0x44196719, 0x44441001, 0x8244f0fe, 0x6819220a, 0x5b01101a, - 0x47414701, 0x70af084d, 0x457042fe, 0x1a451301, 0x67191967, 0xedfe451a, 0x36380b45, 0x290b2a0b, 0x2f2c6d2c, 0x0207020d, 0x512d2c15, 0x3431615c, - 0x250b290a, 0x2a342d24, 0x020c1516, 0x1f0b0208, 0x293f1717, 0x306e6865, 0x2a13133e, 0xb8424229, 0x2a2a4242, 0x47262728, 0x5c393131, 0x5c52a452, - 0x31210908, 0xfe573b1e, 0x0700009e, 0x02ff5200, 0x1a05ae06, 0x24001a00, 0x49003800, 0x78005300, 0x00008000, 0x35262205, 0x023e3734, 0x07063337, - 0x010e0706, 0x013e3307, 0x15163233, 0x32270614, 0x2334013d, 0x14011d22, 0x27022603, 0x17121633, 0x36331716, 0x82123637, 0x0702272a, 0x21112321, - 0x27831732, 0x23130727, 0x2327012e, 0x07794837, 0x22011527, 0x012e2726, 0x222a8234, 0x82333637, 0x06172123, 0x080b5845, 0x1e373698, 0x010e1701, - 0x15011105, 0x35011101, 0x6d6ba201, 0x4f3a0f10, 0x2a3b8a31, 0x251d1e2a, 0x47110c09, 0x6e5f5131, 0x6c6d6d6a, 0x2183211f, 0x1450136b, 0x0e0c0e0e, - 0x144e140e, 0x20832169, 0x01658f01, 0x2b2c5609, 0x71803a39, 0x78175608, 0x2626249b, 0xad029b24, 0x21225d3a, 0x22212323, 0x563b2e2e, 0x0d1f3333, - 0x353e1249, 0x444c4c44, 0x0f124236, 0x69200e38, 0x2801e4fe, 0xd8fe72fe, 0x3c7f84fd, 0x606f3c3d, 0x28292d22, 0x32562829, 0x676a312f, 0x7755776a, - 0x02827719, 0x18035608, 0x6fbf0170, 0x46e7fe46, 0x4e4f4f4e, 0x46190146, 0x7041fe6f, 0x34339e02, 0x11604d60, 0xc913e7fe, 0x2a265536, 0xde262a3e, - 0x2a278efe, 0x84b6842a, 0x14142a2a, 0x074a2525, 0x5f323929, 0x5e53a152, 0x21083b36, 0xb24e4a09, 0x100134fe, 0x0192fe82, 0x82effecd, 0x3f008200, - 0x00200004, 0x03e006ab, 0x000b0061, 0x004a0015, 0x37000074, 0x21301130, 0x06141632, 0x0119012b, 0x2008b749, 0x05ce4601, 0x16171622, 0xd0461282, - 0x012e2806, 0x023e3435, 0x46173233, 0x072c08d1, 0x16141506, 0x011e011f, 0x020e1415, 0x2105cd46, 0x2485022e, 0x46171621, 0x36230cc6, 0x46013e37, - 0xd10806c8, 0x5d200121, 0xb45d6666, 0x2f2e2aad, 0xdd02ad29, 0x0c2a7655, 0x2b230d32, 0x4141362b, 0x270a3b2e, 0x2162620a, 0x4c36563d, 0x0d283738, - 0x4b1a0d32, 0x20203938, 0x643c3734, 0x5a3f205d, 0x0a04dd02, 0x663c4c5e, 0x4d2a294a, 0x7d5a426c, 0x51135923, 0x6161503d, 0x1d1c2050, 0x8a191616, - 0x02b75ff3, 0x6db96d9e, 0x6a01f5fe, 0x292e282b, 0x3db6fd2b, 0x0c2f0b34, 0x3a17162b, 0x0c2e2731, 0x12020702, 0x482c515c, 0x1a1b1b31, 0x0b2d0b32, - 0x18172921, 0x0b292a2c, 0x505d130c, 0x1d374d2f, 0x2d403171, 0x54548257, 0x502e5881, 0x3b2f3447, 0x5d6e5d66, 0x10080966, 0x34202f0f, 0x009bfe5d, - 0x002e0005, 0x03d206ab, 0x00120061, 0x002a001f, 0x00460134, 0x68422500, 0x013e2807, 0x14021e32, 0x4227020e, 0x222a0583, 0x14011d06, 0x21110516, - 0x5e411732, 0x2e052c0f, 0x1d232701, 0x0f1d1707, 0x870e1d17, 0x820b8502, 0x11013305, 0x16331123, 0x011e1712, 0x053d3317, 0x270f3d27, 0x02870e3d, - 0x042d0b88, 0x23113311, 0x33010226, 0x2223603c, 0x3a028223, 0x44607a5f, 0x61442323, 0x4f4f483c, 0x014f4f90, 0x560901df, 0x56572b2c, 0x82259aa3, - 0x029a2600, 0x09220863, 0x0732440c, 0x21756228, 0x23082285, 0x10880d08, 0x85217623, 0x074c42ac, 0x5428282d, 0x5484b684, 0x525d5a27, 0x845d52a2, - 0x024f3304, 0xc134339e, 0x01f1fe67, 0x3d2a2569, 0x15b22629, 0x7f441553, 0x284dae4d, 0x0270fe02, 0xf4fe439e, 0x80884043, 0xfd900126, 0x0c014362, - 0x3a055f43, 0x065400a5, 0x00b8035b, 0x0048002f, 0x005e0054, 0x23302500, 0x2223010e, 0x4435022e, 0x3e43078a, 0x49062008, 0x362106e3, 0x35018237, - 0x3523013d, 0x01231121, 0x15163221, 0x0e070614, 0x1e150701, 0x0b821702, 0x020e0730, 0x33372123, 0x3d363732, 0x26273401, 0x5d4d012b, 0xe541080a, - 0x60740e04, 0x345c804a, 0x43303035, 0x9c715343, 0x124a122b, 0x634d6518, 0x28637979, 0x1b1b2424, 0x01ac1010, 0x0601772f, 0x77697201, 0x3415141b, - 0x353d1a1a, 0x10111311, 0xfe2f4f39, 0x35e98768, 0x0800821e, 0xd2e9356a, 0x33373733, 0x503de2d2, 0x6aa26d38, 0x3738a268, 0x59631c1c, 0x3b0b2b0b, - 0x88757f49, 0x0b0a7f75, 0x1e1d1413, 0xfe754127, 0x76460341, 0x15422f62, 0x07031415, 0x242f1601, 0x2c323525, 0x7525412d, 0x29331c1b, 0x711c1b34, - 0x30273033, 0x00000033, 0x00350005, 0x03cb06ab, 0x001f0061, 0x00530046, 0x00660060, 0x26222500, 0x2c131b44, 0x011e3736, 0x06070617, 0x012e2221, - 0x23218227, 0x013e3736, 0x82050646, 0x32072a14, 0x033e1716, 0x021e3233, 0x10584315, 0x2135a808, 0x37123635, 0x15331133, 0x33251523, 0x010e2311, - 0x96834e01, 0x41694926, 0x5b217658, 0x4d3b4811, 0x3d4d5959, 0x3a0f124c, 0x3c3d210e, 0x5738fc01, 0x2c10113c, 0x29552323, 0x2d2d3990, 0x16172221, - 0x0104020d, 0x30251c0b, 0x35482a20, 0x573e211d, 0x41413b35, 0x02424275, 0x2dc9fea1, 0x5b8e2eb5, 0xdbbefe5b, 0xac8e2307, 0x8154a9b1, 0x4b4d2e58, - 0x6a393032, 0x6a5d665d, 0x2309313f, 0x29294909, 0x30304424, 0x3680493d, 0x291c5336, 0x29282627, 0x01362d2d, 0x1b231501, 0x4d371c0f, 0x3c53332f, - 0x3d3e5821, 0x843e3d0d, 0x4d2f0804, 0x014a5d83, 0x3afe4a2a, 0x01d88355, 0x00ed3b63, 0xff4b0008, 0x05b50608, 0x000c0015, 0x001c0016, 0x005c0028, - 0x00720068, 0x1700009b, 0x44301130, 0x01211235, 0x23ec8311, 0x15211133, 0xa6450187, 0x2d754c06, 0x2406b44c, 0x13331323, 0x2a0b8503, 0x2533010f, - 0x2337013e, 0x8207010e, 0x82138202, 0x1e232702, 0x23111701, 0xaf4c3311, 0x82332005, 0x2902821e, 0xb0231133, 0x2c560901, 0x5644582c, 0xca013007, - 0x0186f466, 0x01e1fe85, 0x01fdfe03, 0x4be7fa1f, 0x25210cdd, 0x07dd4b09, 0x0c2e0c22, 0x0811dd4b, 0x22093830, 0x2309e109, 0x81c96408, 0x0e04f1ca, - 0x0e030d03, 0x02b03b04, 0x010402d0, 0x071f080b, 0x15165716, 0x1f081557, 0x05010b08, 0x12786201, 0x0b821248, 0x03820920, 0x47125408, 0xf8627712, - 0x33349f02, 0xf1fe67c2, 0x29266901, 0xfd25293e, 0xfd9f02bc, 0x9f025abb, 0xcf58c45a, 0x3957035a, 0x0b2b0b35, 0x2c6e2c2a, 0x08020c2f, 0x2c2d1402, - 0x31605d51, 0x0a290a34, 0x342d2524, 0x0b16162a, 0x0a030802, 0x3f171720, 0x0b696429, 0x821f7c1f, 0x33408202, 0x11e00161, 0x41101041, 0x1390d311, - 0x4b13144c, 0x2db62d13, 0x13220282, 0x0b821349, 0x0263fe29, 0x279d279f, 0x82165816, 0x2c088202, 0x000061fd, 0x29000400, 0xd706ab00, 0x05534703, - 0x46003a22, 0x471a5347, 0x1d261140, 0x16171401, 0x04433233, 0x41252007, 0x21080adc, 0x5e200129, 0xb35d6665, 0x2e2e29ad, 0x0f03ad29, 0x49269584, - 0x3b574169, 0x3d0f223b, 0x3b48110f, 0x00822c4e, 0x4c3c4e35, 0x0f3a0e13, 0x013d3c22, 0xfeae012d, 0xfe2301bf, 0x474101dd, 0xb1341005, 0x598154a9, - 0x4b26272d, 0x30082208, 0x5d353539, 0x35355d66, 0x2a07c642, 0x609e020b, 0x60c460ba, 0x51030000, 0x082e825f, 0x02ff6d01, 0x1a059305, 0x55004400, - 0x91826d00, 0xab009e29, 0xe300d500, 0x47250000, 0x232c0558, 0x2e070622, 0x37362701, 0x3637013e, 0x22051b44, 0x52020e07, 0x0621098f, 0x2a018207, - 0x022e2223, 0x17163727, 0x481e1716, 0x352109d6, 0x06644401, 0x023e3737, 0x10163233, 0x3e322706, 0x34013d02, 0x0e22022e, 0x1d060701, 0x05a14f01, - 0x02252582, 0x37363435, 0x05f24835, 0x42823220, 0x2405634a, 0x15011e15, 0x476b8214, 0x13200ce1, 0x200bee47, 0x211e8325, 0x99822307, 0x22230282, - 0x82062726, 0x2223232d, 0x4f822e27, 0xb0833720, 0x4c853320, 0xc9880720, 0x55087382, 0x3e4b0216, 0x30313a3c, 0x300c1743, 0x14130f0c, 0x2b202133, - 0x213a502f, 0x2f240a0a, 0x1a191d1a, 0x22161313, 0x2c2d1f1f, 0x36472f36, 0x0c500f2a, 0x11120e0e, 0x413e1c2e, 0x02473f45, 0x3c5c3e98, 0x0e0f0f0e, - 0x7d3e5c3c, 0x237d7676, 0x0e0e1e31, 0x3145311e, 0x0082071f, 0x100fb308, 0x3bf8fd31, 0x4a1f3d59, 0x1e3e343c, 0x29685337, 0x0f0f3829, 0x4a3d343f, - 0x5a3c1010, 0x42423c3a, 0x3d424279, 0x6f3b3b37, 0x52033a3a, 0x56451616, 0x5b389029, 0x0d2d2122, 0x0a010501, 0x30260e0e, 0x24242a20, 0x11101d35, - 0x36561f1f, 0x3c2c2b38, 0x3bec1011, 0x3b3a4241, 0x35994141, 0x312e0729, 0x2a0a262c, 0x1415160a, 0x17090a1d, 0x2028412d, 0x1928191a, 0x0d060406, - 0x3914150d, 0x1a482c25, 0x140e0e19, 0x3e172c21, 0x0c111114, 0x343a0d0c, 0x5c363407, 0x582f6afe, 0x52534040, 0x2f594041, 0xb6b8feb7, 0x49331c5c, - 0x482c752c, 0x341c1c34, 0x09822424, 0x23252e08, 0x031c1a1a, 0x47341d06, 0x1151432a, 0x3a4e1307, 0x192d4026, 0x202d0c0d, 0x4e3a2620, 0x51110713, - 0x24232a43, 0x38571d34, 0x37321332, 0x27048237, 0x303a0138, 0x302e102e, 0x2a080484, 0x4041491f, 0x291b556b, 0x5a28284e, 0x14010136, 0x0f1b1212, - 0x4c360f0e, 0x2b2a3230, 0x12221e1d, 0x30304413, 0x0e3c3f93, 0x823e3e3c, 0x003f2104, 0x04370082, 0xb7007800, 0x56038806, 0x27000f00, 0x40003700, - 0x30010000, 0x84233011, 0x30352a03, 0x30153021, 0x30353013, 0x830f8a33, 0x8233201b, 0x30212217, 0x54278227, 0x0e3c0c81, 0x2e330701, 0x6cac0101, - 0x53fc01c8, 0x24015b5b, 0x2b025c5c, 0x6f3afb3c, 0x88269926, 0x43080382, 0x1005d7fe, 0x10c61041, 0xfdf50240, 0x603e02c2, 0x58c2fd60, 0x5858ee01, - 0xb55812fe, 0xbe0170b5, 0x42fe7070, 0x313a0270, 0xc53131c5, 0x00050000, 0x06ab0008, 0x006103f8, 0x003e0034, 0x00500046, 0x37000058, 0x2a329f4b, - 0x23072327, 0x12163313, 0x86230117, 0x081190a1, 0x7655fd42, 0x0d310d2a, 0x372b2b23, 0x3a2e4140, 0x620a280a, 0x563c2262, 0x38384c36, 0x0d320d27, - 0x3a374b1a, 0x36341f20, 0x215d653c, 0xd0025a3e, 0x6e3bfa3d, 0x982689e4, 0x04d7fe26, 0xc5104011, 0x28034010, 0xac201391, 0x242c824b, 0x02b5b50b, - 0x0a00419e, 0x8ef7fd21, 0x82002010, 0x00033400, 0x06ab0060, 0x006103a0, 0x002b0015, 0x2500004b, 0x46300330, 0x06240eaa, 0x35210702, 0x2013b141, - 0x1d874805, 0xdb3c012d, 0x12471270, 0x040b2b0a, 0x820b2b0b, 0x256d2509, 0x4b012595, 0x2605c741, 0x96838401, 0x48684a26, 0xb7281461, 0xdd379e02, - 0x279b2737, 0x08820282, 0xd641c383, 0x480b2007, 0xcb821741, 0x4700042a, 0xb906b700, 0x0b005603, 0x2122cd82, 0x3f462900, 0x0a1b4618, 0x23110128, - 0x21352311, 0x4c4d4815, 0x2e292807, 0x02ad292e, 0x46ad0114, 0x01250702, 0x01c86c7b, 0x0f0846fc, 0xea45c120, 0x3e022106, 0x82057942, 0x4f06207f, - 0x1e340893, 0x3d002700, 0x58004e00, 0x00007e00, 0x26272205, 0x36373435, 0x30250184, 0x07020e33, 0x05944f06, 0x954f1720, 0x1d222408, 0x4f011401, - 0x12560694, 0x4f06200a, 0x0e212d96, 0x12974f01, 0x6b7a033f, 0x0f103736, 0x28271d1d, 0x553b8a31, 0x0a12123a, 0x3147110c, 0x6e2f3051, 0xfed96d6a, - 0x06924f09, 0x05130426, 0x0512050c, 0x2212944f, 0x4f144d14, 0x0e221794, 0x954f0e3a, 0x42fd350e, 0x3d3c7f42, 0x3038363d, 0x522d232f, 0x332a2b50, - 0x3535312f, 0x2213904f, 0x821a691a, 0x11924f02, 0x2eb62e22, 0x2215924f, 0x4f082008, 0x003c0d93, 0xff170106, 0x05e90508, 0x000b0015, 0x002d0017, - 0x0055004b, 0x0500005f, 0x33301130, 0x21220382, 0x07841530, 0xc6500b87, 0x34353305, 0x013e3736, 0x1e171632, 0x07061401, 0x3227010e, 0x01823736, - 0x34013d2b, 0x2e272627, 0x06222301, 0x46018207, 0x052107bf, 0x12d14f11, 0x016ccc24, 0x03826311, 0x10fd2208, 0x26266a42, 0x26262929, 0x256b836a, - 0x262a2a26, 0x26416b25, 0x0d161740, 0x160d0c0c, 0x28264017, 0x220b873f, 0x48f4013f, 0xf8250c83, 0xc1fd9f02, 0x2b048460, 0x2c2d5703, 0x5455822b, - 0x2d2c2b82, 0xa9200983, 0x612d0883, 0x2519191b, 0x2e692e25, 0x19192525, 0x2f0c8c1b, 0x6e9f0256, 0xf5fe6eb8, 0x282c6a01, 0x002c282e, 0x0036f082, - 0x06ab000a, 0x006103f6, 0x00300012, 0x0044003a, 0x2500004a, 0x40502e22, 0x07494f06, 0x112fe6af, 0x15211133, 0x6a422c01, 0x4c29294c, 0x8541426a, - 0x21e09b07, 0x6449665d, 0x02220808, 0x10016d13, 0x82572dac, 0x58825454, 0x82582d2d, 0x2d5782a8, 0x191a1b60, 0x6a2e2425, 0x1925242e, 0x0c8c1b1a, - 0x6d505520, 0x02c1280e, 0x60c2fd9e, 0x82040000, 0x06ab2ccb, 0x006103b6, 0x00220013, 0x4366002d, 0x302306d3, 0x88213015, 0x30112603, 0x32333001, - 0x24e88317, 0x2b060701, 0x05ba5201, 0x2b262724, 0x4d581101, 0x077e5106, 0x27262724, 0x0282012e, 0x37343522, 0x230d8051, 0x17141506, 0x08068051, - 0x07060724, 0x014a010e, 0x01cafea3, 0x01edfe13, 0x3441edc3, 0x29294a34, 0x4134344a, 0x5c4beded, 0x804b2e2e, 0xde45dc02, 0x2a242705, 0x4140372b, - 0xdf451717, 0x11112405, 0x4535563d, 0x2b0807e0, 0x3f3a384a, 0x3c361a1a, 0x10115d65, 0xb759201f, 0xba609e02, 0x02dcfe60, 0x5415159e, 0x547da87d, - 0x5e601515, 0x2f5b6c5b, 0x6b22fe2f, 0x210ad645, 0x5a511717, 0x24242107, 0x08095b51, 0x2a2c2f29, 0x0c0b1514, 0x2f515c13, 0x1c1b2627, 0x0400001d, - 0x63008f00, 0xa9037106, 0x2f001500, 0x43003900, 0x30250000, 0x50333001, 0x535a06ec, 0x02062806, 0x32210107, 0x49141516, 0xdf840bd4, 0x37212322, - 0x4f08a252, 0x012e0906, 0x8dedfea2, 0x0f165916, 0x0f050b36, 0x09820b38, 0xb92f8937, 0x01c2012f, 0x1b776873, 0x19193429, 0x1b1a1f1e, 0x1c111024, - 0x06f54e1d, 0x4e3c3c21, 0x633407f3, 0xfe454603, 0xc53645ec, 0x25c83729, 0x45140145, 0x8cd2fd8c, 0x3605e44e, 0x0703142a, 0x170b0b01, 0x32354918, - 0x21202d2c, 0x33377525, 0x4e373429, 0x013409e3, 0x0508ff32, 0x001405ce, 0x00330026, 0x008a0078, 0x0500009b, 0x202ec44e, 0x41d14a01, 0x27012e32, - 0x11231123, 0x011e1333, 0x33113317, 0x35212311, 0x0e260482, 0x27260702, 0x10823736, 0x02153008, 0x3d573870, 0x222c1010, 0x902a5523, 0x222d2d39, - 0x0c171721, 0x0a010501, 0x1f31251c, 0x1e35472b, 0x35573d22, 0x7542423a, 0x44024141, 0x4a393b3f, 0x13210888, 0x06884a34, 0x230a0b22, 0x0807884a, - 0x1f1f233c, 0x2f362c2c, 0x0f293747, 0x0e0e0d4f, 0x1d2d1211, 0x4045413e, 0x08b2fd47, 0x68030e34, 0x340edb79, 0x79670308, 0x08bc4301, 0x123e3417, - 0x56554002, 0x25f8a3a5, 0x3c303044, 0x284f8149, 0x1447080d, 0x1d0f1b24, 0x332f4d36, 0x59223c53, 0x3c0d3d3e, 0x0d3c3f3f, 0x3d013e3d, 0x2e072935, - 0x0a262b31, 0x14160a2a, 0x09091e14, 0x28402d17, 0x271a1a20, 0x06050619, 0x15140e0c, 0x482c2538, 0x0e0e1a1a, 0x172b2115, 0x4a10153f, 0x35080659, - 0x035c3633, 0x1b63104a, 0x9e0200fe, 0x631b8dfe, 0xfd010210, 0xf5015a62, 0x13433818, 0x5d5c3a02, 0x005abcfd, 0x001b0003, 0x03e506ab, 0x00390061, - 0x007f005c, 0x47492500, 0x0568430d, 0x26272622, 0x54106943, 0x07260aea, 0x010e0706, 0x1d472221, 0x013e2305, 0xd0513233, 0x5636200f, 0x22a2055b, - 0x54100127, 0x320d2a77, 0x0570490c, 0x2c069143, 0x11113131, 0x4c36573c, 0x0c273837, 0x0b734933, 0x10112308, 0x025a1f1f, 0x13958429, 0x68252413, - 0x22765742, 0x120f3d0f, 0x584e3a48, 0x4c3c4e58, 0x0f3a0f12, 0x1e9e7922, 0x430b8b49, 0x2e2306b4, 0x432c512e, 0x17230bb5, 0x552a2d17, 0x272d0611, - 0x1d1c1b26, 0x4154a9b1, 0x2e2c2c40, 0x053b4e4d, 0x200a0051, 0x281a9a52, 0x00050000, 0x06ab004f, 0x092b55b1, 0x55400021, 0x0122342b, 0x02823521, - 0x15212808, 0x21070206, 0x603d5401, 0x23232222, 0x79602222, 0x24244460, 0x483c6044, 0x4f904e4e, 0x01de014f, 0x2c2b5709, 0x57a35757, 0x032e0589, - 0x0141fe60, 0x01cdfe42, 0x36d636a6, 0xd9544c01, 0xfd2a082b, 0xea015bbc, 0xfe525b59, 0x070052ba, 0x08ff2e00, 0x1505d206, 0x33001c00, 0x53004700, - 0x73005d00, 0x00009100, 0x30070637, 0x034c3015, 0x30113205, 0x36373633, 0x06333037, 0x17121607, 0x01012e23, 0x0ae54511, 0x230cf145, 0x33302726, - 0x20062949, 0x22cf8233, 0x57013011, 0x2e21187d, 0x2df34701, 0x42f73608, 0x046d6d1a, 0x5a5a1848, 0x32ae417f, 0x278316ba, 0x01a50192, 0x01c0fead, - 0x01ddfe23, 0x74220140, 0x6d1b7c73, 0x6c1b031b, 0xa418781b, 0x014afb2d, 0x65655e20, 0x075d505e, 0x14481720, 0x41230829, 0x02d01e4b, 0x5cacfe9f, - 0x4d6d6d1e, 0xe8fe4bce, 0xfee13d21, 0x609f02e2, 0x60c460bb, 0xcbcc0801, 0x8232c732, 0xfe292702, 0xf6fe4ee2, 0xf8476203, 0xb5fd210d, 0x212d3748, - 0x83620000, 0x0005358f, 0x0608ffca, 0x00150536, 0x0017000f, 0x00660033, 0x05000092, 0x2a11054e, 0x33300706, 0x012e0526, 0x4e302327, 0x33260549, - 0x011e1330, 0xe7493317, 0x30232106, 0x21106359, 0x62592726, 0x05ad5a0a, 0x230d6159, 0x33270226, 0x16214282, 0x078e5317, 0x27069c53, 0x33373637, - 0x23070206, 0x262f6c82, 0x07062327, 0x0207010e, 0x3afb3df8, 0x4e98266e, 0x30340770, 0x0230c631, 0x08340e19, 0xdb796802, 0x030e3408, 0x5bfc7967, - 0x48057c44, 0x2e35050e, 0x621e1e3a, 0x563d2262, 0x38374c36, 0x1a490327, 0x1f3a384a, 0x07eb4d20, 0x90015e08, 0x6e1a6a1a, 0x18092e0d, 0x24080317, - 0x0f360b0a, 0x0a360e79, 0x03092309, 0x6b232331, 0x7a1b6e1c, 0x1910390d, 0x19190219, 0xf80d3b10, 0x0170b6b6, 0xfe7070bf, 0x3b027041, 0x34949494, - 0xfd0f641b, 0xfe9f02ff, 0x1b640f8d, 0x61fd0102, 0x343d5703, 0x2b0b2f0c, 0x313a1616, 0x060b2e27, 0x06945905, 0x321b1a35, 0x28224102, 0x2a2c1717, - 0x130d0a2a, 0x4d2f515c, 0x830b1e36, 0xdb3b334b, 0x1e706f2d, 0xdc2b2998, 0x2bdc3c3c, 0xde259425, 0x5f83a2a1, 0x3fea3223, 0x37008266, 0x0032ea3f, - 0xff180104, 0x05e8050e, 0x001b000f, 0x0043003a, 0x25000057, 0x221a7d41, 0x54233021, 0x072405fc, 0x37013e23, 0x98430a82, 0x010e2708, 0x01011e07, - 0xc5433311, 0x41112007, 0x33200676, 0xb5432782, 0xcd360806, 0x030c320c, 0x0ddb7867, 0x68030c31, 0x7f3f0379, 0x021b6d1b, 0x781b6b1b, 0x23249124, - 0x1980238b, 0x1a021966, 0x24781a67, 0x9325248c, 0x016cd9fb, 0x26010111, 0x8043269a, 0x77230807, 0x81279a27, 0xfd185f17, 0xfe9e02ff, 0x175f188e, - 0x62fd0002, 0x2c2cb22d, 0xe5392db2, 0x36db3639, 0x8229a729, 0xda363e02, 0x03e63936, 0xfd9e0229, 0x080160c2, 0x430f0144, 0x3131c732, 0xfe4332c7, - 0xf6fe43f2, 0x22008200, 0x82360106, 0x82ca20f3, 0x00142ff3, 0x002a001e, 0x00460032, 0x05000052, 0x57442330, 0x14152205, 0x20cb8206, 0x0f195d17, - 0x07232722, 0x50083065, 0x0221070b, 0x0e3f4f03, 0x21030222, 0x3a0b704e, 0x21016da3, 0x4142685a, 0x79186118, 0x85165a16, 0x2f2e2aac, 0xb603ac29, - 0x423bfa3d, 0x10340a66, 0x10c51040, 0x6e79fd40, 0x4811716e, 0x0a2b0b11, 0x0b2c0b04, 0x6e240982, 0x68016f70, 0x08099c4e, 0x9e02f220, 0x5f485d6c, - 0x2fbc2f14, 0x5b2db52d, 0x282e292b, 0x96fed52b, 0x0170b6b6, 0xfe6f6fbf, 0xfd507041, 0x59012506, 0x4f014f01, 0x240b554f, 0xb1feb1fe, 0x07ae5402, - 0x00020030, 0x066300a9, 0x00a90357, 0x0033001d, 0xd3412500, 0x51062005, 0xb641058d, 0x0516210e, 0x49050d50, 0x40080819, 0x15303330, 0xa0760330, - 0x04139027, 0x18966464, 0xbc3335c2, 0x7f20a017, 0x81200220, 0xbe179620, 0x2d018a33, 0x411c0aeb, 0x5003164f, 0xccce4195, 0x20ed4163, 0x0127a7a7, - 0x014f5333, 0xd0342426, 0x34028234, 0x4fdbfe24, 0x0271d7d7, 0x54461e72, 0xa1480217, 0x712bfd47, 0xe71e1000, 0x06348101, 0x02ff2801, 0x1a05d805, - 0x25000f00, 0x56004300, 0x7c007400, 0x4f11d353, 0x0120335b, 0x512ba14e, 0x022807a6, 0x01c76d67, 0x417301fb, 0x2107704f, 0x824f6b82, 0x416b2205, - 0x09794f27, 0x40272725, 0x820d1616, 0x16162c00, 0x41d0fd40, 0x29294c6b, 0x87416b4c, 0x41262107, 0x41341c87, 0x163f2826, 0x0d0d0c17, 0x3f16170c, - 0xc86ced02, 0x4c01fc01, 0x3605cf51, 0x2b2db7fd, 0x5554822c, 0x2d2c2c81, 0x812c2c2d, 0x2b2c82a9, 0x4e1a612d, 0x252106c0, 0x05c04e24, 0x4e252421, - 0x1a2406cd, 0x572d0103, 0x58232e83, 0x82582d2d, 0x8a57202c, 0x09c24f2b, 0x2205f94e, 0x52e8011a, 0x07360833, 0xfdfe3300, 0x0905c206, 0x16000c00, - 0x61003c00, 0x9c008600, 0xb95aa200, 0x0f8b6119, 0x2014f451, 0x06835a01, 0x5a010b21, 0x24a51a7f, 0x1614112c, 0x11353632, 0x07141133, 0x934d020e, - 0x5b112005, 0x0124063e, 0x2b2c5709, 0x2a08284a, 0x5e3aad02, 0x23232121, 0x612f2121, 0x1d5205b2, 0x390e390c, 0x0269200e, 0x010501c3, 0x081f080b, - 0x1f078282, 0x04010b08, 0x13786201, 0x29058b5a, 0x12082007, 0x62771247, 0x2282c0fb, 0x1d820c20, 0x08828226, 0x020c081e, 0x12222283, 0x33821249, - 0x20080825, 0x82481207, 0x64013322, 0x65388e38, 0x58350c0c, 0x0c36577f, 0x6636020c, 0xc15af8f4, 0xb120080f, 0x842a2b27, 0x2b2a83b6, 0x25251413, - 0x0820084a, 0x535e3239, 0x365e53a1, 0x0821093c, 0xa8014f4a, 0x2305925a, 0x1001f0fe, 0x2117905a, 0x23a1ff04, 0x9f023208, 0x4d514efe, 0xb201514d, - 0x32445efe, 0x1f1f4132, 0x44323241, 0x61fda201, 0xbbfd9f02, 0x0000005a, 0xff4d0104, 0x05b30502, 0x0017001a, 0x008b0051, 0x059f529d, 0x4a09bb50, - 0xaa5009d5, 0x23414d14, 0x4d0efe48, 0x0120297a, 0x2110f14e, 0x5a468501, 0x4b013809, 0x0c2a7654, 0x2a240c32, 0x4240362c, 0x0a3b1717, 0x31610a28, - 0x48111031, 0x0c2306d9, 0x621a0c33, 0x3b290653, 0x10105d65, 0xfd5a1f20, 0x2332848b, 0x2b2b230d, 0x272e3286, 0x3131620a, 0x563c1111, 0x37384c36, - 0x32890d28, 0x82643c21, 0x1f1f2b32, 0x0ce2015b, 0x68020d31, 0x0682db79, 0x79670323, 0x069246f2, 0x343d0b32, 0x2b0c2e0c, 0x31391616, 0x0b171827, - 0x12020702, 0x250d5e4d, 0x17172822, 0x5e4d2b2c, 0x6203210b, 0x012133b1, 0x0f3c487e, 0x0000002f, 0x00cf0002, 0x03310654, 0x003400b8, 0x10d94e4a, - 0x666a2620, 0x08805c05, 0x52095e4a, 0x0e220740, 0x35430102, 0x2787080d, 0x1135022e, 0x946a0202, 0x0f3f0f34, 0x4436352d, 0x493a5250, 0x3d7b2525, - 0x6b4c2a3d, 0x46465e44, 0x21045b31, 0x2847465d, 0x44202128, 0x29747e4b, 0xf901704e, 0x8551c552, 0x764b1110, 0x4b3b3bae, 0x404d5521, 0x360f3a0f, - 0x3d481b1c, 0x070e3a31, 0x393a1706, 0x3e593865, 0x3e212121, 0x322a0351, 0x34381c1d, 0x100d1a1a, 0x3a657318, 0x03254461, 0x6bfcfd54, 0x026b6c6c, - 0x5c11fe04, 0x2b574443, 0x86581615, 0x82ef015c, 0x732d10db, 0x0a393d07, 0xf60608ff, 0x0e001505, 0x2b001800, 0x53004900, 0x63005d00, 0x30010000, - 0x09505c33, 0x7e5a2b20, 0x2b262306, 0xe24c1101, 0x146b5c2c, 0x1133113a, 0x76021521, 0x256841ed, 0x25292925, 0xed416825, 0x5c5c4bed, 0x49fe804b, - 0x3c3a985b, 0x292ba701, 0x7ea77e2a, 0x602b292a, 0x5b6b5b5f, 0x0221fe5f, 0x82572df7, 0x57825455, 0x2007822d, 0x290682a9, 0x19191b61, 0x692f2425, - 0xbf4c242f, 0x5c0c8807, 0xfd2e0e82, 0xfd9f02c0, 0x050061c2, 0xab000300, 0xa756fd06, 0x5659200a, 0x052034a7, 0x2024bd4c, 0x11c05608, 0x200dae6b, - 0x06c056a4, 0x744c9620, 0x83072105, 0x2007744c, 0x0f006761, 0x3a2bd456, 0x134c13a7, 0xfe124b13, 0x121101ef, 0x4a13124a, 0x0263fe13, 0x279c279e, - 0x82165916, 0x22088202, 0x820062fd, 0x00033100, 0x06ab0022, 0x006103de, 0x0033001b, 0x1300006c, 0x561c4153, 0x114c15e7, 0x012e2114, 0x5c105259, - 0xd7200fbc, 0x28054d53, 0x0c320cdb, 0x01796803, 0x0abc5640, 0xb85c4c20, 0x2a02212f, 0x240a214b, 0xfd010218, 0x09a14b62, 0x5c080f6e, 0x250827b5, - 0x01070000, 0x0502ff7c, 0x001a0584, 0x005b0037, 0x00750068, 0x00a9009c, 0x010000d5, 0x010e2130, 0x37363307, 0x8866023e, 0x07012e07, 0x27222306, - 0x2627012e, 0x17163727, 0x7917821e, 0x22220515, 0x14820706, 0x37013e23, 0x3a5e6621, 0x6b07bf66, 0x1e220d24, 0x246b3301, 0x35212117, 0x29607182, - 0x23262405, 0x83020e22, 0x233c8283, 0x17163202, 0xc9790182, 0x08c28206, 0x26032137, 0x0c03d7fe, 0x0d0b0602, 0x1c2b200d, 0x1f364b2b, 0x2d3d1010, - 0x232d392c, 0x13143423, 0x0e0c4f10, 0x1c2b230d, 0x3b41413b, 0x0f12342b, 0x11040f3c, 0x017c0104, 0x245d6669, 0xfe3b3b37, 0x3c583717, 0x232c1110, - 0x90295523, 0x212d2e38, 0x0c171622, 0x097d6b01, 0x6b221e21, 0x5908067d, 0x50034141, 0x8f2339fe, 0x1b1b3324, 0x291c323a, 0x1006141f, 0x120b103f, - 0x664c3812, 0x0e1c1b50, 0x1d2d190f, 0x691a201e, 0x0152011a, 0x289e274e, 0x17101014, 0x4e361c0c, 0x2a2a3231, 0x0a10113d, 0x1516210a, 0x10143e18, - 0x410d1911, 0x413a0b3a, 0x09021421, 0x3ef93e02, 0x4e6657fd, 0xd1012137, 0x2d0be66b, 0x28282726, 0x01352d2e, 0x1b231401, 0xe66b1d10, 0x683f0812, - 0x2e207f20, 0x0c2e2a2a, 0x1c113831, 0x19061627, 0x1d1d2006, 0x1a1e1b2e, 0x2b25241b, 0x1c3e4528, 0x5a171c1c, 0x00000017, 0xff7a0106, 0x05860502, - 0x0028001a, 0x006c0036, 0x009f0092, 0x680000ca, 0x3f680c40, 0x21252226, 0x18834206, 0x37013e24, 0x345f031e, 0x07386906, 0x25211322, 0x6d14a75e, - 0x2122196b, 0x88613635, 0x1e454206, 0x45685220, 0x5a393505, 0x0d2c2222, 0x0e0a0403, 0x1f30260e, 0x3424242b, 0x1e11111e, 0x08054468, 0x10103d45, - 0x41413bec, 0x42423a3b, 0xd6fe3403, 0x0b070c05, 0x2a210c0d, 0x364a2b1d, 0x3e0f101f, 0x2d392c2d, 0x13352322, 0x340e1014, 0x221b0d0d, 0x403c1c2b, - 0x342b3c40, 0x0f3c0e12, 0x7c011207, 0x583810fd, 0x8211103c, 0x29552c23, 0x2e2d3890, 0x17162221, 0x6d03030c, 0xcd5e07c7, 0x41412205, 0x05494275, - 0x336b6b25, 0x423b1c1b, 0x0f210548, 0x07484240, 0x0e1b1c2e, 0x1e2c190f, 0x691b201d, 0xb352011a, 0x222d3068, 0x42a449f2, 0x0a241475, 0x21140a2a, - 0x230b7642, 0xb9010174, 0x212d3b42, 0x3a42605f, 0x06003824, 0x08ff3900, 0x1505c706, 0x1c000f00, 0x32002800, 0x7a005700, 0x58050000, 0x303407d1, - 0x16333013, 0x26031712, 0x06233027, 0x30073007, 0x01012e33, 0x5315536e, 0x25750f99, 0x14735313, 0x1e171625, 0x44331701, 0x113c0588, 0x0a1e0423, - 0x06e20624, 0xc9640a24, 0x21872182, 0x0c0b0af1, 0xb13c0a0b, 0x9bfc290b, 0x080d306e, 0x3bad0230, 0x2421215d, 0x2f212124, 0x33553b2e, 0x4a0d1f34, - 0x44343f11, 0x35444c4c, 0x380e1243, 0x026a1f0e, 0x010501c4, 0x0421090c, 0x22038282, 0x0c820c09, 0x3678623e, 0x05210937, 0x05171808, 0x62771552, - 0x187f23f8, 0x02237f18, 0x41fe709f, 0x31e00170, 0xd3240082, 0xa5018c24, 0x211d4e53, 0x4d532907, 0x52163f12, 0x01f0fe09, 0x16510810, 0xfe124b14, - 0x769f0263, 0x0e5d1975, 0xb10b4242, 0x0061fd2f, 0x67410700, 0x00162c08, 0x002a0020, 0x003f0035, 0x7f870064, 0x06230807, 0x6c321507, 0x0e20061c, - 0x2305a571, 0x34013d36, 0x200ca371, 0x13ff7301, 0x76057856, 0x75411e9b, 0x02220822, 0x4e100198, 0x1d343750, 0x0a221817, 0x39281609, 0x66d5fe22, - 0x262625a7, 0x2197a725, 0x97212525, 0x7d413bfd, 0xa7013f50, 0x48415459, 0x0b0b0c05, 0x211c1c28, 0x1c33472b, 0x2c2b275a, 0x2457272c, 0x23292b28, - 0x85411d01, 0x00003451, 0xff270105, 0x05d90502, 0x002a001a, 0x003c0034, 0x827d0071, 0x09597314, 0x33023e24, 0x71761632, 0x10e76a19, 0x650e7b54, - 0x5d65085e, 0x0d7c5d0d, 0x210a0c5b, 0x8676f402, 0x7302261f, 0x6f3afb3c, 0x07ed6be5, 0xc6114026, 0xb6fd4010, 0x6b12ea76, 0x6426135d, 0x5a3f215e, - 0xd3542e01, 0x768c2009, 0x59210796, 0x0896762d, 0x0808652e, 0x1f2f1010, 0x9bfe5d34, 0x9e02b6b6, 0x200b345b, 0x0a51544e, 0x020b2f22, 0x540ef376, - 0x5c250982, 0x374d2f51, 0x09fd6f1d, 0x0200003d, 0x16ffce01, 0x0e043205, 0x3b002100, 0x30050000, 0x26272223, 0x2e353035, 0x82262701, 0x05b04208, - 0x1617322f, 0x15011e17, 0x15070214, 0x3e322733, 0x05987401, 0x23022e22, 0x0808436f, 0x04021e28, 0x28558e70, 0x2f885527, 0x3e191b2f, 0x50503938, - 0x395050c4, 0xa0bb3e38, 0x603af09a, 0x13131244, 0x3a604412, 0x09855f3b, 0x2cea5f31, 0x0b4c492b, 0x5b41414d, 0xc27f735c, 0x82224142, 0x42413400, - 0xfee17fc2, 0xf2671cfc, 0x37374c28, 0x37459e45, 0x8a284c37, 0x0300290a, 0xb7001300, 0x5603ed06, 0x3d220782, 0x61675100, 0x61032005, 0x944b0f5f, - 0x30032206, 0x07535803, 0x30233023, 0x0f2b6c11, 0x30231123, 0x22018221, 0x84013035, 0x21230805, 0x02061530, 0xe3302107, 0x5d1772cf, 0x5b170d17, - 0x8a227017, 0x01090322, 0x080c0105, 0x8282081e, 0x44071f08, 0x12360597, 0x20071249, 0x1f080808, 0x12481208, 0x9a026277, 0x410141fe, 0x7662cefe, - 0x01b73206, 0x329b0103, 0xc83131c8, 0xeefe4432, 0x01fdfe45, 0x21874b9d, 0x28097d62, 0x00040000, 0x06ab004c, 0x26e382b4, 0x001e0014, 0x835f0028, - 0x1ddb5de5, 0x2107a642, 0x994a0111, 0x5db92032, 0x192106e4, 0x08e45d60, 0xac2a2e24, 0x56681302, 0x58032707, 0x0c03d7fe, 0x244a0703, 0x0e132123, - 0x2006244a, 0x0eec5db7, 0x292e2827, 0x96fed52b, 0x065a6802, 0x9e28402a, 0x10101427, 0x351d0c17, 0x210fc549, 0xc5491011, 0x8200200e, 0x01043000, - 0x0502ff73, 0x001a058d, 0x007d004c, 0x72e000b4, 0x17201717, 0x2106e24a, 0x01840607, 0x011e1522, 0x8405f24a, 0x2306220d, 0x05115722, 0x82372721, - 0x0c227217, 0x210a324b, 0x596b2627, 0x06364b06, 0x36370123, 0x85558632, 0x010e2354, 0x68412107, 0x8a012033, 0x1d514964, 0x67500221, 0x62081192, - 0x1d1d2828, 0x0a0a1110, 0x17181212, 0x13331d1a, 0x110b0b13, 0x2c1f2011, 0x232f362c, 0x141c1b24, 0x0d4f0f15, 0x2d12111c, 0x45423d1d, 0x80034740, - 0x8f2439fe, 0x1b1c3323, 0x1b321e1d, 0x0b0f0f2a, 0x4010050a, 0x13110b0f, 0x66262637, 0x0e1c1b51, 0x1616190e, 0x1a201e1d, 0x52011b69, 0xd6fea7fd, - 0x49030b03, 0x37350893, 0x3e100f1e, 0x2d392d2c, 0x14342322, 0x0d4e0f14, 0x2c220e0d, 0x0692491b, 0x4c3b0f21, 0x02240507, 0x2438fe50, 0x2107b34b, - 0xb34b1e2a, 0x854b2008, 0x4b18205e, 0x357208b3, 0x0c270810, 0x2116170b, 0x1a20291f, 0x0c141419, 0x0604060d, 0x1d14151a, 0x242c251c, 0x0e191a24, - 0x110a0a0e, 0x17161511, 0x7222143e, 0x7520093d, 0x2609614b, 0x0e111c1c, 0x4b13140e, 0x0d210764, 0x05654b0e, 0x1f442923, 0x05664b1f, 0x4c460521, - 0x62202b22, 0x2028bb4b, 0x06274f04, 0x0f005628, 0x37002e00, 0x5b5e8f03, 0x243f6f13, 0x02260526, 0x011d3327, 0x22354618, 0x158a4518, 0x5fa638c9, - 0x461826a6, 0x1520194a, 0x153d4618, 0x3d370122, 0x14774518, 0x45181494, 0x119111b3, 0x26a638a6, 0x35215fcc, 0x3f461833, 0x3a012810, 0xc901b266, - 0x706b0601, 0x282105f6, 0x12f67027, 0x18eb0123, 0x0346185f, 0x03012d4f, 0x040c040e, 0x380e040e, 0x390e7c0e, 0x46180782, 0x01285204, 0x18621964, - 0x0f390f7a, 0x0b3a6b82, 0x0f030e04, 0xfc020f3d, 0x4502bbfd, 0xb0fd5959, 0x3c7f4242, 0x38373c3d, 0x7a71302f, 0x34302107, 0x200a7a71, 0xda45104a, - 0x002f5503, 0x00050000, 0x06ab0047, 0x006103b9, 0x822f001e, 0x0058280b, 0x01000070, 0x6c07010e, 0xc67a0ad7, 0x82332005, 0x06d96c14, 0x20243e7b, - 0x3925a405, 0x3d0f1001, 0x046c6c10, 0x1e104010, 0x287e1e79, 0xad2b289f, 0x8822832b, 0xd27a6302, 0x06062718, 0x31100f07, 0x209e5202, 0xf0012208, - 0xcf124612, 0xacfe9e02, 0x25145115, 0xbc2f2491, 0xfefe412f, 0xfed13441, 0x40592ef0, 0x40525340, 0x06797a41, 0x49341b35, 0x482c762b, 0x341b1b34, - 0x762c2424, 0x1b23252b, 0xa35c1b1a, 0x00002224, 0x08934e06, 0x42002f3a, 0x8d006300, 0xa0009800, 0x30050000, 0x30353021, 0x36373637, 0x34353035, - 0x2a0adb49, 0x013e3736, 0x17011e32, 0x4a141516, 0x07250581, 0x2107010e, 0x052a5605, 0x82343521, 0x3637211d, 0x8306937c, 0x05554d3d, 0x82272621, - 0x85222001, 0x05dd752f, 0x16171623, 0x51421801, 0x22f74e08, 0xf2791220, 0x4503240c, 0x53d639fe, 0x5a550911, 0x1c1c2c05, 0x3750664c, 0x0c0d0f0e, - 0x531d1716, 0x01260613, 0x2e2e3f49, 0x00820e3c, 0x2e3c2308, 0x767c3f2e, 0x19227c76, 0x070f1018, 0x0f070606, 0x45191810, 0x100f1918, 0x06070706, - 0x18190f10, 0x0e4f89fe, 0x3d742620, 0x726e3afb, 0x0c0f4f72, 0xbf68f22c, 0x2f292a2e, 0x1138310c, 0xc349261d, 0x17172a06, 0x24351e1b, 0x23282b25, - 0x07c34922, 0x18176722, 0x33072e7c, 0xfeb71817, 0x0e5cb6b8, 0x231a1a0e, 0x2c752d24, 0x1a1a2424, 0x0e29a182, 0x24231b1a, 0x242d752c, 0x210e8323, - 0x2d4f7703, 0x4f01231f, 0x2f4f4f01, 0x0020080a, 0x01060000, 0x0568fe0b, 0x000f05f5, 0x0039001f, 0x004b0041, 0x006f0055, 0x23300100, 0x013d2622, - 0x2014fd4e, 0x1afd4e06, 0x2007f667, 0x12877701, 0x41180520, 0x2e080d65, 0x33112311, 0x37363313, 0x02231133, 0x35395fe5, 0x201f5b38, 0x262a1211, - 0x82353625, 0x26263536, 0x676b7c29, 0x2d4027a1, 0x0d0c0c0d, 0x8227402d, 0x0d0c2d09, 0x402d0c0d, 0xc76ded02, 0x3bfbfb01, 0x2b0cff79, 0x09051504, - 0x62190923, 0x19621818, 0x05390882, 0x06b48067, 0x677b595a, 0x313a68fe, 0x2b340732, 0x4c3e3d2b, 0x2b2c8155, 0x3d008217, 0x55812c2b, 0x4513ad96, - 0x25331aa2, 0x2e6a2d25, 0x1b332425, 0x2524331b, 0x252d6a2e, 0xec673325, 0x24012108, 0x2d09e276, 0x2b282e29, 0x1249123e, 0x2d2db32c, 0x08822cb3, - 0x02fffd39, 0xababfe9e, 0x0062fdaa, 0x00020000, 0x06540085, 0x00b8037b, 0x644d0034, 0x1a41357f, 0x133d0813, 0x01231133, 0x359469b7, 0x2c103e10, - 0x51443536, 0x26493951, 0x3e3d7a25, 0x436c4c2a, 0x3145465f, 0x5d21035b, 0x27284846, 0x4a442120, 0x4e29757e, 0x06fa0371, 0x130b2c0b, 0x81242381, - 0x27088213, 0xe1a18206, 0x829ae007, 0x2a2d8c64, 0x5a178f02, 0x40ec2217, 0x8222ec40, 0x7ffd3808, 0x56fe4603, 0xbafcaa01, 0x00030000, 0x066300b5, - 0x00a9034b, 0x7b15000b, 0x092119ad, 0x11d57601, 0x6801b63c, 0x747f7f74, 0x3934d8e1, 0x03d83439, 0x8cedfe5a, 0x0a175817, 0x0f050f37, 0x09820a38, - 0xba2e8834, 0x4603632e, 0xfe89e689, 0x36c501b2, 0x36323a32, 0xa17631fd, 0xc8252205, 0x0aa17637, 0x00820020, 0x20071b50, 0x06bf4561, 0xbd457e20, - 0x34ce4e46, 0x10152108, 0x6d6d0f3d, 0x10401003, 0x7f1e781f, 0x2b27a028, 0x22832bac, 0x3f630287, 0x0e0f3b5c, 0x5c3b0f0e, 0x28054344, 0x0d0d1f31, - 0x3145311f, 0x053b441f, 0x1a033122, 0x45325050, 0x01213edf, 0x2c7150ef, 0x5b01053a, 0xa50502ff, 0x34001a05, 0x48003e00, 0xa2008100, 0x22050000, - 0x37362726, 0x54079f79, 0x0225103f, 0x23012e07, 0x0f3f5422, 0x14654b18, 0x01694589, 0x0d597629, 0x2a0eb157, 0x010e1716, 0x76555002, 0x7f26252a, - 0x0b2314c7, 0x7f091e1a, 0x01210dc8, 0x0545442d, 0x2aacb335, 0xac2a2e2e, 0x76542cfe, 0x2425262b, 0x40372b2a, 0x69161842, 0x0d211140, 0x0e406919, - 0x08057476, 0x69242521, 0x22755841, 0x48112e2d, 0x58584e3b, 0x134b3d4e, 0x79224d0a, 0x23343dfd, 0x16162b23, 0x54273139, 0x0a230e8c, 0x54081b16, - 0x4b18128d, 0x292507bf, 0x012b282e, 0x693d8918, 0x2a082650, 0x4055a9b1, 0x2d2c2d40, 0x19194b4d, 0x5d6a3930, 0x3e695d66, 0x492f0631, 0x00000052, - 0x002e0004, 0x03d206b7, 0x000f0056, 0x18360027, 0x5e15e741, 0x132015d5, 0x25182d61, 0x01c86c62, 0xad5570fc, 0xed832b09, 0x25256940, 0x25252828, - 0xf6604069, 0x18812005, 0x2009e841, 0x05bb7002, 0x2a9e0227, 0xa87d2a2a, 0x2705827d, 0x6c5b5e60, 0x22fe5e5b, 0x002d9e82, 0xff4b0106, 0x05b50502, - 0x0015001a, 0x30ab821e, 0x016e0049, 0x050000d8, 0x21303530, 0x12363530, 0x053d7437, 0x2330152e, 0x25301530, 0x11303330, 0x010e2330, 0x2007145e, - 0xd344183e, 0x48012008, 0x2e23073d, 0x7e062201, 0x1e240719, 0x26220102, 0x6d08006a, 0x07220681, 0x46181d06, 0x352b0e81, 0x0f231133, 0x0e0f1501, - 0x840d0f15, 0x91088205, 0x2e05270b, 0x35372701, 0x02840b3f, 0x05840a20, 0x06200b88, 0x073c1793, 0x15331133, 0xc9fea102, 0x8e2db52d, 0xbffe5c5c, - 0x8e2307db, 0x5c3eaf02, 0x1d0f0e3c, 0x09bd4418, 0x00820720, 0x310f0f26, 0x0f103145, 0x07390982, 0xeefd311f, 0x49279683, 0x3b584168, 0x3c0f213b, - 0x3b481110, 0x2d2d2c4d, 0xd849182c, 0xbc2f220a, 0x3b4c1808, 0x222eeb2e, 0xd20b2c0b, 0xd202206e, 0x01012453, 0x18f2a3a6, 0x290ea54a, 0x582fe2fe, - 0x51524140, 0x45185883, 0x243b07aa, 0x2b752c25, 0x1a1a2425, 0x1a1a1c1c, 0x752b2524, 0x3324252c, 0xb106031c, 0x188055a9, 0x2c0f6148, 0x09313e34, - 0x29490923, 0x015a0b29, 0xd0b1d4f5, 0x280a2254, 0x8953d00a, 0x55b64150, 0xfd235f86, 0x82005abc, 0x02350800, 0x5f025c00, 0x7105a406, 0x1b000300, - 0x21130000, 0x27012115, 0x33351737, 0x07173715, 0x17231533, 0x23152707, 0x37270735, 0x065c3523, 0x04b8f948, 0x8c2a8cc2, 0x2103823c, 0x0887c6c6, - 0x46a50224, 0x118c2202, 0x00261a84, 0x5c000100, 0x5b8225ff, 0x1400d622, 0x38085982, 0x3e012c32, 0x34113505, 0x022c032e, 0x019d5c23, 0xf6050134, - 0x5b7fadc7, 0xaa6f3c2e, 0xfef8fecc, 0xada9fee5, 0x5633a502, 0x7a837e72, 0xf90e4766, 0x7d5b154f, 0x68869190, 0x24478d3e, 0x012c2201, 0x2047832e, - 0x2747823e, 0x9da40633, 0xfbfeccfe, 0x01254889, 0x011b0108, 0x82489657, 0x000532ef, 0x0638ff2a, 0x009405d6, 0x00400004, 0x014b0044, 0x2b9b8208, - 0x21072130, 0x030e2204, 0x07040e07, 0x2e06eb57, 0x33363435, 0x041e1732, 0x37033e32, 0x8337043e, 0x1716240c, 0x83141516, 0x032e391e, 0x21152103, - 0x05231501, 0x25352325, 0x33023e34, 0x36171632, 0x17031e32, 0x14212682, 0x21058306, 0x05833236, 0x013e1725, 0x82033e37, 0x84362047, 0x22288340, - 0x8631011e, 0x2317840c, 0x021e3233, 0x5b852983, 0x85141521, 0x27262961, 0x3435012e, 0x27022e35, 0x0e2e6e83, 0x27222301, 0x0607010e, 0x07062722, - 0x0c86030e, 0x02200683, 0xb0840e82, 0x03862683, 0x82022e21, 0x273b08ba, 0x35010e34, 0x2627010e, 0x16172627, 0x06273435, 0x36373437, 0x5c262223, - 0xfe46e401, 0x54e00462, 0x2f4f5061, 0x3c15070f, 0x522c5b40, 0x4da7934b, 0x151d0835, 0x2f0f0f1b, 0x9a61504f, 0xddd4081b, 0x62fee401, 0x019610fe, - 0x96000100, 0x0e047afc, 0x1b131a24, 0x171f0e0b, 0x0202080c, 0x11151b11, 0x04070602, 0x10072e38, 0x020c0e10, 0x06030810, 0x0a0c130c, 0x530b0609, - 0x040d1339, 0x0c11282c, 0x2f411e18, 0x0d151d0c, 0x241a0e04, 0x27142013, 0x11140c1e, 0x0909090a, 0x2c21492f, 0x121a1301, 0x1004180f, 0x25210f06, - 0x2a100f14, 0x10171c19, 0x21091224, 0x132e0e0d, 0x18133b1a, 0x0d060707, 0x0e290938, 0x111a141b, 0x122f340d, 0x19100807, 0x160b0a11, 0x1c101010, - 0x22180f17, 0x08221a0c, 0x030d1611, 0x06171601, 0x021a0327, 0x01100801, 0x08020103, 0x021a1207, 0x2fbb6eb9, 0x173c5242, 0x424a1d09, 0xa72d184b, - 0x0f0d4d4e, 0x17161d15, 0x2f42523c, 0x90081897, 0x016e5801, 0xf0f0fa25, 0x1d0da0fa, 0x1b151a29, 0x1d110e07, 0x26170e11, 0x0c020b3a, 0x0505070d, - 0x0b091037, 0x08040910, 0x040d670c, 0x3b1f2741, 0x0e186037, 0x121d1107, 0x15092617, 0x5201100f, 0x04380443, 0x34010512, 0x10171108, 0x0b122d0c, - 0x3e080403, 0x2f070b42, 0x0b24111d, 0x14111045, 0x1d0f331c, 0x0a5d090e, 0x18180c4d, 0x022d410c, 0x17211617, 0x0c110508, 0x2226141b, 0x19220e05, - 0x02071703, 0x02030c0c, 0x04110205, 0x04020202, 0x24038201, 0x171a0702, 0x07b34300, 0x00492508, 0x000f000b, 0x33150100, 0x23152315, 0x33352335, - 0x15210135, 0xb4980521, 0xb4b464b4, 0x480628fb, 0x4905b8f9, 0x64380b83, 0x465cfdb4, 0x53000500, 0x8c063eff, 0x0600a705, 0x2c002800, 0x37003000, - 0x11293d82, 0x33010b33, 0x07232711, 0x20018327, 0x26058403, 0x1b35020b, 0x82173702, 0x84132001, 0x33172905, 0x2b153321, 0x37333502, 0x2e082d85, - 0xcea0a104, 0xc936a0ce, 0x303f334a, 0x3a3a3f2f, 0x10311937, 0x27273736, 0x31103637, 0x3a3a3719, 0x3f302f3f, 0x01c94a33, 0xbc8a8af2, 0x83887373, - 0x0247082c, 0x01b00108, 0xfedefe22, 0x3ed63a50, 0xe3cd72a9, 0x8b54fcfe, 0xfe92df6a, 0x010401d4, 0xeb0189eb, 0xaffe0401, 0x8b6adfb7, 0xe3fcfe54, - 0x3ea972cd, 0x3a6161d6, 0xdefe50fe, 0xb0012201, 0x00030000, 0x0637ff5c, 0x82e005a4, 0x000d22bb, 0x26b7833b, 0x23010923, 0x84110311, 0x2f012206, - 0x85bf8501, 0x840f2005, 0x020f220f, 0x23c4821f, 0x011f013f, 0x0586c485, 0xc8340328, 0x14011401, 0x068598c8, 0x38d8023d, 0x4b604e72, 0x5a5a6048, - 0x184b2754, 0x394b4554, 0x155a364b, 0x39252539, 0x82365a15, 0x5445310c, 0x54274b18, 0x48605a5a, 0x724e604b, 0xfcfe5d01, 0x04229484, 0xb9825d02, - 0x3008d183, 0x1bc8fefc, 0x2d420438, 0x21665951, 0x48582a37, 0x645a7084, 0x8f523b4b, 0x4a656c43, 0x4b3b528f, 0x84705a64, 0x372a5848, 0x51596621, - 0x3804422d, 0x3b008200, 0xff4b0002, 0x05b50622, 0x000900d0, 0x0500002a, 0x15012d15, 0x010d3521, 0x17130135, 0x3f20ad8b, 0x0324d98d, 0x6d010307, - 0x04227e83, 0x7a820126, 0xd3fa2608, 0x1f6d6e4e, 0x756d3262, 0x615e7d75, 0x4994667d, 0x7d669449, 0x757d5e61, 0x62326d75, 0x4e6e6d1f, 0xcecea03e, - 0x080383a0, 0xfe540333, 0x73eccd7e, 0x426e54b0, 0x59a1b2cc, 0x36993184, 0x84319935, 0xccb2a159, 0xb0546e42, 0xcd090190, 0x00007efe, 0xff5e0002, - 0x05a2066a, 0x000b007b, 0x0e5b421f, 0x03270330, 0x27020b27, 0x021b3711, 0x13371337, 0x69421521, 0xc7fe2106, 0x86877487, 0x42a70221, 0xfc330777, - 0x629dfef0, 0xfeb2f7fe, 0xfe6501be, 0x07058467, 0x8267fe84, 0xb2be2f09, 0xfe62f7fe, 0x0300749d, 0x3eff5300, 0x9342af06, 0x002f2c06, 0x35211300, - 0x2135010d, 0x41211503, 0x80420507, 0x021b2205, 0x42798235, 0x072109a0, 0x20268503, 0x075442cb, 0x45035522, 0x21068c42, 0x8c42363b, 0x3b36210b, - 0x20068c42, 0x074b4296, 0xa0030428, 0xfea0cece, 0x864261fc, 0x9bfe2126, 0x00202f83, 0x04280082, 0x5effc800, 0xa6053806, 0x0f2bb582, 0x1f001b00, - 0x35250000, 0x43031521, 0x0b8b0b7f, 0x1123112e, 0xcc016c04, 0x64b4b4b4, 0xc0fcb4b4, 0x02270684, 0x64a05a31, 0x439c0464, 0xfe210595, 0x2507855c, - 0xb8f90e02, 0x62824806, 0x47010021, 0x0221058f, 0x2c6382a5, 0x15211300, 0x48065c21, 0xa502b8f9, 0x3a1c8246, 0xff560105, 0x05aa0508, 0x000f0015, - 0x00450039, 0x008f0065, 0x33350500, 0x5e062311, 0x332a0571, 0x01153311, 0x020e0714, 0x8b552307, 0x012e2105, 0x0e211a82, 0x52501802, 0x18042012, - 0x4b0a8650, 0x146308e8, 0x3736280d, 0x0617011e, 0x67250607, 0x26210fce, 0x10136a27, 0x21070632, 0xbc9c0115, 0x0b376507, 0x6e3d0b2c, 0x1c02a3a5, - 0x2c05da67, 0x22215b38, 0x04020d2d, 0x0e0f0a01, 0x20501825, 0xd9fe3212, 0x75424275, 0x8456fe41, 0x69492695, 0x22765741, 0x06104e5b, 0x08aa5218, - 0xe2025f08, 0x07cf39fe, 0x3b1b1c33, 0x1e2a1b32, 0x332c0515, 0x3713120a, 0x1c50664c, 0x190e0f1b, 0x201e1d2c, 0x52014f4f, 0xf5015bf8, 0x270a3b6b, - 0xfd77430a, 0xa5015bbc, 0x6b414049, 0x4d2a1b55, 0x36592928, 0x12140101, 0x0f101a12, 0x304c370e, 0x1e2a2b31, 0x1312211e, 0x92303044, 0x3c0e3c3e, - 0x04823f3f, 0xb2ca0131, 0x588154a9, 0x314b4d2d, 0x5d6a392f, 0x4a6a5d65, 0x682f088b, 0x292f07b8, 0x310c2e2a, 0x271d1038, 0x69141116, 0x1b390d9f, - 0x43441c1d, 0x0000005c, 0xff2e0104, 0x05c70508, 0x00130015, 0x004d0035, 0x13037986, 0x01301123, 0x10b55230, 0x30333023, 0x22038613, 0x82233011, - 0x15514e21, 0x2137276d, 0x8e612e01, 0x05c43708, 0x18092309, 0x62181962, 0x08240918, 0xb3816805, 0x687bb406, 0x3a6d2bfc, 0x02f8323b, 0x60bb609f, - 0x0102dcfe, 0x2d124812, 0xb32c2cb3, 0x2b08822d, 0x9f02fffd, 0x5501abfe, 0x620361fd, 0xc3222084, 0x41180b61, 0x17200ac4, 0x0805ec78, 0x2c515c45, - 0x1b312424, 0x0b321b1a, 0x28220b2d, 0x152a2c2e, 0x130d0a15, 0x262f515c, 0x1e1b1b27, 0x6b000100, 0x9506d300, 0x44003104, 0x32010000, 0x07141516, - 0x0607020e, 0x052e2223, 0x26272627, 0x06072223, 0x83010e07, 0x26450810, 0x36373435, 0x33063e37, 0x17051e32, 0x33161716, 0x013e3732, 0x023e013f, - 0x2a1e4c06, 0x66240b07, 0x2a6e7232, 0x2f444252, 0x49131b36, 0x305d7021, 0x12594643, 0x14110d10, 0x04122a1e, 0x381c140a, 0x4d404330, 0x08218b26, - 0x2a483231, 0x03161557, 0xca021f0b, 0x0f111e2a, 0x32934116, 0x472a1e72, 0x242e5539, 0x43a83184, 0x151e9846, 0x1e2a0a08, 0x1106141c, 0x3a522e22, - 0x891d2a44, 0x2a48281d, 0x0728287c, 0x8400130e, 0x000e2200, 0x84c982ae, 0x2004820a, 0x240b8602, 0x000d0001, 0x240b861f, 0x00070002, 0x240b863d, - 0x00260003, 0x200b8693, 0x20238204, 0x240b86d6, 0x010f0005, 0x2b0b8604, 0x010c0006, 0x0003002e, 0x00090401, 0x0b850085, 0x1a000124, 0x17860300, - 0x0e000224, 0x0b862d00, 0x4c000324, 0x0b864500, 0x23820420, 0x0b86ba20, 0x1e000524, 0x0b86e400, 0x18000624, 0x4c831401, 0x75004630, 0x6e007200, - 0x63006100, 0x20006500, 0x07824900, 0x0f826f20, 0x0000732e, 0x6e727546, 0x20656361, 0x6e6f6349, 0x52200e82, 0x67201f82, 0x6c202d82, 0x72282b82, - 0x65520000, 0x616c7567, 0x46210882, 0x212f8300, 0x07830074, 0x67007222, 0x3a204584, 0x59994982, 0x83002021, 0x0031221f, 0x22b28238, 0x82300031, - 0x82322005, 0x00322205, 0x2a738233, 0x46746e6f, 0x6567726f, 0x8c203a20, 0x280f827f, 0x312d3831, 0x30322d30, 0xa8278332, 0x825620b6, 0x00722490, - 0x84690073, 0x822020a6, 0x00302468, 0x842e0031, 0x00303007, 0x72655600, 0x6e6f6973, 0x31303020, 0x8230302e, 0x41b68d10, 0x0d41110e, 0x00002406, - 0x8b000200, 0x8b012000, 0x200b840c, 0x0805824e, 0x020001a0, 0x02010300, 0x04010301, 0x06010501, 0x08010701, 0x0a010901, 0x0c010b01, 0x0e010d01, - 0x10010f01, 0x12011101, 0x14011301, 0x16011501, 0x18011701, 0x1a011901, 0x1c011b01, 0x1e011d01, 0x20011f01, 0x22012101, 0x24012301, 0x26012501, - 0x28012701, 0x2a012901, 0x2c012b01, 0x2e012d01, 0x30012f01, 0x32013101, 0x34013301, 0x36013501, 0x38013701, 0x3a013901, 0x3c013b01, 0x3e013d01, - 0x40013f01, 0x42014101, 0x44014301, 0x46014501, 0x48014701, 0x4a014901, 0x75074b01, 0x3045696e, 0x07863046, 0x07863120, 0x07863220, 0x07863320, - 0x07843420, 0x85303121, 0x30312127, 0x31212785, 0x21278530, 0x27853031, 0x87303121, 0x86352027, 0x8636202f, 0x86372007, 0x86382007, 0x86392007, - 0x86412007, 0x86422007, 0x86432007, 0x86442007, 0x86452007, 0x85462007, 0x30312107, 0x31200786, 0x7f860786, 0x7f863120, 0x7f863120, 0x7f863120, - 0x7f863120, 0x7f863120, 0x7f863120, 0x7f863120, 0x7f863120, 0x7f863120, 0x7f863120, 0x7f863120, 0x7f863120, 0x7f863120, 0x85303221, 0x31322177, - 0x7f860786, 0x7f863220, 0x7f863220, 0x7f863220, 0x7f863220, 0x7f863220, 0x7f863220, 0x7f863220, 0x7f863220, 0x7f863220, 0x7f863220, 0x7f863220, - 0x7f863220, 0x7f863220, 0x85303321, 0x31332177, 0x7f860786, 0x7f863320, 0x7f863320, 0x7f863320, 0x7f863320, 0x7f863320, 0x7f863320, 0x7f863320, - 0x7f863320, 0x7f863320, 0x7f863320, 0x7f863320, 0x7f863320, 0x7f863320, 0x85303421, 0x31342177, 0x7f860786, 0x7f863420, 0x00343422, 0x01230083, - 0x4400ffff, 0x002607f1, 0x14000c00, 0x16820400, 0x00000224, 0x03860100, 0x00240985, 0x206855e0, 0x002c1182, 0x9ffffde0, 0x00000000, 0xaa4155e1, - 0xc915fa05, 0x00001e86, + 0x0000bc57, 0x00000000, 0x80780000, 0x00000400, 0x00010037, 0x000e0000, 0x00030080, 0x54464660, 0xc6b5a24d, 0x780000db, 0x28158264, 0x4544471c, + 0x00150046, 0x200f8214, 0x2b0f8348, 0x322f534f, 0x8152fa8c, 0x68010000, 0x562c0f82, 0x70616d63, 0xa9cb83cf, 0x78020000, 0xf82c1382, 0x20747663, + 0x6f043b00, 0x70040000, 0x04261f82, 0x70736167, 0x5982ffff, 0x40780022, 0x08380f82, 0x66796c67, 0x8f702faa, 0x24050000, 0xc86d0000, 0x64616568, + 0xffa6ff24, 0xec201b82, 0x36210382, 0x23108268, 0x05068209, 0x1f824b82, 0x68240029, 0x2b78746d, 0x82631583, 0x82c0200f, 0x6cb6281f, 0xda61636f, + 0x8232f636, 0x8274205f, 0x6db0270f, 0x00707861, 0x3b8203a1, 0x9f830120, 0x616e202b, 0x86ae656d, 0x0000ccc4, 0x30138372, 0x736f70e9, 0xa5410a74, + 0x740000b5, 0x030000d8, 0x2deb8468, 0x1e000001, 0x5f4d4a80, 0x00f53c0f, 0x4682070b, 0xe0000025, 0x839ffffd, 0x62e12b08, 0x80fc1b5f, 0x000768fe, + 0x0f82e005, 0x02000822, 0x02830582, 0x06213382, 0x29a68300, 0x80fc0007, 0x00070000, 0x16830100, 0x0420038a, 0x57251184, 0x0800bb03, 0x21008300, + 0x23830002, 0x40222583, 0x0b822e00, 0x072b0d82, 0x00900100, 0x04000005, 0x82e6048c, 0x85fa2011, 0x5c032b07, 0xcf015900, 0x00020000, 0x15820905, + 0x01210285, 0x84078510, 0x75462905, 0x40005472, 0x4de12000, 0x06208385, 0x04856a84, 0x3b208b84, 0x07202683, 0x03830482, 0x0280fc25, 0x82910009, + 0x0052220c, 0x2c798220, 0x003500a5, 0x0029004b, 0x006d0191, 0x349b8278, 0x00470060, 0x00170152, 0x004a000a, 0x0032018f, 0x004f001b, 0x2631822e, + 0x011801ca, 0x82a90036, 0x0028251b, 0x004d0133, 0x23829182, 0x22000338, 0x7a017c01, 0x39003900, 0xce012701, 0x4c001300, 0x22007301, 0x0d824700, + 0x85000b24, 0x0f82b500, 0x2e005b26, 0x5c004b01, 0x2a200184, 0x53200582, 0x4b320382, 0x53005e00, 0x5c00c800, 0x2e015601, 0x1e006b00, 0x01844600, + 0x85007d21, 0x82462001, 0x0000229f, 0x83058203, 0x861c2003, 0x00f222cb, 0x24098403, 0x0004001c, 0x2e1b82d6, 0x00080008, 0x00000002, 0xe1f4e020, + 0x84ffff4d, 0xe1f02609, 0xffffff00, 0x200b82e3, 0x222b8400, 0x820e0006, 0x0004260b, 0x00060005, 0x202f8207, 0x24b58209, 0x000c000b, 0x2617820d, + 0x0010000f, 0x82120011, 0x00142cb5, 0x00160015, 0x00180017, 0x821a0019, 0x001c22f3, 0x0893821d, 0x20001f6e, 0x22002100, 0x24002300, 0x26002500, + 0x28002700, 0x2a002900, 0x2c002b00, 0x2e002d00, 0x30002f00, 0x32003100, 0x34003300, 0x36003500, 0x38003700, 0x3a003900, 0x3c003b00, 0x3e003d00, + 0x40003f00, 0x42004100, 0x44004300, 0x46004500, 0x48004700, 0x4a004900, 0x4c004b00, 0x4e004d00, 0x50004f00, 0x52005100, 0x54005300, 0x56005500, + 0x0620b082, 0xb182b485, 0x02010022, 0x02210582, 0x23008d00, 0x03000001, 0x0d40118d, 0x043b22d1, 0x21d4826f, 0x0185002c, 0x003cc708, 0x04c60084, + 0x05240564, 0x07d406c4, 0x08ea0758, 0x093409ce, 0x0ab00a76, 0x0b880bfe, 0x0c2e0cee, 0x0d6a0de6, 0x0e640ed8, 0x10a40fca, 0x11bc105a, 0x12c6117e, + 0x130c1392, 0x14d8138c, 0x16481598, 0x17121738, 0x1b1e1b80, 0x1c341cae, 0x1fea1dc0, 0x20bc1f08, 0x21342180, 0x22fc218a, 0x27c82386, 0x28ca272a, + 0x295229b0, 0x2a0a2ac6, 0x2ba42bbe, 0x2e162ef4, 0x2e682e44, 0x30f02f8e, 0x306a300c, 0x311e31d2, 0x31ac3156, 0x32ec31de, 0x336433ba, 0x344034c6, + 0x353a35bc, 0x36de35b6, 0x3642361a, 0x00e43690, 0x003b0002, 0x04150200, 0x000300aa, 0xb12e0007, 0x3c2f0001, 0x000407b2, 0x06b132ed, 0xb23cdc05, + 0x0a820203, 0x03b10022, 0x05201683, 0xb2271683, 0xfc010607, 0x8301b23c, 0x11333817, 0x21251121, 0x013b2111, 0x0161feda, 0x049cfe64, 0x3b56fbaa, + 0x82003404, 0x80fc2552, 0x8003f5ff, 0x01200982, 0x002e5982, 0x21252105, 0x9a0533fd, 0x0007b3f9, 0x15820b0b, 0x02032508, 0x040f0009, 0x00fd03f7, + 0x0025001b, 0x0100002f, 0x16322130, 0x010e1415, 0x15070607, 0x17161716, 0x1415011e, 0x0e2f0b82, 0x37212301, 0x3d363221, 0x23263401, 0x85333521, + 0x2b4d0809, 0x010a0201, 0x1f8e7dbd, 0x1e202031, 0x2025251e, 0x14132b1f, 0x385f2322, 0x01a217fe, 0x48483f18, 0xfce8fe3f, 0x3d42423d, 0x8dfd03fc, + 0x324f3877, 0x08030c0d, 0x1c0d0d02, 0x3c3f581c, 0x27273536, 0x3e428b2c, 0x88423e31, 0x3a2e393e, 0x088f833e, 0x00910030, 0x036f0663, 0x000f00a9, + 0x002b0017, 0x27302500, 0x07302130, 0x12362330, 0x12163337, 0x23300117, 0x33300706, 0x11300126, 0x33302700, 0x03851330, 0x0702062f, 0xea023011, + 0x49c7fe4c, 0x2fbf2f8a, 0x080382ab, 0x068dfe34, 0x3cf73d3c, 0xf7fe8402, 0x04cc9b17, 0xce3794cb, 0xe3e3631d, 0x8c2e028c, 0x8cd2fd8c, 0xb9b9c902, + 0x01f0fdb9, 0x28d4014a, 0x75018bfe, 0x329afe61, 0x8282b3fe, 0x82030021, 0x07ab3a04, 0x03610300, 0x038c0358, 0x370000ba, 0x33270226, 0x17021d30, + 0x1d17041d, 0x91029003, 0x8211a314, 0x9126f147, 0x26869571, 0x3317011e, 0x4137013e, 0x0d860673, 0x37033d22, 0x04200289, 0x17850b8a, 0x298211a3, + 0x719126f1, 0x332e86a1, 0x23070206, 0x2e270226, 0x0e232701, 0x0d820701, 0x2622052d, 0x37013e27, 0x3233011e, 0x83263435, 0x27262918, 0x36343526, + 0x17163233, 0x2e2b2182, 0x06222301, 0x16171415, 0x85011e17, 0x14152302, 0x3b822506, 0x27222322, 0x27262882, 0x36373426, 0x3c823e37, 0x07202182, + 0x1d352c84, 0x33161401, 0x023e3732, 0x3523013d, 0x8e231133, 0x68185e18, 0x3400cc01, 0x0c040e04, 0x0e030e04, 0x0f7b0e39, 0x0f030e39, 0x0e030d03, + 0x2761cc04, 0x62186401, 0x3a0e7a19, 0x0c205c83, 0x0f3b5c82, 0xf0020f3c, 0x0b276e4b, 0x4d1d0c2f, 0x342a7731, 0x5a0a2409, 0x65702a2b, 0x82246348, + 0x1a3c0813, 0x37373140, 0x09311616, 0x44300924, 0x74131615, 0x090c4302, 0x2c34484f, 0x1320212b, 0x22121212, 0x5a3d5f22, 0x531e3837, 0x483c4611, + 0x1e485050, 0x16271a1a, 0xb75adf7c, 0x70be0170, 0x0010b8cd, 0x2d47014d, 0x1919681a, 0x01441967, 0xfe444410, 0x0a8244f0, 0x1a681922, 0x015b0110, + 0x4d474147, 0xfe70af08, 0x01457042, 0x671a4513, 0x1a671919, 0x45edfe45, 0x0b36380b, 0x2c290b2a, 0x0d2f2c6d, 0x15020702, 0x5c512d2c, 0x0a343161, + 0x24250b29, 0x162a342d, 0x08020c15, 0x171f0b02, 0x65293f17, 0x3e306e68, 0x292a1313, 0x42b84242, 0x282a2a42, 0x31472627, 0x525c3931, 0x085c52a4, + 0x1e312109, 0x9efe573b, 0x00070000, 0x0602ff52, 0x001a05ae, 0x0024001a, 0x00490038, 0x00780053, 0x05000080, 0x34352622, 0x37023e37, 0x06070633, + 0x07010e07, 0x33013e33, 0x14151632, 0x3d322706, 0x22233401, 0x0314011d, 0x33270226, 0x16171216, 0x37363317, 0x2a821236, 0x21070227, 0x32211123, + 0x27278317, 0x2e231307, 0x37232701, 0x27077948, 0x26220115, 0x34012e27, 0x37222a82, 0x23823336, 0x45061721, 0x98080b58, 0x011e3736, 0x05010e17, + 0x01150111, 0x01350111, 0x106d6ba2, 0x314f3a0f, 0x2a2a3b8a, 0x09251d1e, 0x3147110c, 0x6a6e5f51, 0x1f6c6d6d, 0x6b218321, 0x0e145013, 0x0e0e0c0e, + 0x69144e14, 0x01208321, 0x0901658f, 0x392b2c56, 0x0871803a, 0x9b781756, 0x24262624, 0x3aad029b, 0x2321225d, 0x2e222123, 0x33563b2e, 0x490d1f33, + 0x44353e12, 0x36444c4c, 0x380f1242, 0xfe69200e, 0xfe2801e4, 0xfdd8fe72, 0x3d3c7f84, 0x22606f3c, 0x2928292d, 0x2f325628, 0x6a676a31, 0x19775577, + 0x08028277, 0x70180356, 0x466fbf01, 0x4e46e7fe, 0x464e4f4f, 0x6f461901, 0x027041fe, 0x6034339e, 0xfe11604d, 0x36c913e7, 0x3e2a2655, 0xfede262a, + 0x2a2a278e, 0x2a84b684, 0x2514142a, 0x29074a25, 0x525f3239, 0x365e53a1, 0x0921083b, 0xfeb24e4a, 0x82100134, 0xcd0192fe, 0x0082effe, 0x043f0082, + 0xab002000, 0x6103e006, 0x15000b00, 0x74004a00, 0x30370000, 0x32213011, 0x2b061416, 0x49011901, 0x012008b7, 0x2205ce46, 0x82161716, 0x06d04612, + 0x35012e28, 0x33023e34, 0xd1461732, 0x06072c08, 0x1f161415, 0x15011e01, 0x46020e14, 0x2e2105cd, 0x21248502, 0xc6461716, 0x3736230c, 0xc846013e, + 0x21d10806, 0x665d2001, 0xadb45d66, 0x292f2e2a, 0x55dd02ad, 0x320c2a76, 0x2b2b230d, 0x2e414136, 0x0a270a3b, 0x3d216262, 0x384c3656, 0x320d2837, + 0x384b1a0d, 0x34202039, 0x5d643c37, 0x025a3f20, 0x5e0a04dd, 0x4a663c4c, 0x6c4d2a29, 0x237d5a42, 0x3d511359, 0x50616150, 0x161d1c20, 0xf38a1916, + 0x9e02b75f, 0xfe6db96d, 0x2b6a01f5, 0x2b292e28, 0x343db6fd, 0x2b0c2f0b, 0x313a1716, 0x020c2e27, 0x5c120207, 0x31482c51, 0x321a1b1b, 0x210b2d0b, + 0x2c181729, 0x0c0b292a, 0x2f505d13, 0x711d374d, 0x572d4031, 0x81545482, 0x47502e58, 0x663b2f34, 0x665d6e5d, 0x0f100809, 0x5d34202f, 0x05009bfe, + 0xab002e00, 0x6103d206, 0x1f001200, 0x34002a00, 0x00004601, 0x07684225, 0x32013e28, 0x0e14021e, 0x83422702, 0x06222a05, 0x1614011d, 0x32211105, + 0x0f5e4117, 0x012e052c, 0x071d2327, 0x170f1d17, 0x02870e1d, 0x05820b85, 0x23110133, 0x12163311, 0x17011e17, 0x27053d33, 0x3d270f3d, 0x8802870e, + 0x11042d0b, 0x26231133, 0x3c330102, 0x23222360, 0x5f3a0282, 0x2344607a, 0x3c614423, 0x904f4f48, 0xdf014f4f, 0x2c560901, 0xa356572b, 0x0082259a, + 0x63029a26, 0x0c092208, 0x28073244, 0x85217562, 0x08230822, 0x2310880d, 0xac852176, 0x2d074c42, 0x84542828, 0x275484b6, 0xa2525d5a, 0x04845d52, + 0x9e024f33, 0x67c13433, 0x6901f1fe, 0x293d2a25, 0x5315b226, 0x4d7f4415, 0x02284dae, 0x9e0270fe, 0x43f4fe43, 0x26808840, 0x62fd9001, 0x430c0143, + 0xa53a055f, 0x5b065400, 0x2f00b803, 0x54004800, 0x00005e00, 0x0e233025, 0x2e222301, 0x8a443502, 0x083e4307, 0xe3490620, 0x37362106, 0x3d350182, + 0x21352301, 0x21012311, 0x14151632, 0x010e0706, 0x021e1507, 0x300b8217, 0x23020e07, 0x32333721, 0x013d3637, 0x2b262734, 0x0a5d4d01, 0x04e54108, + 0x4a60740e, 0x35345c80, 0x43433030, 0x2b9c7153, 0x18124a12, 0x79634d65, 0x24286379, 0x101b1b24, 0x2f01ac10, 0x01060177, 0x1b776972, 0x1a341514, + 0x11353d1a, 0x39101113, 0x68fe2f4f, 0x1e35e987, 0x6a080082, 0x33d2e935, 0xd2333737, 0x38503de2, 0x686aa26d, 0x1c3738a2, 0x0b59631c, 0x493b0b2b, + 0x7588757f, 0x130b0a7f, 0x271e1d14, 0x41fe7541, 0x62764603, 0x1515422f, 0x01070314, 0x25242f16, 0x2d2c3235, 0x1b752541, 0x3429331c, 0x33711c1b, + 0x33302730, 0x05000000, 0xab003500, 0x6103cb06, 0x46001f00, 0x60005300, 0x00006600, 0x44262225, 0x362c131b, 0x17011e37, 0x21060706, 0x27012e22, + 0x36232182, 0x46013e37, 0x14820506, 0x1632072a, 0x33033e17, 0x15021e32, 0x08105843, 0x352135a8, 0x33371236, 0x23153311, 0x11332515, 0x01010e23, + 0x2696834e, 0x58416949, 0x115b2176, 0x594d3b48, 0x4c3d4d59, 0x0e3a0f12, 0x013c3d21, 0x3c5738fc, 0x232c1011, 0x90295523, 0x212d2d39, 0x0d161722, + 0x0b010402, 0x2030251c, 0x1d35482a, 0x35573e21, 0x7541413b, 0xa1024242, 0xb52dc9fe, 0x5b5b8e2e, 0x07dbbefe, 0xb1ac8e23, 0x588154a9, 0x324b4d2e, + 0x5d6a3930, 0x3f6a5d66, 0x09230931, 0x24292949, 0x3d303044, 0x36368049, 0x27291c53, 0x2d292826, 0x0101362d, 0x0f1b2315, 0x2f4d371c, 0x213c5333, + 0x0d3d3e58, 0x04843e3d, 0x834d2f08, 0x2a014a5d, 0x553afe4a, 0x6301d883, 0x0800ed3b, 0x08ff4b00, 0x1505b506, 0x16000c00, 0x28001c00, 0x68005c00, + 0x9b007200, 0x30170000, 0x35443011, 0x11012112, 0x3323ec83, 0x87152111, 0x06a64501, 0x4c2d754c, 0x232406b4, 0x03133313, 0x0f2a0b85, 0x3e253301, + 0x0e233701, 0x02820701, 0x02821382, 0x011e2327, 0x11231117, 0x05af4c33, 0x1e823320, 0x33290282, 0x01b02311, 0x2c2c5609, 0x07564458, 0x66ca0130, + 0x850186f4, 0x0301e1fe, 0x1f01fdfe, 0xdd4be7fa, 0x0925210c, 0x2207dd4b, 0x4b0c2e0c, 0x300811dd, 0x09220938, 0x082309e1, 0xca81c964, 0x030e04f1, + 0x040e030d, 0xd002b03b, 0x0b010402, 0x16071f08, 0x57151657, 0x081f0815, 0x0105010b, 0x48127862, 0x200b8212, 0x08038209, 0x12471254, 0x02f86277, + 0xc233349f, 0x01f1fe67, 0x3e292669, 0xbcfd2529, 0xbbfd9f02, 0x5a9f025a, 0x5acf58c4, 0x35395703, 0x2a0b2b0b, 0x2f2c6e2c, 0x0208020c, 0x512c2d14, + 0x3431605d, 0x240a290a, 0x2a342d25, 0x020b1616, 0x200a0308, 0x293f1717, 0x1f0b6964, 0x02821f7c, 0x61334082, 0x4111e001, 0x11411010, 0x4c1390d3, + 0x134b1314, 0x822db62d, 0x49132202, 0x290b8213, 0x9f0263fe, 0x16279d27, 0x02821658, 0xfd2c0882, 0x00000061, 0x00290004, 0x03d706ab, 0x22055347, + 0x4746003a, 0x40471a53, 0x011d2611, 0x33161714, 0x07044332, 0xdc412520, 0x2921080a, 0x655e2001, 0xadb35d66, 0x292e2e29, 0x840f03ad, 0x69492695, + 0x3b3b5741, 0x0f3d0f22, 0x4e3b4811, 0x3500822c, 0x134c3c4e, 0x220f3a0e, 0x2d013d3c, 0xbffeae01, 0xddfe2301, 0x05474101, 0xa9b13410, 0x2d598154, + 0x084b2627, 0x39300822, 0x665d3535, 0x4235355d, 0x0b2a07c6, 0xba609e02, 0x0060c460, 0x5f510300, 0x01082e82, 0x0502ff6d, 0x001a0593, 0x00550044, + 0x2991826d, 0x00ab009e, 0x00e300d5, 0x58472500, 0x22232c05, 0x012e0706, 0x3e373627, 0x44363701, 0x0722051b, 0x8f52020e, 0x07062109, 0x232a0182, + 0x27022e22, 0x16171637, 0xd6481e17, 0x01352109, 0x37066444, 0x33023e37, 0x06101632, 0x023e3227, 0x2e34013d, 0x010e2202, 0x011d0607, 0x8205a14f, + 0x35022525, 0x35373634, 0x2005f248, 0x4a428232, 0x15240563, 0x1415011e, 0xe1476b82, 0x4713200c, 0x25200bee, 0x07211e83, 0x82998223, 0x26222302, + 0x2d820627, 0x27222323, 0x204f822e, 0x20b08337, 0x204c8533, 0x82c98807, 0x16550873, 0x3c3e4b02, 0x4330313a, 0x0c300c17, 0x3314130f, 0x2f2b2021, + 0x0a213a50, 0x1a2f240a, 0x131a191d, 0x1f221613, 0x362c2d1f, 0x2a36472f, 0x0e0c500f, 0x2e11120e, 0x45413e1c, 0x9802473f, 0x0e3c5c3e, 0x3c0e0f0f, + 0x767d3e5c, 0x31237d76, 0x1e0e0e1e, 0x1f314531, 0x08008207, 0x31100fb3, 0x593bf8fd, 0x3c4a1f3d, 0x371e3e34, 0x29296853, 0x3f0f0f38, 0x104a3d34, + 0x3a5a3c10, 0x7942423c, 0x373d4242, 0x3a6f3b3b, 0x1652033a, 0x29564516, 0x225b3890, 0x010d2d21, 0x0e0a0105, 0x2030260e, 0x3524242a, 0x1f11101d, + 0x3836561f, 0x113c2c2b, 0x413bec10, 0x413b3a42, 0x29359941, 0x2c312e07, 0x0a2a0a26, 0x1d141516, 0x2d17090a, 0x1a202841, 0x06192819, 0x0d0d0604, + 0x25391415, 0x191a482c, 0x21140e0e, 0x143e172c, 0x0c0c1111, 0x07343a0d, 0xfe5c3634, 0x40582f6a, 0x41525340, 0xb72f5940, 0x5cb6b8fe, 0x2c49331c, + 0x34482c75, 0x24341c1c, 0x08098224, 0x1a23252e, 0x06031c1a, 0x2a47341d, 0x07115143, 0x263a4e13, 0x0d192d40, 0x20202d0c, 0x134e3a26, 0x43511107, + 0x3424232a, 0x3238571d, 0x37373213, 0x38270482, 0x2e303a01, 0x84302e10, 0x1f2a0804, 0x6b404149, 0x4e291b55, 0x365a2828, 0x12140101, 0x0e0f1b12, + 0x304c360f, 0x1d2b2a32, 0x1312221e, 0x93303044, 0x3c0e3c3f, 0x04823e3e, 0x82003f21, 0x00043700, 0x06b70078, 0x00560388, 0x0027000f, 0x00400037, + 0x11300100, 0x03842330, 0x2130352a, 0x13301530, 0x33303530, 0x1b830f8a, 0x17823320, 0x27302122, 0x81542782, 0x010e3c0c, 0x012e3307, 0xc86cac01, + 0x5b53fc01, 0x5c24015b, 0x3c2b025c, 0x266f3afb, 0x82882699, 0xfe430803, 0x411005d7, 0x4010c610, 0xc2fdf502, 0x60603e02, 0x0158c2fd, 0xfe5858ee, + 0xb5b55812, 0x70be0170, 0x7042fe70, 0xc5313a02, 0x00c53131, 0x08000500, 0xf806ab00, 0x34006103, 0x46003e00, 0x58005000, 0x4b370000, 0x272a329f, + 0x13230723, 0x17121633, 0xa1862301, 0x42081190, 0x2a7655fd, 0x230d310d, 0x40372b2b, 0x0a3a2e41, 0x62620a28, 0x36563c22, 0x2738384c, 0x1a0d320d, + 0x203a374b, 0x3c36341f, 0x3e215d65, 0x3dd0025a, 0xe46e3bfa, 0x26982689, 0x1104d7fe, 0x10c51040, 0x91280340, 0x4bac2013, 0x0b242c82, 0x9e02b5b5, + 0x210a0041, 0x108ef7fd, 0x00820020, 0x60000334, 0xa006ab00, 0x15006103, 0x4b002b00, 0x30250000, 0xaa463003, 0x0206240e, 0x41352107, 0x052013b1, + 0x2d1d8748, 0x70db3c01, 0x0a124712, 0x0b040b2b, 0x09820b2b, 0x95256d25, 0x414b0125, 0x012605c7, 0x26968384, 0x6148684a, 0x02b72814, 0x37dd379e, + 0x82279b27, 0x83088202, 0x07d641c3, 0x41480b20, 0x2acb8217, 0x00470004, 0x03b906b7, 0x820b0056, 0x002122cd, 0x183f4629, 0x280a1b46, 0x11231101, + 0x15213523, 0x074c4d48, 0x2e2e2928, 0x1402ad29, 0x0246ad01, 0x7b012507, 0xfc01c86c, 0x200f0846, 0x06ea45c1, 0x423e0221, 0x7f820579, 0x934f0620, + 0x001e3408, 0x003d0027, 0x0058004e, 0x0500007e, 0x35262722, 0x84363734, 0x33302501, 0x0607020e, 0x2005944f, 0x08954f17, 0x011d2224, 0x944f0114, + 0x0a125606, 0x964f0620, 0x010e212d, 0x3f12974f, 0x366b7a03, 0x1d0f1037, 0x3128271d, 0x3a553b8a, 0x0c0a1212, 0x51314711, 0x6a6e2f30, 0x09fed96d, + 0x2606924f, 0x0c051304, 0x4f051205, 0x14221294, 0x944f144d, 0x3a0e2217, 0x0e954f0e, 0x4242fd35, 0x3d3d3c7f, 0x2f303836, 0x50522d23, 0x2f332a2b, + 0x4f353531, 0x1a221390, 0x02821a69, 0x2211924f, 0x4f2eb62e, 0x08221592, 0x934f0820, 0x06003c0d, 0x08ff1701, 0x1505e905, 0x17000b00, 0x4b002d00, + 0x5f005500, 0x30050000, 0x82333011, 0x30212203, 0x87078415, 0x05c6500b, 0x36343533, 0x32013e37, 0x011e1716, 0x0e070614, 0x36322701, 0x2b018237, + 0x2734013d, 0x012e2726, 0x07062223, 0xbf460182, 0x11052107, 0x2412d14f, 0x11016ccc, 0x08038263, 0x4210fd22, 0x2926266a, 0x6a262629, 0x26256b83, + 0x25262a2a, 0x4026416b, 0x0c0d1617, 0x17160d0c, 0x3f282640, 0x3f220b87, 0x8348f401, 0x02f8250c, 0x60c1fd9f, 0x032b0484, 0x2b2c2d57, 0x82545582, + 0x832d2c2b, 0x83a92009, 0x1b612d08, 0x25251919, 0x252e692e, 0x1b191925, 0x562f0c8c, 0xb86e9f02, 0x01f5fe6e, 0x2e282c6a, 0x82002c28, 0x0a0036f0, + 0xf606ab00, 0x12006103, 0x3a003000, 0x4a004400, 0x22250000, 0x0640502e, 0xaf07494f, 0x33112fe6, 0x01152111, 0x4c6a422c, 0x6a4c2929, 0x07854142, + 0x5d21e09b, 0x08644966, 0x13022208, 0xac10016d, 0x5482572d, 0x2d588254, 0xa882582d, 0x602d5782, 0x25191a1b, 0x2e6a2e24, 0x1a192524, 0x200c8c1b, + 0x0e6d5055, 0x9e02c128, 0x0060c2fd, 0xcb820400, 0xb606ab2c, 0x13006103, 0x2d002200, 0xd3436600, 0x15302306, 0x03882130, 0x01301126, 0x17323330, + 0x0124e883, 0x012b0607, 0x2405ba52, 0x012b2627, 0x064d5811, 0x24077e51, 0x2e272627, 0x22028201, 0x51373435, 0x06230d80, 0x51171415, 0x24080680, + 0x0e070607, 0xa3014a01, 0x1301cafe, 0xc301edfe, 0x343441ed, 0x4a29294a, 0xed413434, 0x2e5c4bed, 0x02804b2e, 0x05de45dc, 0x2b2a2427, 0x17414037, + 0x05df4517, 0x3d111124, 0xe0453556, 0x4a2b0807, 0x1a3f3a38, 0x653c361a, 0x1f10115d, 0x02b75920, 0x60ba609e, 0x9e02dcfe, 0x7d541515, 0x15547da8, + 0x5b5e6015, 0x2f2f5b6c, 0x456b22fe, 0x17210ad6, 0x075a5117, 0x51242421, 0x2908095b, 0x142a2c2f, 0x130c0b15, 0x272f515c, 0x1d1c1b26, 0x00040000, + 0x0663008f, 0x00a90371, 0x002f0015, 0x00430039, 0x01302500, 0xec503330, 0x06535a06, 0x07020628, 0x16322101, 0xd4491415, 0x22df840b, 0x52372123, + 0x064f08a2, 0xa2012e09, 0x168dedfe, 0x360f1659, 0x380f050b, 0x3709820b, 0x2fb92f89, 0x7301c201, 0x291b7768, 0x1e191934, 0x241b1a1f, 0x1d1c1110, + 0x2106f54e, 0xf34e3c3c, 0x03633407, 0xecfe4546, 0x29c53645, 0x4525c837, 0x8c451401, 0x4e8cd2fd, 0x2a3605e4, 0x01070314, 0x18170b0b, 0x2c323549, + 0x2521202d, 0x29333775, 0xe34e3734, 0x32013409, 0xce0508ff, 0x26001405, 0x78003300, 0x9b008a00, 0x4e050000, 0x01202ec4, 0x3241d14a, 0x2327012e, + 0x33112311, 0x17011e13, 0x11331133, 0x82352123, 0x020e2604, 0x36272607, 0x08108237, 0x70021530, 0x103d5738, 0x23222c10, 0x39902a55, 0x21222d2d, + 0x010c1717, 0x1c0a0105, 0x2b1f3125, 0x221e3547, 0x3a35573d, 0x41754242, 0x3f440241, 0x884a393b, 0x34132108, 0x2206884a, 0x4a230a0b, 0x3c080788, + 0x2c1f1f23, 0x472f362c, 0x4f0f2937, 0x110e0e0d, 0x3e1d2d12, 0x47404541, 0x3408b2fd, 0x7968030e, 0x08340edb, 0x01796703, 0x1708bc43, 0x02123e34, + 0xa5565540, 0x4425f8a3, 0x493c3030, 0x0d284f81, 0x24144708, 0x361d0f1b, 0x53332f4d, 0x3e59223c, 0x3f3c0d3d, 0x3d0d3c3f, 0x353d013e, 0x312e0729, + 0x2a0a262b, 0x1414160a, 0x1709091e, 0x2028402d, 0x19271a1a, 0x0c060506, 0x3815140e, 0x1a482c25, 0x150e0e1a, 0x3f172b21, 0x594a1015, 0x33350806, + 0x4a035c36, 0xfe1b6310, 0xfe9e0200, 0x10631b8d, 0x62fd0102, 0x18f5015a, 0x02134338, 0xfd5d5c3a, 0x03005abc, 0xab001b00, 0x6103e506, 0x5c003900, + 0x00007f00, 0x0d474925, 0x22056843, 0x43262726, 0xea541069, 0x0607260a, 0x21010e07, 0x051d4722, 0x33013e23, 0x0fd05132, 0x5b563620, 0x2722a205, + 0x77541001, 0x0c320d2a, 0x43057049, 0x312c0691, 0x3c111131, 0x374c3657, 0x330c2738, 0x080b7349, 0x1f101123, 0x29025a1f, 0x13139584, 0x42682524, + 0x0f227657, 0x48120f3d, 0x58584e3a, 0x124c3c4e, 0x220f3a0f, 0x491e9e79, 0xb4430b8b, 0x2e2e2306, 0xb5432c51, 0x1717230b, 0x11552a2d, 0x26272d06, + 0xb11d1c1b, 0x404154a9, 0x4d2e2c2c, 0x51053b4e, 0x52200a00, 0x00281a9a, 0x4f000500, 0xb106ab00, 0x21092b55, 0x2b554000, 0x21012234, 0x08028235, + 0x06152128, 0x01210702, 0x22603d54, 0x22232322, 0x60796022, 0x44242444, 0x4e483c60, 0x4f4f904e, 0x0901de01, 0x572c2b57, 0x8957a357, 0x60032e05, + 0x420141fe, 0xa601cdfe, 0x0136d636, 0x2bd9544c, 0xbcfd2a08, 0x59ea015b, 0xbafe525b, 0x00070052, 0x0608ff2e, 0x001505d2, 0x0033001c, 0x00530047, + 0x0073005d, 0x37000091, 0x15300706, 0x05034c30, 0x33301132, 0x37363736, 0x07063330, 0x23171216, 0x1101012e, 0x450ae545, 0x26230cf1, 0x49333027, + 0x33200629, 0x1122cf82, 0x7d570130, 0x012e2118, 0x082df347, 0x1a42f736, 0x48046d6d, 0x7f5a5a18, 0xba32ae41, 0x92278316, 0xad01a501, 0x2301c0fe, + 0x4001ddfe, 0x73742201, 0x1b6d1b7c, 0x1b6c1b03, 0x2da41878, 0x20014afb, 0x5e65655e, 0x20075d50, 0x29144817, 0x4b412308, 0x9f02d01e, 0x1e5cacfe, + 0xce4d6d6d, 0x21e8fe4b, 0xe2fee13d, 0xbb609f02, 0x0160c460, 0x32cbcc08, 0x028232c7, 0xe2fe2927, 0x03f6fe4e, 0x0df84762, 0x48b5fd21, 0x00212d37, + 0x8f836200, 0xca000535, 0x360608ff, 0x0f001505, 0x33001700, 0x92006600, 0x4e050000, 0x062a1105, 0x26333007, 0x27012e05, 0x494e3023, 0x30332605, + 0x17011e13, 0x06e74933, 0x59302321, 0x26211063, 0x0a625927, 0x5905ad5a, 0x26230d61, 0x82332702, 0x17162142, 0x53078e53, 0x3727069c, 0x06333736, + 0x82230702, 0x27262f6c, 0x0e070623, 0xf8020701, 0x6e3afb3d, 0x704e9826, 0x31303407, 0x190230c6, 0x0208340e, 0x08db7968, 0x67030e34, 0x445bfc79, + 0x0e48057c, 0x3a2e3505, 0x62621e1e, 0x36563d22, 0x2738374c, 0x4a1a4903, 0x201f3a38, 0x0807eb4d, 0x1a90015e, 0x0d6e1a6a, 0x1718092e, 0x0a240803, + 0x790f360b, 0x090a360e, 0x31030923, 0x1c6b2323, 0x0d7a1b6e, 0x19191039, 0x10191902, 0xb6f80d3b, 0xbf0170b6, 0x41fe7070, 0x943b0270, 0x1b349494, + 0xfffd0f64, 0x8dfe9f02, 0x021b640f, 0x0361fd01, 0x0c343d57, 0x162b0b2f, 0x27313a16, 0x05060b2e, 0x35069459, 0x02321b1a, 0x17282241, 0x2a2a2c17, + 0x5c130d0a, 0x364d2f51, 0x4b830b1e, 0x2ddb3b33, 0x981e706f, 0x3cdc2b29, 0x252bdc3c, 0xa1de2594, 0x235f83a2, 0x663fea32, 0x3f370082, 0x040032ea, + 0x0eff1801, 0x0f05e805, 0x3a001b00, 0x57004300, 0x41250000, 0x21221a7d, 0xfc542330, 0x23072405, 0x8237013e, 0x0898430a, 0x07010e27, 0x1101011e, + 0x07c54333, 0x76411120, 0x82332006, 0x06b54327, 0x0ccd3608, 0x67030c32, 0x310ddb78, 0x7968030c, 0x1b7f3f03, 0x1b021b6d, 0x24781b6b, 0x8b232491, + 0x66198023, 0x671a0219, 0x8c24781a, 0xfb932524, 0x11016cd9, 0x9a260101, 0x07804326, 0x27772308, 0x1781279a, 0xfffd185f, 0x8efe9e02, 0x02175f18, + 0x2d62fd00, 0xb22c2cb2, 0x39e5392d, 0x2936db36, 0x028229a7, 0x36da363e, 0x2903e639, 0xc2fd9e02, 0x44080160, 0x32430f01, 0xc73131c7, 0xf2fe4332, + 0x00f6fe43, 0x06220082, 0xf3823601, 0xf382ca20, 0x1e00142f, 0x32002a00, 0x52004600, 0x30050000, 0x05574423, 0x06141522, 0x1720cb82, 0x220f195d, + 0x65072327, 0x0b500830, 0x03022107, 0x220e3f4f, 0x4e210302, 0xa33a0b70, 0x5a21016d, 0x18414268, 0x16791861, 0xac85165a, 0x292f2e2a, 0x3db603ac, + 0x66423bfa, 0x4010340a, 0x4010c510, 0x6e6e79fd, 0x11481171, 0x040a2b0b, 0x820b2c0b, 0x706e2409, 0x4e68016f, 0x2008099c, 0x6c9e02f2, 0x145f485d, + 0x2d2fbc2f, 0x2b5b2db5, 0x2b282e29, 0xb696fed5, 0xbf0170b6, 0x41fe6f6f, 0x06fd5070, 0x01590125, 0x4f4f014f, 0xfe240b55, 0x02b1feb1, 0x3007ae54, + 0xa9000200, 0x57066300, 0x1d00a903, 0x00003300, 0x05d34125, 0x8d510620, 0x0eb64105, 0x50051621, 0x1949050d, 0x30400808, 0x30153033, 0x27a07603, + 0x64041390, 0xc2189664, 0x17bc3335, 0x207f20a0, 0x20812002, 0x33be1796, 0xeb2d018a, 0x4f411c0a, 0x95500316, 0x63ccce41, 0xa720ed41, 0x330127a7, + 0x26014f53, 0x34d03424, 0x24340282, 0xd74fdbfe, 0x720271d7, 0x1754461e, 0x47a14802, 0x00712bfd, 0x01e71e10, 0x01063481, 0x0502ff28, 0x001a05d8, + 0x0025000f, 0x00560043, 0x537c0074, 0x5b4f11d3, 0x4e012033, 0xa6512ba1, 0x67022807, 0xfb01c76d, 0x4f417301, 0x82210770, 0x05824f6b, 0x27416b22, + 0x2509794f, 0x16402727, 0x00820d16, 0x4016162c, 0x6b41d0fd, 0x4c29294c, 0x0787416b, 0x87412621, 0x2641341c, 0x17163f28, 0x0c0d0d0c, 0x023f1617, + 0x01c86ced, 0x514c01fc, 0xfd3605cf, 0x2c2b2db7, 0x81555482, 0x2d2d2c2c, 0xa9812c2c, 0x2d2b2c82, 0xc04e1a61, 0x24252106, 0x2105c04e, 0xcd4e2524, + 0x031a2406, 0x83572d01, 0x2d58232e, 0x2c82582d, 0x2b8a5720, 0x4e09c24f, 0x1a2205f9, 0x3352e801, 0x00073608, 0x06fdfe33, 0x000905c2, 0x0016000c, + 0x0061003c, 0x009c0086, 0x19b95aa2, 0x510f8b61, 0x012014f4, 0x2106835a, 0x7f5a010b, 0x2c24a51a, 0x32161411, 0x33113536, 0x0e071411, 0x05934d02, + 0x3e5b1120, 0x09012406, 0x4a2b2c57, 0x022a0828, 0x215e3aad, 0x21232321, 0xb2612f21, 0x0c1d5205, 0x0e390e39, 0xc3026920, 0x0b010501, 0x82081f08, + 0x081f0782, 0x0104010b, 0x5a137862, 0x0729058b, 0x47120820, 0xfb627712, 0x202282c0, 0x261d820c, 0x1e088282, 0x83020c08, 0x49122222, 0x25338212, + 0x07200808, 0x22824812, 0x38640133, 0x0c65388e, 0x7f58350c, 0x0c0c3657, 0xf4663602, 0x0fc15af8, 0x27b12008, 0xb6842a2b, 0x132b2a83, 0x4a252514, + 0x39082008, 0xa1535e32, 0x3c365e53, 0x4a082109, 0x5aa8014f, 0xfe230592, 0x5a1001f0, 0x04211790, 0x0823a1ff, 0xfe9f0232, 0x4d4d514e, 0xfeb20151, + 0x3232445e, 0x411f1f41, 0x01443232, 0x0261fda2, 0x5abbfd9f, 0x04000000, 0x02ff4d01, 0x1a05b305, 0x51001700, 0x9d008b00, 0x50059f52, 0xd54a09bb, + 0x14aa5009, 0x4823414d, 0x7a4d0efe, 0x4e012029, 0x012110f1, 0x095a4685, 0x544b0138, 0x320c2a76, 0x2c2a240c, 0x17424036, 0x280a3b17, 0x3131610a, + 0xd9481110, 0x330c2306, 0x53621a0c, 0x653b2906, 0x2010105d, 0x8bfd5a1f, 0x0d233284, 0x862b2b23, 0x0a272e32, 0x11313162, 0x36563c11, 0x2837384c, + 0x2132890d, 0x3282643c, 0x5b1f1f2b, 0x310ce201, 0x7968020d, 0x230682db, 0xf2796703, 0x32069246, 0x0c343d0b, 0x162b0c2e, 0x27313916, 0x020b1718, + 0x4d120207, 0x22250d5e, 0x2c171728, 0x0b5e4d2b, 0xb1620321, 0x7e012133, 0x2f0f3c48, 0x02000000, 0x5400cf00, 0xb8033106, 0x4a003400, 0x2010d94e, + 0x05666a26, 0x4a08805c, 0x4052095e, 0x020e2207, 0x0d354301, 0x2e278708, 0x02113502, 0x34946a02, 0x2d0f3f0f, 0x50443635, 0x25493a52, 0x3d3d7b25, + 0x446b4c2a, 0x3146465e, 0x5d21045b, 0x28284746, 0x4b442021, 0x4e29747e, 0x52f90170, 0x108551c5, 0xae764b11, 0x214b3b3b, 0x0f404d55, 0x1c360f3a, + 0x313d481b, 0x06070e3a, 0x65393a17, 0x213e5938, 0x513e2121, 0x1d322a03, 0x1a34381c, 0x18100d1a, 0x613a6573, 0x54032544, 0x6c6bfcfd, 0x04026b6c, + 0x435c11fe, 0x152b5744, 0x5c865816, 0xdb82ef01, 0x07732d10, 0xff0a393d, 0x05f60608, 0x000e0015, 0x002b0018, 0x00530049, 0x0063005d, 0x33300100, + 0x2009505c, 0x067e5a2b, 0x012b2623, 0x2ce24c11, 0x3a146b5c, 0x21113311, 0xed760215, 0x25256841, 0x25252929, 0xeded4168, 0x4b5c5c4b, 0x5b49fe80, + 0x013c3a98, 0x2a292ba7, 0x2a7ea77e, 0x5f602b29, 0x5f5b6b5b, 0xf70221fe, 0x5582572d, 0x2d578254, 0xa9200782, 0x61290682, 0x2519191b, 0x2f692f24, + 0x07bf4c24, 0x825c0c88, 0xc0fd2e0e, 0xc2fd9f02, 0x00050061, 0x06ab0003, 0x0aa756fd, 0xa7565920, 0x4c052034, 0x082024bd, 0x6b11c056, 0xa4200dae, + 0x2006c056, 0x05744c96, 0x4c830721, 0x61200774, 0x560f0067, 0xa73a2bd4, 0x13134c13, 0xeffe124b, 0x4a121101, 0x134a1312, 0x9e0263fe, 0x16279c27, + 0x02821659, 0xfd220882, 0x00820062, 0x22000331, 0xde06ab00, 0x1b006103, 0x6c003300, 0x53130000, 0xe7561c41, 0x14114c15, 0x59012e21, 0xbc5c1052, + 0x53d7200f, 0xdb28054d, 0x030c320c, 0x40017968, 0x200abc56, 0x2fb85c4c, 0x4b2a0221, 0x18240a21, 0x62fd0102, 0x6e09a14b, 0xb55c080f, 0x00250827, + 0x7c010700, 0x840502ff, 0x37001a05, 0x68005b00, 0x9c007500, 0xd500a900, 0x30010000, 0x07010e21, 0x3e373633, 0x07886602, 0x0607012e, 0x2e272223, + 0x27262701, 0x1e171637, 0x15791782, 0x06222205, 0x23148207, 0x2137013e, 0x663a5e66, 0x246b07bf, 0x011e220d, 0x17246b33, 0x82352121, 0x05296071, + 0x22232624, 0x8383020e, 0x02233c82, 0x82171632, 0x06c97901, 0x3708c282, 0xfe260321, 0x020c03d7, 0x0d0d0b06, 0x2b1c2b20, 0x101f364b, 0x2c2d3d10, + 0x23232d39, 0x10131434, 0x0d0e0c4f, 0x3b1c2b23, 0x2b3b4141, 0x3c0f1234, 0x0411040f, 0x69017c01, 0x37245d66, 0x17fe3b3b, 0x103c5837, 0x23232c11, + 0x38902955, 0x22212d2e, 0x010c1716, 0x21097d6b, 0x7d6b221e, 0x41590806, 0xfe500341, 0x248f2339, 0x3a1b1b33, 0x1f291c32, 0x3f100614, 0x12120b10, + 0x50664c38, 0x0f0e1c1b, 0x1e1d2d19, 0x1a691a20, 0x4e015201, 0x14289e27, 0x0c171010, 0x314e361c, 0x3d2a2a32, 0x0a0a1011, 0x18151621, 0x1110143e, + 0x3a410d19, 0x21413a0b, 0x02090214, 0xfd3ef93e, 0x374e6657, 0x6bd10121, 0x262d0be6, 0x2e282827, 0x0101352d, 0x101b2314, 0x12e66b1d, 0x20683f08, + 0x2a2e207f, 0x310c2e2a, 0x271c1138, 0x06190616, 0x2e1d1d20, 0x1b1a1e1b, 0x282b2524, 0x1c1c3e45, 0x175a171c, 0x06000000, 0x02ff7a01, 0x1a058605, + 0x36002800, 0x92006c00, 0xca009f00, 0x40680000, 0x263f680c, 0x06212522, 0x24188342, 0x1e37013e, 0x06345f03, 0x22073869, 0x5e252113, 0x6b6d14a7, + 0x35212219, 0x06886136, 0x201e4542, 0x05456852, 0x225a3935, 0x030d2c22, 0x0e0e0a04, 0x2b1f3026, 0x1e342424, 0x681e1111, 0x45080544, 0xec10103d, + 0x3b41413b, 0x0342423a, 0x05d6fe34, 0x0d0b070c, 0x1d2a210c, 0x1f364a2b, 0x2d3e0f10, 0x222d392c, 0x14133523, 0x0d340e10, 0x2b221b0d, 0x40403c1c, + 0x12342b3c, 0x070f3c0e, 0xfd7c0112, 0x3c583810, 0x23821110, 0x9029552c, 0x212e2d38, 0x0c171622, 0xc76d0303, 0x05cd5e07, 0x75414122, 0x25054942, + 0x1b336b6b, 0x48423b1c, 0x400f2105, 0x2e074842, 0x0f0e1b1c, 0x1d1e2c19, 0x1a691b20, 0x68b35201, 0xf2222d30, 0x7542a449, 0x2a0a2414, 0x4221140a, + 0x74230b76, 0x42b90101, 0x5f212d3b, 0x243a4260, 0x00060038, 0x0608ff39, 0x001505c7, 0x001c000f, 0x00320028, 0x007a0057, 0xd1580500, 0x13303407, + 0x12163330, 0x27260317, 0x07062330, 0x33300730, 0x6e01012e, 0x99531553, 0x1325750f, 0x25147353, 0x011e1716, 0x88443317, 0x23113c05, 0x240a1e04, + 0x2406e206, 0x82c9640a, 0xf1218721, 0x0b0c0b0a, 0x0bb13c0a, 0x6e9bfc29, 0x30080d30, 0x5d3bad02, 0x24242121, 0x2e2f2121, 0x3433553b, 0x114a0d1f, + 0x4c44343f, 0x4335444c, 0x0e380e12, 0xc4026a1f, 0x0c010501, 0x82042109, 0x09220382, 0x3e0c820c, 0x37367862, 0x08052109, 0x52051718, 0xf8627715, + 0x18187f23, 0x9f02237f, 0x7041fe70, 0x8231e001, 0x24d32400, 0x53a5018c, 0x07211d4e, 0x124d5329, 0x0952163f, 0x1001f0fe, 0x14165108, 0x63fe124b, + 0x75769f02, 0x420e5d19, 0x2fb10b42, 0x000061fd, 0x08674107, 0x2000162c, 0x35002a00, 0x64003f00, 0x077f8700, 0x07062308, 0x1c6c3215, 0x710e2006, + 0x362305a5, 0x7134013d, 0x01200ca3, 0x5613ff73, 0x9b760578, 0x2275411e, 0x98022208, 0x504e1001, 0x171d3437, 0x090a2218, 0x22392816, 0xa766d5fe, + 0x25262625, 0x252197a7, 0xfd972125, 0x507d413b, 0x59a7013f, 0x05484154, 0x280b0b0c, 0x2b211c1c, 0x5a1c3347, 0x2c2c2b27, 0x28245727, 0x0123292b, + 0x5185411d, 0x05000034, 0x02ff2701, 0x1a05d905, 0x34002a00, 0x71003c00, 0x14827d00, 0x24095973, 0x3233023e, 0x19717616, 0x5410e76a, 0x5e650e7b, + 0x0d5d6508, 0x5b0d7c5d, 0x02210a0c, 0x1f8676f4, 0x3c730226, 0xe56f3afb, 0x2607ed6b, 0x10c61140, 0x76b6fd40, 0x5d6b12ea, 0x5e642613, 0x015a3f21, + 0x09d3542e, 0x96768c20, 0x2d592107, 0x2e089676, 0x10080865, 0x341f2f10, 0xb69bfe5d, 0x5b9e02b6, 0x4e200b34, 0x220a5154, 0x76020b2f, 0x82540ef3, + 0x515c2509, 0x1d374d2f, 0x3d09fd6f, 0x01020000, 0x0516ffce, 0x000e0432, 0x003b0021, 0x23300500, 0x35262722, 0x012e3530, 0x08822627, 0x2f05b042, + 0x17161732, 0x1415011e, 0x33150702, 0x013e3227, 0x22059874, 0x6f23022e, 0x28080843, 0x7004021e, 0x2728558e, 0x2f2f8855, 0x383e191b, 0xc4505039, + 0x38395050, 0x9aa0bb3e, 0x44603af0, 0x12131312, 0x3b3a6044, 0x3109855f, 0x2b2cea5f, 0x4d0b4c49, 0x5c5b4141, 0x42c27f73, 0x00822241, 0xc2424134, + 0xfcfee17f, 0x28f2671c, 0x4537374c, 0x3737459e, 0x0a8a284c, 0x00030029, 0x06b70013, 0x825603ed, 0x003d2207, 0x05616751, 0x5f610320, 0x06944b0f, + 0x03300322, 0x23075358, 0x11302330, 0x230f2b6c, 0x21302311, 0x35220182, 0x05840130, 0x30212308, 0x07020615, 0xcfe33021, 0x175d1772, 0x175b170d, + 0x228a2270, 0x05010903, 0x1e080c01, 0x08828208, 0x9744071f, 0x49123605, 0x08200712, 0x081f0808, 0x77124812, 0xfe9a0262, 0xfe410141, 0x067662ce, + 0x0301b732, 0xc8329b01, 0x32c83131, 0x45eefe44, 0x9d01fdfe, 0x6221874b, 0x0028097d, 0x4c000400, 0xb406ab00, 0x1426e382, 0x28001e00, 0xe5835f00, + 0x421ddb5d, 0x112107a6, 0x32994a01, 0xe45db920, 0x60192106, 0x2408e45d, 0x02ac2a2e, 0x07566813, 0xfe580327, 0x030c03d7, 0x23244a07, 0x4a0e1321, + 0xb7200624, 0x270eec5d, 0x2b292e28, 0x0296fed5, 0x2a065a68, 0x279e2840, 0x17101014, 0x49351d0c, 0x11210fc5, 0x0ec54910, 0x00820020, 0x73010430, + 0x8d0502ff, 0x4c001a05, 0xb4007d00, 0x1772e000, 0x4a172017, 0x072106e2, 0x22018406, 0x4a011e15, 0x0d8405f2, 0x22230622, 0x21051157, 0x17823727, + 0x4b0c2272, 0x27210a32, 0x06596b26, 0x2306364b, 0x32363701, 0x54855586, 0x07010e23, 0x33684121, 0x648a0120, 0x211d5149, 0x92675002, 0x28620811, + 0x101d1d28, 0x120a0a11, 0x1a171812, 0x1313331d, 0x11110b0b, 0x2c2c1f20, 0x24232f36, 0x15141c1b, 0x1c0d4f0f, 0x1d2d1211, 0x4045423d, 0xfe800347, + 0x238f2439, 0x1d1b1c33, 0x2a1b321e, 0x0a0b0f0f, 0x0f401005, 0x3713110b, 0x51662626, 0x0e0e1c1b, 0x1d161619, 0x691a201e, 0xfd52011b, 0x03d6fea7, + 0x9349030b, 0x1e373508, 0x2c3e100f, 0x222d392d, 0x14143423, 0x0d0d4e0f, 0x1b2c220e, 0x21069249, 0x074c3b0f, 0x50022405, 0x4b2438fe, 0x2a2107b3, + 0x08b34b1e, 0x5e854b20, 0xb34b1820, 0x10357208, 0x0b0c2708, 0x1f211617, 0x191a2029, 0x0d0c1414, 0x1a060406, 0x1c1d1415, 0x24242c25, 0x0e0e191a, + 0x11110a0a, 0x3e171615, 0x3d722214, 0x4b752009, 0x1c260961, 0x0e0e111c, 0x644b1314, 0x0e0d2107, 0x2305654b, 0x1f1f4429, 0x2105664b, 0x224c4605, + 0x4b62202b, 0x042028bb, 0x2806274f, 0x000f0056, 0x0337002e, 0x135b5e8f, 0x26243f6f, 0x27022605, 0x18011d33, 0x18223546, 0xc9158a45, 0xa65fa638, + 0x4a461826, 0x18152019, 0x22153d46, 0x183d3701, 0x94147745, 0xb3451814, 0xa6119111, 0xcc26a638, 0x3335215f, 0x103f4618, 0x663a0128, 0x01c901b2, + 0xf6706b06, 0x27282105, 0x2312f670, 0x5f18eb01, 0x4f034618, 0x0e03012d, 0x0e040c04, 0x0e380e04, 0x82390e7c, 0x04461807, 0x64012852, 0x7a186219, + 0x820f390f, 0x040b3a6b, 0x3d0f030e, 0xfdfc020f, 0x594502bb, 0x42b0fd59, 0x3d3c7f42, 0x2f38373c, 0x077a7130, 0x71343021, 0x4a200a7a, 0x03da4510, + 0x00002f55, 0x47000500, 0xb906ab00, 0x1e006103, 0x0b822f00, 0x70005828, 0x0e010000, 0xd76c0701, 0x05c67a0a, 0x14823320, 0x7b06d96c, 0x0520243e, + 0x013925a4, 0x103d0f10, 0x10046c6c, 0x791e1040, 0x9f287e1e, 0x2bad2b28, 0x02882283, 0x18d27a63, 0x07060627, 0x0231100f, 0x08209e52, 0x12f00122, + 0x02cf1246, 0x15acfe9e, 0x91251451, 0x2fbc2f24, 0x41fefe41, 0xf0fed134, 0x4040592e, 0x41405253, 0x3506797a, 0x2b49341b, 0x34482c76, 0x24341b1b, + 0x2b762c24, 0x1a1b2325, 0x24a35c1b, 0x06000022, 0x3a08934e, 0x0042002f, 0x008d0063, 0x00a00098, 0x21300500, 0x37303530, 0x35363736, 0x49343530, + 0x362a0adb, 0x32013e37, 0x1617011e, 0x814a1415, 0x0e072505, 0x05210701, 0x21052a56, 0x1d823435, 0x7c363721, 0x3d830693, 0x2105554d, 0x01822726, + 0x2f852220, 0x2305dd75, 0x01161716, 0x08514218, 0x2022f74e, 0x0cf27912, 0xfe450324, 0x1153d639, 0x055a5509, 0x4c1c1c2c, 0x0e375066, 0x160c0d0f, + 0x13531d17, 0x49012606, 0x3c2e2e3f, 0x0800820e, 0x2e2e3c23, 0x76767c3f, 0x1819227c, 0x06070f10, 0x100f0706, 0x18451918, 0x06100f19, 0x10060707, + 0xfe18190f, 0x200e4f89, 0xfb3d7426, 0x72726e3a, 0x2c0c0f4f, 0x2ebf68f2, 0x0c2f292a, 0x1d113831, 0x06c34926, 0x1b17172a, 0x2524351e, 0x2223282b, + 0x2207c349, 0x7c181767, 0x1733072e, 0xb8feb718, 0x0e0e5cb6, 0x24231a1a, 0x242c752d, 0x821a1a24, 0x1a0e29a1, 0x2c24231b, 0x23242d75, 0x03210e83, + 0x1f2d4f77, 0x014f0123, 0x0a2f4f4f, 0x00002008, 0x0b010600, 0xf50568fe, 0x1f000f05, 0x41003900, 0x55004b00, 0x00006f00, 0x22233001, 0x4e013d26, + 0x062014fd, 0x671afd4e, 0x012007f6, 0x20128777, 0x65411805, 0x112e080d, 0x13331123, 0x33373633, 0xe5022311, 0x3835395f, 0x11201f5b, 0x25262a12, + 0x36823536, 0x29262635, 0xa1676b7c, 0x0d2d4027, 0x2d0d0c0c, 0x09822740, 0x0d0d0c2d, 0x02402d0c, 0x01c76ded, 0x793bfbfb, 0x042b0cff, 0x23090515, + 0x18621909, 0x82196218, 0x67053908, 0x5a06b480, 0xfe677b59, 0x32313a68, 0x2b2b3407, 0x554c3e3d, 0x172b2c81, 0x2b3d0082, 0x9655812c, 0xa24513ad, + 0x2525331a, 0x252e6a2d, 0x1b1b3324, 0x2e252433, 0x25252d6a, 0x08ec6733, 0x76240121, 0x292d09e2, 0x3e2b282e, 0x2c124912, 0xb32d2db3, 0x3908822c, + 0x9e02fffd, 0xaaababfe, 0x000062fd, 0x85000200, 0x7b065400, 0x3400b803, 0x7f644d00, 0x131a4135, 0x33133d08, 0xb7012311, 0x10359469, 0x362c103e, + 0x51514435, 0x25264939, 0x2a3e3d7a, 0x5f436c4c, 0x5b314546, 0x465d2103, 0x20272848, 0x7e4a4421, 0x714e2975, 0x0b06fa03, 0x81130b2c, 0x13812423, + 0x06270882, 0x07e1a182, 0x64829ae0, 0x022a2d8c, 0x175a178f, 0x4040ec22, 0x088222ec, 0x037ffd38, 0x0156fe46, 0x00bafcaa, 0xb5000300, 0x4b066300, + 0x0b00a903, 0xad7b1500, 0x01092119, 0x3c11d576, 0x746801b6, 0xe1747f7f, 0x393934d8, 0x5a03d834, 0x178cedfe, 0x370a1758, 0x380f050f, 0x3409820a, + 0x2eba2e88, 0x89460363, 0xb2fe89e6, 0x3236c501, 0xfd36323a, 0x05a17631, 0x37c82522, 0x200aa176, 0x50008200, 0x6120071b, 0x2006bf45, 0x46bd457e, + 0x0834ce4e, 0x3d101521, 0x036d6d0f, 0x1f104010, 0x287f1e78, 0xac2b27a0, 0x8722832b, 0x5c3f6302, 0x0e0e0f3b, 0x445c3b0f, 0x31280543, 0x1f0d0d1f, + 0x1f314531, 0x22053b44, 0x501a0331, 0xdf453250, 0xef01213e, 0x3a2c7150, 0xff5b0105, 0x05a50502, 0x0034001a, 0x0048003e, 0x00a20081, 0x26220500, + 0x79373627, 0x3f54079f, 0x07022510, 0x2223012e, 0x180f3f54, 0x8914654b, 0x29016945, 0x570d5976, 0x162a0eb1, 0x02010e17, 0x2a765550, 0xc77f2625, + 0x1a0b2314, 0xc87f091e, 0x2d01210d, 0x35054544, 0x2e2aacb3, 0xfeac2a2e, 0x2b76542c, 0x2a242526, 0x4240372b, 0x40691618, 0x190d2111, 0x760e4069, + 0x21080574, 0x41692425, 0x2d227558, 0x3b48112e, 0x4e58584e, 0x0a134b3d, 0xfd79224d, 0x2323343d, 0x3916162b, 0x8c542731, 0x160a230e, 0x8d54081b, + 0xbf4b1812, 0x2e292507, 0x18012b28, 0x50693d89, 0xb12a0826, 0x404055a9, 0x4d2d2c2d, 0x3019194b, 0x665d6a39, 0x313e695d, 0x52492f06, 0x04000000, + 0xb7002e00, 0x5603d206, 0x27000f00, 0x41183600, 0xd55e15e7, 0x61132015, 0x6225182d, 0xfc01c86c, 0x09ad5570, 0x40ed832b, 0x28252569, 0x69252528, + 0x05f66040, 0x41188120, 0x022009e8, 0x2705bb70, 0x2a2a9e02, 0x7da87d2a, 0x60270582, 0x5b6c5b5e, 0x8222fe5e, 0x06002d9e, 0x02ff4b01, 0x1a05b505, + 0x1e001500, 0x4930ab82, 0xd8016e00, 0x30050000, 0x30213035, 0x37123635, 0x2e053d74, 0x30233015, 0x30253015, 0x30113033, 0x5e010e23, 0x3e200714, + 0x08d34418, 0x3d480120, 0x012e2307, 0x197e0622, 0x021e2407, 0x6a262201, 0x816d0800, 0x06072206, 0x8146181d, 0x33352b0e, 0x010f2311, 0x150e0f15, + 0x05840d0f, 0x0b910882, 0x012e0527, 0x3f353727, 0x2002840b, 0x8805840a, 0x9306200b, 0x33073c17, 0x02153311, 0x2dc9fea1, 0x5c8e2db5, 0xdbbffe5c, + 0x028e2307, 0x3c5c3eaf, 0x181d0f0e, 0x2009bd44, 0x26008207, 0x45310f0f, 0x820f1031, 0x1f073909, 0x83eefd31, 0x68492796, 0x3b3b5841, 0x103c0f21, + 0x4d3b4811, 0x2c2d2d2c, 0x0ad84918, 0x08bc2f22, 0x2e3b4c18, 0x0b222eeb, 0x6ed20b2c, 0x53d20220, 0xa6010124, 0x4a18f2a3, 0xfe290ea5, 0x40582fe2, + 0x83515241, 0xaa451858, 0x25243b07, 0x252b752c, 0x1c1a1a24, 0x241a1a1c, 0x2c752b25, 0x1c332425, 0xa9b10603, 0x48188055, 0x342c0f61, 0x2309313e, + 0x29294909, 0xf5015a0b, 0x54d0b1d4, 0x0a280a22, 0x508953d0, 0x8655b641, 0xbcfd235f, 0x0082005a, 0x00023508, 0x065f025c, 0x007105a4, 0x001b0003, + 0x15211300, 0x37270121, 0x15333517, 0x33071737, 0x07172315, 0x35231527, 0x23372707, 0x48065c35, 0xc204b8f9, 0x3c8c2a8c, 0xc6210382, 0x240887c6, + 0x0246a502, 0x84118c22, 0x0000261a, 0xff5c0001, 0x225b8225, 0x821400d6, 0x32380859, 0x053e012c, 0x2e341135, 0x23022c03, 0x34019d5c, 0xc7f60501, + 0x2e5b7fad, 0xccaa6f3c, 0xe5fef8fe, 0x02ada9fe, 0x725633a5, 0x667a837e, 0x4ff90e47, 0x907d5b15, 0x3e688691, 0x0124478d, 0x2e012c22, 0x3e204783, + 0x33274782, 0xfe9da406, 0x89fbfecc, 0x08012548, 0x57011b01, 0xef824896, 0x2a000532, 0xd60638ff, 0x04009405, 0x44004000, 0x08014b00, 0x302b9b82, + 0x04210721, 0x07030e22, 0x5707040e, 0x352e06eb, 0x32333634, 0x32041e17, 0x3e37033e, 0x0c833704, 0x16171624, 0x1e831415, 0x03032e39, 0x01211521, + 0x25052315, 0x34253523, 0x3233023e, 0x32361716, 0x8217031e, 0x06142126, 0x36210583, 0x25058332, 0x37013e17, 0x4782033e, 0x40843620, 0x1e222883, + 0x0c863101, 0x33231784, 0x83021e32, 0x215b8529, 0x61851415, 0x2e272629, 0x35343501, 0x8327022e, 0x010e2e6e, 0x0e272223, 0x22060701, 0x0e070627, + 0x830c8603, 0x82022006, 0x83b0840e, 0x21038626, 0xba82022e, 0x34273b08, 0x0e35010e, 0x27262701, 0x35161726, 0x37062734, 0x23363734, 0x015c2622, + 0x62fe46e4, 0x6154e004, 0x0f2f4f50, 0x403c1507, 0x4b522c5b, 0x354da793, 0x1b151d08, 0x4f2f0f0f, 0x1b9a6150, 0x01ddd408, 0xfe62fee4, 0x00019610, + 0xfc960001, 0x240e047a, 0x0b1b131a, 0x0c171f0e, 0x11020208, 0x0211151b, 0x38040706, 0x1010072e, 0x10020c0e, 0x0c060308, 0x090a0c13, 0x39530b06, + 0x2c040d13, 0x180c1128, 0x0c2f411e, 0x040d151d, 0x13241a0e, 0x1e271420, 0x0a11140c, 0x2f090909, 0x012c2149, 0x0f121a13, 0x06100418, 0x1425210f, + 0x192a100f, 0x2410171c, 0x0d210912, 0x1a132e0e, 0x0718133b, 0x380d0607, 0x1b0e2909, 0x0d111a14, 0x07122f34, 0x11191008, 0x10160b0a, 0x171c1010, + 0x0c22180f, 0x1108221a, 0x01030d16, 0x27061716, 0x01021a03, 0x03011008, 0x07080201, 0xb9021a12, 0x422fbb6e, 0x09173c52, 0x4b424a1d, 0x4ea72d18, + 0x150f0d4d, 0x3c17161d, 0x972f4252, 0x01900818, 0x25016e58, 0xfaf0f0fa, 0x291d0da0, 0x071b151a, 0x111d110e, 0x3a26170e, 0x0d0c020b, 0x37050507, + 0x100b0910, 0x0c080409, 0x41040d67, 0x373b1f27, 0x070e1860, 0x17121d11, 0x0f150926, 0x43520110, 0x12043804, 0x08340105, 0x0c101711, 0x030b122d, + 0x423e0804, 0x1d2f070b, 0x450b2411, 0x1c141110, 0x0e1d0f33, 0x4d0a5d09, 0x0c18180c, 0x17022d41, 0x08172116, 0x1b0c1105, 0x05222614, 0x0319220e, + 0x0c020717, 0x0502030c, 0x02041102, 0x01040202, 0x02240382, 0x00171a07, 0x0807b343, 0x0b004925, 0x00000f00, 0x15331501, 0x35231523, 0x35333523, + 0x21152101, 0xb4b49805, 0xfbb4b464, 0xf9480628, 0x834905b8, 0xb464380b, 0x00465cfd, 0xff530005, 0x058c063e, 0x000600a7, 0x002c0028, 0x82370030, + 0x3311293d, 0x1133010b, 0x27072327, 0x03200183, 0x0b260584, 0x021b3502, 0x01821737, 0x05841320, 0x21331729, 0x022b1533, 0x85373335, 0x042e082d, + 0xcecea0a1, 0x4ac936a0, 0x2f303f33, 0x373a3a3f, 0x36103119, 0x37272737, 0x19311036, 0x3f3a3a37, 0x333f302f, 0xf201c94a, 0x73bc8a8a, 0x2c838873, + 0x08024708, 0x2201b001, 0x50fedefe, 0xa93ed63a, 0xfee3cd72, 0x6a8b54fc, 0xd4fe92df, 0xeb010401, 0x01eb0189, 0xb7affe04, 0x548b6adf, 0xcde3fcfe, + 0xd63ea972, 0xfe3a6161, 0x01defe50, 0x00b00122, 0x5c000300, 0xa40637ff, 0xbb82e005, 0x3b000d22, 0x2326b783, 0x11230109, 0x06841103, 0x012f0122, + 0x0585bf85, 0x0f840f20, 0x1f020f22, 0x3f23c482, 0x85011f01, 0x280586c4, 0x01c83403, 0xc8140114, 0x3d068598, 0x7238d802, 0x484b604e, 0x545a5a60, + 0x54184b27, 0x4b394b45, 0x39155a36, 0x15392525, 0x0c82365a, 0x18544531, 0x5a54274b, 0x4b48605a, 0x01724e60, 0x84fcfe5d, 0x02042294, 0x83b9825d, + 0xfc3008d1, 0x381bc8fe, 0x512d4204, 0x37216659, 0x8448582a, 0x4b645a70, 0x438f523b, 0x8f4a656c, 0x644b3b52, 0x4884705a, 0x21372a58, 0x2d515966, + 0x00380442, 0x023b0082, 0x22ff4b00, 0xd005b506, 0x2a000900, 0x15050000, 0x2115012d, 0x35010d35, 0x8b171301, 0x8d3f20ad, 0x070324d9, 0x836d0103, + 0x2604227e, 0x087a8201, 0x4ed3fa26, 0x621f6d6e, 0x75756d32, 0x7d615e7d, 0x49499466, 0x617d6694, 0x75757d5e, 0x1f62326d, 0x3e4e6e6d, 0xa0cecea0, + 0x33080383, 0x7efe5403, 0xb073eccd, 0xcc426e54, 0x8459a1b2, 0x35369931, 0x59843199, 0x42ccb2a1, 0x90b0546e, 0xfecd0901, 0x0200007e, 0x6aff5e00, + 0x7b05a206, 0x1f000b00, 0x300e5b42, 0x27032703, 0x1127020b, 0x37021b37, 0x21133713, 0x06694215, 0x87c7fe21, 0x21868774, 0x7742a702, 0xf0fc3307, + 0xfe629dfe, 0xbefeb2f7, 0x67fe6501, 0x84070584, 0x098267fe, 0xfeb2be2f, 0x9dfe62f7, 0x00030074, 0x063eff53, 0x069342af, 0x00002f2c, 0x0d352113, + 0x03213501, 0x07412115, 0x05804205, 0x35021b22, 0xa0427982, 0x03072109, 0xcb202685, 0x22075442, 0x42450355, 0x3b21068c, 0x0b8c4236, 0x423b3621, + 0x9620068c, 0x28074b42, 0xcea00304, 0xfcfea0ce, 0x26864261, 0x839bfe21, 0x8200202f, 0x00042800, 0x065effc8, 0x82a60538, 0x000f2bb5, 0x001f001b, + 0x21352500, 0x7f430315, 0x2e0b8b0b, 0x04112311, 0xb4cc016c, 0xb464b4b4, 0x84c0fcb4, 0x31022706, 0x6464a05a, 0x95439c04, 0x5cfe2105, 0x02250785, + 0x06b8f90e, 0x21628248, 0x8f470100, 0xa5022105, 0x002c6382, 0x21152113, 0xf948065c, 0x46a502b8, 0x053a1c82, 0x08ff5601, 0x1505aa05, 0x39000f00, + 0x65004500, 0x00008f00, 0x11333505, 0x715e0623, 0x11332a05, 0x14011533, 0x07020e07, 0x058b5523, 0x82012e21, 0x020e211a, 0x12525018, 0x50180420, + 0xe84b0a86, 0x0d146308, 0x1e373628, 0x07061701, 0xce672506, 0x2726210f, 0x3210136a, 0x15210706, 0x07bc9c01, 0x2c0b3765, 0xa56e3d0b, 0x671c02a3, + 0x382c05da, 0x2d22215b, 0x0104020d, 0x250e0f0a, 0x12205018, 0x75d9fe32, 0x41754242, 0x958456fe, 0x41694926, 0x5b227657, 0x1806104e, 0x0808aa52, + 0xfee2025f, 0x3307cf39, 0x323b1b1c, 0x151e2a1b, 0x0a332c05, 0x4c371312, 0x1b1c5066, 0x2c190e0f, 0x4f201e1d, 0xf852014f, 0x6bf5015b, 0x0a270a3b, + 0xbcfd7743, 0x49a5015b, 0x556b4140, 0x284d2a1b, 0x01365929, 0x12121401, 0x0e0f101a, 0x31304c37, 0x1e1e2a2b, 0x44131221, 0x3e923030, 0x3f3c0e3c, + 0x3104823f, 0xa9b2ca01, 0x2d588154, 0x2f314b4d, 0x655d6a39, 0x8b4a6a5d, 0xb8682f08, 0x2a292f07, 0x38310c2e, 0x16271d10, 0x9f691411, 0x1d1b390d, + 0x5c43441c, 0x04000000, 0x08ff2e01, 0x1505c705, 0x35001300, 0x86004d00, 0x23130379, 0x30013011, 0x2310b552, 0x13303330, 0x11220386, 0x21822330, + 0x6d15514e, 0x01213727, 0x088e612e, 0x0905c437, 0x62180923, 0x18621819, 0x05082409, 0x06b38168, 0xfc687bb4, 0x3b3a6d2b, 0x9f02f832, 0xfe60bb60, + 0x120102dc, 0xb32d1248, 0x2db32c2c, 0xfd2b0882, 0xfe9f02ff, 0xfd5501ab, 0x84620361, 0x61c32220, 0xc441180b, 0x7817200a, 0x450805ec, 0x242c515c, + 0x1a1b3124, 0x2d0b321b, 0x2e28220b, 0x15152a2c, 0x5c130d0a, 0x27262f51, 0x001e1b1b, 0x006b0001, 0x049506d3, 0x00440031, 0x16320100, 0x0e071415, + 0x23060702, 0x27052e22, 0x23262726, 0x07060722, 0x1083010e, 0x35264508, 0x37363734, 0x3233063e, 0x1617051e, 0x32331617, 0x3f013e37, 0x06023e01, + 0x072a1e4c, 0x3266240b, 0x522a6e72, 0x362f4442, 0x2149131b, 0x43305d70, 0x10125946, 0x1e14110d, 0x0a04122a, 0x30381c14, 0x264d4043, 0x3108218b, + 0x572a4832, 0x0b031615, 0x2aca021f, 0x160f111e, 0x72329341, 0x39472a1e, 0x84242e55, 0x4643a831, 0x08151e98, 0x1c1e2a0a, 0x22110614, 0x443a522e, + 0x1d891d2a, 0x7c2a4828, 0x0e072828, 0x00820013, 0x1e00033e, 0xce0649ff, 0x0b00cc05, 0x4e002b00, 0x14040000, 0x22212306, 0x33363426, 0x22253221, + 0x0127b883, 0x3233013e, 0x82210117, 0x82e28203, 0x012729de, 0x09272221, 0x13010e01, 0x0620f384, 0x1582e682, 0x82012f21, 0x3336252c, 0x03011f32, + 0x17210885, 0x08e48213, 0x1d0b0238, 0x159ffe15, 0x01151d1d, 0x8afe1561, 0x01021d15, 0x111a0561, 0x82010f19, 0x0f1c8c01, 0x1d078d01, 0xfe0f1c15, + 0x1977fe82, 0xfeaafe0f, 0x9a1a05bc, 0x011a0f0a, 0x54820301, 0x05055408, 0x0a0f0fd2, 0xa38b0505, 0x0e0a0f03, 0x0111a408, 0x1d2a700e, 0x5d1d2a1d, + 0x0707151d, 0x1410a604, 0x18effd15, 0x0e0c80fd, 0x02181d15, 0xd4011568, 0x1410bbfb, 0x0a0f4a05, 0x0403e101, 0x02040407, 0x0a10075b, 0x013d020f, + 0x0a070615, 0xe9fe0c0f, 0x840d0995, 0x844620f3, 0x841420f3, 0xad4f20f3, 0x830120f3, 0x010f22f3, 0x24e98225, 0x07141516, 0x06734b05, 0x23012f24, + 0xf7822726, 0x3f363726, 0x9c033601, 0x6f20f482, 0x9123f484, 0xa2f9fc15, 0x52033ef4, 0x48040f0a, 0x04042d01, 0xfe110f0a, 0x0f0d89c7, 0xba05070a, + 0x04030501, 0x6c020101, 0x3df6a307, 0x070b0e03, 0x01687906, 0x05120b0e, 0x0f074d6d, 0x69030f0a, 0x08060503, 0x03020404, 0xf6820cb4, 0x00030022, + 0xb020f785, 0x5120f784, 0x3421f7ae, 0x22f98236, 0x83373613, 0x07142406, 0x82270706, 0x22232104, 0xf941f583, 0x16172407, 0x82410517, 0x845b20f9, + 0x15a523f9, 0xf9a354fb, 0x140fb32e, 0x068d010f, 0x050f1408, 0x12022196, 0x092bf183, 0x6b4f0607, 0x0d0a0f05, 0xa3375a07, 0x0a8d3ffa, 0xfe0a0f0f, + 0x0806bd54, 0x06090a0f, 0x13052dc7, 0x06010105, 0x06916a06, 0x0a0f0a09, 0xf3414a79, 0x05e22108, 0x2005f341, 0x41fbae50, 0x022206ec, 0x09853707, + 0x4d010f21, 0x34210585, 0x06eb4223, 0x36011f24, 0xfa82ce06, 0xfa847320, 0xf9158d23, 0x3efaa2c7, 0x1206e605, 0x5f010f0a, 0x0707a328, 0xe00b0f0a, + 0x06070807, 0x62010307, 0x110a0f02, 0xa22a4c06, 0x9e043ef9, 0x040a0f11, 0x74e2fe04, 0x0a0f046b, 0x0493070e, 0x01070404, 0x05040d01, 0xcc110f0a, + 0x08f7827d, 0x7d00022f, 0x83067cff, 0x0600b605, 0x00001200, 0x0b371101, 0x00111701, 0x27220614, 0x36342601, 0x05011732, 0xe2e2b7cc, 0x2c0d01b7, + 0x90fa163e, 0x35058216, 0xb6057005, 0xfe469afe, 0x462101df, 0x31fa6601, 0x05162c3e, 0x05821670, 0x0090fa23, 0x204f8b00, 0x294f881f, 0x23061401, + 0x012c3122, 0x0f410027, 0x17162606, 0x05000112, 0x385c891e, 0xddfe011f, 0xfebd14fe, 0x2c017588, 0x05291c1f, 0x0157016c, 0x1f120252, 0x386b8c2b, + 0x052c1f12, 0x7801bdc6, 0x0706ae02, 0x1b242c1f, 0xa9fe82fd, 0x010aaefe, 0x2077842c, 0x20c7825f, 0x34c78583, 0x1b071105, 0x24112701, 0x37342622, + 0x16323601, 0x05010714, 0x21c78376, 0xae8a1bfb, 0x6601a02b, 0xfe210146, 0x9afe46df, 0x83d8841d, 0x85c583de, 0x224f87c7, 0x8600002f, 0x05f0444f, + 0x3e373626, 0x24363706, 0x2606e243, 0x04060706, 0x8207020e, 0x07062202, 0x0865860e, 0x1ffcfa28, 0x5331062c, 0x2a3f2322, 0x27493840, 0x01b60192, + 0x1f04034c, 0xb61d272c, 0xa3d0e2fe, 0x461f3472, 0x33532b2f, 0x818c2608, 0x0f1f2408, 0x5ad7760e, 0x7b569959, 0x92275d55, 0x2c0120a8, 0x032b1d1f, + 0x865c4312, 0x9f3b6495, 0x78d96f78, 0x82001915, 0x00043400, 0x0644ff46, 0x00b405ce, 0x000e000d, 0x00300020, 0x45330100, 0x23270a7d, 0x01032531, + 0x4523010e, 0x09280a9d, 0x15163201, 0x06010714, 0x36231486, 0x4564ab04, 0x87280a5d, 0xfeef6ffe, 0x111a05bc, 0x290a9542, 0x1f310215, 0x49fc0c2c, + 0x06822916, 0x16b70324, 0x4a45ee02, 0x01a12609, 0x10bbfb48, 0x08664514, 0x0284fe2a, 0x161f2c30, 0x2327fa12, 0x05220683, 0xa68223d9, 0x0e240282, + 0x0100ae00, 0x02850782, 0x0b860220, 0xb7820120, 0x0b861f20, 0x07000224, 0x0b863d00, 0x26000324, 0x0b869300, 0x23820420, 0x0b86d620, 0x0f000524, + 0x0b860401, 0x0c00062b, 0x03002e01, 0x09040100, 0x85008500, 0x0001240b, 0x8603001a, 0x00022417, 0x862d000e, 0x0003240b, 0x8645004c, 0x8204200b, + 0x86ba2023, 0x0005240b, 0x86e4001e, 0x0006240b, 0x83140118, 0x0046304c, 0x00720075, 0x0061006e, 0x00650063, 0x82490020, 0x826f2007, 0x00732e0f, + 0x72754600, 0x6563616e, 0x6f634920, 0x200e826e, 0x201f8252, 0x202d8267, 0x282b826c, 0x52000072, 0x6c756765, 0x21088261, 0x2f830046, 0x83007421, + 0x00722207, 0x20458467, 0x9949823a, 0x00202159, 0x32221f83, 0xb2823800, 0x30003122, 0x32200582, 0x32220582, 0x73823300, 0x746e6f2a, 0x67726f46, + 0x203a2065, 0x0f827f8c, 0x2d383228, 0x322d3031, 0x27833230, 0x5620b6a8, 0x72249082, 0x69007300, 0x2020a684, 0x30246882, 0x2e003100, 0x30300784, + 0x65560000, 0x6f697372, 0x3030206e, 0x30302e31, 0xb68d1082, 0x41110e41, 0x0024060d, 0x00020000, 0x0120008b, 0x0b840c8b, 0x05825720, 0x0001b208, + 0x01030002, 0x01030102, 0x01050104, 0x01070106, 0x01090108, 0x010b010a, 0x010d010c, 0x010f010e, 0x01110110, 0x01130112, 0x01150114, 0x01170116, + 0x01190118, 0x011b011a, 0x011d011c, 0x011f011e, 0x01210120, 0x01230122, 0x01250124, 0x01270126, 0x01290128, 0x012b012a, 0x012d012c, 0x012f012e, + 0x01310130, 0x01330132, 0x01350134, 0x01370136, 0x01390138, 0x013b013a, 0x013d013c, 0x013f013e, 0x01410140, 0x01430142, 0x01450144, 0x01470146, + 0x01490148, 0x014b014a, 0x014d014c, 0x014f014e, 0x01510150, 0x01530152, 0x6e750754, 0x46304569, 0x20078630, 0x20078631, 0x20078632, 0x20078633, + 0x21078434, 0x27853031, 0x85303121, 0x30312127, 0x31212785, 0x21278530, 0x27873031, 0x2f863520, 0x07863620, 0x07863720, 0x07863820, 0x07863920, + 0x07864120, 0x07864220, 0x07864320, 0x07864420, 0x07864520, 0x07854620, 0x86303121, 0x86312007, 0x207f8607, 0x207f8631, 0x207f8631, 0x207f8631, + 0x207f8631, 0x207f8631, 0x207f8631, 0x207f8631, 0x207f8631, 0x207f8631, 0x207f8631, 0x207f8631, 0x207f8631, 0x217f8631, 0x77853032, 0x86313221, + 0x207f8607, 0x207f8632, 0x207f8632, 0x207f8632, 0x207f8632, 0x207f8632, 0x207f8632, 0x207f8632, 0x207f8632, 0x207f8632, 0x207f8632, 0x207f8632, + 0x207f8632, 0x217f8632, 0x77853033, 0x86313321, 0x207f8607, 0x207f8633, 0x207f8633, 0x207f8633, 0x207f8633, 0x207f8633, 0x207f8633, 0x207f8633, + 0x207f8633, 0x207f8633, 0x207f8633, 0x207f8633, 0x207f8633, 0x217f8633, 0x77853034, 0x86313421, 0x207f8607, 0x207f8634, 0x207f8634, 0x207f8634, + 0x207f8634, 0x207f8634, 0x207f8634, 0x207f8634, 0x207f8634, 0x207f8634, 0x287f8634, 0x00004434, 0xffff0100, 0x07494500, 0x0c000026, 0x04001400, + 0x02241582, 0x01000000, 0x09850386, 0x55e00024, 0x11822068, 0x0c6f7718, 0xeedffa05, 0x0000fbf9, }; diff --git a/src/gui/furIcons.h b/src/gui/furIcons.h index a97085bd8..26eca38c4 100644 --- a/src/gui/furIcons.h +++ b/src/gui/furIcons.h @@ -1,7 +1,7 @@ // not auto-generated. update every time you change icons.ttf! #define ICON_MIN_FUR 0xe0f0 -#define ICON_MAX_FUR 0xe144 +#define ICON_MAX_FUR 0xe14d // test #define ICON_FUR_TEST0 u8"\ue0f0" @@ -83,4 +83,13 @@ #define ICON_FUR_SAMPLE_TRIM u8"\ue141" // misc -#define ICON_FUR_SINE u8"\ue144" \ No newline at end of file +#define ICON_FUR_SINE u8"\ue144" +#define ICON_FUR_ADSR_A u8"\ue145" +#define ICON_FUR_ADSR_D u8"\ue146" +#define ICON_FUR_ADSR_S u8"\ue147" +#define ICON_FUR_ADSR_R u8"\ue148" +#define ICON_FUR_DEC_LINEAR u8"\ue149" +#define ICON_FUR_DEC_EXP u8"\ue14a" +#define ICON_FUR_INC_LINEAR u8"\ue14b" +#define ICON_FUR_INC_BENT u8"\ue14c" +#define ICON_FUR_VOL_DIRECT u8"\ue14d" \ No newline at end of file diff --git a/src/gui/guiConst.cpp b/src/gui/guiConst.cpp index 55a638d6c..a31273004 100644 --- a/src/gui/guiConst.cpp +++ b/src/gui/guiConst.cpp @@ -1005,14 +1005,14 @@ const FurnaceGUIColorDef guiColors[GUI_COLOR_MAX]={ D(GUI_COLOR_PATTERN_STATUS_MISC2,"",ImVec4(0.7f,0.5f,1.0f,1.0f)), D(GUI_COLOR_PATTERN_STATUS_MISC3,"",ImVec4(1.0f,0.1f,0.1f,1.0f)), D(GUI_COLOR_PATTERN_STATUS_ATTACK,"",ImVec4(1.0f,0.1f,0.1f,1.0f)), - D(GUI_COLOR_PATTERN_STATUS_DECAY,"",ImVec4(1.0f,0.1f,1.0f,1.0f)), + D(GUI_COLOR_PATTERN_STATUS_DECAY,"",ImVec4(0.1f,0.4f,0.5f,1.0f)), D(GUI_COLOR_PATTERN_STATUS_SUSTAIN,"",ImVec4(0.1f,1.0f,1.0f,1.0f)), - D(GUI_COLOR_PATTERN_STATUS_RELEASE,"",ImVec4(0.1f,0.2f,1.0f,1.0f)), - D(GUI_COLOR_PATTERN_STATUS_DEC_LINEAR,"",ImVec4(1.0f,1.0f,0.1f,1.0f)), - D(GUI_COLOR_PATTERN_STATUS_DEC_EXP,"",ImVec4(1.0f,0.5f,0.1f,1.0f)), - D(GUI_COLOR_PATTERN_STATUS_INC,"",ImVec4(1.0f,1.0f,0.1f,1.0f)), - D(GUI_COLOR_PATTERN_STATUS_BENT,"",ImVec4(1.0f,0.5f,0.1f,1.0f)), - D(GUI_COLOR_PATTERN_STATUS_DIRECT,"",ImVec4(0.2f,1.0f,0.2f,1.0f)), + D(GUI_COLOR_PATTERN_STATUS_RELEASE,"",ImVec4(1.0f,0.1f,1.0f,1.0f)), + D(GUI_COLOR_PATTERN_STATUS_DEC_LINEAR,"",ImVec4(0.0f,0.6f,0.7f,1.0f)), + D(GUI_COLOR_PATTERN_STATUS_DEC_EXP,"",ImVec4(1.0f,0.3f,0.0f,1.0f)), + D(GUI_COLOR_PATTERN_STATUS_INC,"",ImVec4(0.1f,0.1f,1.0f,1.0f)), + D(GUI_COLOR_PATTERN_STATUS_BENT,"",ImVec4(1.0f,1.0f,0.1f,1.0f)), + D(GUI_COLOR_PATTERN_STATUS_DIRECT,"",ImVec4(1.0f,0.5f,0.2f,1.0f)), D(GUI_COLOR_PATTERN_PAIR,"",ImVec4(0.6f,0.8f,1.0f,1.0f)), From af8c926c8afd0f98a1f12e1169897077b11e36ef Mon Sep 17 00:00:00 2001 From: tildearrow Date: Sat, 28 Oct 2023 02:41:34 -0500 Subject: [PATCH 16/99] GUI: fix an annoyance in sample editor --- src/gui/sampleEdit.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/gui/sampleEdit.cpp b/src/gui/sampleEdit.cpp index 9e8212216..5a57483dd 100644 --- a/src/gui/sampleEdit.cpp +++ b/src/gui/sampleEdit.cpp @@ -572,6 +572,7 @@ void FurnaceGUI::drawSampleEdit() { sampleNoteCoarse=i; coarseChanged=true; } + if (i==sampleNoteCoarse) ImGui::SetItemDefaultFocus(); } ImGui::EndCombo(); } else if (ImGui::IsItemHovered()) { From 80ef90f62642b083a4bffd7b56495efeab21e310 Mon Sep 17 00:00:00 2001 From: tildearrow Date: Sat, 28 Oct 2023 04:09:07 -0500 Subject: [PATCH 17/99] add more icons to icon font --- res/icons.sfd | Bin 408030 -> 31848 bytes res/icons.ttf | Bin 30848 -> 31824 bytes src/gui/font_furicon.cpp | 708 ++++++++++++++++++++------------------- src/gui/furIcons.h | 17 +- 4 files changed, 376 insertions(+), 349 deletions(-) diff --git a/res/icons.sfd b/res/icons.sfd index 49866fbb77fce5fd8dd4b6ab12a76af9e05aa453..047747543202676406329dca250e2e5b321e4970 100644 GIT binary patch literal 31848 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 PuP+#>fFo0$tNs4~vNr8* literal 408030 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�Grtxt%e}X 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

tmmhFx4Q?sl0Jrq< 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�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�C_HNF($@z*S%QY23I0#@m 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 EH>aXd_W%F@ delta 1414 zcmX|B4NR3)7=GUGyXX7(Q7^@B{0R<$L_yJPrjRbYSI{dH=xT+78xmLG!c{1*f&n^R zIh&(1tj#r)%^cE@I%4W_b7?=C6K9J^TjADPx^iV{*23HS;jNv0-+ABXJ?A;^bIyCt zmHX8B8+CvHOhYGhR686MuD;<HA z{3AQR=m)d_WA|%bX-&goTQgwubKF+vY4Hbx%#6TN_QUELx4v{V&%X~48G!F|Z>^_e zLq_o3AP0ZuZ=siw@EwL=G9G{oudg+bvop4a{j=_~#4ZfWLM^@6O}S`5 zDjbt-J03QNm7lejlV9?r6yOef)(IxVhEeXrxM|#{jsJ1OB|p;6sUF=R`HoFVuV@qD zu-pEWjoGi8I*Y0?nq|P~q5;*kV3Dbp1vQmAr;SV-OC2!A)k*te61i+%RrjM(G*Mx^ zpr2HU(K_*z)R=TKR|dn3VG*kwvF8|*5%CwqL)x+U4&e)GLaNGymo?K3JF@VkJX;wj zZzs0#^!lVnNK`ZTLD`x7nd!ub#wpz`SEsa*rY@%V$czt$iJQz_IGspD@W^|zDD4|- z<@C37?oMQEBvH!v`!XZ*6N**0GPl$J3cDG2kljsYLU5Y+N!aE7S-+EA?#cN}^t14_ z^0nDLyi)2Mo|Daqj;VvWRYV_uF!wqM7XwO-&pSru2r7(u`boKe{@1*wwNGXQi@wK+ z4K99+gw6>}s7p)2tvwknh$kk!UARUQ+n8gwDq2>caV9&SsUs`HqMcT}$x%zGn%#k!rFJQ_+AVc$91==FP=)Gg$dqJ?Im3rqu(*Axy~5E$?Kg`=gSK$BJJ4= zWJW&lio3$DuDYKlKB6{GHg4SwG0ZAg%751Fnrd-+xSsO3R$rA@%AM+~=VGksx1Jv% za?8_|2iS41&kGZU#$Itm?WvuviF%_?w8_D`1_qBYnChKLrkl^?C`&Kdc)-&0W4(*a z27GDs*ygFH8qW}w%3quEWL8sxT-tOfii^_`EH*BSAw(hvYdBb}<&j*{d`N!VJVEX9 zn!l9)vo>v^D%rQGl>c`&_0ns=ZQ)j5|m*R@sYe6KMT(?hlf69pk#MM(%8C&=ymvx&gn~=!XLtEo@=Rlu38PKr`%R>Ph4>}#P1#jpN yA=^L#@gpgRw#-&Dw?vU#5J=}2#2pw^iCf>+I0WK%@W1?lDTt97?X$G1q<;Yu31=Sw diff --git a/src/gui/font_furicon.cpp b/src/gui/font_furicon.cpp index b8a841ecc..4c38206f0 100644 --- a/src/gui/font_furicon.cpp +++ b/src/gui/font_furicon.cpp @@ -1,352 +1,366 @@ #include "fonts.h" -// File: 'icons.ttf' (30848 bytes) +// File: 'icons.ttf' (31824 bytes) // Exported using binary_to_compressed_c.cpp -const unsigned int furIcons_compressed_size = 16494; -const unsigned int furIcons_compressed_data[16496/4] = +const unsigned int furIcons_compressed_size = 17169; +const unsigned int furIcons_compressed_data[17172/4] = { - 0x0000bc57, 0x00000000, 0x80780000, 0x00000400, 0x00010037, 0x000e0000, 0x00030080, 0x54464660, 0xc6b5a24d, 0x780000db, 0x28158264, 0x4544471c, - 0x00150046, 0x200f8214, 0x2b0f8348, 0x322f534f, 0x8152fa8c, 0x68010000, 0x562c0f82, 0x70616d63, 0xa9cb83cf, 0x78020000, 0xf82c1382, 0x20747663, - 0x6f043b00, 0x70040000, 0x04261f82, 0x70736167, 0x5982ffff, 0x40780022, 0x08380f82, 0x66796c67, 0x8f702faa, 0x24050000, 0xc86d0000, 0x64616568, - 0xffa6ff24, 0xec201b82, 0x36210382, 0x23108268, 0x05068209, 0x1f824b82, 0x68240029, 0x2b78746d, 0x82631583, 0x82c0200f, 0x6cb6281f, 0xda61636f, - 0x8232f636, 0x8274205f, 0x6db0270f, 0x00707861, 0x3b8203a1, 0x9f830120, 0x616e202b, 0x86ae656d, 0x0000ccc4, 0x30138372, 0x736f70e9, 0xa5410a74, - 0x740000b5, 0x030000d8, 0x2deb8468, 0x1e000001, 0x5f4d4a80, 0x00f53c0f, 0x4682070b, 0xe0000025, 0x839ffffd, 0x62e12b08, 0x80fc1b5f, 0x000768fe, - 0x0f82e005, 0x02000822, 0x02830582, 0x06213382, 0x29a68300, 0x80fc0007, 0x00070000, 0x16830100, 0x0420038a, 0x57251184, 0x0800bb03, 0x21008300, - 0x23830002, 0x40222583, 0x0b822e00, 0x072b0d82, 0x00900100, 0x04000005, 0x82e6048c, 0x85fa2011, 0x5c032b07, 0xcf015900, 0x00020000, 0x15820905, - 0x01210285, 0x84078510, 0x75462905, 0x40005472, 0x4de12000, 0x06208385, 0x04856a84, 0x3b208b84, 0x07202683, 0x03830482, 0x0280fc25, 0x82910009, - 0x0052220c, 0x2c798220, 0x003500a5, 0x0029004b, 0x006d0191, 0x349b8278, 0x00470060, 0x00170152, 0x004a000a, 0x0032018f, 0x004f001b, 0x2631822e, - 0x011801ca, 0x82a90036, 0x0028251b, 0x004d0133, 0x23829182, 0x22000338, 0x7a017c01, 0x39003900, 0xce012701, 0x4c001300, 0x22007301, 0x0d824700, - 0x85000b24, 0x0f82b500, 0x2e005b26, 0x5c004b01, 0x2a200184, 0x53200582, 0x4b320382, 0x53005e00, 0x5c00c800, 0x2e015601, 0x1e006b00, 0x01844600, - 0x85007d21, 0x82462001, 0x0000229f, 0x83058203, 0x861c2003, 0x00f222cb, 0x24098403, 0x0004001c, 0x2e1b82d6, 0x00080008, 0x00000002, 0xe1f4e020, - 0x84ffff4d, 0xe1f02609, 0xffffff00, 0x200b82e3, 0x222b8400, 0x820e0006, 0x0004260b, 0x00060005, 0x202f8207, 0x24b58209, 0x000c000b, 0x2617820d, - 0x0010000f, 0x82120011, 0x00142cb5, 0x00160015, 0x00180017, 0x821a0019, 0x001c22f3, 0x0893821d, 0x20001f6e, 0x22002100, 0x24002300, 0x26002500, - 0x28002700, 0x2a002900, 0x2c002b00, 0x2e002d00, 0x30002f00, 0x32003100, 0x34003300, 0x36003500, 0x38003700, 0x3a003900, 0x3c003b00, 0x3e003d00, - 0x40003f00, 0x42004100, 0x44004300, 0x46004500, 0x48004700, 0x4a004900, 0x4c004b00, 0x4e004d00, 0x50004f00, 0x52005100, 0x54005300, 0x56005500, - 0x0620b082, 0xb182b485, 0x02010022, 0x02210582, 0x23008d00, 0x03000001, 0x0d40118d, 0x043b22d1, 0x21d4826f, 0x0185002c, 0x003cc708, 0x04c60084, - 0x05240564, 0x07d406c4, 0x08ea0758, 0x093409ce, 0x0ab00a76, 0x0b880bfe, 0x0c2e0cee, 0x0d6a0de6, 0x0e640ed8, 0x10a40fca, 0x11bc105a, 0x12c6117e, - 0x130c1392, 0x14d8138c, 0x16481598, 0x17121738, 0x1b1e1b80, 0x1c341cae, 0x1fea1dc0, 0x20bc1f08, 0x21342180, 0x22fc218a, 0x27c82386, 0x28ca272a, - 0x295229b0, 0x2a0a2ac6, 0x2ba42bbe, 0x2e162ef4, 0x2e682e44, 0x30f02f8e, 0x306a300c, 0x311e31d2, 0x31ac3156, 0x32ec31de, 0x336433ba, 0x344034c6, - 0x353a35bc, 0x36de35b6, 0x3642361a, 0x00e43690, 0x003b0002, 0x04150200, 0x000300aa, 0xb12e0007, 0x3c2f0001, 0x000407b2, 0x06b132ed, 0xb23cdc05, - 0x0a820203, 0x03b10022, 0x05201683, 0xb2271683, 0xfc010607, 0x8301b23c, 0x11333817, 0x21251121, 0x013b2111, 0x0161feda, 0x049cfe64, 0x3b56fbaa, - 0x82003404, 0x80fc2552, 0x8003f5ff, 0x01200982, 0x002e5982, 0x21252105, 0x9a0533fd, 0x0007b3f9, 0x15820b0b, 0x02032508, 0x040f0009, 0x00fd03f7, - 0x0025001b, 0x0100002f, 0x16322130, 0x010e1415, 0x15070607, 0x17161716, 0x1415011e, 0x0e2f0b82, 0x37212301, 0x3d363221, 0x23263401, 0x85333521, - 0x2b4d0809, 0x010a0201, 0x1f8e7dbd, 0x1e202031, 0x2025251e, 0x14132b1f, 0x385f2322, 0x01a217fe, 0x48483f18, 0xfce8fe3f, 0x3d42423d, 0x8dfd03fc, - 0x324f3877, 0x08030c0d, 0x1c0d0d02, 0x3c3f581c, 0x27273536, 0x3e428b2c, 0x88423e31, 0x3a2e393e, 0x088f833e, 0x00910030, 0x036f0663, 0x000f00a9, - 0x002b0017, 0x27302500, 0x07302130, 0x12362330, 0x12163337, 0x23300117, 0x33300706, 0x11300126, 0x33302700, 0x03851330, 0x0702062f, 0xea023011, - 0x49c7fe4c, 0x2fbf2f8a, 0x080382ab, 0x068dfe34, 0x3cf73d3c, 0xf7fe8402, 0x04cc9b17, 0xce3794cb, 0xe3e3631d, 0x8c2e028c, 0x8cd2fd8c, 0xb9b9c902, - 0x01f0fdb9, 0x28d4014a, 0x75018bfe, 0x329afe61, 0x8282b3fe, 0x82030021, 0x07ab3a04, 0x03610300, 0x038c0358, 0x370000ba, 0x33270226, 0x17021d30, - 0x1d17041d, 0x91029003, 0x8211a314, 0x9126f147, 0x26869571, 0x3317011e, 0x4137013e, 0x0d860673, 0x37033d22, 0x04200289, 0x17850b8a, 0x298211a3, - 0x719126f1, 0x332e86a1, 0x23070206, 0x2e270226, 0x0e232701, 0x0d820701, 0x2622052d, 0x37013e27, 0x3233011e, 0x83263435, 0x27262918, 0x36343526, - 0x17163233, 0x2e2b2182, 0x06222301, 0x16171415, 0x85011e17, 0x14152302, 0x3b822506, 0x27222322, 0x27262882, 0x36373426, 0x3c823e37, 0x07202182, - 0x1d352c84, 0x33161401, 0x023e3732, 0x3523013d, 0x8e231133, 0x68185e18, 0x3400cc01, 0x0c040e04, 0x0e030e04, 0x0f7b0e39, 0x0f030e39, 0x0e030d03, - 0x2761cc04, 0x62186401, 0x3a0e7a19, 0x0c205c83, 0x0f3b5c82, 0xf0020f3c, 0x0b276e4b, 0x4d1d0c2f, 0x342a7731, 0x5a0a2409, 0x65702a2b, 0x82246348, - 0x1a3c0813, 0x37373140, 0x09311616, 0x44300924, 0x74131615, 0x090c4302, 0x2c34484f, 0x1320212b, 0x22121212, 0x5a3d5f22, 0x531e3837, 0x483c4611, - 0x1e485050, 0x16271a1a, 0xb75adf7c, 0x70be0170, 0x0010b8cd, 0x2d47014d, 0x1919681a, 0x01441967, 0xfe444410, 0x0a8244f0, 0x1a681922, 0x015b0110, - 0x4d474147, 0xfe70af08, 0x01457042, 0x671a4513, 0x1a671919, 0x45edfe45, 0x0b36380b, 0x2c290b2a, 0x0d2f2c6d, 0x15020702, 0x5c512d2c, 0x0a343161, - 0x24250b29, 0x162a342d, 0x08020c15, 0x171f0b02, 0x65293f17, 0x3e306e68, 0x292a1313, 0x42b84242, 0x282a2a42, 0x31472627, 0x525c3931, 0x085c52a4, - 0x1e312109, 0x9efe573b, 0x00070000, 0x0602ff52, 0x001a05ae, 0x0024001a, 0x00490038, 0x00780053, 0x05000080, 0x34352622, 0x37023e37, 0x06070633, - 0x07010e07, 0x33013e33, 0x14151632, 0x3d322706, 0x22233401, 0x0314011d, 0x33270226, 0x16171216, 0x37363317, 0x2a821236, 0x21070227, 0x32211123, - 0x27278317, 0x2e231307, 0x37232701, 0x27077948, 0x26220115, 0x34012e27, 0x37222a82, 0x23823336, 0x45061721, 0x98080b58, 0x011e3736, 0x05010e17, - 0x01150111, 0x01350111, 0x106d6ba2, 0x314f3a0f, 0x2a2a3b8a, 0x09251d1e, 0x3147110c, 0x6a6e5f51, 0x1f6c6d6d, 0x6b218321, 0x0e145013, 0x0e0e0c0e, - 0x69144e14, 0x01208321, 0x0901658f, 0x392b2c56, 0x0871803a, 0x9b781756, 0x24262624, 0x3aad029b, 0x2321225d, 0x2e222123, 0x33563b2e, 0x490d1f33, - 0x44353e12, 0x36444c4c, 0x380f1242, 0xfe69200e, 0xfe2801e4, 0xfdd8fe72, 0x3d3c7f84, 0x22606f3c, 0x2928292d, 0x2f325628, 0x6a676a31, 0x19775577, - 0x08028277, 0x70180356, 0x466fbf01, 0x4e46e7fe, 0x464e4f4f, 0x6f461901, 0x027041fe, 0x6034339e, 0xfe11604d, 0x36c913e7, 0x3e2a2655, 0xfede262a, - 0x2a2a278e, 0x2a84b684, 0x2514142a, 0x29074a25, 0x525f3239, 0x365e53a1, 0x0921083b, 0xfeb24e4a, 0x82100134, 0xcd0192fe, 0x0082effe, 0x043f0082, - 0xab002000, 0x6103e006, 0x15000b00, 0x74004a00, 0x30370000, 0x32213011, 0x2b061416, 0x49011901, 0x012008b7, 0x2205ce46, 0x82161716, 0x06d04612, - 0x35012e28, 0x33023e34, 0xd1461732, 0x06072c08, 0x1f161415, 0x15011e01, 0x46020e14, 0x2e2105cd, 0x21248502, 0xc6461716, 0x3736230c, 0xc846013e, - 0x21d10806, 0x665d2001, 0xadb45d66, 0x292f2e2a, 0x55dd02ad, 0x320c2a76, 0x2b2b230d, 0x2e414136, 0x0a270a3b, 0x3d216262, 0x384c3656, 0x320d2837, - 0x384b1a0d, 0x34202039, 0x5d643c37, 0x025a3f20, 0x5e0a04dd, 0x4a663c4c, 0x6c4d2a29, 0x237d5a42, 0x3d511359, 0x50616150, 0x161d1c20, 0xf38a1916, - 0x9e02b75f, 0xfe6db96d, 0x2b6a01f5, 0x2b292e28, 0x343db6fd, 0x2b0c2f0b, 0x313a1716, 0x020c2e27, 0x5c120207, 0x31482c51, 0x321a1b1b, 0x210b2d0b, - 0x2c181729, 0x0c0b292a, 0x2f505d13, 0x711d374d, 0x572d4031, 0x81545482, 0x47502e58, 0x663b2f34, 0x665d6e5d, 0x0f100809, 0x5d34202f, 0x05009bfe, - 0xab002e00, 0x6103d206, 0x1f001200, 0x34002a00, 0x00004601, 0x07684225, 0x32013e28, 0x0e14021e, 0x83422702, 0x06222a05, 0x1614011d, 0x32211105, - 0x0f5e4117, 0x012e052c, 0x071d2327, 0x170f1d17, 0x02870e1d, 0x05820b85, 0x23110133, 0x12163311, 0x17011e17, 0x27053d33, 0x3d270f3d, 0x8802870e, - 0x11042d0b, 0x26231133, 0x3c330102, 0x23222360, 0x5f3a0282, 0x2344607a, 0x3c614423, 0x904f4f48, 0xdf014f4f, 0x2c560901, 0xa356572b, 0x0082259a, - 0x63029a26, 0x0c092208, 0x28073244, 0x85217562, 0x08230822, 0x2310880d, 0xac852176, 0x2d074c42, 0x84542828, 0x275484b6, 0xa2525d5a, 0x04845d52, - 0x9e024f33, 0x67c13433, 0x6901f1fe, 0x293d2a25, 0x5315b226, 0x4d7f4415, 0x02284dae, 0x9e0270fe, 0x43f4fe43, 0x26808840, 0x62fd9001, 0x430c0143, - 0xa53a055f, 0x5b065400, 0x2f00b803, 0x54004800, 0x00005e00, 0x0e233025, 0x2e222301, 0x8a443502, 0x083e4307, 0xe3490620, 0x37362106, 0x3d350182, - 0x21352301, 0x21012311, 0x14151632, 0x010e0706, 0x021e1507, 0x300b8217, 0x23020e07, 0x32333721, 0x013d3637, 0x2b262734, 0x0a5d4d01, 0x04e54108, - 0x4a60740e, 0x35345c80, 0x43433030, 0x2b9c7153, 0x18124a12, 0x79634d65, 0x24286379, 0x101b1b24, 0x2f01ac10, 0x01060177, 0x1b776972, 0x1a341514, - 0x11353d1a, 0x39101113, 0x68fe2f4f, 0x1e35e987, 0x6a080082, 0x33d2e935, 0xd2333737, 0x38503de2, 0x686aa26d, 0x1c3738a2, 0x0b59631c, 0x493b0b2b, - 0x7588757f, 0x130b0a7f, 0x271e1d14, 0x41fe7541, 0x62764603, 0x1515422f, 0x01070314, 0x25242f16, 0x2d2c3235, 0x1b752541, 0x3429331c, 0x33711c1b, - 0x33302730, 0x05000000, 0xab003500, 0x6103cb06, 0x46001f00, 0x60005300, 0x00006600, 0x44262225, 0x362c131b, 0x17011e37, 0x21060706, 0x27012e22, - 0x36232182, 0x46013e37, 0x14820506, 0x1632072a, 0x33033e17, 0x15021e32, 0x08105843, 0x352135a8, 0x33371236, 0x23153311, 0x11332515, 0x01010e23, - 0x2696834e, 0x58416949, 0x115b2176, 0x594d3b48, 0x4c3d4d59, 0x0e3a0f12, 0x013c3d21, 0x3c5738fc, 0x232c1011, 0x90295523, 0x212d2d39, 0x0d161722, - 0x0b010402, 0x2030251c, 0x1d35482a, 0x35573e21, 0x7541413b, 0xa1024242, 0xb52dc9fe, 0x5b5b8e2e, 0x07dbbefe, 0xb1ac8e23, 0x588154a9, 0x324b4d2e, - 0x5d6a3930, 0x3f6a5d66, 0x09230931, 0x24292949, 0x3d303044, 0x36368049, 0x27291c53, 0x2d292826, 0x0101362d, 0x0f1b2315, 0x2f4d371c, 0x213c5333, - 0x0d3d3e58, 0x04843e3d, 0x834d2f08, 0x2a014a5d, 0x553afe4a, 0x6301d883, 0x0800ed3b, 0x08ff4b00, 0x1505b506, 0x16000c00, 0x28001c00, 0x68005c00, - 0x9b007200, 0x30170000, 0x35443011, 0x11012112, 0x3323ec83, 0x87152111, 0x06a64501, 0x4c2d754c, 0x232406b4, 0x03133313, 0x0f2a0b85, 0x3e253301, - 0x0e233701, 0x02820701, 0x02821382, 0x011e2327, 0x11231117, 0x05af4c33, 0x1e823320, 0x33290282, 0x01b02311, 0x2c2c5609, 0x07564458, 0x66ca0130, - 0x850186f4, 0x0301e1fe, 0x1f01fdfe, 0xdd4be7fa, 0x0925210c, 0x2207dd4b, 0x4b0c2e0c, 0x300811dd, 0x09220938, 0x082309e1, 0xca81c964, 0x030e04f1, - 0x040e030d, 0xd002b03b, 0x0b010402, 0x16071f08, 0x57151657, 0x081f0815, 0x0105010b, 0x48127862, 0x200b8212, 0x08038209, 0x12471254, 0x02f86277, - 0xc233349f, 0x01f1fe67, 0x3e292669, 0xbcfd2529, 0xbbfd9f02, 0x5a9f025a, 0x5acf58c4, 0x35395703, 0x2a0b2b0b, 0x2f2c6e2c, 0x0208020c, 0x512c2d14, - 0x3431605d, 0x240a290a, 0x2a342d25, 0x020b1616, 0x200a0308, 0x293f1717, 0x1f0b6964, 0x02821f7c, 0x61334082, 0x4111e001, 0x11411010, 0x4c1390d3, - 0x134b1314, 0x822db62d, 0x49132202, 0x290b8213, 0x9f0263fe, 0x16279d27, 0x02821658, 0xfd2c0882, 0x00000061, 0x00290004, 0x03d706ab, 0x22055347, - 0x4746003a, 0x40471a53, 0x011d2611, 0x33161714, 0x07044332, 0xdc412520, 0x2921080a, 0x655e2001, 0xadb35d66, 0x292e2e29, 0x840f03ad, 0x69492695, - 0x3b3b5741, 0x0f3d0f22, 0x4e3b4811, 0x3500822c, 0x134c3c4e, 0x220f3a0e, 0x2d013d3c, 0xbffeae01, 0xddfe2301, 0x05474101, 0xa9b13410, 0x2d598154, - 0x084b2627, 0x39300822, 0x665d3535, 0x4235355d, 0x0b2a07c6, 0xba609e02, 0x0060c460, 0x5f510300, 0x01082e82, 0x0502ff6d, 0x001a0593, 0x00550044, - 0x2991826d, 0x00ab009e, 0x00e300d5, 0x58472500, 0x22232c05, 0x012e0706, 0x3e373627, 0x44363701, 0x0722051b, 0x8f52020e, 0x07062109, 0x232a0182, - 0x27022e22, 0x16171637, 0xd6481e17, 0x01352109, 0x37066444, 0x33023e37, 0x06101632, 0x023e3227, 0x2e34013d, 0x010e2202, 0x011d0607, 0x8205a14f, - 0x35022525, 0x35373634, 0x2005f248, 0x4a428232, 0x15240563, 0x1415011e, 0xe1476b82, 0x4713200c, 0x25200bee, 0x07211e83, 0x82998223, 0x26222302, - 0x2d820627, 0x27222323, 0x204f822e, 0x20b08337, 0x204c8533, 0x82c98807, 0x16550873, 0x3c3e4b02, 0x4330313a, 0x0c300c17, 0x3314130f, 0x2f2b2021, - 0x0a213a50, 0x1a2f240a, 0x131a191d, 0x1f221613, 0x362c2d1f, 0x2a36472f, 0x0e0c500f, 0x2e11120e, 0x45413e1c, 0x9802473f, 0x0e3c5c3e, 0x3c0e0f0f, - 0x767d3e5c, 0x31237d76, 0x1e0e0e1e, 0x1f314531, 0x08008207, 0x31100fb3, 0x593bf8fd, 0x3c4a1f3d, 0x371e3e34, 0x29296853, 0x3f0f0f38, 0x104a3d34, - 0x3a5a3c10, 0x7942423c, 0x373d4242, 0x3a6f3b3b, 0x1652033a, 0x29564516, 0x225b3890, 0x010d2d21, 0x0e0a0105, 0x2030260e, 0x3524242a, 0x1f11101d, - 0x3836561f, 0x113c2c2b, 0x413bec10, 0x413b3a42, 0x29359941, 0x2c312e07, 0x0a2a0a26, 0x1d141516, 0x2d17090a, 0x1a202841, 0x06192819, 0x0d0d0604, - 0x25391415, 0x191a482c, 0x21140e0e, 0x143e172c, 0x0c0c1111, 0x07343a0d, 0xfe5c3634, 0x40582f6a, 0x41525340, 0xb72f5940, 0x5cb6b8fe, 0x2c49331c, - 0x34482c75, 0x24341c1c, 0x08098224, 0x1a23252e, 0x06031c1a, 0x2a47341d, 0x07115143, 0x263a4e13, 0x0d192d40, 0x20202d0c, 0x134e3a26, 0x43511107, - 0x3424232a, 0x3238571d, 0x37373213, 0x38270482, 0x2e303a01, 0x84302e10, 0x1f2a0804, 0x6b404149, 0x4e291b55, 0x365a2828, 0x12140101, 0x0e0f1b12, - 0x304c360f, 0x1d2b2a32, 0x1312221e, 0x93303044, 0x3c0e3c3f, 0x04823e3e, 0x82003f21, 0x00043700, 0x06b70078, 0x00560388, 0x0027000f, 0x00400037, - 0x11300100, 0x03842330, 0x2130352a, 0x13301530, 0x33303530, 0x1b830f8a, 0x17823320, 0x27302122, 0x81542782, 0x010e3c0c, 0x012e3307, 0xc86cac01, - 0x5b53fc01, 0x5c24015b, 0x3c2b025c, 0x266f3afb, 0x82882699, 0xfe430803, 0x411005d7, 0x4010c610, 0xc2fdf502, 0x60603e02, 0x0158c2fd, 0xfe5858ee, - 0xb5b55812, 0x70be0170, 0x7042fe70, 0xc5313a02, 0x00c53131, 0x08000500, 0xf806ab00, 0x34006103, 0x46003e00, 0x58005000, 0x4b370000, 0x272a329f, - 0x13230723, 0x17121633, 0xa1862301, 0x42081190, 0x2a7655fd, 0x230d310d, 0x40372b2b, 0x0a3a2e41, 0x62620a28, 0x36563c22, 0x2738384c, 0x1a0d320d, - 0x203a374b, 0x3c36341f, 0x3e215d65, 0x3dd0025a, 0xe46e3bfa, 0x26982689, 0x1104d7fe, 0x10c51040, 0x91280340, 0x4bac2013, 0x0b242c82, 0x9e02b5b5, - 0x210a0041, 0x108ef7fd, 0x00820020, 0x60000334, 0xa006ab00, 0x15006103, 0x4b002b00, 0x30250000, 0xaa463003, 0x0206240e, 0x41352107, 0x052013b1, - 0x2d1d8748, 0x70db3c01, 0x0a124712, 0x0b040b2b, 0x09820b2b, 0x95256d25, 0x414b0125, 0x012605c7, 0x26968384, 0x6148684a, 0x02b72814, 0x37dd379e, - 0x82279b27, 0x83088202, 0x07d641c3, 0x41480b20, 0x2acb8217, 0x00470004, 0x03b906b7, 0x820b0056, 0x002122cd, 0x183f4629, 0x280a1b46, 0x11231101, - 0x15213523, 0x074c4d48, 0x2e2e2928, 0x1402ad29, 0x0246ad01, 0x7b012507, 0xfc01c86c, 0x200f0846, 0x06ea45c1, 0x423e0221, 0x7f820579, 0x934f0620, - 0x001e3408, 0x003d0027, 0x0058004e, 0x0500007e, 0x35262722, 0x84363734, 0x33302501, 0x0607020e, 0x2005944f, 0x08954f17, 0x011d2224, 0x944f0114, - 0x0a125606, 0x964f0620, 0x010e212d, 0x3f12974f, 0x366b7a03, 0x1d0f1037, 0x3128271d, 0x3a553b8a, 0x0c0a1212, 0x51314711, 0x6a6e2f30, 0x09fed96d, - 0x2606924f, 0x0c051304, 0x4f051205, 0x14221294, 0x944f144d, 0x3a0e2217, 0x0e954f0e, 0x4242fd35, 0x3d3d3c7f, 0x2f303836, 0x50522d23, 0x2f332a2b, - 0x4f353531, 0x1a221390, 0x02821a69, 0x2211924f, 0x4f2eb62e, 0x08221592, 0x934f0820, 0x06003c0d, 0x08ff1701, 0x1505e905, 0x17000b00, 0x4b002d00, - 0x5f005500, 0x30050000, 0x82333011, 0x30212203, 0x87078415, 0x05c6500b, 0x36343533, 0x32013e37, 0x011e1716, 0x0e070614, 0x36322701, 0x2b018237, - 0x2734013d, 0x012e2726, 0x07062223, 0xbf460182, 0x11052107, 0x2412d14f, 0x11016ccc, 0x08038263, 0x4210fd22, 0x2926266a, 0x6a262629, 0x26256b83, - 0x25262a2a, 0x4026416b, 0x0c0d1617, 0x17160d0c, 0x3f282640, 0x3f220b87, 0x8348f401, 0x02f8250c, 0x60c1fd9f, 0x032b0484, 0x2b2c2d57, 0x82545582, - 0x832d2c2b, 0x83a92009, 0x1b612d08, 0x25251919, 0x252e692e, 0x1b191925, 0x562f0c8c, 0xb86e9f02, 0x01f5fe6e, 0x2e282c6a, 0x82002c28, 0x0a0036f0, - 0xf606ab00, 0x12006103, 0x3a003000, 0x4a004400, 0x22250000, 0x0640502e, 0xaf07494f, 0x33112fe6, 0x01152111, 0x4c6a422c, 0x6a4c2929, 0x07854142, - 0x5d21e09b, 0x08644966, 0x13022208, 0xac10016d, 0x5482572d, 0x2d588254, 0xa882582d, 0x602d5782, 0x25191a1b, 0x2e6a2e24, 0x1a192524, 0x200c8c1b, - 0x0e6d5055, 0x9e02c128, 0x0060c2fd, 0xcb820400, 0xb606ab2c, 0x13006103, 0x2d002200, 0xd3436600, 0x15302306, 0x03882130, 0x01301126, 0x17323330, - 0x0124e883, 0x012b0607, 0x2405ba52, 0x012b2627, 0x064d5811, 0x24077e51, 0x2e272627, 0x22028201, 0x51373435, 0x06230d80, 0x51171415, 0x24080680, - 0x0e070607, 0xa3014a01, 0x1301cafe, 0xc301edfe, 0x343441ed, 0x4a29294a, 0xed413434, 0x2e5c4bed, 0x02804b2e, 0x05de45dc, 0x2b2a2427, 0x17414037, - 0x05df4517, 0x3d111124, 0xe0453556, 0x4a2b0807, 0x1a3f3a38, 0x653c361a, 0x1f10115d, 0x02b75920, 0x60ba609e, 0x9e02dcfe, 0x7d541515, 0x15547da8, - 0x5b5e6015, 0x2f2f5b6c, 0x456b22fe, 0x17210ad6, 0x075a5117, 0x51242421, 0x2908095b, 0x142a2c2f, 0x130c0b15, 0x272f515c, 0x1d1c1b26, 0x00040000, - 0x0663008f, 0x00a90371, 0x002f0015, 0x00430039, 0x01302500, 0xec503330, 0x06535a06, 0x07020628, 0x16322101, 0xd4491415, 0x22df840b, 0x52372123, - 0x064f08a2, 0xa2012e09, 0x168dedfe, 0x360f1659, 0x380f050b, 0x3709820b, 0x2fb92f89, 0x7301c201, 0x291b7768, 0x1e191934, 0x241b1a1f, 0x1d1c1110, - 0x2106f54e, 0xf34e3c3c, 0x03633407, 0xecfe4546, 0x29c53645, 0x4525c837, 0x8c451401, 0x4e8cd2fd, 0x2a3605e4, 0x01070314, 0x18170b0b, 0x2c323549, - 0x2521202d, 0x29333775, 0xe34e3734, 0x32013409, 0xce0508ff, 0x26001405, 0x78003300, 0x9b008a00, 0x4e050000, 0x01202ec4, 0x3241d14a, 0x2327012e, - 0x33112311, 0x17011e13, 0x11331133, 0x82352123, 0x020e2604, 0x36272607, 0x08108237, 0x70021530, 0x103d5738, 0x23222c10, 0x39902a55, 0x21222d2d, - 0x010c1717, 0x1c0a0105, 0x2b1f3125, 0x221e3547, 0x3a35573d, 0x41754242, 0x3f440241, 0x884a393b, 0x34132108, 0x2206884a, 0x4a230a0b, 0x3c080788, - 0x2c1f1f23, 0x472f362c, 0x4f0f2937, 0x110e0e0d, 0x3e1d2d12, 0x47404541, 0x3408b2fd, 0x7968030e, 0x08340edb, 0x01796703, 0x1708bc43, 0x02123e34, - 0xa5565540, 0x4425f8a3, 0x493c3030, 0x0d284f81, 0x24144708, 0x361d0f1b, 0x53332f4d, 0x3e59223c, 0x3f3c0d3d, 0x3d0d3c3f, 0x353d013e, 0x312e0729, - 0x2a0a262b, 0x1414160a, 0x1709091e, 0x2028402d, 0x19271a1a, 0x0c060506, 0x3815140e, 0x1a482c25, 0x150e0e1a, 0x3f172b21, 0x594a1015, 0x33350806, - 0x4a035c36, 0xfe1b6310, 0xfe9e0200, 0x10631b8d, 0x62fd0102, 0x18f5015a, 0x02134338, 0xfd5d5c3a, 0x03005abc, 0xab001b00, 0x6103e506, 0x5c003900, - 0x00007f00, 0x0d474925, 0x22056843, 0x43262726, 0xea541069, 0x0607260a, 0x21010e07, 0x051d4722, 0x33013e23, 0x0fd05132, 0x5b563620, 0x2722a205, - 0x77541001, 0x0c320d2a, 0x43057049, 0x312c0691, 0x3c111131, 0x374c3657, 0x330c2738, 0x080b7349, 0x1f101123, 0x29025a1f, 0x13139584, 0x42682524, - 0x0f227657, 0x48120f3d, 0x58584e3a, 0x124c3c4e, 0x220f3a0f, 0x491e9e79, 0xb4430b8b, 0x2e2e2306, 0xb5432c51, 0x1717230b, 0x11552a2d, 0x26272d06, - 0xb11d1c1b, 0x404154a9, 0x4d2e2c2c, 0x51053b4e, 0x52200a00, 0x00281a9a, 0x4f000500, 0xb106ab00, 0x21092b55, 0x2b554000, 0x21012234, 0x08028235, - 0x06152128, 0x01210702, 0x22603d54, 0x22232322, 0x60796022, 0x44242444, 0x4e483c60, 0x4f4f904e, 0x0901de01, 0x572c2b57, 0x8957a357, 0x60032e05, - 0x420141fe, 0xa601cdfe, 0x0136d636, 0x2bd9544c, 0xbcfd2a08, 0x59ea015b, 0xbafe525b, 0x00070052, 0x0608ff2e, 0x001505d2, 0x0033001c, 0x00530047, - 0x0073005d, 0x37000091, 0x15300706, 0x05034c30, 0x33301132, 0x37363736, 0x07063330, 0x23171216, 0x1101012e, 0x450ae545, 0x26230cf1, 0x49333027, - 0x33200629, 0x1122cf82, 0x7d570130, 0x012e2118, 0x082df347, 0x1a42f736, 0x48046d6d, 0x7f5a5a18, 0xba32ae41, 0x92278316, 0xad01a501, 0x2301c0fe, - 0x4001ddfe, 0x73742201, 0x1b6d1b7c, 0x1b6c1b03, 0x2da41878, 0x20014afb, 0x5e65655e, 0x20075d50, 0x29144817, 0x4b412308, 0x9f02d01e, 0x1e5cacfe, - 0xce4d6d6d, 0x21e8fe4b, 0xe2fee13d, 0xbb609f02, 0x0160c460, 0x32cbcc08, 0x028232c7, 0xe2fe2927, 0x03f6fe4e, 0x0df84762, 0x48b5fd21, 0x00212d37, - 0x8f836200, 0xca000535, 0x360608ff, 0x0f001505, 0x33001700, 0x92006600, 0x4e050000, 0x062a1105, 0x26333007, 0x27012e05, 0x494e3023, 0x30332605, - 0x17011e13, 0x06e74933, 0x59302321, 0x26211063, 0x0a625927, 0x5905ad5a, 0x26230d61, 0x82332702, 0x17162142, 0x53078e53, 0x3727069c, 0x06333736, - 0x82230702, 0x27262f6c, 0x0e070623, 0xf8020701, 0x6e3afb3d, 0x704e9826, 0x31303407, 0x190230c6, 0x0208340e, 0x08db7968, 0x67030e34, 0x445bfc79, - 0x0e48057c, 0x3a2e3505, 0x62621e1e, 0x36563d22, 0x2738374c, 0x4a1a4903, 0x201f3a38, 0x0807eb4d, 0x1a90015e, 0x0d6e1a6a, 0x1718092e, 0x0a240803, - 0x790f360b, 0x090a360e, 0x31030923, 0x1c6b2323, 0x0d7a1b6e, 0x19191039, 0x10191902, 0xb6f80d3b, 0xbf0170b6, 0x41fe7070, 0x943b0270, 0x1b349494, - 0xfffd0f64, 0x8dfe9f02, 0x021b640f, 0x0361fd01, 0x0c343d57, 0x162b0b2f, 0x27313a16, 0x05060b2e, 0x35069459, 0x02321b1a, 0x17282241, 0x2a2a2c17, - 0x5c130d0a, 0x364d2f51, 0x4b830b1e, 0x2ddb3b33, 0x981e706f, 0x3cdc2b29, 0x252bdc3c, 0xa1de2594, 0x235f83a2, 0x663fea32, 0x3f370082, 0x040032ea, - 0x0eff1801, 0x0f05e805, 0x3a001b00, 0x57004300, 0x41250000, 0x21221a7d, 0xfc542330, 0x23072405, 0x8237013e, 0x0898430a, 0x07010e27, 0x1101011e, - 0x07c54333, 0x76411120, 0x82332006, 0x06b54327, 0x0ccd3608, 0x67030c32, 0x310ddb78, 0x7968030c, 0x1b7f3f03, 0x1b021b6d, 0x24781b6b, 0x8b232491, - 0x66198023, 0x671a0219, 0x8c24781a, 0xfb932524, 0x11016cd9, 0x9a260101, 0x07804326, 0x27772308, 0x1781279a, 0xfffd185f, 0x8efe9e02, 0x02175f18, - 0x2d62fd00, 0xb22c2cb2, 0x39e5392d, 0x2936db36, 0x028229a7, 0x36da363e, 0x2903e639, 0xc2fd9e02, 0x44080160, 0x32430f01, 0xc73131c7, 0xf2fe4332, - 0x00f6fe43, 0x06220082, 0xf3823601, 0xf382ca20, 0x1e00142f, 0x32002a00, 0x52004600, 0x30050000, 0x05574423, 0x06141522, 0x1720cb82, 0x220f195d, - 0x65072327, 0x0b500830, 0x03022107, 0x220e3f4f, 0x4e210302, 0xa33a0b70, 0x5a21016d, 0x18414268, 0x16791861, 0xac85165a, 0x292f2e2a, 0x3db603ac, - 0x66423bfa, 0x4010340a, 0x4010c510, 0x6e6e79fd, 0x11481171, 0x040a2b0b, 0x820b2c0b, 0x706e2409, 0x4e68016f, 0x2008099c, 0x6c9e02f2, 0x145f485d, - 0x2d2fbc2f, 0x2b5b2db5, 0x2b282e29, 0xb696fed5, 0xbf0170b6, 0x41fe6f6f, 0x06fd5070, 0x01590125, 0x4f4f014f, 0xfe240b55, 0x02b1feb1, 0x3007ae54, - 0xa9000200, 0x57066300, 0x1d00a903, 0x00003300, 0x05d34125, 0x8d510620, 0x0eb64105, 0x50051621, 0x1949050d, 0x30400808, 0x30153033, 0x27a07603, - 0x64041390, 0xc2189664, 0x17bc3335, 0x207f20a0, 0x20812002, 0x33be1796, 0xeb2d018a, 0x4f411c0a, 0x95500316, 0x63ccce41, 0xa720ed41, 0x330127a7, - 0x26014f53, 0x34d03424, 0x24340282, 0xd74fdbfe, 0x720271d7, 0x1754461e, 0x47a14802, 0x00712bfd, 0x01e71e10, 0x01063481, 0x0502ff28, 0x001a05d8, - 0x0025000f, 0x00560043, 0x537c0074, 0x5b4f11d3, 0x4e012033, 0xa6512ba1, 0x67022807, 0xfb01c76d, 0x4f417301, 0x82210770, 0x05824f6b, 0x27416b22, - 0x2509794f, 0x16402727, 0x00820d16, 0x4016162c, 0x6b41d0fd, 0x4c29294c, 0x0787416b, 0x87412621, 0x2641341c, 0x17163f28, 0x0c0d0d0c, 0x023f1617, - 0x01c86ced, 0x514c01fc, 0xfd3605cf, 0x2c2b2db7, 0x81555482, 0x2d2d2c2c, 0xa9812c2c, 0x2d2b2c82, 0xc04e1a61, 0x24252106, 0x2105c04e, 0xcd4e2524, - 0x031a2406, 0x83572d01, 0x2d58232e, 0x2c82582d, 0x2b8a5720, 0x4e09c24f, 0x1a2205f9, 0x3352e801, 0x00073608, 0x06fdfe33, 0x000905c2, 0x0016000c, - 0x0061003c, 0x009c0086, 0x19b95aa2, 0x510f8b61, 0x012014f4, 0x2106835a, 0x7f5a010b, 0x2c24a51a, 0x32161411, 0x33113536, 0x0e071411, 0x05934d02, - 0x3e5b1120, 0x09012406, 0x4a2b2c57, 0x022a0828, 0x215e3aad, 0x21232321, 0xb2612f21, 0x0c1d5205, 0x0e390e39, 0xc3026920, 0x0b010501, 0x82081f08, - 0x081f0782, 0x0104010b, 0x5a137862, 0x0729058b, 0x47120820, 0xfb627712, 0x202282c0, 0x261d820c, 0x1e088282, 0x83020c08, 0x49122222, 0x25338212, - 0x07200808, 0x22824812, 0x38640133, 0x0c65388e, 0x7f58350c, 0x0c0c3657, 0xf4663602, 0x0fc15af8, 0x27b12008, 0xb6842a2b, 0x132b2a83, 0x4a252514, - 0x39082008, 0xa1535e32, 0x3c365e53, 0x4a082109, 0x5aa8014f, 0xfe230592, 0x5a1001f0, 0x04211790, 0x0823a1ff, 0xfe9f0232, 0x4d4d514e, 0xfeb20151, - 0x3232445e, 0x411f1f41, 0x01443232, 0x0261fda2, 0x5abbfd9f, 0x04000000, 0x02ff4d01, 0x1a05b305, 0x51001700, 0x9d008b00, 0x50059f52, 0xd54a09bb, - 0x14aa5009, 0x4823414d, 0x7a4d0efe, 0x4e012029, 0x012110f1, 0x095a4685, 0x544b0138, 0x320c2a76, 0x2c2a240c, 0x17424036, 0x280a3b17, 0x3131610a, - 0xd9481110, 0x330c2306, 0x53621a0c, 0x653b2906, 0x2010105d, 0x8bfd5a1f, 0x0d233284, 0x862b2b23, 0x0a272e32, 0x11313162, 0x36563c11, 0x2837384c, - 0x2132890d, 0x3282643c, 0x5b1f1f2b, 0x310ce201, 0x7968020d, 0x230682db, 0xf2796703, 0x32069246, 0x0c343d0b, 0x162b0c2e, 0x27313916, 0x020b1718, - 0x4d120207, 0x22250d5e, 0x2c171728, 0x0b5e4d2b, 0xb1620321, 0x7e012133, 0x2f0f3c48, 0x02000000, 0x5400cf00, 0xb8033106, 0x4a003400, 0x2010d94e, - 0x05666a26, 0x4a08805c, 0x4052095e, 0x020e2207, 0x0d354301, 0x2e278708, 0x02113502, 0x34946a02, 0x2d0f3f0f, 0x50443635, 0x25493a52, 0x3d3d7b25, - 0x446b4c2a, 0x3146465e, 0x5d21045b, 0x28284746, 0x4b442021, 0x4e29747e, 0x52f90170, 0x108551c5, 0xae764b11, 0x214b3b3b, 0x0f404d55, 0x1c360f3a, - 0x313d481b, 0x06070e3a, 0x65393a17, 0x213e5938, 0x513e2121, 0x1d322a03, 0x1a34381c, 0x18100d1a, 0x613a6573, 0x54032544, 0x6c6bfcfd, 0x04026b6c, - 0x435c11fe, 0x152b5744, 0x5c865816, 0xdb82ef01, 0x07732d10, 0xff0a393d, 0x05f60608, 0x000e0015, 0x002b0018, 0x00530049, 0x0063005d, 0x33300100, - 0x2009505c, 0x067e5a2b, 0x012b2623, 0x2ce24c11, 0x3a146b5c, 0x21113311, 0xed760215, 0x25256841, 0x25252929, 0xeded4168, 0x4b5c5c4b, 0x5b49fe80, - 0x013c3a98, 0x2a292ba7, 0x2a7ea77e, 0x5f602b29, 0x5f5b6b5b, 0xf70221fe, 0x5582572d, 0x2d578254, 0xa9200782, 0x61290682, 0x2519191b, 0x2f692f24, - 0x07bf4c24, 0x825c0c88, 0xc0fd2e0e, 0xc2fd9f02, 0x00050061, 0x06ab0003, 0x0aa756fd, 0xa7565920, 0x4c052034, 0x082024bd, 0x6b11c056, 0xa4200dae, - 0x2006c056, 0x05744c96, 0x4c830721, 0x61200774, 0x560f0067, 0xa73a2bd4, 0x13134c13, 0xeffe124b, 0x4a121101, 0x134a1312, 0x9e0263fe, 0x16279c27, - 0x02821659, 0xfd220882, 0x00820062, 0x22000331, 0xde06ab00, 0x1b006103, 0x6c003300, 0x53130000, 0xe7561c41, 0x14114c15, 0x59012e21, 0xbc5c1052, - 0x53d7200f, 0xdb28054d, 0x030c320c, 0x40017968, 0x200abc56, 0x2fb85c4c, 0x4b2a0221, 0x18240a21, 0x62fd0102, 0x6e09a14b, 0xb55c080f, 0x00250827, - 0x7c010700, 0x840502ff, 0x37001a05, 0x68005b00, 0x9c007500, 0xd500a900, 0x30010000, 0x07010e21, 0x3e373633, 0x07886602, 0x0607012e, 0x2e272223, - 0x27262701, 0x1e171637, 0x15791782, 0x06222205, 0x23148207, 0x2137013e, 0x663a5e66, 0x246b07bf, 0x011e220d, 0x17246b33, 0x82352121, 0x05296071, - 0x22232624, 0x8383020e, 0x02233c82, 0x82171632, 0x06c97901, 0x3708c282, 0xfe260321, 0x020c03d7, 0x0d0d0b06, 0x2b1c2b20, 0x101f364b, 0x2c2d3d10, - 0x23232d39, 0x10131434, 0x0d0e0c4f, 0x3b1c2b23, 0x2b3b4141, 0x3c0f1234, 0x0411040f, 0x69017c01, 0x37245d66, 0x17fe3b3b, 0x103c5837, 0x23232c11, - 0x38902955, 0x22212d2e, 0x010c1716, 0x21097d6b, 0x7d6b221e, 0x41590806, 0xfe500341, 0x248f2339, 0x3a1b1b33, 0x1f291c32, 0x3f100614, 0x12120b10, - 0x50664c38, 0x0f0e1c1b, 0x1e1d2d19, 0x1a691a20, 0x4e015201, 0x14289e27, 0x0c171010, 0x314e361c, 0x3d2a2a32, 0x0a0a1011, 0x18151621, 0x1110143e, - 0x3a410d19, 0x21413a0b, 0x02090214, 0xfd3ef93e, 0x374e6657, 0x6bd10121, 0x262d0be6, 0x2e282827, 0x0101352d, 0x101b2314, 0x12e66b1d, 0x20683f08, - 0x2a2e207f, 0x310c2e2a, 0x271c1138, 0x06190616, 0x2e1d1d20, 0x1b1a1e1b, 0x282b2524, 0x1c1c3e45, 0x175a171c, 0x06000000, 0x02ff7a01, 0x1a058605, - 0x36002800, 0x92006c00, 0xca009f00, 0x40680000, 0x263f680c, 0x06212522, 0x24188342, 0x1e37013e, 0x06345f03, 0x22073869, 0x5e252113, 0x6b6d14a7, - 0x35212219, 0x06886136, 0x201e4542, 0x05456852, 0x225a3935, 0x030d2c22, 0x0e0e0a04, 0x2b1f3026, 0x1e342424, 0x681e1111, 0x45080544, 0xec10103d, - 0x3b41413b, 0x0342423a, 0x05d6fe34, 0x0d0b070c, 0x1d2a210c, 0x1f364a2b, 0x2d3e0f10, 0x222d392c, 0x14133523, 0x0d340e10, 0x2b221b0d, 0x40403c1c, - 0x12342b3c, 0x070f3c0e, 0xfd7c0112, 0x3c583810, 0x23821110, 0x9029552c, 0x212e2d38, 0x0c171622, 0xc76d0303, 0x05cd5e07, 0x75414122, 0x25054942, - 0x1b336b6b, 0x48423b1c, 0x400f2105, 0x2e074842, 0x0f0e1b1c, 0x1d1e2c19, 0x1a691b20, 0x68b35201, 0xf2222d30, 0x7542a449, 0x2a0a2414, 0x4221140a, - 0x74230b76, 0x42b90101, 0x5f212d3b, 0x243a4260, 0x00060038, 0x0608ff39, 0x001505c7, 0x001c000f, 0x00320028, 0x007a0057, 0xd1580500, 0x13303407, - 0x12163330, 0x27260317, 0x07062330, 0x33300730, 0x6e01012e, 0x99531553, 0x1325750f, 0x25147353, 0x011e1716, 0x88443317, 0x23113c05, 0x240a1e04, - 0x2406e206, 0x82c9640a, 0xf1218721, 0x0b0c0b0a, 0x0bb13c0a, 0x6e9bfc29, 0x30080d30, 0x5d3bad02, 0x24242121, 0x2e2f2121, 0x3433553b, 0x114a0d1f, - 0x4c44343f, 0x4335444c, 0x0e380e12, 0xc4026a1f, 0x0c010501, 0x82042109, 0x09220382, 0x3e0c820c, 0x37367862, 0x08052109, 0x52051718, 0xf8627715, - 0x18187f23, 0x9f02237f, 0x7041fe70, 0x8231e001, 0x24d32400, 0x53a5018c, 0x07211d4e, 0x124d5329, 0x0952163f, 0x1001f0fe, 0x14165108, 0x63fe124b, - 0x75769f02, 0x420e5d19, 0x2fb10b42, 0x000061fd, 0x08674107, 0x2000162c, 0x35002a00, 0x64003f00, 0x077f8700, 0x07062308, 0x1c6c3215, 0x710e2006, - 0x362305a5, 0x7134013d, 0x01200ca3, 0x5613ff73, 0x9b760578, 0x2275411e, 0x98022208, 0x504e1001, 0x171d3437, 0x090a2218, 0x22392816, 0xa766d5fe, - 0x25262625, 0x252197a7, 0xfd972125, 0x507d413b, 0x59a7013f, 0x05484154, 0x280b0b0c, 0x2b211c1c, 0x5a1c3347, 0x2c2c2b27, 0x28245727, 0x0123292b, - 0x5185411d, 0x05000034, 0x02ff2701, 0x1a05d905, 0x34002a00, 0x71003c00, 0x14827d00, 0x24095973, 0x3233023e, 0x19717616, 0x5410e76a, 0x5e650e7b, - 0x0d5d6508, 0x5b0d7c5d, 0x02210a0c, 0x1f8676f4, 0x3c730226, 0xe56f3afb, 0x2607ed6b, 0x10c61140, 0x76b6fd40, 0x5d6b12ea, 0x5e642613, 0x015a3f21, - 0x09d3542e, 0x96768c20, 0x2d592107, 0x2e089676, 0x10080865, 0x341f2f10, 0xb69bfe5d, 0x5b9e02b6, 0x4e200b34, 0x220a5154, 0x76020b2f, 0x82540ef3, - 0x515c2509, 0x1d374d2f, 0x3d09fd6f, 0x01020000, 0x0516ffce, 0x000e0432, 0x003b0021, 0x23300500, 0x35262722, 0x012e3530, 0x08822627, 0x2f05b042, - 0x17161732, 0x1415011e, 0x33150702, 0x013e3227, 0x22059874, 0x6f23022e, 0x28080843, 0x7004021e, 0x2728558e, 0x2f2f8855, 0x383e191b, 0xc4505039, - 0x38395050, 0x9aa0bb3e, 0x44603af0, 0x12131312, 0x3b3a6044, 0x3109855f, 0x2b2cea5f, 0x4d0b4c49, 0x5c5b4141, 0x42c27f73, 0x00822241, 0xc2424134, - 0xfcfee17f, 0x28f2671c, 0x4537374c, 0x3737459e, 0x0a8a284c, 0x00030029, 0x06b70013, 0x825603ed, 0x003d2207, 0x05616751, 0x5f610320, 0x06944b0f, - 0x03300322, 0x23075358, 0x11302330, 0x230f2b6c, 0x21302311, 0x35220182, 0x05840130, 0x30212308, 0x07020615, 0xcfe33021, 0x175d1772, 0x175b170d, - 0x228a2270, 0x05010903, 0x1e080c01, 0x08828208, 0x9744071f, 0x49123605, 0x08200712, 0x081f0808, 0x77124812, 0xfe9a0262, 0xfe410141, 0x067662ce, - 0x0301b732, 0xc8329b01, 0x32c83131, 0x45eefe44, 0x9d01fdfe, 0x6221874b, 0x0028097d, 0x4c000400, 0xb406ab00, 0x1426e382, 0x28001e00, 0xe5835f00, - 0x421ddb5d, 0x112107a6, 0x32994a01, 0xe45db920, 0x60192106, 0x2408e45d, 0x02ac2a2e, 0x07566813, 0xfe580327, 0x030c03d7, 0x23244a07, 0x4a0e1321, - 0xb7200624, 0x270eec5d, 0x2b292e28, 0x0296fed5, 0x2a065a68, 0x279e2840, 0x17101014, 0x49351d0c, 0x11210fc5, 0x0ec54910, 0x00820020, 0x73010430, - 0x8d0502ff, 0x4c001a05, 0xb4007d00, 0x1772e000, 0x4a172017, 0x072106e2, 0x22018406, 0x4a011e15, 0x0d8405f2, 0x22230622, 0x21051157, 0x17823727, - 0x4b0c2272, 0x27210a32, 0x06596b26, 0x2306364b, 0x32363701, 0x54855586, 0x07010e23, 0x33684121, 0x648a0120, 0x211d5149, 0x92675002, 0x28620811, - 0x101d1d28, 0x120a0a11, 0x1a171812, 0x1313331d, 0x11110b0b, 0x2c2c1f20, 0x24232f36, 0x15141c1b, 0x1c0d4f0f, 0x1d2d1211, 0x4045423d, 0xfe800347, - 0x238f2439, 0x1d1b1c33, 0x2a1b321e, 0x0a0b0f0f, 0x0f401005, 0x3713110b, 0x51662626, 0x0e0e1c1b, 0x1d161619, 0x691a201e, 0xfd52011b, 0x03d6fea7, - 0x9349030b, 0x1e373508, 0x2c3e100f, 0x222d392d, 0x14143423, 0x0d0d4e0f, 0x1b2c220e, 0x21069249, 0x074c3b0f, 0x50022405, 0x4b2438fe, 0x2a2107b3, - 0x08b34b1e, 0x5e854b20, 0xb34b1820, 0x10357208, 0x0b0c2708, 0x1f211617, 0x191a2029, 0x0d0c1414, 0x1a060406, 0x1c1d1415, 0x24242c25, 0x0e0e191a, - 0x11110a0a, 0x3e171615, 0x3d722214, 0x4b752009, 0x1c260961, 0x0e0e111c, 0x644b1314, 0x0e0d2107, 0x2305654b, 0x1f1f4429, 0x2105664b, 0x224c4605, - 0x4b62202b, 0x042028bb, 0x2806274f, 0x000f0056, 0x0337002e, 0x135b5e8f, 0x26243f6f, 0x27022605, 0x18011d33, 0x18223546, 0xc9158a45, 0xa65fa638, - 0x4a461826, 0x18152019, 0x22153d46, 0x183d3701, 0x94147745, 0xb3451814, 0xa6119111, 0xcc26a638, 0x3335215f, 0x103f4618, 0x663a0128, 0x01c901b2, - 0xf6706b06, 0x27282105, 0x2312f670, 0x5f18eb01, 0x4f034618, 0x0e03012d, 0x0e040c04, 0x0e380e04, 0x82390e7c, 0x04461807, 0x64012852, 0x7a186219, - 0x820f390f, 0x040b3a6b, 0x3d0f030e, 0xfdfc020f, 0x594502bb, 0x42b0fd59, 0x3d3c7f42, 0x2f38373c, 0x077a7130, 0x71343021, 0x4a200a7a, 0x03da4510, - 0x00002f55, 0x47000500, 0xb906ab00, 0x1e006103, 0x0b822f00, 0x70005828, 0x0e010000, 0xd76c0701, 0x05c67a0a, 0x14823320, 0x7b06d96c, 0x0520243e, - 0x013925a4, 0x103d0f10, 0x10046c6c, 0x791e1040, 0x9f287e1e, 0x2bad2b28, 0x02882283, 0x18d27a63, 0x07060627, 0x0231100f, 0x08209e52, 0x12f00122, - 0x02cf1246, 0x15acfe9e, 0x91251451, 0x2fbc2f24, 0x41fefe41, 0xf0fed134, 0x4040592e, 0x41405253, 0x3506797a, 0x2b49341b, 0x34482c76, 0x24341b1b, - 0x2b762c24, 0x1a1b2325, 0x24a35c1b, 0x06000022, 0x3a08934e, 0x0042002f, 0x008d0063, 0x00a00098, 0x21300500, 0x37303530, 0x35363736, 0x49343530, - 0x362a0adb, 0x32013e37, 0x1617011e, 0x814a1415, 0x0e072505, 0x05210701, 0x21052a56, 0x1d823435, 0x7c363721, 0x3d830693, 0x2105554d, 0x01822726, - 0x2f852220, 0x2305dd75, 0x01161716, 0x08514218, 0x2022f74e, 0x0cf27912, 0xfe450324, 0x1153d639, 0x055a5509, 0x4c1c1c2c, 0x0e375066, 0x160c0d0f, - 0x13531d17, 0x49012606, 0x3c2e2e3f, 0x0800820e, 0x2e2e3c23, 0x76767c3f, 0x1819227c, 0x06070f10, 0x100f0706, 0x18451918, 0x06100f19, 0x10060707, - 0xfe18190f, 0x200e4f89, 0xfb3d7426, 0x72726e3a, 0x2c0c0f4f, 0x2ebf68f2, 0x0c2f292a, 0x1d113831, 0x06c34926, 0x1b17172a, 0x2524351e, 0x2223282b, - 0x2207c349, 0x7c181767, 0x1733072e, 0xb8feb718, 0x0e0e5cb6, 0x24231a1a, 0x242c752d, 0x821a1a24, 0x1a0e29a1, 0x2c24231b, 0x23242d75, 0x03210e83, - 0x1f2d4f77, 0x014f0123, 0x0a2f4f4f, 0x00002008, 0x0b010600, 0xf50568fe, 0x1f000f05, 0x41003900, 0x55004b00, 0x00006f00, 0x22233001, 0x4e013d26, - 0x062014fd, 0x671afd4e, 0x012007f6, 0x20128777, 0x65411805, 0x112e080d, 0x13331123, 0x33373633, 0xe5022311, 0x3835395f, 0x11201f5b, 0x25262a12, - 0x36823536, 0x29262635, 0xa1676b7c, 0x0d2d4027, 0x2d0d0c0c, 0x09822740, 0x0d0d0c2d, 0x02402d0c, 0x01c76ded, 0x793bfbfb, 0x042b0cff, 0x23090515, - 0x18621909, 0x82196218, 0x67053908, 0x5a06b480, 0xfe677b59, 0x32313a68, 0x2b2b3407, 0x554c3e3d, 0x172b2c81, 0x2b3d0082, 0x9655812c, 0xa24513ad, - 0x2525331a, 0x252e6a2d, 0x1b1b3324, 0x2e252433, 0x25252d6a, 0x08ec6733, 0x76240121, 0x292d09e2, 0x3e2b282e, 0x2c124912, 0xb32d2db3, 0x3908822c, - 0x9e02fffd, 0xaaababfe, 0x000062fd, 0x85000200, 0x7b065400, 0x3400b803, 0x7f644d00, 0x131a4135, 0x33133d08, 0xb7012311, 0x10359469, 0x362c103e, - 0x51514435, 0x25264939, 0x2a3e3d7a, 0x5f436c4c, 0x5b314546, 0x465d2103, 0x20272848, 0x7e4a4421, 0x714e2975, 0x0b06fa03, 0x81130b2c, 0x13812423, - 0x06270882, 0x07e1a182, 0x64829ae0, 0x022a2d8c, 0x175a178f, 0x4040ec22, 0x088222ec, 0x037ffd38, 0x0156fe46, 0x00bafcaa, 0xb5000300, 0x4b066300, - 0x0b00a903, 0xad7b1500, 0x01092119, 0x3c11d576, 0x746801b6, 0xe1747f7f, 0x393934d8, 0x5a03d834, 0x178cedfe, 0x370a1758, 0x380f050f, 0x3409820a, - 0x2eba2e88, 0x89460363, 0xb2fe89e6, 0x3236c501, 0xfd36323a, 0x05a17631, 0x37c82522, 0x200aa176, 0x50008200, 0x6120071b, 0x2006bf45, 0x46bd457e, - 0x0834ce4e, 0x3d101521, 0x036d6d0f, 0x1f104010, 0x287f1e78, 0xac2b27a0, 0x8722832b, 0x5c3f6302, 0x0e0e0f3b, 0x445c3b0f, 0x31280543, 0x1f0d0d1f, - 0x1f314531, 0x22053b44, 0x501a0331, 0xdf453250, 0xef01213e, 0x3a2c7150, 0xff5b0105, 0x05a50502, 0x0034001a, 0x0048003e, 0x00a20081, 0x26220500, - 0x79373627, 0x3f54079f, 0x07022510, 0x2223012e, 0x180f3f54, 0x8914654b, 0x29016945, 0x570d5976, 0x162a0eb1, 0x02010e17, 0x2a765550, 0xc77f2625, - 0x1a0b2314, 0xc87f091e, 0x2d01210d, 0x35054544, 0x2e2aacb3, 0xfeac2a2e, 0x2b76542c, 0x2a242526, 0x4240372b, 0x40691618, 0x190d2111, 0x760e4069, - 0x21080574, 0x41692425, 0x2d227558, 0x3b48112e, 0x4e58584e, 0x0a134b3d, 0xfd79224d, 0x2323343d, 0x3916162b, 0x8c542731, 0x160a230e, 0x8d54081b, - 0xbf4b1812, 0x2e292507, 0x18012b28, 0x50693d89, 0xb12a0826, 0x404055a9, 0x4d2d2c2d, 0x3019194b, 0x665d6a39, 0x313e695d, 0x52492f06, 0x04000000, - 0xb7002e00, 0x5603d206, 0x27000f00, 0x41183600, 0xd55e15e7, 0x61132015, 0x6225182d, 0xfc01c86c, 0x09ad5570, 0x40ed832b, 0x28252569, 0x69252528, - 0x05f66040, 0x41188120, 0x022009e8, 0x2705bb70, 0x2a2a9e02, 0x7da87d2a, 0x60270582, 0x5b6c5b5e, 0x8222fe5e, 0x06002d9e, 0x02ff4b01, 0x1a05b505, - 0x1e001500, 0x4930ab82, 0xd8016e00, 0x30050000, 0x30213035, 0x37123635, 0x2e053d74, 0x30233015, 0x30253015, 0x30113033, 0x5e010e23, 0x3e200714, - 0x08d34418, 0x3d480120, 0x012e2307, 0x197e0622, 0x021e2407, 0x6a262201, 0x816d0800, 0x06072206, 0x8146181d, 0x33352b0e, 0x010f2311, 0x150e0f15, - 0x05840d0f, 0x0b910882, 0x012e0527, 0x3f353727, 0x2002840b, 0x8805840a, 0x9306200b, 0x33073c17, 0x02153311, 0x2dc9fea1, 0x5c8e2db5, 0xdbbffe5c, - 0x028e2307, 0x3c5c3eaf, 0x181d0f0e, 0x2009bd44, 0x26008207, 0x45310f0f, 0x820f1031, 0x1f073909, 0x83eefd31, 0x68492796, 0x3b3b5841, 0x103c0f21, - 0x4d3b4811, 0x2c2d2d2c, 0x0ad84918, 0x08bc2f22, 0x2e3b4c18, 0x0b222eeb, 0x6ed20b2c, 0x53d20220, 0xa6010124, 0x4a18f2a3, 0xfe290ea5, 0x40582fe2, - 0x83515241, 0xaa451858, 0x25243b07, 0x252b752c, 0x1c1a1a24, 0x241a1a1c, 0x2c752b25, 0x1c332425, 0xa9b10603, 0x48188055, 0x342c0f61, 0x2309313e, - 0x29294909, 0xf5015a0b, 0x54d0b1d4, 0x0a280a22, 0x508953d0, 0x8655b641, 0xbcfd235f, 0x0082005a, 0x00023508, 0x065f025c, 0x007105a4, 0x001b0003, - 0x15211300, 0x37270121, 0x15333517, 0x33071737, 0x07172315, 0x35231527, 0x23372707, 0x48065c35, 0xc204b8f9, 0x3c8c2a8c, 0xc6210382, 0x240887c6, - 0x0246a502, 0x84118c22, 0x0000261a, 0xff5c0001, 0x225b8225, 0x821400d6, 0x32380859, 0x053e012c, 0x2e341135, 0x23022c03, 0x34019d5c, 0xc7f60501, - 0x2e5b7fad, 0xccaa6f3c, 0xe5fef8fe, 0x02ada9fe, 0x725633a5, 0x667a837e, 0x4ff90e47, 0x907d5b15, 0x3e688691, 0x0124478d, 0x2e012c22, 0x3e204783, - 0x33274782, 0xfe9da406, 0x89fbfecc, 0x08012548, 0x57011b01, 0xef824896, 0x2a000532, 0xd60638ff, 0x04009405, 0x44004000, 0x08014b00, 0x302b9b82, - 0x04210721, 0x07030e22, 0x5707040e, 0x352e06eb, 0x32333634, 0x32041e17, 0x3e37033e, 0x0c833704, 0x16171624, 0x1e831415, 0x03032e39, 0x01211521, - 0x25052315, 0x34253523, 0x3233023e, 0x32361716, 0x8217031e, 0x06142126, 0x36210583, 0x25058332, 0x37013e17, 0x4782033e, 0x40843620, 0x1e222883, - 0x0c863101, 0x33231784, 0x83021e32, 0x215b8529, 0x61851415, 0x2e272629, 0x35343501, 0x8327022e, 0x010e2e6e, 0x0e272223, 0x22060701, 0x0e070627, - 0x830c8603, 0x82022006, 0x83b0840e, 0x21038626, 0xba82022e, 0x34273b08, 0x0e35010e, 0x27262701, 0x35161726, 0x37062734, 0x23363734, 0x015c2622, - 0x62fe46e4, 0x6154e004, 0x0f2f4f50, 0x403c1507, 0x4b522c5b, 0x354da793, 0x1b151d08, 0x4f2f0f0f, 0x1b9a6150, 0x01ddd408, 0xfe62fee4, 0x00019610, - 0xfc960001, 0x240e047a, 0x0b1b131a, 0x0c171f0e, 0x11020208, 0x0211151b, 0x38040706, 0x1010072e, 0x10020c0e, 0x0c060308, 0x090a0c13, 0x39530b06, - 0x2c040d13, 0x180c1128, 0x0c2f411e, 0x040d151d, 0x13241a0e, 0x1e271420, 0x0a11140c, 0x2f090909, 0x012c2149, 0x0f121a13, 0x06100418, 0x1425210f, - 0x192a100f, 0x2410171c, 0x0d210912, 0x1a132e0e, 0x0718133b, 0x380d0607, 0x1b0e2909, 0x0d111a14, 0x07122f34, 0x11191008, 0x10160b0a, 0x171c1010, - 0x0c22180f, 0x1108221a, 0x01030d16, 0x27061716, 0x01021a03, 0x03011008, 0x07080201, 0xb9021a12, 0x422fbb6e, 0x09173c52, 0x4b424a1d, 0x4ea72d18, - 0x150f0d4d, 0x3c17161d, 0x972f4252, 0x01900818, 0x25016e58, 0xfaf0f0fa, 0x291d0da0, 0x071b151a, 0x111d110e, 0x3a26170e, 0x0d0c020b, 0x37050507, - 0x100b0910, 0x0c080409, 0x41040d67, 0x373b1f27, 0x070e1860, 0x17121d11, 0x0f150926, 0x43520110, 0x12043804, 0x08340105, 0x0c101711, 0x030b122d, - 0x423e0804, 0x1d2f070b, 0x450b2411, 0x1c141110, 0x0e1d0f33, 0x4d0a5d09, 0x0c18180c, 0x17022d41, 0x08172116, 0x1b0c1105, 0x05222614, 0x0319220e, - 0x0c020717, 0x0502030c, 0x02041102, 0x01040202, 0x02240382, 0x00171a07, 0x0807b343, 0x0b004925, 0x00000f00, 0x15331501, 0x35231523, 0x35333523, - 0x21152101, 0xb4b49805, 0xfbb4b464, 0xf9480628, 0x834905b8, 0xb464380b, 0x00465cfd, 0xff530005, 0x058c063e, 0x000600a7, 0x002c0028, 0x82370030, - 0x3311293d, 0x1133010b, 0x27072327, 0x03200183, 0x0b260584, 0x021b3502, 0x01821737, 0x05841320, 0x21331729, 0x022b1533, 0x85373335, 0x042e082d, - 0xcecea0a1, 0x4ac936a0, 0x2f303f33, 0x373a3a3f, 0x36103119, 0x37272737, 0x19311036, 0x3f3a3a37, 0x333f302f, 0xf201c94a, 0x73bc8a8a, 0x2c838873, - 0x08024708, 0x2201b001, 0x50fedefe, 0xa93ed63a, 0xfee3cd72, 0x6a8b54fc, 0xd4fe92df, 0xeb010401, 0x01eb0189, 0xb7affe04, 0x548b6adf, 0xcde3fcfe, - 0xd63ea972, 0xfe3a6161, 0x01defe50, 0x00b00122, 0x5c000300, 0xa40637ff, 0xbb82e005, 0x3b000d22, 0x2326b783, 0x11230109, 0x06841103, 0x012f0122, - 0x0585bf85, 0x0f840f20, 0x1f020f22, 0x3f23c482, 0x85011f01, 0x280586c4, 0x01c83403, 0xc8140114, 0x3d068598, 0x7238d802, 0x484b604e, 0x545a5a60, - 0x54184b27, 0x4b394b45, 0x39155a36, 0x15392525, 0x0c82365a, 0x18544531, 0x5a54274b, 0x4b48605a, 0x01724e60, 0x84fcfe5d, 0x02042294, 0x83b9825d, - 0xfc3008d1, 0x381bc8fe, 0x512d4204, 0x37216659, 0x8448582a, 0x4b645a70, 0x438f523b, 0x8f4a656c, 0x644b3b52, 0x4884705a, 0x21372a58, 0x2d515966, - 0x00380442, 0x023b0082, 0x22ff4b00, 0xd005b506, 0x2a000900, 0x15050000, 0x2115012d, 0x35010d35, 0x8b171301, 0x8d3f20ad, 0x070324d9, 0x836d0103, - 0x2604227e, 0x087a8201, 0x4ed3fa26, 0x621f6d6e, 0x75756d32, 0x7d615e7d, 0x49499466, 0x617d6694, 0x75757d5e, 0x1f62326d, 0x3e4e6e6d, 0xa0cecea0, - 0x33080383, 0x7efe5403, 0xb073eccd, 0xcc426e54, 0x8459a1b2, 0x35369931, 0x59843199, 0x42ccb2a1, 0x90b0546e, 0xfecd0901, 0x0200007e, 0x6aff5e00, - 0x7b05a206, 0x1f000b00, 0x300e5b42, 0x27032703, 0x1127020b, 0x37021b37, 0x21133713, 0x06694215, 0x87c7fe21, 0x21868774, 0x7742a702, 0xf0fc3307, - 0xfe629dfe, 0xbefeb2f7, 0x67fe6501, 0x84070584, 0x098267fe, 0xfeb2be2f, 0x9dfe62f7, 0x00030074, 0x063eff53, 0x069342af, 0x00002f2c, 0x0d352113, - 0x03213501, 0x07412115, 0x05804205, 0x35021b22, 0xa0427982, 0x03072109, 0xcb202685, 0x22075442, 0x42450355, 0x3b21068c, 0x0b8c4236, 0x423b3621, - 0x9620068c, 0x28074b42, 0xcea00304, 0xfcfea0ce, 0x26864261, 0x839bfe21, 0x8200202f, 0x00042800, 0x065effc8, 0x82a60538, 0x000f2bb5, 0x001f001b, - 0x21352500, 0x7f430315, 0x2e0b8b0b, 0x04112311, 0xb4cc016c, 0xb464b4b4, 0x84c0fcb4, 0x31022706, 0x6464a05a, 0x95439c04, 0x5cfe2105, 0x02250785, - 0x06b8f90e, 0x21628248, 0x8f470100, 0xa5022105, 0x002c6382, 0x21152113, 0xf948065c, 0x46a502b8, 0x053a1c82, 0x08ff5601, 0x1505aa05, 0x39000f00, - 0x65004500, 0x00008f00, 0x11333505, 0x715e0623, 0x11332a05, 0x14011533, 0x07020e07, 0x058b5523, 0x82012e21, 0x020e211a, 0x12525018, 0x50180420, - 0xe84b0a86, 0x0d146308, 0x1e373628, 0x07061701, 0xce672506, 0x2726210f, 0x3210136a, 0x15210706, 0x07bc9c01, 0x2c0b3765, 0xa56e3d0b, 0x671c02a3, - 0x382c05da, 0x2d22215b, 0x0104020d, 0x250e0f0a, 0x12205018, 0x75d9fe32, 0x41754242, 0x958456fe, 0x41694926, 0x5b227657, 0x1806104e, 0x0808aa52, - 0xfee2025f, 0x3307cf39, 0x323b1b1c, 0x151e2a1b, 0x0a332c05, 0x4c371312, 0x1b1c5066, 0x2c190e0f, 0x4f201e1d, 0xf852014f, 0x6bf5015b, 0x0a270a3b, - 0xbcfd7743, 0x49a5015b, 0x556b4140, 0x284d2a1b, 0x01365929, 0x12121401, 0x0e0f101a, 0x31304c37, 0x1e1e2a2b, 0x44131221, 0x3e923030, 0x3f3c0e3c, - 0x3104823f, 0xa9b2ca01, 0x2d588154, 0x2f314b4d, 0x655d6a39, 0x8b4a6a5d, 0xb8682f08, 0x2a292f07, 0x38310c2e, 0x16271d10, 0x9f691411, 0x1d1b390d, - 0x5c43441c, 0x04000000, 0x08ff2e01, 0x1505c705, 0x35001300, 0x86004d00, 0x23130379, 0x30013011, 0x2310b552, 0x13303330, 0x11220386, 0x21822330, - 0x6d15514e, 0x01213727, 0x088e612e, 0x0905c437, 0x62180923, 0x18621819, 0x05082409, 0x06b38168, 0xfc687bb4, 0x3b3a6d2b, 0x9f02f832, 0xfe60bb60, - 0x120102dc, 0xb32d1248, 0x2db32c2c, 0xfd2b0882, 0xfe9f02ff, 0xfd5501ab, 0x84620361, 0x61c32220, 0xc441180b, 0x7817200a, 0x450805ec, 0x242c515c, - 0x1a1b3124, 0x2d0b321b, 0x2e28220b, 0x15152a2c, 0x5c130d0a, 0x27262f51, 0x001e1b1b, 0x006b0001, 0x049506d3, 0x00440031, 0x16320100, 0x0e071415, - 0x23060702, 0x27052e22, 0x23262726, 0x07060722, 0x1083010e, 0x35264508, 0x37363734, 0x3233063e, 0x1617051e, 0x32331617, 0x3f013e37, 0x06023e01, - 0x072a1e4c, 0x3266240b, 0x522a6e72, 0x362f4442, 0x2149131b, 0x43305d70, 0x10125946, 0x1e14110d, 0x0a04122a, 0x30381c14, 0x264d4043, 0x3108218b, - 0x572a4832, 0x0b031615, 0x2aca021f, 0x160f111e, 0x72329341, 0x39472a1e, 0x84242e55, 0x4643a831, 0x08151e98, 0x1c1e2a0a, 0x22110614, 0x443a522e, - 0x1d891d2a, 0x7c2a4828, 0x0e072828, 0x00820013, 0x1e00033e, 0xce0649ff, 0x0b00cc05, 0x4e002b00, 0x14040000, 0x22212306, 0x33363426, 0x22253221, - 0x0127b883, 0x3233013e, 0x82210117, 0x82e28203, 0x012729de, 0x09272221, 0x13010e01, 0x0620f384, 0x1582e682, 0x82012f21, 0x3336252c, 0x03011f32, - 0x17210885, 0x08e48213, 0x1d0b0238, 0x159ffe15, 0x01151d1d, 0x8afe1561, 0x01021d15, 0x111a0561, 0x82010f19, 0x0f1c8c01, 0x1d078d01, 0xfe0f1c15, - 0x1977fe82, 0xfeaafe0f, 0x9a1a05bc, 0x011a0f0a, 0x54820301, 0x05055408, 0x0a0f0fd2, 0xa38b0505, 0x0e0a0f03, 0x0111a408, 0x1d2a700e, 0x5d1d2a1d, - 0x0707151d, 0x1410a604, 0x18effd15, 0x0e0c80fd, 0x02181d15, 0xd4011568, 0x1410bbfb, 0x0a0f4a05, 0x0403e101, 0x02040407, 0x0a10075b, 0x013d020f, - 0x0a070615, 0xe9fe0c0f, 0x840d0995, 0x844620f3, 0x841420f3, 0xad4f20f3, 0x830120f3, 0x010f22f3, 0x24e98225, 0x07141516, 0x06734b05, 0x23012f24, - 0xf7822726, 0x3f363726, 0x9c033601, 0x6f20f482, 0x9123f484, 0xa2f9fc15, 0x52033ef4, 0x48040f0a, 0x04042d01, 0xfe110f0a, 0x0f0d89c7, 0xba05070a, - 0x04030501, 0x6c020101, 0x3df6a307, 0x070b0e03, 0x01687906, 0x05120b0e, 0x0f074d6d, 0x69030f0a, 0x08060503, 0x03020404, 0xf6820cb4, 0x00030022, - 0xb020f785, 0x5120f784, 0x3421f7ae, 0x22f98236, 0x83373613, 0x07142406, 0x82270706, 0x22232104, 0xf941f583, 0x16172407, 0x82410517, 0x845b20f9, - 0x15a523f9, 0xf9a354fb, 0x140fb32e, 0x068d010f, 0x050f1408, 0x12022196, 0x092bf183, 0x6b4f0607, 0x0d0a0f05, 0xa3375a07, 0x0a8d3ffa, 0xfe0a0f0f, - 0x0806bd54, 0x06090a0f, 0x13052dc7, 0x06010105, 0x06916a06, 0x0a0f0a09, 0xf3414a79, 0x05e22108, 0x2005f341, 0x41fbae50, 0x022206ec, 0x09853707, - 0x4d010f21, 0x34210585, 0x06eb4223, 0x36011f24, 0xfa82ce06, 0xfa847320, 0xf9158d23, 0x3efaa2c7, 0x1206e605, 0x5f010f0a, 0x0707a328, 0xe00b0f0a, - 0x06070807, 0x62010307, 0x110a0f02, 0xa22a4c06, 0x9e043ef9, 0x040a0f11, 0x74e2fe04, 0x0a0f046b, 0x0493070e, 0x01070404, 0x05040d01, 0xcc110f0a, - 0x08f7827d, 0x7d00022f, 0x83067cff, 0x0600b605, 0x00001200, 0x0b371101, 0x00111701, 0x27220614, 0x36342601, 0x05011732, 0xe2e2b7cc, 0x2c0d01b7, - 0x90fa163e, 0x35058216, 0xb6057005, 0xfe469afe, 0x462101df, 0x31fa6601, 0x05162c3e, 0x05821670, 0x0090fa23, 0x204f8b00, 0x294f881f, 0x23061401, - 0x012c3122, 0x0f410027, 0x17162606, 0x05000112, 0x385c891e, 0xddfe011f, 0xfebd14fe, 0x2c017588, 0x05291c1f, 0x0157016c, 0x1f120252, 0x386b8c2b, - 0x052c1f12, 0x7801bdc6, 0x0706ae02, 0x1b242c1f, 0xa9fe82fd, 0x010aaefe, 0x2077842c, 0x20c7825f, 0x34c78583, 0x1b071105, 0x24112701, 0x37342622, - 0x16323601, 0x05010714, 0x21c78376, 0xae8a1bfb, 0x6601a02b, 0xfe210146, 0x9afe46df, 0x83d8841d, 0x85c583de, 0x224f87c7, 0x8600002f, 0x05f0444f, - 0x3e373626, 0x24363706, 0x2606e243, 0x04060706, 0x8207020e, 0x07062202, 0x0865860e, 0x1ffcfa28, 0x5331062c, 0x2a3f2322, 0x27493840, 0x01b60192, - 0x1f04034c, 0xb61d272c, 0xa3d0e2fe, 0x461f3472, 0x33532b2f, 0x818c2608, 0x0f1f2408, 0x5ad7760e, 0x7b569959, 0x92275d55, 0x2c0120a8, 0x032b1d1f, - 0x865c4312, 0x9f3b6495, 0x78d96f78, 0x82001915, 0x00043400, 0x0644ff46, 0x00b405ce, 0x000e000d, 0x00300020, 0x45330100, 0x23270a7d, 0x01032531, - 0x4523010e, 0x09280a9d, 0x15163201, 0x06010714, 0x36231486, 0x4564ab04, 0x87280a5d, 0xfeef6ffe, 0x111a05bc, 0x290a9542, 0x1f310215, 0x49fc0c2c, - 0x06822916, 0x16b70324, 0x4a45ee02, 0x01a12609, 0x10bbfb48, 0x08664514, 0x0284fe2a, 0x161f2c30, 0x2327fa12, 0x05220683, 0xa68223d9, 0x0e240282, - 0x0100ae00, 0x02850782, 0x0b860220, 0xb7820120, 0x0b861f20, 0x07000224, 0x0b863d00, 0x26000324, 0x0b869300, 0x23820420, 0x0b86d620, 0x0f000524, - 0x0b860401, 0x0c00062b, 0x03002e01, 0x09040100, 0x85008500, 0x0001240b, 0x8603001a, 0x00022417, 0x862d000e, 0x0003240b, 0x8645004c, 0x8204200b, - 0x86ba2023, 0x0005240b, 0x86e4001e, 0x0006240b, 0x83140118, 0x0046304c, 0x00720075, 0x0061006e, 0x00650063, 0x82490020, 0x826f2007, 0x00732e0f, - 0x72754600, 0x6563616e, 0x6f634920, 0x200e826e, 0x201f8252, 0x202d8267, 0x282b826c, 0x52000072, 0x6c756765, 0x21088261, 0x2f830046, 0x83007421, - 0x00722207, 0x20458467, 0x9949823a, 0x00202159, 0x32221f83, 0xb2823800, 0x30003122, 0x32200582, 0x32220582, 0x73823300, 0x746e6f2a, 0x67726f46, - 0x203a2065, 0x0f827f8c, 0x2d383228, 0x322d3031, 0x27833230, 0x5620b6a8, 0x72249082, 0x69007300, 0x2020a684, 0x30246882, 0x2e003100, 0x30300784, - 0x65560000, 0x6f697372, 0x3030206e, 0x30302e31, 0xb68d1082, 0x41110e41, 0x0024060d, 0x00020000, 0x0120008b, 0x0b840c8b, 0x05825720, 0x0001b208, - 0x01030002, 0x01030102, 0x01050104, 0x01070106, 0x01090108, 0x010b010a, 0x010d010c, 0x010f010e, 0x01110110, 0x01130112, 0x01150114, 0x01170116, - 0x01190118, 0x011b011a, 0x011d011c, 0x011f011e, 0x01210120, 0x01230122, 0x01250124, 0x01270126, 0x01290128, 0x012b012a, 0x012d012c, 0x012f012e, - 0x01310130, 0x01330132, 0x01350134, 0x01370136, 0x01390138, 0x013b013a, 0x013d013c, 0x013f013e, 0x01410140, 0x01430142, 0x01450144, 0x01470146, - 0x01490148, 0x014b014a, 0x014d014c, 0x014f014e, 0x01510150, 0x01530152, 0x6e750754, 0x46304569, 0x20078630, 0x20078631, 0x20078632, 0x20078633, - 0x21078434, 0x27853031, 0x85303121, 0x30312127, 0x31212785, 0x21278530, 0x27873031, 0x2f863520, 0x07863620, 0x07863720, 0x07863820, 0x07863920, - 0x07864120, 0x07864220, 0x07864320, 0x07864420, 0x07864520, 0x07854620, 0x86303121, 0x86312007, 0x207f8607, 0x207f8631, 0x207f8631, 0x207f8631, - 0x207f8631, 0x207f8631, 0x207f8631, 0x207f8631, 0x207f8631, 0x207f8631, 0x207f8631, 0x207f8631, 0x207f8631, 0x217f8631, 0x77853032, 0x86313221, - 0x207f8607, 0x207f8632, 0x207f8632, 0x207f8632, 0x207f8632, 0x207f8632, 0x207f8632, 0x207f8632, 0x207f8632, 0x207f8632, 0x207f8632, 0x207f8632, - 0x207f8632, 0x217f8632, 0x77853033, 0x86313321, 0x207f8607, 0x207f8633, 0x207f8633, 0x207f8633, 0x207f8633, 0x207f8633, 0x207f8633, 0x207f8633, - 0x207f8633, 0x207f8633, 0x207f8633, 0x207f8633, 0x207f8633, 0x217f8633, 0x77853034, 0x86313421, 0x207f8607, 0x207f8634, 0x207f8634, 0x207f8634, - 0x207f8634, 0x207f8634, 0x207f8634, 0x207f8634, 0x207f8634, 0x207f8634, 0x287f8634, 0x00004434, 0xffff0100, 0x07494500, 0x0c000026, 0x04001400, - 0x02241582, 0x01000000, 0x09850386, 0x55e00024, 0x11822068, 0x0c6f7718, 0xeedffa05, 0x0000fbf9, + 0x0000bc57, 0x00000000, 0x507c0000, 0x00000400, 0x00010037, 0x000e0000, 0x00030080, 0x54464660, 0xddb5a24d, 0x7c0000b4, 0x28158234, 0x4544471c, + 0x00270046, 0x200f8218, 0x2c0f8214, 0x2f534f20, 0x52fa8c32, 0x0100008c, 0x2b0f8268, 0x616d6356, 0xd444cb70, 0x02000013, 0x022d1382, 0x7476630e, + 0x043b0020, 0x0400006f, 0x261f829c, 0x73616704, 0x82ffff70, 0x7c002259, 0x2b0f820c, 0x796c6708, 0x79cdb366, 0x05000085, 0x70293f82, 0x616568fc, + 0xbd132564, 0x201b82d8, 0x210382ec, 0x10826836, 0x06820923, 0x205f8205, 0x280f8224, 0x746d6824, 0x18eb2d78, 0x200f8299, 0x280f82c0, 0x636f6ccc, + 0x0d402961, 0x825f82a0, 0xc6002803, 0x7078616d, 0x8203ac00, 0x4801213b, 0x20271f82, 0x656d616e, 0x82a16656, 0x647621af, 0xce2b3382, 0x74736f70, + 0xc25c09b3, 0x82780000, 0xd60321cf, 0x012deb84, 0x2ecf0000, 0x0f5f5859, 0x1f00f53c, 0x25368207, 0xfde00000, 0x08839fff, 0x7562e12b, 0xfe80fcf4, + 0x05000768, 0x220f82e0, 0x82020008, 0x82028305, 0x00062233, 0x290982ff, 0x80fc0007, 0x00070000, 0x0c820100, 0x0420028b, 0x62251184, 0x0800bb03, + 0x21008300, 0x23830002, 0x40222583, 0x0b822e00, 0x072b0d82, 0x00900100, 0x04000005, 0x82e6048c, 0x85fa2011, 0x5c032b07, 0xcf015900, 0x00020000, + 0x15820905, 0x01210285, 0x84078510, 0x75462905, 0x40005472, 0x58e12000, 0x06208385, 0x04856a84, 0x3b208b84, 0x07202683, 0x03830482, 0x0280fc25, + 0x8292000a, 0x0052320c, 0x002f0021, 0x003500a5, 0x0029004c, 0x006e0192, 0x349b8278, 0x00480061, 0x00180152, 0x004a000b, 0x0032018f, 0x0050001b, + 0x2631822e, 0x011901ca, 0x82aa0036, 0x0029261b, 0x004e0133, 0x2e4182d0, 0x0004000b, 0x017c0122, 0x0039007b, 0x82270139, 0x001428a5, 0x0074014c, + 0x82480022, 0x000c240d, 0x82b60085, 0x005b260f, 0x004b012e, 0x2001845c, 0x2005822a, 0x32038253, 0x005e004b, 0x00c80053, 0x0157015c, 0x006c002e, + 0x8446001e, 0x007d2101, 0x0d830185, 0xa0001322, 0x6422018c, 0x73826400, 0x03860320, 0xdf851c20, 0x00080123, 0x20098403, 0x208b821c, 0x2e1b82ec, + 0x00080008, 0x00000002, 0xe1f4e020, 0x84ffff58, 0xe1f02609, 0xffffff00, 0x200b82e3, 0x222b8400, 0x820e0006, 0x0004260b, 0x00060005, 0x282f8207, + 0x000a0009, 0x000c000b, 0x3c17820d, 0x0010000f, 0x00120011, 0x00140013, 0x00160015, 0x00180017, 0x001a0019, 0x001c001b, 0x08a7821d, 0x20001f84, + 0x22002100, 0x24002300, 0x26002500, 0x28002700, 0x2a002900, 0x2c002b00, 0x2e002d00, 0x30002f00, 0x32003100, 0x34003300, 0x36003500, 0x38003700, + 0x3a003900, 0x3c003b00, 0x3e003d00, 0x40003f00, 0x42004100, 0x44004300, 0x46004500, 0x48004700, 0x4a004900, 0x4c004b00, 0x4e004d00, 0x50004f00, + 0x52005100, 0x54005300, 0x56005500, 0x58005700, 0x5a005900, 0x5c005b00, 0x5e005d00, 0x60005f00, 0xc6826100, 0xca850620, 0x0022c782, 0x05820201, + 0x8d000221, 0x00012300, 0x118d0300, 0x22d30d40, 0x826f043b, 0x002c21d6, 0xba080185, 0x0084003c, 0x056404c6, 0x06c40524, 0x075807d4, 0x09ce08ea, + 0x0a760934, 0x0bfe0ab0, 0x0cee0b88, 0x0de60c2e, 0x0ed80d6a, 0x0fca0e64, 0x105a10a4, 0x117e11bc, 0x139212c6, 0x138c130c, 0x159814d8, 0x17381648, + 0x1b801712, 0x1cae1b1e, 0x1dc01c34, 0x1f081fea, 0x218020bc, 0x218a2134, 0x238622fc, 0x272a27c8, 0x29b028ca, 0x2ac62952, 0x2bbe2a0a, 0x2ef42ba4, + 0x2e442e16, 0x2f8e2e68, 0x300c30f0, 0x31d2306a, 0x3156311e, 0x31de31ac, 0x33ba32ec, 0x34c63364, 0x35bc3440, 0x35b6353a, 0x361a36de, 0x36903642, + 0x371c37e4, 0x37a0378e, 0x37c837b4, 0x38f037dc, 0x38163804, 0x827e384c, 0x022108c5, 0x00003b00, 0xaa041502, 0x07000300, 0x01b12e00, 0xb23c2f00, + 0xed000407, 0x0506b132, 0x03b23cdc, 0x220a8202, 0x8303b100, 0x83052016, 0x07b22716, 0x3cfc0106, 0x178301b2, 0x21113337, 0x11212511, 0xda013b21, + 0x640161fe, 0xaa049cfe, 0x043b56fb, 0x25578334, 0xf5ff80fc, 0x09828003, 0x59820120, 0x2105002e, 0x33fd2125, 0xb3f99a05, 0x0b0b0007, 0x25081582, + 0x000a0203, 0x03f60410, 0x001b00fd, 0x002f0025, 0x21300100, 0x14151632, 0x0607010e, 0x17161507, 0x011e1716, 0x0b821415, 0x23010e2f, 0x32213721, + 0x34013d36, 0x35212326, 0x08098533, 0x02012b4d, 0x7dbd010a, 0x20311f8e, 0x251e1e20, 0x2b1f2025, 0x23221413, 0x17fe385f, 0x3f1801a2, 0xfe3f4848, + 0x423dfce8, 0x03fc3d42, 0x38778dfd, 0x0c0d324f, 0x0d020803, 0x581c1c0d, 0x35363c3f, 0x8b2c2727, 0x3e313e42, 0x393e8842, 0x833e3a2e, 0x0030088f, + 0x06630092, 0x00a9036e, 0x0017000f, 0x2500002b, 0x21302730, 0x23300730, 0x33371236, 0x01171216, 0x07062330, 0x01263330, 0x27001130, 0x13303330, + 0x062f0385, 0x30110702, 0xfe4cea02, 0x2f8a49c7, 0x82ab2fbf, 0xfe340803, 0x3d3c068d, 0x84023cf7, 0x9b17f7fe, 0x94cb04cc, 0x631dce37, 0x028ce3e3, + 0xfd8c8c2e, 0xc9028cd2, 0xfdb9b9b9, 0x014a01f0, 0x8bfe28d4, 0xfe617501, 0xb3fe329a, 0x00218282, 0x3a048203, 0x030007ac, 0x03580361, 0x00ba038c, + 0x02263700, 0x1d303327, 0x041d1702, 0x90031d17, 0xa3149102, 0xf1478211, 0x95719126, 0x011e2686, 0x013e3317, 0x06734137, 0x3d220d86, 0x02893703, + 0x0b8a0420, 0x11a31785, 0x26f12982, 0x86a17191, 0x0206332e, 0x02262307, 0x27012e27, 0x07010e23, 0x052d0d82, 0x3e272622, 0x011e3701, 0x34353233, + 0x29188326, 0x35262726, 0x32333634, 0x21821716, 0x23012e2b, 0x14150622, 0x1e171617, 0x23028501, 0x25061415, 0x23223b82, 0x28822722, 0x34262726, + 0x3e373637, 0x21823c82, 0x2c840720, 0x14011d35, 0x37323316, 0x013d023e, 0x11333523, 0x5e188e23, 0xcc016818, 0x0e043400, 0x0e040c04, 0x0e390e03, + 0x0e390f7b, 0x0d030f03, 0xcc040e03, 0x64012761, 0x7a196218, 0x5c833a0e, 0x5c820c20, 0x0f3c0f3b, 0x6e4bf002, 0x0c2f0b27, 0x77314d1d, 0x2409342a, + 0x2a2b5a0a, 0x63486570, 0x08138224, 0x31401a3c, 0x16163737, 0x09240931, 0x16154430, 0x43027413, 0x484f090c, 0x212b2c34, 0x12121320, 0x5f222212, + 0x38375a3d, 0x4611531e, 0x5050483c, 0x1a1a1e48, 0xdf7c1627, 0x0170b75a, 0xb8cd70be, 0x014d0010, 0x681a2d47, 0x19671919, 0x44100144, 0x44f0fe44, + 0x19220a82, 0x01101a68, 0x4147015b, 0xaf084d47, 0x7042fe70, 0x45130145, 0x1919671a, 0xfe451a67, 0x380b45ed, 0x0b2a0b36, 0x2c6d2c29, 0x07020d2f, + 0x2d2c1502, 0x31615c51, 0x0b290a34, 0x342d2425, 0x0c15162a, 0x0b020802, 0x3f17171f, 0x6e686529, 0x13133e30, 0x4242292a, 0x2a4242b8, 0x2627282a, + 0x39313147, 0x52a4525c, 0x2109085c, 0x573b1e31, 0x00009efe, 0xff520007, 0x05ae0603, 0x001a001a, 0x00380024, 0x00530049, 0x00800078, 0x26220500, + 0x3e373435, 0x06333702, 0x0e070607, 0x3e330701, 0x16323301, 0x27061415, 0x34013d32, 0x011d2223, 0x02260314, 0x12163327, 0x33171617, 0x12363736, + 0x02272a82, 0x11232107, 0x83173221, 0x13072727, 0x27012e23, 0x79483723, 0x01152707, 0x2e272622, 0x2a823401, 0x33363722, 0x17212382, 0x0b584506, + 0x37369808, 0x0e17011e, 0x01110501, 0x01110115, 0x6ba20135, 0x3a0f106d, 0x3b8a314f, 0x1d1e2a2a, 0x110c0925, 0x5f513147, 0x6d6d6a6e, 0x83211f6c, + 0x50136b21, 0x0c0e0e14, 0x4e140e0e, 0x83216914, 0x658f0120, 0x2c560901, 0x803a392b, 0x17560871, 0x26249b78, 0x029b2426, 0x225d3aad, 0x21232321, + 0x3b2e2e22, 0x1f333356, 0x3e12490d, 0x4c4c4435, 0x12423644, 0x200e380f, 0x01e4fe69, 0xfe72fe28, 0x7f84fdd8, 0x6f3c3d3c, 0x292d2260, 0x56282928, + 0x6a312f32, 0x55776a67, 0x82771977, 0x03560802, 0xbf017018, 0xe7fe466f, 0x4f4f4e46, 0x1901464e, 0x41fe6f46, 0x339e0270, 0x604d6034, 0x13e7fe11, + 0x265536c9, 0x262a3e2a, 0x278efede, 0xb6842a2a, 0x142a2a84, 0x4a252514, 0x32392907, 0x53a1525f, 0x083b365e, 0x4e4a0921, 0x0134feb2, 0x92fe8210, + 0xeffecd01, 0x00820082, 0x2100043f, 0xdf06ac00, 0x0b006103, 0x4a001500, 0x00007400, 0x30113037, 0x14163221, 0x19012b06, 0x08b74901, 0xce460120, + 0x17162205, 0x46128216, 0x2e2806d0, 0x3e343501, 0x17323302, 0x2c08d146, 0x14150607, 0x1e011f16, 0x0e141501, 0x05cd4602, 0x85022e21, 0x17162124, + 0x230cc646, 0x013e3736, 0x0806c846, 0x200121d1, 0x5d66665d, 0x2e2aadb4, 0x02ad292f, 0x2a7655dd, 0x230d320c, 0x41362b2b, 0x0a3b2e41, 0x62620a27, + 0x36563d21, 0x2837384c, 0x1a0d320d, 0x2039384b, 0x3c373420, 0x3f205d64, 0x04dd025a, 0x3c4c5e0a, 0x2a294a66, 0x5a426c4d, 0x1359237d, 0x61503d51, + 0x1c205061, 0x1916161d, 0xb75ff38a, 0xb96d9e02, 0x01f5fe6d, 0x2e282b6a, 0xb6fd2b29, 0x2f0b343d, 0x17162b0c, 0x2e27313a, 0x0207020c, 0x2c515c12, + 0x1b1b3148, 0x2d0b321a, 0x1729210b, 0x292a2c18, 0x5d130c0b, 0x374d2f50, 0x4031711d, 0x5482572d, 0x2e588154, 0x2f344750, 0x6e5d663b, 0x0809665d, + 0x202f0f10, 0x9bfe5d34, 0x2f000500, 0xd106ac00, 0x12006103, 0x2a001f00, 0x46013400, 0x42250000, 0x3e280768, 0x021e3201, 0x27020e14, 0x2a058342, + 0x011d0622, 0x11051614, 0x41173221, 0x052c0f5e, 0x2327012e, 0x1d17071d, 0x0e1d170f, 0x0b850287, 0x01330582, 0x33112311, 0x1e171216, 0x3d331701, + 0x0f3d2705, 0x870e3d27, 0x2d0b8802, 0x11331104, 0x01022623, 0x23603c33, 0x02822322, 0x607a5f3a, 0x44232344, 0x4f483c61, 0x4f4f904f, 0x0901df01, + 0x572b2c56, 0x259aa356, 0x9a260082, 0x22086302, 0x32440c09, 0x75622807, 0x08228521, 0x880d0823, 0x21762310, 0x4c42ac85, 0x28282d07, 0x84b68454, + 0x5d5a2754, 0x5d52a252, 0x4f330484, 0x34339e02, 0xf1fe67c1, 0x2a256901, 0xb226293d, 0x44155315, 0x4dae4d7f, 0x70fe0228, 0xfe439e02, 0x884043f4, + 0x90012680, 0x014362fd, 0x055f430c, 0x5500a53a, 0xb7035b06, 0x48002f00, 0x5e005400, 0x30250000, 0x23010e23, 0x35022e22, 0x43078a44, 0x0620083e, + 0x2106e349, 0x01823736, 0x23013d35, 0x23112135, 0x16322101, 0x07061415, 0x1507010e, 0x8217021e, 0x0e07300b, 0x37212302, 0x36373233, 0x2734013d, + 0x4d012b26, 0x41080a5d, 0x740e04e5, 0x5c804a60, 0x30303534, 0x71534343, 0x4a122b9c, 0x4d651812, 0x63797963, 0x1b242428, 0xac10101b, 0x01772f01, + 0x69720106, 0x15141b77, 0x3d1a1a34, 0x11131135, 0x2f4f3910, 0xe98768fe, 0x00821e35, 0xe9356a08, 0x373733d2, 0x3de2d233, 0xa26d3850, 0x38a2686a, + 0x631c1c37, 0x0b2b0b59, 0x757f493b, 0x0a7f7588, 0x1d14130b, 0x7541271e, 0x460341fe, 0x422f6276, 0x03141515, 0x2f160107, 0x32352524, 0x25412d2c, + 0x331c1b75, 0x1c1b3429, 0x27303371, 0x00003330, 0x35000500, 0xcb06ac00, 0x1f006103, 0x53004600, 0x66006000, 0x22250000, 0x131b4426, 0x1e37362c, + 0x07061701, 0x2e222106, 0x21822701, 0x3e373623, 0x05064601, 0x072a1482, 0x3e171632, 0x1e323303, 0x58431502, 0x35a80810, 0x12363521, 0x33113337, + 0x25152315, 0x0e231133, 0x834e0101, 0x69492696, 0x21765841, 0x3b48115b, 0x4d59594d, 0x0f124c3d, 0x3d210e3a, 0x38fc013c, 0x10113c57, 0x5523232c, + 0x2d399029, 0x1722212d, 0x04020d16, 0x251c0b01, 0x482a2030, 0x3e211d35, 0x413b3557, 0x42427541, 0xc9fea102, 0x8e2eb52d, 0xbefe5b5b, 0x8e2307db, + 0x54a9b1ac, 0x4d2e5881, 0x3930324b, 0x5d665d6a, 0x09313f6a, 0x29490923, 0x30442429, 0x80493d30, 0x1c533636, 0x28262729, 0x362d2d29, 0x23150101, + 0x371c0f1b, 0x53332f4d, 0x3e58213c, 0x3e3d0d3d, 0x2f080484, 0x4a5d834d, 0xfe4a2a01, 0xd883553a, 0xed3b6301, 0x4c000800, 0xb40608ff, 0x0c001405, + 0x1c001600, 0x5c002800, 0x72006800, 0x00009b00, 0x30113017, 0x21123544, 0xec831101, 0x21113323, 0x45018715, 0x754c06a6, 0x06b44c2d, 0x33132324, + 0x0b850313, 0x33010f2a, 0x37013e25, 0x07010e23, 0x13820282, 0x23270282, 0x1117011e, 0x4c331123, 0x332005af, 0x02821e82, 0x23113329, 0x560901b0, + 0x44582c2c, 0x01300756, 0x86f466ca, 0xe1fe8501, 0xfdfe0301, 0xe7fa1f01, 0x210cdd4b, 0xdd4b0925, 0x2e0c2207, 0x11dd4b0c, 0x09383008, 0x09e10922, + 0xc9640823, 0x04f1ca81, 0x030d030e, 0xb03b040e, 0x0402d002, 0x1f080b01, 0x16571607, 0x08155715, 0x010b081f, 0x78620105, 0x82124812, 0x8209200b, + 0x12540803, 0x62771247, 0x349f02f8, 0xfe67c233, 0x266901f1, 0x25293e29, 0x9f02bcfd, 0x025abbfd, 0x58c45a9f, 0x57035acf, 0x2b0b3539, 0x6e2c2a0b, + 0x020c2f2c, 0x2d140208, 0x605d512c, 0x290a3431, 0x2d25240a, 0x16162a34, 0x0308020b, 0x1717200a, 0x6964293f, 0x1f7c1f0b, 0x40820282, 0xe0016133, + 0x10104111, 0x90d31141, 0x13144c13, 0xb62d134b, 0x2202822d, 0x82134913, 0x63fe290b, 0x9d279f02, 0x16581627, 0x08820282, 0x0061fd2c, 0x00040000, + 0x06ac0029, 0x534703d7, 0x003a2205, 0x1a534746, 0x26114047, 0x1714011d, 0x43323316, 0x25200704, 0x080adc41, 0x20012921, 0x5d66655e, 0x2e29adb3, + 0x03ad292e, 0x2695840f, 0x57416949, 0x0f223b3b, 0x48110f3d, 0x822c4e3b, 0x3c4e3500, 0x3a0e134c, 0x3d3c220f, 0xae012d01, 0x2301bffe, 0x4101ddfe, + 0x34100547, 0x8154a9b1, 0x26272d59, 0x0822084b, 0x35353930, 0x355d665d, 0x07c64235, 0x9e020b2a, 0xc460ba60, 0x03000060, 0x3b825f51, 0xff6e0108, + 0x05920503, 0x0044001a, 0x006d0055, 0x009e0091, 0x00d500ab, 0x250000e3, 0x2c055847, 0x07062223, 0x3627012e, 0x37013e37, 0x051b4436, 0x020e0722, + 0x21098f52, 0x01820706, 0x2e22232a, 0x16372702, 0x1e171617, 0x2109d648, 0x64440135, 0x3e373706, 0x16323302, 0x32270610, 0x013d023e, 0x22022e34, + 0x0607010e, 0xa14f011d, 0x25258205, 0x36343502, 0xf2483537, 0x82322005, 0x05634a42, 0x011e1524, 0x6b821415, 0x200ce147, 0x0bee4713, 0x1e832520, + 0x82230721, 0x23028299, 0x06272622, 0x23232d82, 0x822e2722, 0x8337204f, 0x853320b0, 0x8807204c, 0x087382c9, 0x4b021655, 0x313a3c3e, 0x0c174330, + 0x130f0c30, 0x20213314, 0x3a502f2b, 0x240a0a21, 0x191d1a2f, 0x1613131a, 0x2d1f1f22, 0x472f362c, 0x500f2a36, 0x120e0e0c, 0x3e1c2e11, 0x473f4541, + 0x5c3e9802, 0x0f0f0e3c, 0x3e5c3c0e, 0x7d76767d, 0x0e1e3123, 0x45311e0e, 0x82071f31, 0x0fb30800, 0xf8fd3110, 0x1f3d593b, 0x3e343c4a, 0x6853371e, + 0x0f382929, 0x3d343f0f, 0x3c10104a, 0x423c3a5a, 0x42427942, 0x3b3b373d, 0x033a3a6f, 0x45161652, 0x38902956, 0x2d21225b, 0x0105010d, 0x260e0e0a, + 0x242a2030, 0x101d3524, 0x561f1f11, 0x2c2b3836, 0xec10113c, 0x3a42413b, 0x9941413b, 0x2e072935, 0x0a262c31, 0x15160a2a, 0x090a1d14, 0x28412d17, + 0x28191a20, 0x06040619, 0x14150d0d, 0x482c2539, 0x0e0e191a, 0x172c2114, 0x1111143e, 0x3a0d0c0c, 0x36340734, 0x2f6afe5c, 0x53404058, 0x59404152, + 0xb8feb72f, 0x331c5cb6, 0x2c752c49, 0x1c1c3448, 0x82242434, 0x252e0809, 0x1c1a1a23, 0x341d0603, 0x51432a47, 0x4e130711, 0x2d40263a, 0x2d0c0d19, + 0x3a262020, 0x1107134e, 0x232a4351, 0x571d3424, 0x32133238, 0x04823737, 0x3a013827, 0x2e102e30, 0x08048430, 0x41491f2a, 0x1b556b40, 0x28284e29, + 0x0101365a, 0x1b121214, 0x360f0e0f, 0x2a32304c, 0x221e1d2b, 0x30441312, 0x3c3f9330, 0x3e3e3c0e, 0x3f210482, 0x37008200, 0x00780004, 0x038806b7, + 0x000f0055, 0x00370027, 0x01000040, 0x23301130, 0x352a0384, 0x15302130, 0x35301330, 0x0f8a3330, 0x33201b83, 0x21221782, 0x27822730, 0x3c0c8154, + 0x3307010e, 0xac01012e, 0xfc01c86c, 0x015b5b53, 0x025c5c24, 0x3afb3c2b, 0x2699266f, 0x08038288, 0x05d7fe43, 0xc6104110, 0xf5024010, 0x3e02c2fd, + 0xc2fd6060, 0x58ee0158, 0x5812fe58, 0x0170b5b5, 0xfe7070be, 0x3a027042, 0x3131c531, 0x050000c5, 0xac000800, 0x6103f806, 0x3e003400, 0x50004600, + 0x00005800, 0x329f4b37, 0x0723272a, 0x16331323, 0x23011712, 0x1190a186, 0x55fd4208, 0x310d2a76, 0x2b2b230d, 0x2e414037, 0x0a280a3a, 0x3c226262, + 0x384c3656, 0x320d2738, 0x374b1a0d, 0x341f203a, 0x5d653c36, 0x025a3e21, 0x3bfa3dd0, 0x2689e46e, 0xd7fe2698, 0x10401104, 0x034010c5, 0x20139128, + 0x2c824bac, 0xb5b50b24, 0x00419e02, 0xf7fd210a, 0x0020108e, 0x03340082, 0xac006100, 0x61039f06, 0x2b001500, 0x00004b00, 0x30033025, 0x240eaa46, + 0x21070206, 0x13b14135, 0x87480520, 0x3c012d1d, 0x471270db, 0x0b2b0a12, 0x0b2b0b04, 0x6d250982, 0x01259525, 0x05c7414b, 0x83840126, 0x684a2696, + 0x28146148, 0x379e02b7, 0x9b2737dd, 0x82028227, 0x41c38308, 0x0b2007d6, 0x82174148, 0x00042acb, 0x06b70048, 0x005503b8, 0x22cd820b, 0x46290021, + 0x1b46183f, 0x1101280a, 0x35231123, 0x4d481521, 0x2928074c, 0xad292e2e, 0xad011402, 0x25070246, 0xc86c7b01, 0x0846fc01, 0x45c1200f, 0x022106ea, + 0x0579423e, 0x06207f82, 0x3408934f, 0x0027001e, 0x004e003d, 0x007e0058, 0x27220500, 0x37343526, 0x25018436, 0x020e3330, 0x944f0607, 0x4f172005, + 0x22240895, 0x0114011d, 0x5606944f, 0x06200a12, 0x212d964f, 0x974f010e, 0x7a033f12, 0x1037366b, 0x271d1d0f, 0x3b8a3128, 0x12123a55, 0x47110c0a, + 0x2f305131, 0xd96d6a6e, 0x924f09fe, 0x13042606, 0x12050c05, 0x12944f05, 0x144d1422, 0x2217944f, 0x4f0e3a0e, 0xfd350e95, 0x3c7f4242, 0x38363d3d, + 0x2d232f30, 0x2a2b5052, 0x35312f33, 0x13904f35, 0x1a691a22, 0x924f0282, 0xb62e2211, 0x15924f2e, 0x08200822, 0x3c0d934f, 0x18010600, 0xe80508ff, + 0x0b001405, 0x2d001700, 0x55004b00, 0x00005f00, 0x30113005, 0x22038233, 0x84153021, 0x500b8707, 0x353305c6, 0x3e373634, 0x17163201, 0x0614011e, + 0x27010e07, 0x82373632, 0x013d2b01, 0x27262734, 0x2223012e, 0x01820706, 0x2107bf46, 0xd14f1105, 0x6ccc2412, 0x82631101, 0xfd220803, 0x266a4210, + 0x26292926, 0x6b836a26, 0x2a2a2625, 0x416b2526, 0x16174026, 0x0d0c0c0d, 0x26401716, 0x0b873f28, 0xf4013f22, 0x250c8348, 0xfd9f02f8, 0x048460c1, + 0x2d57032b, 0x55822b2c, 0x2c2b8254, 0x2009832d, 0x2d0883a9, 0x19191b61, 0x692e2525, 0x1925252e, 0x0c8c1b19, 0x9f02562f, 0xfe6eb86e, 0x2c6a01f5, + 0x2c282e28, 0x82f08200, 0x06ac33ff, 0x006103f5, 0x00300012, 0x0044003a, 0x2500004a, 0x40502e22, 0x07494f06, 0x112fe6af, 0x15211133, 0x6a422c01, + 0x4c29294c, 0x8541426a, 0x21e09b07, 0x6449665d, 0x02220808, 0x10016d13, 0x82572dac, 0x58825454, 0x82582d2d, 0x2d5782a8, 0x191a1b60, 0x6a2e2425, + 0x1925242e, 0x0c8c1b1a, 0x6d505520, 0x02c1280e, 0x60c2fd9e, 0x82040000, 0x06ac2ccb, 0x006103b6, 0x00220013, 0x4366002d, 0x302306d3, 0x88213015, + 0x30112603, 0x32333001, 0x24e88317, 0x2b060701, 0x05ba5201, 0x2b262724, 0x4d581101, 0x077e5106, 0x27262724, 0x0282012e, 0x37343522, 0x230d8051, + 0x17141506, 0x08068051, 0x07060724, 0x014a010e, 0x01cafea3, 0x01edfe13, 0x3441edc3, 0x29294a34, 0x4134344a, 0x5c4beded, 0x804b2e2e, 0xde45dc02, + 0x2a242705, 0x4140372b, 0xdf451717, 0x11112405, 0x4535563d, 0x2b0807e0, 0x3f3a384a, 0x3c361a1a, 0x10115d65, 0xb759201f, 0xba609e02, 0x02dcfe60, + 0x5415159e, 0x547da87d, 0x5e601515, 0x2f5b6c5b, 0x6b22fe2f, 0x210ad645, 0x5a511717, 0x24242107, 0x08095b51, 0x2a2c2f29, 0x0c0b1514, 0x2f515c13, + 0x1c1b2627, 0x0400001d, 0x63008f00, 0xa9037106, 0x2f001500, 0x43003900, 0x30250000, 0x50333001, 0x535a06ec, 0x02062806, 0x32210107, 0x49141516, + 0xdf840bd4, 0x37212322, 0x4f08a252, 0x012e0906, 0x8dedfea2, 0x0f165916, 0x0f050b36, 0x09820b38, 0xb92f8937, 0x01c2012f, 0x1b776873, 0x19193429, + 0x1b1a1f1e, 0x1c111024, 0x06f54e1d, 0x4e3c3c21, 0x633407f3, 0xfe454603, 0xc53645ec, 0x25c83729, 0x45140145, 0x8cd2fd8c, 0x3605e44e, 0x0703142a, + 0x170b0b01, 0x32354918, 0x21202d2c, 0x33377525, 0x4e373429, 0x013409e3, 0x0508ff32, 0x001405ce, 0x00330026, 0x008a0078, 0x0500009b, 0x202ec44e, + 0x41d14a01, 0x27012e32, 0x11231123, 0x011e1333, 0x33113317, 0x35212311, 0x0e260482, 0x27260702, 0x10823736, 0x02153008, 0x3d573870, 0x222c1010, + 0x902a5523, 0x222d2d39, 0x0c171721, 0x0a010501, 0x1f31251c, 0x1e35472b, 0x35573d22, 0x7542423a, 0x44024141, 0x4a393b3f, 0x13210888, 0x06884a34, + 0x230a0b22, 0x0807884a, 0x1f1f233c, 0x2f362c2c, 0x0f293747, 0x0e0e0d4f, 0x1d2d1211, 0x4045413e, 0x08b2fd47, 0x68030e34, 0x340edb79, 0x79670308, + 0x08bc4301, 0x123e3417, 0x56554002, 0x25f8a3a5, 0x3c303044, 0x284f8149, 0x1447080d, 0x1d0f1b24, 0x332f4d36, 0x59223c53, 0x3c0d3d3e, 0x0d3c3f3f, + 0x3d013e3d, 0x2e072935, 0x0a262b31, 0x14160a2a, 0x09091e14, 0x28402d17, 0x271a1a20, 0x06050619, 0x15140e0c, 0x482c2538, 0x0e0e1a1a, 0x172b2115, + 0x4a10153f, 0x35080659, 0x035c3633, 0x1b63104a, 0x9e0200fe, 0x631b8dfe, 0xfd010210, 0xf5015a62, 0x13433818, 0x5d5c3a02, 0x005abcfd, 0x001b0003, + 0x03e506ac, 0x00390061, 0x007f005c, 0x47492500, 0x0568430d, 0x26272622, 0x54106943, 0x07260aea, 0x010e0706, 0x1d472221, 0x013e2305, 0xd0513233, + 0x5636200f, 0x22a2055b, 0x54100127, 0x320d2a77, 0x0570490c, 0x2c069143, 0x11113131, 0x4c36573c, 0x0c273837, 0x0b734933, 0x10112308, 0x025a1f1f, + 0x13958429, 0x68252413, 0x22765742, 0x120f3d0f, 0x584e3a48, 0x4c3c4e58, 0x0f3a0f12, 0x1e9e7922, 0x430b8b49, 0x2e2306b4, 0x432c512e, 0x17230bb5, + 0x552a2d17, 0x272d0611, 0x1d1c1b26, 0x4154a9b1, 0x2e2c2c40, 0x053b4e4d, 0x200a0051, 0x281a9a52, 0x00050000, 0x06ac0050, 0x092b55b0, 0x55400021, + 0x0122342b, 0x02823521, 0x15212808, 0x21070206, 0x603d5401, 0x23232222, 0x79602222, 0x24244460, 0x483c6044, 0x4f904e4e, 0x01de014f, 0x2c2b5709, + 0x57a35757, 0x032e0589, 0x0141fe60, 0x01cdfe42, 0x36d636a6, 0xd9544c01, 0xfd2a082b, 0xea015bbc, 0xfe525b59, 0x070052ba, 0x08ff2e00, 0x1405d206, + 0x33001c00, 0x53004700, 0x73005d00, 0x00009100, 0x30070637, 0x034c3015, 0x30113205, 0x36373633, 0x06333037, 0x17121607, 0x01012e23, 0x0ae54511, + 0x230cf145, 0x33302726, 0x20062949, 0x22cf8233, 0x57013011, 0x2e21187d, 0x2df34701, 0x42f73608, 0x046d6d1a, 0x5a5a1848, 0x32ae417f, 0x278316ba, + 0x01a50192, 0x01c0fead, 0x01ddfe23, 0x74220140, 0x6d1b7c73, 0x6c1b031b, 0xa418781b, 0x014afb2d, 0x65655e20, 0x075d505e, 0x14481720, 0x41230829, + 0x02d01e4b, 0x5cacfe9f, 0x4d6d6d1e, 0xe8fe4bce, 0xfee13d21, 0x609f02e2, 0x60c460bb, 0xcbcc0801, 0x8232c732, 0xfe292702, 0xf6fe4ee2, 0xf8476203, + 0xb5fd210d, 0x212d3748, 0x83620000, 0x0005358f, 0x0608ffca, 0x00140536, 0x0017000f, 0x00660033, 0x05000092, 0x2a11054e, 0x33300706, 0x012e0526, + 0x4e302327, 0x33260549, 0x011e1330, 0xe7493317, 0x30232106, 0x21106359, 0x62592726, 0x05ad5a0a, 0x230d6159, 0x33270226, 0x16214282, 0x078e5317, + 0x27069c53, 0x33373637, 0x23070206, 0x262f6c82, 0x07062327, 0x0207010e, 0x3afb3df8, 0x4e98266e, 0x30340770, 0x0230c631, 0x08340e19, 0xdb796802, + 0x030e3408, 0x5bfc7967, 0x48057c44, 0x2e35050e, 0x621e1e3a, 0x563d2262, 0x38374c36, 0x1a490327, 0x1f3a384a, 0x07eb4d20, 0x90015e08, 0x6e1a6a1a, + 0x18092e0d, 0x24080317, 0x0f360b0a, 0x0a360e79, 0x03092309, 0x6b232331, 0x7a1b6e1c, 0x1910390d, 0x19190219, 0xf80d3b10, 0x0170b6b6, 0xfe7070bf, + 0x3b027041, 0x34949494, 0xfd0f641b, 0xfe9f02ff, 0x1b640f8d, 0x61fd0102, 0x343d5703, 0x2b0b2f0c, 0x313a1616, 0x060b2e27, 0x06945905, 0x321b1a35, + 0x28224102, 0x2a2c1717, 0x130d0a2a, 0x4d2f515c, 0x830b1e36, 0xdb3b334b, 0x1e706f2d, 0xdc2b2998, 0x2bdc3c3c, 0xde259425, 0x5f83a2a1, 0x3fea3223, + 0x37008266, 0x0032ea3f, 0xff190104, 0x05e7050e, 0x001b000e, 0x0043003a, 0x25000057, 0x221a7d41, 0x54233021, 0x072405fc, 0x37013e23, 0x98430a82, + 0x010e2708, 0x01011e07, 0xc5433311, 0x41112007, 0x33200676, 0xb5432782, 0xcd360806, 0x030c320c, 0x0ddb7867, 0x68030c31, 0x7f3f0379, 0x021b6d1b, + 0x781b6b1b, 0x23249124, 0x1980238b, 0x1a021966, 0x24781a67, 0x9325248c, 0x016cd9fb, 0x26010111, 0x8043269a, 0x77230807, 0x81279a27, 0xfd185f17, + 0xfe9e02ff, 0x175f188e, 0x62fd0002, 0x2c2cb22d, 0xe5392db2, 0x36db3639, 0x8229a729, 0xda363e02, 0x03e63936, 0xfd9e0229, 0x080160c2, 0x430f0144, + 0x3131c732, 0xfe4332c7, 0xf6fe43f2, 0x22008200, 0x82360106, 0x82ca20f3, 0x00142ff3, 0x002a001e, 0x00460032, 0x05000052, 0x57442330, 0x14152205, + 0x20cb8206, 0x0f195d17, 0x07232722, 0x50083065, 0x0221070b, 0x0e3f4f03, 0x21030222, 0x3a0b704e, 0x21016da3, 0x4142685a, 0x79186118, 0x85165a16, + 0x2f2e2aac, 0xb603ac29, 0x423bfa3d, 0x10340a66, 0x10c51040, 0x6e79fd40, 0x4811716e, 0x0a2b0b11, 0x0b2c0b04, 0x6e240982, 0x68016f70, 0x08099c4e, + 0x9e02f220, 0x5f485d6c, 0x2fbc2f14, 0x5b2db52d, 0x282e292b, 0x96fed52b, 0x0170b6b6, 0xfe6f6fbf, 0xfd507041, 0x59012506, 0x4f014f01, 0x240b554f, + 0xb1feb1fe, 0x07ae5402, 0x00020030, 0x066300aa, 0x00a90356, 0x0033001d, 0xd3412500, 0x51062005, 0xb641058d, 0x0516210e, 0x49050d50, 0x40080819, + 0x15303330, 0xa0760330, 0x04139027, 0x18966464, 0xbc3335c2, 0x7f20a017, 0x81200220, 0xbe179620, 0x2d018a33, 0x411c0aeb, 0x5003164f, 0xccce4195, + 0x20ed4163, 0x0127a7a7, 0x014f5333, 0xd0342426, 0x34028234, 0x4fdbfe24, 0x0271d7d7, 0x54461e72, 0xa1480217, 0x712bfd47, 0xe71e1000, 0x06348101, + 0x03ff2901, 0x1a05d705, 0x25000f00, 0x56004300, 0x7c007400, 0x4f11d353, 0x0120335b, 0x512ba14e, 0x022807a6, 0x01c76d67, 0x417301fb, 0x2107704f, + 0x824f6b82, 0x416b2205, 0x09794f27, 0x40272725, 0x820d1616, 0x16162c00, 0x41d0fd40, 0x29294c6b, 0x87416b4c, 0x41262107, 0x41341c87, 0x163f2826, + 0x0d0d0c17, 0x3f16170c, 0xc86ced02, 0x4c01fc01, 0x3605cf51, 0x2b2db7fd, 0x5554822c, 0x2d2c2c81, 0x812c2c2d, 0x2b2c82a9, 0x4e1a612d, 0x252106c0, + 0x05c04e24, 0x4e252421, 0x1a2406cd, 0x572d0103, 0x58232e83, 0x82582d2d, 0x8a57202c, 0x09c24f2b, 0x2205f94e, 0x52e8011a, 0x07360833, 0xfdfe3300, + 0x0905c106, 0x16000c00, 0x61003c00, 0x9c008600, 0xb95aa200, 0x0f8b6119, 0x2014f451, 0x06835a01, 0x5a010b21, 0x24a51a7f, 0x1614112c, 0x11353632, + 0x07141133, 0x934d020e, 0x5b112005, 0x0124063e, 0x2b2c5709, 0x2a08284a, 0x5e3aad02, 0x23232121, 0x612f2121, 0x1d5205b2, 0x390e3b0c, 0x0269200e, + 0x010501c3, 0x081f080b, 0x1f078282, 0x04010b08, 0x13786201, 0x10821248, 0x2007092a, 0x12471208, 0xc0fb6277, 0x0c202282, 0x82261d82, 0x081e0882, + 0x2283020c, 0x83491221, 0x08082522, 0x48120720, 0x01332282, 0x388e3864, 0x350c0c65, 0x36577f58, 0x36020c0c, 0x5af8f466, 0x20080fc1, 0x2a2b27b1, + 0x2a83b684, 0x2514132b, 0x20084a25, 0x5e323908, 0x5e53a153, 0x21093c36, 0x014f4a08, 0x05925aa8, 0x01f0fe23, 0x17905a10, 0xa1ff0421, 0x02320823, + 0x514efe9f, 0x01514d4d, 0x445efeb2, 0x1f413232, 0x3232411f, 0xfda20144, 0xfd9f0261, 0x00005abb, 0x4e010400, 0xb20503ff, 0x17001a05, 0x8b005100, + 0x9f529d00, 0x09bb5005, 0x5009d54a, 0x414d14aa, 0x0efe4823, 0x20297a4d, 0x10f14e01, 0x46850121, 0x0138095a, 0x2a76544b, 0x240c320c, 0x40362c2a, + 0x3b171742, 0x610a280a, 0x11103131, 0x2306d948, 0x1a0c330c, 0x29065362, 0x105d653b, 0x5a1f2010, 0x32848bfd, 0x2b230d23, 0x2e32862b, 0x31620a27, + 0x3c111131, 0x384c3656, 0x890d2837, 0x643c2132, 0x1f2b3282, 0xe2015b1f, 0x020d310c, 0x82db7968, 0x67032306, 0x9246f279, 0x3d0b3206, 0x0c2e0c34, + 0x3916162b, 0x17182731, 0x0207020b, 0x0d5e4d12, 0x17282225, 0x4d2b2c17, 0x03210b5e, 0x2133b162, 0x3c487e01, 0x00002f0f, 0xd0000200, 0x30065500, + 0x3400b703, 0xd94e4a00, 0x6a262010, 0x805c0566, 0x095e4a08, 0xc1631720, 0x43012008, 0x87080d35, 0x35022e27, 0x6a020211, 0x3f0f3494, 0x36352d0f, + 0x3a525044, 0x7b252549, 0x4c2a3d3d, 0x465e446b, 0x045b3146, 0x47465d21, 0x20212828, 0x747e4b44, 0x01704e29, 0x51c552f9, 0x4b111085, 0x3b3bae76, + 0x4d55214b, 0x0f3a0f40, 0x481b1c36, 0x0e3a313d, 0x3a170607, 0x59386539, 0x2121213e, 0x2a03513e, 0x381c1d32, 0x0d1a1a34, 0x65731810, 0x2544613a, + 0xfcfd5403, 0x6b6c6c6b, 0x11fe0402, 0x5744435c, 0x5816152b, 0xef015c86, 0x2d10db82, 0x393d0773, 0x0608ff0b, 0x001405f5, 0x0018000e, 0x0049002b, + 0x005d0053, 0x01000063, 0x505c3330, 0x5a2b2009, 0x2623067e, 0x4c11012b, 0x6b5c2ce2, 0x33113a14, 0x02152111, 0x6841ed76, 0x29292525, 0x41682525, + 0x5c4beded, 0xfe804b5c, 0x3a985b49, 0x2ba7013c, 0xa77e2a29, 0x2b292a7e, 0x6b5b5f60, 0x21fe5f5b, 0x572df702, 0x82545582, 0x07822d57, 0x0682a920, + 0x191b6129, 0x2f242519, 0x4c242f69, 0x0c8807bf, 0x2e0e825c, 0x9f02c0fd, 0x0061c2fd, 0x00040005, 0x56fc06ac, 0x59200aa7, 0x2034a756, 0x24bd4c05, + 0xc0560820, 0x0dae6b11, 0xc056a420, 0x4c962006, 0x07210574, 0x07744c83, 0x00676120, 0x2bd4560f, 0x4c13a73a, 0x124b1313, 0x1101effe, 0x13124a12, + 0x63fe134a, 0x9c279e02, 0x16591627, 0x08820282, 0x0062fd22, 0x03310082, 0xac002200, 0x6103de06, 0x33001b00, 0x00006c00, 0x1c415313, 0x4c15e756, + 0x2e211411, 0x10525901, 0x200fbc5c, 0x054d53d7, 0x320cdb28, 0x7968030c, 0xbc564001, 0x5c4c200a, 0x02212fb8, 0x0a214b2a, 0x01021824, 0xa14b62fd, + 0x080f6e09, 0x0827b55c, 0x07000025, 0x03ff7c01, 0x1a058405, 0x5b003700, 0x75006800, 0xa9009c00, 0x0000d500, 0x0e213001, 0x36330701, 0x66023e37, + 0x012e0788, 0x22230607, 0x27012e27, 0x16372726, 0x17821e17, 0x013d3624, 0xb4662634, 0x013e2306, 0x5e662137, 0x07bf663a, 0x220d246b, 0x6b33011e, + 0x21211724, 0x60718235, 0x82820529, 0x07020e22, 0x3c829882, 0x16320223, 0x79018217, 0xc28206c9, 0x03213708, 0x03d7fe26, 0x0b06020c, 0x2b200d0d, + 0x364b2b1c, 0x3d10101f, 0x2d392c2d, 0x14342323, 0x0c4f1013, 0x2b230d0e, 0x41413b1c, 0x12342b3b, 0x040f3c0f, 0x7c010411, 0x5d666901, 0x3b3b3724, + 0x583717fe, 0x2c11103c, 0x29552323, 0x2d2e3890, 0x17162221, 0x7d6b010c, 0x221e2109, 0x08067d6b, 0x03414159, 0x2339fe50, 0x1b33248f, 0x1c323a1b, + 0x06141f29, 0x0b103f10, 0x4c381212, 0x1c1b5066, 0x2d190f0e, 0x1a201e1d, 0x52011a69, 0x9e274e01, 0x10101428, 0x361c0c17, 0x2a32314e, 0x10113d2a, + 0x16210a0a, 0x143e1815, 0x0d191110, 0x3a0b3a41, 0x02142141, 0xf93e0209, 0x6657fd3e, 0x0121374e, 0x0be66bd1, 0x2827262d, 0x352d2e28, 0x23140101, + 0x6b1d101b, 0x3f0812e6, 0x207f2068, 0x2e2a2a2e, 0x1138310c, 0x0616271c, 0x1d200619, 0x1e1b2e1d, 0x25241b1a, 0x3e45282b, 0x171c1c1c, 0x0000175a, + 0x7b010600, 0x850503ff, 0x28001a05, 0x6c003600, 0x9f009200, 0x0000ca00, 0x680c4068, 0x2522263f, 0x83420621, 0x013e2418, 0x5f031e37, 0x83420634, + 0x13362306, 0xa75e2521, 0x196b6d14, 0x36352122, 0x42068861, 0x52201e45, 0x35054568, 0x22225a39, 0x04030d2c, 0x260e0e0a, 0x242b1f30, 0x111e3424, + 0x44681e11, 0x3d450805, 0x3bec1010, 0x3a3b4141, 0x34034242, 0x0c05d6fe, 0x0c0d0b07, 0x2b1d2a21, 0x101f364a, 0x2c2d3e0f, 0x23222d39, 0x10141335, + 0x0d0d340e, 0x1c2b221b, 0x3c40403c, 0x0e12342b, 0x12070f3c, 0x10fd7c01, 0x103c5838, 0x2c238211, 0x38902955, 0x22212e2d, 0x030c1716, 0x07c76d03, + 0x2205cd5e, 0x42754141, 0x6b250549, 0x1c1b336b, 0x0548423b, 0x42400f21, 0x1c2e0748, 0x190f0e1b, 0x201d1e2c, 0x011a691b, 0x3068b352, 0x49f2222d, + 0x147542a4, 0x0a2a0a24, 0x76422114, 0x0174230b, 0x3b42b901, 0x605f212d, 0x38243a42, 0x39000600, 0xc70608ff, 0x0f001405, 0x28001c00, 0x57003200, + 0x00007a00, 0x07d15805, 0x30133034, 0x17121633, 0x30272603, 0x30070623, 0x2e333007, 0x536e0101, 0x0f995315, 0x53132575, 0x16251473, 0x17011e17, + 0x05884433, 0x0423113c, 0x06240a1e, 0x0a2406e2, 0x2182c964, 0x0af12187, 0x0a0b0c0b, 0x290bb13c, 0x306e9bfc, 0x0230080d, 0x215d3bad, 0x21242421, + 0x3b2e2f21, 0x1f343355, 0x3f114a0d, 0x4c4c4434, 0x12433544, 0x1f0e380e, 0x01c4026a, 0x090c0105, 0x82820421, 0x0c092203, 0x623e0c82, 0x09373678, + 0x18080521, 0x15520517, 0x23f86277, 0x7f18187f, 0x709f0223, 0x017041fe, 0x008231e0, 0x8c24d324, 0x4e53a501, 0x2907211d, 0x3f124d53, 0xfe095216, + 0x081001f0, 0x4b141651, 0x0263fe12, 0x1975769f, 0x42420e5d, 0xfd2fb10b, 0x07000061, 0x2c086741, 0x00200016, 0x0035002a, 0x0064003f, 0x08077f87, + 0x15070623, 0x061c6c32, 0xa5710e20, 0x3d362305, 0xa3713401, 0x7301200c, 0x785613ff, 0x1e9b7605, 0x08227541, 0x01980222, 0x37504e10, 0x18171d34, + 0x16090a22, 0xfe223928, 0x25a766d5, 0xa7252626, 0x25252197, 0x3bfd9721, 0x3f507d41, 0x5459a701, 0x0c054841, 0x1c280b0b, 0x472b211c, 0x275a1c33, + 0x272c2c2b, 0x2b282457, 0x1d012329, 0x34518541, 0x01050000, 0x0503ff27, 0x001a05d9, 0x0034002a, 0x0071003c, 0x7314827d, 0x3e240959, 0x16323302, + 0x6a197176, 0x7b5410e7, 0x085e650e, 0x5d0d5d65, 0x0c5b0d7c, 0xf402210a, 0x261f8676, 0xfb3c7302, 0x6be56f3a, 0x402607ed, 0x4010c611, 0xea76b6fd, + 0x135d6b12, 0x215e6426, 0x2e015a3f, 0x2009d354, 0x0796768c, 0x762d5921, 0x652e0896, 0x10100808, 0x5d341f2f, 0xb6b69bfe, 0x345b9e02, 0x544e200b, + 0x2f210a51, 0x0ff3760b, 0x25098254, 0x4d2f515c, 0xfd6f1d37, 0x00003d09, 0xffcf0102, 0x04310516, 0x0021000e, 0x0500003b, 0x27222330, 0x35303526, + 0x2627012e, 0xb0420882, 0x17322f05, 0x011e1716, 0x07021415, 0x32273315, 0x9874013e, 0x022e2205, 0x08436f23, 0x021e2808, 0x558e7004, 0x88552728, + 0x191b2f2f, 0x5039383e, 0x5050c450, 0xbb3e3839, 0x3af09aa0, 0x13124460, 0x60441213, 0x855f3b3a, 0xea5f3109, 0x4c492b2c, 0x41414d0b, 0x7f735c5b, + 0x224142c2, 0x41340082, 0xe17fc242, 0x671cfcfe, 0x374c28f2, 0x459e4537, 0x284c3737, 0x002f0a8a, 0x00140003, 0x03ec06b7, 0x00130055, 0x6751003d, + 0x03200561, 0x4b0f5f61, 0x03220694, 0x53580330, 0x23302307, 0x2b6c1130, 0x2311230f, 0x01822130, 0x01303522, 0x23080584, 0x06153021, 0x30210702, + 0x1772cfe3, 0x170d175d, 0x2270175b, 0x0903228a, 0x0c010501, 0x82081e08, 0x071f0882, 0x36059744, 0x07124912, 0x08080820, 0x4812081f, 0x02627712, + 0x0141fe9a, 0x62cefe41, 0xb7320676, 0x9b010301, 0x3131c832, 0xfe4432c8, 0xfdfe45ee, 0x874b9d01, 0x097d6221, 0x04000028, 0xac004c00, 0xe382b406, + 0x1e001426, 0x5f002800, 0xdb5de583, 0x07a6421d, 0x4a011121, 0xb9203299, 0x2106e45d, 0xe45d6019, 0x2a2e2408, 0x681302ac, 0x03270756, 0x03d7fe58, + 0x4a07030c, 0x13212324, 0x06244a0e, 0xec5db720, 0x2e28270e, 0xfed52b29, 0x5a680296, 0x28402a06, 0x1014279e, 0x1d0c1710, 0x0fc54935, 0x49101121, + 0x00200ec5, 0x04300082, 0x03ff7401, 0x1a058c05, 0x7d004c00, 0xe000b400, 0x20171772, 0x06e24a17, 0x84060721, 0x1e152201, 0x05f24a01, 0x06220d84, + 0x11572223, 0x37272105, 0x22721782, 0x0a324b0c, 0x6b262721, 0x364b0659, 0x37012306, 0x55863236, 0x0e235485, 0x41210701, 0x01203368, 0x5149648a, + 0x5002211d, 0x08119267, 0x1d282862, 0x0a11101d, 0x1812120a, 0x331d1a17, 0x0b0b1313, 0x1f201111, 0x2f362c2c, 0x1c1b2423, 0x4f0f1514, 0x12111c0d, + 0x423d1d2d, 0x03474045, 0x2439fe80, 0x1c33238f, 0x321e1d1b, 0x0f0f2a1b, 0x10050a0b, 0x110b0f40, 0x26263713, 0x1c1b5166, 0x16190e0e, 0x201e1d16, + 0x011b691a, 0xfea7fd52, 0x030b03d6, 0x35089349, 0x100f1e37, 0x392d2c3e, 0x3423222d, 0x4e0f1414, 0x220e0d0d, 0x92491b2c, 0x3b0f2106, 0x2405074c, + 0x38fe5002, 0x07b34b24, 0x4b1e2a21, 0x4b2008b3, 0x18205e85, 0x7208b34b, 0x27081035, 0x16170b0c, 0x20291f21, 0x1414191a, 0x04060d0c, 0x14151a06, + 0x2c251c1d, 0x191a2424, 0x0a0a0e0e, 0x16151111, 0x22143e17, 0x20093d72, 0x09614b75, 0x111c1c26, 0x13140e0e, 0x2107644b, 0x654b0e0d, 0x44292305, + 0x664b1f1f, 0x46052105, 0x202b224c, 0x28bb4b62, 0x274f0420, 0x00552806, 0x002e000f, 0x5e8f0337, 0x3f6f135b, 0x26052624, 0x1d332702, 0x35461801, + 0x8a451822, 0xa638c915, 0x1826a65f, 0x20194a46, 0x3d461815, 0x37012215, 0x7745183d, 0x18149414, 0x9111b345, 0xa638a611, 0x215fcc26, 0x46183335, + 0x0128103f, 0x01b2663a, 0x6b0601c9, 0x2105f670, 0xf6702728, 0xeb012312, 0x46185f18, 0x012d4f03, 0x0c040e03, 0x0e040e04, 0x0e7c0e38, 0x18078239, + 0x28520446, 0x62196401, 0x390f7a18, 0x3a6b820f, 0x030e040b, 0x020f3d0f, 0x02bbfdfc, 0xfd595945, 0x7f4242b0, 0x373c3d3c, 0x71302f38, 0x3021077a, + 0x0a7a7134, 0x45104a20, 0x3b5503da, 0x05000000, 0xac004800, 0x6103b806, 0x2f001e00, 0x58004700, 0x00007000, 0x07010e01, 0x7a0ad76c, 0x332005c6, + 0xd96c1482, 0x243e7b06, 0x25a40520, 0x0f100139, 0x6c6c103d, 0x10401004, 0x7e1e791e, 0x2b289f28, 0x22832bad, 0x7a630288, 0x062718d2, 0x100f0706, + 0x9e520231, 0x01220820, 0x124612f0, 0xfe9e02cf, 0x145115ac, 0x2f249125, 0xfe412fbc, 0xd13441fe, 0x592ef0fe, 0x52534040, 0x797a4140, 0x341b3506, + 0x2c762b49, 0x1b1b3448, 0x2c242434, 0x23252b76, 0x5c1b1a1b, 0x002224a3, 0x934e0600, 0x002f3a08, 0x00630042, 0x0098008d, 0x050000a0, 0x35302130, + 0x37363730, 0x35303536, 0x0adb4934, 0x3e37362a, 0x011e3201, 0x14151617, 0x2505814a, 0x07010e07, 0x2a560521, 0x34352105, 0x37211d82, 0x06937c36, + 0x554d3d83, 0x27262105, 0x22200182, 0xdd752f85, 0x17162305, 0x42180116, 0xf74e0851, 0x79122022, 0x03240cf2, 0xd639fe45, 0x55091153, 0x1c2c055a, + 0x50664c1c, 0x0d0f0e37, 0x1d17160c, 0x26061353, 0x2e3f4901, 0x820e3c2e, 0x3c230800, 0x7c3f2e2e, 0x227c7676, 0x0f101819, 0x07060607, 0x1918100f, + 0x0f191845, 0x07070610, 0x190f1006, 0x4f89fe18, 0x7426200e, 0x6e3afb3d, 0x0f4f7272, 0x68f22c0c, 0x292a2ebf, 0x38310c2f, 0x49261d11, 0x172a06c3, + 0x351e1b17, 0x282b2524, 0xc3492223, 0x17672207, 0x072e7c18, 0xb7181733, 0x5cb6b8fe, 0x1a1a0e0e, 0x752d2423, 0x1a24242c, 0x29a1821a, 0x231b1a0e, + 0x2d752c24, 0x0e832324, 0x4f770321, 0x01231f2d, 0x4f4f014f, 0x20080a2f, 0x06000000, 0x68fe0c01, 0x0e05f405, 0x39001f00, 0x4b004100, 0x6f005500, + 0x30010000, 0x3d262223, 0x14fd4e01, 0xfd4e0620, 0x07f6671a, 0x87770120, 0x18052012, 0x080d6541, 0x1123112e, 0x36331333, 0x23113337, 0x395fe502, + 0x1f5b3835, 0x2a121120, 0x35362526, 0x26353682, 0x6b7c2926, 0x4027a167, 0x0c0c0d2d, 0x27402d0d, 0x0c2d0982, 0x2d0c0d0d, 0x6ded0240, 0xfbfb01c7, + 0x0cff793b, 0x0515042b, 0x19092309, 0x62181862, 0x39088219, 0xb4806705, 0x7b595a06, 0x3a68fe67, 0x34073231, 0x3e3d2b2b, 0x2c81554c, 0x0082172b, + 0x812c2b3d, 0x13ad9655, 0x331aa245, 0x6a2d2525, 0x3324252e, 0x24331b1b, 0x2d6a2e25, 0x67332525, 0x012108ec, 0x09e27624, 0x282e292d, 0x49123e2b, + 0x2db32c12, 0x822cb32d, 0xfffd3908, 0xabfe9e02, 0x62fdaaab, 0x02000000, 0x55008500, 0xb7037b06, 0x4d003400, 0x41357f64, 0x3d08131a, 0x23113313, + 0x9469b701, 0x103e1035, 0x4435362c, 0x49395151, 0x3d7a2526, 0x6c4c2a3e, 0x45465f43, 0x21035b31, 0x2848465d, 0x44212027, 0x29757e4a, 0xfa03714e, + 0x0b2c0b06, 0x24238113, 0x08821381, 0xa1820627, 0x9ae007e1, 0x2d8c6482, 0x178f022a, 0xec22175a, 0x22ec4040, 0xfd380882, 0xfe46037f, 0xfcaa0156, + 0x030000ba, 0x6300b600, 0xa9034a06, 0x15000b00, 0x2119ad7b, 0xd5760109, 0x01b63c11, 0x7f7f7468, 0x34d8e174, 0xd8343939, 0xedfe5a03, 0x1758178c, + 0x050f370a, 0x820a380f, 0x2e883409, 0x03632eba, 0x89e68946, 0xc501b2fe, 0x323a3236, 0x7631fd36, 0x252205a1, 0xa17637c8, 0x8200200a, 0x071b5000, + 0xbf456120, 0x457e2006, 0xce4e46bd, 0x15210834, 0x6d0f3d10, 0x4010036d, 0x1e781f10, 0x27a0287f, 0x832bac2b, 0x63028722, 0x0f3b5c3f, 0x3b0f0e0e, + 0x0543445c, 0x0d1f3128, 0x45311f0d, 0x3b441f31, 0x03312205, 0x3250501a, 0x213edf45, 0x7150ef01, 0x01053a2c, 0x0503ff5b, 0x001a05a5, 0x003e0034, + 0x00810048, 0x050000a2, 0x36272622, 0x079f7937, 0x25103f54, 0x012e0702, 0x3f542223, 0x654b180f, 0x69458914, 0x59762901, 0x0eb1570d, 0x0e17162a, + 0x55500201, 0x26252a76, 0x2314c77f, 0x091e1a0b, 0x210dc87f, 0x45442d01, 0xacb33505, 0x2a2e2e2a, 0x542cfeac, 0x25262b76, 0x372b2a24, 0x16184240, + 0x21114069, 0x4069190d, 0x0574760e, 0x24252108, 0x75584169, 0x112e2d22, 0x584e3b48, 0x4b3d4e58, 0x224d0a13, 0x343dfd79, 0x162b2323, 0x27313916, + 0x230e8c54, 0x081b160a, 0x18128d54, 0x2507bf4b, 0x2b282e29, 0x3d891801, 0x08265069, 0x55a9b12a, 0x2c2d4040, 0x194b4d2d, 0x6a393019, 0x695d665d, + 0x2f06313e, 0x00005249, 0x2e000400, 0xd206b700, 0x0f005503, 0x36002700, 0x15e74118, 0x2015d55e, 0x182d6113, 0xc86c6225, 0x5570fc01, 0x832b09ad, + 0x256940ed, 0x25282825, 0x60406925, 0x812005f6, 0x09e84118, 0xbb700220, 0x9e022705, 0x7d2a2a2a, 0x05827da8, 0x5b5e6027, 0xfe5e5b6c, 0x2d9e8222, + 0x4b010600, 0xb50503ff, 0x15001a05, 0xab821e00, 0x6e004930, 0x0000d801, 0x30353005, 0x36353021, 0x3d743712, 0x30152e05, 0x30153023, 0x30333025, + 0x0e233011, 0x07145e01, 0x44183e20, 0x012008d3, 0x23073d48, 0x0622012e, 0x2407197e, 0x2201021e, 0x08006a26, 0x2206816d, 0x181d0607, 0x2b0e8146, + 0x23113335, 0x0f15010f, 0x0d0f150e, 0x08820584, 0x05270b91, 0x3727012e, 0x840b3f35, 0x840a2002, 0x200b8805, 0x3c179306, 0x33113307, 0xfea10215, + 0x2db52dc9, 0xfe5c5c8e, 0x2307dbbf, 0x3eaf028e, 0x0f0e3c5c, 0xbd44181d, 0x82072009, 0x0f0f2600, 0x10314531, 0x3909820f, 0xfd311f07, 0x279683ee, + 0x58416849, 0x0f213b3b, 0x4811103c, 0x2d2c4d3b, 0x49182c2d, 0x2f230ad8, 0x400108bc, 0x0b229900, 0x9cd20b2c, 0x53d20220, 0xa6010124, 0x4a18f2a3, + 0xfe290ea5, 0x40582fe2, 0x83515241, 0xaa451858, 0x25243b07, 0x252b752c, 0x1c1a1a24, 0x241a1a1c, 0x2c752b25, 0x1c332425, 0xa9b10603, 0x48188055, + 0x342c0f61, 0x2309313e, 0x29294909, 0xf5015a0b, 0x54d0b1d4, 0x0a280a22, 0x508953d0, 0x8655b641, 0xbcfd235f, 0x0082005a, 0x00023508, 0x065f025c, + 0x007105a4, 0x001b0003, 0x15211300, 0x37270121, 0x15333517, 0x33071737, 0x07172315, 0x35231527, 0x23372707, 0x48065c35, 0xc204b8f9, 0x3c8c2a8c, + 0xc6210382, 0x240887c6, 0x0246a502, 0x84118c22, 0x0000261a, 0xff5c0001, 0x225b8225, 0x821400d6, 0x32380859, 0x053e012c, 0x2e341135, 0x23022c03, + 0x34019d5c, 0xc7f60501, 0x2e5b7fad, 0xccaa6f3c, 0xe5fef8fe, 0x02ada9fe, 0x725633a5, 0x667a837e, 0x4ff90e47, 0x907d5b15, 0x3e688691, 0x0124478d, + 0x2e012c22, 0x3e204783, 0x33274782, 0xfe9da406, 0x89fbfecc, 0x08012548, 0x57011b01, 0xef824896, 0x2a000532, 0xd60638ff, 0x04009405, 0x44004000, + 0x08014b00, 0x302b9b82, 0x04210721, 0x07030e22, 0x5707040e, 0x352e06eb, 0x32333634, 0x32041e17, 0x3e37033e, 0x0c833704, 0x16171624, 0x1e831415, + 0x03032e39, 0x01211521, 0x25052315, 0x34253523, 0x3233023e, 0x32361716, 0x8217031e, 0x06142126, 0x36210583, 0x25058332, 0x37013e17, 0x4782033e, + 0x40843620, 0x1e222883, 0x0c863101, 0x33231784, 0x83021e32, 0x215b8529, 0x61851415, 0x2e272629, 0x35343501, 0x8327022e, 0x010e2e6e, 0x0e272223, + 0x22060701, 0x0e070627, 0x830c8603, 0x82022006, 0x83b0840e, 0x21038626, 0xba82022e, 0x34273b08, 0x0e35010e, 0x27262701, 0x35161726, 0x37062734, + 0x23363734, 0x015c2622, 0x62fe46e4, 0x6154e004, 0x0f2f4f50, 0x403c1507, 0x4b522c5b, 0x354da793, 0x1b151d08, 0x4f2f0f0f, 0x1b9a6150, 0x01ddd408, + 0xfe62fee4, 0x00019610, 0xfc960001, 0x240e047a, 0x0b1b131a, 0x0c171f0e, 0x11020208, 0x0211151b, 0x38040706, 0x1010072e, 0x10020c0e, 0x0c060308, + 0x090a0c13, 0x39530b06, 0x2c040d13, 0x180c1128, 0x0c2f411e, 0x040d151d, 0x13241a0e, 0x1e271420, 0x0a11140c, 0x2f090909, 0x012c2149, 0x0f121a13, + 0x06100418, 0x1425210f, 0x192a100f, 0x2410171c, 0x0d210912, 0x1a132e0e, 0x0718133b, 0x380d0607, 0x1b0e2909, 0x0d111a14, 0x07122f34, 0x11191008, + 0x10160b0a, 0x171c1010, 0x0c22180f, 0x1108221a, 0x01030d16, 0x27061716, 0x01021a03, 0x03011008, 0x07080201, 0xb9021a12, 0x422fbb6e, 0x09173c52, + 0x4b424a1d, 0x4ea72d18, 0x150f0d4d, 0x3c17161d, 0x972f4252, 0x01900818, 0x25016e58, 0xfaf0f0fa, 0x291d0da0, 0x071b151a, 0x111d110e, 0x3a26170e, + 0x0d0c020b, 0x37050507, 0x100b0910, 0x0c080409, 0x41040d67, 0x373b1f27, 0x070e1860, 0x17121d11, 0x0f150926, 0x43520110, 0x12043804, 0x08340105, + 0x0c101711, 0x030b122d, 0x423e0804, 0x1d2f070b, 0x450b2411, 0x1c141110, 0x0e1d0f33, 0x4d0a5d09, 0x0c18180c, 0x17022d41, 0x08172116, 0x1b0c1105, + 0x05222614, 0x0319220e, 0x0c020717, 0x0502030c, 0x02041102, 0x01040202, 0x02240382, 0x00171a07, 0x0807b343, 0x0b004925, 0x00000f00, 0x15331501, + 0x35231523, 0x35333523, 0x21152101, 0xb4b49805, 0xfbb4b464, 0xf9480628, 0x834905b8, 0xb464380b, 0x00465cfd, 0xff530005, 0x058b063f, 0x000600a6, + 0x002c0028, 0x82370030, 0x3311293d, 0x1133010b, 0x27072327, 0x03200183, 0x0b260584, 0x021b3502, 0x01821737, 0x05841320, 0x21331729, 0x022b1533, + 0x85373335, 0x042e082d, 0xcecea0a1, 0x4ac936a0, 0x2f303f33, 0x373a3a3f, 0x36103119, 0x37272737, 0x19311036, 0x3f3a3a37, 0x333f302f, 0xf201c94a, + 0x73bc8a8a, 0x2c838873, 0x08024708, 0x2201b001, 0x50fedefe, 0xa93ed63a, 0xfee3cd72, 0x6a8b54fc, 0xd4fe92df, 0xeb010401, 0x01eb0189, 0xb7affe04, + 0x548b6adf, 0xcde3fcfe, 0xd63ea972, 0xfe3a6161, 0x01defe50, 0x00b00122, 0x5c000300, 0xa40637ff, 0xbb82e005, 0x3b000d22, 0x2326b783, 0x11230109, + 0x06841103, 0x012f0122, 0x0585bf85, 0x0f840f20, 0x1f020f22, 0x3f23c482, 0x85011f01, 0x280586c4, 0x01c83403, 0xc8140114, 0x3d068598, 0x7238d802, + 0x484b604e, 0x545a5a60, 0x54184b27, 0x4b394b45, 0x39155a36, 0x15392525, 0x0c82365a, 0x18544531, 0x5a54274b, 0x4b48605a, 0x01724e60, 0x84fcfe5d, + 0x02042294, 0x83b9825d, 0xfc3008d1, 0x381bc8fe, 0x512d4204, 0x37216659, 0x8448582a, 0x4b645a70, 0x438f523b, 0x8f4a656c, 0x644b3b52, 0x4884705a, + 0x21372a58, 0x2d515966, 0x00380442, 0x023b0082, 0x22ff4b00, 0xd005b506, 0x2a000900, 0x15050000, 0x2115012d, 0x35010d35, 0x8b171301, 0x8d3f20ad, + 0x070324d9, 0x836d0103, 0x2604227e, 0x087a8201, 0x4ed3fa26, 0x621f6d6e, 0x75756d32, 0x7d615e7d, 0x49499466, 0x617d6694, 0x75757d5e, 0x1f62326d, + 0x3e4e6e6d, 0xa0cecea0, 0x33080383, 0x7efe5403, 0xb073eccd, 0xcc426e54, 0x8459a1b2, 0x35369931, 0x59843199, 0x42ccb2a1, 0x90b0546e, 0xfecd0901, + 0x0200007e, 0x6bff5e00, 0x7a05a206, 0x1f000b00, 0x300e5b42, 0x27032703, 0x1127020b, 0x37021b37, 0x21133713, 0x06694215, 0x87c7fe21, 0x21868774, + 0x7742a702, 0xf0fc3307, 0xfe629dfe, 0xbefeb2f7, 0x67fe6501, 0x84070584, 0x098267fe, 0xfeb2be2f, 0x9dfe62f7, 0x00030074, 0x063fff53, 0x069342ae, + 0x00002f2c, 0x0d352113, 0x03213501, 0x07412115, 0x05804205, 0x35021b22, 0xa0427982, 0x03072109, 0xcb202685, 0x22075442, 0x42450355, 0x3b21068c, + 0x0b8c4236, 0x423b3621, 0x9620068c, 0x28074b42, 0xcea00304, 0xfcfea0ce, 0x26864261, 0x839bfe21, 0x8200202f, 0x00042600, 0x065effc8, 0x2dab8238, + 0x000f0003, 0x001f001b, 0x21352500, 0x7f430315, 0x2e0b8b0b, 0x04112311, 0xb4cc016c, 0xb464b4b4, 0x84c0fcb4, 0x31022706, 0x6464a05a, 0x95439c04, + 0x5cfe2105, 0x02250785, 0x06b8f90e, 0x21628248, 0x8f470100, 0xa5023105, 0x00000300, 0x21152113, 0xf948065c, 0x46a502b8, 0x05281c82, 0x08ff5701, + 0x1405a905, 0x392e7d82, 0x65004500, 0x00008f00, 0x11333505, 0x715e0623, 0x11332a05, 0x14011533, 0x07020e07, 0x058b5523, 0x82012e21, 0x020e211a, + 0x12525018, 0x50180420, 0xe84b0a86, 0x0d146308, 0x1e373628, 0x07061701, 0xce672506, 0x2726210f, 0x3210136a, 0x15210706, 0x07bc9c01, 0x2c0b3765, + 0xa56e3d0b, 0x671c02a3, 0x382c05da, 0x2d22215b, 0x0104020d, 0x250e0f0a, 0x12205018, 0x75d9fe32, 0x41754242, 0x958456fe, 0x41694926, 0x5b227657, + 0x1806104e, 0x0808aa52, 0xfee2025f, 0x3307cf39, 0x323b1b1c, 0x151e2a1b, 0x0a332c05, 0x4c371312, 0x1b1c5066, 0x2c190e0f, 0x4f201e1d, 0xf852014f, + 0x6bf5015b, 0x0a270a3b, 0xbcfd7743, 0x49a5015b, 0x556b4140, 0x284d2a1b, 0x01365929, 0x12121401, 0x0e0f101a, 0x31304c37, 0x1e1e2a2b, 0x44131221, + 0x3e923030, 0x3f3c0e3c, 0x3104823f, 0xa9b2ca01, 0x2d588154, 0x2f314b4d, 0x655d6a39, 0x8b4a6a5d, 0xb8682f08, 0x2a292f07, 0x38310c2e, 0x16271d10, + 0x9f691411, 0x1d1b390d, 0x5c43441c, 0x04000000, 0x08ff2e01, 0x1405c705, 0x35001300, 0x86004d00, 0x23130379, 0x30013011, 0x2310b552, 0x13303330, + 0x11220386, 0x21822330, 0x6d15514e, 0x01213727, 0x088e612e, 0x0905c437, 0x62180923, 0x18621819, 0x05082409, 0x06b38168, 0xfc687bb4, 0x3b3a6d2b, + 0x9f02f832, 0xfe60bb60, 0x120102dc, 0xb32d1248, 0x2db32c2c, 0xfd2b0882, 0xfe9f02ff, 0xfd5501ab, 0x84620361, 0x61c32220, 0xc441180b, 0x7817200a, + 0x450805ec, 0x242c515c, 0x1a1b3124, 0x2d0b321b, 0x2e28220b, 0x15152a2c, 0x5c130d0a, 0x27262f51, 0x001e1b1b, 0x006c0001, 0x049406d4, 0x00440030, + 0x16320100, 0x0e071415, 0x23060702, 0x27052e22, 0x23262726, 0x07060722, 0x1083010e, 0x35264508, 0x37363734, 0x3233063e, 0x1617051e, 0x32331617, + 0x3f013e37, 0x06023e01, 0x072a1e4c, 0x3266240b, 0x522a6e72, 0x362f4442, 0x2149131b, 0x43305d70, 0x10125946, 0x1e14110d, 0x0a04122a, 0x30381c14, + 0x264d4043, 0x3108218b, 0x572a4832, 0x0b031615, 0x2aca021f, 0x160f111e, 0x72329341, 0x39472a1e, 0x84242e55, 0x4643a831, 0x08151e98, 0x1c1e2a0a, + 0x22110614, 0x443a522e, 0x1d891d2a, 0x7c2a4828, 0x0e072828, 0x00820013, 0x1e00033e, 0xce0649ff, 0x0b00cc05, 0x4e002b00, 0x14040000, 0x22212306, + 0x33363426, 0x22253221, 0x0127b883, 0x3233013e, 0x82210117, 0x82e28203, 0x012729de, 0x09272221, 0x13010e01, 0x0620f384, 0x1582e682, 0x82012f21, + 0x3336252c, 0x03011f32, 0x17210885, 0x08e48213, 0x1d0b0238, 0x159ffe15, 0x01151d1d, 0x8afe1561, 0x01021d15, 0x111a0561, 0x82010f19, 0x0f1c8c01, + 0x1d078d01, 0xfe0f1c15, 0x1977fe82, 0xfeaafe0f, 0x9a1a05bc, 0x011a0f0a, 0x54820301, 0x05055408, 0x0a0f0fd2, 0xa38b0505, 0x0e0a0f03, 0x0111a408, + 0x1d2a700e, 0x5d1d2a1d, 0x0707151d, 0x1410a604, 0x18effd15, 0x0e0c80fd, 0x02181d15, 0xd4011568, 0x1410bbfb, 0x0a0f4a05, 0x0403e101, 0x02040407, + 0x0a10075b, 0x013d020f, 0x0a070615, 0xe9fe0c0f, 0x840d0995, 0x844620f3, 0x841420f3, 0xad5020f3, 0x830120f3, 0x010f22f3, 0x24e98225, 0x07141516, + 0x06734b05, 0x30012f25, 0x82272623, 0x363726f8, 0x0336013f, 0x20f5829c, 0x23f5846f, 0xf9fc1591, 0x033ef5a2, 0x040f0a52, 0x042d0148, 0x110f0a04, + 0x0d89c7fe, 0x05070a0f, 0x030501ba, 0x02010104, 0xf7a3076c, 0x0b0e033d, 0x68790607, 0x120b0e01, 0x074d6d05, 0x030f0a0f, 0x06050369, 0x02040408, + 0x8a0cb403, 0x84b020f7, 0xae5220f7, 0x363421f7, 0x1322f982, 0x06833736, 0x06071424, 0x04822707, 0x83222321, 0x262722f4, 0x06f14131, 0x05171623, + 0x20f98241, 0x23f9845b, 0x54fb15a5, 0xb32ef9a3, 0x010f140f, 0x1408068d, 0x2196050f, 0xf1831202, 0x0607092b, 0x0f056b4f, 0x5a070d0a, 0x08faa337, + 0x0f0a8d29, 0x54fe0a0f, 0x0f0806bd, 0xc706090a, 0x0513052d, 0x06060101, 0x0906916a, 0x790a0f0a, 0x0300004a, 0x49ff4600, 0x4105e206, 0xec4135f3, + 0x07022206, 0x21098537, 0x854d010f, 0x23342105, 0x2406eb42, 0x0636011f, 0x20f982ce, 0x23f98473, 0xc7f9158d, 0x053ef9a2, 0x0a1206e6, 0x285f010f, + 0x0a0707a3, 0x07e00b0f, 0x07060708, 0x02620103, 0x06110a0f, 0xf8a22a4c, 0x9e045108, 0x040a0f11, 0x74e2fe04, 0x0a0f046b, 0x0493070e, 0x01070404, + 0x05040d01, 0xcc110f0a, 0x0000007d, 0xff7d0002, 0x0583067d, 0x000600b6, 0x01000012, 0x010b3711, 0x14001117, 0x01272206, 0x32363426, 0xcc050117, + 0xb7e2e2b7, 0x3e2c0d01, 0x1690fa16, 0x05350582, 0xfeb60570, 0xdffe469a, 0x01462101, 0x3e31fa66, 0x7005162c, 0x21058216, 0x4f8d90fa, 0x4f881f20, + 0x06140129, 0x2c312223, 0x41002701, 0x1626060f, 0x00011217, 0x5c891e05, 0xfe011f38, 0xbd14fedd, 0x017588fe, 0x291c1f2c, 0x57016c05, 0x12025201, + 0x6b8c2b1f, 0x2c1f1238, 0x01bdc605, 0x06ae0278, 0x242c1f07, 0xfe82fd1b, 0x0aaefea9, 0xc7842c01, 0xc7826020, 0xc7858320, 0x07110534, 0x1127011b, + 0x34262224, 0x32360137, 0x01071416, 0xc7837605, 0x8a1bfb21, 0x01a02bae, 0x21014666, 0xfe46dffe, 0xd8841d9a, 0xc583de83, 0x4f87c785, 0x00002f22, + 0xf0444f86, 0x37362605, 0x3637063e, 0x06e24324, 0x06070626, 0x07020e04, 0x06220282, 0x65860e07, 0xfcfa2808, 0x31062c1f, 0x3f232253, 0x4938402a, + 0xb6019227, 0x04034c01, 0x1d272c1f, 0xd0e2feb6, 0x1f3472a3, 0x532b2f46, 0x8c260833, 0x1f240881, 0xd7760e0f, 0x5699595a, 0x275d557b, 0x0120a892, + 0x2b1d1f2c, 0x5c431203, 0x3b649586, 0xd96f789f, 0x00191578, 0x04340082, 0x44ff4600, 0xb305ce06, 0x0e000d00, 0x30002000, 0x33010000, 0x270a7d45, + 0x03253123, 0x23010e01, 0x280a9d45, 0x16320109, 0x01071415, 0x23148606, 0x64ab0436, 0x280a5d45, 0xef6ffe87, 0x1a05bcfe, 0x0a954211, 0x31021529, + 0xfc0c2c1f, 0x82291649, 0xb7032406, 0x45ee0216, 0xa126094a, 0xbbfb4801, 0x66451410, 0x84fe2a08, 0x1f2c3002, 0x27fa1216, 0x22068323, 0x8223d905, + 0x010025a6, 0x0a004600, 0x1425a782, 0x00001f00, 0x1e2b4637, 0x10437820, 0x450a2022, 0x00201bd7, 0x13286f82, 0xed0654ff, 0x3f00ae05, 0x32267e82, + 0x011b1617, 0x03881737, 0x03170226, 0x27032707, 0x0b230482, 0x83270701, 0x03342503, 0x31060706, 0x2c081086, 0x37133703, 0x17373136, 0x1a323713, + 0x02013f01, 0x0239018b, 0x39393242, 0x39392c72, 0x3939173f, 0x7045278c, 0x4c393984, 0x39391f2f, 0x2413825e, 0x39393f6b, 0x20408246, 0x080e828c, + 0x39394824, 0x07247154, 0x55393958, 0x221a013d, 0xae05380a, 0x4bfd0239, 0x38384702, 0x8d010bfd, 0x61fe3838, 0x05825303, 0xcbfe2026, 0xfb0d5602, + 0x032a3282, 0x85fb9760, 0x65023939, 0x05826ffe, 0x24fdc831, 0x02083939, 0x6d5a37da, 0x3939cffd, 0x82fc6d03, 0xa005314a, 0x649efd06, 0xfc3838ec, + 0x9a01f5e3, 0x380b9f01, 0xe382d482, 0xffa02008, 0x056006ce, 0x00070032, 0x15212500, 0x35231121, 0x04940133, 0x7cbcfacc, 0x047846f4, 0x920078ec, + 0x35212c23, 0x044c0221, 0xfe74fb14, 0x86ac01cc, 0x29279625, 0x5c030403, 0x14fe2cfc, 0x279e6402, 0xa402bc28, 0x5cfde4fc, 0x279d1c03, 0x01740429, + 0xfc9cfdec, 0x9dd403a4, 0x2c052927, 0x54fe3401, 0x8c04ecfb, 0x33232796, 0x82112315, 0xe40527c7, 0x34fbf47c, 0xeb884405, 0xceff6428, 0x32059c06, + 0xd0821f00, 0x15163226, 0x01151014, 0x42058445, 0x112006ed, 0x2c09f442, 0x23198003, 0x16117d02, 0xfd152319, 0x21068320, 0x0c8483fd, 0x11e00233, + 0x19233205, 0xbd0ffdbc, 0x230e2202, 0xfd121c19, 0x2306828a, 0xdefd6a04, 0x02220d84, 0x7b410e76, 0x00642805, 0x049c063c, 0x861a00c4, 0x2262826b, + 0x87092722, 0x01303760, 0x09173236, 0x60063601, 0xfe0b2319, 0x123e1290, 0xc1fe51fd, 0x0d821f12, 0x82700121, 0xaf02330d, 0x02123f01, 0x131923bc, + 0x19f8fd10, 0xfecb0319, 0x0c83193d, 0x19080228, 0x0135fc19, 0x648319c3, 0x000c0025, 0x84010096, 0x00012409, 0x861c000d, 0x0002240b, 0x863a0007, + 0x0003240b, 0x86900026, 0x8204200b, 0x86d32023, 0x0005240b, 0x8601010f, 0x00062a0b, 0x002b010c, 0x04010003, 0x82118209, 0x240b86af, 0x000e0002, + 0x240b862a, 0x004c0003, 0x240b8642, 0x001a0004, 0x240b86b7, 0x001e0005, 0x360b86e1, 0x01180006, 0x00460011, 0x00720075, 0x0061006e, 0x00650063, + 0x82490020, 0x826f2007, 0x00732e0f, 0x72754600, 0x6563616e, 0x6f634920, 0x200e826e, 0x201f8252, 0x202d8267, 0x282b826c, 0x52000072, 0x6c756765, + 0x21088261, 0x2f830046, 0x49827420, 0x49826f20, 0x45846720, 0x49823a20, 0x20205999, 0x202aef82, 0x38003200, 0x31002d00, 0x05823000, 0x05823220, + 0x33003230, 0x6f460000, 0x6f46746e, 0x20656772, 0x7f8c203a, 0x32280f82, 0x30312d38, 0x3230322d, 0xb6a82783, 0x90825620, 0x73007224, 0xa6846900, + 0x68822020, 0x74823020, 0x07842e20, 0x00003030, 0x73726556, 0x206e6f69, 0x2e313030, 0x10823030, 0x0e41b68d, 0x060d4111, 0x02000023, 0x20008b00, + 0x840c8b01, 0x8262200b, 0x01c80805, 0x03000200, 0x03010201, 0x05010401, 0x07010601, 0x09010801, 0x0b010a01, 0x0d010c01, 0x0f010e01, 0x11011001, + 0x13011201, 0x15011401, 0x17011601, 0x19011801, 0x1b011a01, 0x1d011c01, 0x1f011e01, 0x21012001, 0x23012201, 0x25012401, 0x27012601, 0x29012801, + 0x2b012a01, 0x2d012c01, 0x2f012e01, 0x31013001, 0x33013201, 0x35013401, 0x37013601, 0x39013801, 0x3b013a01, 0x3d013c01, 0x3f013e01, 0x41014001, + 0x43014201, 0x45014401, 0x47014601, 0x49014801, 0x4b014a01, 0x4d014c01, 0x4f014e01, 0x51015001, 0x53015201, 0x55015401, 0x57015601, 0x59015801, + 0x5b015a01, 0x5d015c01, 0x5f015e01, 0x696e7507, 0x30463045, 0x31200786, 0x32200786, 0x33200786, 0x34200786, 0x31210784, 0x21278530, 0x27853031, + 0x85303121, 0x30312127, 0x31212785, 0x20278730, 0x202f8635, 0x20078636, 0x20078637, 0x20078638, 0x20078639, 0x20078641, 0x20078642, 0x20078643, + 0x20078644, 0x20078645, 0x21078546, 0x07863031, 0x07863120, 0x31207f86, 0x31207f86, 0x31207f86, 0x31207f86, 0x31207f86, 0x31207f86, 0x31207f86, + 0x31207f86, 0x31207f86, 0x31207f86, 0x31207f86, 0x31207f86, 0x31207f86, 0x32217f86, 0x21778530, 0x07863132, 0x32207f86, 0x32207f86, 0x32207f86, + 0x32207f86, 0x32207f86, 0x32207f86, 0x32207f86, 0x32207f86, 0x32207f86, 0x32207f86, 0x32207f86, 0x32207f86, 0x32207f86, 0x33217f86, 0x21778530, + 0x07863133, 0x33207f86, 0x33207f86, 0x33207f86, 0x33207f86, 0x33207f86, 0x33207f86, 0x33207f86, 0x33207f86, 0x33207f86, 0x33207f86, 0x33207f86, + 0x33207f86, 0x33207f86, 0x34217f86, 0x21778530, 0x07863134, 0x34207f86, 0x34207f86, 0x34207f86, 0x34207f86, 0x34207f86, 0x34207f86, 0x34207f86, + 0x34207f86, 0x34207f86, 0x34207f86, 0x34207f86, 0x34207f86, 0x34207f86, 0x35217f86, 0x21778530, 0x07863135, 0x35207f86, 0x35207f86, 0x35207f86, + 0x35207f86, 0x35207f86, 0x35227f86, 0x00830038, 0xffff0126, 0x01000200, 0x0c200a82, 0x10220382, 0x0d821800, 0x04000022, 0x02220b82, 0x17840000, + 0x07820120, 0x00240985, 0x206855e0, 0xe02b0d83, 0x009ffffd, 0xe1000000, 0x05f47562, 0xeb1269fa, 0x0000006e, }; diff --git a/src/gui/furIcons.h b/src/gui/furIcons.h index 26eca38c4..718e6822b 100644 --- a/src/gui/furIcons.h +++ b/src/gui/furIcons.h @@ -1,7 +1,7 @@ // not auto-generated. update every time you change icons.ttf! #define ICON_MIN_FUR 0xe0f0 -#define ICON_MAX_FUR 0xe14d +#define ICON_MAX_FUR 0xe158 // test #define ICON_FUR_TEST0 u8"\ue0f0" @@ -82,6 +82,18 @@ #define ICON_FUR_SAMPLE_SIGN u8"\ue140" #define ICON_FUR_SAMPLE_TRIM u8"\ue141" +// waveforms +#define ICON_FUR_NOISE u8"\ue14f" +#define ICON_FUR_PULSE1 u8"\ue150" +#define ICON_FUR_PULSE2 u8"\ue151" +#define ICON_FUR_PULSE3 u8"\ue152" +#define ICON_FUR_PULSE4 u8"\ue153" +#define ICON_FUR_PULSE5 u8"\ue154" +#define ICON_FUR_PULSE6 u8"\ue155" +#define ICON_FUR_PULSE7 u8"\ue156" +#define ICON_FUR_SAW u8"\ue157" +#define ICON_FUR_TRI u8"\ue158" + // misc #define ICON_FUR_SINE u8"\ue144" #define ICON_FUR_ADSR_A u8"\ue145" @@ -92,4 +104,5 @@ #define ICON_FUR_DEC_EXP u8"\ue14a" #define ICON_FUR_INC_LINEAR u8"\ue14b" #define ICON_FUR_INC_BENT u8"\ue14c" -#define ICON_FUR_VOL_DIRECT u8"\ue14d" \ No newline at end of file +#define ICON_FUR_VOL_DIRECT u8"\ue14d" +#define ICON_FUR_ADSR u8"\ue14e" \ No newline at end of file From 18e2ecd030d0a0c99e61ebe5b67f49df2d89007a Mon Sep 17 00:00:00 2001 From: tildearrow Date: Sat, 28 Oct 2023 13:30:28 -0500 Subject: [PATCH 18/99] Revert "add more icons to icon font" This reverts commit 80ef90f62642b083a4bffd7b56495efeab21e310. --- res/icons.sfd | Bin 31848 -> 408030 bytes res/icons.ttf | Bin 31824 -> 30848 bytes src/gui/font_furicon.cpp | 708 +++++++++++++++++++-------------------- src/gui/furIcons.h | 17 +- 4 files changed, 349 insertions(+), 376 deletions(-) diff --git a/res/icons.sfd b/res/icons.sfd index 047747543202676406329dca250e2e5b321e4970..49866fbb77fce5fd8dd4b6ab12a76af9e05aa453 100644 GIT binary patch literal 408030 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�Grtxt%e}X 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

tmmhFx4Q?sl0Jrq< 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�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�C_HNF($@z*S%QY23I0#@m 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 PuP+#>fFo0$tNs4~vNr8* diff --git a/res/icons.ttf b/res/icons.ttf index aed58538577f136897173b23e5e30417e31b65ec..3a749c81a193c8bd51c2be64cb9a78523ab77a4c 100644 GIT binary patch delta 1414 zcmX|B4NR3)7=GUGyXX7(Q7^@B{0R<$L_yJPrjRbYSI{dH=xT+78xmLG!c{1*f&n^R zIh&(1tj#r)%^cE@I%4W_b7?=C6K9J^TjADPx^iV{*23HS;jNv0-+ABXJ?A;^bIyCt zmHX8B8+CvHOhYGhR686MuD;<HA z{3AQR=m)d_WA|%bX-&goTQgwubKF+vY4Hbx%#6TN_QUELx4v{V&%X~48G!F|Z>^_e zLq_o3AP0ZuZ=siw@EwL=G9G{oudg+bvop4a{j=_~#4ZfWLM^@6O}S`5 zDjbt-J03QNm7lejlV9?r6yOef)(IxVhEeXrxM|#{jsJ1OB|p;6sUF=R`HoFVuV@qD zu-pEWjoGi8I*Y0?nq|P~q5;*kV3Dbp1vQmAr;SV-OC2!A)k*te61i+%RrjM(G*Mx^ zpr2HU(K_*z)R=TKR|dn3VG*kwvF8|*5%CwqL)x+U4&e)GLaNGymo?K3JF@VkJX;wj zZzs0#^!lVnNK`ZTLD`x7nd!ub#wpz`SEsa*rY@%V$czt$iJQz_IGspD@W^|zDD4|- z<@C37?oMQEBvH!v`!XZ*6N**0GPl$J3cDG2kljsYLU5Y+N!aE7S-+EA?#cN}^t14_ z^0nDLyi)2Mo|Daqj;VvWRYV_uF!wqM7XwO-&pSru2r7(u`boKe{@1*wwNGXQi@wK+ z4K99+gw6>}s7p)2tvwknh$kk!UARUQ+n8gwDq2>caV9&SsUs`HqMcT}$x%zGn%#k!rFJQ_+AVc$91==FP=)Gg$dqJ?Im3rqu(*Axy~5E$?Kg`=gSK$BJJ4= zWJW&lio3$DuDYKlKB6{GHg4SwG0ZAg%751Fnrd-+xSsO3R$rA@%AM+~=VGksx1Jv% za?8_|2iS41&kGZU#$Itm?WvuviF%_?w8_D`1_qBYnChKLrkl^?C`&Kdc)-&0W4(*a z27GDs*ygFH8qW}w%3quEWL8sxT-tOfii^_`EH*BSAw(hvYdBb}<&j*{d`N!VJVEX9 zn!l9)vo>v^D%rQGl>c`&_0ns=ZQ)j5|m*R@sYe6KMT(?hlf69pk#MM(%8C&=ymvx&gn~=!XLtEo@=Rlu38PKr`%R>Ph4>}#P1#jpN yA=^L#@gpgRw#-&Dw?vU#5J=}2#2pw^iCf>+I0WK%@W1?lDTt97?X$G1q<;Yu31=Sw delta 2360 zcmai03s6+o8UFu!@43s%1(pSN5yHaq@IiSj3%fT8v<6pVi6+QPMPwrc0xV!$ED6{( zP3<%ZwF$>+)6jxWY7&PbnOqVw9n5HL)1+Flt&<0B6P=`wnbMhd2Gdmb(f`7o%yg!< zd*_`0|Nirz|9S78bMzm0?Q;wO0)P>Yf(UIMPyKyoUjM@kz=)Hi>D#KedLSPxgw2F) zJ9ia1MsL@R0$>;6#sfa@z~$=eNdN-L1ml6jej99(`T?YIT9-P#hXx`MvJ4|}grhop zAALyu)uYD%80{Yjc6E3I?YT+kKcK}$8s%LiiT;Mn$UzR_oGzb#=u3aKJV*Ef;VZrU z2fXXQyk?SY(}1^q-k|}Q5@|2i5VrMseI1Ptou+^fx0CGZK>s1X8r||!fFVjqd~YRL zN_f6-ck}-E&9@-aWT1TjH$ssKjoy54aET{i1wP1k;67~TQ<&cq17oyQ2U$=AKZY`> zh4nCoeJ})3;Ds8fLkq;hcK9wjU@hDag+dJc60KMc=V)y`l;RG!Miyd0f@~bYVNgK9 ze4Ga})S@4DeGjajh|m=wx}oLt;mXK;n(U+LWaN^Idxoc;?#4a~}KiVZv_ zV;DvCTNyqySRzsEFJ$rdU5G4}G;fXBKGfXVPKm}T`HvK$LS+a5o~X#+k8QY&M()}8FLsV< z)5xm}zDI#96p)Ga6#e^ZOW}URi|Sm_?~v^v$!qF($t!5M1`TqtILqrw-`8tth^128 zqQJX1QPCs{D5!pWbF@~ev5HhAtLG{o5ZEx;IQH6CDg+9w@}5rA0?H^U$+aDK5`VmRrsy#2W8glohdURKX zX6UW@chL|R?qW;Ks2*>uLh9Qv#rm73o3U?DmfOXbwJ!67j5Pj1a|Z=jxtjtJ)w6r% zkves_<#__8eMM2MN`9K1RXrV<0_%~_u*Z0JXAcRdNx0CNi-sm@*2|Q${P6QyCTF_u zLqjiImrqE=>SsOYk-ykq%s=s2u$V9VPREPjiQFq+Wv`O|jZnug^cM1kzO`b0UJ3ta z-)a6_e-MxGlLI?x{?owMu#LAK+)4BF!3k9Pjz=bpNMBV9SujH;fQ!%fX5tXH`Ro|O zTl>=Kr9eoE)XRTk(@;g9kRvr^ExJ;_7(%LO$QSczipAC86lH^4q6MLm73&o zq+t~bPopAiaVW|o1&UIYswkuRTL-?WD78hIiqcB5o+?H0kbzNxHHuOnIGAH-R+NSc zOv{dOvuQ;LeO1`zc86l|J8pN_EAFD%7QQSru34r%V%w?ZV~Qelg!^fJCzPWoQNn_2 zk1sS&i@qS4Vv};{N9~Jlckq*2_ye4XbyHT9n6Bvs$n6~r zN`71njR#*4um5j@tN@+i`sGDw^bUHZ$@WA_gnc@)wCrTnx)wq^RU|M@C7~As9VyA? zgk&r))ffZH_Uyc}#8u*SVYztJY8Q?qrdaLCA)7`*PpkmpMj~_At#hIH^Fp@KZcR6Z zo+2W3hdx?C!eQfTg6*(b9+!RwX}T|Rk)0onffYwiS2315Qlqh4ZnN5B!_Sy1O`!+E z7fqRjaDb5T3RanfIlDC}A@sS`Dqap(ST!I-S*^h`ykyn9KpdQ;PHR7eHFP?x@&fhz zZk-n)51!F^iFCZb)d7QeM4gu*4mWB?j1)~0idg3bx<+i!d65puEjlle&aBQeI@WIL zybKmhRDXDA6Y>xJHac-{`=?W|0UNOin{hYp!M)f*hj1(IS6>?Zz7Q}B_C36{#JN?c zo>f{_tkV*mI&@m9Q>RYLbXu-cmrhr{06@B^2rC(CSCs_1^k_$>L_?!msknD2Ll|88 EH>aXd_W%F@ diff --git a/src/gui/font_furicon.cpp b/src/gui/font_furicon.cpp index 4c38206f0..b8a841ecc 100644 --- a/src/gui/font_furicon.cpp +++ b/src/gui/font_furicon.cpp @@ -1,366 +1,352 @@ #include "fonts.h" -// File: 'icons.ttf' (31824 bytes) +// File: 'icons.ttf' (30848 bytes) // Exported using binary_to_compressed_c.cpp -const unsigned int furIcons_compressed_size = 17169; -const unsigned int furIcons_compressed_data[17172/4] = +const unsigned int furIcons_compressed_size = 16494; +const unsigned int furIcons_compressed_data[16496/4] = { - 0x0000bc57, 0x00000000, 0x507c0000, 0x00000400, 0x00010037, 0x000e0000, 0x00030080, 0x54464660, 0xddb5a24d, 0x7c0000b4, 0x28158234, 0x4544471c, - 0x00270046, 0x200f8218, 0x2c0f8214, 0x2f534f20, 0x52fa8c32, 0x0100008c, 0x2b0f8268, 0x616d6356, 0xd444cb70, 0x02000013, 0x022d1382, 0x7476630e, - 0x043b0020, 0x0400006f, 0x261f829c, 0x73616704, 0x82ffff70, 0x7c002259, 0x2b0f820c, 0x796c6708, 0x79cdb366, 0x05000085, 0x70293f82, 0x616568fc, - 0xbd132564, 0x201b82d8, 0x210382ec, 0x10826836, 0x06820923, 0x205f8205, 0x280f8224, 0x746d6824, 0x18eb2d78, 0x200f8299, 0x280f82c0, 0x636f6ccc, - 0x0d402961, 0x825f82a0, 0xc6002803, 0x7078616d, 0x8203ac00, 0x4801213b, 0x20271f82, 0x656d616e, 0x82a16656, 0x647621af, 0xce2b3382, 0x74736f70, - 0xc25c09b3, 0x82780000, 0xd60321cf, 0x012deb84, 0x2ecf0000, 0x0f5f5859, 0x1f00f53c, 0x25368207, 0xfde00000, 0x08839fff, 0x7562e12b, 0xfe80fcf4, - 0x05000768, 0x220f82e0, 0x82020008, 0x82028305, 0x00062233, 0x290982ff, 0x80fc0007, 0x00070000, 0x0c820100, 0x0420028b, 0x62251184, 0x0800bb03, - 0x21008300, 0x23830002, 0x40222583, 0x0b822e00, 0x072b0d82, 0x00900100, 0x04000005, 0x82e6048c, 0x85fa2011, 0x5c032b07, 0xcf015900, 0x00020000, - 0x15820905, 0x01210285, 0x84078510, 0x75462905, 0x40005472, 0x58e12000, 0x06208385, 0x04856a84, 0x3b208b84, 0x07202683, 0x03830482, 0x0280fc25, - 0x8292000a, 0x0052320c, 0x002f0021, 0x003500a5, 0x0029004c, 0x006e0192, 0x349b8278, 0x00480061, 0x00180152, 0x004a000b, 0x0032018f, 0x0050001b, - 0x2631822e, 0x011901ca, 0x82aa0036, 0x0029261b, 0x004e0133, 0x2e4182d0, 0x0004000b, 0x017c0122, 0x0039007b, 0x82270139, 0x001428a5, 0x0074014c, - 0x82480022, 0x000c240d, 0x82b60085, 0x005b260f, 0x004b012e, 0x2001845c, 0x2005822a, 0x32038253, 0x005e004b, 0x00c80053, 0x0157015c, 0x006c002e, - 0x8446001e, 0x007d2101, 0x0d830185, 0xa0001322, 0x6422018c, 0x73826400, 0x03860320, 0xdf851c20, 0x00080123, 0x20098403, 0x208b821c, 0x2e1b82ec, - 0x00080008, 0x00000002, 0xe1f4e020, 0x84ffff58, 0xe1f02609, 0xffffff00, 0x200b82e3, 0x222b8400, 0x820e0006, 0x0004260b, 0x00060005, 0x282f8207, - 0x000a0009, 0x000c000b, 0x3c17820d, 0x0010000f, 0x00120011, 0x00140013, 0x00160015, 0x00180017, 0x001a0019, 0x001c001b, 0x08a7821d, 0x20001f84, - 0x22002100, 0x24002300, 0x26002500, 0x28002700, 0x2a002900, 0x2c002b00, 0x2e002d00, 0x30002f00, 0x32003100, 0x34003300, 0x36003500, 0x38003700, - 0x3a003900, 0x3c003b00, 0x3e003d00, 0x40003f00, 0x42004100, 0x44004300, 0x46004500, 0x48004700, 0x4a004900, 0x4c004b00, 0x4e004d00, 0x50004f00, - 0x52005100, 0x54005300, 0x56005500, 0x58005700, 0x5a005900, 0x5c005b00, 0x5e005d00, 0x60005f00, 0xc6826100, 0xca850620, 0x0022c782, 0x05820201, - 0x8d000221, 0x00012300, 0x118d0300, 0x22d30d40, 0x826f043b, 0x002c21d6, 0xba080185, 0x0084003c, 0x056404c6, 0x06c40524, 0x075807d4, 0x09ce08ea, - 0x0a760934, 0x0bfe0ab0, 0x0cee0b88, 0x0de60c2e, 0x0ed80d6a, 0x0fca0e64, 0x105a10a4, 0x117e11bc, 0x139212c6, 0x138c130c, 0x159814d8, 0x17381648, - 0x1b801712, 0x1cae1b1e, 0x1dc01c34, 0x1f081fea, 0x218020bc, 0x218a2134, 0x238622fc, 0x272a27c8, 0x29b028ca, 0x2ac62952, 0x2bbe2a0a, 0x2ef42ba4, - 0x2e442e16, 0x2f8e2e68, 0x300c30f0, 0x31d2306a, 0x3156311e, 0x31de31ac, 0x33ba32ec, 0x34c63364, 0x35bc3440, 0x35b6353a, 0x361a36de, 0x36903642, - 0x371c37e4, 0x37a0378e, 0x37c837b4, 0x38f037dc, 0x38163804, 0x827e384c, 0x022108c5, 0x00003b00, 0xaa041502, 0x07000300, 0x01b12e00, 0xb23c2f00, - 0xed000407, 0x0506b132, 0x03b23cdc, 0x220a8202, 0x8303b100, 0x83052016, 0x07b22716, 0x3cfc0106, 0x178301b2, 0x21113337, 0x11212511, 0xda013b21, - 0x640161fe, 0xaa049cfe, 0x043b56fb, 0x25578334, 0xf5ff80fc, 0x09828003, 0x59820120, 0x2105002e, 0x33fd2125, 0xb3f99a05, 0x0b0b0007, 0x25081582, - 0x000a0203, 0x03f60410, 0x001b00fd, 0x002f0025, 0x21300100, 0x14151632, 0x0607010e, 0x17161507, 0x011e1716, 0x0b821415, 0x23010e2f, 0x32213721, - 0x34013d36, 0x35212326, 0x08098533, 0x02012b4d, 0x7dbd010a, 0x20311f8e, 0x251e1e20, 0x2b1f2025, 0x23221413, 0x17fe385f, 0x3f1801a2, 0xfe3f4848, - 0x423dfce8, 0x03fc3d42, 0x38778dfd, 0x0c0d324f, 0x0d020803, 0x581c1c0d, 0x35363c3f, 0x8b2c2727, 0x3e313e42, 0x393e8842, 0x833e3a2e, 0x0030088f, - 0x06630092, 0x00a9036e, 0x0017000f, 0x2500002b, 0x21302730, 0x23300730, 0x33371236, 0x01171216, 0x07062330, 0x01263330, 0x27001130, 0x13303330, - 0x062f0385, 0x30110702, 0xfe4cea02, 0x2f8a49c7, 0x82ab2fbf, 0xfe340803, 0x3d3c068d, 0x84023cf7, 0x9b17f7fe, 0x94cb04cc, 0x631dce37, 0x028ce3e3, - 0xfd8c8c2e, 0xc9028cd2, 0xfdb9b9b9, 0x014a01f0, 0x8bfe28d4, 0xfe617501, 0xb3fe329a, 0x00218282, 0x3a048203, 0x030007ac, 0x03580361, 0x00ba038c, - 0x02263700, 0x1d303327, 0x041d1702, 0x90031d17, 0xa3149102, 0xf1478211, 0x95719126, 0x011e2686, 0x013e3317, 0x06734137, 0x3d220d86, 0x02893703, - 0x0b8a0420, 0x11a31785, 0x26f12982, 0x86a17191, 0x0206332e, 0x02262307, 0x27012e27, 0x07010e23, 0x052d0d82, 0x3e272622, 0x011e3701, 0x34353233, - 0x29188326, 0x35262726, 0x32333634, 0x21821716, 0x23012e2b, 0x14150622, 0x1e171617, 0x23028501, 0x25061415, 0x23223b82, 0x28822722, 0x34262726, - 0x3e373637, 0x21823c82, 0x2c840720, 0x14011d35, 0x37323316, 0x013d023e, 0x11333523, 0x5e188e23, 0xcc016818, 0x0e043400, 0x0e040c04, 0x0e390e03, - 0x0e390f7b, 0x0d030f03, 0xcc040e03, 0x64012761, 0x7a196218, 0x5c833a0e, 0x5c820c20, 0x0f3c0f3b, 0x6e4bf002, 0x0c2f0b27, 0x77314d1d, 0x2409342a, - 0x2a2b5a0a, 0x63486570, 0x08138224, 0x31401a3c, 0x16163737, 0x09240931, 0x16154430, 0x43027413, 0x484f090c, 0x212b2c34, 0x12121320, 0x5f222212, - 0x38375a3d, 0x4611531e, 0x5050483c, 0x1a1a1e48, 0xdf7c1627, 0x0170b75a, 0xb8cd70be, 0x014d0010, 0x681a2d47, 0x19671919, 0x44100144, 0x44f0fe44, - 0x19220a82, 0x01101a68, 0x4147015b, 0xaf084d47, 0x7042fe70, 0x45130145, 0x1919671a, 0xfe451a67, 0x380b45ed, 0x0b2a0b36, 0x2c6d2c29, 0x07020d2f, - 0x2d2c1502, 0x31615c51, 0x0b290a34, 0x342d2425, 0x0c15162a, 0x0b020802, 0x3f17171f, 0x6e686529, 0x13133e30, 0x4242292a, 0x2a4242b8, 0x2627282a, - 0x39313147, 0x52a4525c, 0x2109085c, 0x573b1e31, 0x00009efe, 0xff520007, 0x05ae0603, 0x001a001a, 0x00380024, 0x00530049, 0x00800078, 0x26220500, - 0x3e373435, 0x06333702, 0x0e070607, 0x3e330701, 0x16323301, 0x27061415, 0x34013d32, 0x011d2223, 0x02260314, 0x12163327, 0x33171617, 0x12363736, - 0x02272a82, 0x11232107, 0x83173221, 0x13072727, 0x27012e23, 0x79483723, 0x01152707, 0x2e272622, 0x2a823401, 0x33363722, 0x17212382, 0x0b584506, - 0x37369808, 0x0e17011e, 0x01110501, 0x01110115, 0x6ba20135, 0x3a0f106d, 0x3b8a314f, 0x1d1e2a2a, 0x110c0925, 0x5f513147, 0x6d6d6a6e, 0x83211f6c, - 0x50136b21, 0x0c0e0e14, 0x4e140e0e, 0x83216914, 0x658f0120, 0x2c560901, 0x803a392b, 0x17560871, 0x26249b78, 0x029b2426, 0x225d3aad, 0x21232321, - 0x3b2e2e22, 0x1f333356, 0x3e12490d, 0x4c4c4435, 0x12423644, 0x200e380f, 0x01e4fe69, 0xfe72fe28, 0x7f84fdd8, 0x6f3c3d3c, 0x292d2260, 0x56282928, - 0x6a312f32, 0x55776a67, 0x82771977, 0x03560802, 0xbf017018, 0xe7fe466f, 0x4f4f4e46, 0x1901464e, 0x41fe6f46, 0x339e0270, 0x604d6034, 0x13e7fe11, - 0x265536c9, 0x262a3e2a, 0x278efede, 0xb6842a2a, 0x142a2a84, 0x4a252514, 0x32392907, 0x53a1525f, 0x083b365e, 0x4e4a0921, 0x0134feb2, 0x92fe8210, - 0xeffecd01, 0x00820082, 0x2100043f, 0xdf06ac00, 0x0b006103, 0x4a001500, 0x00007400, 0x30113037, 0x14163221, 0x19012b06, 0x08b74901, 0xce460120, - 0x17162205, 0x46128216, 0x2e2806d0, 0x3e343501, 0x17323302, 0x2c08d146, 0x14150607, 0x1e011f16, 0x0e141501, 0x05cd4602, 0x85022e21, 0x17162124, - 0x230cc646, 0x013e3736, 0x0806c846, 0x200121d1, 0x5d66665d, 0x2e2aadb4, 0x02ad292f, 0x2a7655dd, 0x230d320c, 0x41362b2b, 0x0a3b2e41, 0x62620a27, - 0x36563d21, 0x2837384c, 0x1a0d320d, 0x2039384b, 0x3c373420, 0x3f205d64, 0x04dd025a, 0x3c4c5e0a, 0x2a294a66, 0x5a426c4d, 0x1359237d, 0x61503d51, - 0x1c205061, 0x1916161d, 0xb75ff38a, 0xb96d9e02, 0x01f5fe6d, 0x2e282b6a, 0xb6fd2b29, 0x2f0b343d, 0x17162b0c, 0x2e27313a, 0x0207020c, 0x2c515c12, - 0x1b1b3148, 0x2d0b321a, 0x1729210b, 0x292a2c18, 0x5d130c0b, 0x374d2f50, 0x4031711d, 0x5482572d, 0x2e588154, 0x2f344750, 0x6e5d663b, 0x0809665d, - 0x202f0f10, 0x9bfe5d34, 0x2f000500, 0xd106ac00, 0x12006103, 0x2a001f00, 0x46013400, 0x42250000, 0x3e280768, 0x021e3201, 0x27020e14, 0x2a058342, - 0x011d0622, 0x11051614, 0x41173221, 0x052c0f5e, 0x2327012e, 0x1d17071d, 0x0e1d170f, 0x0b850287, 0x01330582, 0x33112311, 0x1e171216, 0x3d331701, - 0x0f3d2705, 0x870e3d27, 0x2d0b8802, 0x11331104, 0x01022623, 0x23603c33, 0x02822322, 0x607a5f3a, 0x44232344, 0x4f483c61, 0x4f4f904f, 0x0901df01, - 0x572b2c56, 0x259aa356, 0x9a260082, 0x22086302, 0x32440c09, 0x75622807, 0x08228521, 0x880d0823, 0x21762310, 0x4c42ac85, 0x28282d07, 0x84b68454, - 0x5d5a2754, 0x5d52a252, 0x4f330484, 0x34339e02, 0xf1fe67c1, 0x2a256901, 0xb226293d, 0x44155315, 0x4dae4d7f, 0x70fe0228, 0xfe439e02, 0x884043f4, - 0x90012680, 0x014362fd, 0x055f430c, 0x5500a53a, 0xb7035b06, 0x48002f00, 0x5e005400, 0x30250000, 0x23010e23, 0x35022e22, 0x43078a44, 0x0620083e, - 0x2106e349, 0x01823736, 0x23013d35, 0x23112135, 0x16322101, 0x07061415, 0x1507010e, 0x8217021e, 0x0e07300b, 0x37212302, 0x36373233, 0x2734013d, - 0x4d012b26, 0x41080a5d, 0x740e04e5, 0x5c804a60, 0x30303534, 0x71534343, 0x4a122b9c, 0x4d651812, 0x63797963, 0x1b242428, 0xac10101b, 0x01772f01, - 0x69720106, 0x15141b77, 0x3d1a1a34, 0x11131135, 0x2f4f3910, 0xe98768fe, 0x00821e35, 0xe9356a08, 0x373733d2, 0x3de2d233, 0xa26d3850, 0x38a2686a, - 0x631c1c37, 0x0b2b0b59, 0x757f493b, 0x0a7f7588, 0x1d14130b, 0x7541271e, 0x460341fe, 0x422f6276, 0x03141515, 0x2f160107, 0x32352524, 0x25412d2c, - 0x331c1b75, 0x1c1b3429, 0x27303371, 0x00003330, 0x35000500, 0xcb06ac00, 0x1f006103, 0x53004600, 0x66006000, 0x22250000, 0x131b4426, 0x1e37362c, - 0x07061701, 0x2e222106, 0x21822701, 0x3e373623, 0x05064601, 0x072a1482, 0x3e171632, 0x1e323303, 0x58431502, 0x35a80810, 0x12363521, 0x33113337, - 0x25152315, 0x0e231133, 0x834e0101, 0x69492696, 0x21765841, 0x3b48115b, 0x4d59594d, 0x0f124c3d, 0x3d210e3a, 0x38fc013c, 0x10113c57, 0x5523232c, - 0x2d399029, 0x1722212d, 0x04020d16, 0x251c0b01, 0x482a2030, 0x3e211d35, 0x413b3557, 0x42427541, 0xc9fea102, 0x8e2eb52d, 0xbefe5b5b, 0x8e2307db, - 0x54a9b1ac, 0x4d2e5881, 0x3930324b, 0x5d665d6a, 0x09313f6a, 0x29490923, 0x30442429, 0x80493d30, 0x1c533636, 0x28262729, 0x362d2d29, 0x23150101, - 0x371c0f1b, 0x53332f4d, 0x3e58213c, 0x3e3d0d3d, 0x2f080484, 0x4a5d834d, 0xfe4a2a01, 0xd883553a, 0xed3b6301, 0x4c000800, 0xb40608ff, 0x0c001405, - 0x1c001600, 0x5c002800, 0x72006800, 0x00009b00, 0x30113017, 0x21123544, 0xec831101, 0x21113323, 0x45018715, 0x754c06a6, 0x06b44c2d, 0x33132324, - 0x0b850313, 0x33010f2a, 0x37013e25, 0x07010e23, 0x13820282, 0x23270282, 0x1117011e, 0x4c331123, 0x332005af, 0x02821e82, 0x23113329, 0x560901b0, - 0x44582c2c, 0x01300756, 0x86f466ca, 0xe1fe8501, 0xfdfe0301, 0xe7fa1f01, 0x210cdd4b, 0xdd4b0925, 0x2e0c2207, 0x11dd4b0c, 0x09383008, 0x09e10922, - 0xc9640823, 0x04f1ca81, 0x030d030e, 0xb03b040e, 0x0402d002, 0x1f080b01, 0x16571607, 0x08155715, 0x010b081f, 0x78620105, 0x82124812, 0x8209200b, - 0x12540803, 0x62771247, 0x349f02f8, 0xfe67c233, 0x266901f1, 0x25293e29, 0x9f02bcfd, 0x025abbfd, 0x58c45a9f, 0x57035acf, 0x2b0b3539, 0x6e2c2a0b, - 0x020c2f2c, 0x2d140208, 0x605d512c, 0x290a3431, 0x2d25240a, 0x16162a34, 0x0308020b, 0x1717200a, 0x6964293f, 0x1f7c1f0b, 0x40820282, 0xe0016133, - 0x10104111, 0x90d31141, 0x13144c13, 0xb62d134b, 0x2202822d, 0x82134913, 0x63fe290b, 0x9d279f02, 0x16581627, 0x08820282, 0x0061fd2c, 0x00040000, - 0x06ac0029, 0x534703d7, 0x003a2205, 0x1a534746, 0x26114047, 0x1714011d, 0x43323316, 0x25200704, 0x080adc41, 0x20012921, 0x5d66655e, 0x2e29adb3, - 0x03ad292e, 0x2695840f, 0x57416949, 0x0f223b3b, 0x48110f3d, 0x822c4e3b, 0x3c4e3500, 0x3a0e134c, 0x3d3c220f, 0xae012d01, 0x2301bffe, 0x4101ddfe, - 0x34100547, 0x8154a9b1, 0x26272d59, 0x0822084b, 0x35353930, 0x355d665d, 0x07c64235, 0x9e020b2a, 0xc460ba60, 0x03000060, 0x3b825f51, 0xff6e0108, - 0x05920503, 0x0044001a, 0x006d0055, 0x009e0091, 0x00d500ab, 0x250000e3, 0x2c055847, 0x07062223, 0x3627012e, 0x37013e37, 0x051b4436, 0x020e0722, - 0x21098f52, 0x01820706, 0x2e22232a, 0x16372702, 0x1e171617, 0x2109d648, 0x64440135, 0x3e373706, 0x16323302, 0x32270610, 0x013d023e, 0x22022e34, - 0x0607010e, 0xa14f011d, 0x25258205, 0x36343502, 0xf2483537, 0x82322005, 0x05634a42, 0x011e1524, 0x6b821415, 0x200ce147, 0x0bee4713, 0x1e832520, - 0x82230721, 0x23028299, 0x06272622, 0x23232d82, 0x822e2722, 0x8337204f, 0x853320b0, 0x8807204c, 0x087382c9, 0x4b021655, 0x313a3c3e, 0x0c174330, - 0x130f0c30, 0x20213314, 0x3a502f2b, 0x240a0a21, 0x191d1a2f, 0x1613131a, 0x2d1f1f22, 0x472f362c, 0x500f2a36, 0x120e0e0c, 0x3e1c2e11, 0x473f4541, - 0x5c3e9802, 0x0f0f0e3c, 0x3e5c3c0e, 0x7d76767d, 0x0e1e3123, 0x45311e0e, 0x82071f31, 0x0fb30800, 0xf8fd3110, 0x1f3d593b, 0x3e343c4a, 0x6853371e, - 0x0f382929, 0x3d343f0f, 0x3c10104a, 0x423c3a5a, 0x42427942, 0x3b3b373d, 0x033a3a6f, 0x45161652, 0x38902956, 0x2d21225b, 0x0105010d, 0x260e0e0a, - 0x242a2030, 0x101d3524, 0x561f1f11, 0x2c2b3836, 0xec10113c, 0x3a42413b, 0x9941413b, 0x2e072935, 0x0a262c31, 0x15160a2a, 0x090a1d14, 0x28412d17, - 0x28191a20, 0x06040619, 0x14150d0d, 0x482c2539, 0x0e0e191a, 0x172c2114, 0x1111143e, 0x3a0d0c0c, 0x36340734, 0x2f6afe5c, 0x53404058, 0x59404152, - 0xb8feb72f, 0x331c5cb6, 0x2c752c49, 0x1c1c3448, 0x82242434, 0x252e0809, 0x1c1a1a23, 0x341d0603, 0x51432a47, 0x4e130711, 0x2d40263a, 0x2d0c0d19, - 0x3a262020, 0x1107134e, 0x232a4351, 0x571d3424, 0x32133238, 0x04823737, 0x3a013827, 0x2e102e30, 0x08048430, 0x41491f2a, 0x1b556b40, 0x28284e29, - 0x0101365a, 0x1b121214, 0x360f0e0f, 0x2a32304c, 0x221e1d2b, 0x30441312, 0x3c3f9330, 0x3e3e3c0e, 0x3f210482, 0x37008200, 0x00780004, 0x038806b7, - 0x000f0055, 0x00370027, 0x01000040, 0x23301130, 0x352a0384, 0x15302130, 0x35301330, 0x0f8a3330, 0x33201b83, 0x21221782, 0x27822730, 0x3c0c8154, - 0x3307010e, 0xac01012e, 0xfc01c86c, 0x015b5b53, 0x025c5c24, 0x3afb3c2b, 0x2699266f, 0x08038288, 0x05d7fe43, 0xc6104110, 0xf5024010, 0x3e02c2fd, - 0xc2fd6060, 0x58ee0158, 0x5812fe58, 0x0170b5b5, 0xfe7070be, 0x3a027042, 0x3131c531, 0x050000c5, 0xac000800, 0x6103f806, 0x3e003400, 0x50004600, - 0x00005800, 0x329f4b37, 0x0723272a, 0x16331323, 0x23011712, 0x1190a186, 0x55fd4208, 0x310d2a76, 0x2b2b230d, 0x2e414037, 0x0a280a3a, 0x3c226262, - 0x384c3656, 0x320d2738, 0x374b1a0d, 0x341f203a, 0x5d653c36, 0x025a3e21, 0x3bfa3dd0, 0x2689e46e, 0xd7fe2698, 0x10401104, 0x034010c5, 0x20139128, - 0x2c824bac, 0xb5b50b24, 0x00419e02, 0xf7fd210a, 0x0020108e, 0x03340082, 0xac006100, 0x61039f06, 0x2b001500, 0x00004b00, 0x30033025, 0x240eaa46, - 0x21070206, 0x13b14135, 0x87480520, 0x3c012d1d, 0x471270db, 0x0b2b0a12, 0x0b2b0b04, 0x6d250982, 0x01259525, 0x05c7414b, 0x83840126, 0x684a2696, - 0x28146148, 0x379e02b7, 0x9b2737dd, 0x82028227, 0x41c38308, 0x0b2007d6, 0x82174148, 0x00042acb, 0x06b70048, 0x005503b8, 0x22cd820b, 0x46290021, - 0x1b46183f, 0x1101280a, 0x35231123, 0x4d481521, 0x2928074c, 0xad292e2e, 0xad011402, 0x25070246, 0xc86c7b01, 0x0846fc01, 0x45c1200f, 0x022106ea, - 0x0579423e, 0x06207f82, 0x3408934f, 0x0027001e, 0x004e003d, 0x007e0058, 0x27220500, 0x37343526, 0x25018436, 0x020e3330, 0x944f0607, 0x4f172005, - 0x22240895, 0x0114011d, 0x5606944f, 0x06200a12, 0x212d964f, 0x974f010e, 0x7a033f12, 0x1037366b, 0x271d1d0f, 0x3b8a3128, 0x12123a55, 0x47110c0a, - 0x2f305131, 0xd96d6a6e, 0x924f09fe, 0x13042606, 0x12050c05, 0x12944f05, 0x144d1422, 0x2217944f, 0x4f0e3a0e, 0xfd350e95, 0x3c7f4242, 0x38363d3d, - 0x2d232f30, 0x2a2b5052, 0x35312f33, 0x13904f35, 0x1a691a22, 0x924f0282, 0xb62e2211, 0x15924f2e, 0x08200822, 0x3c0d934f, 0x18010600, 0xe80508ff, - 0x0b001405, 0x2d001700, 0x55004b00, 0x00005f00, 0x30113005, 0x22038233, 0x84153021, 0x500b8707, 0x353305c6, 0x3e373634, 0x17163201, 0x0614011e, - 0x27010e07, 0x82373632, 0x013d2b01, 0x27262734, 0x2223012e, 0x01820706, 0x2107bf46, 0xd14f1105, 0x6ccc2412, 0x82631101, 0xfd220803, 0x266a4210, - 0x26292926, 0x6b836a26, 0x2a2a2625, 0x416b2526, 0x16174026, 0x0d0c0c0d, 0x26401716, 0x0b873f28, 0xf4013f22, 0x250c8348, 0xfd9f02f8, 0x048460c1, - 0x2d57032b, 0x55822b2c, 0x2c2b8254, 0x2009832d, 0x2d0883a9, 0x19191b61, 0x692e2525, 0x1925252e, 0x0c8c1b19, 0x9f02562f, 0xfe6eb86e, 0x2c6a01f5, - 0x2c282e28, 0x82f08200, 0x06ac33ff, 0x006103f5, 0x00300012, 0x0044003a, 0x2500004a, 0x40502e22, 0x07494f06, 0x112fe6af, 0x15211133, 0x6a422c01, - 0x4c29294c, 0x8541426a, 0x21e09b07, 0x6449665d, 0x02220808, 0x10016d13, 0x82572dac, 0x58825454, 0x82582d2d, 0x2d5782a8, 0x191a1b60, 0x6a2e2425, - 0x1925242e, 0x0c8c1b1a, 0x6d505520, 0x02c1280e, 0x60c2fd9e, 0x82040000, 0x06ac2ccb, 0x006103b6, 0x00220013, 0x4366002d, 0x302306d3, 0x88213015, - 0x30112603, 0x32333001, 0x24e88317, 0x2b060701, 0x05ba5201, 0x2b262724, 0x4d581101, 0x077e5106, 0x27262724, 0x0282012e, 0x37343522, 0x230d8051, - 0x17141506, 0x08068051, 0x07060724, 0x014a010e, 0x01cafea3, 0x01edfe13, 0x3441edc3, 0x29294a34, 0x4134344a, 0x5c4beded, 0x804b2e2e, 0xde45dc02, - 0x2a242705, 0x4140372b, 0xdf451717, 0x11112405, 0x4535563d, 0x2b0807e0, 0x3f3a384a, 0x3c361a1a, 0x10115d65, 0xb759201f, 0xba609e02, 0x02dcfe60, - 0x5415159e, 0x547da87d, 0x5e601515, 0x2f5b6c5b, 0x6b22fe2f, 0x210ad645, 0x5a511717, 0x24242107, 0x08095b51, 0x2a2c2f29, 0x0c0b1514, 0x2f515c13, - 0x1c1b2627, 0x0400001d, 0x63008f00, 0xa9037106, 0x2f001500, 0x43003900, 0x30250000, 0x50333001, 0x535a06ec, 0x02062806, 0x32210107, 0x49141516, - 0xdf840bd4, 0x37212322, 0x4f08a252, 0x012e0906, 0x8dedfea2, 0x0f165916, 0x0f050b36, 0x09820b38, 0xb92f8937, 0x01c2012f, 0x1b776873, 0x19193429, - 0x1b1a1f1e, 0x1c111024, 0x06f54e1d, 0x4e3c3c21, 0x633407f3, 0xfe454603, 0xc53645ec, 0x25c83729, 0x45140145, 0x8cd2fd8c, 0x3605e44e, 0x0703142a, - 0x170b0b01, 0x32354918, 0x21202d2c, 0x33377525, 0x4e373429, 0x013409e3, 0x0508ff32, 0x001405ce, 0x00330026, 0x008a0078, 0x0500009b, 0x202ec44e, - 0x41d14a01, 0x27012e32, 0x11231123, 0x011e1333, 0x33113317, 0x35212311, 0x0e260482, 0x27260702, 0x10823736, 0x02153008, 0x3d573870, 0x222c1010, - 0x902a5523, 0x222d2d39, 0x0c171721, 0x0a010501, 0x1f31251c, 0x1e35472b, 0x35573d22, 0x7542423a, 0x44024141, 0x4a393b3f, 0x13210888, 0x06884a34, - 0x230a0b22, 0x0807884a, 0x1f1f233c, 0x2f362c2c, 0x0f293747, 0x0e0e0d4f, 0x1d2d1211, 0x4045413e, 0x08b2fd47, 0x68030e34, 0x340edb79, 0x79670308, - 0x08bc4301, 0x123e3417, 0x56554002, 0x25f8a3a5, 0x3c303044, 0x284f8149, 0x1447080d, 0x1d0f1b24, 0x332f4d36, 0x59223c53, 0x3c0d3d3e, 0x0d3c3f3f, - 0x3d013e3d, 0x2e072935, 0x0a262b31, 0x14160a2a, 0x09091e14, 0x28402d17, 0x271a1a20, 0x06050619, 0x15140e0c, 0x482c2538, 0x0e0e1a1a, 0x172b2115, - 0x4a10153f, 0x35080659, 0x035c3633, 0x1b63104a, 0x9e0200fe, 0x631b8dfe, 0xfd010210, 0xf5015a62, 0x13433818, 0x5d5c3a02, 0x005abcfd, 0x001b0003, - 0x03e506ac, 0x00390061, 0x007f005c, 0x47492500, 0x0568430d, 0x26272622, 0x54106943, 0x07260aea, 0x010e0706, 0x1d472221, 0x013e2305, 0xd0513233, - 0x5636200f, 0x22a2055b, 0x54100127, 0x320d2a77, 0x0570490c, 0x2c069143, 0x11113131, 0x4c36573c, 0x0c273837, 0x0b734933, 0x10112308, 0x025a1f1f, - 0x13958429, 0x68252413, 0x22765742, 0x120f3d0f, 0x584e3a48, 0x4c3c4e58, 0x0f3a0f12, 0x1e9e7922, 0x430b8b49, 0x2e2306b4, 0x432c512e, 0x17230bb5, - 0x552a2d17, 0x272d0611, 0x1d1c1b26, 0x4154a9b1, 0x2e2c2c40, 0x053b4e4d, 0x200a0051, 0x281a9a52, 0x00050000, 0x06ac0050, 0x092b55b0, 0x55400021, - 0x0122342b, 0x02823521, 0x15212808, 0x21070206, 0x603d5401, 0x23232222, 0x79602222, 0x24244460, 0x483c6044, 0x4f904e4e, 0x01de014f, 0x2c2b5709, - 0x57a35757, 0x032e0589, 0x0141fe60, 0x01cdfe42, 0x36d636a6, 0xd9544c01, 0xfd2a082b, 0xea015bbc, 0xfe525b59, 0x070052ba, 0x08ff2e00, 0x1405d206, - 0x33001c00, 0x53004700, 0x73005d00, 0x00009100, 0x30070637, 0x034c3015, 0x30113205, 0x36373633, 0x06333037, 0x17121607, 0x01012e23, 0x0ae54511, - 0x230cf145, 0x33302726, 0x20062949, 0x22cf8233, 0x57013011, 0x2e21187d, 0x2df34701, 0x42f73608, 0x046d6d1a, 0x5a5a1848, 0x32ae417f, 0x278316ba, - 0x01a50192, 0x01c0fead, 0x01ddfe23, 0x74220140, 0x6d1b7c73, 0x6c1b031b, 0xa418781b, 0x014afb2d, 0x65655e20, 0x075d505e, 0x14481720, 0x41230829, - 0x02d01e4b, 0x5cacfe9f, 0x4d6d6d1e, 0xe8fe4bce, 0xfee13d21, 0x609f02e2, 0x60c460bb, 0xcbcc0801, 0x8232c732, 0xfe292702, 0xf6fe4ee2, 0xf8476203, - 0xb5fd210d, 0x212d3748, 0x83620000, 0x0005358f, 0x0608ffca, 0x00140536, 0x0017000f, 0x00660033, 0x05000092, 0x2a11054e, 0x33300706, 0x012e0526, - 0x4e302327, 0x33260549, 0x011e1330, 0xe7493317, 0x30232106, 0x21106359, 0x62592726, 0x05ad5a0a, 0x230d6159, 0x33270226, 0x16214282, 0x078e5317, - 0x27069c53, 0x33373637, 0x23070206, 0x262f6c82, 0x07062327, 0x0207010e, 0x3afb3df8, 0x4e98266e, 0x30340770, 0x0230c631, 0x08340e19, 0xdb796802, - 0x030e3408, 0x5bfc7967, 0x48057c44, 0x2e35050e, 0x621e1e3a, 0x563d2262, 0x38374c36, 0x1a490327, 0x1f3a384a, 0x07eb4d20, 0x90015e08, 0x6e1a6a1a, - 0x18092e0d, 0x24080317, 0x0f360b0a, 0x0a360e79, 0x03092309, 0x6b232331, 0x7a1b6e1c, 0x1910390d, 0x19190219, 0xf80d3b10, 0x0170b6b6, 0xfe7070bf, - 0x3b027041, 0x34949494, 0xfd0f641b, 0xfe9f02ff, 0x1b640f8d, 0x61fd0102, 0x343d5703, 0x2b0b2f0c, 0x313a1616, 0x060b2e27, 0x06945905, 0x321b1a35, - 0x28224102, 0x2a2c1717, 0x130d0a2a, 0x4d2f515c, 0x830b1e36, 0xdb3b334b, 0x1e706f2d, 0xdc2b2998, 0x2bdc3c3c, 0xde259425, 0x5f83a2a1, 0x3fea3223, - 0x37008266, 0x0032ea3f, 0xff190104, 0x05e7050e, 0x001b000e, 0x0043003a, 0x25000057, 0x221a7d41, 0x54233021, 0x072405fc, 0x37013e23, 0x98430a82, - 0x010e2708, 0x01011e07, 0xc5433311, 0x41112007, 0x33200676, 0xb5432782, 0xcd360806, 0x030c320c, 0x0ddb7867, 0x68030c31, 0x7f3f0379, 0x021b6d1b, - 0x781b6b1b, 0x23249124, 0x1980238b, 0x1a021966, 0x24781a67, 0x9325248c, 0x016cd9fb, 0x26010111, 0x8043269a, 0x77230807, 0x81279a27, 0xfd185f17, - 0xfe9e02ff, 0x175f188e, 0x62fd0002, 0x2c2cb22d, 0xe5392db2, 0x36db3639, 0x8229a729, 0xda363e02, 0x03e63936, 0xfd9e0229, 0x080160c2, 0x430f0144, - 0x3131c732, 0xfe4332c7, 0xf6fe43f2, 0x22008200, 0x82360106, 0x82ca20f3, 0x00142ff3, 0x002a001e, 0x00460032, 0x05000052, 0x57442330, 0x14152205, - 0x20cb8206, 0x0f195d17, 0x07232722, 0x50083065, 0x0221070b, 0x0e3f4f03, 0x21030222, 0x3a0b704e, 0x21016da3, 0x4142685a, 0x79186118, 0x85165a16, - 0x2f2e2aac, 0xb603ac29, 0x423bfa3d, 0x10340a66, 0x10c51040, 0x6e79fd40, 0x4811716e, 0x0a2b0b11, 0x0b2c0b04, 0x6e240982, 0x68016f70, 0x08099c4e, - 0x9e02f220, 0x5f485d6c, 0x2fbc2f14, 0x5b2db52d, 0x282e292b, 0x96fed52b, 0x0170b6b6, 0xfe6f6fbf, 0xfd507041, 0x59012506, 0x4f014f01, 0x240b554f, - 0xb1feb1fe, 0x07ae5402, 0x00020030, 0x066300aa, 0x00a90356, 0x0033001d, 0xd3412500, 0x51062005, 0xb641058d, 0x0516210e, 0x49050d50, 0x40080819, - 0x15303330, 0xa0760330, 0x04139027, 0x18966464, 0xbc3335c2, 0x7f20a017, 0x81200220, 0xbe179620, 0x2d018a33, 0x411c0aeb, 0x5003164f, 0xccce4195, - 0x20ed4163, 0x0127a7a7, 0x014f5333, 0xd0342426, 0x34028234, 0x4fdbfe24, 0x0271d7d7, 0x54461e72, 0xa1480217, 0x712bfd47, 0xe71e1000, 0x06348101, - 0x03ff2901, 0x1a05d705, 0x25000f00, 0x56004300, 0x7c007400, 0x4f11d353, 0x0120335b, 0x512ba14e, 0x022807a6, 0x01c76d67, 0x417301fb, 0x2107704f, - 0x824f6b82, 0x416b2205, 0x09794f27, 0x40272725, 0x820d1616, 0x16162c00, 0x41d0fd40, 0x29294c6b, 0x87416b4c, 0x41262107, 0x41341c87, 0x163f2826, - 0x0d0d0c17, 0x3f16170c, 0xc86ced02, 0x4c01fc01, 0x3605cf51, 0x2b2db7fd, 0x5554822c, 0x2d2c2c81, 0x812c2c2d, 0x2b2c82a9, 0x4e1a612d, 0x252106c0, - 0x05c04e24, 0x4e252421, 0x1a2406cd, 0x572d0103, 0x58232e83, 0x82582d2d, 0x8a57202c, 0x09c24f2b, 0x2205f94e, 0x52e8011a, 0x07360833, 0xfdfe3300, - 0x0905c106, 0x16000c00, 0x61003c00, 0x9c008600, 0xb95aa200, 0x0f8b6119, 0x2014f451, 0x06835a01, 0x5a010b21, 0x24a51a7f, 0x1614112c, 0x11353632, - 0x07141133, 0x934d020e, 0x5b112005, 0x0124063e, 0x2b2c5709, 0x2a08284a, 0x5e3aad02, 0x23232121, 0x612f2121, 0x1d5205b2, 0x390e3b0c, 0x0269200e, - 0x010501c3, 0x081f080b, 0x1f078282, 0x04010b08, 0x13786201, 0x10821248, 0x2007092a, 0x12471208, 0xc0fb6277, 0x0c202282, 0x82261d82, 0x081e0882, - 0x2283020c, 0x83491221, 0x08082522, 0x48120720, 0x01332282, 0x388e3864, 0x350c0c65, 0x36577f58, 0x36020c0c, 0x5af8f466, 0x20080fc1, 0x2a2b27b1, - 0x2a83b684, 0x2514132b, 0x20084a25, 0x5e323908, 0x5e53a153, 0x21093c36, 0x014f4a08, 0x05925aa8, 0x01f0fe23, 0x17905a10, 0xa1ff0421, 0x02320823, - 0x514efe9f, 0x01514d4d, 0x445efeb2, 0x1f413232, 0x3232411f, 0xfda20144, 0xfd9f0261, 0x00005abb, 0x4e010400, 0xb20503ff, 0x17001a05, 0x8b005100, - 0x9f529d00, 0x09bb5005, 0x5009d54a, 0x414d14aa, 0x0efe4823, 0x20297a4d, 0x10f14e01, 0x46850121, 0x0138095a, 0x2a76544b, 0x240c320c, 0x40362c2a, - 0x3b171742, 0x610a280a, 0x11103131, 0x2306d948, 0x1a0c330c, 0x29065362, 0x105d653b, 0x5a1f2010, 0x32848bfd, 0x2b230d23, 0x2e32862b, 0x31620a27, - 0x3c111131, 0x384c3656, 0x890d2837, 0x643c2132, 0x1f2b3282, 0xe2015b1f, 0x020d310c, 0x82db7968, 0x67032306, 0x9246f279, 0x3d0b3206, 0x0c2e0c34, - 0x3916162b, 0x17182731, 0x0207020b, 0x0d5e4d12, 0x17282225, 0x4d2b2c17, 0x03210b5e, 0x2133b162, 0x3c487e01, 0x00002f0f, 0xd0000200, 0x30065500, - 0x3400b703, 0xd94e4a00, 0x6a262010, 0x805c0566, 0x095e4a08, 0xc1631720, 0x43012008, 0x87080d35, 0x35022e27, 0x6a020211, 0x3f0f3494, 0x36352d0f, - 0x3a525044, 0x7b252549, 0x4c2a3d3d, 0x465e446b, 0x045b3146, 0x47465d21, 0x20212828, 0x747e4b44, 0x01704e29, 0x51c552f9, 0x4b111085, 0x3b3bae76, - 0x4d55214b, 0x0f3a0f40, 0x481b1c36, 0x0e3a313d, 0x3a170607, 0x59386539, 0x2121213e, 0x2a03513e, 0x381c1d32, 0x0d1a1a34, 0x65731810, 0x2544613a, - 0xfcfd5403, 0x6b6c6c6b, 0x11fe0402, 0x5744435c, 0x5816152b, 0xef015c86, 0x2d10db82, 0x393d0773, 0x0608ff0b, 0x001405f5, 0x0018000e, 0x0049002b, - 0x005d0053, 0x01000063, 0x505c3330, 0x5a2b2009, 0x2623067e, 0x4c11012b, 0x6b5c2ce2, 0x33113a14, 0x02152111, 0x6841ed76, 0x29292525, 0x41682525, - 0x5c4beded, 0xfe804b5c, 0x3a985b49, 0x2ba7013c, 0xa77e2a29, 0x2b292a7e, 0x6b5b5f60, 0x21fe5f5b, 0x572df702, 0x82545582, 0x07822d57, 0x0682a920, - 0x191b6129, 0x2f242519, 0x4c242f69, 0x0c8807bf, 0x2e0e825c, 0x9f02c0fd, 0x0061c2fd, 0x00040005, 0x56fc06ac, 0x59200aa7, 0x2034a756, 0x24bd4c05, - 0xc0560820, 0x0dae6b11, 0xc056a420, 0x4c962006, 0x07210574, 0x07744c83, 0x00676120, 0x2bd4560f, 0x4c13a73a, 0x124b1313, 0x1101effe, 0x13124a12, - 0x63fe134a, 0x9c279e02, 0x16591627, 0x08820282, 0x0062fd22, 0x03310082, 0xac002200, 0x6103de06, 0x33001b00, 0x00006c00, 0x1c415313, 0x4c15e756, - 0x2e211411, 0x10525901, 0x200fbc5c, 0x054d53d7, 0x320cdb28, 0x7968030c, 0xbc564001, 0x5c4c200a, 0x02212fb8, 0x0a214b2a, 0x01021824, 0xa14b62fd, - 0x080f6e09, 0x0827b55c, 0x07000025, 0x03ff7c01, 0x1a058405, 0x5b003700, 0x75006800, 0xa9009c00, 0x0000d500, 0x0e213001, 0x36330701, 0x66023e37, - 0x012e0788, 0x22230607, 0x27012e27, 0x16372726, 0x17821e17, 0x013d3624, 0xb4662634, 0x013e2306, 0x5e662137, 0x07bf663a, 0x220d246b, 0x6b33011e, - 0x21211724, 0x60718235, 0x82820529, 0x07020e22, 0x3c829882, 0x16320223, 0x79018217, 0xc28206c9, 0x03213708, 0x03d7fe26, 0x0b06020c, 0x2b200d0d, - 0x364b2b1c, 0x3d10101f, 0x2d392c2d, 0x14342323, 0x0c4f1013, 0x2b230d0e, 0x41413b1c, 0x12342b3b, 0x040f3c0f, 0x7c010411, 0x5d666901, 0x3b3b3724, - 0x583717fe, 0x2c11103c, 0x29552323, 0x2d2e3890, 0x17162221, 0x7d6b010c, 0x221e2109, 0x08067d6b, 0x03414159, 0x2339fe50, 0x1b33248f, 0x1c323a1b, - 0x06141f29, 0x0b103f10, 0x4c381212, 0x1c1b5066, 0x2d190f0e, 0x1a201e1d, 0x52011a69, 0x9e274e01, 0x10101428, 0x361c0c17, 0x2a32314e, 0x10113d2a, - 0x16210a0a, 0x143e1815, 0x0d191110, 0x3a0b3a41, 0x02142141, 0xf93e0209, 0x6657fd3e, 0x0121374e, 0x0be66bd1, 0x2827262d, 0x352d2e28, 0x23140101, - 0x6b1d101b, 0x3f0812e6, 0x207f2068, 0x2e2a2a2e, 0x1138310c, 0x0616271c, 0x1d200619, 0x1e1b2e1d, 0x25241b1a, 0x3e45282b, 0x171c1c1c, 0x0000175a, - 0x7b010600, 0x850503ff, 0x28001a05, 0x6c003600, 0x9f009200, 0x0000ca00, 0x680c4068, 0x2522263f, 0x83420621, 0x013e2418, 0x5f031e37, 0x83420634, - 0x13362306, 0xa75e2521, 0x196b6d14, 0x36352122, 0x42068861, 0x52201e45, 0x35054568, 0x22225a39, 0x04030d2c, 0x260e0e0a, 0x242b1f30, 0x111e3424, - 0x44681e11, 0x3d450805, 0x3bec1010, 0x3a3b4141, 0x34034242, 0x0c05d6fe, 0x0c0d0b07, 0x2b1d2a21, 0x101f364a, 0x2c2d3e0f, 0x23222d39, 0x10141335, - 0x0d0d340e, 0x1c2b221b, 0x3c40403c, 0x0e12342b, 0x12070f3c, 0x10fd7c01, 0x103c5838, 0x2c238211, 0x38902955, 0x22212e2d, 0x030c1716, 0x07c76d03, - 0x2205cd5e, 0x42754141, 0x6b250549, 0x1c1b336b, 0x0548423b, 0x42400f21, 0x1c2e0748, 0x190f0e1b, 0x201d1e2c, 0x011a691b, 0x3068b352, 0x49f2222d, - 0x147542a4, 0x0a2a0a24, 0x76422114, 0x0174230b, 0x3b42b901, 0x605f212d, 0x38243a42, 0x39000600, 0xc70608ff, 0x0f001405, 0x28001c00, 0x57003200, - 0x00007a00, 0x07d15805, 0x30133034, 0x17121633, 0x30272603, 0x30070623, 0x2e333007, 0x536e0101, 0x0f995315, 0x53132575, 0x16251473, 0x17011e17, - 0x05884433, 0x0423113c, 0x06240a1e, 0x0a2406e2, 0x2182c964, 0x0af12187, 0x0a0b0c0b, 0x290bb13c, 0x306e9bfc, 0x0230080d, 0x215d3bad, 0x21242421, - 0x3b2e2f21, 0x1f343355, 0x3f114a0d, 0x4c4c4434, 0x12433544, 0x1f0e380e, 0x01c4026a, 0x090c0105, 0x82820421, 0x0c092203, 0x623e0c82, 0x09373678, - 0x18080521, 0x15520517, 0x23f86277, 0x7f18187f, 0x709f0223, 0x017041fe, 0x008231e0, 0x8c24d324, 0x4e53a501, 0x2907211d, 0x3f124d53, 0xfe095216, - 0x081001f0, 0x4b141651, 0x0263fe12, 0x1975769f, 0x42420e5d, 0xfd2fb10b, 0x07000061, 0x2c086741, 0x00200016, 0x0035002a, 0x0064003f, 0x08077f87, - 0x15070623, 0x061c6c32, 0xa5710e20, 0x3d362305, 0xa3713401, 0x7301200c, 0x785613ff, 0x1e9b7605, 0x08227541, 0x01980222, 0x37504e10, 0x18171d34, - 0x16090a22, 0xfe223928, 0x25a766d5, 0xa7252626, 0x25252197, 0x3bfd9721, 0x3f507d41, 0x5459a701, 0x0c054841, 0x1c280b0b, 0x472b211c, 0x275a1c33, - 0x272c2c2b, 0x2b282457, 0x1d012329, 0x34518541, 0x01050000, 0x0503ff27, 0x001a05d9, 0x0034002a, 0x0071003c, 0x7314827d, 0x3e240959, 0x16323302, - 0x6a197176, 0x7b5410e7, 0x085e650e, 0x5d0d5d65, 0x0c5b0d7c, 0xf402210a, 0x261f8676, 0xfb3c7302, 0x6be56f3a, 0x402607ed, 0x4010c611, 0xea76b6fd, - 0x135d6b12, 0x215e6426, 0x2e015a3f, 0x2009d354, 0x0796768c, 0x762d5921, 0x652e0896, 0x10100808, 0x5d341f2f, 0xb6b69bfe, 0x345b9e02, 0x544e200b, - 0x2f210a51, 0x0ff3760b, 0x25098254, 0x4d2f515c, 0xfd6f1d37, 0x00003d09, 0xffcf0102, 0x04310516, 0x0021000e, 0x0500003b, 0x27222330, 0x35303526, - 0x2627012e, 0xb0420882, 0x17322f05, 0x011e1716, 0x07021415, 0x32273315, 0x9874013e, 0x022e2205, 0x08436f23, 0x021e2808, 0x558e7004, 0x88552728, - 0x191b2f2f, 0x5039383e, 0x5050c450, 0xbb3e3839, 0x3af09aa0, 0x13124460, 0x60441213, 0x855f3b3a, 0xea5f3109, 0x4c492b2c, 0x41414d0b, 0x7f735c5b, - 0x224142c2, 0x41340082, 0xe17fc242, 0x671cfcfe, 0x374c28f2, 0x459e4537, 0x284c3737, 0x002f0a8a, 0x00140003, 0x03ec06b7, 0x00130055, 0x6751003d, - 0x03200561, 0x4b0f5f61, 0x03220694, 0x53580330, 0x23302307, 0x2b6c1130, 0x2311230f, 0x01822130, 0x01303522, 0x23080584, 0x06153021, 0x30210702, - 0x1772cfe3, 0x170d175d, 0x2270175b, 0x0903228a, 0x0c010501, 0x82081e08, 0x071f0882, 0x36059744, 0x07124912, 0x08080820, 0x4812081f, 0x02627712, - 0x0141fe9a, 0x62cefe41, 0xb7320676, 0x9b010301, 0x3131c832, 0xfe4432c8, 0xfdfe45ee, 0x874b9d01, 0x097d6221, 0x04000028, 0xac004c00, 0xe382b406, - 0x1e001426, 0x5f002800, 0xdb5de583, 0x07a6421d, 0x4a011121, 0xb9203299, 0x2106e45d, 0xe45d6019, 0x2a2e2408, 0x681302ac, 0x03270756, 0x03d7fe58, - 0x4a07030c, 0x13212324, 0x06244a0e, 0xec5db720, 0x2e28270e, 0xfed52b29, 0x5a680296, 0x28402a06, 0x1014279e, 0x1d0c1710, 0x0fc54935, 0x49101121, - 0x00200ec5, 0x04300082, 0x03ff7401, 0x1a058c05, 0x7d004c00, 0xe000b400, 0x20171772, 0x06e24a17, 0x84060721, 0x1e152201, 0x05f24a01, 0x06220d84, - 0x11572223, 0x37272105, 0x22721782, 0x0a324b0c, 0x6b262721, 0x364b0659, 0x37012306, 0x55863236, 0x0e235485, 0x41210701, 0x01203368, 0x5149648a, - 0x5002211d, 0x08119267, 0x1d282862, 0x0a11101d, 0x1812120a, 0x331d1a17, 0x0b0b1313, 0x1f201111, 0x2f362c2c, 0x1c1b2423, 0x4f0f1514, 0x12111c0d, - 0x423d1d2d, 0x03474045, 0x2439fe80, 0x1c33238f, 0x321e1d1b, 0x0f0f2a1b, 0x10050a0b, 0x110b0f40, 0x26263713, 0x1c1b5166, 0x16190e0e, 0x201e1d16, - 0x011b691a, 0xfea7fd52, 0x030b03d6, 0x35089349, 0x100f1e37, 0x392d2c3e, 0x3423222d, 0x4e0f1414, 0x220e0d0d, 0x92491b2c, 0x3b0f2106, 0x2405074c, - 0x38fe5002, 0x07b34b24, 0x4b1e2a21, 0x4b2008b3, 0x18205e85, 0x7208b34b, 0x27081035, 0x16170b0c, 0x20291f21, 0x1414191a, 0x04060d0c, 0x14151a06, - 0x2c251c1d, 0x191a2424, 0x0a0a0e0e, 0x16151111, 0x22143e17, 0x20093d72, 0x09614b75, 0x111c1c26, 0x13140e0e, 0x2107644b, 0x654b0e0d, 0x44292305, - 0x664b1f1f, 0x46052105, 0x202b224c, 0x28bb4b62, 0x274f0420, 0x00552806, 0x002e000f, 0x5e8f0337, 0x3f6f135b, 0x26052624, 0x1d332702, 0x35461801, - 0x8a451822, 0xa638c915, 0x1826a65f, 0x20194a46, 0x3d461815, 0x37012215, 0x7745183d, 0x18149414, 0x9111b345, 0xa638a611, 0x215fcc26, 0x46183335, - 0x0128103f, 0x01b2663a, 0x6b0601c9, 0x2105f670, 0xf6702728, 0xeb012312, 0x46185f18, 0x012d4f03, 0x0c040e03, 0x0e040e04, 0x0e7c0e38, 0x18078239, - 0x28520446, 0x62196401, 0x390f7a18, 0x3a6b820f, 0x030e040b, 0x020f3d0f, 0x02bbfdfc, 0xfd595945, 0x7f4242b0, 0x373c3d3c, 0x71302f38, 0x3021077a, - 0x0a7a7134, 0x45104a20, 0x3b5503da, 0x05000000, 0xac004800, 0x6103b806, 0x2f001e00, 0x58004700, 0x00007000, 0x07010e01, 0x7a0ad76c, 0x332005c6, - 0xd96c1482, 0x243e7b06, 0x25a40520, 0x0f100139, 0x6c6c103d, 0x10401004, 0x7e1e791e, 0x2b289f28, 0x22832bad, 0x7a630288, 0x062718d2, 0x100f0706, - 0x9e520231, 0x01220820, 0x124612f0, 0xfe9e02cf, 0x145115ac, 0x2f249125, 0xfe412fbc, 0xd13441fe, 0x592ef0fe, 0x52534040, 0x797a4140, 0x341b3506, - 0x2c762b49, 0x1b1b3448, 0x2c242434, 0x23252b76, 0x5c1b1a1b, 0x002224a3, 0x934e0600, 0x002f3a08, 0x00630042, 0x0098008d, 0x050000a0, 0x35302130, - 0x37363730, 0x35303536, 0x0adb4934, 0x3e37362a, 0x011e3201, 0x14151617, 0x2505814a, 0x07010e07, 0x2a560521, 0x34352105, 0x37211d82, 0x06937c36, - 0x554d3d83, 0x27262105, 0x22200182, 0xdd752f85, 0x17162305, 0x42180116, 0xf74e0851, 0x79122022, 0x03240cf2, 0xd639fe45, 0x55091153, 0x1c2c055a, - 0x50664c1c, 0x0d0f0e37, 0x1d17160c, 0x26061353, 0x2e3f4901, 0x820e3c2e, 0x3c230800, 0x7c3f2e2e, 0x227c7676, 0x0f101819, 0x07060607, 0x1918100f, - 0x0f191845, 0x07070610, 0x190f1006, 0x4f89fe18, 0x7426200e, 0x6e3afb3d, 0x0f4f7272, 0x68f22c0c, 0x292a2ebf, 0x38310c2f, 0x49261d11, 0x172a06c3, - 0x351e1b17, 0x282b2524, 0xc3492223, 0x17672207, 0x072e7c18, 0xb7181733, 0x5cb6b8fe, 0x1a1a0e0e, 0x752d2423, 0x1a24242c, 0x29a1821a, 0x231b1a0e, - 0x2d752c24, 0x0e832324, 0x4f770321, 0x01231f2d, 0x4f4f014f, 0x20080a2f, 0x06000000, 0x68fe0c01, 0x0e05f405, 0x39001f00, 0x4b004100, 0x6f005500, - 0x30010000, 0x3d262223, 0x14fd4e01, 0xfd4e0620, 0x07f6671a, 0x87770120, 0x18052012, 0x080d6541, 0x1123112e, 0x36331333, 0x23113337, 0x395fe502, - 0x1f5b3835, 0x2a121120, 0x35362526, 0x26353682, 0x6b7c2926, 0x4027a167, 0x0c0c0d2d, 0x27402d0d, 0x0c2d0982, 0x2d0c0d0d, 0x6ded0240, 0xfbfb01c7, - 0x0cff793b, 0x0515042b, 0x19092309, 0x62181862, 0x39088219, 0xb4806705, 0x7b595a06, 0x3a68fe67, 0x34073231, 0x3e3d2b2b, 0x2c81554c, 0x0082172b, - 0x812c2b3d, 0x13ad9655, 0x331aa245, 0x6a2d2525, 0x3324252e, 0x24331b1b, 0x2d6a2e25, 0x67332525, 0x012108ec, 0x09e27624, 0x282e292d, 0x49123e2b, - 0x2db32c12, 0x822cb32d, 0xfffd3908, 0xabfe9e02, 0x62fdaaab, 0x02000000, 0x55008500, 0xb7037b06, 0x4d003400, 0x41357f64, 0x3d08131a, 0x23113313, - 0x9469b701, 0x103e1035, 0x4435362c, 0x49395151, 0x3d7a2526, 0x6c4c2a3e, 0x45465f43, 0x21035b31, 0x2848465d, 0x44212027, 0x29757e4a, 0xfa03714e, - 0x0b2c0b06, 0x24238113, 0x08821381, 0xa1820627, 0x9ae007e1, 0x2d8c6482, 0x178f022a, 0xec22175a, 0x22ec4040, 0xfd380882, 0xfe46037f, 0xfcaa0156, - 0x030000ba, 0x6300b600, 0xa9034a06, 0x15000b00, 0x2119ad7b, 0xd5760109, 0x01b63c11, 0x7f7f7468, 0x34d8e174, 0xd8343939, 0xedfe5a03, 0x1758178c, - 0x050f370a, 0x820a380f, 0x2e883409, 0x03632eba, 0x89e68946, 0xc501b2fe, 0x323a3236, 0x7631fd36, 0x252205a1, 0xa17637c8, 0x8200200a, 0x071b5000, - 0xbf456120, 0x457e2006, 0xce4e46bd, 0x15210834, 0x6d0f3d10, 0x4010036d, 0x1e781f10, 0x27a0287f, 0x832bac2b, 0x63028722, 0x0f3b5c3f, 0x3b0f0e0e, - 0x0543445c, 0x0d1f3128, 0x45311f0d, 0x3b441f31, 0x03312205, 0x3250501a, 0x213edf45, 0x7150ef01, 0x01053a2c, 0x0503ff5b, 0x001a05a5, 0x003e0034, - 0x00810048, 0x050000a2, 0x36272622, 0x079f7937, 0x25103f54, 0x012e0702, 0x3f542223, 0x654b180f, 0x69458914, 0x59762901, 0x0eb1570d, 0x0e17162a, - 0x55500201, 0x26252a76, 0x2314c77f, 0x091e1a0b, 0x210dc87f, 0x45442d01, 0xacb33505, 0x2a2e2e2a, 0x542cfeac, 0x25262b76, 0x372b2a24, 0x16184240, - 0x21114069, 0x4069190d, 0x0574760e, 0x24252108, 0x75584169, 0x112e2d22, 0x584e3b48, 0x4b3d4e58, 0x224d0a13, 0x343dfd79, 0x162b2323, 0x27313916, - 0x230e8c54, 0x081b160a, 0x18128d54, 0x2507bf4b, 0x2b282e29, 0x3d891801, 0x08265069, 0x55a9b12a, 0x2c2d4040, 0x194b4d2d, 0x6a393019, 0x695d665d, - 0x2f06313e, 0x00005249, 0x2e000400, 0xd206b700, 0x0f005503, 0x36002700, 0x15e74118, 0x2015d55e, 0x182d6113, 0xc86c6225, 0x5570fc01, 0x832b09ad, - 0x256940ed, 0x25282825, 0x60406925, 0x812005f6, 0x09e84118, 0xbb700220, 0x9e022705, 0x7d2a2a2a, 0x05827da8, 0x5b5e6027, 0xfe5e5b6c, 0x2d9e8222, - 0x4b010600, 0xb50503ff, 0x15001a05, 0xab821e00, 0x6e004930, 0x0000d801, 0x30353005, 0x36353021, 0x3d743712, 0x30152e05, 0x30153023, 0x30333025, - 0x0e233011, 0x07145e01, 0x44183e20, 0x012008d3, 0x23073d48, 0x0622012e, 0x2407197e, 0x2201021e, 0x08006a26, 0x2206816d, 0x181d0607, 0x2b0e8146, - 0x23113335, 0x0f15010f, 0x0d0f150e, 0x08820584, 0x05270b91, 0x3727012e, 0x840b3f35, 0x840a2002, 0x200b8805, 0x3c179306, 0x33113307, 0xfea10215, - 0x2db52dc9, 0xfe5c5c8e, 0x2307dbbf, 0x3eaf028e, 0x0f0e3c5c, 0xbd44181d, 0x82072009, 0x0f0f2600, 0x10314531, 0x3909820f, 0xfd311f07, 0x279683ee, - 0x58416849, 0x0f213b3b, 0x4811103c, 0x2d2c4d3b, 0x49182c2d, 0x2f230ad8, 0x400108bc, 0x0b229900, 0x9cd20b2c, 0x53d20220, 0xa6010124, 0x4a18f2a3, - 0xfe290ea5, 0x40582fe2, 0x83515241, 0xaa451858, 0x25243b07, 0x252b752c, 0x1c1a1a24, 0x241a1a1c, 0x2c752b25, 0x1c332425, 0xa9b10603, 0x48188055, - 0x342c0f61, 0x2309313e, 0x29294909, 0xf5015a0b, 0x54d0b1d4, 0x0a280a22, 0x508953d0, 0x8655b641, 0xbcfd235f, 0x0082005a, 0x00023508, 0x065f025c, - 0x007105a4, 0x001b0003, 0x15211300, 0x37270121, 0x15333517, 0x33071737, 0x07172315, 0x35231527, 0x23372707, 0x48065c35, 0xc204b8f9, 0x3c8c2a8c, - 0xc6210382, 0x240887c6, 0x0246a502, 0x84118c22, 0x0000261a, 0xff5c0001, 0x225b8225, 0x821400d6, 0x32380859, 0x053e012c, 0x2e341135, 0x23022c03, - 0x34019d5c, 0xc7f60501, 0x2e5b7fad, 0xccaa6f3c, 0xe5fef8fe, 0x02ada9fe, 0x725633a5, 0x667a837e, 0x4ff90e47, 0x907d5b15, 0x3e688691, 0x0124478d, - 0x2e012c22, 0x3e204783, 0x33274782, 0xfe9da406, 0x89fbfecc, 0x08012548, 0x57011b01, 0xef824896, 0x2a000532, 0xd60638ff, 0x04009405, 0x44004000, - 0x08014b00, 0x302b9b82, 0x04210721, 0x07030e22, 0x5707040e, 0x352e06eb, 0x32333634, 0x32041e17, 0x3e37033e, 0x0c833704, 0x16171624, 0x1e831415, - 0x03032e39, 0x01211521, 0x25052315, 0x34253523, 0x3233023e, 0x32361716, 0x8217031e, 0x06142126, 0x36210583, 0x25058332, 0x37013e17, 0x4782033e, - 0x40843620, 0x1e222883, 0x0c863101, 0x33231784, 0x83021e32, 0x215b8529, 0x61851415, 0x2e272629, 0x35343501, 0x8327022e, 0x010e2e6e, 0x0e272223, - 0x22060701, 0x0e070627, 0x830c8603, 0x82022006, 0x83b0840e, 0x21038626, 0xba82022e, 0x34273b08, 0x0e35010e, 0x27262701, 0x35161726, 0x37062734, - 0x23363734, 0x015c2622, 0x62fe46e4, 0x6154e004, 0x0f2f4f50, 0x403c1507, 0x4b522c5b, 0x354da793, 0x1b151d08, 0x4f2f0f0f, 0x1b9a6150, 0x01ddd408, - 0xfe62fee4, 0x00019610, 0xfc960001, 0x240e047a, 0x0b1b131a, 0x0c171f0e, 0x11020208, 0x0211151b, 0x38040706, 0x1010072e, 0x10020c0e, 0x0c060308, - 0x090a0c13, 0x39530b06, 0x2c040d13, 0x180c1128, 0x0c2f411e, 0x040d151d, 0x13241a0e, 0x1e271420, 0x0a11140c, 0x2f090909, 0x012c2149, 0x0f121a13, - 0x06100418, 0x1425210f, 0x192a100f, 0x2410171c, 0x0d210912, 0x1a132e0e, 0x0718133b, 0x380d0607, 0x1b0e2909, 0x0d111a14, 0x07122f34, 0x11191008, - 0x10160b0a, 0x171c1010, 0x0c22180f, 0x1108221a, 0x01030d16, 0x27061716, 0x01021a03, 0x03011008, 0x07080201, 0xb9021a12, 0x422fbb6e, 0x09173c52, - 0x4b424a1d, 0x4ea72d18, 0x150f0d4d, 0x3c17161d, 0x972f4252, 0x01900818, 0x25016e58, 0xfaf0f0fa, 0x291d0da0, 0x071b151a, 0x111d110e, 0x3a26170e, - 0x0d0c020b, 0x37050507, 0x100b0910, 0x0c080409, 0x41040d67, 0x373b1f27, 0x070e1860, 0x17121d11, 0x0f150926, 0x43520110, 0x12043804, 0x08340105, - 0x0c101711, 0x030b122d, 0x423e0804, 0x1d2f070b, 0x450b2411, 0x1c141110, 0x0e1d0f33, 0x4d0a5d09, 0x0c18180c, 0x17022d41, 0x08172116, 0x1b0c1105, - 0x05222614, 0x0319220e, 0x0c020717, 0x0502030c, 0x02041102, 0x01040202, 0x02240382, 0x00171a07, 0x0807b343, 0x0b004925, 0x00000f00, 0x15331501, - 0x35231523, 0x35333523, 0x21152101, 0xb4b49805, 0xfbb4b464, 0xf9480628, 0x834905b8, 0xb464380b, 0x00465cfd, 0xff530005, 0x058b063f, 0x000600a6, - 0x002c0028, 0x82370030, 0x3311293d, 0x1133010b, 0x27072327, 0x03200183, 0x0b260584, 0x021b3502, 0x01821737, 0x05841320, 0x21331729, 0x022b1533, - 0x85373335, 0x042e082d, 0xcecea0a1, 0x4ac936a0, 0x2f303f33, 0x373a3a3f, 0x36103119, 0x37272737, 0x19311036, 0x3f3a3a37, 0x333f302f, 0xf201c94a, - 0x73bc8a8a, 0x2c838873, 0x08024708, 0x2201b001, 0x50fedefe, 0xa93ed63a, 0xfee3cd72, 0x6a8b54fc, 0xd4fe92df, 0xeb010401, 0x01eb0189, 0xb7affe04, - 0x548b6adf, 0xcde3fcfe, 0xd63ea972, 0xfe3a6161, 0x01defe50, 0x00b00122, 0x5c000300, 0xa40637ff, 0xbb82e005, 0x3b000d22, 0x2326b783, 0x11230109, - 0x06841103, 0x012f0122, 0x0585bf85, 0x0f840f20, 0x1f020f22, 0x3f23c482, 0x85011f01, 0x280586c4, 0x01c83403, 0xc8140114, 0x3d068598, 0x7238d802, - 0x484b604e, 0x545a5a60, 0x54184b27, 0x4b394b45, 0x39155a36, 0x15392525, 0x0c82365a, 0x18544531, 0x5a54274b, 0x4b48605a, 0x01724e60, 0x84fcfe5d, - 0x02042294, 0x83b9825d, 0xfc3008d1, 0x381bc8fe, 0x512d4204, 0x37216659, 0x8448582a, 0x4b645a70, 0x438f523b, 0x8f4a656c, 0x644b3b52, 0x4884705a, - 0x21372a58, 0x2d515966, 0x00380442, 0x023b0082, 0x22ff4b00, 0xd005b506, 0x2a000900, 0x15050000, 0x2115012d, 0x35010d35, 0x8b171301, 0x8d3f20ad, - 0x070324d9, 0x836d0103, 0x2604227e, 0x087a8201, 0x4ed3fa26, 0x621f6d6e, 0x75756d32, 0x7d615e7d, 0x49499466, 0x617d6694, 0x75757d5e, 0x1f62326d, - 0x3e4e6e6d, 0xa0cecea0, 0x33080383, 0x7efe5403, 0xb073eccd, 0xcc426e54, 0x8459a1b2, 0x35369931, 0x59843199, 0x42ccb2a1, 0x90b0546e, 0xfecd0901, - 0x0200007e, 0x6bff5e00, 0x7a05a206, 0x1f000b00, 0x300e5b42, 0x27032703, 0x1127020b, 0x37021b37, 0x21133713, 0x06694215, 0x87c7fe21, 0x21868774, - 0x7742a702, 0xf0fc3307, 0xfe629dfe, 0xbefeb2f7, 0x67fe6501, 0x84070584, 0x098267fe, 0xfeb2be2f, 0x9dfe62f7, 0x00030074, 0x063fff53, 0x069342ae, - 0x00002f2c, 0x0d352113, 0x03213501, 0x07412115, 0x05804205, 0x35021b22, 0xa0427982, 0x03072109, 0xcb202685, 0x22075442, 0x42450355, 0x3b21068c, - 0x0b8c4236, 0x423b3621, 0x9620068c, 0x28074b42, 0xcea00304, 0xfcfea0ce, 0x26864261, 0x839bfe21, 0x8200202f, 0x00042600, 0x065effc8, 0x2dab8238, - 0x000f0003, 0x001f001b, 0x21352500, 0x7f430315, 0x2e0b8b0b, 0x04112311, 0xb4cc016c, 0xb464b4b4, 0x84c0fcb4, 0x31022706, 0x6464a05a, 0x95439c04, - 0x5cfe2105, 0x02250785, 0x06b8f90e, 0x21628248, 0x8f470100, 0xa5023105, 0x00000300, 0x21152113, 0xf948065c, 0x46a502b8, 0x05281c82, 0x08ff5701, - 0x1405a905, 0x392e7d82, 0x65004500, 0x00008f00, 0x11333505, 0x715e0623, 0x11332a05, 0x14011533, 0x07020e07, 0x058b5523, 0x82012e21, 0x020e211a, - 0x12525018, 0x50180420, 0xe84b0a86, 0x0d146308, 0x1e373628, 0x07061701, 0xce672506, 0x2726210f, 0x3210136a, 0x15210706, 0x07bc9c01, 0x2c0b3765, - 0xa56e3d0b, 0x671c02a3, 0x382c05da, 0x2d22215b, 0x0104020d, 0x250e0f0a, 0x12205018, 0x75d9fe32, 0x41754242, 0x958456fe, 0x41694926, 0x5b227657, - 0x1806104e, 0x0808aa52, 0xfee2025f, 0x3307cf39, 0x323b1b1c, 0x151e2a1b, 0x0a332c05, 0x4c371312, 0x1b1c5066, 0x2c190e0f, 0x4f201e1d, 0xf852014f, - 0x6bf5015b, 0x0a270a3b, 0xbcfd7743, 0x49a5015b, 0x556b4140, 0x284d2a1b, 0x01365929, 0x12121401, 0x0e0f101a, 0x31304c37, 0x1e1e2a2b, 0x44131221, - 0x3e923030, 0x3f3c0e3c, 0x3104823f, 0xa9b2ca01, 0x2d588154, 0x2f314b4d, 0x655d6a39, 0x8b4a6a5d, 0xb8682f08, 0x2a292f07, 0x38310c2e, 0x16271d10, - 0x9f691411, 0x1d1b390d, 0x5c43441c, 0x04000000, 0x08ff2e01, 0x1405c705, 0x35001300, 0x86004d00, 0x23130379, 0x30013011, 0x2310b552, 0x13303330, - 0x11220386, 0x21822330, 0x6d15514e, 0x01213727, 0x088e612e, 0x0905c437, 0x62180923, 0x18621819, 0x05082409, 0x06b38168, 0xfc687bb4, 0x3b3a6d2b, - 0x9f02f832, 0xfe60bb60, 0x120102dc, 0xb32d1248, 0x2db32c2c, 0xfd2b0882, 0xfe9f02ff, 0xfd5501ab, 0x84620361, 0x61c32220, 0xc441180b, 0x7817200a, - 0x450805ec, 0x242c515c, 0x1a1b3124, 0x2d0b321b, 0x2e28220b, 0x15152a2c, 0x5c130d0a, 0x27262f51, 0x001e1b1b, 0x006c0001, 0x049406d4, 0x00440030, - 0x16320100, 0x0e071415, 0x23060702, 0x27052e22, 0x23262726, 0x07060722, 0x1083010e, 0x35264508, 0x37363734, 0x3233063e, 0x1617051e, 0x32331617, - 0x3f013e37, 0x06023e01, 0x072a1e4c, 0x3266240b, 0x522a6e72, 0x362f4442, 0x2149131b, 0x43305d70, 0x10125946, 0x1e14110d, 0x0a04122a, 0x30381c14, - 0x264d4043, 0x3108218b, 0x572a4832, 0x0b031615, 0x2aca021f, 0x160f111e, 0x72329341, 0x39472a1e, 0x84242e55, 0x4643a831, 0x08151e98, 0x1c1e2a0a, - 0x22110614, 0x443a522e, 0x1d891d2a, 0x7c2a4828, 0x0e072828, 0x00820013, 0x1e00033e, 0xce0649ff, 0x0b00cc05, 0x4e002b00, 0x14040000, 0x22212306, - 0x33363426, 0x22253221, 0x0127b883, 0x3233013e, 0x82210117, 0x82e28203, 0x012729de, 0x09272221, 0x13010e01, 0x0620f384, 0x1582e682, 0x82012f21, - 0x3336252c, 0x03011f32, 0x17210885, 0x08e48213, 0x1d0b0238, 0x159ffe15, 0x01151d1d, 0x8afe1561, 0x01021d15, 0x111a0561, 0x82010f19, 0x0f1c8c01, - 0x1d078d01, 0xfe0f1c15, 0x1977fe82, 0xfeaafe0f, 0x9a1a05bc, 0x011a0f0a, 0x54820301, 0x05055408, 0x0a0f0fd2, 0xa38b0505, 0x0e0a0f03, 0x0111a408, - 0x1d2a700e, 0x5d1d2a1d, 0x0707151d, 0x1410a604, 0x18effd15, 0x0e0c80fd, 0x02181d15, 0xd4011568, 0x1410bbfb, 0x0a0f4a05, 0x0403e101, 0x02040407, - 0x0a10075b, 0x013d020f, 0x0a070615, 0xe9fe0c0f, 0x840d0995, 0x844620f3, 0x841420f3, 0xad5020f3, 0x830120f3, 0x010f22f3, 0x24e98225, 0x07141516, - 0x06734b05, 0x30012f25, 0x82272623, 0x363726f8, 0x0336013f, 0x20f5829c, 0x23f5846f, 0xf9fc1591, 0x033ef5a2, 0x040f0a52, 0x042d0148, 0x110f0a04, - 0x0d89c7fe, 0x05070a0f, 0x030501ba, 0x02010104, 0xf7a3076c, 0x0b0e033d, 0x68790607, 0x120b0e01, 0x074d6d05, 0x030f0a0f, 0x06050369, 0x02040408, - 0x8a0cb403, 0x84b020f7, 0xae5220f7, 0x363421f7, 0x1322f982, 0x06833736, 0x06071424, 0x04822707, 0x83222321, 0x262722f4, 0x06f14131, 0x05171623, - 0x20f98241, 0x23f9845b, 0x54fb15a5, 0xb32ef9a3, 0x010f140f, 0x1408068d, 0x2196050f, 0xf1831202, 0x0607092b, 0x0f056b4f, 0x5a070d0a, 0x08faa337, - 0x0f0a8d29, 0x54fe0a0f, 0x0f0806bd, 0xc706090a, 0x0513052d, 0x06060101, 0x0906916a, 0x790a0f0a, 0x0300004a, 0x49ff4600, 0x4105e206, 0xec4135f3, - 0x07022206, 0x21098537, 0x854d010f, 0x23342105, 0x2406eb42, 0x0636011f, 0x20f982ce, 0x23f98473, 0xc7f9158d, 0x053ef9a2, 0x0a1206e6, 0x285f010f, - 0x0a0707a3, 0x07e00b0f, 0x07060708, 0x02620103, 0x06110a0f, 0xf8a22a4c, 0x9e045108, 0x040a0f11, 0x74e2fe04, 0x0a0f046b, 0x0493070e, 0x01070404, - 0x05040d01, 0xcc110f0a, 0x0000007d, 0xff7d0002, 0x0583067d, 0x000600b6, 0x01000012, 0x010b3711, 0x14001117, 0x01272206, 0x32363426, 0xcc050117, - 0xb7e2e2b7, 0x3e2c0d01, 0x1690fa16, 0x05350582, 0xfeb60570, 0xdffe469a, 0x01462101, 0x3e31fa66, 0x7005162c, 0x21058216, 0x4f8d90fa, 0x4f881f20, - 0x06140129, 0x2c312223, 0x41002701, 0x1626060f, 0x00011217, 0x5c891e05, 0xfe011f38, 0xbd14fedd, 0x017588fe, 0x291c1f2c, 0x57016c05, 0x12025201, - 0x6b8c2b1f, 0x2c1f1238, 0x01bdc605, 0x06ae0278, 0x242c1f07, 0xfe82fd1b, 0x0aaefea9, 0xc7842c01, 0xc7826020, 0xc7858320, 0x07110534, 0x1127011b, - 0x34262224, 0x32360137, 0x01071416, 0xc7837605, 0x8a1bfb21, 0x01a02bae, 0x21014666, 0xfe46dffe, 0xd8841d9a, 0xc583de83, 0x4f87c785, 0x00002f22, - 0xf0444f86, 0x37362605, 0x3637063e, 0x06e24324, 0x06070626, 0x07020e04, 0x06220282, 0x65860e07, 0xfcfa2808, 0x31062c1f, 0x3f232253, 0x4938402a, - 0xb6019227, 0x04034c01, 0x1d272c1f, 0xd0e2feb6, 0x1f3472a3, 0x532b2f46, 0x8c260833, 0x1f240881, 0xd7760e0f, 0x5699595a, 0x275d557b, 0x0120a892, - 0x2b1d1f2c, 0x5c431203, 0x3b649586, 0xd96f789f, 0x00191578, 0x04340082, 0x44ff4600, 0xb305ce06, 0x0e000d00, 0x30002000, 0x33010000, 0x270a7d45, - 0x03253123, 0x23010e01, 0x280a9d45, 0x16320109, 0x01071415, 0x23148606, 0x64ab0436, 0x280a5d45, 0xef6ffe87, 0x1a05bcfe, 0x0a954211, 0x31021529, - 0xfc0c2c1f, 0x82291649, 0xb7032406, 0x45ee0216, 0xa126094a, 0xbbfb4801, 0x66451410, 0x84fe2a08, 0x1f2c3002, 0x27fa1216, 0x22068323, 0x8223d905, - 0x010025a6, 0x0a004600, 0x1425a782, 0x00001f00, 0x1e2b4637, 0x10437820, 0x450a2022, 0x00201bd7, 0x13286f82, 0xed0654ff, 0x3f00ae05, 0x32267e82, - 0x011b1617, 0x03881737, 0x03170226, 0x27032707, 0x0b230482, 0x83270701, 0x03342503, 0x31060706, 0x2c081086, 0x37133703, 0x17373136, 0x1a323713, - 0x02013f01, 0x0239018b, 0x39393242, 0x39392c72, 0x3939173f, 0x7045278c, 0x4c393984, 0x39391f2f, 0x2413825e, 0x39393f6b, 0x20408246, 0x080e828c, - 0x39394824, 0x07247154, 0x55393958, 0x221a013d, 0xae05380a, 0x4bfd0239, 0x38384702, 0x8d010bfd, 0x61fe3838, 0x05825303, 0xcbfe2026, 0xfb0d5602, - 0x032a3282, 0x85fb9760, 0x65023939, 0x05826ffe, 0x24fdc831, 0x02083939, 0x6d5a37da, 0x3939cffd, 0x82fc6d03, 0xa005314a, 0x649efd06, 0xfc3838ec, - 0x9a01f5e3, 0x380b9f01, 0xe382d482, 0xffa02008, 0x056006ce, 0x00070032, 0x15212500, 0x35231121, 0x04940133, 0x7cbcfacc, 0x047846f4, 0x920078ec, - 0x35212c23, 0x044c0221, 0xfe74fb14, 0x86ac01cc, 0x29279625, 0x5c030403, 0x14fe2cfc, 0x279e6402, 0xa402bc28, 0x5cfde4fc, 0x279d1c03, 0x01740429, - 0xfc9cfdec, 0x9dd403a4, 0x2c052927, 0x54fe3401, 0x8c04ecfb, 0x33232796, 0x82112315, 0xe40527c7, 0x34fbf47c, 0xeb884405, 0xceff6428, 0x32059c06, - 0xd0821f00, 0x15163226, 0x01151014, 0x42058445, 0x112006ed, 0x2c09f442, 0x23198003, 0x16117d02, 0xfd152319, 0x21068320, 0x0c8483fd, 0x11e00233, - 0x19233205, 0xbd0ffdbc, 0x230e2202, 0xfd121c19, 0x2306828a, 0xdefd6a04, 0x02220d84, 0x7b410e76, 0x00642805, 0x049c063c, 0x861a00c4, 0x2262826b, - 0x87092722, 0x01303760, 0x09173236, 0x60063601, 0xfe0b2319, 0x123e1290, 0xc1fe51fd, 0x0d821f12, 0x82700121, 0xaf02330d, 0x02123f01, 0x131923bc, - 0x19f8fd10, 0xfecb0319, 0x0c83193d, 0x19080228, 0x0135fc19, 0x648319c3, 0x000c0025, 0x84010096, 0x00012409, 0x861c000d, 0x0002240b, 0x863a0007, - 0x0003240b, 0x86900026, 0x8204200b, 0x86d32023, 0x0005240b, 0x8601010f, 0x00062a0b, 0x002b010c, 0x04010003, 0x82118209, 0x240b86af, 0x000e0002, - 0x240b862a, 0x004c0003, 0x240b8642, 0x001a0004, 0x240b86b7, 0x001e0005, 0x360b86e1, 0x01180006, 0x00460011, 0x00720075, 0x0061006e, 0x00650063, - 0x82490020, 0x826f2007, 0x00732e0f, 0x72754600, 0x6563616e, 0x6f634920, 0x200e826e, 0x201f8252, 0x202d8267, 0x282b826c, 0x52000072, 0x6c756765, - 0x21088261, 0x2f830046, 0x49827420, 0x49826f20, 0x45846720, 0x49823a20, 0x20205999, 0x202aef82, 0x38003200, 0x31002d00, 0x05823000, 0x05823220, - 0x33003230, 0x6f460000, 0x6f46746e, 0x20656772, 0x7f8c203a, 0x32280f82, 0x30312d38, 0x3230322d, 0xb6a82783, 0x90825620, 0x73007224, 0xa6846900, - 0x68822020, 0x74823020, 0x07842e20, 0x00003030, 0x73726556, 0x206e6f69, 0x2e313030, 0x10823030, 0x0e41b68d, 0x060d4111, 0x02000023, 0x20008b00, - 0x840c8b01, 0x8262200b, 0x01c80805, 0x03000200, 0x03010201, 0x05010401, 0x07010601, 0x09010801, 0x0b010a01, 0x0d010c01, 0x0f010e01, 0x11011001, - 0x13011201, 0x15011401, 0x17011601, 0x19011801, 0x1b011a01, 0x1d011c01, 0x1f011e01, 0x21012001, 0x23012201, 0x25012401, 0x27012601, 0x29012801, - 0x2b012a01, 0x2d012c01, 0x2f012e01, 0x31013001, 0x33013201, 0x35013401, 0x37013601, 0x39013801, 0x3b013a01, 0x3d013c01, 0x3f013e01, 0x41014001, - 0x43014201, 0x45014401, 0x47014601, 0x49014801, 0x4b014a01, 0x4d014c01, 0x4f014e01, 0x51015001, 0x53015201, 0x55015401, 0x57015601, 0x59015801, - 0x5b015a01, 0x5d015c01, 0x5f015e01, 0x696e7507, 0x30463045, 0x31200786, 0x32200786, 0x33200786, 0x34200786, 0x31210784, 0x21278530, 0x27853031, - 0x85303121, 0x30312127, 0x31212785, 0x20278730, 0x202f8635, 0x20078636, 0x20078637, 0x20078638, 0x20078639, 0x20078641, 0x20078642, 0x20078643, - 0x20078644, 0x20078645, 0x21078546, 0x07863031, 0x07863120, 0x31207f86, 0x31207f86, 0x31207f86, 0x31207f86, 0x31207f86, 0x31207f86, 0x31207f86, - 0x31207f86, 0x31207f86, 0x31207f86, 0x31207f86, 0x31207f86, 0x31207f86, 0x32217f86, 0x21778530, 0x07863132, 0x32207f86, 0x32207f86, 0x32207f86, - 0x32207f86, 0x32207f86, 0x32207f86, 0x32207f86, 0x32207f86, 0x32207f86, 0x32207f86, 0x32207f86, 0x32207f86, 0x32207f86, 0x33217f86, 0x21778530, - 0x07863133, 0x33207f86, 0x33207f86, 0x33207f86, 0x33207f86, 0x33207f86, 0x33207f86, 0x33207f86, 0x33207f86, 0x33207f86, 0x33207f86, 0x33207f86, - 0x33207f86, 0x33207f86, 0x34217f86, 0x21778530, 0x07863134, 0x34207f86, 0x34207f86, 0x34207f86, 0x34207f86, 0x34207f86, 0x34207f86, 0x34207f86, - 0x34207f86, 0x34207f86, 0x34207f86, 0x34207f86, 0x34207f86, 0x34207f86, 0x35217f86, 0x21778530, 0x07863135, 0x35207f86, 0x35207f86, 0x35207f86, - 0x35207f86, 0x35207f86, 0x35227f86, 0x00830038, 0xffff0126, 0x01000200, 0x0c200a82, 0x10220382, 0x0d821800, 0x04000022, 0x02220b82, 0x17840000, - 0x07820120, 0x00240985, 0x206855e0, 0xe02b0d83, 0x009ffffd, 0xe1000000, 0x05f47562, 0xeb1269fa, 0x0000006e, + 0x0000bc57, 0x00000000, 0x80780000, 0x00000400, 0x00010037, 0x000e0000, 0x00030080, 0x54464660, 0xc6b5a24d, 0x780000db, 0x28158264, 0x4544471c, + 0x00150046, 0x200f8214, 0x2b0f8348, 0x322f534f, 0x8152fa8c, 0x68010000, 0x562c0f82, 0x70616d63, 0xa9cb83cf, 0x78020000, 0xf82c1382, 0x20747663, + 0x6f043b00, 0x70040000, 0x04261f82, 0x70736167, 0x5982ffff, 0x40780022, 0x08380f82, 0x66796c67, 0x8f702faa, 0x24050000, 0xc86d0000, 0x64616568, + 0xffa6ff24, 0xec201b82, 0x36210382, 0x23108268, 0x05068209, 0x1f824b82, 0x68240029, 0x2b78746d, 0x82631583, 0x82c0200f, 0x6cb6281f, 0xda61636f, + 0x8232f636, 0x8274205f, 0x6db0270f, 0x00707861, 0x3b8203a1, 0x9f830120, 0x616e202b, 0x86ae656d, 0x0000ccc4, 0x30138372, 0x736f70e9, 0xa5410a74, + 0x740000b5, 0x030000d8, 0x2deb8468, 0x1e000001, 0x5f4d4a80, 0x00f53c0f, 0x4682070b, 0xe0000025, 0x839ffffd, 0x62e12b08, 0x80fc1b5f, 0x000768fe, + 0x0f82e005, 0x02000822, 0x02830582, 0x06213382, 0x29a68300, 0x80fc0007, 0x00070000, 0x16830100, 0x0420038a, 0x57251184, 0x0800bb03, 0x21008300, + 0x23830002, 0x40222583, 0x0b822e00, 0x072b0d82, 0x00900100, 0x04000005, 0x82e6048c, 0x85fa2011, 0x5c032b07, 0xcf015900, 0x00020000, 0x15820905, + 0x01210285, 0x84078510, 0x75462905, 0x40005472, 0x4de12000, 0x06208385, 0x04856a84, 0x3b208b84, 0x07202683, 0x03830482, 0x0280fc25, 0x82910009, + 0x0052220c, 0x2c798220, 0x003500a5, 0x0029004b, 0x006d0191, 0x349b8278, 0x00470060, 0x00170152, 0x004a000a, 0x0032018f, 0x004f001b, 0x2631822e, + 0x011801ca, 0x82a90036, 0x0028251b, 0x004d0133, 0x23829182, 0x22000338, 0x7a017c01, 0x39003900, 0xce012701, 0x4c001300, 0x22007301, 0x0d824700, + 0x85000b24, 0x0f82b500, 0x2e005b26, 0x5c004b01, 0x2a200184, 0x53200582, 0x4b320382, 0x53005e00, 0x5c00c800, 0x2e015601, 0x1e006b00, 0x01844600, + 0x85007d21, 0x82462001, 0x0000229f, 0x83058203, 0x861c2003, 0x00f222cb, 0x24098403, 0x0004001c, 0x2e1b82d6, 0x00080008, 0x00000002, 0xe1f4e020, + 0x84ffff4d, 0xe1f02609, 0xffffff00, 0x200b82e3, 0x222b8400, 0x820e0006, 0x0004260b, 0x00060005, 0x202f8207, 0x24b58209, 0x000c000b, 0x2617820d, + 0x0010000f, 0x82120011, 0x00142cb5, 0x00160015, 0x00180017, 0x821a0019, 0x001c22f3, 0x0893821d, 0x20001f6e, 0x22002100, 0x24002300, 0x26002500, + 0x28002700, 0x2a002900, 0x2c002b00, 0x2e002d00, 0x30002f00, 0x32003100, 0x34003300, 0x36003500, 0x38003700, 0x3a003900, 0x3c003b00, 0x3e003d00, + 0x40003f00, 0x42004100, 0x44004300, 0x46004500, 0x48004700, 0x4a004900, 0x4c004b00, 0x4e004d00, 0x50004f00, 0x52005100, 0x54005300, 0x56005500, + 0x0620b082, 0xb182b485, 0x02010022, 0x02210582, 0x23008d00, 0x03000001, 0x0d40118d, 0x043b22d1, 0x21d4826f, 0x0185002c, 0x003cc708, 0x04c60084, + 0x05240564, 0x07d406c4, 0x08ea0758, 0x093409ce, 0x0ab00a76, 0x0b880bfe, 0x0c2e0cee, 0x0d6a0de6, 0x0e640ed8, 0x10a40fca, 0x11bc105a, 0x12c6117e, + 0x130c1392, 0x14d8138c, 0x16481598, 0x17121738, 0x1b1e1b80, 0x1c341cae, 0x1fea1dc0, 0x20bc1f08, 0x21342180, 0x22fc218a, 0x27c82386, 0x28ca272a, + 0x295229b0, 0x2a0a2ac6, 0x2ba42bbe, 0x2e162ef4, 0x2e682e44, 0x30f02f8e, 0x306a300c, 0x311e31d2, 0x31ac3156, 0x32ec31de, 0x336433ba, 0x344034c6, + 0x353a35bc, 0x36de35b6, 0x3642361a, 0x00e43690, 0x003b0002, 0x04150200, 0x000300aa, 0xb12e0007, 0x3c2f0001, 0x000407b2, 0x06b132ed, 0xb23cdc05, + 0x0a820203, 0x03b10022, 0x05201683, 0xb2271683, 0xfc010607, 0x8301b23c, 0x11333817, 0x21251121, 0x013b2111, 0x0161feda, 0x049cfe64, 0x3b56fbaa, + 0x82003404, 0x80fc2552, 0x8003f5ff, 0x01200982, 0x002e5982, 0x21252105, 0x9a0533fd, 0x0007b3f9, 0x15820b0b, 0x02032508, 0x040f0009, 0x00fd03f7, + 0x0025001b, 0x0100002f, 0x16322130, 0x010e1415, 0x15070607, 0x17161716, 0x1415011e, 0x0e2f0b82, 0x37212301, 0x3d363221, 0x23263401, 0x85333521, + 0x2b4d0809, 0x010a0201, 0x1f8e7dbd, 0x1e202031, 0x2025251e, 0x14132b1f, 0x385f2322, 0x01a217fe, 0x48483f18, 0xfce8fe3f, 0x3d42423d, 0x8dfd03fc, + 0x324f3877, 0x08030c0d, 0x1c0d0d02, 0x3c3f581c, 0x27273536, 0x3e428b2c, 0x88423e31, 0x3a2e393e, 0x088f833e, 0x00910030, 0x036f0663, 0x000f00a9, + 0x002b0017, 0x27302500, 0x07302130, 0x12362330, 0x12163337, 0x23300117, 0x33300706, 0x11300126, 0x33302700, 0x03851330, 0x0702062f, 0xea023011, + 0x49c7fe4c, 0x2fbf2f8a, 0x080382ab, 0x068dfe34, 0x3cf73d3c, 0xf7fe8402, 0x04cc9b17, 0xce3794cb, 0xe3e3631d, 0x8c2e028c, 0x8cd2fd8c, 0xb9b9c902, + 0x01f0fdb9, 0x28d4014a, 0x75018bfe, 0x329afe61, 0x8282b3fe, 0x82030021, 0x07ab3a04, 0x03610300, 0x038c0358, 0x370000ba, 0x33270226, 0x17021d30, + 0x1d17041d, 0x91029003, 0x8211a314, 0x9126f147, 0x26869571, 0x3317011e, 0x4137013e, 0x0d860673, 0x37033d22, 0x04200289, 0x17850b8a, 0x298211a3, + 0x719126f1, 0x332e86a1, 0x23070206, 0x2e270226, 0x0e232701, 0x0d820701, 0x2622052d, 0x37013e27, 0x3233011e, 0x83263435, 0x27262918, 0x36343526, + 0x17163233, 0x2e2b2182, 0x06222301, 0x16171415, 0x85011e17, 0x14152302, 0x3b822506, 0x27222322, 0x27262882, 0x36373426, 0x3c823e37, 0x07202182, + 0x1d352c84, 0x33161401, 0x023e3732, 0x3523013d, 0x8e231133, 0x68185e18, 0x3400cc01, 0x0c040e04, 0x0e030e04, 0x0f7b0e39, 0x0f030e39, 0x0e030d03, + 0x2761cc04, 0x62186401, 0x3a0e7a19, 0x0c205c83, 0x0f3b5c82, 0xf0020f3c, 0x0b276e4b, 0x4d1d0c2f, 0x342a7731, 0x5a0a2409, 0x65702a2b, 0x82246348, + 0x1a3c0813, 0x37373140, 0x09311616, 0x44300924, 0x74131615, 0x090c4302, 0x2c34484f, 0x1320212b, 0x22121212, 0x5a3d5f22, 0x531e3837, 0x483c4611, + 0x1e485050, 0x16271a1a, 0xb75adf7c, 0x70be0170, 0x0010b8cd, 0x2d47014d, 0x1919681a, 0x01441967, 0xfe444410, 0x0a8244f0, 0x1a681922, 0x015b0110, + 0x4d474147, 0xfe70af08, 0x01457042, 0x671a4513, 0x1a671919, 0x45edfe45, 0x0b36380b, 0x2c290b2a, 0x0d2f2c6d, 0x15020702, 0x5c512d2c, 0x0a343161, + 0x24250b29, 0x162a342d, 0x08020c15, 0x171f0b02, 0x65293f17, 0x3e306e68, 0x292a1313, 0x42b84242, 0x282a2a42, 0x31472627, 0x525c3931, 0x085c52a4, + 0x1e312109, 0x9efe573b, 0x00070000, 0x0602ff52, 0x001a05ae, 0x0024001a, 0x00490038, 0x00780053, 0x05000080, 0x34352622, 0x37023e37, 0x06070633, + 0x07010e07, 0x33013e33, 0x14151632, 0x3d322706, 0x22233401, 0x0314011d, 0x33270226, 0x16171216, 0x37363317, 0x2a821236, 0x21070227, 0x32211123, + 0x27278317, 0x2e231307, 0x37232701, 0x27077948, 0x26220115, 0x34012e27, 0x37222a82, 0x23823336, 0x45061721, 0x98080b58, 0x011e3736, 0x05010e17, + 0x01150111, 0x01350111, 0x106d6ba2, 0x314f3a0f, 0x2a2a3b8a, 0x09251d1e, 0x3147110c, 0x6a6e5f51, 0x1f6c6d6d, 0x6b218321, 0x0e145013, 0x0e0e0c0e, + 0x69144e14, 0x01208321, 0x0901658f, 0x392b2c56, 0x0871803a, 0x9b781756, 0x24262624, 0x3aad029b, 0x2321225d, 0x2e222123, 0x33563b2e, 0x490d1f33, + 0x44353e12, 0x36444c4c, 0x380f1242, 0xfe69200e, 0xfe2801e4, 0xfdd8fe72, 0x3d3c7f84, 0x22606f3c, 0x2928292d, 0x2f325628, 0x6a676a31, 0x19775577, + 0x08028277, 0x70180356, 0x466fbf01, 0x4e46e7fe, 0x464e4f4f, 0x6f461901, 0x027041fe, 0x6034339e, 0xfe11604d, 0x36c913e7, 0x3e2a2655, 0xfede262a, + 0x2a2a278e, 0x2a84b684, 0x2514142a, 0x29074a25, 0x525f3239, 0x365e53a1, 0x0921083b, 0xfeb24e4a, 0x82100134, 0xcd0192fe, 0x0082effe, 0x043f0082, + 0xab002000, 0x6103e006, 0x15000b00, 0x74004a00, 0x30370000, 0x32213011, 0x2b061416, 0x49011901, 0x012008b7, 0x2205ce46, 0x82161716, 0x06d04612, + 0x35012e28, 0x33023e34, 0xd1461732, 0x06072c08, 0x1f161415, 0x15011e01, 0x46020e14, 0x2e2105cd, 0x21248502, 0xc6461716, 0x3736230c, 0xc846013e, + 0x21d10806, 0x665d2001, 0xadb45d66, 0x292f2e2a, 0x55dd02ad, 0x320c2a76, 0x2b2b230d, 0x2e414136, 0x0a270a3b, 0x3d216262, 0x384c3656, 0x320d2837, + 0x384b1a0d, 0x34202039, 0x5d643c37, 0x025a3f20, 0x5e0a04dd, 0x4a663c4c, 0x6c4d2a29, 0x237d5a42, 0x3d511359, 0x50616150, 0x161d1c20, 0xf38a1916, + 0x9e02b75f, 0xfe6db96d, 0x2b6a01f5, 0x2b292e28, 0x343db6fd, 0x2b0c2f0b, 0x313a1716, 0x020c2e27, 0x5c120207, 0x31482c51, 0x321a1b1b, 0x210b2d0b, + 0x2c181729, 0x0c0b292a, 0x2f505d13, 0x711d374d, 0x572d4031, 0x81545482, 0x47502e58, 0x663b2f34, 0x665d6e5d, 0x0f100809, 0x5d34202f, 0x05009bfe, + 0xab002e00, 0x6103d206, 0x1f001200, 0x34002a00, 0x00004601, 0x07684225, 0x32013e28, 0x0e14021e, 0x83422702, 0x06222a05, 0x1614011d, 0x32211105, + 0x0f5e4117, 0x012e052c, 0x071d2327, 0x170f1d17, 0x02870e1d, 0x05820b85, 0x23110133, 0x12163311, 0x17011e17, 0x27053d33, 0x3d270f3d, 0x8802870e, + 0x11042d0b, 0x26231133, 0x3c330102, 0x23222360, 0x5f3a0282, 0x2344607a, 0x3c614423, 0x904f4f48, 0xdf014f4f, 0x2c560901, 0xa356572b, 0x0082259a, + 0x63029a26, 0x0c092208, 0x28073244, 0x85217562, 0x08230822, 0x2310880d, 0xac852176, 0x2d074c42, 0x84542828, 0x275484b6, 0xa2525d5a, 0x04845d52, + 0x9e024f33, 0x67c13433, 0x6901f1fe, 0x293d2a25, 0x5315b226, 0x4d7f4415, 0x02284dae, 0x9e0270fe, 0x43f4fe43, 0x26808840, 0x62fd9001, 0x430c0143, + 0xa53a055f, 0x5b065400, 0x2f00b803, 0x54004800, 0x00005e00, 0x0e233025, 0x2e222301, 0x8a443502, 0x083e4307, 0xe3490620, 0x37362106, 0x3d350182, + 0x21352301, 0x21012311, 0x14151632, 0x010e0706, 0x021e1507, 0x300b8217, 0x23020e07, 0x32333721, 0x013d3637, 0x2b262734, 0x0a5d4d01, 0x04e54108, + 0x4a60740e, 0x35345c80, 0x43433030, 0x2b9c7153, 0x18124a12, 0x79634d65, 0x24286379, 0x101b1b24, 0x2f01ac10, 0x01060177, 0x1b776972, 0x1a341514, + 0x11353d1a, 0x39101113, 0x68fe2f4f, 0x1e35e987, 0x6a080082, 0x33d2e935, 0xd2333737, 0x38503de2, 0x686aa26d, 0x1c3738a2, 0x0b59631c, 0x493b0b2b, + 0x7588757f, 0x130b0a7f, 0x271e1d14, 0x41fe7541, 0x62764603, 0x1515422f, 0x01070314, 0x25242f16, 0x2d2c3235, 0x1b752541, 0x3429331c, 0x33711c1b, + 0x33302730, 0x05000000, 0xab003500, 0x6103cb06, 0x46001f00, 0x60005300, 0x00006600, 0x44262225, 0x362c131b, 0x17011e37, 0x21060706, 0x27012e22, + 0x36232182, 0x46013e37, 0x14820506, 0x1632072a, 0x33033e17, 0x15021e32, 0x08105843, 0x352135a8, 0x33371236, 0x23153311, 0x11332515, 0x01010e23, + 0x2696834e, 0x58416949, 0x115b2176, 0x594d3b48, 0x4c3d4d59, 0x0e3a0f12, 0x013c3d21, 0x3c5738fc, 0x232c1011, 0x90295523, 0x212d2d39, 0x0d161722, + 0x0b010402, 0x2030251c, 0x1d35482a, 0x35573e21, 0x7541413b, 0xa1024242, 0xb52dc9fe, 0x5b5b8e2e, 0x07dbbefe, 0xb1ac8e23, 0x588154a9, 0x324b4d2e, + 0x5d6a3930, 0x3f6a5d66, 0x09230931, 0x24292949, 0x3d303044, 0x36368049, 0x27291c53, 0x2d292826, 0x0101362d, 0x0f1b2315, 0x2f4d371c, 0x213c5333, + 0x0d3d3e58, 0x04843e3d, 0x834d2f08, 0x2a014a5d, 0x553afe4a, 0x6301d883, 0x0800ed3b, 0x08ff4b00, 0x1505b506, 0x16000c00, 0x28001c00, 0x68005c00, + 0x9b007200, 0x30170000, 0x35443011, 0x11012112, 0x3323ec83, 0x87152111, 0x06a64501, 0x4c2d754c, 0x232406b4, 0x03133313, 0x0f2a0b85, 0x3e253301, + 0x0e233701, 0x02820701, 0x02821382, 0x011e2327, 0x11231117, 0x05af4c33, 0x1e823320, 0x33290282, 0x01b02311, 0x2c2c5609, 0x07564458, 0x66ca0130, + 0x850186f4, 0x0301e1fe, 0x1f01fdfe, 0xdd4be7fa, 0x0925210c, 0x2207dd4b, 0x4b0c2e0c, 0x300811dd, 0x09220938, 0x082309e1, 0xca81c964, 0x030e04f1, + 0x040e030d, 0xd002b03b, 0x0b010402, 0x16071f08, 0x57151657, 0x081f0815, 0x0105010b, 0x48127862, 0x200b8212, 0x08038209, 0x12471254, 0x02f86277, + 0xc233349f, 0x01f1fe67, 0x3e292669, 0xbcfd2529, 0xbbfd9f02, 0x5a9f025a, 0x5acf58c4, 0x35395703, 0x2a0b2b0b, 0x2f2c6e2c, 0x0208020c, 0x512c2d14, + 0x3431605d, 0x240a290a, 0x2a342d25, 0x020b1616, 0x200a0308, 0x293f1717, 0x1f0b6964, 0x02821f7c, 0x61334082, 0x4111e001, 0x11411010, 0x4c1390d3, + 0x134b1314, 0x822db62d, 0x49132202, 0x290b8213, 0x9f0263fe, 0x16279d27, 0x02821658, 0xfd2c0882, 0x00000061, 0x00290004, 0x03d706ab, 0x22055347, + 0x4746003a, 0x40471a53, 0x011d2611, 0x33161714, 0x07044332, 0xdc412520, 0x2921080a, 0x655e2001, 0xadb35d66, 0x292e2e29, 0x840f03ad, 0x69492695, + 0x3b3b5741, 0x0f3d0f22, 0x4e3b4811, 0x3500822c, 0x134c3c4e, 0x220f3a0e, 0x2d013d3c, 0xbffeae01, 0xddfe2301, 0x05474101, 0xa9b13410, 0x2d598154, + 0x084b2627, 0x39300822, 0x665d3535, 0x4235355d, 0x0b2a07c6, 0xba609e02, 0x0060c460, 0x5f510300, 0x01082e82, 0x0502ff6d, 0x001a0593, 0x00550044, + 0x2991826d, 0x00ab009e, 0x00e300d5, 0x58472500, 0x22232c05, 0x012e0706, 0x3e373627, 0x44363701, 0x0722051b, 0x8f52020e, 0x07062109, 0x232a0182, + 0x27022e22, 0x16171637, 0xd6481e17, 0x01352109, 0x37066444, 0x33023e37, 0x06101632, 0x023e3227, 0x2e34013d, 0x010e2202, 0x011d0607, 0x8205a14f, + 0x35022525, 0x35373634, 0x2005f248, 0x4a428232, 0x15240563, 0x1415011e, 0xe1476b82, 0x4713200c, 0x25200bee, 0x07211e83, 0x82998223, 0x26222302, + 0x2d820627, 0x27222323, 0x204f822e, 0x20b08337, 0x204c8533, 0x82c98807, 0x16550873, 0x3c3e4b02, 0x4330313a, 0x0c300c17, 0x3314130f, 0x2f2b2021, + 0x0a213a50, 0x1a2f240a, 0x131a191d, 0x1f221613, 0x362c2d1f, 0x2a36472f, 0x0e0c500f, 0x2e11120e, 0x45413e1c, 0x9802473f, 0x0e3c5c3e, 0x3c0e0f0f, + 0x767d3e5c, 0x31237d76, 0x1e0e0e1e, 0x1f314531, 0x08008207, 0x31100fb3, 0x593bf8fd, 0x3c4a1f3d, 0x371e3e34, 0x29296853, 0x3f0f0f38, 0x104a3d34, + 0x3a5a3c10, 0x7942423c, 0x373d4242, 0x3a6f3b3b, 0x1652033a, 0x29564516, 0x225b3890, 0x010d2d21, 0x0e0a0105, 0x2030260e, 0x3524242a, 0x1f11101d, + 0x3836561f, 0x113c2c2b, 0x413bec10, 0x413b3a42, 0x29359941, 0x2c312e07, 0x0a2a0a26, 0x1d141516, 0x2d17090a, 0x1a202841, 0x06192819, 0x0d0d0604, + 0x25391415, 0x191a482c, 0x21140e0e, 0x143e172c, 0x0c0c1111, 0x07343a0d, 0xfe5c3634, 0x40582f6a, 0x41525340, 0xb72f5940, 0x5cb6b8fe, 0x2c49331c, + 0x34482c75, 0x24341c1c, 0x08098224, 0x1a23252e, 0x06031c1a, 0x2a47341d, 0x07115143, 0x263a4e13, 0x0d192d40, 0x20202d0c, 0x134e3a26, 0x43511107, + 0x3424232a, 0x3238571d, 0x37373213, 0x38270482, 0x2e303a01, 0x84302e10, 0x1f2a0804, 0x6b404149, 0x4e291b55, 0x365a2828, 0x12140101, 0x0e0f1b12, + 0x304c360f, 0x1d2b2a32, 0x1312221e, 0x93303044, 0x3c0e3c3f, 0x04823e3e, 0x82003f21, 0x00043700, 0x06b70078, 0x00560388, 0x0027000f, 0x00400037, + 0x11300100, 0x03842330, 0x2130352a, 0x13301530, 0x33303530, 0x1b830f8a, 0x17823320, 0x27302122, 0x81542782, 0x010e3c0c, 0x012e3307, 0xc86cac01, + 0x5b53fc01, 0x5c24015b, 0x3c2b025c, 0x266f3afb, 0x82882699, 0xfe430803, 0x411005d7, 0x4010c610, 0xc2fdf502, 0x60603e02, 0x0158c2fd, 0xfe5858ee, + 0xb5b55812, 0x70be0170, 0x7042fe70, 0xc5313a02, 0x00c53131, 0x08000500, 0xf806ab00, 0x34006103, 0x46003e00, 0x58005000, 0x4b370000, 0x272a329f, + 0x13230723, 0x17121633, 0xa1862301, 0x42081190, 0x2a7655fd, 0x230d310d, 0x40372b2b, 0x0a3a2e41, 0x62620a28, 0x36563c22, 0x2738384c, 0x1a0d320d, + 0x203a374b, 0x3c36341f, 0x3e215d65, 0x3dd0025a, 0xe46e3bfa, 0x26982689, 0x1104d7fe, 0x10c51040, 0x91280340, 0x4bac2013, 0x0b242c82, 0x9e02b5b5, + 0x210a0041, 0x108ef7fd, 0x00820020, 0x60000334, 0xa006ab00, 0x15006103, 0x4b002b00, 0x30250000, 0xaa463003, 0x0206240e, 0x41352107, 0x052013b1, + 0x2d1d8748, 0x70db3c01, 0x0a124712, 0x0b040b2b, 0x09820b2b, 0x95256d25, 0x414b0125, 0x012605c7, 0x26968384, 0x6148684a, 0x02b72814, 0x37dd379e, + 0x82279b27, 0x83088202, 0x07d641c3, 0x41480b20, 0x2acb8217, 0x00470004, 0x03b906b7, 0x820b0056, 0x002122cd, 0x183f4629, 0x280a1b46, 0x11231101, + 0x15213523, 0x074c4d48, 0x2e2e2928, 0x1402ad29, 0x0246ad01, 0x7b012507, 0xfc01c86c, 0x200f0846, 0x06ea45c1, 0x423e0221, 0x7f820579, 0x934f0620, + 0x001e3408, 0x003d0027, 0x0058004e, 0x0500007e, 0x35262722, 0x84363734, 0x33302501, 0x0607020e, 0x2005944f, 0x08954f17, 0x011d2224, 0x944f0114, + 0x0a125606, 0x964f0620, 0x010e212d, 0x3f12974f, 0x366b7a03, 0x1d0f1037, 0x3128271d, 0x3a553b8a, 0x0c0a1212, 0x51314711, 0x6a6e2f30, 0x09fed96d, + 0x2606924f, 0x0c051304, 0x4f051205, 0x14221294, 0x944f144d, 0x3a0e2217, 0x0e954f0e, 0x4242fd35, 0x3d3d3c7f, 0x2f303836, 0x50522d23, 0x2f332a2b, + 0x4f353531, 0x1a221390, 0x02821a69, 0x2211924f, 0x4f2eb62e, 0x08221592, 0x934f0820, 0x06003c0d, 0x08ff1701, 0x1505e905, 0x17000b00, 0x4b002d00, + 0x5f005500, 0x30050000, 0x82333011, 0x30212203, 0x87078415, 0x05c6500b, 0x36343533, 0x32013e37, 0x011e1716, 0x0e070614, 0x36322701, 0x2b018237, + 0x2734013d, 0x012e2726, 0x07062223, 0xbf460182, 0x11052107, 0x2412d14f, 0x11016ccc, 0x08038263, 0x4210fd22, 0x2926266a, 0x6a262629, 0x26256b83, + 0x25262a2a, 0x4026416b, 0x0c0d1617, 0x17160d0c, 0x3f282640, 0x3f220b87, 0x8348f401, 0x02f8250c, 0x60c1fd9f, 0x032b0484, 0x2b2c2d57, 0x82545582, + 0x832d2c2b, 0x83a92009, 0x1b612d08, 0x25251919, 0x252e692e, 0x1b191925, 0x562f0c8c, 0xb86e9f02, 0x01f5fe6e, 0x2e282c6a, 0x82002c28, 0x0a0036f0, + 0xf606ab00, 0x12006103, 0x3a003000, 0x4a004400, 0x22250000, 0x0640502e, 0xaf07494f, 0x33112fe6, 0x01152111, 0x4c6a422c, 0x6a4c2929, 0x07854142, + 0x5d21e09b, 0x08644966, 0x13022208, 0xac10016d, 0x5482572d, 0x2d588254, 0xa882582d, 0x602d5782, 0x25191a1b, 0x2e6a2e24, 0x1a192524, 0x200c8c1b, + 0x0e6d5055, 0x9e02c128, 0x0060c2fd, 0xcb820400, 0xb606ab2c, 0x13006103, 0x2d002200, 0xd3436600, 0x15302306, 0x03882130, 0x01301126, 0x17323330, + 0x0124e883, 0x012b0607, 0x2405ba52, 0x012b2627, 0x064d5811, 0x24077e51, 0x2e272627, 0x22028201, 0x51373435, 0x06230d80, 0x51171415, 0x24080680, + 0x0e070607, 0xa3014a01, 0x1301cafe, 0xc301edfe, 0x343441ed, 0x4a29294a, 0xed413434, 0x2e5c4bed, 0x02804b2e, 0x05de45dc, 0x2b2a2427, 0x17414037, + 0x05df4517, 0x3d111124, 0xe0453556, 0x4a2b0807, 0x1a3f3a38, 0x653c361a, 0x1f10115d, 0x02b75920, 0x60ba609e, 0x9e02dcfe, 0x7d541515, 0x15547da8, + 0x5b5e6015, 0x2f2f5b6c, 0x456b22fe, 0x17210ad6, 0x075a5117, 0x51242421, 0x2908095b, 0x142a2c2f, 0x130c0b15, 0x272f515c, 0x1d1c1b26, 0x00040000, + 0x0663008f, 0x00a90371, 0x002f0015, 0x00430039, 0x01302500, 0xec503330, 0x06535a06, 0x07020628, 0x16322101, 0xd4491415, 0x22df840b, 0x52372123, + 0x064f08a2, 0xa2012e09, 0x168dedfe, 0x360f1659, 0x380f050b, 0x3709820b, 0x2fb92f89, 0x7301c201, 0x291b7768, 0x1e191934, 0x241b1a1f, 0x1d1c1110, + 0x2106f54e, 0xf34e3c3c, 0x03633407, 0xecfe4546, 0x29c53645, 0x4525c837, 0x8c451401, 0x4e8cd2fd, 0x2a3605e4, 0x01070314, 0x18170b0b, 0x2c323549, + 0x2521202d, 0x29333775, 0xe34e3734, 0x32013409, 0xce0508ff, 0x26001405, 0x78003300, 0x9b008a00, 0x4e050000, 0x01202ec4, 0x3241d14a, 0x2327012e, + 0x33112311, 0x17011e13, 0x11331133, 0x82352123, 0x020e2604, 0x36272607, 0x08108237, 0x70021530, 0x103d5738, 0x23222c10, 0x39902a55, 0x21222d2d, + 0x010c1717, 0x1c0a0105, 0x2b1f3125, 0x221e3547, 0x3a35573d, 0x41754242, 0x3f440241, 0x884a393b, 0x34132108, 0x2206884a, 0x4a230a0b, 0x3c080788, + 0x2c1f1f23, 0x472f362c, 0x4f0f2937, 0x110e0e0d, 0x3e1d2d12, 0x47404541, 0x3408b2fd, 0x7968030e, 0x08340edb, 0x01796703, 0x1708bc43, 0x02123e34, + 0xa5565540, 0x4425f8a3, 0x493c3030, 0x0d284f81, 0x24144708, 0x361d0f1b, 0x53332f4d, 0x3e59223c, 0x3f3c0d3d, 0x3d0d3c3f, 0x353d013e, 0x312e0729, + 0x2a0a262b, 0x1414160a, 0x1709091e, 0x2028402d, 0x19271a1a, 0x0c060506, 0x3815140e, 0x1a482c25, 0x150e0e1a, 0x3f172b21, 0x594a1015, 0x33350806, + 0x4a035c36, 0xfe1b6310, 0xfe9e0200, 0x10631b8d, 0x62fd0102, 0x18f5015a, 0x02134338, 0xfd5d5c3a, 0x03005abc, 0xab001b00, 0x6103e506, 0x5c003900, + 0x00007f00, 0x0d474925, 0x22056843, 0x43262726, 0xea541069, 0x0607260a, 0x21010e07, 0x051d4722, 0x33013e23, 0x0fd05132, 0x5b563620, 0x2722a205, + 0x77541001, 0x0c320d2a, 0x43057049, 0x312c0691, 0x3c111131, 0x374c3657, 0x330c2738, 0x080b7349, 0x1f101123, 0x29025a1f, 0x13139584, 0x42682524, + 0x0f227657, 0x48120f3d, 0x58584e3a, 0x124c3c4e, 0x220f3a0f, 0x491e9e79, 0xb4430b8b, 0x2e2e2306, 0xb5432c51, 0x1717230b, 0x11552a2d, 0x26272d06, + 0xb11d1c1b, 0x404154a9, 0x4d2e2c2c, 0x51053b4e, 0x52200a00, 0x00281a9a, 0x4f000500, 0xb106ab00, 0x21092b55, 0x2b554000, 0x21012234, 0x08028235, + 0x06152128, 0x01210702, 0x22603d54, 0x22232322, 0x60796022, 0x44242444, 0x4e483c60, 0x4f4f904e, 0x0901de01, 0x572c2b57, 0x8957a357, 0x60032e05, + 0x420141fe, 0xa601cdfe, 0x0136d636, 0x2bd9544c, 0xbcfd2a08, 0x59ea015b, 0xbafe525b, 0x00070052, 0x0608ff2e, 0x001505d2, 0x0033001c, 0x00530047, + 0x0073005d, 0x37000091, 0x15300706, 0x05034c30, 0x33301132, 0x37363736, 0x07063330, 0x23171216, 0x1101012e, 0x450ae545, 0x26230cf1, 0x49333027, + 0x33200629, 0x1122cf82, 0x7d570130, 0x012e2118, 0x082df347, 0x1a42f736, 0x48046d6d, 0x7f5a5a18, 0xba32ae41, 0x92278316, 0xad01a501, 0x2301c0fe, + 0x4001ddfe, 0x73742201, 0x1b6d1b7c, 0x1b6c1b03, 0x2da41878, 0x20014afb, 0x5e65655e, 0x20075d50, 0x29144817, 0x4b412308, 0x9f02d01e, 0x1e5cacfe, + 0xce4d6d6d, 0x21e8fe4b, 0xe2fee13d, 0xbb609f02, 0x0160c460, 0x32cbcc08, 0x028232c7, 0xe2fe2927, 0x03f6fe4e, 0x0df84762, 0x48b5fd21, 0x00212d37, + 0x8f836200, 0xca000535, 0x360608ff, 0x0f001505, 0x33001700, 0x92006600, 0x4e050000, 0x062a1105, 0x26333007, 0x27012e05, 0x494e3023, 0x30332605, + 0x17011e13, 0x06e74933, 0x59302321, 0x26211063, 0x0a625927, 0x5905ad5a, 0x26230d61, 0x82332702, 0x17162142, 0x53078e53, 0x3727069c, 0x06333736, + 0x82230702, 0x27262f6c, 0x0e070623, 0xf8020701, 0x6e3afb3d, 0x704e9826, 0x31303407, 0x190230c6, 0x0208340e, 0x08db7968, 0x67030e34, 0x445bfc79, + 0x0e48057c, 0x3a2e3505, 0x62621e1e, 0x36563d22, 0x2738374c, 0x4a1a4903, 0x201f3a38, 0x0807eb4d, 0x1a90015e, 0x0d6e1a6a, 0x1718092e, 0x0a240803, + 0x790f360b, 0x090a360e, 0x31030923, 0x1c6b2323, 0x0d7a1b6e, 0x19191039, 0x10191902, 0xb6f80d3b, 0xbf0170b6, 0x41fe7070, 0x943b0270, 0x1b349494, + 0xfffd0f64, 0x8dfe9f02, 0x021b640f, 0x0361fd01, 0x0c343d57, 0x162b0b2f, 0x27313a16, 0x05060b2e, 0x35069459, 0x02321b1a, 0x17282241, 0x2a2a2c17, + 0x5c130d0a, 0x364d2f51, 0x4b830b1e, 0x2ddb3b33, 0x981e706f, 0x3cdc2b29, 0x252bdc3c, 0xa1de2594, 0x235f83a2, 0x663fea32, 0x3f370082, 0x040032ea, + 0x0eff1801, 0x0f05e805, 0x3a001b00, 0x57004300, 0x41250000, 0x21221a7d, 0xfc542330, 0x23072405, 0x8237013e, 0x0898430a, 0x07010e27, 0x1101011e, + 0x07c54333, 0x76411120, 0x82332006, 0x06b54327, 0x0ccd3608, 0x67030c32, 0x310ddb78, 0x7968030c, 0x1b7f3f03, 0x1b021b6d, 0x24781b6b, 0x8b232491, + 0x66198023, 0x671a0219, 0x8c24781a, 0xfb932524, 0x11016cd9, 0x9a260101, 0x07804326, 0x27772308, 0x1781279a, 0xfffd185f, 0x8efe9e02, 0x02175f18, + 0x2d62fd00, 0xb22c2cb2, 0x39e5392d, 0x2936db36, 0x028229a7, 0x36da363e, 0x2903e639, 0xc2fd9e02, 0x44080160, 0x32430f01, 0xc73131c7, 0xf2fe4332, + 0x00f6fe43, 0x06220082, 0xf3823601, 0xf382ca20, 0x1e00142f, 0x32002a00, 0x52004600, 0x30050000, 0x05574423, 0x06141522, 0x1720cb82, 0x220f195d, + 0x65072327, 0x0b500830, 0x03022107, 0x220e3f4f, 0x4e210302, 0xa33a0b70, 0x5a21016d, 0x18414268, 0x16791861, 0xac85165a, 0x292f2e2a, 0x3db603ac, + 0x66423bfa, 0x4010340a, 0x4010c510, 0x6e6e79fd, 0x11481171, 0x040a2b0b, 0x820b2c0b, 0x706e2409, 0x4e68016f, 0x2008099c, 0x6c9e02f2, 0x145f485d, + 0x2d2fbc2f, 0x2b5b2db5, 0x2b282e29, 0xb696fed5, 0xbf0170b6, 0x41fe6f6f, 0x06fd5070, 0x01590125, 0x4f4f014f, 0xfe240b55, 0x02b1feb1, 0x3007ae54, + 0xa9000200, 0x57066300, 0x1d00a903, 0x00003300, 0x05d34125, 0x8d510620, 0x0eb64105, 0x50051621, 0x1949050d, 0x30400808, 0x30153033, 0x27a07603, + 0x64041390, 0xc2189664, 0x17bc3335, 0x207f20a0, 0x20812002, 0x33be1796, 0xeb2d018a, 0x4f411c0a, 0x95500316, 0x63ccce41, 0xa720ed41, 0x330127a7, + 0x26014f53, 0x34d03424, 0x24340282, 0xd74fdbfe, 0x720271d7, 0x1754461e, 0x47a14802, 0x00712bfd, 0x01e71e10, 0x01063481, 0x0502ff28, 0x001a05d8, + 0x0025000f, 0x00560043, 0x537c0074, 0x5b4f11d3, 0x4e012033, 0xa6512ba1, 0x67022807, 0xfb01c76d, 0x4f417301, 0x82210770, 0x05824f6b, 0x27416b22, + 0x2509794f, 0x16402727, 0x00820d16, 0x4016162c, 0x6b41d0fd, 0x4c29294c, 0x0787416b, 0x87412621, 0x2641341c, 0x17163f28, 0x0c0d0d0c, 0x023f1617, + 0x01c86ced, 0x514c01fc, 0xfd3605cf, 0x2c2b2db7, 0x81555482, 0x2d2d2c2c, 0xa9812c2c, 0x2d2b2c82, 0xc04e1a61, 0x24252106, 0x2105c04e, 0xcd4e2524, + 0x031a2406, 0x83572d01, 0x2d58232e, 0x2c82582d, 0x2b8a5720, 0x4e09c24f, 0x1a2205f9, 0x3352e801, 0x00073608, 0x06fdfe33, 0x000905c2, 0x0016000c, + 0x0061003c, 0x009c0086, 0x19b95aa2, 0x510f8b61, 0x012014f4, 0x2106835a, 0x7f5a010b, 0x2c24a51a, 0x32161411, 0x33113536, 0x0e071411, 0x05934d02, + 0x3e5b1120, 0x09012406, 0x4a2b2c57, 0x022a0828, 0x215e3aad, 0x21232321, 0xb2612f21, 0x0c1d5205, 0x0e390e39, 0xc3026920, 0x0b010501, 0x82081f08, + 0x081f0782, 0x0104010b, 0x5a137862, 0x0729058b, 0x47120820, 0xfb627712, 0x202282c0, 0x261d820c, 0x1e088282, 0x83020c08, 0x49122222, 0x25338212, + 0x07200808, 0x22824812, 0x38640133, 0x0c65388e, 0x7f58350c, 0x0c0c3657, 0xf4663602, 0x0fc15af8, 0x27b12008, 0xb6842a2b, 0x132b2a83, 0x4a252514, + 0x39082008, 0xa1535e32, 0x3c365e53, 0x4a082109, 0x5aa8014f, 0xfe230592, 0x5a1001f0, 0x04211790, 0x0823a1ff, 0xfe9f0232, 0x4d4d514e, 0xfeb20151, + 0x3232445e, 0x411f1f41, 0x01443232, 0x0261fda2, 0x5abbfd9f, 0x04000000, 0x02ff4d01, 0x1a05b305, 0x51001700, 0x9d008b00, 0x50059f52, 0xd54a09bb, + 0x14aa5009, 0x4823414d, 0x7a4d0efe, 0x4e012029, 0x012110f1, 0x095a4685, 0x544b0138, 0x320c2a76, 0x2c2a240c, 0x17424036, 0x280a3b17, 0x3131610a, + 0xd9481110, 0x330c2306, 0x53621a0c, 0x653b2906, 0x2010105d, 0x8bfd5a1f, 0x0d233284, 0x862b2b23, 0x0a272e32, 0x11313162, 0x36563c11, 0x2837384c, + 0x2132890d, 0x3282643c, 0x5b1f1f2b, 0x310ce201, 0x7968020d, 0x230682db, 0xf2796703, 0x32069246, 0x0c343d0b, 0x162b0c2e, 0x27313916, 0x020b1718, + 0x4d120207, 0x22250d5e, 0x2c171728, 0x0b5e4d2b, 0xb1620321, 0x7e012133, 0x2f0f3c48, 0x02000000, 0x5400cf00, 0xb8033106, 0x4a003400, 0x2010d94e, + 0x05666a26, 0x4a08805c, 0x4052095e, 0x020e2207, 0x0d354301, 0x2e278708, 0x02113502, 0x34946a02, 0x2d0f3f0f, 0x50443635, 0x25493a52, 0x3d3d7b25, + 0x446b4c2a, 0x3146465e, 0x5d21045b, 0x28284746, 0x4b442021, 0x4e29747e, 0x52f90170, 0x108551c5, 0xae764b11, 0x214b3b3b, 0x0f404d55, 0x1c360f3a, + 0x313d481b, 0x06070e3a, 0x65393a17, 0x213e5938, 0x513e2121, 0x1d322a03, 0x1a34381c, 0x18100d1a, 0x613a6573, 0x54032544, 0x6c6bfcfd, 0x04026b6c, + 0x435c11fe, 0x152b5744, 0x5c865816, 0xdb82ef01, 0x07732d10, 0xff0a393d, 0x05f60608, 0x000e0015, 0x002b0018, 0x00530049, 0x0063005d, 0x33300100, + 0x2009505c, 0x067e5a2b, 0x012b2623, 0x2ce24c11, 0x3a146b5c, 0x21113311, 0xed760215, 0x25256841, 0x25252929, 0xeded4168, 0x4b5c5c4b, 0x5b49fe80, + 0x013c3a98, 0x2a292ba7, 0x2a7ea77e, 0x5f602b29, 0x5f5b6b5b, 0xf70221fe, 0x5582572d, 0x2d578254, 0xa9200782, 0x61290682, 0x2519191b, 0x2f692f24, + 0x07bf4c24, 0x825c0c88, 0xc0fd2e0e, 0xc2fd9f02, 0x00050061, 0x06ab0003, 0x0aa756fd, 0xa7565920, 0x4c052034, 0x082024bd, 0x6b11c056, 0xa4200dae, + 0x2006c056, 0x05744c96, 0x4c830721, 0x61200774, 0x560f0067, 0xa73a2bd4, 0x13134c13, 0xeffe124b, 0x4a121101, 0x134a1312, 0x9e0263fe, 0x16279c27, + 0x02821659, 0xfd220882, 0x00820062, 0x22000331, 0xde06ab00, 0x1b006103, 0x6c003300, 0x53130000, 0xe7561c41, 0x14114c15, 0x59012e21, 0xbc5c1052, + 0x53d7200f, 0xdb28054d, 0x030c320c, 0x40017968, 0x200abc56, 0x2fb85c4c, 0x4b2a0221, 0x18240a21, 0x62fd0102, 0x6e09a14b, 0xb55c080f, 0x00250827, + 0x7c010700, 0x840502ff, 0x37001a05, 0x68005b00, 0x9c007500, 0xd500a900, 0x30010000, 0x07010e21, 0x3e373633, 0x07886602, 0x0607012e, 0x2e272223, + 0x27262701, 0x1e171637, 0x15791782, 0x06222205, 0x23148207, 0x2137013e, 0x663a5e66, 0x246b07bf, 0x011e220d, 0x17246b33, 0x82352121, 0x05296071, + 0x22232624, 0x8383020e, 0x02233c82, 0x82171632, 0x06c97901, 0x3708c282, 0xfe260321, 0x020c03d7, 0x0d0d0b06, 0x2b1c2b20, 0x101f364b, 0x2c2d3d10, + 0x23232d39, 0x10131434, 0x0d0e0c4f, 0x3b1c2b23, 0x2b3b4141, 0x3c0f1234, 0x0411040f, 0x69017c01, 0x37245d66, 0x17fe3b3b, 0x103c5837, 0x23232c11, + 0x38902955, 0x22212d2e, 0x010c1716, 0x21097d6b, 0x7d6b221e, 0x41590806, 0xfe500341, 0x248f2339, 0x3a1b1b33, 0x1f291c32, 0x3f100614, 0x12120b10, + 0x50664c38, 0x0f0e1c1b, 0x1e1d2d19, 0x1a691a20, 0x4e015201, 0x14289e27, 0x0c171010, 0x314e361c, 0x3d2a2a32, 0x0a0a1011, 0x18151621, 0x1110143e, + 0x3a410d19, 0x21413a0b, 0x02090214, 0xfd3ef93e, 0x374e6657, 0x6bd10121, 0x262d0be6, 0x2e282827, 0x0101352d, 0x101b2314, 0x12e66b1d, 0x20683f08, + 0x2a2e207f, 0x310c2e2a, 0x271c1138, 0x06190616, 0x2e1d1d20, 0x1b1a1e1b, 0x282b2524, 0x1c1c3e45, 0x175a171c, 0x06000000, 0x02ff7a01, 0x1a058605, + 0x36002800, 0x92006c00, 0xca009f00, 0x40680000, 0x263f680c, 0x06212522, 0x24188342, 0x1e37013e, 0x06345f03, 0x22073869, 0x5e252113, 0x6b6d14a7, + 0x35212219, 0x06886136, 0x201e4542, 0x05456852, 0x225a3935, 0x030d2c22, 0x0e0e0a04, 0x2b1f3026, 0x1e342424, 0x681e1111, 0x45080544, 0xec10103d, + 0x3b41413b, 0x0342423a, 0x05d6fe34, 0x0d0b070c, 0x1d2a210c, 0x1f364a2b, 0x2d3e0f10, 0x222d392c, 0x14133523, 0x0d340e10, 0x2b221b0d, 0x40403c1c, + 0x12342b3c, 0x070f3c0e, 0xfd7c0112, 0x3c583810, 0x23821110, 0x9029552c, 0x212e2d38, 0x0c171622, 0xc76d0303, 0x05cd5e07, 0x75414122, 0x25054942, + 0x1b336b6b, 0x48423b1c, 0x400f2105, 0x2e074842, 0x0f0e1b1c, 0x1d1e2c19, 0x1a691b20, 0x68b35201, 0xf2222d30, 0x7542a449, 0x2a0a2414, 0x4221140a, + 0x74230b76, 0x42b90101, 0x5f212d3b, 0x243a4260, 0x00060038, 0x0608ff39, 0x001505c7, 0x001c000f, 0x00320028, 0x007a0057, 0xd1580500, 0x13303407, + 0x12163330, 0x27260317, 0x07062330, 0x33300730, 0x6e01012e, 0x99531553, 0x1325750f, 0x25147353, 0x011e1716, 0x88443317, 0x23113c05, 0x240a1e04, + 0x2406e206, 0x82c9640a, 0xf1218721, 0x0b0c0b0a, 0x0bb13c0a, 0x6e9bfc29, 0x30080d30, 0x5d3bad02, 0x24242121, 0x2e2f2121, 0x3433553b, 0x114a0d1f, + 0x4c44343f, 0x4335444c, 0x0e380e12, 0xc4026a1f, 0x0c010501, 0x82042109, 0x09220382, 0x3e0c820c, 0x37367862, 0x08052109, 0x52051718, 0xf8627715, + 0x18187f23, 0x9f02237f, 0x7041fe70, 0x8231e001, 0x24d32400, 0x53a5018c, 0x07211d4e, 0x124d5329, 0x0952163f, 0x1001f0fe, 0x14165108, 0x63fe124b, + 0x75769f02, 0x420e5d19, 0x2fb10b42, 0x000061fd, 0x08674107, 0x2000162c, 0x35002a00, 0x64003f00, 0x077f8700, 0x07062308, 0x1c6c3215, 0x710e2006, + 0x362305a5, 0x7134013d, 0x01200ca3, 0x5613ff73, 0x9b760578, 0x2275411e, 0x98022208, 0x504e1001, 0x171d3437, 0x090a2218, 0x22392816, 0xa766d5fe, + 0x25262625, 0x252197a7, 0xfd972125, 0x507d413b, 0x59a7013f, 0x05484154, 0x280b0b0c, 0x2b211c1c, 0x5a1c3347, 0x2c2c2b27, 0x28245727, 0x0123292b, + 0x5185411d, 0x05000034, 0x02ff2701, 0x1a05d905, 0x34002a00, 0x71003c00, 0x14827d00, 0x24095973, 0x3233023e, 0x19717616, 0x5410e76a, 0x5e650e7b, + 0x0d5d6508, 0x5b0d7c5d, 0x02210a0c, 0x1f8676f4, 0x3c730226, 0xe56f3afb, 0x2607ed6b, 0x10c61140, 0x76b6fd40, 0x5d6b12ea, 0x5e642613, 0x015a3f21, + 0x09d3542e, 0x96768c20, 0x2d592107, 0x2e089676, 0x10080865, 0x341f2f10, 0xb69bfe5d, 0x5b9e02b6, 0x4e200b34, 0x220a5154, 0x76020b2f, 0x82540ef3, + 0x515c2509, 0x1d374d2f, 0x3d09fd6f, 0x01020000, 0x0516ffce, 0x000e0432, 0x003b0021, 0x23300500, 0x35262722, 0x012e3530, 0x08822627, 0x2f05b042, + 0x17161732, 0x1415011e, 0x33150702, 0x013e3227, 0x22059874, 0x6f23022e, 0x28080843, 0x7004021e, 0x2728558e, 0x2f2f8855, 0x383e191b, 0xc4505039, + 0x38395050, 0x9aa0bb3e, 0x44603af0, 0x12131312, 0x3b3a6044, 0x3109855f, 0x2b2cea5f, 0x4d0b4c49, 0x5c5b4141, 0x42c27f73, 0x00822241, 0xc2424134, + 0xfcfee17f, 0x28f2671c, 0x4537374c, 0x3737459e, 0x0a8a284c, 0x00030029, 0x06b70013, 0x825603ed, 0x003d2207, 0x05616751, 0x5f610320, 0x06944b0f, + 0x03300322, 0x23075358, 0x11302330, 0x230f2b6c, 0x21302311, 0x35220182, 0x05840130, 0x30212308, 0x07020615, 0xcfe33021, 0x175d1772, 0x175b170d, + 0x228a2270, 0x05010903, 0x1e080c01, 0x08828208, 0x9744071f, 0x49123605, 0x08200712, 0x081f0808, 0x77124812, 0xfe9a0262, 0xfe410141, 0x067662ce, + 0x0301b732, 0xc8329b01, 0x32c83131, 0x45eefe44, 0x9d01fdfe, 0x6221874b, 0x0028097d, 0x4c000400, 0xb406ab00, 0x1426e382, 0x28001e00, 0xe5835f00, + 0x421ddb5d, 0x112107a6, 0x32994a01, 0xe45db920, 0x60192106, 0x2408e45d, 0x02ac2a2e, 0x07566813, 0xfe580327, 0x030c03d7, 0x23244a07, 0x4a0e1321, + 0xb7200624, 0x270eec5d, 0x2b292e28, 0x0296fed5, 0x2a065a68, 0x279e2840, 0x17101014, 0x49351d0c, 0x11210fc5, 0x0ec54910, 0x00820020, 0x73010430, + 0x8d0502ff, 0x4c001a05, 0xb4007d00, 0x1772e000, 0x4a172017, 0x072106e2, 0x22018406, 0x4a011e15, 0x0d8405f2, 0x22230622, 0x21051157, 0x17823727, + 0x4b0c2272, 0x27210a32, 0x06596b26, 0x2306364b, 0x32363701, 0x54855586, 0x07010e23, 0x33684121, 0x648a0120, 0x211d5149, 0x92675002, 0x28620811, + 0x101d1d28, 0x120a0a11, 0x1a171812, 0x1313331d, 0x11110b0b, 0x2c2c1f20, 0x24232f36, 0x15141c1b, 0x1c0d4f0f, 0x1d2d1211, 0x4045423d, 0xfe800347, + 0x238f2439, 0x1d1b1c33, 0x2a1b321e, 0x0a0b0f0f, 0x0f401005, 0x3713110b, 0x51662626, 0x0e0e1c1b, 0x1d161619, 0x691a201e, 0xfd52011b, 0x03d6fea7, + 0x9349030b, 0x1e373508, 0x2c3e100f, 0x222d392d, 0x14143423, 0x0d0d4e0f, 0x1b2c220e, 0x21069249, 0x074c3b0f, 0x50022405, 0x4b2438fe, 0x2a2107b3, + 0x08b34b1e, 0x5e854b20, 0xb34b1820, 0x10357208, 0x0b0c2708, 0x1f211617, 0x191a2029, 0x0d0c1414, 0x1a060406, 0x1c1d1415, 0x24242c25, 0x0e0e191a, + 0x11110a0a, 0x3e171615, 0x3d722214, 0x4b752009, 0x1c260961, 0x0e0e111c, 0x644b1314, 0x0e0d2107, 0x2305654b, 0x1f1f4429, 0x2105664b, 0x224c4605, + 0x4b62202b, 0x042028bb, 0x2806274f, 0x000f0056, 0x0337002e, 0x135b5e8f, 0x26243f6f, 0x27022605, 0x18011d33, 0x18223546, 0xc9158a45, 0xa65fa638, + 0x4a461826, 0x18152019, 0x22153d46, 0x183d3701, 0x94147745, 0xb3451814, 0xa6119111, 0xcc26a638, 0x3335215f, 0x103f4618, 0x663a0128, 0x01c901b2, + 0xf6706b06, 0x27282105, 0x2312f670, 0x5f18eb01, 0x4f034618, 0x0e03012d, 0x0e040c04, 0x0e380e04, 0x82390e7c, 0x04461807, 0x64012852, 0x7a186219, + 0x820f390f, 0x040b3a6b, 0x3d0f030e, 0xfdfc020f, 0x594502bb, 0x42b0fd59, 0x3d3c7f42, 0x2f38373c, 0x077a7130, 0x71343021, 0x4a200a7a, 0x03da4510, + 0x00002f55, 0x47000500, 0xb906ab00, 0x1e006103, 0x0b822f00, 0x70005828, 0x0e010000, 0xd76c0701, 0x05c67a0a, 0x14823320, 0x7b06d96c, 0x0520243e, + 0x013925a4, 0x103d0f10, 0x10046c6c, 0x791e1040, 0x9f287e1e, 0x2bad2b28, 0x02882283, 0x18d27a63, 0x07060627, 0x0231100f, 0x08209e52, 0x12f00122, + 0x02cf1246, 0x15acfe9e, 0x91251451, 0x2fbc2f24, 0x41fefe41, 0xf0fed134, 0x4040592e, 0x41405253, 0x3506797a, 0x2b49341b, 0x34482c76, 0x24341b1b, + 0x2b762c24, 0x1a1b2325, 0x24a35c1b, 0x06000022, 0x3a08934e, 0x0042002f, 0x008d0063, 0x00a00098, 0x21300500, 0x37303530, 0x35363736, 0x49343530, + 0x362a0adb, 0x32013e37, 0x1617011e, 0x814a1415, 0x0e072505, 0x05210701, 0x21052a56, 0x1d823435, 0x7c363721, 0x3d830693, 0x2105554d, 0x01822726, + 0x2f852220, 0x2305dd75, 0x01161716, 0x08514218, 0x2022f74e, 0x0cf27912, 0xfe450324, 0x1153d639, 0x055a5509, 0x4c1c1c2c, 0x0e375066, 0x160c0d0f, + 0x13531d17, 0x49012606, 0x3c2e2e3f, 0x0800820e, 0x2e2e3c23, 0x76767c3f, 0x1819227c, 0x06070f10, 0x100f0706, 0x18451918, 0x06100f19, 0x10060707, + 0xfe18190f, 0x200e4f89, 0xfb3d7426, 0x72726e3a, 0x2c0c0f4f, 0x2ebf68f2, 0x0c2f292a, 0x1d113831, 0x06c34926, 0x1b17172a, 0x2524351e, 0x2223282b, + 0x2207c349, 0x7c181767, 0x1733072e, 0xb8feb718, 0x0e0e5cb6, 0x24231a1a, 0x242c752d, 0x821a1a24, 0x1a0e29a1, 0x2c24231b, 0x23242d75, 0x03210e83, + 0x1f2d4f77, 0x014f0123, 0x0a2f4f4f, 0x00002008, 0x0b010600, 0xf50568fe, 0x1f000f05, 0x41003900, 0x55004b00, 0x00006f00, 0x22233001, 0x4e013d26, + 0x062014fd, 0x671afd4e, 0x012007f6, 0x20128777, 0x65411805, 0x112e080d, 0x13331123, 0x33373633, 0xe5022311, 0x3835395f, 0x11201f5b, 0x25262a12, + 0x36823536, 0x29262635, 0xa1676b7c, 0x0d2d4027, 0x2d0d0c0c, 0x09822740, 0x0d0d0c2d, 0x02402d0c, 0x01c76ded, 0x793bfbfb, 0x042b0cff, 0x23090515, + 0x18621909, 0x82196218, 0x67053908, 0x5a06b480, 0xfe677b59, 0x32313a68, 0x2b2b3407, 0x554c3e3d, 0x172b2c81, 0x2b3d0082, 0x9655812c, 0xa24513ad, + 0x2525331a, 0x252e6a2d, 0x1b1b3324, 0x2e252433, 0x25252d6a, 0x08ec6733, 0x76240121, 0x292d09e2, 0x3e2b282e, 0x2c124912, 0xb32d2db3, 0x3908822c, + 0x9e02fffd, 0xaaababfe, 0x000062fd, 0x85000200, 0x7b065400, 0x3400b803, 0x7f644d00, 0x131a4135, 0x33133d08, 0xb7012311, 0x10359469, 0x362c103e, + 0x51514435, 0x25264939, 0x2a3e3d7a, 0x5f436c4c, 0x5b314546, 0x465d2103, 0x20272848, 0x7e4a4421, 0x714e2975, 0x0b06fa03, 0x81130b2c, 0x13812423, + 0x06270882, 0x07e1a182, 0x64829ae0, 0x022a2d8c, 0x175a178f, 0x4040ec22, 0x088222ec, 0x037ffd38, 0x0156fe46, 0x00bafcaa, 0xb5000300, 0x4b066300, + 0x0b00a903, 0xad7b1500, 0x01092119, 0x3c11d576, 0x746801b6, 0xe1747f7f, 0x393934d8, 0x5a03d834, 0x178cedfe, 0x370a1758, 0x380f050f, 0x3409820a, + 0x2eba2e88, 0x89460363, 0xb2fe89e6, 0x3236c501, 0xfd36323a, 0x05a17631, 0x37c82522, 0x200aa176, 0x50008200, 0x6120071b, 0x2006bf45, 0x46bd457e, + 0x0834ce4e, 0x3d101521, 0x036d6d0f, 0x1f104010, 0x287f1e78, 0xac2b27a0, 0x8722832b, 0x5c3f6302, 0x0e0e0f3b, 0x445c3b0f, 0x31280543, 0x1f0d0d1f, + 0x1f314531, 0x22053b44, 0x501a0331, 0xdf453250, 0xef01213e, 0x3a2c7150, 0xff5b0105, 0x05a50502, 0x0034001a, 0x0048003e, 0x00a20081, 0x26220500, + 0x79373627, 0x3f54079f, 0x07022510, 0x2223012e, 0x180f3f54, 0x8914654b, 0x29016945, 0x570d5976, 0x162a0eb1, 0x02010e17, 0x2a765550, 0xc77f2625, + 0x1a0b2314, 0xc87f091e, 0x2d01210d, 0x35054544, 0x2e2aacb3, 0xfeac2a2e, 0x2b76542c, 0x2a242526, 0x4240372b, 0x40691618, 0x190d2111, 0x760e4069, + 0x21080574, 0x41692425, 0x2d227558, 0x3b48112e, 0x4e58584e, 0x0a134b3d, 0xfd79224d, 0x2323343d, 0x3916162b, 0x8c542731, 0x160a230e, 0x8d54081b, + 0xbf4b1812, 0x2e292507, 0x18012b28, 0x50693d89, 0xb12a0826, 0x404055a9, 0x4d2d2c2d, 0x3019194b, 0x665d6a39, 0x313e695d, 0x52492f06, 0x04000000, + 0xb7002e00, 0x5603d206, 0x27000f00, 0x41183600, 0xd55e15e7, 0x61132015, 0x6225182d, 0xfc01c86c, 0x09ad5570, 0x40ed832b, 0x28252569, 0x69252528, + 0x05f66040, 0x41188120, 0x022009e8, 0x2705bb70, 0x2a2a9e02, 0x7da87d2a, 0x60270582, 0x5b6c5b5e, 0x8222fe5e, 0x06002d9e, 0x02ff4b01, 0x1a05b505, + 0x1e001500, 0x4930ab82, 0xd8016e00, 0x30050000, 0x30213035, 0x37123635, 0x2e053d74, 0x30233015, 0x30253015, 0x30113033, 0x5e010e23, 0x3e200714, + 0x08d34418, 0x3d480120, 0x012e2307, 0x197e0622, 0x021e2407, 0x6a262201, 0x816d0800, 0x06072206, 0x8146181d, 0x33352b0e, 0x010f2311, 0x150e0f15, + 0x05840d0f, 0x0b910882, 0x012e0527, 0x3f353727, 0x2002840b, 0x8805840a, 0x9306200b, 0x33073c17, 0x02153311, 0x2dc9fea1, 0x5c8e2db5, 0xdbbffe5c, + 0x028e2307, 0x3c5c3eaf, 0x181d0f0e, 0x2009bd44, 0x26008207, 0x45310f0f, 0x820f1031, 0x1f073909, 0x83eefd31, 0x68492796, 0x3b3b5841, 0x103c0f21, + 0x4d3b4811, 0x2c2d2d2c, 0x0ad84918, 0x08bc2f22, 0x2e3b4c18, 0x0b222eeb, 0x6ed20b2c, 0x53d20220, 0xa6010124, 0x4a18f2a3, 0xfe290ea5, 0x40582fe2, + 0x83515241, 0xaa451858, 0x25243b07, 0x252b752c, 0x1c1a1a24, 0x241a1a1c, 0x2c752b25, 0x1c332425, 0xa9b10603, 0x48188055, 0x342c0f61, 0x2309313e, + 0x29294909, 0xf5015a0b, 0x54d0b1d4, 0x0a280a22, 0x508953d0, 0x8655b641, 0xbcfd235f, 0x0082005a, 0x00023508, 0x065f025c, 0x007105a4, 0x001b0003, + 0x15211300, 0x37270121, 0x15333517, 0x33071737, 0x07172315, 0x35231527, 0x23372707, 0x48065c35, 0xc204b8f9, 0x3c8c2a8c, 0xc6210382, 0x240887c6, + 0x0246a502, 0x84118c22, 0x0000261a, 0xff5c0001, 0x225b8225, 0x821400d6, 0x32380859, 0x053e012c, 0x2e341135, 0x23022c03, 0x34019d5c, 0xc7f60501, + 0x2e5b7fad, 0xccaa6f3c, 0xe5fef8fe, 0x02ada9fe, 0x725633a5, 0x667a837e, 0x4ff90e47, 0x907d5b15, 0x3e688691, 0x0124478d, 0x2e012c22, 0x3e204783, + 0x33274782, 0xfe9da406, 0x89fbfecc, 0x08012548, 0x57011b01, 0xef824896, 0x2a000532, 0xd60638ff, 0x04009405, 0x44004000, 0x08014b00, 0x302b9b82, + 0x04210721, 0x07030e22, 0x5707040e, 0x352e06eb, 0x32333634, 0x32041e17, 0x3e37033e, 0x0c833704, 0x16171624, 0x1e831415, 0x03032e39, 0x01211521, + 0x25052315, 0x34253523, 0x3233023e, 0x32361716, 0x8217031e, 0x06142126, 0x36210583, 0x25058332, 0x37013e17, 0x4782033e, 0x40843620, 0x1e222883, + 0x0c863101, 0x33231784, 0x83021e32, 0x215b8529, 0x61851415, 0x2e272629, 0x35343501, 0x8327022e, 0x010e2e6e, 0x0e272223, 0x22060701, 0x0e070627, + 0x830c8603, 0x82022006, 0x83b0840e, 0x21038626, 0xba82022e, 0x34273b08, 0x0e35010e, 0x27262701, 0x35161726, 0x37062734, 0x23363734, 0x015c2622, + 0x62fe46e4, 0x6154e004, 0x0f2f4f50, 0x403c1507, 0x4b522c5b, 0x354da793, 0x1b151d08, 0x4f2f0f0f, 0x1b9a6150, 0x01ddd408, 0xfe62fee4, 0x00019610, + 0xfc960001, 0x240e047a, 0x0b1b131a, 0x0c171f0e, 0x11020208, 0x0211151b, 0x38040706, 0x1010072e, 0x10020c0e, 0x0c060308, 0x090a0c13, 0x39530b06, + 0x2c040d13, 0x180c1128, 0x0c2f411e, 0x040d151d, 0x13241a0e, 0x1e271420, 0x0a11140c, 0x2f090909, 0x012c2149, 0x0f121a13, 0x06100418, 0x1425210f, + 0x192a100f, 0x2410171c, 0x0d210912, 0x1a132e0e, 0x0718133b, 0x380d0607, 0x1b0e2909, 0x0d111a14, 0x07122f34, 0x11191008, 0x10160b0a, 0x171c1010, + 0x0c22180f, 0x1108221a, 0x01030d16, 0x27061716, 0x01021a03, 0x03011008, 0x07080201, 0xb9021a12, 0x422fbb6e, 0x09173c52, 0x4b424a1d, 0x4ea72d18, + 0x150f0d4d, 0x3c17161d, 0x972f4252, 0x01900818, 0x25016e58, 0xfaf0f0fa, 0x291d0da0, 0x071b151a, 0x111d110e, 0x3a26170e, 0x0d0c020b, 0x37050507, + 0x100b0910, 0x0c080409, 0x41040d67, 0x373b1f27, 0x070e1860, 0x17121d11, 0x0f150926, 0x43520110, 0x12043804, 0x08340105, 0x0c101711, 0x030b122d, + 0x423e0804, 0x1d2f070b, 0x450b2411, 0x1c141110, 0x0e1d0f33, 0x4d0a5d09, 0x0c18180c, 0x17022d41, 0x08172116, 0x1b0c1105, 0x05222614, 0x0319220e, + 0x0c020717, 0x0502030c, 0x02041102, 0x01040202, 0x02240382, 0x00171a07, 0x0807b343, 0x0b004925, 0x00000f00, 0x15331501, 0x35231523, 0x35333523, + 0x21152101, 0xb4b49805, 0xfbb4b464, 0xf9480628, 0x834905b8, 0xb464380b, 0x00465cfd, 0xff530005, 0x058c063e, 0x000600a7, 0x002c0028, 0x82370030, + 0x3311293d, 0x1133010b, 0x27072327, 0x03200183, 0x0b260584, 0x021b3502, 0x01821737, 0x05841320, 0x21331729, 0x022b1533, 0x85373335, 0x042e082d, + 0xcecea0a1, 0x4ac936a0, 0x2f303f33, 0x373a3a3f, 0x36103119, 0x37272737, 0x19311036, 0x3f3a3a37, 0x333f302f, 0xf201c94a, 0x73bc8a8a, 0x2c838873, + 0x08024708, 0x2201b001, 0x50fedefe, 0xa93ed63a, 0xfee3cd72, 0x6a8b54fc, 0xd4fe92df, 0xeb010401, 0x01eb0189, 0xb7affe04, 0x548b6adf, 0xcde3fcfe, + 0xd63ea972, 0xfe3a6161, 0x01defe50, 0x00b00122, 0x5c000300, 0xa40637ff, 0xbb82e005, 0x3b000d22, 0x2326b783, 0x11230109, 0x06841103, 0x012f0122, + 0x0585bf85, 0x0f840f20, 0x1f020f22, 0x3f23c482, 0x85011f01, 0x280586c4, 0x01c83403, 0xc8140114, 0x3d068598, 0x7238d802, 0x484b604e, 0x545a5a60, + 0x54184b27, 0x4b394b45, 0x39155a36, 0x15392525, 0x0c82365a, 0x18544531, 0x5a54274b, 0x4b48605a, 0x01724e60, 0x84fcfe5d, 0x02042294, 0x83b9825d, + 0xfc3008d1, 0x381bc8fe, 0x512d4204, 0x37216659, 0x8448582a, 0x4b645a70, 0x438f523b, 0x8f4a656c, 0x644b3b52, 0x4884705a, 0x21372a58, 0x2d515966, + 0x00380442, 0x023b0082, 0x22ff4b00, 0xd005b506, 0x2a000900, 0x15050000, 0x2115012d, 0x35010d35, 0x8b171301, 0x8d3f20ad, 0x070324d9, 0x836d0103, + 0x2604227e, 0x087a8201, 0x4ed3fa26, 0x621f6d6e, 0x75756d32, 0x7d615e7d, 0x49499466, 0x617d6694, 0x75757d5e, 0x1f62326d, 0x3e4e6e6d, 0xa0cecea0, + 0x33080383, 0x7efe5403, 0xb073eccd, 0xcc426e54, 0x8459a1b2, 0x35369931, 0x59843199, 0x42ccb2a1, 0x90b0546e, 0xfecd0901, 0x0200007e, 0x6aff5e00, + 0x7b05a206, 0x1f000b00, 0x300e5b42, 0x27032703, 0x1127020b, 0x37021b37, 0x21133713, 0x06694215, 0x87c7fe21, 0x21868774, 0x7742a702, 0xf0fc3307, + 0xfe629dfe, 0xbefeb2f7, 0x67fe6501, 0x84070584, 0x098267fe, 0xfeb2be2f, 0x9dfe62f7, 0x00030074, 0x063eff53, 0x069342af, 0x00002f2c, 0x0d352113, + 0x03213501, 0x07412115, 0x05804205, 0x35021b22, 0xa0427982, 0x03072109, 0xcb202685, 0x22075442, 0x42450355, 0x3b21068c, 0x0b8c4236, 0x423b3621, + 0x9620068c, 0x28074b42, 0xcea00304, 0xfcfea0ce, 0x26864261, 0x839bfe21, 0x8200202f, 0x00042800, 0x065effc8, 0x82a60538, 0x000f2bb5, 0x001f001b, + 0x21352500, 0x7f430315, 0x2e0b8b0b, 0x04112311, 0xb4cc016c, 0xb464b4b4, 0x84c0fcb4, 0x31022706, 0x6464a05a, 0x95439c04, 0x5cfe2105, 0x02250785, + 0x06b8f90e, 0x21628248, 0x8f470100, 0xa5022105, 0x002c6382, 0x21152113, 0xf948065c, 0x46a502b8, 0x053a1c82, 0x08ff5601, 0x1505aa05, 0x39000f00, + 0x65004500, 0x00008f00, 0x11333505, 0x715e0623, 0x11332a05, 0x14011533, 0x07020e07, 0x058b5523, 0x82012e21, 0x020e211a, 0x12525018, 0x50180420, + 0xe84b0a86, 0x0d146308, 0x1e373628, 0x07061701, 0xce672506, 0x2726210f, 0x3210136a, 0x15210706, 0x07bc9c01, 0x2c0b3765, 0xa56e3d0b, 0x671c02a3, + 0x382c05da, 0x2d22215b, 0x0104020d, 0x250e0f0a, 0x12205018, 0x75d9fe32, 0x41754242, 0x958456fe, 0x41694926, 0x5b227657, 0x1806104e, 0x0808aa52, + 0xfee2025f, 0x3307cf39, 0x323b1b1c, 0x151e2a1b, 0x0a332c05, 0x4c371312, 0x1b1c5066, 0x2c190e0f, 0x4f201e1d, 0xf852014f, 0x6bf5015b, 0x0a270a3b, + 0xbcfd7743, 0x49a5015b, 0x556b4140, 0x284d2a1b, 0x01365929, 0x12121401, 0x0e0f101a, 0x31304c37, 0x1e1e2a2b, 0x44131221, 0x3e923030, 0x3f3c0e3c, + 0x3104823f, 0xa9b2ca01, 0x2d588154, 0x2f314b4d, 0x655d6a39, 0x8b4a6a5d, 0xb8682f08, 0x2a292f07, 0x38310c2e, 0x16271d10, 0x9f691411, 0x1d1b390d, + 0x5c43441c, 0x04000000, 0x08ff2e01, 0x1505c705, 0x35001300, 0x86004d00, 0x23130379, 0x30013011, 0x2310b552, 0x13303330, 0x11220386, 0x21822330, + 0x6d15514e, 0x01213727, 0x088e612e, 0x0905c437, 0x62180923, 0x18621819, 0x05082409, 0x06b38168, 0xfc687bb4, 0x3b3a6d2b, 0x9f02f832, 0xfe60bb60, + 0x120102dc, 0xb32d1248, 0x2db32c2c, 0xfd2b0882, 0xfe9f02ff, 0xfd5501ab, 0x84620361, 0x61c32220, 0xc441180b, 0x7817200a, 0x450805ec, 0x242c515c, + 0x1a1b3124, 0x2d0b321b, 0x2e28220b, 0x15152a2c, 0x5c130d0a, 0x27262f51, 0x001e1b1b, 0x006b0001, 0x049506d3, 0x00440031, 0x16320100, 0x0e071415, + 0x23060702, 0x27052e22, 0x23262726, 0x07060722, 0x1083010e, 0x35264508, 0x37363734, 0x3233063e, 0x1617051e, 0x32331617, 0x3f013e37, 0x06023e01, + 0x072a1e4c, 0x3266240b, 0x522a6e72, 0x362f4442, 0x2149131b, 0x43305d70, 0x10125946, 0x1e14110d, 0x0a04122a, 0x30381c14, 0x264d4043, 0x3108218b, + 0x572a4832, 0x0b031615, 0x2aca021f, 0x160f111e, 0x72329341, 0x39472a1e, 0x84242e55, 0x4643a831, 0x08151e98, 0x1c1e2a0a, 0x22110614, 0x443a522e, + 0x1d891d2a, 0x7c2a4828, 0x0e072828, 0x00820013, 0x1e00033e, 0xce0649ff, 0x0b00cc05, 0x4e002b00, 0x14040000, 0x22212306, 0x33363426, 0x22253221, + 0x0127b883, 0x3233013e, 0x82210117, 0x82e28203, 0x012729de, 0x09272221, 0x13010e01, 0x0620f384, 0x1582e682, 0x82012f21, 0x3336252c, 0x03011f32, + 0x17210885, 0x08e48213, 0x1d0b0238, 0x159ffe15, 0x01151d1d, 0x8afe1561, 0x01021d15, 0x111a0561, 0x82010f19, 0x0f1c8c01, 0x1d078d01, 0xfe0f1c15, + 0x1977fe82, 0xfeaafe0f, 0x9a1a05bc, 0x011a0f0a, 0x54820301, 0x05055408, 0x0a0f0fd2, 0xa38b0505, 0x0e0a0f03, 0x0111a408, 0x1d2a700e, 0x5d1d2a1d, + 0x0707151d, 0x1410a604, 0x18effd15, 0x0e0c80fd, 0x02181d15, 0xd4011568, 0x1410bbfb, 0x0a0f4a05, 0x0403e101, 0x02040407, 0x0a10075b, 0x013d020f, + 0x0a070615, 0xe9fe0c0f, 0x840d0995, 0x844620f3, 0x841420f3, 0xad4f20f3, 0x830120f3, 0x010f22f3, 0x24e98225, 0x07141516, 0x06734b05, 0x23012f24, + 0xf7822726, 0x3f363726, 0x9c033601, 0x6f20f482, 0x9123f484, 0xa2f9fc15, 0x52033ef4, 0x48040f0a, 0x04042d01, 0xfe110f0a, 0x0f0d89c7, 0xba05070a, + 0x04030501, 0x6c020101, 0x3df6a307, 0x070b0e03, 0x01687906, 0x05120b0e, 0x0f074d6d, 0x69030f0a, 0x08060503, 0x03020404, 0xf6820cb4, 0x00030022, + 0xb020f785, 0x5120f784, 0x3421f7ae, 0x22f98236, 0x83373613, 0x07142406, 0x82270706, 0x22232104, 0xf941f583, 0x16172407, 0x82410517, 0x845b20f9, + 0x15a523f9, 0xf9a354fb, 0x140fb32e, 0x068d010f, 0x050f1408, 0x12022196, 0x092bf183, 0x6b4f0607, 0x0d0a0f05, 0xa3375a07, 0x0a8d3ffa, 0xfe0a0f0f, + 0x0806bd54, 0x06090a0f, 0x13052dc7, 0x06010105, 0x06916a06, 0x0a0f0a09, 0xf3414a79, 0x05e22108, 0x2005f341, 0x41fbae50, 0x022206ec, 0x09853707, + 0x4d010f21, 0x34210585, 0x06eb4223, 0x36011f24, 0xfa82ce06, 0xfa847320, 0xf9158d23, 0x3efaa2c7, 0x1206e605, 0x5f010f0a, 0x0707a328, 0xe00b0f0a, + 0x06070807, 0x62010307, 0x110a0f02, 0xa22a4c06, 0x9e043ef9, 0x040a0f11, 0x74e2fe04, 0x0a0f046b, 0x0493070e, 0x01070404, 0x05040d01, 0xcc110f0a, + 0x08f7827d, 0x7d00022f, 0x83067cff, 0x0600b605, 0x00001200, 0x0b371101, 0x00111701, 0x27220614, 0x36342601, 0x05011732, 0xe2e2b7cc, 0x2c0d01b7, + 0x90fa163e, 0x35058216, 0xb6057005, 0xfe469afe, 0x462101df, 0x31fa6601, 0x05162c3e, 0x05821670, 0x0090fa23, 0x204f8b00, 0x294f881f, 0x23061401, + 0x012c3122, 0x0f410027, 0x17162606, 0x05000112, 0x385c891e, 0xddfe011f, 0xfebd14fe, 0x2c017588, 0x05291c1f, 0x0157016c, 0x1f120252, 0x386b8c2b, + 0x052c1f12, 0x7801bdc6, 0x0706ae02, 0x1b242c1f, 0xa9fe82fd, 0x010aaefe, 0x2077842c, 0x20c7825f, 0x34c78583, 0x1b071105, 0x24112701, 0x37342622, + 0x16323601, 0x05010714, 0x21c78376, 0xae8a1bfb, 0x6601a02b, 0xfe210146, 0x9afe46df, 0x83d8841d, 0x85c583de, 0x224f87c7, 0x8600002f, 0x05f0444f, + 0x3e373626, 0x24363706, 0x2606e243, 0x04060706, 0x8207020e, 0x07062202, 0x0865860e, 0x1ffcfa28, 0x5331062c, 0x2a3f2322, 0x27493840, 0x01b60192, + 0x1f04034c, 0xb61d272c, 0xa3d0e2fe, 0x461f3472, 0x33532b2f, 0x818c2608, 0x0f1f2408, 0x5ad7760e, 0x7b569959, 0x92275d55, 0x2c0120a8, 0x032b1d1f, + 0x865c4312, 0x9f3b6495, 0x78d96f78, 0x82001915, 0x00043400, 0x0644ff46, 0x00b405ce, 0x000e000d, 0x00300020, 0x45330100, 0x23270a7d, 0x01032531, + 0x4523010e, 0x09280a9d, 0x15163201, 0x06010714, 0x36231486, 0x4564ab04, 0x87280a5d, 0xfeef6ffe, 0x111a05bc, 0x290a9542, 0x1f310215, 0x49fc0c2c, + 0x06822916, 0x16b70324, 0x4a45ee02, 0x01a12609, 0x10bbfb48, 0x08664514, 0x0284fe2a, 0x161f2c30, 0x2327fa12, 0x05220683, 0xa68223d9, 0x0e240282, + 0x0100ae00, 0x02850782, 0x0b860220, 0xb7820120, 0x0b861f20, 0x07000224, 0x0b863d00, 0x26000324, 0x0b869300, 0x23820420, 0x0b86d620, 0x0f000524, + 0x0b860401, 0x0c00062b, 0x03002e01, 0x09040100, 0x85008500, 0x0001240b, 0x8603001a, 0x00022417, 0x862d000e, 0x0003240b, 0x8645004c, 0x8204200b, + 0x86ba2023, 0x0005240b, 0x86e4001e, 0x0006240b, 0x83140118, 0x0046304c, 0x00720075, 0x0061006e, 0x00650063, 0x82490020, 0x826f2007, 0x00732e0f, + 0x72754600, 0x6563616e, 0x6f634920, 0x200e826e, 0x201f8252, 0x202d8267, 0x282b826c, 0x52000072, 0x6c756765, 0x21088261, 0x2f830046, 0x83007421, + 0x00722207, 0x20458467, 0x9949823a, 0x00202159, 0x32221f83, 0xb2823800, 0x30003122, 0x32200582, 0x32220582, 0x73823300, 0x746e6f2a, 0x67726f46, + 0x203a2065, 0x0f827f8c, 0x2d383228, 0x322d3031, 0x27833230, 0x5620b6a8, 0x72249082, 0x69007300, 0x2020a684, 0x30246882, 0x2e003100, 0x30300784, + 0x65560000, 0x6f697372, 0x3030206e, 0x30302e31, 0xb68d1082, 0x41110e41, 0x0024060d, 0x00020000, 0x0120008b, 0x0b840c8b, 0x05825720, 0x0001b208, + 0x01030002, 0x01030102, 0x01050104, 0x01070106, 0x01090108, 0x010b010a, 0x010d010c, 0x010f010e, 0x01110110, 0x01130112, 0x01150114, 0x01170116, + 0x01190118, 0x011b011a, 0x011d011c, 0x011f011e, 0x01210120, 0x01230122, 0x01250124, 0x01270126, 0x01290128, 0x012b012a, 0x012d012c, 0x012f012e, + 0x01310130, 0x01330132, 0x01350134, 0x01370136, 0x01390138, 0x013b013a, 0x013d013c, 0x013f013e, 0x01410140, 0x01430142, 0x01450144, 0x01470146, + 0x01490148, 0x014b014a, 0x014d014c, 0x014f014e, 0x01510150, 0x01530152, 0x6e750754, 0x46304569, 0x20078630, 0x20078631, 0x20078632, 0x20078633, + 0x21078434, 0x27853031, 0x85303121, 0x30312127, 0x31212785, 0x21278530, 0x27873031, 0x2f863520, 0x07863620, 0x07863720, 0x07863820, 0x07863920, + 0x07864120, 0x07864220, 0x07864320, 0x07864420, 0x07864520, 0x07854620, 0x86303121, 0x86312007, 0x207f8607, 0x207f8631, 0x207f8631, 0x207f8631, + 0x207f8631, 0x207f8631, 0x207f8631, 0x207f8631, 0x207f8631, 0x207f8631, 0x207f8631, 0x207f8631, 0x207f8631, 0x217f8631, 0x77853032, 0x86313221, + 0x207f8607, 0x207f8632, 0x207f8632, 0x207f8632, 0x207f8632, 0x207f8632, 0x207f8632, 0x207f8632, 0x207f8632, 0x207f8632, 0x207f8632, 0x207f8632, + 0x207f8632, 0x217f8632, 0x77853033, 0x86313321, 0x207f8607, 0x207f8633, 0x207f8633, 0x207f8633, 0x207f8633, 0x207f8633, 0x207f8633, 0x207f8633, + 0x207f8633, 0x207f8633, 0x207f8633, 0x207f8633, 0x207f8633, 0x217f8633, 0x77853034, 0x86313421, 0x207f8607, 0x207f8634, 0x207f8634, 0x207f8634, + 0x207f8634, 0x207f8634, 0x207f8634, 0x207f8634, 0x207f8634, 0x207f8634, 0x287f8634, 0x00004434, 0xffff0100, 0x07494500, 0x0c000026, 0x04001400, + 0x02241582, 0x01000000, 0x09850386, 0x55e00024, 0x11822068, 0x0c6f7718, 0xeedffa05, 0x0000fbf9, }; diff --git a/src/gui/furIcons.h b/src/gui/furIcons.h index 718e6822b..26eca38c4 100644 --- a/src/gui/furIcons.h +++ b/src/gui/furIcons.h @@ -1,7 +1,7 @@ // not auto-generated. update every time you change icons.ttf! #define ICON_MIN_FUR 0xe0f0 -#define ICON_MAX_FUR 0xe158 +#define ICON_MAX_FUR 0xe14d // test #define ICON_FUR_TEST0 u8"\ue0f0" @@ -82,18 +82,6 @@ #define ICON_FUR_SAMPLE_SIGN u8"\ue140" #define ICON_FUR_SAMPLE_TRIM u8"\ue141" -// waveforms -#define ICON_FUR_NOISE u8"\ue14f" -#define ICON_FUR_PULSE1 u8"\ue150" -#define ICON_FUR_PULSE2 u8"\ue151" -#define ICON_FUR_PULSE3 u8"\ue152" -#define ICON_FUR_PULSE4 u8"\ue153" -#define ICON_FUR_PULSE5 u8"\ue154" -#define ICON_FUR_PULSE6 u8"\ue155" -#define ICON_FUR_PULSE7 u8"\ue156" -#define ICON_FUR_SAW u8"\ue157" -#define ICON_FUR_TRI u8"\ue158" - // misc #define ICON_FUR_SINE u8"\ue144" #define ICON_FUR_ADSR_A u8"\ue145" @@ -104,5 +92,4 @@ #define ICON_FUR_DEC_EXP u8"\ue14a" #define ICON_FUR_INC_LINEAR u8"\ue14b" #define ICON_FUR_INC_BENT u8"\ue14c" -#define ICON_FUR_VOL_DIRECT u8"\ue14d" -#define ICON_FUR_ADSR u8"\ue14e" \ No newline at end of file +#define ICON_FUR_VOL_DIRECT u8"\ue14d" \ No newline at end of file From 686a9de143774d0b4876cd2549f97a8bc4ac0354 Mon Sep 17 00:00:00 2001 From: tildearrow Date: Sat, 28 Oct 2023 14:49:20 -0500 Subject: [PATCH 19/99] discourage use of backup system for auto-save --- doc/2-interface/menu-bar.md | 1 + src/gui/gui.cpp | 3 +++ 2 files changed, 4 insertions(+) diff --git a/doc/2-interface/menu-bar.md b/doc/2-interface/menu-bar.md index bb3a520cb..6d6b899bc 100644 --- a/doc/2-interface/menu-bar.md +++ b/doc/2-interface/menu-bar.md @@ -49,6 +49,7 @@ items in _italic_ don't appear in basic mode and are only available in advanced - macOS: `~/Library/Application Support/Furnace/backups` - Linux/other: `~/.config/furnace/backups` - this directory grows in size as you use Furnace. remember to delete old backups periodically to save space. + - **do NOT rely on the backup system as auto-save!** you should save a restored backup because Furnace will not save backups of backups. - **exit**: closes Furnace. diff --git a/src/gui/gui.cpp b/src/gui/gui.cpp index 6dedb529c..2a4bc8a0a 100644 --- a/src/gui/gui.cpp +++ b/src/gui/gui.cpp @@ -2237,6 +2237,9 @@ int FurnaceGUI::load(String path) { if (settings.playOnLoad==2 || (settings.playOnLoad==1 && wasPlaying)) { play(); } + } else { + // warn the user + showWarning("you have loaded a backup!\nif you need to, please save it somewhere.\n\nDO NOT RELY ON THE BACKUP SYSTEM FOR AUTO-SAVE!\nFurnace will not save backups of backups.",GUI_WARN_GENERIC); } return 0; } From d4b392a4238ecbf43f16723ac5d4e43fcac47a3f Mon Sep 17 00:00:00 2001 From: tildearrow Date: Sat, 28 Oct 2023 15:05:03 -0500 Subject: [PATCH 20/99] fix font --- res/icons.sfd | 301 ++++++++++++++++- res/icons.ttf | Bin 30848 -> 31848 bytes src/gui/font_furicon.cpp | 708 ++++++++++++++++++++------------------- 3 files changed, 659 insertions(+), 350 deletions(-) diff --git a/res/icons.sfd b/res/icons.sfd index 49866fbb7..a04f40897 100644 --- a/res/icons.sfd +++ b/res/icons.sfd @@ -21,7 +21,7 @@ OS2Version: 0 OS2_WeightWidthSlopeOnly: 0 OS2_UseTypoMetrics: 0 CreationTime: 1691897631 -ModificationTime: 1698475675 +ModificationTime: 1698523374 PfmFamily: 81 TTFWeight: 400 TTFWidth: 5 @@ -53,7 +53,7 @@ FitToEm: 0 WinInfo: 57552 16 10 BeginPrivate: 0 EndPrivate -BeginChars: 65536 84 +BeginChars: 65536 95 StartChar: space Encoding: 32 32 0 @@ -6212,7 +6212,7 @@ SplineSet 1313.81296866 1205.70701183 1324.99509776 1194.52475004 1324.99509776 1180.71191406 c 0 1324.99509776 1175.39825496 1323.31356069 1170.08459585 1319.95048655 1165.64179831 c 2 1319.95048655 1165.64179831 1169.74933909 967.202659181 1136.79718212 921.589936639 c 1 - 1136.79718212 921.589936639 1134.99509776 926.711914062 1134.99509776 926.711914062 c 0 + 1134.99509776 926.711914062 l 0 1134.99509776 914.405239676 1126.88992674 905.533770837 1116.96812187 902.69947513 c 0 1114.75667886 902.059674388 1112.41866713 901.716818782 1110 901.716816299 c 0 1109.21533751 901.716816299 1108.43915082 901.752904718 1107.67300982 901.823514982 c 0 @@ -6437,5 +6437,300 @@ SplineSet 1292.68183102 1432.4066172 1312.58964347 1459.29681673 1350.99804688 1459.29681673 c 0 EndSplineSet EndChar + +StartChar: uniE14E +Encoding: 57678 57678 84 +Width: 1792 +Flags: HW +LayerCount: 2 +Fore +SplineSet +120 10 m 0 + 106 10 94.1666666667 14.8333333333 84.5 24.5 c 128 + 74.8333333333 34.1666666667 70 46 70 60 c 0 + 70 64.6666666667 70.6666666667 69.3333333333 72 74 c 2 + 425 1264 l 2 + 428.333333333 1274.66666667 434.333333333 1283.33333333 443 1290 c 128 + 451.666666667 1296.66666667 461.666666667 1300 473 1300 c 0 + 489.666666667 1300 503 1293 513 1279 c 2 + 899 750 l 1 + 1295 750 l 2 + 1313.66666667 750 1328 742 1338 726 c 2 + 1735 86 l 2 + 1739.66666667 78 1742 69.3333333333 1742 60 c 0 + 1742 46 1737.16666667 34.1666666667 1727.5 24.5 c 128 + 1717.83333333 14.8333333333 1706 10 1692 10 c 0 + 1673.33333333 10 1659 18 1649 34 c 2 + 1267 650 l 1 + 874 650 l 2 + 857.333333333 650 844 657 834 671 c 2 + 492 1139 l 1 + 168 46 l 2 + 164.666666667 35.3333333333 158.666666667 26.6666666667 150 20 c 128 + 141.333333333 13.3333333333 131.333333333 10 120 10 c 0 +EndSplineSet +EndChar + +StartChar: uniE14F +Encoding: 57679 57679 85 +Width: 1792 +Flags: HW +LayerCount: 2 +Fore +SplineSet +651.5 1454 m 128 + 651.833333333 1454 671 1435 709 1397 c 0 + 710.333333333 1395.66666667 733 1164 777 702 c 1 + 827 1285 l 1 + 884 1341 l 1 + 941 1285 l 1 + 1055 528 l 1 + 1099 925 l 1 + 1156 981 l 1 + 1213 925 l 1 + 1276 510 l 1 + 1299 1361 l 1 + 1356 1417 l 1 + 1413 1361 l 1 + 1553 881 l 1 + 1592 572 l 1 + 1661 1170 l 1 + 1773 1157 l 1 + 1641 17 l 1 + 1584 -40 l 1 + 1527 17 l 1 + 1451 881 l 1 + 1404 1032 l 1 + 1373 -115 l 1 + 1316 -172 l 1 + 1259 -115 l 1 + 1165 498 l 1 + 1121 97 l 1 + 1064 40 l 1 + 1007 97 l 1 + 900 809 l 1 + 837 77 l 1 + 780 20 l 1 + 723 77 l 1 + 723 82.3333333333 699.666666667 328.333333333 653 815 c 1 + 651 778.333333333 648 730 644 670 c 0 + 637 561 637 561 637 561 c 1 + 497 0 l 1 + 440 -57 l 1 + 383 0 l 1 + 289 877 l 1 + 217 -59 l 1 + 160 -116 l 1 + 103 -59 l 1 + 19 1381 l 1 + 132 1387 l 1 + 168 777 l 1 + 175 877 l 1 + 263 1113 263 1113 263 1113 c 1 + 320 1169 l 1 + 377 1113 l 1 + 462 316 l 1 + 523 561 l 2 + 523.666666667 561 528.333333333 629.333333333 537 766 c 128 + 545.666666667 902.666666667 555.666666667 1040.16666667 567 1178.5 c 128 + 578.333333333 1316.83333333 587.333333333 1389.66666667 594 1397 c 2 + 650 1453 l 2 + 650.666666667 1453.66666667 651.166666667 1454 651.5 1454 c 128 +EndSplineSet +EndChar + +StartChar: uniE150 +Encoding: 57680 57680 86 +Width: 1792 +Flags: HW +LayerCount: 2 +Fore +SplineSet +404 70 m 1 + 1632 70 l 1 + 1632 -50 l 1 + 284 -50 l 1 + 284 1210 l 1 + 160 1210 l 1 + 160 1330 l 1 + 404 1330 l 1 + 404 70 l 1 +EndSplineSet +EndChar + +StartChar: uniE151 +Encoding: 57681 57681 87 +Width: 1792 +Flags: HW +LayerCount: 2 +Fore +SplineSet +588 70 m 1 + 1632 70 l 1 + 1632 -50 l 1 + 468 -50 l 1 + 468 1210 l 1 + 160 1210 l 1 + 160 1330 l 1 + 588 1330 l 1 + 588 70 l 1 +EndSplineSet +EndChar + +StartChar: uniE152 +Encoding: 57682 57682 88 +Width: 1792 +Flags: HW +LayerCount: 2 +Fore +SplineSet +772 70 m 1 + 1632 70 l 1 + 1632 -50 l 1 + 652 -50 l 1 + 652 1210 l 1 + 160 1210 l 1 + 160 1330 l 1 + 772 1330 l 1 + 772 70 l 1 +EndSplineSet +EndChar + +StartChar: uniE153 +Encoding: 57683 57683 89 +Width: 1792 +Flags: HW +LayerCount: 2 +Fore +SplineSet +956 70 m 1 + 1632 70 l 1 + 1632 -50 l 1 + 836 -50 l 1 + 836 1210 l 1 + 160 1210 l 1 + 160 1330 l 1 + 956 1330 l 1 + 956 70 l 1 +EndSplineSet +EndChar + +StartChar: uniE154 +Encoding: 57684 57684 90 +Width: 1792 +Flags: HW +LayerCount: 2 +Fore +SplineSet +1140 70 m 1 + 1632 70 l 1 + 1632 -50 l 1 + 1020 -50 l 1 + 1020 1210 l 1 + 160 1210 l 1 + 160 1330 l 1 + 1140 1330 l 1 + 1140 70 l 1 +EndSplineSet +EndChar + +StartChar: uniE155 +Encoding: 57685 57685 91 +Width: 1792 +Flags: HW +LayerCount: 2 +Fore +SplineSet +1324 70 m 1 + 1632 70 l 1 + 1632 -50 l 1 + 1204 -50 l 1 + 1204 1210 l 1 + 160 1210 l 1 + 160 1330 l 1 + 1324 1330 l 1 + 1324 70 l 1 +EndSplineSet +EndChar + +StartChar: uniE156 +Encoding: 57686 57686 92 +Width: 1792 +Flags: HW +LayerCount: 2 +Fore +SplineSet +1508 70 m 1 + 1632 70 l 1 + 1632 -50 l 1 + 1388 -50 l 1 + 1388 1210 l 1 + 160 1210 l 1 + 160 1330 l 1 + 1508 1330 l 1 + 1508 70 l 1 +EndSplineSet +EndChar + +StartChar: uniE157 +Encoding: 57687 57687 93 +Width: 1792 +Flags: HW +LayerCount: 2 +Fore +SplineSet +896 1330 m 0 + 912.666666667 1330 926.833333333 1324.16666667 938.5 1312.5 c 128 + 950.166666667 1300.83333333 956 1286.66666667 956 1270 c 0 + 956 1082 956 1082 956 705.5 c 128 + 956 329 956 329 956 140 c 1 + 1593 686 l 2 + 1604.33333333 695.333333333 1617.33333333 700 1632 700 c 0 + 1648.66666667 700 1662.83333333 694.166666667 1674.5 682.5 c 128 + 1686.16666667 670.833333333 1692 656.666666667 1692 640 c 0 + 1692 621.333333333 1685 606 1671 594 c 2 + 935 -36 l 2 + 923.666666667 -45.3333333333 910.666666667 -50 896 -50 c 0 + 879.333333333 -50 865.166666667 -44.1666666667 853.5 -32.5 c 128 + 841.833333333 -20.8333333333 836 -6.66666666667 836 10 c 2 + 836 1140 l 1 + 199 594 l 2 + 187.666666667 584.666666667 174.666666667 580 160 580 c 0 + 143.333333333 580 129.166666667 585.833333333 117.5 597.5 c 128 + 105.833333333 609.166666667 100 623.333333333 100 640 c 0 + 100 658.666666667 107 674 121 686 c 2 + 857 1316 l 2 + 868.333333333 1325.33333333 881.333333333 1330 896 1330 c 0 +EndSplineSet +EndChar + +StartChar: uniE158 +Encoding: 57688 57688 94 +Width: 1792 +Flags: HW +LayerCount: 2 +Fore +SplineSet +1632 700 m 0 + 1648.66666667 700 1662.83333333 694.166666667 1674.5 682.5 c 128 + 1686.16666667 670.833333333 1692 656.666666667 1692 640 c 0 + 1692 627.333333333 1688.33333333 615.666666667 1681 605 c 2 + 1313 85 l 2 + 1301 68.3333333333 1284.66666667 60 1264 60 c 128 + 1243.33333333 60 1227 68.3333333333 1215 85 c 2 + 528 1056 l 1 + 209 605 l 2 + 197 588.333333333 180.666666667 580 160 580 c 0 + 143.333333333 580 129.166666667 585.833333333 117.5 597.5 c 128 + 105.833333333 609.166666667 100 623.333333333 100 640 c 0 + 100 652.666666667 103.666666667 664.333333333 111 675 c 2 + 111 675 111 675 479 1195 c 0 + 491 1211.66666667 507.333333333 1220 528 1220 c 128 + 548.666666667 1220 565 1211.66666667 577 1195 c 2 + 1264 224 l 1 + 1583 675 l 2 + 1595 691.666666667 1611.33333333 700 1632 700 c 0 +EndSplineSet +EndChar EndChars EndSplineFont diff --git a/res/icons.ttf b/res/icons.ttf index 3a749c81a193c8bd51c2be64cb9a78523ab77a4c..0062e4bcb3d7a890d3f8573084fac6ad9c5e467f 100644 GIT binary patch delta 1365 zcmah}Z%i9y7=NDk?%J|uFk0GjtO|&t9i2oR4j4_~698UVjt;3q2 z#lIhvO_S3&4ROpYaUTepRQ<$<=@zp{vwd0oK#XD8KB&P&6BZZRYkgWSCMKe}Jn!#* z&-?tj-*fNX%pdskJ4zPld!;1E_M@l#Urut#ka2J0H&hk`z4t;mC9BPeG8C&3V{2eB9;W7TQGkxQuEMV zFk6h22e7J@&X@7lm>5@gUJO|8Yfu%9nLj%vmW5Xd+ggrW5#z z921y;5qGVw-x^Rau`9O2FaSqj5RSqS9D`vPfl-KLPjE(56Z}{8l2bY>%}ZZO*Q6h% z-(_C5%RTZd09lXl?u7bT!mHkn)uUI<$1c=x5H3AxxGsDFW_SR4)ytE6)Rp*7u4Q+d z`e*z?_M=1}SB(&cDhjHDMgU2@G1-V|)fIE&Hg!1e%+QFyTIw_WCM-gT9@OWs??lP* zw=oB2Y~fmHG2^EBIfKz_)E%5;mAoNzSS4QrhLF933VXz-C?{JLCFD?)*_N*48;a7i zw^31s$@hFnQNmPUmT0%4^krV~7zY&PPzN?NZZg=vqm1G21{@r*1NBiun+UBzYA zzdcVm+~|k-Hx-4A7ZbEz(>#h|Vk^>MOuIpwu>zG6<_+2>(KT5v+`fw+<9V}8sz~H~ z>AGQ5@BzK-T}`&8T6drw-{&*Ajiu@JaGGCB|65Q~po#VHb@@~=hYNbt7I7TU4Ha68 zbu9WnaZBuC;f^-MIm>YwYP&^2K80)AT;U>j^S=uUt>`cI<=6PxE#lg3?phKe+?ig_ z`-M(D3L#1p$;{D6=wP7FZu5$W!FIZ-Gor!WygN|434RHK+>GdEFW1^dw@q`EL3_PI z*lMldbBkI|`<^vdyG5r(dz*kiq5V{0Y^r)wU=;Ql=J>17u-U8JqPe9CyDN?Sk{5$M zM->JQqoUhfe9!W*MSHsVjir$oCW*1nF=Sy&Zqd3!yC;g=a{LIAIb*IhczD0m3#6wY4)^CAnD{wQ*uJL zZAyk2B+j3jo}1kB>nXtH1Jp|;CNE6*>>ZoTH@X3Zl!7I2YwnU+aNwvWm895q+aF>=#9&2>|o{m3Yc-US6xdOg{|91fN=+iN^V(NxF*>Z z87*!8Mp1bl^#MrQ2xr!s=w^IFvMj}wQdkdvkNbITyov|o=`v~#*kvh#M=zOS!OwWJ dmbM Date: Sat, 28 Oct 2023 18:47:24 -0500 Subject: [PATCH 21/99] GUI: channel status, part 6 PC Engine --- src/engine/platform/pce.cpp | 14 ++++++++++++++ src/engine/platform/pce.h | 1 + 2 files changed, 15 insertions(+) diff --git a/src/engine/platform/pce.cpp b/src/engine/platform/pce.cpp index 2daba109e..920af9afa 100644 --- a/src/engine/platform/pce.cpp +++ b/src/engine/platform/pce.cpp @@ -19,6 +19,8 @@ #include "pce.h" #include "../engine.h" +// TODO: move this away +#include "../../src/gui/furIcons.h" #include //#define rWrite(a,v) pendingWrites[a]=v; @@ -512,6 +514,18 @@ unsigned short DivPlatformPCE::getPan(int ch) { return ((chan[ch].pan&0xf0)<<4)|(chan[ch].pan&15); } +DivChannelModeHints DivPlatformPCE::getModeHints(int ch) { + DivChannelModeHints ret; + if (ch<4) return ret; + ret.count=1; + ret.hint[0]=ICON_FUR_NOISE; + ret.type[0]=0; + + if (chan[ch].noise) ret.type[0]=4; + + return ret; +} + DivSamplePos DivPlatformPCE::getSamplePos(int ch) { if (ch>=6) return DivSamplePos(); if (!chan[ch].pcm) return DivSamplePos(); diff --git a/src/engine/platform/pce.h b/src/engine/platform/pce.h index 2436453e4..c2649eb05 100644 --- a/src/engine/platform/pce.h +++ b/src/engine/platform/pce.h @@ -83,6 +83,7 @@ class DivPlatformPCE: public DivDispatch { void* getChanState(int chan); DivMacroInt* getChanMacroInt(int ch); unsigned short getPan(int chan); + DivChannelModeHints getModeHints(int chan); DivSamplePos getSamplePos(int ch); DivDispatchOscBuffer* getOscBuffer(int chan); unsigned char* getRegisterPool(); From af971680f533726eee05365968a526919dd98405 Mon Sep 17 00:00:00 2001 From: tildearrow Date: Sat, 28 Oct 2023 18:47:53 -0500 Subject: [PATCH 22/99] GUI: play from start should disable repeat pattern --- src/gui/doAction.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/gui/doAction.cpp b/src/gui/doAction.cpp index 69b24947d..a1d3c81be 100644 --- a/src/gui/doAction.cpp +++ b/src/gui/doAction.cpp @@ -97,6 +97,7 @@ void FurnaceGUI::doAction(int what) { if (!e->isPlaying()) { play(); } + e->setRepeatPattern(false); break; case GUI_ACTION_PLAY_REPEAT: play(); From e121c40a23f01409a63b648605c65ded73411f0a Mon Sep 17 00:00:00 2001 From: tildearrow Date: Sat, 28 Oct 2023 19:03:08 -0500 Subject: [PATCH 23/99] piece of trash --- CMakeLists.txt | 3 +-- src/engine/platform/pce.cpp | 2 +- src/engine/platform/snes.cpp | 2 +- src/engine/platform/swan.cpp | 27 +++++++++++++++++++++++++++ src/engine/platform/swan.h | 1 + src/gui/furIcons.h | 17 +++++++++++++++-- 6 files changed, 46 insertions(+), 6 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index e6a1e9cb0..9495f8058 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -110,7 +110,7 @@ option(WITH_DEMOS "Install demo songs" ON) option(WITH_INSTRUMENTS "Install instruments" ON) option(WITH_WAVETABLES "Install wavetables" ON) -set(DEPENDENCIES_INCLUDE_DIRS "") +set(DEPENDENCIES_INCLUDE_DIRS "extern/IconFontCppHeaders") if (ANDROID AND NOT TERMUX) set(DEPENDENCIES_DEFINES "IS_MOBILE") @@ -919,7 +919,6 @@ if (BUILD_GUI) list(APPEND DEPENDENCIES_INCLUDE_DIRS extern/imgui_patched extern/imgui_patched/backends - extern/IconFontCppHeaders extern/igfd ) if (WIN32 OR APPLE) diff --git a/src/engine/platform/pce.cpp b/src/engine/platform/pce.cpp index 920af9afa..ba2af10e5 100644 --- a/src/engine/platform/pce.cpp +++ b/src/engine/platform/pce.cpp @@ -20,7 +20,7 @@ #include "pce.h" #include "../engine.h" // TODO: move this away -#include "../../src/gui/furIcons.h" +#include "../../gui/furIcons.h" #include //#define rWrite(a,v) pendingWrites[a]=v; diff --git a/src/engine/platform/snes.cpp b/src/engine/platform/snes.cpp index 8564708f9..fd0a6be53 100644 --- a/src/engine/platform/snes.cpp +++ b/src/engine/platform/snes.cpp @@ -21,7 +21,7 @@ #include "../engine.h" #include "../../ta-log.h" // TODO: move this away -#include "../../src/gui/furIcons.h" +#include "../../gui/furIcons.h" #include #define CHIP_FREQBASE 131072 diff --git a/src/engine/platform/swan.cpp b/src/engine/platform/swan.cpp index 4e5fb4cca..315b6c47e 100644 --- a/src/engine/platform/swan.cpp +++ b/src/engine/platform/swan.cpp @@ -19,6 +19,9 @@ #include "swan.h" #include "../engine.h" +// TODO: move this away +#include "../../gui/furIcons.h" +#include "IconsFontAwesome4.h" #include #define rWrite(a,v) if (!skipRegisterWrites) {writes.push(QueuedWrite(a,v)); if (dumpWrites) {addWrite(a,v);}} @@ -480,6 +483,30 @@ unsigned short DivPlatformSwan::getPan(int ch) { return ((chan[ch].pan&0xf0)<<4)|(chan[ch].pan&15); } +DivChannelModeHints DivPlatformSwan::getModeHints(int ch) { + DivChannelModeHints ret; + + switch (ch) { + case 1: // PCM + ret.count=1; + ret.hint[0]=ICON_FA_VOLUME_UP; + ret.type[0]=pcm?4:0; + break; + case 2: // sweep + ret.count=1; + ret.hint[0]=ICON_FUR_SAW; + ret.type[0]=sweep?2:0; + break; + case 3: // noise + ret.count=1; + ret.hint[0]=ICON_FUR_NOISE; + ret.type[0]=noise?4:0; + break; + } + + return ret; +} + DivDispatchOscBuffer* DivPlatformSwan::getOscBuffer(int ch) { return oscBuf[ch]; } diff --git a/src/engine/platform/swan.h b/src/engine/platform/swan.h index 5f33e81c0..4dab6eb7c 100644 --- a/src/engine/platform/swan.h +++ b/src/engine/platform/swan.h @@ -63,6 +63,7 @@ class DivPlatformSwan: public DivDispatch { void* getChanState(int chan); DivMacroInt* getChanMacroInt(int ch); unsigned short getPan(int chan); + DivChannelModeHints getModeHints(int chan); DivDispatchOscBuffer* getOscBuffer(int chan); unsigned char* getRegisterPool(); int getRegisterPoolSize(); diff --git a/src/gui/furIcons.h b/src/gui/furIcons.h index 26eca38c4..718e6822b 100644 --- a/src/gui/furIcons.h +++ b/src/gui/furIcons.h @@ -1,7 +1,7 @@ // not auto-generated. update every time you change icons.ttf! #define ICON_MIN_FUR 0xe0f0 -#define ICON_MAX_FUR 0xe14d +#define ICON_MAX_FUR 0xe158 // test #define ICON_FUR_TEST0 u8"\ue0f0" @@ -82,6 +82,18 @@ #define ICON_FUR_SAMPLE_SIGN u8"\ue140" #define ICON_FUR_SAMPLE_TRIM u8"\ue141" +// waveforms +#define ICON_FUR_NOISE u8"\ue14f" +#define ICON_FUR_PULSE1 u8"\ue150" +#define ICON_FUR_PULSE2 u8"\ue151" +#define ICON_FUR_PULSE3 u8"\ue152" +#define ICON_FUR_PULSE4 u8"\ue153" +#define ICON_FUR_PULSE5 u8"\ue154" +#define ICON_FUR_PULSE6 u8"\ue155" +#define ICON_FUR_PULSE7 u8"\ue156" +#define ICON_FUR_SAW u8"\ue157" +#define ICON_FUR_TRI u8"\ue158" + // misc #define ICON_FUR_SINE u8"\ue144" #define ICON_FUR_ADSR_A u8"\ue145" @@ -92,4 +104,5 @@ #define ICON_FUR_DEC_EXP u8"\ue14a" #define ICON_FUR_INC_LINEAR u8"\ue14b" #define ICON_FUR_INC_BENT u8"\ue14c" -#define ICON_FUR_VOL_DIRECT u8"\ue14d" \ No newline at end of file +#define ICON_FUR_VOL_DIRECT u8"\ue14d" +#define ICON_FUR_ADSR u8"\ue14e" \ No newline at end of file From f03996ebd2893062f31b4a2310802a6fcdf6a19a Mon Sep 17 00:00:00 2001 From: tildearrow Date: Sat, 28 Oct 2023 19:07:40 -0500 Subject: [PATCH 24/99] move furIcons somewhere else --- CMakeLists.txt | 2 +- src/engine/platform/pce.cpp | 3 +-- src/engine/platform/snes.cpp | 3 +-- src/engine/platform/swan.cpp | 3 +-- src/{gui => icon}/furIcons.h | 0 5 files changed, 4 insertions(+), 7 deletions(-) rename src/{gui => icon}/furIcons.h (100%) diff --git a/CMakeLists.txt b/CMakeLists.txt index 9495f8058..0b754d56c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -110,7 +110,7 @@ option(WITH_DEMOS "Install demo songs" ON) option(WITH_INSTRUMENTS "Install instruments" ON) option(WITH_WAVETABLES "Install wavetables" ON) -set(DEPENDENCIES_INCLUDE_DIRS "extern/IconFontCppHeaders") +set(DEPENDENCIES_INCLUDE_DIRS extern/IconFontCppHeaders src/icon) if (ANDROID AND NOT TERMUX) set(DEPENDENCIES_DEFINES "IS_MOBILE") diff --git a/src/engine/platform/pce.cpp b/src/engine/platform/pce.cpp index ba2af10e5..037a1cd69 100644 --- a/src/engine/platform/pce.cpp +++ b/src/engine/platform/pce.cpp @@ -19,8 +19,7 @@ #include "pce.h" #include "../engine.h" -// TODO: move this away -#include "../../gui/furIcons.h" +#include "furIcons.h" #include //#define rWrite(a,v) pendingWrites[a]=v; diff --git a/src/engine/platform/snes.cpp b/src/engine/platform/snes.cpp index fd0a6be53..0b6bdbbc9 100644 --- a/src/engine/platform/snes.cpp +++ b/src/engine/platform/snes.cpp @@ -20,8 +20,7 @@ #include "snes.h" #include "../engine.h" #include "../../ta-log.h" -// TODO: move this away -#include "../../gui/furIcons.h" +#include "furIcons.h" #include #define CHIP_FREQBASE 131072 diff --git a/src/engine/platform/swan.cpp b/src/engine/platform/swan.cpp index 315b6c47e..25260a44c 100644 --- a/src/engine/platform/swan.cpp +++ b/src/engine/platform/swan.cpp @@ -19,8 +19,7 @@ #include "swan.h" #include "../engine.h" -// TODO: move this away -#include "../../gui/furIcons.h" +#include "furIcons.h" #include "IconsFontAwesome4.h" #include diff --git a/src/gui/furIcons.h b/src/icon/furIcons.h similarity index 100% rename from src/gui/furIcons.h rename to src/icon/furIcons.h From 0f2f11a056d336cce1e574ad02986d87e98a632c Mon Sep 17 00:00:00 2001 From: tildearrow Date: Sat, 28 Oct 2023 19:15:32 -0500 Subject: [PATCH 25/99] GUI: custom icons for ADSR/LFO macro types --- src/gui/insEdit.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/gui/insEdit.cpp b/src/gui/insEdit.cpp index 731211722..0833093dc 100644 --- a/src/gui/insEdit.cpp +++ b/src/gui/insEdit.cpp @@ -23,6 +23,7 @@ #include "imgui_internal.h" #include "../engine/macroInt.h" #include "IconsFontAwesome4.h" +#include "furIcons.h" #include "misc/cpp/imgui_stdlib.h" #include "guiConst.h" #include "intConst.h" @@ -211,8 +212,8 @@ enum FMParams { const char* macroTypeLabels[4]={ ICON_FA_BAR_CHART "##IMacroType", - ICON_FA_AREA_CHART "##IMacroType", - ICON_FA_LINE_CHART "##IMacroType", + ICON_FUR_ADSR "##IMacroType", + ICON_FUR_TRI "##IMacroType", ICON_FA_SIGN_OUT "##IMacroType" }; From 17fa9491527174decd18b083ede1ba5389da1f2b Mon Sep 17 00:00:00 2001 From: tildearrow Date: Sat, 28 Oct 2023 19:34:28 -0500 Subject: [PATCH 26/99] GUI: make change button explicit in chip manager --- src/gui/sysManager.cpp | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/src/gui/sysManager.cpp b/src/gui/sysManager.cpp index 80f9c001a..07741e44c 100644 --- a/src/gui/sysManager.cpp +++ b/src/gui/sysManager.cpp @@ -83,10 +83,7 @@ void FurnaceGUI::drawSysManager() { ImGui::TreePop(); } ImGui::TableNextColumn(); - ImGui::Button(ICON_FA_CHEVRON_DOWN "##SysChange"); - if (ImGui::IsItemHovered()) { - ImGui::SetTooltip("Change"); - } + ImGui::Button("Change##SysChange"); if (ImGui::BeginPopupContextItem("SysPickerC",ImGuiPopupFlags_MouseButtonLeft)) { DivSystem picked=systemPicker(); if (picked!=DIV_SYSTEM_NULL) { From 497c32b05bebe8a87b54f1957685057d0dbed58e Mon Sep 17 00:00:00 2001 From: tildearrow Date: Sat, 28 Oct 2023 19:43:26 -0500 Subject: [PATCH 27/99] GUI: add right click in sample list --- src/gui/dataList.cpp | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/src/gui/dataList.cpp b/src/gui/dataList.cpp index 2762b6fc3..62736b549 100644 --- a/src/gui/dataList.cpp +++ b/src/gui/dataList.cpp @@ -243,6 +243,30 @@ void FurnaceGUI::sampleListItem(int i, int dir, int asset) { } ImGui::PopStyleColor(); } + if (ImGui::BeginPopupContextItem("SampleRightMenu")) { + curSample=i; + samplePos=0; + updateSampleTex=true; + lastAssetType=2; + ImGui::PushStyleColor(ImGuiCol_Text,uiColors[GUI_COLOR_TEXT]); + if (ImGui::MenuItem("make instrument")) { + doAction(GUI_ACTION_SAMPLE_MAKE_INS); + } + if (ImGui::MenuItem("duplicate")) { + doAction(GUI_ACTION_SAMPLE_LIST_DUPLICATE); + } + if (ImGui::MenuItem("replace...")) { + doAction((curSample>=0 && curSample<(int)e->song.sample.size())?GUI_ACTION_SAMPLE_LIST_OPEN_REPLACE:GUI_ACTION_SAMPLE_LIST_OPEN); + } + if (ImGui::MenuItem("save")) { + doAction(GUI_ACTION_SAMPLE_LIST_SAVE); + } + if (ImGui::MenuItem("delete")) { + doAction(GUI_ACTION_SAMPLE_LIST_DELETE); + } + ImGui::PopStyleColor(); + ImGui::EndPopup(); + } if (wantScrollList && curSample==i) ImGui::SetScrollHereY(); } From 897b03dc6a539c1adcd0eea5de5ff98bd55c95b0 Mon Sep 17 00:00:00 2001 From: tildearrow Date: Sun, 29 Oct 2023 00:29:11 -0500 Subject: [PATCH 28/99] dev187 --- src/engine/engine.h | 4 ++-- src/engine/fileOps.cpp | 12 ++++++++++-- src/gui/about.cpp | 1 + 3 files changed, 13 insertions(+), 4 deletions(-) diff --git a/src/engine/engine.h b/src/engine/engine.h index 7f0e4600c..3628e80d3 100644 --- a/src/engine/engine.h +++ b/src/engine/engine.h @@ -54,8 +54,8 @@ class DivWorkPool; #define DIV_UNSTABLE -#define DIV_VERSION "dev186" -#define DIV_ENGINE_VERSION 186 +#define DIV_VERSION "dev187" +#define DIV_ENGINE_VERSION 187 // for imports #define DIV_VERSION_MOD 0xff01 #define DIV_VERSION_FC 0xff02 diff --git a/src/engine/fileOps.cpp b/src/engine/fileOps.cpp index 213e7cc7a..9e8b6acaf 100644 --- a/src/engine/fileOps.cpp +++ b/src/engine/fileOps.cpp @@ -3008,12 +3008,20 @@ bool DivEngine::loadFur(unsigned char* file, size_t len) { } } - // C64 1Exy and old version test bit macro compat + // C64 1Exy compat if (ds.version<186) { for (int i=0; i Date: Sun, 29 Oct 2023 00:33:02 -0500 Subject: [PATCH 29/99] fix safe mode triggering when opening unreadable f --- src/main.cpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/main.cpp b/src/main.cpp index 356cde56e..25bb1804d 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -566,11 +566,13 @@ int main(int argc, char** argv) { FILE* f=ps_fopen(fileName.c_str(),"rb"); if (f==NULL) { reportError(fmt::sprintf("couldn't open file! (%s)",strerror(errno))); + e.everythingOK(); finishLogFile(); return 1; } if (fseek(f,0,SEEK_END)<0) { reportError(fmt::sprintf("couldn't open file! (couldn't get file size: %s)",strerror(errno))); + e.everythingOK(); fclose(f); finishLogFile(); return 1; @@ -578,6 +580,7 @@ int main(int argc, char** argv) { ssize_t len=ftell(f); if (len==(SIZE_MAX>>1)) { reportError(fmt::sprintf("couldn't open file! (couldn't get file length: %s)",strerror(errno))); + e.everythingOK(); fclose(f); finishLogFile(); return 1; @@ -588,6 +591,7 @@ int main(int argc, char** argv) { } else { reportError(fmt::sprintf("couldn't open file! (tell error: %s)",strerror(errno))); } + e.everythingOK(); fclose(f); finishLogFile(); return 1; @@ -595,6 +599,7 @@ int main(int argc, char** argv) { unsigned char* file=new unsigned char[len]; if (fseek(f,0,SEEK_SET)<0) { reportError(fmt::sprintf("couldn't open file! (size error: %s)",strerror(errno))); + e.everythingOK(); fclose(f); delete[] file; finishLogFile(); @@ -602,6 +607,7 @@ int main(int argc, char** argv) { } if (fread(file,1,(size_t)len,f)!=(size_t)len) { reportError(fmt::sprintf("couldn't open file! (read error: %s)",strerror(errno))); + e.everythingOK(); fclose(f); delete[] file; finishLogFile(); @@ -610,6 +616,7 @@ int main(int argc, char** argv) { fclose(f); if (!e.load(file,(size_t)len)) { reportError(fmt::sprintf("could not open file! (%s)",e.getLastError())); + e.everythingOK(); finishLogFile(); return 1; } From 90032899c79f55c113957e63edac6c863af9bffe Mon Sep 17 00:00:00 2001 From: tildearrow Date: Sun, 29 Oct 2023 01:39:37 -0500 Subject: [PATCH 30/99] C64: bunch of changes - merging test/gate and special macros - drop new test/gate compat flag - not necessary - code style and tabs to spaces TODO: compatibility! --- src/engine/fileOps.cpp | 9 ---- src/engine/platform/c64.cpp | 94 ++++++++++++++----------------------- src/engine/platform/c64.h | 9 +++- src/gui/insEdit.cpp | 52 ++++++-------------- src/gui/sysConf.cpp | 6 --- 5 files changed, 57 insertions(+), 113 deletions(-) diff --git a/src/engine/fileOps.cpp b/src/engine/fileOps.cpp index 9e8b6acaf..0175c02e2 100644 --- a/src/engine/fileOps.cpp +++ b/src/engine/fileOps.cpp @@ -3017,15 +3017,6 @@ bool DivEngine::loadFur(unsigned char* file, size_t len) { } } - // C64 old version test bit macro - if (ds.version<187) { - for (int i=0; igetIns(chan[i].ins,DIV_INS_C64); - if (ins->c64.volIsCutoff) { - if (ins->c64.filterIsAbs) { - filtCut=MIN(2047,chan[i].std.vol.val); - } else { - filtCut-=((signed char)chan[i].std.vol.val)*7; - if (filtCut>2047) filtCut=2047; - if (filtCut<0) filtCut=0; - } - willUpdateFilter=true; - } else { - vol=MIN(15,chan[i].std.vol.val); - willUpdateFilter=true; - } - } - if (chan[i].std.alg.had) { //new cutoff macro! - DivInstrument* ins = parent->getIns(chan[i].ins, DIV_INS_C64); - if (ins->c64.filterIsAbs) { - filtCut = MIN(2047, chan[i].std.alg.val); - } - else { - filtCut += ((signed char)chan[i].std.alg.val) * 7; //new macro should not be executed in inverted way when in relative mode jesus - if (filtCut > 2047) filtCut = 2047; - if (filtCut < 0) filtCut = 0; - } - willUpdateFilter = true; + vol=MIN(15,chan[i].std.vol.val); + willUpdateFilter=true; } if (NEW_ARP_STRAT) { @@ -206,7 +182,7 @@ void DivPlatformC64::tick(bool sysTick) { } if (chan[i].std.wave.had) { chan[i].wave=chan[i].std.wave.val; - rWrite(i*7+4,(chan[i].wave<<4)|(chan[i].test<<3)|(chan[i].ring<<2)|(chan[i].sync<<1)|(int)(chan[i].active)); + rWrite(i*7+4,(chan[i].wave<<4)|(chan[i].test<<3)|(chan[i].ring<<2)|(chan[i].sync<<1)|(int)(chan[i].active && chan[i].gate)); } if (chan[i].std.pitch.had) { if (chan[i].std.pitch.mode) { @@ -217,6 +193,20 @@ void DivPlatformC64::tick(bool sysTick) { } chan[i].freqChanged=true; } + if (chan[i].std.alg.had) { // new cutoff macro + DivInstrument* ins=parent->getIns(chan[i].ins,DIV_INS_C64); + if (ins->c64.filterIsAbs) { + filtCut=MIN(2047,chan[i].std.alg.val); + } else { + // TODO: + // - why signed char? + // - add a mode in where it's not multiplied by 7 - dang it Delek + filtCut+=((signed char)chan[i].std.alg.val)*7; + if (filtCut>2047) filtCut=2047; + if (filtCut<0) filtCut=0; + } + willUpdateFilter=true; + } if (chan[i].std.ex1.had) { filtControl=chan[i].std.ex1.val&15; willUpdateFilter=true; @@ -225,46 +215,33 @@ void DivPlatformC64::tick(bool sysTick) { filtRes=chan[i].std.ex2.val&15; willUpdateFilter=true; } - if (chan[i].std.ex3.had) { - chan[i].sync=chan[i].std.ex3.val&1; - chan[i].ring=chan[i].std.ex3.val&2; - chan[i].freqChanged=true; - rWrite(i*7+4,(chan[i].wave<<4)|(chan[i].test<<3)|(chan[i].ring<<2)|(chan[i].sync<<1)|(int)(chan[i].active)); - } if (chan[i].std.ex4.had) { - chan[i].test=chan[i].std.ex4.val&1; - - if (newTestBitMacro) - { - chan[i].active = chan[i].std.ex4.val & 2; - if (!chan[i].active) - { - chan[i].keyOff = true; - chan[i].keyOn = false; - } - } - - rWrite(i*7+4,(chan[i].wave<<4)|(chan[i].test<<3)|(chan[i].ring<<2)|(chan[i].sync<<1)|(int)(chan[i].active)); + chan[i].gate=chan[i].std.ex4.val&1; + chan[i].sync=chan[i].std.ex4.val&2; + chan[i].ring=chan[i].std.ex4.val&4; + chan[i].test=chan[i].std.ex4.val&8; + chan[i].freqChanged=true; + rWrite(i*7+4,(chan[i].wave<<4)|(chan[i].test<<3)|(chan[i].ring<<2)|(chan[i].sync<<1)|(int)(chan[i].active && chan[i].gate)); } if (chan[i].std.ex5.had) { - chan[i].attack = chan[i].std.ex5.val & 15; - rWrite(i * 7 + 5, (chan[i].attack << 4) | (chan[i].decay)); + chan[i].attack=chan[i].std.ex5.val&15; + rWrite(i*7+5,(chan[i].attack<<4)|(chan[i].decay)); } if (chan[i].std.ex6.had) { - chan[i].decay = chan[i].std.ex6.val & 15; - rWrite(i * 7 + 5, (chan[i].attack << 4) | (chan[i].decay)); + chan[i].decay=chan[i].std.ex6.val&15; + rWrite(i*7+5,(chan[i].attack<<4)|(chan[i].decay)); } if (chan[i].std.ex7.had) { - chan[i].sustain = chan[i].std.ex7.val & 15; - rWrite(i * 7 + 6, (chan[i].sustain << 4) | (chan[i].release)); + chan[i].sustain=chan[i].std.ex7.val&15; + rWrite(i*7+6,(chan[i].sustain<<4)|(chan[i].release)); } if (chan[i].std.ex8.had) { - chan[i].release = chan[i].std.ex8.val & 15; - rWrite(i * 7 + 6, (chan[i].sustain << 4) | (chan[i].release)); + chan[i].release=chan[i].std.ex8.val&15; + rWrite(i*7+6,(chan[i].sustain<<4)|(chan[i].release)); } if (sysTick) { @@ -287,7 +264,7 @@ void DivPlatformC64::tick(bool sysTick) { if (chan[i].keyOn) { rWrite(i*7+5,(chan[i].attack<<4)|(chan[i].decay)); rWrite(i*7+6,(chan[i].sustain<<4)|(chan[i].release)); - rWrite(i*7+4,(chan[i].wave<<4)|(chan[i].test<<3)|(chan[i].ring<<2)|(chan[i].sync<<1)|1); + rWrite(i*7+4,(chan[i].wave<<4)|(chan[i].test<<3)|(chan[i].ring<<2)|(chan[i].sync<<1)|chan[i].gate); } if (chan[i].keyOff) { rWrite(i*7+5,(chan[i].attack<<4)|(chan[i].decay)); @@ -431,7 +408,7 @@ int DivPlatformC64::dispatch(DivCommand c) { break; case DIV_CMD_WAVE: chan[c.chan].wave=c.value; - rWrite(c.chan*7+4,(chan[c.chan].wave<<4)|(chan[c.chan].test<<3)|(chan[c.chan].ring<<2)|(chan[c.chan].sync<<1)|(int)(chan[c.chan].active)); + rWrite(c.chan*7+4,(chan[c.chan].wave<<4)|(chan[c.chan].test<<3)|(chan[c.chan].ring<<2)|(chan[c.chan].sync<<1)|(int)(chan[c.chan].active && chan[c.chan].gate)); break; case DIV_CMD_LEGATO: chan[c.chan].baseFreq=NOTE_FREQUENCY(c.value+((HACKY_LEGATO_MESS)?(chan[c.chan].std.arp.val):(0))); @@ -525,11 +502,11 @@ int DivPlatformC64::dispatch(DivCommand c) { break; case 4: chan[c.chan].ring=c.value; - rWrite(c.chan*7+4,(chan[c.chan].wave<<4)|(chan[c.chan].test<<3)|(chan[c.chan].ring<<2)|(chan[c.chan].sync<<1)|(int)(chan[c.chan].active)); + rWrite(c.chan*7+4,(chan[c.chan].wave<<4)|(chan[c.chan].test<<3)|(chan[c.chan].ring<<2)|(chan[c.chan].sync<<1)|(int)(chan[c.chan].active && chan[c.chan].gate)); break; case 5: chan[c.chan].sync=c.value; - rWrite(c.chan*7+4,(chan[c.chan].wave<<4)|(chan[c.chan].test<<3)|(chan[c.chan].ring<<2)|(chan[c.chan].sync<<1)|(int)(chan[c.chan].active)); + rWrite(c.chan*7+4,(chan[c.chan].wave<<4)|(chan[c.chan].test<<3)|(chan[c.chan].ring<<2)|(chan[c.chan].sync<<1)|(int)(chan[c.chan].active && chan[c.chan].gate)); break; case 6: filtControl&=7; @@ -730,7 +707,6 @@ void DivPlatformC64::setFlags(const DivConfig& flags) { } keyPriority=flags.getBool("keyPriority",true); no1EUpdate=flags.getBool("no1EUpdate",false); - newTestBitMacro = flags.getBool("newTestBitMacro", false); testAD=((flags.getInt("testAttack",0)&15)<<4)|(flags.getInt("testDecay",0)&15); testSR=((flags.getInt("testSustain",0)&15)<<4)|(flags.getInt("testRelease",0)&15); diff --git a/src/engine/platform/c64.h b/src/engine/platform/c64.h index 51777f6d0..334479144 100644 --- a/src/engine/platform/c64.h +++ b/src/engine/platform/c64.h @@ -26,13 +26,17 @@ #include "sound/c64_fp/SID.h" #include "sound/c64_d/dsid.h" +// TODO: +// - ex3 (special) unify with ex4 (gate/test) +// - ex4 (test) compatibility + class DivPlatformC64: public DivDispatch { struct Channel: public SharedChannel { int prevFreq, testWhen; unsigned char sweep, wave, attack, decay, sustain, release; short duty; bool sweepChanged, filter; - bool resetMask, resetFilter, resetDuty, ring, sync, test; + bool resetMask, resetFilter, resetDuty, gate, ring, sync, test; Channel(): SharedChannel(15), prevFreq(65535), @@ -49,6 +53,7 @@ class DivPlatformC64: public DivDispatch { resetMask(false), resetFilter(false), resetDuty(false), + gate(true), ring(false), sync(false), test(false) {} @@ -72,7 +77,7 @@ class DivPlatformC64: public DivDispatch { unsigned char sidCore; int filtCut, resetTime; - bool keyPriority, sidIs6581, needInitTables, no1EUpdate, newTestBitMacro; + bool keyPriority, sidIs6581, needInitTables, no1EUpdate; unsigned char chanOrder[3]; unsigned char testAD, testSR; diff --git a/src/gui/insEdit.cpp b/src/gui/insEdit.cpp index 24d869743..fafc3c4b6 100644 --- a/src/gui/insEdit.cpp +++ b/src/gui/insEdit.cpp @@ -253,12 +253,8 @@ const char* filtModeBits[5]={ "low", "band", "high", "ch3off", NULL }; -const char* c64SpecialBits[3]={ - "sync", "ring", NULL -}; - -const char* c64TestGateBits[3]={ - "test", "gate", NULL +const char* c64TestGateBits[5]={ + "gate", "sync", "ring", "test", NULL }; const char* pokeyCtlBits[9]={ @@ -5009,12 +5005,8 @@ void FurnaceGUI::drawInsEdit() { } popToggleColors(); - if (ImGui::Checkbox("Volume Macro is Cutoff Macro",&ins->c64.volIsCutoff)) { - ins->std.volMacro.vZoom=-1; - PARAMETER; - } if (ImGui::Checkbox("Absolute Cutoff Macro",&ins->c64.filterIsAbs)) { - ins->std.volMacro.vZoom=-1; + ins->std.algMacro.vZoom=-1; PARAMETER; } if (ImGui::Checkbox("Absolute Duty Macro",&ins->c64.dutyIsAbs)) { @@ -5982,17 +5974,6 @@ void FurnaceGUI::drawInsEdit() { int volMax=15; int volMin=0; - if (ins->type==DIV_INS_C64) { - if (ins->c64.volIsCutoff) { - volumeLabel="Cutoff"; - if (ins->c64.filterIsAbs) { - volMax=2047; - } else { - volMin=-64; - volMax=64; - } - } - } if (ins->type==DIV_INS_PCE || ins->type==DIV_INS_AY8930 || ins->type==DIV_INS_SM8521) { volMax=31; } @@ -6438,15 +6419,14 @@ void FurnaceGUI::drawInsEdit() { } if (ex1Max>0) { if (ins->type==DIV_INS_C64) { - int cutoffmin = -64; - int cutoffmax = 64; + int cutoffMin=-64; + int cutoffMax=64; - if (ins->c64.filterIsAbs) { - ins->std.algMacro.vZoom = -1; - cutoffmin = 0; - cutoffmax = 2047; - } - macroList.push_back(FurnaceGUIMacroDesc("Filter Cutoff", &ins->std.algMacro, cutoffmin, cutoffmax, 160, uiColors[GUI_COLOR_MACRO_OTHER])); + if (ins->c64.filterIsAbs) { + cutoffMin=0; + cutoffMax=2047; + } + macroList.push_back(FurnaceGUIMacroDesc("Cutoff",&ins->std.algMacro,cutoffMin,cutoffMax,160,uiColors[GUI_COLOR_MACRO_OTHER])); macroList.push_back(FurnaceGUIMacroDesc("Filter Mode",&ins->std.ex1Macro,0,ex1Max,64,uiColors[GUI_COLOR_MACRO_OTHER],false,NULL,NULL,true,filtModeBits)); } else if (ins->type==DIV_INS_SAA1099) { macroList.push_back(FurnaceGUIMacroDesc("Envelope",&ins->std.ex1Macro,0,ex1Max,160,uiColors[GUI_COLOR_MACRO_OTHER],false,NULL,NULL,true,saaEnvBits)); @@ -6492,13 +6472,11 @@ void FurnaceGUI::drawInsEdit() { } } if (ins->type==DIV_INS_C64) { - macroList.push_back(FurnaceGUIMacroDesc("Special",&ins->std.ex3Macro,0,2,32,uiColors[GUI_COLOR_MACRO_OTHER],false,NULL,NULL,true,c64SpecialBits)); - //macroList.push_back(FurnaceGUIMacroDesc("Test/Gate",&ins->std.ex4Macro,0,1,32,uiColors[GUI_COLOR_MACRO_OTHER],false,NULL,NULL,true)); - macroList.push_back(FurnaceGUIMacroDesc("Test/Gate",&ins->std.ex4Macro,0,2,32,uiColors[GUI_COLOR_MACRO_OTHER],false,NULL,NULL, true, c64TestGateBits)); - macroList.push_back(FurnaceGUIMacroDesc("Attack", &ins->std.ex5Macro, 0, 15, 128, uiColors[GUI_COLOR_MACRO_OTHER])); - macroList.push_back(FurnaceGUIMacroDesc("Decay", &ins->std.ex6Macro, 0, 15, 128, uiColors[GUI_COLOR_MACRO_OTHER])); - macroList.push_back(FurnaceGUIMacroDesc("Sustain", &ins->std.ex7Macro, 0, 15, 128, uiColors[GUI_COLOR_MACRO_OTHER])); - macroList.push_back(FurnaceGUIMacroDesc("Release", &ins->std.ex8Macro, 0, 15, 128, uiColors[GUI_COLOR_MACRO_OTHER])); + macroList.push_back(FurnaceGUIMacroDesc("Special",&ins->std.ex4Macro,0,4,64,uiColors[GUI_COLOR_MACRO_OTHER],false,NULL,NULL,true,c64TestGateBits)); + macroList.push_back(FurnaceGUIMacroDesc("Attack",&ins->std.ex5Macro,0,15,128,uiColors[GUI_COLOR_MACRO_OTHER])); + macroList.push_back(FurnaceGUIMacroDesc("Decay",&ins->std.ex6Macro,0,15,128,uiColors[GUI_COLOR_MACRO_OTHER])); + macroList.push_back(FurnaceGUIMacroDesc("Sustain",&ins->std.ex7Macro,0,15,128,uiColors[GUI_COLOR_MACRO_OTHER])); + macroList.push_back(FurnaceGUIMacroDesc("Release",&ins->std.ex8Macro,0,15,128,uiColors[GUI_COLOR_MACRO_OTHER])); } if (ins->type==DIV_INS_AY || ins->type==DIV_INS_AY8930 || (ins->type==DIV_INS_X1_010 && !ins->amiga.useSample)) { macroList.push_back(FurnaceGUIMacroDesc("AutoEnv Num",&ins->std.ex3Macro,0,15,160,uiColors[GUI_COLOR_MACRO_OTHER])); diff --git a/src/gui/sysConf.cpp b/src/gui/sysConf.cpp index 1f03375a8..d53582f6c 100644 --- a/src/gui/sysConf.cpp +++ b/src/gui/sysConf.cpp @@ -587,7 +587,6 @@ bool FurnaceGUI::drawSysConf(int chan, int sysPos, DivSystem type, DivConfig& fl int clockSel=flags.getInt("clockSel",0); bool keyPriority=flags.getBool("keyPriority",true); bool no1EUpdate=flags.getBool("no1EUpdate",false); - bool newTestBitMacro = flags.getBool("newTestBitMacro", false); int testAttack=flags.getInt("testAttack",0); int testDecay=flags.getInt("testDecay",0); int testSustain=flags.getInt("testSustain",0); @@ -650,16 +649,11 @@ bool FurnaceGUI::drawSysConf(int chan, int sysPos, DivSystem type, DivConfig& fl altered=true; } - if (ImGui::Checkbox("New test bit macro behaviour (with gate bit) (compatibility)", &newTestBitMacro)) { - altered = true; - } - if (altered) { e->lockSave([&]() { flags.set("clockSel",clockSel); flags.set("keyPriority",keyPriority); flags.set("no1EUpdate",no1EUpdate); - flags.set("newTestBitMacro", newTestBitMacro); flags.set("testAttack",testAttack); flags.set("testDecay",testDecay); flags.set("testSustain",testSustain); From 87b88519003179def404ba5ca4d3c3ba89b81812 Mon Sep 17 00:00:00 2001 From: tildearrow Date: Sun, 29 Oct 2023 02:25:35 -0500 Subject: [PATCH 31/99] C64: volIsCutoff compatibility --- src/engine/fileOps.cpp | 46 +++++++++++++++++++++++++++++-------- src/engine/fileOpsIns.cpp | 18 +++++++++++---- src/engine/instrument.cpp | 32 ++++++++++++++++++-------- src/engine/instrument.h | 5 ++-- src/engine/platform/c64.cpp | 19 +++++++++++++++ src/engine/platform/c64.h | 1 + 6 files changed, 94 insertions(+), 27 deletions(-) diff --git a/src/engine/fileOps.cpp b/src/engine/fileOps.cpp index 0175c02e2..d7815ffa9 100644 --- a/src/engine/fileOps.cpp +++ b/src/engine/fileOps.cpp @@ -601,6 +601,8 @@ bool DivEngine::loadDMF(unsigned char* file, size_t len) { } if (ds.system[0]==DIV_SYSTEM_C64_6581 || ds.system[0]==DIV_SYSTEM_C64_8580) { + bool volIsCutoff=false; + ins->c64.triOn=reader.readC(); ins->c64.sawOn=reader.readC(); ins->c64.pulseOn=reader.readC(); @@ -617,9 +619,9 @@ bool DivEngine::loadDMF(unsigned char* file, size_t len) { ins->c64.oscSync=reader.readC(); ins->c64.toFilter=reader.readC(); if (ds.version<0x11) { - ins->c64.volIsCutoff=reader.readI(); + volIsCutoff=reader.readI(); } else { - ins->c64.volIsCutoff=reader.readC(); + volIsCutoff=reader.readC(); } ins->c64.initFilter=reader.readC(); @@ -631,10 +633,16 @@ bool DivEngine::loadDMF(unsigned char* file, size_t len) { ins->c64.ch3off=reader.readC(); // weird storage - if (ins->c64.volIsCutoff) { - for (int j=0; jstd.volMacro.len; j++) { - ins->std.volMacro.val[j]-=18; + if (volIsCutoff) { + // move to alg (new cutoff) + ins->std.algMacro.len=ins->std.volMacro.len; + ins->std.algMacro.loop=ins->std.volMacro.loop; + ins->std.algMacro.rel=ins->std.volMacro.rel; + for (int j=0; jstd.algMacro.len; j++) { + ins->std.algMacro.val[j]=-(ins->std.volMacro.val[j]-18); } + ins->std.volMacro.len=0; + memset(ins->std.volMacro.val,0,256*sizeof(int)); } for (int j=0; jstd.dutyMacro.len; j++) { ins->std.dutyMacro.val[j]-=12; @@ -6061,13 +6069,27 @@ SafeWriter* DivEngine::saveDMF(unsigned char version) { } } } else { // STD + bool volIsCutoff=false; + if (sys!=DIV_SYSTEM_GB) { int realVolMacroLen=i->std.volMacro.len; if (realVolMacroLen>127) realVolMacroLen=127; w->writeC(realVolMacroLen); - if ((sys==DIV_SYSTEM_C64_6581 || sys==DIV_SYSTEM_C64_8580) && i->c64.volIsCutoff) { - for (int j=0; jwriteI(i->std.volMacro.val[j]+18); + if (sys==DIV_SYSTEM_C64_6581 || sys==DIV_SYSTEM_C64_8580) { + if (i->std.algMacro.len>0) volIsCutoff=true; + if (volIsCutoff) { + if (i->std.volMacro.len>0) { + addWarning(".dmf only supports volume or cutoff macro in C64, but not both. volume macro will be lost."); + } + realVolMacroLen=i->std.algMacro.len; + if (realVolMacroLen>127) realVolMacroLen=127; + for (int j=0; jwriteI((-i->std.algMacro.val[j])+18); + } + } else { + for (int j=0; jwriteI(i->std.volMacro.val[j]); + } } } else { for (int j=0; j0) { - w->writeC(i->std.volMacro.loop); + if (volIsCutoff) { + w->writeC(i->std.algMacro.loop); + } else { + w->writeC(i->std.volMacro.loop); + } } } @@ -6166,7 +6192,7 @@ SafeWriter* DivEngine::saveDMF(unsigned char version) { w->writeC(i->c64.oscSync); w->writeC(i->c64.toFilter); - w->writeC(i->c64.volIsCutoff); + w->writeC(volIsCutoff); w->writeC(i->c64.initFilter); w->writeC(i->c64.res); diff --git a/src/engine/fileOpsIns.cpp b/src/engine/fileOpsIns.cpp index 0a7682735..8236ebe0f 100644 --- a/src/engine/fileOpsIns.cpp +++ b/src/engine/fileOpsIns.cpp @@ -349,6 +349,8 @@ void DivEngine::loadDMP(SafeReader& reader, std::vector& ret, St } if (ins->type==DIV_INS_C64) { + bool volIsCutoff=false; + ins->c64.triOn=reader.readC(); ins->c64.sawOn=reader.readC(); ins->c64.pulseOn=reader.readC(); @@ -365,9 +367,9 @@ void DivEngine::loadDMP(SafeReader& reader, std::vector& ret, St ins->c64.oscSync=reader.readC(); ins->c64.toFilter=reader.readC(); if (version<0x07) { // TODO: UNSURE - ins->c64.volIsCutoff=reader.readI(); + volIsCutoff=reader.readI(); } else { - ins->c64.volIsCutoff=reader.readC(); + volIsCutoff=reader.readC(); } ins->c64.initFilter=reader.readC(); @@ -379,10 +381,16 @@ void DivEngine::loadDMP(SafeReader& reader, std::vector& ret, St ins->c64.ch3off=reader.readC(); // weird storage - if (ins->c64.volIsCutoff) { - for (int j=0; jstd.volMacro.len; j++) { - ins->std.volMacro.val[j]-=18; + if (volIsCutoff) { + // move to alg (new cutoff) + ins->std.algMacro.len=ins->std.volMacro.len; + ins->std.algMacro.loop=ins->std.volMacro.loop; + ins->std.algMacro.rel=ins->std.volMacro.rel; + for (int j=0; jstd.algMacro.len; j++) { + ins->std.algMacro.val[j]=-(ins->std.volMacro.val[j]-18); } + ins->std.volMacro.len=0; + memset(ins->std.volMacro.val,0,256*sizeof(int)); } for (int j=0; jstd.dutyMacro.len; j++) { ins->std.dutyMacro.val[j]-=12; diff --git a/src/engine/instrument.cpp b/src/engine/instrument.cpp index 43bf02299..46e4b00f7 100644 --- a/src/engine/instrument.cpp +++ b/src/engine/instrument.cpp @@ -101,7 +101,6 @@ bool DivInstrumentC64::operator==(const DivInstrumentC64& other) { _C(ringMod) && _C(oscSync) && _C(toFilter) && - _C(volIsCutoff) && _C(initFilter) && _C(dutyIsAbs) && _C(filterIsAbs) && @@ -391,7 +390,6 @@ void DivInstrument::writeFeature64(SafeWriter* w) { w->writeC( (c64.dutyIsAbs?0x80:0)| (c64.initFilter?0x40:0)| - (c64.volIsCutoff?0x20:0)| (c64.toFilter?0x10:0)| (c64.noiseOn?8:0)| (c64.pulseOn?4:0)| @@ -1323,7 +1321,7 @@ void DivInstrument::putInsData(SafeWriter* w) { w->writeC(c64.oscSync); w->writeC(c64.toFilter); w->writeC(c64.initFilter); - w->writeC(c64.volIsCutoff); + w->writeC(0); // this was volIsCutoff w->writeC(c64.res); w->writeC(c64.lp); w->writeC(c64.bp); @@ -2094,13 +2092,13 @@ void DivInstrument::readFeatureMA(SafeReader& reader, short version) { READ_FEAT_END; } -void DivInstrument::readFeature64(SafeReader& reader, short version) { +void DivInstrument::readFeature64(SafeReader& reader, bool& volIsCutoff, short version) { READ_FEAT_BEGIN; unsigned char next=reader.readC(); c64.dutyIsAbs=next&128; c64.initFilter=next&64; - c64.volIsCutoff=next&32; + volIsCutoff=next&32; c64.toFilter=next&16; c64.noiseOn=next&8; c64.pulseOn=next&4; @@ -2602,6 +2600,7 @@ void DivInstrument::readFeatureNE(SafeReader& reader, short version) { DivDataErrors DivInstrument::readInsDataNew(SafeReader& reader, short version, bool fui, DivSong* song) { unsigned char featCode[2]; + bool volIsCutoff=false; int dataLen=reader.size()-4; if (!fui) { @@ -2630,7 +2629,7 @@ DivDataErrors DivInstrument::readInsDataNew(SafeReader& reader, short version, b } else if (memcmp(featCode,"MA",2)==0) { // macros readFeatureMA(reader,version); } else if (memcmp(featCode,"64",2)==0) { // C64 - readFeature64(reader,version); + readFeature64(reader,volIsCutoff,version); } else if (memcmp(featCode,"GB",2)==0) { // Game Boy readFeatureGB(reader,version); } else if (memcmp(featCode,"SM",2)==0) { // sample @@ -2679,6 +2678,13 @@ DivDataErrors DivInstrument::readInsDataNew(SafeReader& reader, short version, b } } + // <187 C64 cutoff macro compatibility + if (type==DIV_INS_C64 && volIsCutoff && version<187) { + memcpy(&std.algMacro,&std.volMacro,sizeof(DivInstrumentMacro)); + std.algMacro.macroType=DIV_MACRO_ALG; + std.volMacro=DivInstrumentMacro(DIV_MACRO_VOL,true); + } + return DIV_DATA_SUCCESS; } @@ -2686,6 +2692,7 @@ DivDataErrors DivInstrument::readInsDataNew(SafeReader& reader, short version, b for (int macroValPos=0; macroValPoswriteC(c64.ringMod); w->writeC(c64.oscSync); w->writeC(c64.toFilter); - w->writeC(c64.volIsCutoff); + w->writeC(0); // this was volIsCutoff... w->writeC(c64.initFilter); w->writeC(c64.res); w->writeC((c64.cut*100)/2047); diff --git a/src/engine/instrument.h b/src/engine/instrument.h index 6a2a469da..33f140b24 100644 --- a/src/engine/instrument.h +++ b/src/engine/instrument.h @@ -412,7 +412,7 @@ struct DivInstrumentC64 { unsigned char a, d, s, r; unsigned short duty; unsigned char ringMod, oscSync; - bool toFilter, volIsCutoff, initFilter, dutyIsAbs, filterIsAbs, noTest; + bool toFilter, initFilter, dutyIsAbs, filterIsAbs, noTest; unsigned char res; unsigned short cut; bool hp, lp, bp, ch3off; @@ -435,7 +435,6 @@ struct DivInstrumentC64 { ringMod(0), oscSync(0), toFilter(false), - volIsCutoff(false), initFilter(false), dutyIsAbs(false), filterIsAbs(false), @@ -816,7 +815,7 @@ struct DivInstrument { void readFeatureNA(SafeReader& reader, short version); void readFeatureFM(SafeReader& reader, short version); void readFeatureMA(SafeReader& reader, short version); - void readFeature64(SafeReader& reader, short version); + void readFeature64(SafeReader& reader, bool& volIsCutoff, short version); void readFeatureGB(SafeReader& reader, short version); void readFeatureSM(SafeReader& reader, short version); void readFeatureOx(SafeReader& reader, int op, short version); diff --git a/src/engine/platform/c64.cpp b/src/engine/platform/c64.cpp index 9d814eec0..1f43d62ab 100644 --- a/src/engine/platform/c64.cpp +++ b/src/engine/platform/c64.cpp @@ -20,6 +20,7 @@ #include "c64.h" #include "../engine.h" #include "sound/c64_fp/siddefs-fp.h" +#include "IconsFontAwesome4.h" #include #include "../../ta-log.h" @@ -589,6 +590,24 @@ DivMacroInt* DivPlatformC64::getChanMacroInt(int ch) { return &chan[ch].std; } +DivChannelModeHints DivPlatformC64::getModeHints(int ch) { + DivChannelModeHints ret; + ret.count=1; + ret.hint[0]=ICON_FA_BELL_SLASH_O; + ret.type[0]=0; + if (ch==2 && (filtControl&8)) { + ret.type[0]=7; + } else if (chan[ch].test && !chan[ch].gate) { + ret.type[0]=5; + } else if (chan[ch].test) { + ret.type[0]=6; + } else if (!chan[ch].gate) { + ret.type[0]=4; + } + + return ret; +} + DivDispatchOscBuffer* DivPlatformC64::getOscBuffer(int ch) { return oscBuf[ch]; } diff --git a/src/engine/platform/c64.h b/src/engine/platform/c64.h index 334479144..dca456998 100644 --- a/src/engine/platform/c64.h +++ b/src/engine/platform/c64.h @@ -113,6 +113,7 @@ class DivPlatformC64: public DivDispatch { bool isVolGlobal(); float getPostAmp(); DivMacroInt* getChanMacroInt(int ch); + DivChannelModeHints getModeHints(int chan); void notifyInsDeletion(void* ins); void poke(unsigned int addr, unsigned short val); void poke(std::vector& wlist); From a9201bebdcaf5ce9755bf2bbc3d126e35dc45124 Mon Sep 17 00:00:00 2001 From: tildearrow Date: Sun, 29 Oct 2023 02:43:38 -0500 Subject: [PATCH 32/99] C64: old test/gate/special macro compatibility --- src/engine/instrument.cpp | 31 +++++++++++++++++++++++++++++++ src/engine/instrument.h | 2 ++ 2 files changed, 33 insertions(+) diff --git a/src/engine/instrument.cpp b/src/engine/instrument.cpp index 46e4b00f7..61423b6d1 100644 --- a/src/engine/instrument.cpp +++ b/src/engine/instrument.cpp @@ -2685,6 +2685,11 @@ DivDataErrors DivInstrument::readInsDataNew(SafeReader& reader, short version, b std.volMacro=DivInstrumentMacro(DIV_MACRO_VOL,true); } + // <187 special/test/gate merge + if (type==DIV_INS_C64 && version<187) { + convertC64SpecialMacro(); + } + return DIV_DATA_SUCCESS; } @@ -3426,6 +3431,11 @@ DivDataErrors DivInstrument::readInsDataOld(SafeReader &reader, short version) { std.volMacro=DivInstrumentMacro(DIV_MACRO_VOL,true); } + // <187 special/test/gate merge + if (type==DIV_INS_C64 && version<187) { + convertC64SpecialMacro(); + } + return DIV_DATA_SUCCESS; } @@ -3455,6 +3465,27 @@ DivDataErrors DivInstrument::readInsData(SafeReader& reader, short version, DivS return readInsDataOld(reader,version); } +void DivInstrument::convertC64SpecialMacro() { + // merge special and test/gate macros into new special macro + int maxLen=MAX(std.ex3Macro.len,std.ex4Macro.len); + + // skip if ex4 is not a sequence macro + if (std.ex4Macro.open&6) return; + + // move ex4 macro up and fill in gate + for (int i=0; iinit(); diff --git a/src/engine/instrument.h b/src/engine/instrument.h index 33f140b24..31440d7aa 100644 --- a/src/engine/instrument.h +++ b/src/engine/instrument.h @@ -834,6 +834,8 @@ struct DivInstrument { DivDataErrors readInsDataOld(SafeReader& reader, short version); DivDataErrors readInsDataNew(SafeReader& reader, short version, bool fui, DivSong* song); + + void convertC64SpecialMacro(); /** * save the instrument to a SafeWriter. From 592a3f102a6630cbc22f8d12285b1f13c5bd0640 Mon Sep 17 00:00:00 2001 From: tildearrow Date: Sun, 29 Oct 2023 02:45:15 -0500 Subject: [PATCH 33/99] C64: tiny fix to old test/gate/special compat --- src/engine/instrument.cpp | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/engine/instrument.cpp b/src/engine/instrument.cpp index 61423b6d1..d2899d4ff 100644 --- a/src/engine/instrument.cpp +++ b/src/engine/instrument.cpp @@ -3478,8 +3478,14 @@ void DivInstrument::convertC64SpecialMacro() { } // merge ex3 into ex4 - for (int i=0; i0) { + for (int i=0; i=std.ex3Macro.len) { + std.ex4Macro.val[i]|=(std.ex3Macro.val[std.ex3Macro.len-1]&3)<<1; + } else { + std.ex4Macro.val[i]|=(std.ex3Macro.val[i]&3)<<1; + } + } } std.ex4Macro.len=maxLen; From e29113c926cde76769f30787f23aea3a1a35ca89 Mon Sep 17 00:00:00 2001 From: tildearrow Date: Sun, 29 Oct 2023 03:04:55 -0500 Subject: [PATCH 34/99] C64: another tiny fix also document conversion approach --- papers/format.md | 21 ++++++++++++++++++++- papers/newIns.md | 21 ++++++++++++++++++++- src/engine/instrument.cpp | 9 +++++++-- 3 files changed, 47 insertions(+), 4 deletions(-) diff --git a/papers/format.md b/papers/format.md index 54082b532..7bf06da13 100644 --- a/papers/format.md +++ b/papers/format.md @@ -634,7 +634,9 @@ size | description 1 | osc sync 1 | to filter 1 | init filter - 1 | vol macro is cutoff + 1 | vol macro is cutoff (<187) or reserved + | - from version 187 onwards, volume and cutoff macros are separate. + | - if this is on and the version is less than 187, move the volume macro into the ALG one. 1 | resonance 1 | low pass 1 | band pass @@ -1122,6 +1124,23 @@ size | description - `val[14]`: loop - `val[15]`: global (not sure how will I implement this) +## C64 compatibility note (>=187) + +in Furnace dev187 the volume and cutoff macros have been separated, as noted above. +however, there's another change as well: a new, improved Special macro. + +if version is less than 187, you must convert these: +1. do not continue if ex4 is not a Sequence type macro! +2. move bit 0 of ex4 macro data into bit 3. +3. set bit 0 on all steps of ex4 macro to 1. +4. if ex3 is not a Sequence type macro, stop here. +5. if ex3 macro length is 0, stop here. +6. merge the ex3 macro (former Special) into ex4 (former Test). + - use the largest size (between ex3 and ex4). + - if the ex3 macro is shorter than the ex4 one, use the last value of ex3, and vice-versa. + +don't worry about loop or release... + # wavetable ``` diff --git a/papers/newIns.md b/papers/newIns.md index 34afe3b28..79a8fdba2 100644 --- a/papers/newIns.md +++ b/papers/newIns.md @@ -295,7 +295,9 @@ size | description 1 | flags 1 | - bit 7: dutyIsAbs | - bit 6: initFilter - | - bit 5: volIsCutoff + | - bit 5: volIsCutoff (<187) + | - from version 187 onwards, volume and cutoff macros are separate. + | - if this is on and the version is less than 187, move the volume macro into the ALG one. | - bit 4: toFilter | - bit 3: noise on | - bit 2: pulse on @@ -322,6 +324,23 @@ size | description | - bit 0-10: cutoff ``` +## C64 compatibility note (>=187) + +in Furnace dev187 the volume and cutoff macros have been separated, as noted above. +however, there's another change as well: a new, improved Special macro. + +if version is less than 187, you must convert these: +1. do not continue if ex4 is not a Sequence type macro! +2. move bit 0 of ex4 macro data into bit 3. +3. set bit 0 on all steps of ex4 macro to 1. +4. if ex3 is not a Sequence type macro, stop here. +5. if ex3 macro length is 0, stop here. +6. merge the ex3 macro (former Special) into ex4 (former Test). + - use the largest size (between ex3 and ex4). + - if the ex3 macro is shorter than the ex4 one, use the last value of ex3, and vice-versa. + +don't worry about loop or release... + # Game Boy data (GB) ``` diff --git a/src/engine/instrument.cpp b/src/engine/instrument.cpp index d2899d4ff..51c2422c1 100644 --- a/src/engine/instrument.cpp +++ b/src/engine/instrument.cpp @@ -3477,8 +3477,13 @@ void DivInstrument::convertC64SpecialMacro() { std.ex4Macro.val[i]=(std.ex4Macro.val[i]&1)?9:1; } - // merge ex3 into ex4 - if (std.ex3Macro.len>0) { + // merge ex3 into ex4 if viable to + if (std.ex3Macro.len>0 && !(std.ex3Macro.open&6)) { + if (std.ex4Macro.len>0 && std.ex4Macro.len=std.ex3Macro.len) { std.ex4Macro.val[i]|=(std.ex3Macro.val[std.ex3Macro.len-1]&3)<<1; From 7575e7a4a70f254f392282ce0089103d5b819624 Mon Sep 17 00:00:00 2001 From: tildearrow Date: Sun, 29 Oct 2023 03:12:33 -0500 Subject: [PATCH 35/99] C64: more fixes... --- papers/format.md | 5 +++-- papers/newIns.md | 5 +++-- src/engine/instrument.cpp | 16 ++++++++++++++++ 3 files changed, 22 insertions(+), 4 deletions(-) diff --git a/papers/format.md b/papers/format.md index 7bf06da13..54c2c0275 100644 --- a/papers/format.md +++ b/papers/format.md @@ -1127,9 +1127,9 @@ size | description ## C64 compatibility note (>=187) in Furnace dev187 the volume and cutoff macros have been separated, as noted above. -however, there's another change as well: a new, improved Special macro. +however, there are two other changes as well: **inverted relative (non-absolute) cutoff macro**; and a new, improved Special macro. -if version is less than 187, you must convert these: +if version is less than 187, you must convert the Special macro: 1. do not continue if ex4 is not a Sequence type macro! 2. move bit 0 of ex4 macro data into bit 3. 3. set bit 0 on all steps of ex4 macro to 1. @@ -1138,6 +1138,7 @@ if version is less than 187, you must convert these: 6. merge the ex3 macro (former Special) into ex4 (former Test). - use the largest size (between ex3 and ex4). - if the ex3 macro is shorter than the ex4 one, use the last value of ex3, and vice-versa. + - if the ex4 macro length is 0, expand it to the largest size, and set all steps to 1. don't worry about loop or release... diff --git a/papers/newIns.md b/papers/newIns.md index 79a8fdba2..8111ac4a4 100644 --- a/papers/newIns.md +++ b/papers/newIns.md @@ -327,9 +327,9 @@ size | description ## C64 compatibility note (>=187) in Furnace dev187 the volume and cutoff macros have been separated, as noted above. -however, there's another change as well: a new, improved Special macro. +however, there are two other changes as well: **inverted relative (non-absolute) cutoff macro**; and a new, improved Special macro. -if version is less than 187, you must convert these: +if version is less than 187, you must convert the Special macro: 1. do not continue if ex4 is not a Sequence type macro! 2. move bit 0 of ex4 macro data into bit 3. 3. set bit 0 on all steps of ex4 macro to 1. @@ -338,6 +338,7 @@ if version is less than 187, you must convert these: 6. merge the ex3 macro (former Special) into ex4 (former Test). - use the largest size (between ex3 and ex4). - if the ex3 macro is shorter than the ex4 one, use the last value of ex3, and vice-versa. + - if the ex4 macro length is 0, expand it to the largest size, and set all steps to 1. don't worry about loop or release... diff --git a/src/engine/instrument.cpp b/src/engine/instrument.cpp index 51c2422c1..25c829ca8 100644 --- a/src/engine/instrument.cpp +++ b/src/engine/instrument.cpp @@ -2683,6 +2683,12 @@ DivDataErrors DivInstrument::readInsDataNew(SafeReader& reader, short version, b memcpy(&std.algMacro,&std.volMacro,sizeof(DivInstrumentMacro)); std.algMacro.macroType=DIV_MACRO_ALG; std.volMacro=DivInstrumentMacro(DIV_MACRO_VOL,true); + + if (!c64.filterIsAbs) { + for (int i=0; i=std.ex3Macro.len) { From a0df8384279a9540faf6ba5a529cac5839b2dd8a Mon Sep 17 00:00:00 2001 From: tildearrow Date: Sun, 29 Oct 2023 03:38:51 -0500 Subject: [PATCH 36/99] fix crash when loading song with no chips --- src/engine/engine.cpp | 6 +++--- src/engine/fileOps.cpp | 20 +++++++++++++++----- 2 files changed, 18 insertions(+), 8 deletions(-) diff --git a/src/engine/engine.cpp b/src/engine/engine.cpp index 76a307f5b..ae1f63930 100644 --- a/src/engine/engine.cpp +++ b/src/engine/engine.cpp @@ -1081,7 +1081,7 @@ bool DivEngine::addSystem(DivSystem which) { song.patchbay.push_back((i<<20)|j); } } else { - song.patchbay.reserve(outs); + if (outs>0) song.patchbay.reserve(outs); for (unsigned int j=0; j0) swapList.reserve(song.systemLen); for (int i=0; i0) chanList.reserve(channelCount); for (int j=0; j0) ds.ins.reserve(ds.insLen); for (int i=0; i0x0b) { ds.waveLen=(unsigned char)reader.readC(); logI("reading wavetables (%d)...",ds.waveLen); - ds.wave.reserve(ds.waveLen); + if (ds.waveLen>0) ds.wave.reserve(ds.waveLen); for (int i=0; ilen=(unsigned char)reader.readI(); @@ -849,7 +849,7 @@ bool DivEngine::loadDMF(unsigned char* file, size_t len) { // it appears this byte stored the YMU759 sample rate ymuSampleRate=reader.readC(); } - ds.sample.reserve(ds.sampleLen); + if (ds.sampleLen>0) ds.sample.reserve(ds.sampleLen); for (int i=0; i0) ds.patchbay.reserve(conns); for (unsigned int i=0; istd.volMacro.len; if (realVolMacroLen>127) realVolMacroLen=127; - w->writeC(realVolMacroLen); if (sys==DIV_SYSTEM_C64_6581 || sys==DIV_SYSTEM_C64_8580) { if (i->std.algMacro.len>0) volIsCutoff=true; if (volIsCutoff) { @@ -6083,15 +6090,18 @@ SafeWriter* DivEngine::saveDMF(unsigned char version) { } realVolMacroLen=i->std.algMacro.len; if (realVolMacroLen>127) realVolMacroLen=127; + w->writeC(realVolMacroLen); for (int j=0; jwriteI((-i->std.algMacro.val[j])+18); } } else { + w->writeC(realVolMacroLen); for (int j=0; jwriteI(i->std.volMacro.val[j]); } } } else { + w->writeC(realVolMacroLen); for (int j=0; jwriteI(i->std.volMacro.val[j]); } From 7fd54775bbc0019bef0e26c186be92caa475e5a4 Mon Sep 17 00:00:00 2001 From: tildearrow Date: Sun, 29 Oct 2023 03:54:12 -0500 Subject: [PATCH 37/99] C64: really fix porta --- src/engine/platform/c64.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/engine/platform/c64.cpp b/src/engine/platform/c64.cpp index 1f43d62ab..3d3ed91a9 100644 --- a/src/engine/platform/c64.cpp +++ b/src/engine/platform/c64.cpp @@ -418,7 +418,7 @@ int DivPlatformC64::dispatch(DivCommand c) { break; case DIV_CMD_PRE_PORTA: if (chan[c.chan].active && c.value2) { - if (parent->song.resetMacroOnPorta) {// || !chan[c.chan].inPorta) { + if (parent->song.resetMacroOnPorta || parent->song.preNoteNoEffect) { chan[c.chan].macroInit(parent->getIns(chan[c.chan].ins,DIV_INS_C64)); chan[c.chan].keyOn=true; } From f05d1693f8448e8df7fbc1810eee2f0a65fbbe34 Mon Sep 17 00:00:00 2001 From: tildearrow Date: Sun, 29 Oct 2023 04:14:54 -0500 Subject: [PATCH 38/99] C64: add chip flag to set env reset time 2 by default 1 for .dmf and old Furnace songs --- src/engine/fileOps.cpp | 12 +++++++++++- src/engine/platform/c64.cpp | 4 +++- src/engine/platform/c64.h | 2 +- src/gui/sysConf.cpp | 14 ++++++++++++++ 4 files changed, 29 insertions(+), 3 deletions(-) diff --git a/src/engine/fileOps.cpp b/src/engine/fileOps.cpp index 2d27d8b52..d7b515402 100644 --- a/src/engine/fileOps.cpp +++ b/src/engine/fileOps.cpp @@ -1062,9 +1062,10 @@ bool DivEngine::loadDMF(unsigned char* file, size_t len) { ds.systemFlags[0].set("dpcmMode",false); } - // C64 no key priority + // C64 no key priority and reset time if (ds.system[0]==DIV_SYSTEM_C64_8580 || ds.system[0]==DIV_SYSTEM_C64_6581) { ds.systemFlags[0].set("keyPriority",false); + ds.systemFlags[0].set("initResetTime",1); } // OPM broken pitch @@ -3033,6 +3034,15 @@ bool DivEngine::loadFur(unsigned char* file, size_t len) { } } + // C64 original reset time + if (ds.version<187) { + for (int i=0; i4); + if (CWSliderInt("##InitReset",&initResetTime,0,16)) { + if (initResetTime<0) initResetTime=0; + if (initResetTime>16) initResetTime=16; + altered=true; + } + popWarningColor(); + + ImGui::Text("- 0 disables envelope reset. not recommended!\n- 1 may trigger SID envelope bugs.\n- values that are too high may result in notes being skipped."); + if (ImGui::Checkbox("Disable 1Exy env update (compatibility)",&no1EUpdate)) { altered=true; } @@ -658,6 +671,7 @@ bool FurnaceGUI::drawSysConf(int chan, int sysPos, DivSystem type, DivConfig& fl flags.set("testDecay",testDecay); flags.set("testSustain",testSustain); flags.set("testRelease",testRelease); + flags.set("initResetTime",initResetTime); }); } break; From e2278d36889ff2721ceb5713cbbee0b59828086f Mon Sep 17 00:00:00 2001 From: tildearrow Date: Sun, 29 Oct 2023 04:36:25 -0500 Subject: [PATCH 39/99] C64: relative cutoff and duty macros are fine --- src/engine/fileOps.cpp | 6 ++++-- src/engine/platform/c64.cpp | 16 +++++++++++----- src/engine/platform/c64.h | 2 +- src/gui/insEdit.cpp | 8 ++++---- src/gui/sysConf.cpp | 7 +++++++ 5 files changed, 27 insertions(+), 12 deletions(-) diff --git a/src/engine/fileOps.cpp b/src/engine/fileOps.cpp index d7b515402..c2dea0085 100644 --- a/src/engine/fileOps.cpp +++ b/src/engine/fileOps.cpp @@ -1062,10 +1062,11 @@ bool DivEngine::loadDMF(unsigned char* file, size_t len) { ds.systemFlags[0].set("dpcmMode",false); } - // C64 no key priority and reset time + // C64 no key priority, reset time and multiply relative if (ds.system[0]==DIV_SYSTEM_C64_8580 || ds.system[0]==DIV_SYSTEM_C64_6581) { ds.systemFlags[0].set("keyPriority",false); ds.systemFlags[0].set("initResetTime",1); + ds.systemFlags[0].set("multiplyRel",true); } // OPM broken pitch @@ -3034,11 +3035,12 @@ bool DivEngine::loadFur(unsigned char* file, size_t len) { } } - // C64 original reset time + // C64 original reset time and multiply relative if (ds.version<187) { for (int i=0; ic64.dutyIsAbs) { chan[i].duty=chan[i].std.duty.val; } else { - chan[i].duty-=((signed char)chan[i].std.duty.val)*4; + if (multiplyRel) { + chan[i].duty-=((signed char)chan[i].std.duty.val)*4; + } else { + chan[i].duty-=chan[i].std.duty.val; + } } rWrite(i*7+2,chan[i].duty&0xff); rWrite(i*7+3,chan[i].duty>>8); @@ -199,10 +203,11 @@ void DivPlatformC64::tick(bool sysTick) { if (ins->c64.filterIsAbs) { filtCut=MIN(2047,chan[i].std.alg.val); } else { - // TODO: - // - why signed char? - // - add a mode in where it's not multiplied by 7 - dang it Delek - filtCut+=((signed char)chan[i].std.alg.val)*7; + if (multiplyRel) { + filtCut+=((signed char)chan[i].std.alg.val)*7; + } else { + filtCut+=chan[i].std.alg.val; + } if (filtCut>2047) filtCut=2047; if (filtCut<0) filtCut=0; } @@ -726,6 +731,7 @@ void DivPlatformC64::setFlags(const DivConfig& flags) { } keyPriority=flags.getBool("keyPriority",true); no1EUpdate=flags.getBool("no1EUpdate",false); + multiplyRel=flags.getBool("multiplyRel",false); testAD=((flags.getInt("testAttack",0)&15)<<4)|(flags.getInt("testDecay",0)&15); testSR=((flags.getInt("testSustain",0)&15)<<4)|(flags.getInt("testRelease",0)&15); initResetTime=flags.getInt("initResetTime",2); diff --git a/src/engine/platform/c64.h b/src/engine/platform/c64.h index 8b69782b5..5f7882c68 100644 --- a/src/engine/platform/c64.h +++ b/src/engine/platform/c64.h @@ -77,7 +77,7 @@ class DivPlatformC64: public DivDispatch { unsigned char sidCore; int filtCut, resetTime, initResetTime; - bool keyPriority, sidIs6581, needInitTables, no1EUpdate; + bool keyPriority, sidIs6581, needInitTables, no1EUpdate, multiplyRel; unsigned char chanOrder[3]; unsigned char testAD, testSR; diff --git a/src/gui/insEdit.cpp b/src/gui/insEdit.cpp index fafc3c4b6..35c7273f5 100644 --- a/src/gui/insEdit.cpp +++ b/src/gui/insEdit.cpp @@ -6033,8 +6033,8 @@ void FurnaceGUI::drawInsEdit() { if (ins->c64.dutyIsAbs) { dutyMax=4095; } else { - dutyMin=-96; - dutyMax=96; + dutyMin=-4095; + dutyMax=4095; } } if (ins->type==DIV_INS_STD) { @@ -6419,8 +6419,8 @@ void FurnaceGUI::drawInsEdit() { } if (ex1Max>0) { if (ins->type==DIV_INS_C64) { - int cutoffMin=-64; - int cutoffMax=64; + int cutoffMin=-2047; + int cutoffMax=2047; if (ins->c64.filterIsAbs) { cutoffMin=0; diff --git a/src/gui/sysConf.cpp b/src/gui/sysConf.cpp index 1968e1c7b..b286550ee 100644 --- a/src/gui/sysConf.cpp +++ b/src/gui/sysConf.cpp @@ -587,6 +587,7 @@ bool FurnaceGUI::drawSysConf(int chan, int sysPos, DivSystem type, DivConfig& fl int clockSel=flags.getInt("clockSel",0); bool keyPriority=flags.getBool("keyPriority",true); bool no1EUpdate=flags.getBool("no1EUpdate",false); + bool multiplyRel=flags.getBool("multiplyRel",false); int testAttack=flags.getInt("testAttack",0); int testDecay=flags.getInt("testDecay",0); int testSustain=flags.getInt("testSustain",0); @@ -662,11 +663,17 @@ bool FurnaceGUI::drawSysConf(int chan, int sysPos, DivSystem type, DivConfig& fl altered=true; } + if (ImGui::Checkbox("Relative duty and cutoff macros are coarse (compatibility)",&multiplyRel)) { + altered=true; + } + + if (altered) { e->lockSave([&]() { flags.set("clockSel",clockSel); flags.set("keyPriority",keyPriority); flags.set("no1EUpdate",no1EUpdate); + flags.set("multiplyRel",multiplyRel); flags.set("testAttack",testAttack); flags.set("testDecay",testDecay); flags.set("testSustain",testSustain); From e915c6efb98ab53f9d176d7bb957efcd374e2102 Mon Sep 17 00:00:00 2001 From: tildearrow Date: Sun, 29 Oct 2023 05:36:53 -0500 Subject: [PATCH 41/99] C64: fix MSVC build... --- src/engine/platform/c64.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/engine/platform/c64.cpp b/src/engine/platform/c64.cpp index d639fda96..cf0687d34 100644 --- a/src/engine/platform/c64.cpp +++ b/src/engine/platform/c64.cpp @@ -270,7 +270,7 @@ void DivPlatformC64::tick(bool sysTick) { if (chan[i].keyOn) { rWrite(i*7+5,(chan[i].attack<<4)|(chan[i].decay)); rWrite(i*7+6,(chan[i].sustain<<4)|(chan[i].release)); - rWrite(i*7+4,(chan[i].wave<<4)|(chan[i].test<<3)|(chan[i].ring<<2)|(chan[i].sync<<1)|chan[i].gate); + rWrite(i*7+4,(chan[i].wave<<4)|(chan[i].test<<3)|(chan[i].ring<<2)|(chan[i].sync<<1)|(chan[i].gate?1:0)); } if (chan[i].keyOff) { rWrite(i*7+5,(chan[i].attack<<4)|(chan[i].decay)); From 38103d9c1f254781224ddc024ac254dfe4d92e53 Mon Sep 17 00:00:00 2001 From: tildearrow Date: Sun, 29 Oct 2023 13:33:29 -0500 Subject: [PATCH 42/99] YM2612: fix getPan on ExtCh channel 5 --- src/engine/platform/genesisext.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/engine/platform/genesisext.cpp b/src/engine/platform/genesisext.cpp index 75606f00c..aab02e1e1 100644 --- a/src/engine/platform/genesisext.cpp +++ b/src/engine/platform/genesisext.cpp @@ -800,7 +800,7 @@ DivMacroInt* DivPlatformGenesisExt::getChanMacroInt(int ch) { } unsigned short DivPlatformGenesisExt::getPan(int ch) { - if (ch==csmChan) return 0; + if (ch==4+csmChan) return 0; if (ch>=4+extChanOffs) return DivPlatformGenesis::getPan(ch-3); if (ch>=extChanOffs) { if (extMode) { From 717e75f82d1b1f63b6698dd06bcc7c9a0673aefc Mon Sep 17 00:00:00 2001 From: tildearrow Date: Sun, 29 Oct 2023 15:25:23 -0500 Subject: [PATCH 43/99] add setting to disable DC offset correction --- src/engine/blip_buf.c | 10 +++++++++- src/engine/blip_buf.h | 6 ++++++ src/engine/blip_buf.txt | 5 +++++ src/engine/dispatchContainer.cpp | 9 ++++++++- src/engine/engine.cpp | 10 +++++++--- src/engine/engine.h | 7 +++++-- src/engine/wavOps.cpp | 6 +++--- src/gui/gui.h | 2 ++ src/gui/settings.cpp | 13 ++++++++++++- 9 files changed, 57 insertions(+), 11 deletions(-) diff --git a/src/engine/blip_buf.c b/src/engine/blip_buf.c index 929b8fc66..63f14a049 100644 --- a/src/engine/blip_buf.c +++ b/src/engine/blip_buf.c @@ -67,6 +67,7 @@ struct blip_t int avail; int size; int integrator; + unsigned char hipass; }; typedef int buf_t; @@ -119,6 +120,7 @@ blip_t* blip_new( int size ) { m->factor = time_unit / blip_max_ratio; m->size = size; + m->hipass = 1; blip_clear( m ); check_assumptions(); } @@ -135,6 +137,10 @@ void blip_delete( blip_t* m ) } } +void blip_set_dc( blip_t* m, unsigned char enable ) { + m->hipass=enable; +} + void blip_set_rates( blip_t* m, double clock_rate, double sample_rate ) { double factor = time_unit * sample_rate / clock_rate; @@ -231,7 +237,9 @@ int blip_read_samples( blip_t* m, short out [], int count, int stereo ) out += step; /* High-pass filter */ - sum -= s << (delta_bits - bass_shift); + if (m->hipass) { + sum -= s << (delta_bits - bass_shift); + } } while ( in != end ); m->integrator = sum; diff --git a/src/engine/blip_buf.h b/src/engine/blip_buf.h index 0853595ef..524d10265 100644 --- a/src/engine/blip_buf.h +++ b/src/engine/blip_buf.h @@ -5,6 +5,9 @@ Sample buffer that resamples from input clock rate to output sample rate */ #ifndef BLIP_BUF_H #define BLIP_BUF_H +// MODIFIED by tildearrow: +// - add option to disable high-pass filter + #ifdef __cplusplus extern "C" { #endif @@ -18,6 +21,9 @@ so that there are blip_max_ratio clocks per sample. Returns pointer to new buffer, or NULL if insufficient memory. */ blip_t* blip_new( int sample_count ); +/** (tildearrow) sets whether to enable high-pass filter. */ +void blip_set_dc( blip_t*, unsigned char enable ); + /** Sets approximate input clock rate and output sample rate. For every clock_rate input clocks, approximately sample_rate samples are generated. */ void blip_set_rates( blip_t*, double clock_rate, double sample_rate ); diff --git a/src/engine/blip_buf.txt b/src/engine/blip_buf.txt index 5bf7a3d09..94d49db27 100644 --- a/src/engine/blip_buf.txt +++ b/src/engine/blip_buf.txt @@ -4,6 +4,11 @@ Author : Shay Green Website : http://www.slack.net/~ant/ License : GNU Lesser General Public License (LGPL) +MODIFICATION DISCLAIMER +----------------------- +I have modified this library in order to add a function that disables the DC offset correction high-pass filter. + - tildearrow + Contents -------- diff --git a/src/engine/dispatchContainer.cpp b/src/engine/dispatchContainer.cpp index 8ff1a33c7..393a8ba9a 100644 --- a/src/engine/dispatchContainer.cpp +++ b/src/engine/dispatchContainer.cpp @@ -96,8 +96,13 @@ void DivDispatchContainer::setRates(double gotRate) { rateMemory=gotRate; } -void DivDispatchContainer::setQuality(bool lowQual) { +void DivDispatchContainer::setQuality(bool lowQual, bool dcHiPass) { lowQuality=lowQual; + hiPass=dcHiPass; + for (int i=0; irate,rateMemory); \ \ if (bbIn[i]==NULL) bbIn[i]=new short[bbInLen]; \ @@ -621,6 +627,7 @@ void DivDispatchContainer::init(DivSystem sys, DivEngine* eng, int chanCount, do bbOut[i]=new short[bbInLen]; memset(bbIn[i],0,bbInLen*sizeof(short)); memset(bbOut[i],0,bbInLen*sizeof(short)); + blip_set_dc(bb[i],hiPass); } } diff --git a/src/engine/engine.cpp b/src/engine/engine.cpp index ae1f63930..00f940740 100644 --- a/src/engine/engine.cpp +++ b/src/engine/engine.cpp @@ -3353,7 +3353,7 @@ bool DivEngine::switchMaster(bool full) { if (initAudioBackend()) { for (int i=0; isetRun(true)) { logE("error while activating audio!"); @@ -3452,10 +3452,14 @@ void DivEngine::initDispatch(bool isRender) { BUSY_BEGIN; logV("initializing dispatch..."); if (isRender) logI("render cores set"); + + lowQuality=getConfInt("audioQuality",0); + dcHiPass=getConfInt("audioHiPass",1); + for (int i=0; isetRun(true)) { logE("error while activating audio!"); @@ -223,7 +223,7 @@ void DivEngine::runExportThread() { if (initAudioBackend()) { for (int i=0; isetRun(true)) { logE("error while activating audio!"); @@ -349,7 +349,7 @@ void DivEngine::runExportThread() { if (initAudioBackend()) { for (int i=0; isetRun(true)) { logE("error while activating audio!"); diff --git a/src/gui/gui.h b/src/gui/gui.h index 7a17624db..5d98548f7 100644 --- a/src/gui/gui.h +++ b/src/gui/gui.h @@ -1464,6 +1464,7 @@ class FurnaceGUI { int mainFontSize, patFontSize, headFontSize, iconSize; int audioEngine; int audioQuality; + int audioHiPass; int audioChans; int arcadeCore; int ym2612Core; @@ -1656,6 +1657,7 @@ class FurnaceGUI { iconSize(16), audioEngine(DIV_AUDIO_SDL), audioQuality(0), + audioHiPass(1), audioChans(2), arcadeCore(0), ym2612Core(0), diff --git a/src/gui/settings.cpp b/src/gui/settings.cpp index d325b4821..de5fc62e1 100644 --- a/src/gui/settings.cpp +++ b/src/gui/settings.cpp @@ -1060,6 +1060,12 @@ void FurnaceGUI::drawSettings() { settingsChanged=true; } + bool audioHiPassB=settings.audioHiPass; + if (ImGui::Checkbox("DC offset correction",&audioHiPassB)) { + settings.audioHiPass=audioHiPassB; + settingsChanged=true; + } + // SUBSECTION METRONOME CONFIG_SUBSECTION("Metronome"); ImGui::AlignTextToFramePadding(); @@ -3574,6 +3580,7 @@ void FurnaceGUI::syncSettings() { settings.renderDriver=e->getConfString("renderDriver",""); settings.sdlAudioDriver=e->getConfString("sdlAudioDriver",""); settings.audioQuality=e->getConfInt("audioQuality",0); + settings.audioHiPass=e->getConfInt("audioHiPass",1); settings.audioBufSize=e->getConfInt("audioBufSize",1024); settings.audioRate=e->getConfInt("audioRate",44100); settings.arcadeCore=e->getConfInt("arcadeCore",0); @@ -3756,6 +3763,7 @@ void FurnaceGUI::syncSettings() { clampSetting(settings.iconSize,2,48); clampSetting(settings.audioEngine,0,2); clampSetting(settings.audioQuality,0,1); + clampSetting(settings.audioHiPass,0,1); clampSetting(settings.audioBufSize,32,4096); clampSetting(settings.audioRate,8000,384000); clampSetting(settings.audioChans,1,16); @@ -3987,7 +3995,9 @@ void FurnaceGUI::commitSettings() { settings.fdsCoreRender!=e->getConfInt("fdsCoreRender",0) || settings.c64CoreRender!=e->getConfInt("c64CoreRender",0) || settings.pokeyCoreRender!=e->getConfInt("pokeyCoreRender",1) || - settings.opnCoreRender!=e->getConfInt("opnCoreRender",1) + settings.opnCoreRender!=e->getConfInt("opnCoreRender",1) || + settings.audioQuality!=e->getConfInt("audioQuality",0) || + settings.audioHiPass!=e->getConfInt("audioHiPass",1) ); e->setConf("mainFontSize",settings.mainFontSize); @@ -4001,6 +4011,7 @@ void FurnaceGUI::commitSettings() { e->setConf("renderDriver",settings.renderDriver); e->setConf("sdlAudioDriver",settings.sdlAudioDriver); e->setConf("audioQuality",settings.audioQuality); + e->setConf("audioHiPass",settings.audioHiPass); e->setConf("audioBufSize",settings.audioBufSize); e->setConf("audioRate",settings.audioRate); e->setConf("audioChans",settings.audioChans); From 64ef0826505fab47f70a7c8995676ed8437aa7bf Mon Sep 17 00:00:00 2001 From: tildearrow Date: Sun, 29 Oct 2023 15:46:53 -0500 Subject: [PATCH 44/99] don't correct DC offset if setting is off --- src/engine/dispatchContainer.cpp | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/engine/dispatchContainer.cpp b/src/engine/dispatchContainer.cpp index 393a8ba9a..4148c2a3e 100644 --- a/src/engine/dispatchContainer.cpp +++ b/src/engine/dispatchContainer.cpp @@ -171,9 +171,11 @@ void DivDispatchContainer::fillBuf(size_t runtotal, size_t offset, size_t size) if (dcOffCompensation && runtotal>0) { dcOffCompensation=false; - for (int i=0; igetDCOffRequired()) { + if (dispatch->getDCOffRequired() && hiPass) { dcOffCompensation=true; } } From a9f77a3ff700bfa8cfdef70c7017ffa6664e9264 Mon Sep 17 00:00:00 2001 From: tildearrow Date: Sun, 29 Oct 2023 18:48:02 -0500 Subject: [PATCH 45/99] GUI: fix pat chan stat icons gone when center pat --- src/gui/pattern.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/gui/pattern.cpp b/src/gui/pattern.cpp index 215949ebb..212de12f2 100644 --- a/src/gui/pattern.cpp +++ b/src/gui/pattern.cpp @@ -932,7 +932,8 @@ void FurnaceGUI::drawPattern() { ImGuiWindow* win=ImGui::GetCurrentWindow(); ImVec2 posMin=win->DC.CursorPos; ImGui::Dummy(ImVec2(dpiScale,settings.iconSize*dpiScale)); - ImVec2 posMax=ImGui::GetContentRegionMax(); + ImVec2 posMax=ImVec2(win->WorkRect.Max.x,win->WorkRect.Max.y); + posMin.y-=ImGui::GetStyle().ItemSpacing.y*0.5; ImDrawList* dl=ImGui::GetWindowDrawList(); ImVec2 iconPos[6]; DivChannelState* cs=e->getChanState(i); From 83c4d5ba978d839cdcf632a8c29027d7201a93ec Mon Sep 17 00:00:00 2001 From: tildearrow Date: Sun, 29 Oct 2023 19:43:41 -0500 Subject: [PATCH 46/99] GUI: display chevrons if macro values out of view --- src/gui/plot_nolerp.cpp | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/src/gui/plot_nolerp.cpp b/src/gui/plot_nolerp.cpp index eefb4ea1b..f4d03717d 100644 --- a/src/gui/plot_nolerp.cpp +++ b/src/gui/plot_nolerp.cpp @@ -394,6 +394,8 @@ int PlotCustomEx(ImGuiPlotType plot_type, const char* label, float (*values_gett window->DrawList->AddLine(ImLerp(inner_bb.Min,inner_bb.Max,ImVec2(0.0f,histogram_zero_line_t)),ImLerp(inner_bb.Min,inner_bb.Max,ImVec2(1.0f,histogram_zero_line_t)),col_base); } + ImVec2 chevron[3]; + for (int n = 0; n < res_w; n++) { const float t1 = t0 + t_step; @@ -421,11 +423,30 @@ int PlotCustomEx(ImGuiPlotType plot_type, const char* label, float (*values_gett if (values_highlight!=NULL) { if (values_highlight[v1_idx]) rCol=ImGui::GetColorU32(highlightColor); } - window->DrawList->AddRectFilled(pos0, pos1, rCol); + if (blockMode) { + if ((int)v0>=(int)(scale_max+0.5)) { + float chScale=(pos1.x-pos0.x)*0.125; + chevron[0]=ImVec2(pos0.x+(pos1.x-pos0.x)*0.25,pos1.y+4.0f*chScale); + chevron[1]=ImVec2(pos0.x+(pos1.x-pos0.x)*0.5,pos1.y+2.0f*chScale); + chevron[2]=ImVec2(pos0.x+(pos1.x-pos0.x)*0.75,pos1.y+4.0f*chScale); + window->DrawList->AddPolyline(chevron, 3, rCol, 0, chScale); + } else if ((int)v0<(int)(scale_min)) { + float chScale=(pos1.x-pos0.x)*0.125; + chevron[0]=ImVec2(pos0.x+(pos1.x-pos0.x)*0.25,pos1.y-4.0f*chScale); + chevron[1]=ImVec2(pos0.x+(pos1.x-pos0.x)*0.5,pos1.y-2.0f*chScale); + chevron[2]=ImVec2(pos0.x+(pos1.x-pos0.x)*0.75,pos1.y-4.0f*chScale); + window->DrawList->AddPolyline(chevron, 3, rCol, 0, chScale); + } else { + window->DrawList->AddRectFilled(pos0, pos1, rCol); + } + } else { + window->DrawList->AddRectFilled(pos0, pos1, rCol); + } } t0 = t1; tp0 = tp1; + v0 = v1; } } From 5c9569a64a237fb055aadcfeed17ad7cacba7416 Mon Sep 17 00:00:00 2001 From: tildearrow Date: Mon, 30 Oct 2023 13:33:16 -0500 Subject: [PATCH 47/99] GUI: mark modified on asset movement --- src/gui/doAction.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/gui/doAction.cpp b/src/gui/doAction.cpp index a1d3c81be..8a1fd8a2e 100644 --- a/src/gui/doAction.cpp +++ b/src/gui/doAction.cpp @@ -672,12 +672,14 @@ void FurnaceGUI::doAction(int what) { if (e->moveInsUp(curIns)) { curIns--; wantScrollList=true; + MARK_MODIFIED; } break; case GUI_ACTION_INS_LIST_MOVE_DOWN: if (e->moveInsDown(curIns)) { curIns++; wantScrollList=true; + MARK_MODIFIED; } break; case GUI_ACTION_INS_LIST_DELETE: @@ -752,12 +754,14 @@ void FurnaceGUI::doAction(int what) { if (e->moveWaveUp(curWave)) { curWave--; wantScrollList=true; + MARK_MODIFIED; } break; case GUI_ACTION_WAVE_LIST_MOVE_DOWN: if (e->moveWaveDown(curWave)) { curWave++; wantScrollList=true; + MARK_MODIFIED; } break; case GUI_ACTION_WAVE_LIST_DELETE: @@ -852,6 +856,7 @@ void FurnaceGUI::doAction(int what) { curSample--; wantScrollList=true; updateSampleTex=true; + MARK_MODIFIED; } break; case GUI_ACTION_SAMPLE_LIST_MOVE_DOWN: @@ -859,6 +864,7 @@ void FurnaceGUI::doAction(int what) { curSample++; wantScrollList=true; updateSampleTex=true; + MARK_MODIFIED; } break; case GUI_ACTION_SAMPLE_LIST_DELETE: From 18d78c40dc00ae5eaaf3cf18e16f70a9ec1b85ea Mon Sep 17 00:00:00 2001 From: Electric Keet Date: Mon, 30 Oct 2023 14:17:01 -0700 Subject: [PATCH 48/99] Adding Button Masher's tutorial to docs. --- doc/1-intro/README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/doc/1-intro/README.md b/doc/1-intro/README.md index cd0376e99..8867dc3e8 100644 --- a/doc/1-intro/README.md +++ b/doc/1-intro/README.md @@ -27,3 +27,5 @@ once familiar with the tracker, look to [9-guides](../9-guides/README.md) for us ## tutorial? [Furnace Tutorials](https://youtube.com/playlist?list=PLCELB6AsTZUnwv0PC5AAGHjvg47F44YQ1): video tutorials created by Spinning Square Waves. be noted that these may not apply to the current version. + +[How to Learn Chiptune Trackers](https://www.youtube.com/watch?v=Q37XuOLz0jw): video tutorial created by Button Masher. covers general concepts using Furnace for demonstration. From d472666e0cb822b9c9265ac2f07dbee9aa04f529 Mon Sep 17 00:00:00 2001 From: Electric Keet Date: Mon, 30 Oct 2023 14:35:02 -0700 Subject: [PATCH 49/99] Updating chip manager doc. --- doc/8-advanced/chip-manager-change.png | Bin 508 -> 0 bytes doc/8-advanced/chip-manager-remove.png | Bin 626 -> 1003 bytes doc/8-advanced/chip-manager.md | 2 +- doc/8-advanced/chip-manager.png | Bin 88401 -> 94856 bytes 4 files changed, 1 insertion(+), 1 deletion(-) delete mode 100644 doc/8-advanced/chip-manager-change.png diff --git a/doc/8-advanced/chip-manager-change.png b/doc/8-advanced/chip-manager-change.png deleted file mode 100644 index 4e9a29f2c2047cc8aea0240eef98c64dfe3a2486..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 508 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA3?vioaBc-sT>(BJu43j9WT5~5|BG8hPF}QW z-kMz>KYyLFc#}s`&8IKlyi@ADQfkv`CQVzqW$Kd6y>r)|xqK@iv(eB$$3LU--@pG; zmTWfg%bvV=)9K5%CN0`DanZ&}i#ASOx@GQ~T~6ONeFM5muq4PYnBi}#NY=u;o2;!i ztEv7|xwC-xR(mA_1EYYai(^Pd+}&%D`G*VySQ4E5JiM%DH%nLD|NFmweQ1kG!p&28 z@-x-to^^|#-1OGZ^OVVHLC<+hHy?>j>AL768+?AD$HotK>*JQpbC{jQP`o0zK;dry zr;q2IGi+YdZ#ld&l0I=~E$@>&rs#EiYwq>;^3QtwSBq`iUXSOU&)k>XZ#$T#`>1=_ zR6+hhS4%lGdah#!|N{s8Av5OoN!+ocRU%xBtc=+Cy^?9QG22(zf=bvQ+m@5`` zeBu0Ky31ky|HjC!=}&LORds*oe3ZRGo;`yzDuco9#&yOmZ~B?L#Ht$nC+bHqlv%eV z+n+F!-mzK!*izmp&$y4)rQXzc4S#v?P|e2qLE@__SJm74ojE^0{%GRFC#r1+W&;C` N!PC{xWt~$(699wI-i`nO diff --git a/doc/8-advanced/chip-manager-remove.png b/doc/8-advanced/chip-manager-remove.png index 3e80749d4f7b8644e8eeca0ecae2446702bccb1b..e2e4af3cd0347c56c3d1648b9549184c2c7af9d7 100644 GIT binary patch delta 992 zcmV<610VeI1nUQo8Gi-<00374`G)`i02y>eSaefwW^{L9a%BKPWN%_+AW3auXJt}l zVPtu6$z?nM00WIlL_t(|+SHm|NEA^N$Is3xwTd6$Dx_k&nyyM>h`MSELii$9&kE8@ z?mqNTP-=yJfrt-9Dk52aoA?2(i55i=LZ+}itq8`dC=v;Y4}U56rn}uU%`U6X$2v2P zGk-WNt~1yF@7^=#p6jlz%47l_8A(`3SE}OXy{i#04P$JF{e0L4CSLVwv&C3V<`;3F;TF zMg|+eOOBLMqkmo;2C%C%ZTQm3?gucc?14Q_DjBKZeA1vS2yjWm0J#*i!)jGl1h}kW z02>0BH4KnSfyN~Xz?hT-w^~}@!QddI=jDZT&pERh?sRlOZFe`E&&rYv5GKX^+3_9SsdbLtxIyQ5K-4xtWGIEE=Mx=Lkf=e0=3@ zSKV=LT7Pl7>DTO{BJS!C9u9eBWpFk!l6S0`@p0&BXaMl}lmkHhbh!i}goNfh>*~Pg z^@<)tG=NkHIn4V3o{0qz3n7dgI?1&8 ziqG&A%e0(!0M;mslZ)n7BAF z2(%os0=y$L#%sQ|7QB0V2lfd*h>u-eu)DLPTr07@xJduO+|p8Z^JL~j-LXIS_rowb zUwl!5EpGW`Y`g%>4ewy^{nQDA-rS<&SuKzCsKvpHa1GCLb@uGXxChrTnx)t<7FJ>M=1_Eldiz=12 zjy4U-o49bpvsZ7QzI-cb86{yEY2cf6@A31$|NfPB&Uya&opWr3eROF^PV3!A&+k8Z zq2`+M_1ljri#ILXynor|12Wdp|Ni}(xnkRlWm|KbrsX%!Sh3~ci`VaO-G9qyR*P(ddVFI21XxG7srr_xTV+9gAW_|x)SKl&&n<>UepjdF_*ZswQ4YG^GTy5WR6jU!i`m}jlrVqme z$*@U!FDy@N3DR$5@Cx{<@NI$CCNKM~`;XPEK3K+Adf*KASC-5L&r)4n>YG=ZH{Cn< zC3)APhL!uPjH(3^tO66%;?tviI46jFUCOD(BGFs_N_;8jI(L?aiZ$2t|4sU;Y};PZ zI`c}5-D52_sRO5rl7FQAZ|5#m~TISkKX*NImbIpfT7Od>FVdQ&MBb@00qP#Y5)KL diff --git a/doc/8-advanced/chip-manager.md b/doc/8-advanced/chip-manager.md index d0cb89943..bcfb6006d 100644 --- a/doc/8-advanced/chip-manager.md +++ b/doc/8-advanced/chip-manager.md @@ -8,7 +8,7 @@ the **chip manager** window does exactly what it says. to move a chip around, click and drag the ![crossed-arrows](chip-manager-move.png) button to its left. -to replace a chip with a different one, click the ![down-angle](chip-manager-change.png) and select the replacement. +to replace a chip with a different one, click the **Change** button and select the replacement. to remove a chip entirely, click the ![X](chip-manager-remove.png) button. diff --git a/doc/8-advanced/chip-manager.png b/doc/8-advanced/chip-manager.png index fbc5045c2ff23bc3fb7f8eec9c0caf7c177bc6ff..5408cda9a8c9497c2a230c92ed1f989ff3fd03f4 100644 GIT binary patch literal 94856 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

uOR4^$rSX`CT4aWVgEQ7y|SYJ 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

S(Lv#;5#r@^2M(90+KqSkRC4CSZ#BL% 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 >?0r&@Oc7s-an(MWC2}MW8GCX!%#}B=0DgF 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

m2)T3Z{ebG}2(8n#X~Bc0 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%0AO%t3ux-dke?&H}dqTsz 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%0DgR7fdSE0eb?a@Y7rboWA{J%Sm%gTOndKQ(P zV?*A6$8N4))QELl2E@#eV=C@-nljHXJhycnEPnA?5i7Wd{O-}u1rNA_-#STXCj+>)*~Fjp(o~JB;NOm>@dSt3e$2HJbvO=sM?S!v6^?dmX@#j%e4>;I-f9 zr6xcXJSf6ImN8kb^)S=*L?Q$?Xgzv1W2l1gv=gl`3XlsG*pJY_ip$j&V6%_}+6O9i z-Vk3v$yGK0HSxuS6M$!j#1KfZ{hw|vU1-ot0eM5l9}C!sKOQEMFuz;?l{N^1INwvo ze!DSr0v1t&;KC7siign-pZx+GpF^?x{%(F5lQNucfro_3_!Mw^K;aZJ_i zoU|EMlxF*Bu&9ZY;R$dhaxJa7Siu&;= zK=r+eN^=?{*Z@f96-rQ+2gKNlfHud&q`GOG10*L70V_Sc>~(OcRA#gOPQXH~KZ>ae zA1wDeo)fz-%{>12$Df)Ov9EwZ6CrSpHz9OQd@kP-EpXD#)d`Z3@h!8Q&|_x(?vG3* z;Tw;^$cTqzCAUNX<3EJb2nb-r5CH+PrHSksAT$#s#dE{y_@l!yaBd`ZUvkxod9xp( zQ4#>z_*+Rd(f=?Q>07N6QvU4~gh%uvn8>_Eh`k=iK}9`k z;<*efdQs)K`KX{sNfpnHlioDbI5}4dLLWEqRcsvXH2?;!v#Js4M`Ef#2ce=9=w`Oj zEZ-u48x+o7Gyo@G$we8*$0+j5QA0?zeTH*vNFFA&axKHa_VO~iI;q$07nQITifMJ% zP4JB8vcOx{0!UwZ38Nm84ZaTe-l#W5TX|*AfEqmJhOITH5GxQ1PZJTtcng1~XJDKkiWJ_7;LHHUneQd7BGOgzgTrkWHzq0R;bPzAT*PXZy0oYgrp zqGDehv}fNE=Oq+hyU5gt>1bUH9{&Y54haV2DNr$;5G*Z(af-*MM=3A_b4>_hIaMnh zytM?waM>2xpULTSRI!rk1LWu-jIybRSVC_QOb*5*!wY_iF#2djYMN$bF*`D2p&M+Q zWw!!CC${R~Q5nj7WWeU4yAnWhzZ>UlZnrS5DI#da?*VB+o(L0C5)HWU*fIHUv<84{ zmB*QHjtSK2QdmsZ55YkO-kGe`)l*A@TtOE)!kNPHP0x^|Y`|x+>4*>}T?53QGYlTj z(5Lngo2@N?f-q2MP^ZXx1(4R0*=K-6$_BHMe zBk-Z@)P%G8Bk|SjCJ#;Z#%1Ncwh5{kAHAO~1@kM7 z16r96#d-I`lDfXhvL~ujhtj+-M zmcfA~hfyoB={xrUL$a~OXd#jjSdP+{?jilGG?rKx1-_p+6406jDUqBf<5Gp(ih0m= zxcz}^C@`u2s4=?waf(AT=6?;ChSjc{qH`9q6V}x zuK&q~^JMae$Em{b6eBH7id7e*hLWpP%`Qz%k%6sKpo}R-cx{B;mD zf72i|1m-%z*zSzL#kv&;uPArB*;d6oTJWPzItxtb|A(!&j*9Aw`$l2tZV-@eBm|^u zXb@1kyO9=YP(VOZLO{BuyOBn^K^p1qlm_pf-}BtN-u15g&si*H&di>D_Bng+@26O@ zPL1fr@kPX)Jk<1c6$;B_Dn-*h*TX`Ue(e-s!bq!B>&u^UfL8o|>DvCUkPxpAFm2c^Qldk(FhMNsPS3gU|&AwQ@$#RStt{-k^`H)>5n;l z+FUa`2iM0??-!lgl^JC3+-SqxC9*XtQHr2th780_GJ4s%rqnpKm%=Mz-0=NBS7l7| zt=4~#xm=jb>sN#TCF zq5{>+2~;7c-6vDSvH@_Tezl?9ujb?GAyh{-nSy^-GW(-7coW+$0&fUCkXh$UsdsW> zS;oKfsl+wfYbX7C`0yQ#jy>V?dynEW|B`p&10ShtW|U&oo5^u%_v3$I)5%}7aBFTU zg{{nggY>MQ2nXB?^r4pfWzDq;7~S`a3=PjWd_pLVKKy*4>NP)PVi33-?)E|J@N7-X zA{8ji60QM0zR0d8<6KlSdD51INRyXAv*}Q$C$&%)lKVuH1qsa4VmTLD^+zbwopKGY zCHzER+IqDxrM^iLrhs0|LD!25)=HQ?lYY1hW+~!UfM)TpGd#-a=humnvj_MM%Xd(KurXLbgba&ldy)@i0K_Ed+m+u^i&du91Xv>bap zg*SvA?u-W~ZM`r2Uz?;>JwaFwh8BVlr-T1y84aE4P<2uch3*hg7hMvK)%CBZ@8e=?sMt%-x>Gqk~DR&#bJS-Ld zB6J}jysd4*lvQV3)&Q49!TeK`petOuDF3eDf?+i_S?%GLKcH}2evO~fTwy1B(#$eb zm+oGslGS`h^M9(*bO_n9)GDqt7G!DNHA)7J76_$mEjCl55L`G*oLkoV=@JMh zcD}!n_uC@MOO#Ldp@o-6NT@j^;M3ad${f-{Wnad{rKd7|m-8I?FjxVX{U z1jE#BeE%)HWpbtJufI3ja&n=TgoABQfaxLLaWi=j7Od|#@{VabR71u-xS?JsyA*^Z zo@ADi^^X4RB>n~oJ3nCF*;<90uvVVP?)#X%{9Pg13%3OgZaAuLcazk24C*4nO_EV$ zPHQRBGCQ*cm?H^Ig-e6@gc|(nha)(`v2gMD4j(aaALdHZb+lrxUyYS>zN_i+CKec`5*9W<61)e$-MWCWxffWsfOf}ldUT;&J_w`P_f=IL-{U# zK!KRrKnb)e{}m*dSeG^KQ{ih(rWaCbMngSL{n%alNSi5|9iDh;LRn9AT-HkVOA3)Fww8M7H7iUz zdL@S;px>hhkNB)pIT=r@UL0J_e9w&Lmlk~wS0`h%th8VG`>m}^HV5xvv&)t!sQ)9f zGM)$oKQA)rfwIMPXat2M(W<;Ws{Ku?CQrUTtD>B%CpE7=Mp-ihDm8Smfz{O^SxxQN zbdAabNfm0^o=m%|UT@J;u00^Si2F2)DC-?poegZOS*1Si$)9uD(*~8WWM?7^V9@|$+6kBhW7`>|BrovjgVj_rzK9v1bHU|Jwa&X2=D zkC}Q#3H9|_G4#FvS-(4+vz5#7@}ss=8HPObZoe2eVlSioS!u?^SdRA*DNv}ZAdVtc zqX-3~qUyZg?`ok|h8{Wn9x{w*q3bAH_4j5LG{*{f@# z9%vQvk5oW^o?1UI?OAlV@QQeLd_m83(`Z}4-^QsbyACbfMIT*+$j~{h-+LaXqC6KZ zQZ=B)kIlp(wFL+GzfiCcx#%;IrhOgFvQN2~#suzF3dzY@x&)-M5^bvn+FA8epRRd# z!1`{U?_2Ej^|6T6YYI1f_-q>na%6hmv}oNgNr~T~aJH;>0Yv7s{f9z?3Nqj9IiDi4 z=->#e-`fdyXOfW3$A?^tA;m3_&`uGanPN&{NoGu0xvJ_m>ao2+D*oAlq;MfZG(&6T zQ*oh`5j7~EPSoLvqo~fb!Mg%M1i^V^s`@?<&ss|^f3ngN1p?}f!0{=x;5)~1VJxQ+?MHp{$iGLJnK|8F|+y)bMNdLdcF{i$~XQ~^Cs!4K8C}sQ0zvbmUbbc4~IqXYOq3YS+ z63jtS0rflIS5?Hn@e3!eUM@o{POtOsZv-O)?Ds~0om99PB)lF#&gT5NgBQfCA>&zi ztW0E|x0E1{?1P=~%rxhZ+P{O2yCn0VaqH9yJXC<-Q-v0>N#*9et;6A#t(FVTi&QSk zYIHpZpn#JqyS|mL2c$68hL}EYRH+*E@Leh6kw1R=f}5WCW(#Dr6f?jc{@}ITpvQjD z2G4%S{DAsHR=B1A-N@cVAz5})@|-KKIc{BO;3nE* z$h;5zKwC8OFx;>FOXJmBc1y!ABu|E$!Go4c8XxkqF)QGMs00holFKId%I*Z{6b{+3 zFdXJ_Z&F0bw=}cM+@rU{SXVe=&?z+4tg%}!>;iM%`tcK|8|mT4A0ws*G53y8>&I?~ zWBq_!F$7b(kN|Ha?%HnAvR2+7t0^n5yIyR->wVx$HU5V^L)ujSn`Q70onBX#EC6e0 zr^X~1f!VS;g(ydez}}2yNK06s=Ham!f1XU zsU9{^MXhYTDIG{Gi|`8D!qV)hlCw~wqrbaBv+WSnD`2FkOv$pBqw{sxqZ@=v%-?1WOZD1crB(Spi+iG~q zv&$ih+A)RO(iY1rN9JV;{sy>WHLo8}=sJi59kT|tDmSezI^<8z?(h!GMJ+SSLb|U1@_FPv z{Gn=m{_KO#ECph;$9n&9G6zkye#vabtiX#8^gB$}hx#*wepsm&y%y@;jnCVyeGc6{ z&85cYnz@>?9I3-09vQw3wqs z?kQ`5jnT+A{Di)pkcdz(*WO8^gO&F7i)W%(K?oA)Ixj3*@Jc`b8~q_lEx_Xu$l9s* zUuT1X`nm0q{>dk@%6w}1AHfpo=TA3XI=PI@?+Kx=fynBV&{|t2s~CM0m-xi8 zHJe(IOZ^<*C2vYqp=9#t;liFrUNIS!Za^N*E$KYCQ3Wkl(;_7<+~A&qJVLQUV(ro^ z6i-bu-Kl|}=RNc9tODNk!)5uH7qRb+ZKT&W{Tvh!@q{eX*P`+k;cz9T0acFyrjjcvC!vs883mHLj*$4;{erKPWF z!;-`w?ayIwZ9|%3P>XNdp!o-}$5%TGT8#ZBg6iDTkZ4NOotz`idi+-;G|kpxh{}k8 z8DZc#XXHB8+HVXhZzd0}FZ>6$giLdrzhR(PwNBg<)}jqpvT!Yx()=G0F;stulV`^^s)h~?E`-oN5K)>Y0m_A* zRn`G#_L)%fMQPBFO_Tu1fX`}|7rrMx^F{cAc zLN@nXVW^e9RC(^(RCgSRNI+=JpO;}@REWpUdqa5f{$?^`p4JCx(ej;}k!d|LkS<@C z(^=jRtLdq~uQ$wZ%ci1Ka>|y;uO8r5`XnLCAU>Ng;%-eLfq-+IBO0zCQ`)o2uK37g z)xnbxlE}X>v(KXNCRKH>`d_XLL&1V&W5Hc0rGB75>)*?%-~7YtFa5Qr+14$%*c|9D z7bk_&hHPR@tFck^yM9-9j8+MoGCTDYG z=vIuQU$o-GEqh?#UjTDYppT!-bUNuN8|v2EKta)Uwp#NzjMPh|43XsVH)EcoC?4Z0 zqot0Nujl4M_6@(r&<_kY8+7PR<(qGAkxaRi43p_uPD)7=Da6t1dVR;x(e}MEGSpgY zBAzXEbpB4S@V>M7ax6vj?0_HR*>s~3N%ecjyG7Wmg5Zo_&3}Rul;dXPh%#K?A1~}X zffKk}6b~Ksw1SOm&KqtjW=h$%4AOYgoA2lq;xup*zG-@5ThYi${LZm4(0Ps&Eb~t| zJXa*huS=-!U7L~Spg>|FLL9w9h)39|GV_jnTuU`I6*I;mo*?lQgF+nUiJELy1p|0P z^^PGpg75mjjv*ePS>SYV9606pzmBBK;4|p|&*QIV&@AvX{=cJz=XYQUN(`*@LV>tI z^qtvvL-#Pi1d{;?M>*l(Z5F`74umtoL?|WYKUt3f=JD*M3Dh2-A*#s$bKoooWte9I z&L&gc1aC#~KzY*m&-)>ERX5Nq*3hUp5K6O=VpkqkQqd;lhn41Y+*IX$v;adB)YhM9N&D4)$X^fx&TZX`$A=*0AFLCBO;UD0JLIr5) zPMB0;B37emq%if;VcY#Nm&LF8sH@b1{?!r)Xo;_fI^%{99i;g2@`71Gl~V*DI9qJ#s7jXr=zP}RY# zVfG4x{yW(&)uBENhMhSBbS7^#!vT2rx$OP;-V1z<%wf11u(_0xsvKZUoyrV{b@Q6x zcZ2r|An)jv7?55iaa+FD*aSg3Vc*`039?&=0v$juH%Jq#0+>TSB|vQ2#lDK&?J~2m zMTW=6$2-4S&>1wu9QrE+ym062Yev@l>7paaomyh~;rC8}U+?qj31FWJL!@AOm7wb> zz7GH>{BiK%WLdOhlf2w#Tmq$xXBAfB-?IjilY6+UIrHet)^zs;mJX@66-KRQAeqMn zXqkXgOEd@QcU6f1oaCD3yvKjt-1!4*a5^O>IMhg&MOn^Y%{>x>blOLz;HWNAhvK`i4Sf-gB z$+o~@7lw#*uXcVmU+W6y0t#aduCeaFZ-n;pZos(6VFg}6sghn+C-)%Ch3W=$j5&~2 zDbIRdPRQkg^d(!>gFqyV91&n<90}v~*Dre?2%L5xY}Aa2Vc=E+$Kf&k@XPtp6y6u2 zo)+tAaujZa4)R1Ch3PL%CDQ=95&Qi+32Eb7M))em>_1<=$x(U*Wv;;oj&X|mPMd?9 zX|TBv*{Q0B7+&)4CzP68QKqO59}dpe)AQMa^-(FbOa_U} zzi72w6UW`wE&#igtskDq@MY9kKL8IYaK8YPm$%cpDqK$$R{*{8+|B;74sytoR;bp`;RguSh)h^aInTN zonphnG0uzuEUR4`YH>YS&~Xdoe-~LXkdMlzDo{7kMS$s~7H^q!vOD3w8v;mfmmfhO z+T>O}Dh1G01YHp>4@p6p8m;dEj=TXNM(cXtcZLg&%|{TBwMDTeTE~?R08y4kYgppP zI)IHgOanoH%t%$?KF{R0!H?cH@2FvS?$VNm-EV-gOU1Bz=wZ>2Yoyo())NLgdf9lb z(FBYS-P#QSFclXDQ8_SejW&Q@|_G4=PC(?$^p7?QXmUUUDRm{h%jKiFTyuWg++Q5Zzwe?V93Ll%M4-eCNKqQ z&w}xld`yvi-TDh#7_l%5WQ{ysUVit%J??CGS_O?2J)sqW)TUOBfAFJ$tKekQ`>{h_ zN3jgkO%?xPV^tJA0(hjNsN6U#ANM~e7%@V5(ox8vk*Pw{#G2H)$;ICgqp00o$QAIdY3tJZ+7 zRFpl4eVlr+3T7Ynl0hCVZa;R=Ib+R}-2^YEgQCJ%rBYE_w}2A$ZF9;@_G=G1%RbdE z;ao~vq+$o)NEIC|cE>#8Dh_~wIo<>c4c#n7eZ{Dg)O1~*U&7qKgf}>o(~a@;?D%M5 z6J$BKiA8~Gn1rz|&ufFocDY3`f?wD9^{$dc6GxTvx7Ti7Hr6!#A8*#a*wz&3^`?E0 zmB247YOB%3CooImY%j-49j>o9Z6n1S@Z*_gbj1WyNt;5ZXs(DZp}y(#$Mekr`|t$5 z#lhZfwaW>9>i;HXJ(DETuV7-Cpp9c4PHuJsI-F#CL}_CYI=uN0g`*9N)@O{u@m6gV zCP5o9G*UUhNCDA~Pc7$PvtD*f@f<^f(IxQYBPeV#@=nqvp$unylP2G+?C$)QoF@Q< znQ;it;7e4}O=MpbISEiQ%F|G-!iSF}--wY5)Y<-Kn?wxvvjqIgv(w_P)smc0u7F)m+{5ZKwOJp@%X# zLx4*Z;^BT0uN|>OGFH;0th|ZDK0xUS=7~9t(zc7QcPHp7O*$b~v)Z<nRm$?~Ga^|KCb#i3b8mt3003m>Ul!~_!;$wiP_XYyVt~Cw7nF9m_?L_2@@WAtU4?wgN!f1w{Sy0%s3eavai! z_6eb1|0s<4mE!1GD(q%I&x|Htc-yxC-8dbwVt!&Y@Bu0y-6uzvh=0vPbd5&9h-j0Z zeew~kBqbDhS&C0@} z(3}?7Q=qhI>YC367H?Y1KY&GGw=(|{A#jzC!ZHQ(^st6CE0%Cm{s5;Yn6fpFg^xOZ z#(tv*n}%3$tw>5kOttp}| zmK+?42+Wt6Xsi?fuL`K?aE_%Uv_Ja9=bQ5ySFlFuH1o~S{kM>nmTA=;a%U;kCd$sB z6CVF}d*M-azLHA}UYzHn+v0a58);Y;3|~Cf(RHrS%GxnV`{p`}{@~NHHxsJSx`ET(Z%)TI7a-^tc*;4Mz zUas)N82rGHYgU!wdMBB>R_cAS*}TayQSciEPTR1r8r0!e#v4(J{}F++!E{1-ox_(- zt4-)IKS1gEUlRs#hA4ioPZ)HzI=|Hg@3HXoxM0xJe2;m(3DJW7_r!YWtsVLh`CR5j zG`XO}f6tRZVRqK0aGwoI8sN3V79Jj+158#XoQuG!=s~gC$56Fag{JaTQR| zmWJ^8YQrfKuq*cKlh-YCc`oj}CMm5kRWg?|2k7Id?uUg{W+x2cNIfA-bIr_VoH}?I z?v=8H&8TF}$QWdV8kgaLkV!`|rsPjnJL&Z`vz9x)-}nzWYIt@;Pv&oYGA?{F)CY9H z`s1h)9GcAX>!0%h0|ihz@K_Or16FBRz&4;Hv(FB!Ca|`uw-WWYdvOy1eJ+PoHq#5h zyCLB97Y1(AnySB-z2Rhd+#`l?E2E z*}$DI+rXj=xZF`7V?M)m1Uxinu)+)m>&L~NS$dy^T)F6%A9hvDIF@I@Y)g5r>wDI- zVUPh<4r^dBg<6pAt~cj>Q1%O`q6y#00K)P{&4NvClq4@~XYvPt=4*id5qV*xms9$j|6qUY5~ zAl4(T8SDu8$~VCNF68~Z=SI{ofRm@_(*@Plsj8lCIdOj~GX^^%Q;@=Pc5<@$?JYLU z8Uqe!k<-V4BmE7(fJJ{yCD_UJ_!KJQhe^{~E)zH`u>UdZdjLtlJ^$uE+pt-xHtyy` zS3KRe`E%VG2 zKCG0wDVPV`zh8hIXzhy>TxfC()Td~6Jn{30X(#J6^<`dA3Z%mSX!BzEb2nVIU1Ev$n zH8&6YiPB(1u8U68`}GlvTCJ;EsS;m+T?@4ccMp>be8ol)2V!c-H9qFt_Lx5w)IAAq zjBpHWOmKjChWCSz_vJ3L5Fi%HNgyuDJ-|2t{8qXr%wj{P!9-f9fbWVOu=SXm#DQ!# zJgLY@0oFV=lopN~CsZ!oc%@}bM&J~1Y$2T0kxG5R(#k7HUZD2ogM%$()^8A!Mx`jXC&{(N2Xigm+}j? zqyXcsVq60(P^q{#?3J1#M!p=q7#)DApfiUeINNj*GetijbEi0^|kOgbuI#v*KEjXEa)gS((5P!#_deiwAvW7Hx=JJ)uh* ze4Rvn1NKh2{r&5}IwK157wjdm4V&FZ&XF+SP&G-Xl=QoXlX=jH)&;`Xfu9x$Mu-La<&5sJb#Mcd#Ob%Ig*a)s|t99^+(^OyjM~-$9T`1y_Uy;~PROv_?$D zAPDXlp2&z647i?(Y*mPMIBWXO{CObrR235k1e|YJoF%Z%w{6tr)q`5xRtH9+o}6HkOPlOVf4$L2w*2`OpuIJQ_ua8JN6I*5Omd4Q_&O$fRl@y!NBDp zHu2@h8moTVWsqbm^VlRE$;KG%L}S77>Her8jj6p9qC10ZraP{N%*J?#k!<8F=0%GG zGU>2yle7Z~5WQvdSK5;?T(uOo4SQ!VOc6}$`q|#}f(OkkH5~k0jEK1X&%JzJc0wWn z7{$7ZavdN?Yr@eNalx1ZCs#0LGhFlYkG+fxbl4l0Jl~rtXxw8FUj?dOvF9}ASt6Gz ztQvCm32n?D0@iUxYiUzfolR8uEkWTnN(S&}HXk|vg9vwKmkyrN_zEpdge4rF^`z!} z?(r|)gc0`N;Wfh1C^+LmT6Vbmeo%+EGATl0V>5ZDgM*yEb!NV@RkOi-=ntYkQK&??9_qlcTeT7?6-&+T6h7CN2}=P{uKfX1Y8%X`9ba3 z64t`@p{NtgF~skXgkwz<0(fxlVWG@P^Qznk=LFLjwD#BgE4O=$c+<}3< zeU(fhZ=jSgLmj73GU9vRf&l;|VOhMdKP+R0nAEgI$RBTkob&cM3 zE?g#HmSF%_0tqlEme+jQ$yD*ORyK)_kA(7FPq1!IxDDeJI=a?XIB;`#wF*34zRusi zH;pwR_dcqdt#+50^L~wtvsxCy)^Kgl#=WEGQ|;TIlnJU-=p57Ja{)A3L&sYj0yLpz z>=2@GB`Qz|@bm-4$ZQts`0Qr_FH%Pq9kEa|+5p2Bj+j39SD;LN1sh?Z_X=P^^SwAQ zip6?UNt5+kv?w_4e=cC0CyFq_g#2nX9B%x>+Nvc}#$d3`j)HYG%_J0a(39YTdzFog z2-R)g91{LF_%Tqx?E6a&N}u}ZIGJK;D!c)7RiskV-VU5HsLB_dbdNtJ%iCRrG33UOm z!#Zdr{`d$BCGB|Lw-~4Z?!>7b(b(1O1VP3|9fI1mZ=Js{Qi$^LLuJ@8+@Lg@mdyY% zfj$|TF%w^E27aXg6-md#J4j{jCbrVL&sd-hZ5k25eyt?4c0?%`IVyGPu@S2Jl0r3g z(0nkV?H5oPaid^??|-FRD_ z`z_jJ9bvAB| zTIj21>Q$0*!QCn=)YQL|Lo|0lg<0LlgoN&HoTh_z8NT%xi6xk0Oc3MbTQFPQ4(pAH zg6+1aY>&tRM8l45WuH!`_Kn2~1~HHDpVAPW+`qKT1Yn5~b`9nLL=JM4tb6&oC+C8w zeY!W5Ltks`D#cFOw8Q-+8*sGX`erY@UT6i4#jG*JgcB7Fwl%l+LJP?e;LC~q9X=Zd zUuRIra$ZX^yIWkS`WLlYmX~E+z^$< zlNQ3*Gr=y?c%bRA_B>&?rlZ5Q7zTadv3A9}rZ`jmb)5PYxn-uw7n9%Ae{T1}4BIYx zp{L9rKJ4k`^yCCW9q=!Z2wet#jp4BWHh3|NmVI=d%qGVsas2kk{}akh^zAyD4{)Oj zgF}rmfDi_JOUIVUs6O9#HD@G~$uUVHeO#Cu{FNNwtQVN+)byNuh ziR;+rY5bvi1{Q5J{zb&g9uD+j?lP_aaC9OqQnTk81kEUz*O3;#tun1}BLpu)8X_Y^ zSq?fFuaEt7zs$7^vMh7_9O{~}Obh(^lMdWoYTKe*sYnb_O;vm(GJew^ep4TN28P8d zx%5CFWA+l`&BFAHv>Yvbkr2k1SUa2+u64tJP>C??!h)5% ztCjLwb4QVfMWTq;$*w4yxGcJr?>`(Z@Iv9~{ek;3!D|`LFS2+-9BsFM#&o_=r;eF* zHFNr8Oc$%V6JhTTd?`erImjwxBYbtP{TZdzpw?_tVOH2MOAW15<{gr6Ip3Fkig%$q zbXm-LyL;5RAe7n^2wdv#MVS0kHff2B2N#@}8cTzN#d$@4K3k1kXcK7`G+<%=FIPuVe4|1A_Z zj{~~BWZ)GN_~U(Skq0mFL2o%a`Rn6JSHmHtIyCQdkNv3uGSx=ImpA@d1!)~q2h{R} zxNw!dbx_U5;<~(FBNh{DCBIq_aTk1lddRE>b3c0D`Z&QSb4@e+?+7PVXA1tBu5E16 zyP!sWXAzfPxc4$21W)WdbV|DsvZx#~=axCw&fppZB0I34xjnfht0g&zROCQnWjN&;}HqS>K;-HYE&VsqAr*bp*a{8Fu6bb(8yFF$-keeL3Z^a_>g z|Id@9d${P^uXf=N=tn|NOs}l1lvDBh7Sv2E_hu`oV(B*eC-H-+pp}AU@zYr>kF9zy zs;es5`Uml~;nw6I&|h78jY(GJRtXmt17bsU3)c`j?z?d7B}Lv0S4o3yqwNHfMD|f= zvpjqd7jqtcDbW+3E(xjV@oi6-dM7p_6Pu9tDM4z2B%;p~q6k&vKVmpu{J%uoUq^!d ziJggtO@uEMw=>EV5BlDp3Z0a}X;tP)#a<)#f_gCwCVhKwwA9=H9kXi=( z_ARna>@hIAWhWC%w_#eM-j{$;KfJ3VPOsPCKtg;nDO&sPv0{7gIGLaS!J}*LrPEdE zI6h6hh26aJb1|vXA^#e$2P)Itm&k1vy81cc(6SpN3uB`2eX?~Uu#=m!d4Wp)<&7XP zpRAP{KeQ((<$=6hcA@mpy-~ss_p-bux=2KSGye(I{a~^@+~n-j;nLf;=9YwgXDhDv zR12hC{VFdxH1fjGg!>E0)iG(=Y5GNEOt4z)kwp%_!adA_w|DlP|w13%ndU*pZ7r{ z$L4sX5rG3PO!CVVeSBB$F;`f!ayUA8Ci)MP3uHFoE_Y&-Zc&|F)?qk#%%{&hIsxG> zFuS#xvfDAdxfk_|oqnfZuyR~2EDV&$P)`(n9R~$9&Y!1Rzu$S-wSfd=;AH#i4fx03 zZ{bFX)0KMQg$5k(845CRhMvOj-wY@j71>J+*griG8WB#V7VM7|`IT$_c&Q=&U$X*U z)~XzjAzi=fPt`K{E{O%Syg;SxjJLZ1{($2Fp~|r4{9niaa+ZMsF08Hpa}4t6xMeSy zuVN8?s@c3`1;4B^56$_1zC625bNb6)#WYUG;yc%OnRc2inA1|=OmL3Sep8h#)r@(y ziqnpGz*EIawA-YJA?U)6IZWInJD zjOLa)UAr(dae@o}zea%?SLW!Wz#(6#UFu!}IY$Z+AJ}i=qhpL3@>1!AH2#*+@V8KpMw!v+{p9&npcq&#;Px|y}Lb;Fc zWk3D9O(pv~)J6%;KAtJV`L)>4{#(V&fYE&xpcN=W`Zr3Zrg}%t3FZvPzPYOfCq!~( z=MfnqKTCGN7iJ|d64~ff`LY-}zs=M9bb>Mc9eV-$n2}AX=xIWGgv?m4%yWZ>1eW#; zQoKEgUv4?IQRFT@wY`~b)6A_c{yxp@_pZ)&1eI^_7cCRGU_dR7{c93 z@JlRt=@42(Q$=&(-#4Y5-?rd~1wDF*Eai@I}3G+-6i zH>PuGi2+3D{#xb0A${g`>nEU4;Hd4UxpKVdk)<`+#B=TLF)!!_(}5ed`CQ@)f3Pqn zAl9?Vo�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 Date: Mon, 30 Oct 2023 15:51:41 -0700 Subject: [PATCH 50/99] Doc clipped and bitmask macro editors. "Clipped" meaning the arpeggio and pitch editors that can have values outside the viewed bounds. --- doc/2-interface/settings.md | 7 ++++++- doc/4-instrument/README.md | 21 +++++++++++++++++---- doc/4-instrument/macro-seq-bitmask.png | Bin 0 -> 20100 bytes doc/4-instrument/macro-seq-clip.png | Bin 0 -> 17370 bytes 4 files changed, 23 insertions(+), 5 deletions(-) create mode 100644 doc/4-instrument/macro-seq-bitmask.png create mode 100644 doc/4-instrument/macro-seq-clip.png diff --git a/doc/2-interface/settings.md b/doc/2-interface/settings.md index a4a1676a5..e80eeaecf 100644 --- a/doc/2-interface/settings.md +++ b/doc/2-interface/settings.md @@ -47,6 +47,7 @@ settings are saved when clicking the **OK** or **Apply** buttons at the bottom o - **When creating new song**: - **Display system preset selector** - **Start with initial system** + - **Default author name** ### Start-up @@ -92,7 +93,7 @@ settings are saved when clicking the **OK** or **Apply** buttons at the bottom o - setting this to a high value increases latency. - **Exclusive mode**: enables Exclusive Mode, which may offer latency improvements. - only available on WASAPI devices in the PortAudio backend! -- **Low-latency mode (experimental!)**: reduces latency by running the engine faster than the tick rate. useful for live playback/jam mode. +- **Low-latency mode**: reduces latency by running the engine faster than the tick rate. useful for live playback/jam mode. - only enable if your buffer size is small (10ms or less). - **Force mono audio**: use if you're unable to hear stereo audio (e.g. single speaker or hearing loss in one ear). - **want:** displays requested audio configuration. @@ -104,6 +105,7 @@ settings are saved when clicking the **OK** or **Apply** buttons at the bottom o - **Software clipping**: clips output to nominal range (-1.0 to 1.0) before passing it to the audio device. - this avoids activating Windows' built-in limiter. - this option shall be enabled when using PortAudio backend with a DirectSound device. +- **DC offset correction**: apply a filter to remove DC bias, where the output is overall above or below zero. default is on. ### Metronome @@ -299,6 +301,9 @@ below all the binds, select a key from the dropdown list to add it. it will appe - applies when playback is stopped. - **Don't scroll when moving cursor** - **Move cursor with scroll wheel** + - **No** + - **Yes** + - **Inverted** ## Appearance diff --git a/doc/4-instrument/README.md b/doc/4-instrument/README.md index a1681388b..f290287b5 100644 --- a/doc/4-instrument/README.md +++ b/doc/4-instrument/README.md @@ -96,24 +96,37 @@ every macro can be defined though one of three methods, selectable with the left - ![ADSR](macro-button-ADSR.png) **ADSR:** this is a traditional ADSR envelope, defined by the rate of increase and decrease of value over time. - ![LFO](macro-button-LFO.png) **LFO:** the Low Frequency Oscillator generates a repeating wave of values. -some macros are "bitmap" style. they represent a number of "bits" that can be toggled individually, and the values listed represent the sum of which bits are turned on. - ### sequence ![sequence macro editor](macro-seq.png) +![clipped sequence macro editor](macro-seq-clip.png) + +![bitmask sequence macro editor](macro-seq-bitmask.png) + the number between the macro type label and the macro type button is the macro length in steps. the `-` and `+` buttons change the length of the macro. start out by adding at least a few steps. the values of the macro can be drawn in the "bar graph" box. +- arpeggio and pitch macros may have values above or below the visible area; small chevrons will be shown until they are scrolled into view. +- bitmask-style macros show labels for each of their bits, and these are edited as toggles. -just beneath the box is a shorter bar that controls looping. +arpeggio macros have a short bar for setting whether to interpret the values as being "relative" or "fixed". +- by default, values are offsets **relative** to the note. +- if clicked on, a value becomes **fixed** and will be played at its corresponding note without regard to the note entered into the pattern. + - values are counted from `C-0`. for example, a fixed value of 48 produces a `C-4` note. + - fixed values are especially useful for noise instruments with preset periods. + +below this is a short bar that controls looping. - click to set the start point of a loop; the end point is the last value or release point. it appears as half-height bars. right-click to remove the loop. - shift-click to set the release point. when played, the macro will hold here until the note is released. it appears as a full-height bar. right-click to remove the release point. finally, the sequence of values can be directly edited in the text box at the bottom. - the loop start is entered as a `|`. - the release point is entered as a `/`. -- in arpeggio macros, a value starting with a `@` is an absolute note (instead of a relative shift). no matter the note entered in the pattern, `@` values will be played at that exact note. this is especially useful for noise instruments with preset periods. +- in arpeggio macros, a value starting with a `@` is a fixed value as described above. +- in bitmask-style macros, the values are added up in binary and converted to decimal. see [the hexadecimal guide](../1-intro/hex.md) for more info. + + ### ADSR diff --git a/doc/4-instrument/macro-seq-bitmask.png b/doc/4-instrument/macro-seq-bitmask.png new file mode 100644 index 0000000000000000000000000000000000000000..ce4c323f4b9b430778859e69f768e4dbdf745fab GIT binary patch literal 20100 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 literal 0 HcmV?d00001 diff --git a/doc/4-instrument/macro-seq-clip.png b/doc/4-instrument/macro-seq-clip.png new file mode 100644 index 0000000000000000000000000000000000000000..063e92faa0a9c3189f872c820094e0d229ca8e8e GIT binary patch literal 17370 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 literal 0 HcmV?d00001 From 98770ad20fa180ac002f88a2dbdf01412de2cb68 Mon Sep 17 00:00:00 2001 From: Electric Keet Date: Mon, 30 Oct 2023 15:52:49 -0700 Subject: [PATCH 51/99] Optimized images. --- doc/8-advanced/chip-manager-remove.png | Bin 1003 -> 639 bytes doc/8-advanced/chip-manager.png | Bin 94856 -> 85823 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/doc/8-advanced/chip-manager-remove.png b/doc/8-advanced/chip-manager-remove.png index e2e4af3cd0347c56c3d1648b9549184c2c7af9d7..c7b8472ea1b2663aded23497f2fe68084abe9343 100644 GIT binary patch literal 639 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA3?vioaBc-s_X2!ETq6|}NJanu{|9PW*w~nB zZTD=S|-bSO$msW~cYO@DutukY87AM1jG8pFa4tzFw38F^&=`XArE z6*)Sl=Vg6GP!upJJMtRm#{CQaLsF-dSm!NVi7+Lma}5B=yH%C7YI zWkWiXEXSECd@ak4?D`{Za=z-b*c!PvImrjk>Mok<$aYJ2(auPYS<)`f8^6TfSCryp zsB)P(p=#0PSca%6os8R`R@d@2uytCzIq_VL`GB#>yrXsuN)CHj{T@`AnX);(`nY~$ z`oX&Sh7*2z*@+u$`0RS0mvFZdSg9}a zck0spBECT~SFVazPczZG;{R#+@y=gAKeKv%nkRJmw?z#woEbb_{an^LB{Ts5m$4}@ delta 992 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 C+R?56 literal 94856 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

uOR4^$rSX`CT4aWVgEQ7y|SYJ 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

S(Lv#;5#r@^2M(90+KqSkRC4CSZ#BL% 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 >?0r&@Oc7s-an(MWC2}MW8GCX!%#}B=0DgF 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

m2)T3Z{ebG}2(8n#X~Bc0 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 Date: Mon, 30 Oct 2023 16:21:23 -0700 Subject: [PATCH 52/99] Documenting right-click menus. Both in the sample editor and the sample list. --- doc/2-interface/asset-list.md | 11 +++++++++-- doc/6-sample/README.md | 11 +++++++++++ 2 files changed, 20 insertions(+), 2 deletions(-) diff --git a/doc/2-interface/asset-list.md b/doc/2-interface/asset-list.md index cc94312d4..2ca5313e3 100644 --- a/doc/2-interface/asset-list.md +++ b/doc/2-interface/asset-list.md @@ -55,5 +55,12 @@ everything from the wavetables list applies here also, with the addition of one samples are saved as standard wave (.wav) files. -- right-clicking the Save button brings up a menu with the following options: - - **save raw sample...**: saves the selected sample as raw data. +right-clicking the Save button brings up a menu with the following options: +- **save raw sample...**: saves the selected sample as raw data. + +right-clicking a sample in the list brings up a menu: +- **make instrument**: creates a new Generic Sample instrument which is set to use the selected sample. +- **duplicate**: makes a copy of the sample in the list. +- **replace...**: opens a file dialog to choose a replacement sample. +- **save**: opens a file dialog to choose where to save the sample. +- **delete**: removes the sample. diff --git a/doc/6-sample/README.md b/doc/6-sample/README.md index a7d9382fd..877644348 100644 --- a/doc/6-sample/README.md +++ b/doc/6-sample/README.md @@ -159,3 +159,14 @@ in there, you can modify certain data pertaining to your sample, such as the: - **Create instrument from sample**: creates a new instrument with its sample set to the current sample. - **Zoom**: shows and sets sample view zoom level. - **Zoom mode**: switches between "Auto" (entire sample fits in window) and "100%" (each horizontal pixel represents one sample point). + +in the sample viewer: +- left-click and drag to select a region of the sample. +- right-click for an editing menu: + - **cut**: puts the selection in the copy buffer and deletes it from the sample. + - **copy**: copies the selection into the copy buffer. + - **paste**: inserts the copy buffer at the start of the selection. + - **paste (replace)**: replaces the selection with the copy buffer. + - **paste (mix)**: mixes copy buffer into the existing sample, beginning at the start of the selection. this is done by adding values together. resulting in a mix of 100% each original and pasted. + - **set loop to selection**: changes loop start and end to match selection start and end. + - **create wavetable from selection**: copies the selection into a new wavetable entry. From fbbe0bdf63d1c746f8a2a723ba6f24a9e99c4d1e Mon Sep 17 00:00:00 2001 From: tildearrow Date: Wed, 1 Nov 2023 00:16:35 -0500 Subject: [PATCH 53/99] GUI: fix sample list right click bug --- src/gui/dataList.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/gui/dataList.cpp b/src/gui/dataList.cpp index 62736b549..527848a63 100644 --- a/src/gui/dataList.cpp +++ b/src/gui/dataList.cpp @@ -202,6 +202,8 @@ void FurnaceGUI::waveListItem(int i, float* wavePreview, int dir, int asset) { void FurnaceGUI::sampleListItem(int i, int dir, int asset) { bool memWarning=false; + ImGui::PushID(i); + DivSample* sample=e->song.sample[i]; for (int j=0; jsong.systemLen; j++) { DivDispatch* dispatch=e->getDispatch(j); @@ -268,6 +270,7 @@ void FurnaceGUI::sampleListItem(int i, int dir, int asset) { ImGui::EndPopup(); } if (wantScrollList && curSample==i) ImGui::SetScrollHereY(); + ImGui::PopID(); } void FurnaceGUI::drawInsList(bool asChild) { From e702e569013bae84d2e5819e7da27a9faf64b704 Mon Sep 17 00:00:00 2001 From: Natt Akuma Date: Wed, 1 Nov 2023 14:56:43 +0700 Subject: [PATCH 54/99] Add X-Y Oscilloscope --- CMakeLists.txt | 1 + src/gui/doAction.cpp | 6 ++ src/gui/gui.cpp | 39 ++++++++ src/gui/gui.h | 18 +++- src/gui/guiConst.cpp | 1 + src/gui/xyOsc.cpp | 231 +++++++++++++++++++++++++++++++++++++++++++ 6 files changed, 295 insertions(+), 1 deletion(-) create mode 100644 src/gui/xyOsc.cpp diff --git a/CMakeLists.txt b/CMakeLists.txt index 0b754d56c..d50f19328 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -809,6 +809,7 @@ src/gui/tutorial.cpp src/gui/util.cpp src/gui/waveEdit.cpp src/gui/volMeter.cpp +src/gui/xyOsc.cpp src/gui/gui.cpp ) diff --git a/src/gui/doAction.cpp b/src/gui/doAction.cpp index 8a1fd8a2e..0d1bcf623 100644 --- a/src/gui/doAction.cpp +++ b/src/gui/doAction.cpp @@ -279,6 +279,9 @@ void FurnaceGUI::doAction(int what) { case GUI_ACTION_WINDOW_GROOVES: nextWindow=GUI_WINDOW_GROOVES; break; + case GUI_ACTION_WINDOW_XY_OSC: + nextWindow=GUI_WINDOW_XY_OSC; + break; case GUI_ACTION_COLLAPSE_WINDOW: collapseWindow=true; @@ -375,6 +378,9 @@ void FurnaceGUI::doAction(int what) { case GUI_WINDOW_GROOVES: groovesOpen=false; break; + case GUI_WINDOW_XY_OSC: + xyOscOpen=false; + break; default: break; } diff --git a/src/gui/gui.cpp b/src/gui/gui.cpp index 2a4bc8a0a..70fb9508e 100644 --- a/src/gui/gui.cpp +++ b/src/gui/gui.cpp @@ -3430,6 +3430,7 @@ bool FurnaceGUI::loop() { DECLARE_METRIC(readOsc) DECLARE_METRIC(osc) DECLARE_METRIC(chanOsc) + DECLARE_METRIC(xyOsc) DECLARE_METRIC(volMeter) DECLARE_METRIC(settings) DECLARE_METRIC(debug) @@ -4425,6 +4426,7 @@ bool FurnaceGUI::loop() { if (ImGui::MenuItem("piano/input pad",BIND_FOR(GUI_ACTION_WINDOW_PIANO),pianoOpen)) pianoOpen=!pianoOpen; if (ImGui::MenuItem("oscilloscope (master)",BIND_FOR(GUI_ACTION_WINDOW_OSCILLOSCOPE),oscOpen)) oscOpen=!oscOpen; if (ImGui::MenuItem("oscilloscope (per-channel)",BIND_FOR(GUI_ACTION_WINDOW_CHAN_OSC),chanOscOpen)) chanOscOpen=!chanOscOpen; + if (ImGui::MenuItem("oscilloscope (X-Y)",BIND_FOR(GUI_ACTION_WINDOW_XY_OSC),xyOscOpen)) xyOscOpen=!xyOscOpen; if (ImGui::MenuItem("volume meter",BIND_FOR(GUI_ACTION_WINDOW_VOL_METER),volMeterOpen)) volMeterOpen=!volMeterOpen; if (ImGui::MenuItem("clock",BIND_FOR(GUI_ACTION_WINDOW_CLOCK),clockOpen)) clockOpen=!clockOpen; if (ImGui::MenuItem("register view",BIND_FOR(GUI_ACTION_WINDOW_REGISTER_VIEW),regViewOpen)) regViewOpen=!regViewOpen; @@ -4645,6 +4647,7 @@ bool FurnaceGUI::loop() { MEASURE(readOsc,readOsc()); MEASURE(osc,drawOsc()); MEASURE(chanOsc,drawChanOsc()); + MEASURE(xyOsc,drawXYOsc()); MEASURE(grooves,drawGrooves()); MEASURE(regView,drawRegView()); } else { @@ -4674,6 +4677,7 @@ bool FurnaceGUI::loop() { MEASURE(osc,drawOsc()); MEASURE(chanOsc,drawChanOsc()); + MEASURE(xyOsc,drawXYOsc()); MEASURE(volMeter,drawVolMeter()); MEASURE(settings,drawSettings()); MEASURE(debug,drawDebug()); @@ -6413,6 +6417,7 @@ bool FurnaceGUI::init() { mixerOpen=e->getConfBool("mixerOpen",false); oscOpen=e->getConfBool("oscOpen",true); chanOscOpen=e->getConfBool("chanOscOpen",false); + xyOscOpen=e->getConfBool("xyOscOpen",false); volMeterOpen=e->getConfBool("volMeterOpen",true); statsOpen=e->getConfBool("statsOpen",false); compatFlagsOpen=e->getConfBool("compatFlagsOpen",false); @@ -6521,6 +6526,16 @@ bool FurnaceGUI::init() { chanOscGrad.fromString(e->getConfString("chanOscGrad","")); chanOscGrad.render(); + xyOscXChannel=e->getConfInt("xyOscXChannel",0); + xyOscXInvert=e->getConfBool("xyOscXInvert",false); + xyOscYChannel=e->getConfInt("xyOscYChannel",1); + xyOscYInvert=e->getConfBool("xyOscYInvert",false); + xyOscZoom=e->getConfFloat("xyOscZoom",1.0f); + xyOscSamples=e->getConfInt("xyOscSamples",32768); + xyOscDecayTime=e->getConfFloat("xyOscDecayTime",10.0f); + xyOscIntensity=e->getConfFloat("xyOscIntensity",2.0f); + xyOscThickness=e->getConfFloat("xyOscThickness",2.0f); + syncSettings(); syncTutorial(); @@ -6968,6 +6983,7 @@ void FurnaceGUI::commitState() { e->setConf("mixerOpen",mixerOpen); e->setConf("oscOpen",oscOpen); e->setConf("chanOscOpen",chanOscOpen); + e->setConf("xyOscOpen",xyOscOpen); e->setConf("volMeterOpen",volMeterOpen); e->setConf("statsOpen",statsOpen); e->setConf("compatFlagsOpen",compatFlagsOpen); @@ -7062,6 +7078,17 @@ void FurnaceGUI::commitState() { e->setConf("chanOscUseGrad",chanOscUseGrad); e->setConf("chanOscGrad",chanOscGrad.toString()); + // commit x-y osc state + e->setConf("xyOscXChannel",xyOscXChannel); + e->setConf("xyOscXInvert",xyOscXInvert); + e->setConf("xyOscYChannel",xyOscYChannel); + e->setConf("xyOscYInvert",xyOscYInvert); + e->setConf("xyOscZoom",xyOscZoom); + e->setConf("xyOscSamples",xyOscSamples); + e->setConf("xyOscDecayTime",xyOscDecayTime); + e->setConf("xyOscIntensity",xyOscIntensity); + e->setConf("xyOscThickness",xyOscThickness); + // commit recent files for (int i=0; i<30; i++) { String key=fmt::sprintf("recentFile%d",i); @@ -7301,6 +7328,7 @@ FurnaceGUI::FurnaceGUI(): clockOpen(false), speedOpen(true), groovesOpen(false), + xyOscOpen(false), basicMode(true), shortIntro(false), insListDir(false), @@ -7541,6 +7569,17 @@ FurnaceGUI::FurnaceGUI(): chanOscGrad(64,64), chanOscGradTex(NULL), chanOscWorkPool(NULL), + xyOscPointTex(NULL), + xyOscOptions(false), + xyOscXChannel(0), + xyOscXInvert(false), + xyOscYChannel(1), + xyOscYInvert(false), + xyOscZoom(1.0f), + xyOscSamples(32768), + xyOscDecayTime(10.0f), + xyOscIntensity(2.0f), + xyOscThickness(2.0f), followLog(true), #ifdef IS_MOBILE pianoOctaves(7), diff --git a/src/gui/gui.h b/src/gui/gui.h index 5d98548f7..39a412e9b 100644 --- a/src/gui/gui.h +++ b/src/gui/gui.h @@ -419,6 +419,7 @@ enum FurnaceGUIWindows { GUI_WINDOW_FIND, GUI_WINDOW_CLOCK, GUI_WINDOW_GROOVES, + GUI_WINDOW_XY_OSC, GUI_WINDOW_INTRO_MON, GUI_WINDOW_SPOILER }; @@ -572,6 +573,7 @@ enum FurnaceGUIActions { GUI_ACTION_WINDOW_FIND, GUI_ACTION_WINDOW_CLOCK, GUI_ACTION_WINDOW_GROOVES, + GUI_ACTION_WINDOW_XY_OSC, GUI_ACTION_COLLAPSE_WINDOW, GUI_ACTION_CLOSE_WINDOW, @@ -1873,7 +1875,7 @@ class FurnaceGUI { bool mixerOpen, debugOpen, inspectorOpen, oscOpen, volMeterOpen, statsOpen, compatFlagsOpen; bool pianoOpen, notesOpen, channelsOpen, regViewOpen, logOpen, effectListOpen, chanOscOpen; bool subSongsOpen, findOpen, spoilerOpen, patManagerOpen, sysManagerOpen, clockOpen, speedOpen; - bool groovesOpen; + bool groovesOpen, xyOscOpen; bool basicMode, shortIntro; bool insListDir, waveListDir, sampleListDir; @@ -2167,6 +2169,19 @@ class FurnaceGUI { planI(NULL) {} } chanOscChan[DIV_MAX_CHANS]; + // x-y oscilloscope + FurnaceGUITexture* xyOscPointTex; + bool xyOscOptions; + int xyOscXChannel; + bool xyOscXInvert; + int xyOscYChannel; + bool xyOscYInvert; + float xyOscZoom; + int xyOscSamples; + float xyOscDecayTime; + float xyOscIntensity; + float xyOscThickness; + // visualizer float keyHit[DIV_MAX_CHANS]; float keyHit1[DIV_MAX_CHANS]; @@ -2357,6 +2372,7 @@ class FurnaceGUI { void drawSpoiler(); void drawClock(); void drawTutorial(); + void drawXYOsc(); void parseKeybinds(); void promptKey(int which); diff --git a/src/gui/guiConst.cpp b/src/gui/guiConst.cpp index a31273004..0411d8a3c 100644 --- a/src/gui/guiConst.cpp +++ b/src/gui/guiConst.cpp @@ -594,6 +594,7 @@ const FurnaceGUIActionDef guiActions[GUI_ACTION_MAX]={ D("WINDOW_FIND", "Find/Replace", FURKMOD_CMD|SDLK_f), D("WINDOW_CLOCK", "Clock", 0), D("WINDOW_GROOVES", "Grooves", 0), + D("WINDOW_XY_OSC", "Oscilloscope (X-Y)", 0), D("COLLAPSE_WINDOW", "Collapse/expand current window", 0), D("CLOSE_WINDOW", "Close current window", FURKMOD_SHIFT|SDLK_ESCAPE), diff --git a/src/gui/xyOsc.cpp b/src/gui/xyOsc.cpp new file mode 100644 index 000000000..d31ff5edc --- /dev/null +++ b/src/gui/xyOsc.cpp @@ -0,0 +1,231 @@ +/** + * Furnace Tracker - multi-system chiptune tracker + * Copyright (C) 2021-2023 tildearrow and contributors + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#include "gui.h" +#include "imgui_internal.h" +#include +#include "../ta-log.h" +#include "../engine/filter.h" + +void FurnaceGUI::drawXYOsc() { + if (nextWindow==GUI_WINDOW_XY_OSC) { + xyOscOpen=true; + ImGui::SetNextWindowFocus(); + nextWindow=GUI_WINDOW_NOTHING; + } + if (!xyOscOpen) return; + ImGui::SetNextWindowSizeConstraints(ImVec2(64.0f*dpiScale,32.0f*dpiScale),ImVec2(canvasW,canvasH)); + if (settings.oscTakesEntireWindow && !xyOscOptions) { + ImGui::PushStyleVar(ImGuiStyleVar_WindowPadding,ImVec2(0,0)); + ImGui::PushStyleVar(ImGuiStyleVar_ItemSpacing,ImVec2(0,0)); + ImGui::PushStyleVar(ImGuiStyleVar_ItemInnerSpacing,ImVec2(0,0)); + } + if (ImGui::Begin("Oscilloscope (X-Y)",&xyOscOpen,globalWinFlags)) { + if (xyOscOptions) { + int xyOscXChannelP1 = xyOscXChannel+1; + int xyOscYChannelP1 = xyOscYChannel+1; + + ImGui::Text("X Channel"); + ImGui::SameLine(); + if (ImGui::DragInt("##XChannel",&xyOscXChannelP1,1.0f,1,DIV_MAX_OUTPUTS)) { + xyOscXChannel=MIN(MAX(xyOscXChannelP1,1),DIV_MAX_OUTPUTS)-1; + } rightClickable + ImGui::SameLine(); + ImGui::Checkbox("Invert##X",&xyOscXInvert); + ImGui::Text("Y Channel"); + ImGui::SameLine(); + if (ImGui::DragInt("##YChannel",&xyOscYChannelP1,1.0f,1,DIV_MAX_OUTPUTS)) { + xyOscXChannel=MIN(MAX(xyOscYChannelP1,1),DIV_MAX_OUTPUTS)-1; + } rightClickable + ImGui::SameLine(); + ImGui::Checkbox("Invert##Y",&xyOscYInvert); + if (ImGui::SliderFloat("Zoom",&xyOscZoom,0.5f,4.0f,"%.2fx")) { + xyOscZoom=MAX(xyOscZoom,0.0f); + } rightClickable + if (ImGui::IsItemHovered()) { + ImGui::SetTooltip("%.1fdB",20.0f*log10f(xyOscZoom)); + } + if (ImGui::IsItemClicked(ImGuiMouseButton_Middle)) { + xyOscZoom=1.0f; + } + if (ImGui::SliderInt("Samples",&xyOscSamples,2,32768)) { + xyOscSamples=MIN(MAX(xyOscSamples,2),32768); + } rightClickable + if (ImGui::SliderFloat("Decay Time (ms)",&xyOscDecayTime,1.0f,1000.0f,"%.1f",ImGuiSliderFlags_Logarithmic)) { + xyOscDecayTime=MAX(xyOscDecayTime,0.0f); + } rightClickable + if (ImGui::SliderFloat("Intensity",&xyOscIntensity,0.0f,2.0f,"%.2f")) { + xyOscIntensity=MAX(xyOscIntensity,0.0f); + } rightClickable + if (ImGui::SliderFloat("Line Thickness",&xyOscThickness,0.0f,10.0f,"%.2f")) { + xyOscThickness=MAX(xyOscThickness,0.0f); + } rightClickable + if (ImGui::Button("OK")) { + xyOscOptions=false; + } + } else { + ImDrawList* dl=ImGui::GetWindowDrawList(); + ImGuiWindow* window=ImGui::GetCurrentWindow(); + ImVec2 size=ImGui::GetContentRegionAvail(); + + ImVec2 minArea=window->DC.CursorPos; + ImVec2 maxArea=ImVec2( + minArea.x+size.x, + minArea.y+size.y + ); + ImRect rect=ImRect(minArea,maxArea); + ImRect inRect=rect; + inRect.Min.x+=dpiScale; + inRect.Min.y+=dpiScale; + inRect.Max.x-=dpiScale; + inRect.Max.y-=dpiScale; + ImVec2 inSqrCenter=rect.GetCenter(); + float inSqrLength; + ImRect inSqr=inRect; + if (rect.GetWidth() > rect.GetHeight()) { + inSqrLength=inSqr.GetHeight()/2; + inSqr.Min.x=inSqrCenter.x-inSqrLength; + inSqr.Max.x=inSqrCenter.x+inSqrLength; + } else { + inSqrLength=inSqr.GetWidth()/2; + inSqr.Min.y=inSqrCenter.y-inSqrLength; + inSqr.Max.y=inSqrCenter.y+inSqrLength; + } + float scaleX=xyOscZoom*inSqrLength*(xyOscXInvert?-1:1); + float scaleY=xyOscZoom*inSqrLength*(xyOscYInvert?1:-1); + const ImGuiStyle& style=ImGui::GetStyle(); + ImU32 color=ImGui::GetColorU32(uiColors[GUI_COLOR_OSC_WAVE]); + color&=~IM_COL32_A_MASK; + ImU32 borderColor=ImGui::GetColorU32(uiColors[GUI_COLOR_OSC_BORDER]); + ImU32 refColor=ImGui::GetColorU32(uiColors[GUI_COLOR_OSC_REF]); + ImU32 guideColor=ImGui::GetColorU32(uiColors[GUI_COLOR_OSC_GUIDE]); + ImGui::ItemSize(size,style.FramePadding.y); + if (ImGui::ItemAdd(rect,ImGui::GetID("wsDisplay"))) { + // background + dl->AddRectFilledMultiColor( + inRect.Min, + inRect.Max, + ImGui::GetColorU32(uiColors[GUI_COLOR_OSC_BG1]), + ImGui::GetColorU32(uiColors[GUI_COLOR_OSC_BG2]), + ImGui::GetColorU32(uiColors[GUI_COLOR_OSC_BG4]), + ImGui::GetColorU32(uiColors[GUI_COLOR_OSC_BG3]), + settings.oscRoundedCorners?(8.0f*dpiScale):0.0f + ); + + // axis guides + dl->AddLine( + ImLerp(rect.Min,rect.Max,ImVec2(0.0f,0.5f)), + ImLerp(rect.Min,rect.Max,ImVec2(1.0f,0.5f)), + refColor, + dpiScale + ); + + dl->AddLine( + ImLerp(rect.Min,rect.Max,ImVec2(0.5f,0.0f)), + ImLerp(rect.Min,rect.Max,ImVec2(0.5f,1.0f)), + refColor, + dpiScale + ); + + bool reflect=xyOscXInvert!=xyOscYInvert; + dl->AddLine( + ImLerp(inSqr.Min,inSqr.Max,ImVec2(0.0f,reflect?0.0f:1.0f)), + ImLerp(inSqr.Min,inSqr.Max,ImVec2(1.0f,reflect?1.0f:0.0f)), + refColor, + dpiScale + ); + + for (int i=1; i<5; i++) { + float ip = (float)i/8.f; + dl->AddRect( + ImLerp(inSqr.Min,inSqr.Max,ImVec2(0.5f-ip,0.5f-ip)), + ImLerp(inSqr.Min,inSqr.Max,ImVec2(0.5f+ip,0.5f+ip)), + guideColor, + 0.0f,0,dpiScale + ); + } + + // line + const float* oscBufX=e->oscBuf[xyOscXChannel]; + const float* oscBufY=e->oscBuf[xyOscYChannel]; + if (oscBufX!=NULL && oscBufY!=NULL) { + int pos=e->oscWritePos; + float lx=inSqrCenter.x; + float ly=inSqrCenter.y; + float maxA=xyOscIntensity*256.f; + float decay=exp2f(-1e3f/e->getAudioDescGot().rate/xyOscDecayTime); + ImDrawListFlags prevFlags=dl->Flags; + dl->Flags|=ImDrawFlags_RoundCornersNone; + if (!settings.oscAntiAlias || safeMode) { + dl->Flags&=~(ImDrawListFlags_AntiAliasedLines|ImDrawListFlags_AntiAliasedLinesUseTex); + } + if (settings.oscEscapesBoundary) { + dl->PushClipRectFullScreen(); + } + for (int i=0; i=1) { + a=MIN(a,255); + dl->AddLine(ImVec2(lx,ly),ImVec2(x,y),(color|((ImU32)a<PopClipRect(); + } + dl->Flags=prevFlags; + } + if (settings.oscBorder) { + dl->AddRect(inRect.Min,inRect.Max,borderColor,settings.oscRoundedCorners?(8.0f*dpiScale):0.0f,0,1.5f*dpiScale); + } + } + if (ImGui::IsItemHovered()) { + float valX=20.0f*log10f(fabsf((ImGui::GetMousePos().x-inSqrCenter.x)/scaleX)); + float valY=20.0f*log10f(fabsf((ImGui::GetMousePos().y-inSqrCenter.y)/scaleY)); + if (valX<=-INFINITY && valY<=-INFINITY) { + ImGui::SetTooltip("(-Infinity)dB,(-Infinity)dB"); + } else if (valX<=-INFINITY) { + ImGui::SetTooltip("(-Infinity)dB,%.1fdB",valY); + } else if (valY<=-INFINITY) { + ImGui::SetTooltip("%.1fdB,(-Infinity)dB",valY); + } else { + ImGui::SetTooltip("%.1fdB,%.1fdB",valX,valY); + } + } + if (ImGui::IsItemClicked(ImGuiMouseButton_Right)) { + xyOscOptions=true; + } + if (settings.oscTakesEntireWindow) { + ImGui::PopStyleVar(3); + } + } + } + if (ImGui::IsWindowFocused(ImGuiFocusedFlags_ChildWindows)) curWindow=GUI_WINDOW_XY_OSC; + ImGui::End(); +} From dc806d35b0bec39593130e52d6ae491a118d45be Mon Sep 17 00:00:00 2001 From: tildearrow Date: Wed, 1 Nov 2023 03:13:26 -0500 Subject: [PATCH 55/99] new demo song by LTVA --- demos/c64/deadlock.fur | Bin 0 -> 11757 bytes src/gui/about.cpp | 1 + 2 files changed, 1 insertion(+) create mode 100644 demos/c64/deadlock.fur diff --git a/demos/c64/deadlock.fur b/demos/c64/deadlock.fur new file mode 100644 index 0000000000000000000000000000000000000000..3c4b321383d761866ac6079b0166a5db108d03ef GIT binary patch literal 11757 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 Date: Wed, 1 Nov 2023 18:13:09 +0700 Subject: [PATCH 56/99] Extend intensity range --- src/gui/xyOsc.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/gui/xyOsc.cpp b/src/gui/xyOsc.cpp index d31ff5edc..b1094007f 100644 --- a/src/gui/xyOsc.cpp +++ b/src/gui/xyOsc.cpp @@ -70,7 +70,7 @@ void FurnaceGUI::drawXYOsc() { if (ImGui::SliderFloat("Decay Time (ms)",&xyOscDecayTime,1.0f,1000.0f,"%.1f",ImGuiSliderFlags_Logarithmic)) { xyOscDecayTime=MAX(xyOscDecayTime,0.0f); } rightClickable - if (ImGui::SliderFloat("Intensity",&xyOscIntensity,0.0f,2.0f,"%.2f")) { + if (ImGui::SliderFloat("Intensity",&xyOscIntensity,0.0f,5.0f,"%.2f")) { xyOscIntensity=MAX(xyOscIntensity,0.0f); } rightClickable if (ImGui::SliderFloat("Line Thickness",&xyOscThickness,0.0f,10.0f,"%.2f")) { From b812a90637f72c4bc52d3093dae31d49caebb767 Mon Sep 17 00:00:00 2001 From: Natt Akuma Date: Wed, 1 Nov 2023 22:34:35 +0700 Subject: [PATCH 57/99] Fix StyleVar stack mismatch --- src/gui/xyOsc.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/gui/xyOsc.cpp b/src/gui/xyOsc.cpp index b1094007f..328b86087 100644 --- a/src/gui/xyOsc.cpp +++ b/src/gui/xyOsc.cpp @@ -221,11 +221,11 @@ void FurnaceGUI::drawXYOsc() { if (ImGui::IsItemClicked(ImGuiMouseButton_Right)) { xyOscOptions=true; } - if (settings.oscTakesEntireWindow) { - ImGui::PopStyleVar(3); - } } } + if (settings.oscTakesEntireWindow && !xyOscOptions) { + ImGui::PopStyleVar(3); + } if (ImGui::IsWindowFocused(ImGuiFocusedFlags_ChildWindows)) curWindow=GUI_WINDOW_XY_OSC; ImGui::End(); } From ce8a44f3a0910bc3363d0f98cd08f49b20ac94d9 Mon Sep 17 00:00:00 2001 From: Electric Keet Date: Wed, 1 Nov 2023 09:57:31 -0700 Subject: [PATCH 58/99] Minor adjustments. --- doc/1-intro/README.md | 4 ++-- doc/2-interface/asset-list.md | 4 ++-- doc/6-sample/README.md | 10 +++++----- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/doc/1-intro/README.md b/doc/1-intro/README.md index 8867dc3e8..2a227456f 100644 --- a/doc/1-intro/README.md +++ b/doc/1-intro/README.md @@ -26,6 +26,6 @@ once familiar with the tracker, look to [9-guides](../9-guides/README.md) for us ## tutorial? -[Furnace Tutorials](https://youtube.com/playlist?list=PLCELB6AsTZUnwv0PC5AAGHjvg47F44YQ1): video tutorials created by Spinning Square Waves. be noted that these may not apply to the current version. +[How to Learn Chiptune Trackers](https://www.youtube.com/watch?v=Q37XuOLz0jw): video tutorial created by Button Masher. covers the basic mechanics of chiptune tracking using Furnace for demonstration. -[How to Learn Chiptune Trackers](https://www.youtube.com/watch?v=Q37XuOLz0jw): video tutorial created by Button Masher. covers general concepts using Furnace for demonstration. +[Furnace Tutorials](https://youtube.com/playlist?list=PLCELB6AsTZUnwv0PC5AAGHjvg47F44YQ1): video tutorials created by Spinning Square Waves. be noted that these may not apply to the current version. diff --git a/doc/2-interface/asset-list.md b/doc/2-interface/asset-list.md index 2ca5313e3..2b5ffaaa9 100644 --- a/doc/2-interface/asset-list.md +++ b/doc/2-interface/asset-list.md @@ -59,8 +59,8 @@ right-clicking the Save button brings up a menu with the following options: - **save raw sample...**: saves the selected sample as raw data. right-clicking a sample in the list brings up a menu: -- **make instrument**: creates a new Generic Sample instrument which is set to use the selected sample. -- **duplicate**: makes a copy of the sample in the list. +- **make instrument**: creates a new instrument which is set to use the selected sample. +- **duplicate**: makes a copy of the selected sample. - **replace...**: opens a file dialog to choose a replacement sample. - **save**: opens a file dialog to choose where to save the sample. - **delete**: removes the sample. diff --git a/doc/6-sample/README.md b/doc/6-sample/README.md index 877644348..ae8490087 100644 --- a/doc/6-sample/README.md +++ b/doc/6-sample/README.md @@ -163,10 +163,10 @@ in there, you can modify certain data pertaining to your sample, such as the: in the sample viewer: - left-click and drag to select a region of the sample. - right-click for an editing menu: - - **cut**: puts the selection in the copy buffer and deletes it from the sample. - - **copy**: copies the selection into the copy buffer. - - **paste**: inserts the copy buffer at the start of the selection. - - **paste (replace)**: replaces the selection with the copy buffer. - - **paste (mix)**: mixes copy buffer into the existing sample, beginning at the start of the selection. this is done by adding values together. resulting in a mix of 100% each original and pasted. + - **cut**: puts the selection in the sample clipboard and deletes it from the sample. + - **copy**: copies the selection into the sample clipboard. + - **paste**: inserts the sample clipboard at the start of the selection. + - **paste (replace)**: replaces the selection with the sample clipboard. + - **paste (mix)**: mixes the sample clipboard into the existing sample, beginning at the start of the selection. this is done by adding values together. resulting in a mix of 100% each original and pasted. - **set loop to selection**: changes loop start and end to match selection start and end. - **create wavetable from selection**: copies the selection into a new wavetable entry. From e76ecaa59f5e19af1e9d469590604f1a1fbe9dff Mon Sep 17 00:00:00 2001 From: Electric Keet Date: Wed, 1 Nov 2023 10:25:26 -0700 Subject: [PATCH 59/99] Docs for channel status indicators. --- doc/3-pattern/README.md | 28 ++++++++++++++---- doc/3-pattern/status-note-off-rel.png | Bin 0 -> 282 bytes doc/3-pattern/status-note-off.png | Bin 0 -> 261 bytes doc/3-pattern/status-note-on-rel.png | Bin 0 -> 299 bytes doc/3-pattern/status-note-on.png | Bin 0 -> 302 bytes doc/3-pattern/status-pitch-arpeg.png | Bin 0 -> 257 bytes doc/3-pattern/status-pitch-down.png | Bin 0 -> 267 bytes doc/3-pattern/status-pitch-none.png | Bin 0 -> 362 bytes doc/3-pattern/status-pitch-porta.png | Bin 0 -> 486 bytes doc/3-pattern/status-pitch-up.png | Bin 0 -> 304 bytes doc/3-pattern/status-volume-down.png | Bin 0 -> 271 bytes doc/3-pattern/status-volume-none.png | Bin 0 -> 166 bytes doc/3-pattern/status-volume-tremolo.png | Bin 0 -> 414 bytes doc/3-pattern/status-volume-up.png | Bin 0 -> 305 bytes doc/7-systems/c64.md | 10 +++++++ doc/7-systems/pce.md | 8 ++++- doc/7-systems/snes.md | 12 ++++++++ doc/7-systems/status-C64-ch3off.png | Bin 0 -> 1050 bytes doc/7-systems/status-C64-gate-off-test-on.png | Bin 0 -> 1007 bytes doc/7-systems/status-C64-gate-off.png | Bin 0 -> 1039 bytes doc/7-systems/status-C64-none.png | Bin 0 -> 562 bytes doc/7-systems/status-C64-test-on.png | Bin 0 -> 1037 bytes doc/7-systems/status-PCE-noise-off.png | Bin 0 -> 707 bytes doc/7-systems/status-PCE-noise-on.png | Bin 0 -> 1146 bytes doc/7-systems/status-SNES-env-A.png | Bin 0 -> 775 bytes doc/7-systems/status-SNES-env-D.png | Bin 0 -> 688 bytes doc/7-systems/status-SNES-env-R.png | Bin 0 -> 762 bytes doc/7-systems/status-SNES-env-S.png | Bin 0 -> 778 bytes doc/7-systems/status-SNES-gain-dec-lin.png | Bin 0 -> 319 bytes doc/7-systems/status-SNES-gain-dec-log.png | Bin 0 -> 586 bytes doc/7-systems/status-SNES-gain-direct.png | Bin 0 -> 884 bytes doc/7-systems/status-SNES-gain-inc-bent.png | Bin 0 -> 612 bytes doc/7-systems/status-SNES-gain-inc-lin.png | Bin 0 -> 334 bytes doc/7-systems/status-Swan-PCM-off.png | Bin 0 -> 494 bytes doc/7-systems/status-Swan-PCM-on.png | Bin 0 -> 815 bytes doc/7-systems/status-Swan-noise-off.png | Bin 0 -> 707 bytes doc/7-systems/status-Swan-noise-on.png | Bin 0 -> 1146 bytes doc/7-systems/status-Swan-sweep-off.png | Bin 0 -> 337 bytes doc/7-systems/status-Swan-sweep-on.png | Bin 0 -> 456 bytes doc/7-systems/wonderswan.md | 11 +++++++ 40 files changed, 63 insertions(+), 6 deletions(-) create mode 100644 doc/3-pattern/status-note-off-rel.png create mode 100644 doc/3-pattern/status-note-off.png create mode 100644 doc/3-pattern/status-note-on-rel.png create mode 100644 doc/3-pattern/status-note-on.png create mode 100644 doc/3-pattern/status-pitch-arpeg.png create mode 100644 doc/3-pattern/status-pitch-down.png create mode 100644 doc/3-pattern/status-pitch-none.png create mode 100644 doc/3-pattern/status-pitch-porta.png create mode 100644 doc/3-pattern/status-pitch-up.png create mode 100644 doc/3-pattern/status-volume-down.png create mode 100644 doc/3-pattern/status-volume-none.png create mode 100644 doc/3-pattern/status-volume-tremolo.png create mode 100644 doc/3-pattern/status-volume-up.png create mode 100644 doc/7-systems/status-C64-ch3off.png create mode 100644 doc/7-systems/status-C64-gate-off-test-on.png create mode 100644 doc/7-systems/status-C64-gate-off.png create mode 100644 doc/7-systems/status-C64-none.png create mode 100644 doc/7-systems/status-C64-test-on.png create mode 100644 doc/7-systems/status-PCE-noise-off.png create mode 100644 doc/7-systems/status-PCE-noise-on.png create mode 100644 doc/7-systems/status-SNES-env-A.png create mode 100644 doc/7-systems/status-SNES-env-D.png create mode 100644 doc/7-systems/status-SNES-env-R.png create mode 100644 doc/7-systems/status-SNES-env-S.png create mode 100644 doc/7-systems/status-SNES-gain-dec-lin.png create mode 100644 doc/7-systems/status-SNES-gain-dec-log.png create mode 100644 doc/7-systems/status-SNES-gain-direct.png create mode 100644 doc/7-systems/status-SNES-gain-inc-bent.png create mode 100644 doc/7-systems/status-SNES-gain-inc-lin.png create mode 100644 doc/7-systems/status-Swan-PCM-off.png create mode 100644 doc/7-systems/status-Swan-PCM-on.png create mode 100644 doc/7-systems/status-Swan-noise-off.png create mode 100644 doc/7-systems/status-Swan-noise-on.png create mode 100644 doc/7-systems/status-Swan-sweep-off.png create mode 100644 doc/7-systems/status-Swan-sweep-on.png diff --git a/doc/3-pattern/README.md b/doc/3-pattern/README.md index f619ce287..89e1f6e5d 100644 --- a/doc/3-pattern/README.md +++ b/doc/3-pattern/README.md @@ -38,15 +38,33 @@ clicking on a channel name mutes that channel. double-clicking or right-clicking it enables solo mode, in which only that channel will be audible. -clicking the `++` at the top left corner of the pattern view cycles through three channel bar view modes: -- **Compact**: shows only channel names. -- **Expanded**: as shown above. adds buttons: +clicking the `++` at the top left corner of the pattern view pops up a small dialog to set view modes: +- **Effect columns/collapse**: as shown above. adds buttons: - **-**: collapse visible columns. changes to **+** when columns are hidden; click to expand them. - **<**: disables the last effect column and hides it. effects are not deleted... - **>**: adds an effects column. if one previously existed, its contents will be preserved. - **Pattern names**: displays pattern names (per channel). pattern names are also visible when hovering over a pattern in the order list. - -right-clicking the `++` toggles the visualizer, which is active only during playback. +- **Channel group hints**: display indicators beneath the names of channels that function together in some way. +- **Visualizer**: during playback, show visual effects depending on activity in each channel. + - also can be toggled by a right-click on the `++` button. +- **Channel status**: a bar with icons that indicate activity in the channel. + - note status: + - ![note off](status-note-off.png) note off + - ![note on](status-note-on.png) note on + - ![note on, macro released](status-note-on-rel.png) note on, macro released + - ![note released](status-note-off-rel.png) note released + - pitch effect: + - ![no effect](status-pitch-none.png) no effect + - ![pitch up](status-pitch-up.png) pitch up + - ![pitch down](status-pitch-down.png) pitch down + - ![portamento](status-pitch-porta.png) portamento + - ![arpeggio](status-pitch-arpeg.png) arpeggio + - volume effect: + - ![no effect](status-volume-none.png) no effect + - ![volume up](status-volume-up.png) volume up + - ![volume down](status-volume-down.png) volume down + - ![tremolo](status-volume-tremolo.png) tremolo + - other icons depending on chip. to rename and/or hide channels, open [the Channels window](../8-advanced/channels.md) via the window menu. diff --git a/doc/3-pattern/status-note-off-rel.png b/doc/3-pattern/status-note-off-rel.png new file mode 100644 index 0000000000000000000000000000000000000000..c522cf6edbbe8f3b1e63555de80714fa3581c78e GIT binary patch literal 282 zcmeAS@N?(olHy`uVBq!ia0vp^svyk43?x4}TrdPuX#qYVuA8N#Bw1KCNl7s>Fz_=m zaWDdD1`%fF6%rEj#l_7zI3|dSu9uY5XJ@Yy5@Ka!Tp%uP$-yyOTzsj7gdHbmld!No zCuf(4NE$zXxu9S?A73C3k2g2B5j%T>u&^`>OQn#ICL5c?&E_7Ux%r+hjv*CsZ?Bk( zH7E!$Tx4Y_J{S4E-t)9;!ThjW7GKx1UzxlwMANufN3=yS;^$nOm5l4OWqgmybeQ?7 zIy_r+Dr4&6M_Xpy3*7%J)N?ggsIPY0D#bwUfR*zc8Z a?-?|-gpc{ZP@WC6n!(f6&t;ucLK6Uh*igU# literal 0 HcmV?d00001 diff --git a/doc/3-pattern/status-note-off.png b/doc/3-pattern/status-note-off.png new file mode 100644 index 0000000000000000000000000000000000000000..817a0c75cb626dd67ac5feeebfbe707ec055f7c3 GIT binary patch literal 261 zcmeAS@N?(olHy`uVBq!ia0vp^svyk43?x4}TrdPu;Q>A&uExg3?Ck6U0s<^7EGjB0 z1_lOfY;2;UqCj~*K0YQUCLtjqO-)T59UWa=T}DPmSy@?SWo2n;X?=ZtBO@bKRaJF$ zbtNSwJv}{fad8d~4qjef9v+^P>i%1RMr3-rIEGZjy}e>8cEmu$`C>kg@!@~hEtdwW z2dnnR*G6}Ks{a*Kdd8on>$)-P*4mdVCO$Gf6ePZo&D*mnb8*?49f2*U?*)3QnkI%y zZcRAavq~ZAt!*BIX4>jM0fs7D{|l!-ET4Y=-}Pd94hvDOUax0ofR-|Ny85}Sb4q9e E0J82$g8%>k literal 0 HcmV?d00001 diff --git a/doc/3-pattern/status-note-on-rel.png b/doc/3-pattern/status-note-on-rel.png new file mode 100644 index 0000000000000000000000000000000000000000..bb9e4160e1785bfd6dd5d2d2453ff65529eeb6bd GIT binary patch literal 299 zcmeAS@N?(olHy`uVBq!ia0vp^svyk43?x4}TrdPur2#%6uK&+Si3u^uiZgR_GBPnS zD9f<8Te1TsKOB(ov*S3sMD+1Cac493UneBjb_p>uFl_D@`gdB2osBWbk>l=0@wfXV zBHcK1!nk)$6;_pFiSpn)GFRl;4)K-kf*rYhDzYraF+6`yNo|`X%*e=~F3&Qtgx^Y! z?d{j2>?!obQTT z>=c&pdr15!D+lw(Bp#yBNKyiF^|W437@}G=G%lh<(PTYSvX{vg{;_^ zxfy>n-}VGrR_N*C7*Y}U_KK-kgM$Fe#e;Y6%D$_2J`^eT%#npt^#2y=DeAQ=eP;Sw ztUPn+;gp9i?5T%KI}d1tvntIGl$)Ttf+?zXMM#wA`xWtjwU&jpYAv1Gp`{+UaA8mu wld00~TiagipE2;en3Iu0Yz?_rH_VZFBSOIy#em zeg7#aWOHyx>FdvNa=K+@b->H(tDIbttZah0`8Ij^bXHaYAD>@pYIPzaPC7c1)YR%# zRLYr{I6OSwN=rxi`u$~&Q6Ap z9~q`jWw5klXl`bZkzqJ-f*~S;p{t9byPJWDiNV&Ep}n2q($(-@{tXRxwju&`io z^W38dG^NGU#WAEJ?(Nx3zGerW=8GzuH(h@FFI-o_RZnsX^OnDL_BX$T{?)D(|**?K6QZ4eL3rEg1RRxo# z*hSw&%9R~9e`Cn%?$Ozlt#PUJqO*p{iFocOq78e(6s9v)@-qKT%FoJWZa(Q*BMEd5 NgQu&X%Q~loCIB5?VjKVf literal 0 HcmV?d00001 diff --git a/doc/3-pattern/status-pitch-none.png b/doc/3-pattern/status-pitch-none.png new file mode 100644 index 0000000000000000000000000000000000000000..21b9d1871c34381933607f937f9a83ad6235aab0 GIT binary patch literal 362 zcmeAS@N?(olHy`uVBq!ia0vp^svyk43?x4}TrdPubpbvhu0Yz@*x1O($iTorNlA&3 zkx^Y;ot2f9iHV7gjg6h1T}MYpQBhG!O3KjCkcEXsSXfw9RaHw%OHfcySy@?LUS3U2 zjhUHQL_|bPOiWTzQb&t75Qdil2dgR>KOn z%_aPDHIW&<7o&QrFD?4P)o?TGU?KDD+k9uHe=2*hr^NI|kfl0D+@x~`TFOy5bEZ$S zUfY-`b-M4?@`}%Myc!nVWWChgEK(`ITBP#ex66On+W+{^S~*W@@>tF)I3T@qAwhcGGM+yJ$+r`fR|4;+#gSe}wV}VX)@O1TaS?83{ F1OWP7ZY=-+ literal 0 HcmV?d00001 diff --git a/doc/3-pattern/status-pitch-porta.png b/doc/3-pattern/status-pitch-porta.png new file mode 100644 index 0000000000000000000000000000000000000000..ab06ba0d289e18c940091caecf738a51774061cf GIT binary patch literal 486 zcmV@P)lK>nX04FB^&(8qm0B&vo2?+q|>HtMW02USi zhK2w{L;#YK0J5?Gq@)0xoB)-T0K~)qX=wls4glQT09RK4P*4DLbO8GL08UN-=H>vr zya30?0BULgjEn#wAplBB0Q~#_0s;UB2LS2m0GgTr#l-;E*8nv&0LaJyPfq~!^Z+F# z0GbiRd;kCd%t=H+RCr$1)71{cFboCIIBiGmn37%Va-p_xVUx>>Ktw z@dpXW3wj7wZV-&3K(|p8a2rJdH&vjW>W2H#m|++JP&2Ju;qVbIKOvF?Wqjt##1jHw ztjOVecG?4_GeA&T0nmxLJOQzSM+WLmlwQDcRBQEya;wcJakT8xh2&av?#9)V@AzH{ z*9|%CNOJ}^HN;vt5@?JzdLq;m{T(x*<_yci1Irbv))s6uhGq+Uf;xasQ0(ZWsMDFE c*oFONuK6(yM}AbcumAu607*qoM6N<$f)nAnRsaA1 literal 0 HcmV?d00001 diff --git a/doc/3-pattern/status-pitch-up.png b/doc/3-pattern/status-pitch-up.png new file mode 100644 index 0000000000000000000000000000000000000000..51a0e6f50f86ff11b7a7670c1f6eeb3df162ccc5 GIT binary patch literal 304 zcmeAS@N?(olHy`uVBq!ia0vp^svyk43?x4}TrdPuQ2{<7u0WcXm*M|^hM*t@9v+4x zM;OkZXE=J4;qYOGU%wcB{$%j*U=R{w;NxRBcaA|=n4!L&K~Ru^ot+^tkYV9Mh6@)M zxVafPI2aZzVEFfsfs2db&>;p}TLwEj24=U14nWfl3nCk-MEt%Okxan7?vlt1N%c zt>`>qcZDvGN@lgr(KY#t)1>03JhAmF-1wZitcNw`$Rw}*K*uq7y85}Sb4q9e09hPp Ax&QzG literal 0 HcmV?d00001 diff --git a/doc/3-pattern/status-volume-down.png b/doc/3-pattern/status-volume-down.png new file mode 100644 index 0000000000000000000000000000000000000000..a788b4ea82e7f81c9de1aa31c85e13b9c00ff710 GIT binary patch literal 271 zcmeAS@N?(olHy`uVBq!ia0vp^svyk43?x4}TrdPut^qzFu0WdMKLZ0J1H)7Xh7JaX zj|>c*3=B*R43-QGT?`D}3=A?13=u#*3=Ah27;G6BrZF&BF)%bUFidA)XkuV!XJD{k zC^+aO0yL-9)5S5QBJS>z`&WLd(g8)~)jOI08~!rks}26Y>!}LI zlTCNBOpLV+EDer7R`1%gRPy36E9b|59KOza@maSof2)zSw)grlY3ZI+7v`zIs(eKR z*KsP%e_FIoT}RS-H^+arjQOgcxI6v`EfC}0a$R&{yup=(hCjo!^6NMLqVG+0bbl`CZsy5YeH zmBd!3q65k>pTj7?o7Fmj>TKGgdYa4C+Z3&kLt23Y=*=zE0M}ON4%#v}!)pBys(!!i zCG}oT%QnHKTw=h>n5*Dal9S(3TS_f?yf%G0IFB%@U^T2t>=bJK+QPUT;1$+kCb8%% z=m!6oGKc$OvlUx?C=9_-!qC^C^$$LyoiGT^@qZ#BBI5t>0qj+0F3k(eZ7#M&S&Szk-Wni#lkjngV5oq`%PZ!6KinzDu-1&|u2)JC#+O%2y`S1AR zw2N8F8xn0N{TH$gZLZJmk4s;*ctOa8(l6QplCo1)8D)uHf2Abk)@mO*^Ou w+D$6%e>;}uB}`evEBol#%icBTP1NmWdDNs{wNj_gU1@*h2B5+po7e$o#eF#-e!1qu;Jknj&5GcsbN z8#P%oW~xh-_zDyu0RaL)f7DBs`Z#X5Bu94!3>6wQS37pZMTz7I5gjvSsY#OZ1`8Ap z9WX(F)+$tt4jU~VJ7O0uOf+Y#7cNaolJqWHmrIoQIdZ;3hTak-JveZ>1q%{Fg4r!u zl_yPrOO^K>I$#J88xI~bB}sWrnEf|yw@8ofL4w#XUYssmnE?U?7cEN_D@PV9NC*)e z1PBfS1qnrolP z88K2!nEWqXnh_#6KYY&v1_~QDTPRS48Z=fiWTy!d9uz1<4je8zbHD%q0WDgVIB&Ts zQ;IBDk_HSEB13Q|O@SgqZ$5j?2MrfHcEc%BiAt08LxtWFBRU*6Tn!p4Awg^?PlOpV zR0IbM3KsKg0005SNklq$>j|fu=6WN(HP}QneB&U8RC}W_60KO12FG zRhpyv#5ol-JCb)Cbv3! z<@OyEcO517miS0P_<>hFOr+Kj)81 U_EW>;`Tzg`07*qoM6N<$f{k{e-v9sr literal 0 HcmV?d00001 diff --git a/doc/7-systems/status-C64-gate-off-test-on.png b/doc/7-systems/status-C64-gate-off-test-on.png new file mode 100644 index 0000000000000000000000000000000000000000..d3aab068802439c0e5b574c298aa5e3d91b09c3e GIT binary patch literal 1007 zcmV(oHhV;*BO4>JM*0^~*Hxj4C58(Gjl&{`W>)Gvl`WOAHL>kT?ax2Yj4F(PCxF>P z*)|Y1<3;0S9%OkXc}*8h?nv%f8d#ezo0%?|w>P(!E|(Vv7eNz2R~lD658v!Y-$UPG9%8yUx+4oCXdh?` z0}JU#>E=b|aw2jV2N;Jbhe8xW5(N@?BzV<8)dBzlr!%L^JZwG`u{3oT-lnAYQAlUUsTUD%jM18^=rM=u%yjZ^-hJxW<6=z ze;^1(1`B~Y_Y_!5Vtl0-j{ z+n|Dgx7y7fb>*k!z?AJOI+$wmRIOzHRfmf69zH_MjI5&^6ILBS-ri}56J~W1$^s?Y zyr(&H)~L>Lz9X#9dlAxlbScE;E9Sgc3G1)A2IZc4V{qN=Hvpe`Z_?IYv>u5fYtCDJ zi`yOlPkm d`;Qn${sMnpL-S0DK#TwY002ovPDHLkV1k4CtqA}C literal 0 HcmV?d00001 diff --git a/doc/7-systems/status-C64-gate-off.png b/doc/7-systems/status-C64-gate-off.png new file mode 100644 index 0000000000000000000000000000000000000000..fc53a30e9b0d00b9dbd962534118e66d7714b631 GIT binary patch literal 1039 zcmWktYcLxI0R9LB=8jtnR=~im#-S@cf?)&%MR~;E1q)Rd<0np_Jv!j%5|ACqW zrLHmM?trRVWGIiLjO9B}Q9=28P&g=khq7%z1!eD{rm5^8_)~D5XlfNqjU?5LS#)KRR(iU zsHj4Xh@#i<&VolOGDe}U1ZC z?6N`BRk){MHwBqb5OoD!>7a)}LmS5xD0qQ=pCNA+q4i)_Vov~!98tIo-gij*1*wmr zXA4>gjGf?Lft+bjgFz2RQXiaRaX^I7Mg-O(Zw?Mo2s;N&eOUT}Q3Q2uxWt2X3cPEG zxehxPOk9xs5XEZ2enzIcP&8CdOymOfk(V7wRJ*$6lZ zM;bV!C^sMAvi*5Q{JY<>77M3}?+K?qV4FVM-q_OAac*X2`WV~A zQBgx-{XB51YVpld@8tlRT4Mh`{{4@;o~4b=x5WvVGHbtAPrDdewat?XcI6;$ejDet zrbfP`aBx&?5JsEgyjmLv`l1U06LY0MZrEk?5ZvS)9D9|(>|k#EZ{&fmO389T#^`jK z;wQ89ur$Wph(R-hR^PKhW#-qIhT6~HS`kPpVpDbtL@{kr$^3b0rTEv8p$felH~9Ij z$!92MWC*eQLvq1GFcW7xPUSm&IWB1LBusv97;$J$a&~Qk`N+-aWWn|3Ws-DgwKREx zWVCWnPN5OGIx&^zlJtJ*X-ky;_Ck%XQbk z*7I5kY50r82kT?` zu13#053l95*L+fSP}D|0x_GxGMIK36>|Gft91$5Yb6|b6uf&UnRSJlv_vos}&NMhM4}e%RUCrn831Omw)ck{;iG Pl+Om26VC1kNUr!F9vO7x literal 0 HcmV?d00001 diff --git a/doc/7-systems/status-C64-none.png b/doc/7-systems/status-C64-none.png new file mode 100644 index 0000000000000000000000000000000000000000..d1fafa85987b3b134533ae0c6aa2c05cd4c371c4 GIT binary patch literal 562 zcmV-20?qx2P)1qB5P3JMVs5eW$iE-o$&4Gk?VEg>Nx zDJdxy78WKZCLA0bA0HnO5D*m=6%!K^7Z(>JBO@p%C>P+MYQLtrDW% z+#MlWYQ>GS2&mTWl}!PpTP5wzw9N8<>D>UUTuC1V=2A`$Z*>aQROIF1>z7$THEBj{ zxCS$TL==97=SqtM5ny7`#F$-gt^p!PEWXJ4=R@Fl5F3wqH%bF|TN!Ysdxjby3uH*d zz8U^2z^gAK7&cAb44{@VwlHb(0%k9xEFfs}5-uK9hgMA3<(>XZQ*WqU$aG#e#1We# zpCSpstm)*D*wP7pU7fe4vaK1{e5La)VWXu3%u_q>H!E%3p%~iba^LEkA&{~E$Q+mScJaVdHqX>COwH*dF8-65ALFIy1XKOvCaT^5zUYK zdvDBdR|s>_xT{CrmIPCfF2p7%b*tNa@5&ST1C~${Tfv{stN;K207*qoM6N<$g7{O% AhyVZp literal 0 HcmV?d00001 diff --git a/doc/7-systems/status-C64-test-on.png b/doc/7-systems/status-C64-test-on.png new file mode 100644 index 0000000000000000000000000000000000000000..132d3911777ba58933ecf92da6233cc51169092e GIT binary patch literal 1037 zcmWlYi!&Pr0LH(Nka#~sz2DY`)a#rnn~;=L7#7bm8J$;3HCiO4wAEWljm?S;b=}#_ zn62GVmO6K|t940D$+h*`P@<;olwoPparb?{?|y&4R~Z!4GQ5%K4hjk07I;yNu`G;d=mD5-hU|j@fV}v@v!yNasFp-0Y$06qN1|psY12T3>!LUP;J4k9M55f^=Sn6Rg z6%%|o8X?OE##+$Uz)}GOZ{rdRW7+taiC}xsOi>(wNj{7yxR-&CywMehOmEm3z(yYn z0-R@HIuCc!aVr(gkvM3M1UD2OLL&!r`S>FnG5hgl1pKV9T?#D{j?!^41aUODQNeTo z-3&uK5P4Qjkmsjf&&Gs0ar4 z0CY4aM`or0!U&tm;1++-Q}_N)Ye6O&@vc(=y}2nLa=*=k@45Eluj99-%APYm57Lh8iiS^L+AL3|1$;sw_B3 zF>Q^B=9@N-$QLzbiDIPrz8Vgg-p4vR&r&LzRWocE2gQ`5*Tc-B;(IlTt{p!v@ zaa$s>qLbC`KgnHrpo<;aZJrJ3ohDyvbFz)k@F$Fp6<8Fq%f%ysj~X?Wmf5vN)Pb~A z^#nZt6)p{lTJ>_PRmc7f;qH&2_3Kp~@9q7X M&5C4p2lLMV56nh*4gdfE literal 0 HcmV?d00001 diff --git a/doc/7-systems/status-PCE-noise-off.png b/doc/7-systems/status-PCE-noise-off.png new file mode 100644 index 0000000000000000000000000000000000000000..874c8606cf9738b8fdbb24deca018a639b0f1597 GIT binary patch literal 707 zcmV;!0zCbRP) zB`z*5CnqN`Ffb$}Bo7Y{0|NsD1OzNBEDa3}2?+@b3JMYu5+WiZ9v&VaA0HDF6Algz z6%`c}6chpi0tE#HDJdxz7Z)KRAsrnZ2nYxe5D*#~8W&4Ip>^i@cX};Y3Sh|@WNaBTZjT}3Q7Nk$!MV; zQ@x9NW1n7()KQ(E^=3ol(~V3)xtF7i54{OVe2QtbXC_B21HJj6R<|HnVFNiicA_5# zwhA_`cLU#7c*yC)r?g6aofT_E3?x}thVYa#gi?AD%F&pfF67b#7?=3g2HQv_2RZsh zx&SME0ml)P(mar*pi+!K(}MO6oV5g!6b9N;2e9I$8UE1U^k*2B+5?*$8YNs#Fl8Xa z#Qz0jNO@|7r7&2gTg((An@<_a1FUO#pe4hmR3oSus!v5GZwSqcml6sr{gPbQrp6VCV@+TywM6R7u~LN%Tz*J8our11G-9vLl12({JG~oF pOXq_+3W`X7*b?gR9@#_xy5AI79%F)hJY4_)002ovPDHLkV1i$!{)PYm literal 0 HcmV?d00001 diff --git a/doc/7-systems/status-PCE-noise-on.png b/doc/7-systems/status-PCE-noise-on.png new file mode 100644 index 0000000000000000000000000000000000000000..373022d416cd5f88f7a18a06ace8e7fca75bbb14 GIT binary patch literal 1146 zcmV-=1cm#FP)e_|6F)<-=fiX^TV@OzFM1g>SfJ|j*8CsxF z&$;)$ci(H@Ybz#h0u6s^G?Nw-bY;w#VORJSg2D~*7t+5t(i8-_;WP;5h_NgVpyWVW< zN#QYwOO2kN0x>o?_s~!sh=isn1eTc1ZrUKN)SMp*j;Y~ReHm_aLH+Gees0OHt{slF zGsV>Eh))xnq+EfAmRV`ek0fnT%VHno*U_zT`8#xtR?NKC42oS%WS+#!s5Iy2UxTu< zpfKMlMYOudtoh|0gxp$2C65Foav8Dy@k{F36i7szL1hSnMm%R7W}ZTDlgDxV^ua>LWZs}a^(c!dKT1^3`o%) zPagvT`0<7|C5@DR-uotaK2^^oR_-%jS#$-G-{yva-{v~SfnPaUOgJd)aqRgTth(rM z+Fm;8h^J2D%@*8$7#e=u&hr z!_Lu0fu7&;G_6GqD!+gkp3fbO$Llk@TIjhlE%99a%;O1pJ(M3$d}KYnbFef)F`=HZ z$&hy#{5}}}3`>&|Z+?*K0?Pz#>6fmI)%n|4^!y(LaYS(F*tqDHP=0uY4~nq-ba>bRJbA>}$j{X;@ieYM`O}L@FA!6HUasea_{ftd z_<=b;%rsF~BtKMAQ6L;%Fuw`mf|3`AfT!3D{7^&RBDJQzI4$`}Jdnl0#o6$ZBR=^S zM_~9pg@V=p5nHwCr&(9McZt%+L4E?&i_@% M07*qoM6N<$f)2bTMgRZ+ literal 0 HcmV?d00001 diff --git a/doc/7-systems/status-SNES-env-A.png b/doc/7-systems/status-SNES-env-A.png new file mode 100644 index 0000000000000000000000000000000000000000..60abd875b33445d452b667c6b8e2ab97ddcfbd1f GIT binary patch literal 775 zcmV+i1Ni)jP)}7;7#PnL6;lWZgAEM^0Rj9P8fyy+-4_@085x8P4Sfv_LXA28<3=A;^1+x+oO$Z282?-Gb0#FDD^%)sz3k$Fk5^M_# zO9%*O3JM(q18EBj@fjHz0|S;14@CzDatsWq5fOn64bBx6M+XNl1qH4W68RY!dkqa@ z3JR4E4}}g6#}pJ70s{IO85IHoR|yHi6ck?y3V#g^w-Xa#3JRzZ5ieL_t(|Ud_=(Z^S?h zfKht_%gj_}W@ct)W@cvo;Z-z>l-(rL?Wz4PzC4X&5By1;hGbM#z9|`&TE{sGe^g>d z`k0O5%7EQu!*mX0;ylab`5T+EvY`NTJuK!a@4znCZVC2zfz?376~Llmv~j?$0uA0$ z46qUBYv-ZTUR}dfwWJ;Z7RfWuQbBB%MhmvGl)vp$8WR?wTOajcFV%){zmYbmRzo-} ze=0#*ctoW}(JC)HPM_L9XW}B_R8)1(8JtZ}bNHZA3$dl;c(sD7plXe*$16)Lq*nYU zZYj|=*#V8rLe!y9dt@K9I>1APIwHrK%H%t-g50U#1nthqIVY_dP literal 0 HcmV?d00001 diff --git a/doc/7-systems/status-SNES-env-D.png b/doc/7-systems/status-SNES-env-D.png new file mode 100644 index 0000000000000000000000000000000000000000..e52b20784a8b9064f3be20da89b19d3783438a4c GIT binary patch literal 688 zcmV;h0#E&kP)P)t-s0000Q zW`Fe zbQ)xS4mn2z5ETg`D+U=L7+`o7RcaDOSQJiT4KzX-V0jWnR|gy;3@$klL{$zpL`)j0;rVSZGBX63nVFg4A~U>y zdnM;cmUoX=N|hpCHRbTK7$uYeyiLg}HgjSCVw-3!NOA;#f{&hqB_BFtp%Xdv1KHs0 zzxk+%)}q{vN)4!oeEoQtl(>IfX29H@8#K@}_JS7KL@)=GRvPH7$uD49&Mn%wkRrg9 zbkRn6-vn6h3moHVT{f`AJGa7*c4)CHK2;G>I;%9R$e}9ZC~WJJju>vKWSVAY(v4d~ z3N*{*FMDyR$u%u*)tPQTP<- zK(8pD4U{hu!NXVQ<(pLT@ICP(rLwzj;3Zti@N_>T!?xeOv=J5M4{gN$4%y-s&+k7w W+#P9eo}CZ?0000jO9)FI10M4k^A7?K*cR9-1S*9Ng$4lz;TPc-0v9a>E!`L0 z3IPf)1uuOKeMARDgbjo@1~3vHJVmy8aKMh8aE z70;d!o+AV!5dskn0S)jN@YEL6Ap;@N710m^5E=s-2LT7b6u@N)W#kv+X9{OM20iu} z_A3M{Q3z3I3ujmfSos6(4SQk=VwDe-#}vnQ z40ie%`V|5dR|!{N3SWN>f4392VG3b01v4T8BJ3FKYYS_o5v2kE0<;peI0iUC20&&C zW)A@mLkB}y30WlsC2N)PV*mgFI7vi7RCr$H(M4~=KoExEZyaW3hB7lVGcz+Y<8QAN z%W*b#qDVdT(C7GSq}|crUs1K70R1#rz*IR6k3eEn%Y?RxcIq%8Td;=-R+?X+dKFkj zOJFpU+oU5aSju&FLq~-Iam$`hOg;lp$$qPhs{v5Uc@$#P#o`_?lr#8CTBMQv_>^=5Oj9wzJlRiq-m)SDQ^9Mnl}U(^)53qjM16!3`ab@8Q#e$WSXXs zuGWhyVZp07*qoM6N<$f}3t1DF6Tf literal 0 HcmV?d00001 diff --git a/doc/7-systems/status-SNES-env-S.png b/doc/7-systems/status-SNES-env-S.png new file mode 100644 index 0000000000000000000000000000000000000000..0cdce9ea4f0bc2ef9c2d4c91b73b29b3a9232957 GIT binary patch literal 778 zcmV+l1NHogP)#v3S?vlL_`HLG64n# z60NNfqoWOkga<%C7Sz-bpPv-P#Ro=40SXEk`1lHCWe$#x3SeLs*Vh)+)fnyV0Syfp z?(PI5BMf+W81L@`At44gHwaQv6S=t&rlt;yiw=i}5Sp3|f`S<6=oZ=87vbR$p`imF z9u&a920T0$n6lWT;4o5{S za%&W8QW}RumP%$#VoFNfw0P7E)U#>Q+`NO*S%f~#TH=>w)=D6>o@)89K{7V6m1=DV z7!R@&!ESQjgP$1eXE}mN^#F&&;t0n{?SwyNT4(1M&Um@Bt2ttFh3ojr4Q@$+JKU4R z0~EjCqweWhiuxChl!(51>DPGQ3q)L*EE^<3lnGU~$QS(~-|1E+mMn+ODF6Tf07*qo IM6N<$f>RPOvj6}9 literal 0 HcmV?d00001 diff --git a/doc/7-systems/status-SNES-gain-dec-lin.png b/doc/7-systems/status-SNES-gain-dec-lin.png new file mode 100644 index 0000000000000000000000000000000000000000..5ad203ed5611b214f6a6e1f9b4f577287eb48330 GIT binary patch literal 319 zcmeAS@N?(olHy`uVBq!ia0vp^svyk43?x4}TrdPu6#+gWu0Wb$=4J*#5e8N^hL)KO z>>La&vlx7%7}(eu#HASm;~4~m8OpjCN;?@iI2q#d7?_wDIJg+JjTpSb7&P=4(#jd8 ztYzq2$k4r*Va6r~StSN5XNH=I3?=Oh(b)|B%Nax@7+6>s%6k}eOc>$|7y{xLxOfq}*g3>}TrPgP_FM9E(^ApD?!SMitr9KRZM|d@p0K{)obpAJ8wA`F+id)kK=GDzH!t zAq}td@l6Rn72aGZHsMJgrV4ORg4$G+bFiw%A3Y}Ic(D^lQ;|lXDg}XEXwQT>31!I` z&I2zape!VHr?U@jBT@z(>GPfE%1T-0 z&b^-{^Y^St{qm}NOgGSLrbgf<0G#6x<1B)_vPEo Ok>${;Ov(X;_3}UW2fu*; literal 0 HcmV?d00001 diff --git a/doc/7-systems/status-SNES-gain-direct.png b/doc/7-systems/status-SNES-gain-direct.png new file mode 100644 index 0000000000000000000000000000000000000000..6c5fd6422083ea8a34d5de7cbb4b8ef9585adb70 GIT binary patch literal 884 zcmV-)1B?8LP)39eTo`F%1r8w>n@Ga3yA{C+aQVJEU$Bp(k384U&0YAR1C5J4dg zfk7HfCJzV%0`z+^EEWko9t?v*8cQY*kx3o9UL_q51~C~5`+hP-BMx#o7i=~blu90x zN*xml1U(-NbvqZaStH|eEdl`mdp;RsF%*A48I(&Ng+m+1WGGE157uid2Lk~Q2m|MI zF8X~kD-{S83j{kJ3|A}>!eJ+0FcXqV9k^U2r&J;`84BfdE+P>J_Ixqyb}t760i{zR z(P=8QS|oZs7!U{p7YqeJAPw!!XBz+j0eMM8K~#8N&C)}&?O+&0;nm5uk8PWmwr$(C zZQ~!`!CRF|Wq(zfo@cb?-7F|~h&QpSu7_A7(j3*i6@+X~DlnN{RVk1t?N~bVarE4krvp1;H zrJI=Egl?DVO=|B2qV}uZqIgI;3`ep@RU5s|@e^a1R;k-+S{;PJ8UL)sRGS+1Sf1~k zu?p1al1-CV@C+_T2hVhtu=i-v!;o*$JR#e)1AyFsc8(I*wR@~WfV;W}K%aDQ$4_YX@rOmn#1r>pMcqfK2H$w z`>zyfCkLOE}p80000< KMNUMnLSTXt=SOJ( literal 0 HcmV?d00001 diff --git a/doc/7-systems/status-SNES-gain-inc-bent.png b/doc/7-systems/status-SNES-gain-inc-bent.png new file mode 100644 index 0000000000000000000000000000000000000000..6d41a56d750afc8d80592da7ab95768acfec3aba GIT binary patch literal 612 zcmV-q0-ODbP)d$Hx>WCj@kK4EgyP0|Nm1`WY4$ z0>i@;d3g-k*%mxJ28V|Zs;UtR3IP!j0)T)GL_`M-4FMk?1A2N4zP=L<4gq|84Zy$@ zdwUJk)D~o93IqfILqi9Gf(@^)65!w$B_#w=Q3#%%5XHq5cz6s~R|x_F0231e-rg5G zI|fHb2b-G^si_g&-4`An15Zx~pr8=0t`aXV1tTK_=H?eJE(IAG1L)`&Nl6EmmJh_l z6s)WgG&BW~kq_(Z7#$r0(9jk3_8G{?6lZ4($;lK42LWwu3tnCd5D)^)%oV!26MlXT z_xBk=K?k9s5Tm0JIXMQMoe;vp6i7%14-Wzc1_9jM7H)0}kPUN(0002%#0z+l@*KI^e(86eZy+EM$FWMS7mhf@~HYmSlAUE3#R2$jPb%0T~kJG3hm;6(if& z%p1uTY#Wo|9el=j?82Vv?E?pga>=GRGFHWo%bXO>&RtQ`;X-vPmscTbDi&Q?fxD_q y-z~R$c#yUA2v7FbGcU5YLa%T7?fv6Zf7}=1=@r{LM*=ed0000OV8Htcb{ALBUl_ zOahFI91IMMjErm|B1f2+W!TtkL_`j-u&6OGurM=AiijNI;i+U~(vpClpinv*j^Qt~?s zi#i8~x0u)+ZtlD~jah*}M|60)IEGZjUA^GW=VU12e9_|VcenR@-`6*?EK~Ty=E&6F zU-Wg+zoJrAhrL3^eLM-mj8gd$S9mJmpU;{*269rYOEiCly_>^P zbau<*ojVUEIjz6VY>`oP_hZV&n6;PtujiJZTfDxjsWvU(eUS_AypGiq7N3frQx#ja dccuJ&*#oaRU%hL&Ed+EEgQu&X%Q~loCIEn=Xo&y- literal 0 HcmV?d00001 diff --git a/doc/7-systems/status-Swan-PCM-off.png b/doc/7-systems/status-Swan-PCM-off.png new file mode 100644 index 0000000000000000000000000000000000000000..4596bb70cec1765baec3b9ee9ca6d8cd861430f7 GIT binary patch literal 494 zcmV-_CF)=YNE-oY_ zBoPr292^`aB_%B_Efp0NA|fIV4h|9$5+5HQAt50kARsF%D+>z?DJdxbld zXdZotgT#HKae%=aOYOkDOYWL=TGpUsF;Zw>DD{U}R$HA+V@u3Pr?dZHJ3aIsh zvAVGLsW8SAdgUmcdGr5~S1Dzus9`*yhl%R5tyDv)Efo6e^I92?N|JiRURn@O&olm4 z`4^lcy+f}_Nj$0)&Y_Z)Oqyd(U4q&w&j>2bGN)vvBE`IDt|Vh8$Lauj%@@5V?mfcO kMmNeE^K5mqu+Y8q3&HmfR_zBHO#lD@07*qoM6N<$f@{*Q%>V!Z literal 0 HcmV?d00001 diff --git a/doc/7-systems/status-Swan-PCM-on.png b/doc/7-systems/status-Swan-PCM-on.png new file mode 100644 index 0000000000000000000000000000000000000000..a03699f1b8da724e6034ec66b14ce33771c1f737 GIT binary patch literal 815 zcmWkseK6Aj0DZ$W%MUX-#iD$qO)X{WoMN(OS7}?nl`Wa?MXk`VidkQO=%id-cPVkw zC0r-zDqYbR(qxxZl#}Yv2REA1hqT_^d+*-8|K7bqakP-2&!Yn%L{X7ai~Ig3&Dx?9 z;l@CKQYhX)3M^4S1N~p*O~K9?RyHX3Yw2KRjr^aWSYh7;hr;B4)e7*#|*8pcz8$C=`vzcn8f0LbZ@LAY%Z!KMwsg1FZ28gWXWH+dJQz3`n8+}kEzXK>3~3UkcFyL3qO`&q(oNHus@ieQ);X--EiR5SL%6L9-VPH3ZK`@H~aJ$c7+)u z&M`N>)rfpcNcp<_sJeRUXmGJeP{!spsOa5hWVRN$43SGKwn;`~hB#}f+$8_S2JiOl zwLPCJJUvgVnK`$1R>dB88x}4}vnh59loH8|9LK{nvni&ASvFC2fubwzV)${Z8k9}_ zW5$Q>%|CjlXj;Rf_jTq*u|yHlG0Zhd6C9fQ=+Z&r=gXttbMpp@wtc-vda`t!AZ}PT zMRry^WuG@Lo~Dzkfg=$Uza2~WR>ytmQd(WoohoR`6!s}6mBgLS8R1 zB`z*5CnqN`Ffb$}Bo7Y{0|NsD1OzNBEDa3}2?+@b3JMYu5+WiZ9v&VaA0HDF6Algz z6%`c}6chpi0tE#HDJdxz7Z)KRAsrnZ2nYxe5D*#~8W&4Ip>^i@cX};Y3Sh|@WNaBTZjT}3Q7Nk$!MV; zQ@x9NW1n7()KQ(E^=3ol(~V3)xtF7i54{OVe2QtbXC_B21HJj6R<|HnVFNiicA_5# zwhA_`cLU#7c*yC)r?g6aofT_E3?x}thVYa#gi?AD%F&pfF67b#7?=3g2HQv_2RZsh zx&SME0ml)P(mar*pi+!K(}MO6oV5g!6b9N;2e9I$8UE1U^k*2B+5?*$8YNs#Fl8Xa z#Qz0jNO@|7r7&2gTg((An@<_a1FUO#pe4hmR3oSus!v5GZwSqcml6sr{gPbQrp6VCV@+TywM6R7u~LN%Tz*J8our11G-9vLl12({JG~oF pOXq_+3W`X7*b?gR9@#_xy5AI79%F)hJY4_)002ovPDHLkV1i$!{)PYm literal 0 HcmV?d00001 diff --git a/doc/7-systems/status-Swan-noise-on.png b/doc/7-systems/status-Swan-noise-on.png new file mode 100644 index 0000000000000000000000000000000000000000..373022d416cd5f88f7a18a06ace8e7fca75bbb14 GIT binary patch literal 1146 zcmV-=1cm#FP)e_|6F)<-=fiX^TV@OzFM1g>SfJ|j*8CsxF z&$;)$ci(H@Ybz#h0u6s^G?Nw-bY;w#VORJSg2D~*7t+5t(i8-_;WP;5h_NgVpyWVW< zN#QYwOO2kN0x>o?_s~!sh=isn1eTc1ZrUKN)SMp*j;Y~ReHm_aLH+Gees0OHt{slF zGsV>Eh))xnq+EfAmRV`ek0fnT%VHno*U_zT`8#xtR?NKC42oS%WS+#!s5Iy2UxTu< zpfKMlMYOudtoh|0gxp$2C65Foav8Dy@k{F36i7szL1hSnMm%R7W}ZTDlgDxV^ua>LWZs}a^(c!dKT1^3`o%) zPagvT`0<7|C5@DR-uotaK2^^oR_-%jS#$-G-{yva-{v~SfnPaUOgJd)aqRgTth(rM z+Fm;8h^J2D%@*8$7#e=u&hr z!_Lu0fu7&;G_6GqD!+gkp3fbO$Llk@TIjhlE%99a%;O1pJ(M3$d}KYnbFef)F`=HZ z$&hy#{5}}}3`>&|Z+?*K0?Pz#>6fmI)%n|4^!y(LaYS(F*tqDHP=0uY4~nq-ba>bRJbA>}$j{X;@ieYM`O}L@FA!6HUasea_{ftd z_<=b;%rsF~BtKMAQ6L;%Fuw`mf|3`AfT!3D{7^&RBDJQzI4$`}Jdnl0#o6$ZBR=^S zM_~9pg@V=p5nHwCr&(9McZt%+L4E?&i_@% M07*qoM6N<$f)2bTMgRZ+ literal 0 HcmV?d00001 diff --git a/doc/7-systems/status-Swan-sweep-off.png b/doc/7-systems/status-Swan-sweep-off.png new file mode 100644 index 0000000000000000000000000000000000000000..aaa5246b693d57b24462a3ab16b1f689302c3f57 GIT binary patch literal 337 zcmeAS@N?(olHy`uVBq!ia0vp^svyk43?x4}TrdPunE^f_u0Yz@*qDWdg^`hwiHV7o zm6d~o!@$5mR#sL;MMXqJ#K_1}M~91xOJ84~nVFe~het|Eij9p;SXh{smsdzgXkXNN2cTt(JzX3_D&n4= zH|JwE6ks_hIqCUc^H0D2E3*nHOcB`4zoSn(Gsf_`iItIX<@JDDlTEm!jP8YmhOM#o zJ)82dXU!dtXJVVY)HboET>Tnj-f`-@u6mQuGa(PHGm6XP@>_!J#e;QcvZc6B;+^9ik$ky8V%>@<*Gup&40zGI-SrRs#K^NS~3U9FJr5ZFHdvdCuslF}ss fx67NgzcDYk$C`F(cl}17a~V8c{an^LB{Ts5xPxHo literal 0 HcmV?d00001 diff --git a/doc/7-systems/status-Swan-sweep-on.png b/doc/7-systems/status-Swan-sweep-on.png new file mode 100644 index 0000000000000000000000000000000000000000..cb968d48fe3da36089006aecd209268626e0e89e GIT binary patch literal 456 zcmV;(0XP1MP)s@3=9CPs{o0K08C5(DJcL11OO{50QB?#&(8oC7XT_M z0A^+YZf*b@8vx(m00{{I{rvzI766Ql0LjS!Z*KsNjR4@_05C8B2nYa1MgZjG05UQF z$HxHr`T!CV0EmbHIywMgU;so!0RH{}?Cbz!WB`MM09#uCi;Dox&Hxn^02CAeF);w; zK~#8N z<sQM;;vv&l;hvua$?tpR3rdq;H-L4_%s2?SMt;Nug_>ib*^ yX7y~7frg-7=)MAyqI!eSJNXeoN`HRksA4C#z!1y|`pCfm0000 Date: Wed, 1 Nov 2023 21:15:10 +0300 Subject: [PATCH 60/99] Update c64.md Update C64 instrument info --- doc/4-instrument/c64.md | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/doc/4-instrument/c64.md b/doc/4-instrument/c64.md index bd864b031..3f2b7e880 100644 --- a/doc/4-instrument/c64.md +++ b/doc/4-instrument/c64.md @@ -5,15 +5,13 @@ the C64 instrument editor consists of two tabs: "C64" to control various paramet ## C64 - **Waveform**: allows selecting a waveform. - - more than one waveform can be selected at once. in that case logical AND mix of waves will occur. + - more than one waveform can be selected at once. in that case logical AND mix of waves should occur, bit actually a weird bit mixing occurs (due to the hardware flaws; 6581 and 8580 models handle those "combined waves" differently). - noise is an exception. it cannot be used with any of the other waveforms. - **Attack**: determines the rising time for the sound. the bigger the value, the slower the attack. (0 to 15). - **Decay**: determines the diminishing time for the sound. the higher the value, the longer the decay (0 to 15). - **Sustain**: sets the volume level at which the sound stops decaying and holds steady (0 to 15). - **Release**: determines the rate at which the sound fades out after note off. the higher the value, the longer the release (0 to 15). - - **Duty**: specifies the width of a pulse wave (0 to 4095). - - **Ring Modulation**: when enabled, the channel's output will be multiplied with the previous channel's. - **Oscillator Sync**: enables oscillator hard sync. as the previous channel's oscillator finishes a cycle, it resets the period of the channel's oscillator, forcing the latter to have the same base frequency. this can produce a harmonically rich sound, the timbre of which can be altered by varying the synchronized oscillator's frequency. @@ -26,9 +24,8 @@ the C64 instrument editor consists of two tabs: "C64" to control various paramet - **high**: a high-pass filter. higher cutoff values result in a less "bassy" sound. - **band**: a band-pass filter. cutoff determines which part of the sound is heard (from bass to treble). - **ch3off**: mutes channel 3 when enabled. not sure why is this part of the chip's design, but it is. + - Different filter modes can be selected simultaneously, e.g. low+high. The resulting sound would be as if input was passed through lowpass filter and then highpass filter (or vice versa, you get the idea). -- **Volume Macro is Cutoff Macro**: turns the volume macro in the Macros tab into a filter cutoff macro. - - volume control is global (affects entire chip output), hence the option. - **Absolute Cutoff Macro**: when enabled, the cutoff macro will go from 0 to 2047, and it will be absolute (in other words, control the cutoff directly rather than being relative). - **Absolute Duty Macro**: when enabled, the duty macro will go from 0 to 4095. - **Don't test before new note**: this option disables the one-tick hard reset and test bit before a new note. @@ -37,12 +34,21 @@ the C64 instrument editor consists of two tabs: "C64" to control various paramet - **Volume**: volume sequence. - warning: volume sequence is global! this means it controls the chip's volume and therefore affects all channels. - - this macro becomes **Cutoff** when the **Volume Macro is Cutoff Macro** option is enabled in the C64 tab. - **Arpeggio**: pitch sequence. - **Duty**: pulse width sequence. - **Waveform**: select the waveform used by instrument. - **Pitch**: fine pitch. +- **Cutoff**: filter cutoff. - **Filter mode**: select the filter mode. - **Resonance**: filter resonance sequence. -- **Special**: ring and oscillator sync selector. -- **Test/Gate**: when on, the test bit is set, which mutes the channel. +- **Special**: ring and oscillator sync selector, as well as: + - **gate bit**: + - set (1) = key on, if previous state was 0 it triggers envelope start/restart, if previous state was 1 does nothing + - reset (0) = key off, if previous state was 1 it triggers envelope release, if previous state was 0 does nothing + - **test bit**: + - set (1) = channel immediately muted (if the channel is a source of ring mod and/or hard sync those stop working until you reset the bit) + - reset (0) = unmute channel, restore ring mod/hard sync functionality described above +- **Attack**: sets envelope attack speed. If you modify attack speed when envelope is in attack phase it immediately changes. +- **Decay**: sets envelope decay speed. If you modify decay speed when envelope is in decay phase it immediately changes. +- **Sustain**: sets envelope sustain level. If you modify sustain level when envelope is in sustain phase it immediately changes, although you can only go down (e.g. 9->8 and 8->8 works, but if you go 8->9 channel immediately mutes itself). +- **Release**: sets envelope release speed. If you modify release speed when envelope is in release phase it immediately changes. From d04f4da359131debd9e4d01a2945f0bd8a07b806 Mon Sep 17 00:00:00 2001 From: LTVA1 <87536432+LTVA1@users.noreply.github.com> Date: Wed, 1 Nov 2023 21:19:46 +0300 Subject: [PATCH 61/99] Update effects.md Change macro attribution table for C64 insturment --- doc/3-pattern/effects.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/doc/3-pattern/effects.md b/doc/3-pattern/effects.md index b2622426c..c76826c02 100644 --- a/doc/3-pattern/effects.md +++ b/doc/3-pattern/effects.md @@ -154,16 +154,16 @@ ex | FM | OPM | OPZ | OPLL | AY-3-8910 | AY8930 | Lynx W | | LFO Shape | LFO Shape | Patch | Waveform | Waveform | | Waveform | 1 | | AMD | AMD | | | Duty | | FilterMode | 2 | | PMD | PMD | | Envelope | Envelope | | Resonance | - 3 | LFOSpd | LFO Speed | LFO Speed | | AutoEnvNum | AutoEnvNum | | Special | - A | ALG | ALG | ALG | | AutoEnvDen | AutoEnvDen | | | + 3 | LFOSpd | LFO Speed | LFO Speed | | AutoEnvNum | AutoEnvNum | | | + A | ALG | ALG | ALG | | AutoEnvDen | AutoEnvDen | | Cutoff | B | FB | FB | FB | | | Noise AND | | | C | FMS | FMS | FMS | | | Noise OR | | | D | AMS | AMS | AMS | | | | | | - 4 | OpMask | OpMask | | | | | | Test/Gate | - 5 | | | AMD2 | | | | | | - 6 | | | PMD2 | | | | | | - 7 | | | LFO2Speed | | | | | | - 8 | | | LFO2Shape | | | | | | + 4 | OpMask | OpMask | | | | | | Special | + 5 | | | AMD2 | | | | | Attack | + 6 | | | PMD2 | | | | | Decay | + 7 | | | LFO2Speed | | | | | Sustain | + 8 | | | LFO2Shape | | | | | Release | ex | SAA1099 | X1-010 | Namco 163 | FDS | Sound Unit | ES5506 | MSM6258 | ---|----------|------------|------------|-----------|------------|-----------|----------| From 2e9cfd059a660a419222588284f40c9d34a30ed9 Mon Sep 17 00:00:00 2001 From: Natt Akuma Date: Thu, 2 Nov 2023 01:34:01 +0700 Subject: [PATCH 62/99] Fix StyleVar stack mismatch 2 --- src/gui/xyOsc.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/gui/xyOsc.cpp b/src/gui/xyOsc.cpp index 328b86087..3a00b811d 100644 --- a/src/gui/xyOsc.cpp +++ b/src/gui/xyOsc.cpp @@ -31,7 +31,8 @@ void FurnaceGUI::drawXYOsc() { } if (!xyOscOpen) return; ImGui::SetNextWindowSizeConstraints(ImVec2(64.0f*dpiScale,32.0f*dpiScale),ImVec2(canvasW,canvasH)); - if (settings.oscTakesEntireWindow && !xyOscOptions) { + bool noPadding=settings.oscTakesEntireWindow && !xyOscOptions; + if (noPadding) { ImGui::PushStyleVar(ImGuiStyleVar_WindowPadding,ImVec2(0,0)); ImGui::PushStyleVar(ImGuiStyleVar_ItemSpacing,ImVec2(0,0)); ImGui::PushStyleVar(ImGuiStyleVar_ItemInnerSpacing,ImVec2(0,0)); @@ -223,7 +224,7 @@ void FurnaceGUI::drawXYOsc() { } } } - if (settings.oscTakesEntireWindow && !xyOscOptions) { + if (noPadding) { ImGui::PopStyleVar(3); } if (ImGui::IsWindowFocused(ImGuiFocusedFlags_ChildWindows)) curWindow=GUI_WINDOW_XY_OSC; From 1ef6b97c369a26570d061518bf5e5404c93c1580 Mon Sep 17 00:00:00 2001 From: Electric Keet Date: Wed, 1 Nov 2023 11:45:41 -0700 Subject: [PATCH 63/99] Final tweak to sample README. --- doc/6-sample/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/6-sample/README.md b/doc/6-sample/README.md index ae8490087..26b4d2c61 100644 --- a/doc/6-sample/README.md +++ b/doc/6-sample/README.md @@ -162,7 +162,7 @@ in there, you can modify certain data pertaining to your sample, such as the: in the sample viewer: - left-click and drag to select a region of the sample. -- right-click for an editing menu: +- right-click to display a menu: - **cut**: puts the selection in the sample clipboard and deletes it from the sample. - **copy**: copies the selection into the sample clipboard. - **paste**: inserts the sample clipboard at the start of the selection. From 47e5aa2d84ea8c70ea5f169b72a0c089d13045a7 Mon Sep 17 00:00:00 2001 From: tildearrow Date: Wed, 1 Nov 2023 13:48:17 -0500 Subject: [PATCH 64/99] the default for -view is nothing --- src/main.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main.cpp b/src/main.cpp index 25bb1804d..983d49bc1 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -370,7 +370,7 @@ void initParams() { params.push_back(TAParam("C","cmdout",true,pCmdOut,"","output command stream")); params.push_back(TAParam("b","binary",false,pBinary,"","set command stream output format to binary")); params.push_back(TAParam("L","loglevel",true,pLogLevel,"debug|info|warning|error","set the log level (info by default)")); - params.push_back(TAParam("v","view",true,pView,"pattern|commands|nothing","set visualization (pattern by default)")); + params.push_back(TAParam("v","view",true,pView,"pattern|commands|nothing","set visualization (nothing by default)")); params.push_back(TAParam("i","info",false,pInfo,"","get info about a song")); params.push_back(TAParam("c","console",false,pConsole,"","enable console mode")); From 2e3ee3a1c370ea724f92cc684d2fde6deddd3cf7 Mon Sep 17 00:00:00 2001 From: Electric Keet Date: Wed, 1 Nov 2023 12:02:21 -0700 Subject: [PATCH 65/99] Initial command line docs. --- doc/7-systems/commandline.md | 38 ++++++++++++++++++++++++++++++++++++ doc/8-advanced/README.md | 4 ++++ 2 files changed, 42 insertions(+) create mode 100644 doc/7-systems/commandline.md diff --git a/doc/7-systems/commandline.md b/doc/7-systems/commandline.md new file mode 100644 index 000000000..074614288 --- /dev/null +++ b/doc/7-systems/commandline.md @@ -0,0 +1,38 @@ +# command line + +to start furnace at the command line, use the following format: + +`furnace [params] [filename]` + +the following parameters may be used: + +- `-help`: display help. +- `-audio `: set audio engine to one of the following: + - `jack`: JACK. only on Linux. + - `sdl`: SDL. default. + - `portaudio`: PortAudio. +- `-output `: output audio to `filename`. +- `-vgmout `: output .vgm data to `filename`. +- `-direct`: set VGM export direct stream mode. +- `-zsmout `: output .zsm data for Commander X16 Zsound. +- `-cmdout `: output command stream. +- `-binary`: set command stream output format to binary. +- `-loglevel `: set the logging level to one of the following: + - `error`: critical errors only. + - `warning`: errors and warnings. + - `info`: errors, warnings, and useful information. default. + - `debug`: most verbose, with all of the above and more. +- `-view `: set visualization of data to one of the following: + - `pattern`: order and pattern. + - `commands`: commands. + - `nothing`: no visualization. default. +- `-info`: get info about a song. +- `-console`: enable console mode. +- `-loops `: set number of loops. `-1` means loop forever. +- `-subsong `: set sub-song. +- `-outmode one|persys|perchan`: set file output mode: all in one file, one file per chip, or one file per channel. default is `one`. +- `-safemode`: enable safe mode (software rendering without audio). +- `-safeaudio`: enable safe mode (software rendering with audio). +- `-benchmark render|seek`: run performance test. +- `-version`: view information about Furnace. +- `-warranty`: view warranty disclaimer. diff --git a/doc/8-advanced/README.md b/doc/8-advanced/README.md index 16d83afa8..129a888c9 100644 --- a/doc/8-advanced/README.md +++ b/doc/8-advanced/README.md @@ -23,3 +23,7 @@ as listed in the "Window" menu: - [register view](regview.md) - [log viewer](log-viewer.md) - [stats](stats.md) + +at the command line: + +- [command line](commandline.md) \ No newline at end of file From f46d2418d24fa6101e62d46d3b8e5c567823e30d Mon Sep 17 00:00:00 2001 From: Electric Keet Date: Wed, 1 Nov 2023 14:59:13 -0700 Subject: [PATCH 66/99] Moving the file back to the correct spot. How the heck... ah well, it's fixed now. --- doc/{7-systems => 8-advanced}/commandline.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename doc/{7-systems => 8-advanced}/commandline.md (100%) diff --git a/doc/7-systems/commandline.md b/doc/8-advanced/commandline.md similarity index 100% rename from doc/7-systems/commandline.md rename to doc/8-advanced/commandline.md From 33c607df25a43c0e64c581e707064b3e7b6ff11b Mon Sep 17 00:00:00 2001 From: Electric Keet Date: Wed, 1 Nov 2023 15:22:05 -0700 Subject: [PATCH 67/99] More final adjustments! --- doc/4-instrument/README.md | 2 +- doc/6-sample/README.md | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/doc/4-instrument/README.md b/doc/4-instrument/README.md index f290287b5..b85c957e5 100644 --- a/doc/4-instrument/README.md +++ b/doc/4-instrument/README.md @@ -116,7 +116,7 @@ arpeggio macros have a short bar for setting whether to interpret the values as - values are counted from `C-0`. for example, a fixed value of 48 produces a `C-4` note. - fixed values are especially useful for noise instruments with preset periods. -below this is a short bar that controls looping. +below this is a short bar that controls macro loop and release. - click to set the start point of a loop; the end point is the last value or release point. it appears as half-height bars. right-click to remove the loop. - shift-click to set the release point. when played, the macro will hold here until the note is released. it appears as a full-height bar. right-click to remove the release point. diff --git a/doc/6-sample/README.md b/doc/6-sample/README.md index 26b4d2c61..a6129b41a 100644 --- a/doc/6-sample/README.md +++ b/doc/6-sample/README.md @@ -167,6 +167,6 @@ in the sample viewer: - **copy**: copies the selection into the sample clipboard. - **paste**: inserts the sample clipboard at the start of the selection. - **paste (replace)**: replaces the selection with the sample clipboard. - - **paste (mix)**: mixes the sample clipboard into the existing sample, beginning at the start of the selection. this is done by adding values together. resulting in a mix of 100% each original and pasted. - - **set loop to selection**: changes loop start and end to match selection start and end. + - **paste (mix)**: mixes the sample clipboard into the existing sample, beginning at the start of the selection. + - **set loop to selection**: changes loop region to match selection. - **create wavetable from selection**: copies the selection into a new wavetable entry. From a2be33396cd96f6711e7578c1647827a674bd26c Mon Sep 17 00:00:00 2001 From: Electric Keet Date: Wed, 1 Nov 2023 15:23:49 -0700 Subject: [PATCH 68/99] Adjustments to channel status docs. --- doc/3-pattern/README.md | 19 +++++++++++-------- doc/7-systems/c64.md | 4 ++-- doc/7-systems/pce.md | 2 +- doc/7-systems/snes.md | 2 +- doc/7-systems/wonderswan.md | 2 +- 5 files changed, 16 insertions(+), 13 deletions(-) diff --git a/doc/3-pattern/README.md b/doc/3-pattern/README.md index 89e1f6e5d..d9dcb0121 100644 --- a/doc/3-pattern/README.md +++ b/doc/3-pattern/README.md @@ -38,16 +38,21 @@ clicking on a channel name mutes that channel. double-clicking or right-clicking it enables solo mode, in which only that channel will be audible. -clicking the `++` at the top left corner of the pattern view pops up a small dialog to set view modes: -- **Effect columns/collapse**: as shown above. adds buttons: +clicking the `++` at the top left corner of the pattern view pops up a small menu to set view modes: +- **Effect columns/collapse**: as shown above. adds the following buttons beneath the channel name: - **-**: collapse visible columns. changes to **+** when columns are hidden; click to expand them. - **<**: disables the last effect column and hides it. effects are not deleted... - **>**: adds an effects column. if one previously existed, its contents will be preserved. - **Pattern names**: displays pattern names (per channel). pattern names are also visible when hovering over a pattern in the order list. -- **Channel group hints**: display indicators beneath the names of channels that function together in some way. -- **Visualizer**: during playback, show visual effects depending on activity in each channel. - - also can be toggled by a right-click on the `++` button. -- **Channel status**: a bar with icons that indicate activity in the channel. +- **Channel group hints**: display indicators when channels are paired in some way (e.g. OPL3 4-op mode). +- **Visualizer**: during playback, show visual effects in the pattern view. + - also can be toggled by right-clicking on the `++` button. +- **Channel status**: displays icons that indicate activity in the channel. see the "channel status" section below. + +to rename and/or hide channels, open [the Channels window](../8-advanced/channels.md) via the window menu. + +### channel status + - note status: - ![note off](status-note-off.png) note off - ![note on](status-note-on.png) note on @@ -66,8 +71,6 @@ clicking the `++` at the top left corner of the pattern view pops up a small dia - ![tremolo](status-volume-tremolo.png) tremolo - other icons depending on chip. -to rename and/or hide channels, open [the Channels window](../8-advanced/channels.md) via the window menu. - ## input diff --git a/doc/7-systems/c64.md b/doc/7-systems/c64.md index ba1d0fcf0..8df123e42 100644 --- a/doc/7-systems/c64.md +++ b/doc/7-systems/c64.md @@ -71,10 +71,10 @@ this chip uses the [C64](../4-instrument/c64.md) instrument editor. ## channel status -when enabled, channel status will show an additional icon representing whether currently playing note is audible, and if not, why it is muted: +when enabled, channel status will show an additional icon representing whether currently playing note is audible, and if not, the reason it is muted: - ![not muted](status-C64-none.png) not muted - ![gate bit disabled](status-C64-gate-off.png) gate bit disabled - ![gate bit disabled and test bit enabled](status-C64-gate-off-test-on.png) gate bit disabled and test bit enabled -- ![text bit enabled](status-C64-test-on.png) text bit enabled +- ![text bit enabled](status-C64-test-on.png) test bit enabled - ![ch3off enabled in filter mode](status-C64-ch3off.png) ch3off enabled in filter mode diff --git a/doc/7-systems/pce.md b/doc/7-systems/pce.md index 9948f21e7..01e0f5978 100644 --- a/doc/7-systems/pce.md +++ b/doc/7-systems/pce.md @@ -27,6 +27,6 @@ this chip uses the [PC Engine](../4-instrument/pce.md) instrument editor. ## channel status -when enabled, channel status will show an additional icon representing the noise mode of the currently playing note: +when enabled, channel status will show an additional icon representing whether noise mode is enabled: - ![noise mode off](status-PCE-noise-off.png) noise mode off - ![noise mode on](status-PCE-noise-on.png) noise mode on diff --git a/doc/7-systems/snes.md b/doc/7-systems/snes.md index a8414f87f..2c45a4a05 100644 --- a/doc/7-systems/snes.md +++ b/doc/7-systems/snes.md @@ -67,7 +67,7 @@ this chip uses the [SNES](../4-instrument/snes.md) instrument editor. ## channel status -when enabled, channel status will show an additional icon representing the gain mode and envelope status of the currently playing note: +when enabled, channel status will show an additional icon representing the gain mode or envelope status of the currently playing note: - ![direct gain, envelope off](status-SNES-gain-direct.png) direct gain, envelope off - ![linear gain decrease](status-SNES-gain-dec-lin.png) linear gain decrease - ![logarithmic gain decrease](status-SNES-gain-dec-log.png) logarithmic gain decrease diff --git a/doc/7-systems/wonderswan.md b/doc/7-systems/wonderswan.md index 287ca7136..34984be22 100644 --- a/doc/7-systems/wonderswan.md +++ b/doc/7-systems/wonderswan.md @@ -27,7 +27,7 @@ this chip uses the [WonderSwan](../4-instrument/wonderswan.md) instrument editor ## channel status -when enabled, channel status will show an additional icon representing the mode of the currently playing note: +when enabled, channel status will show an additional icon representing channel mode: - ![PCM mode off](status-Swan-PCM-off.png) PCM mode off - ![PCM mode on](status-Swan-PCM-on.png) PCM mode on From 0e0b4da13b57a477aff94e47b1fdfc2896567944 Mon Sep 17 00:00:00 2001 From: Electric Keet Date: Wed, 1 Nov 2023 16:11:32 -0700 Subject: [PATCH 69/99] More fixes to command line doc. --- doc/8-advanced/commandline.md | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/doc/8-advanced/commandline.md b/doc/8-advanced/commandline.md index 074614288..6a85fc3f7 100644 --- a/doc/8-advanced/commandline.md +++ b/doc/8-advanced/commandline.md @@ -1,6 +1,6 @@ # command line -to start furnace at the command line, use the following format: +to start Furnace at the command line, use the following command (may vary by operating system): `furnace [params] [filename]` @@ -8,10 +8,10 @@ the following parameters may be used: - `-help`: display help. - `-audio `: set audio engine to one of the following: - - `jack`: JACK. only on Linux. + - `jack`: JACK Audio Connection Kit. only on Linux. - `sdl`: SDL. default. - `portaudio`: PortAudio. -- `-output `: output audio to `filename`. +- `-output `: export audio to `filename`. - `-vgmout `: output .vgm data to `filename`. - `-direct`: set VGM export direct stream mode. - `-zsmout `: output .zsm data for Commander X16 Zsound. @@ -20,8 +20,9 @@ the following parameters may be used: - `-loglevel `: set the logging level to one of the following: - `error`: critical errors only. - `warning`: errors and warnings. - - `info`: errors, warnings, and useful information. default. - - `debug`: most verbose, with all of the above and more. + - `info`: errors, warnings, and useful information. + - `debug`: all of the above and information useful for debugging. + - `trace`: most verbose. includes details of inner workings. default. - `-view `: set visualization of data to one of the following: - `pattern`: order and pattern. - `commands`: commands. @@ -34,5 +35,5 @@ the following parameters may be used: - `-safemode`: enable safe mode (software rendering without audio). - `-safeaudio`: enable safe mode (software rendering with audio). - `-benchmark render|seek`: run performance test. -- `-version`: view information about Furnace. +- `-version`: version information. - `-warranty`: view warranty disclaimer. From 18a2e628ea0fc16bc60f038c39b444bc352f5244 Mon Sep 17 00:00:00 2001 From: tildearrow Date: Wed, 1 Nov 2023 18:37:28 -0500 Subject: [PATCH 70/99] fix the doc --- doc/3-pattern/README.md | 38 ++++++++++++++++++------------------- doc/7-systems/c64.md | 13 +++++++------ doc/7-systems/pce.md | 8 +++++--- doc/7-systems/snes.md | 22 +++++++++++---------- doc/7-systems/wonderswan.md | 17 ++++++++++------- 5 files changed, 53 insertions(+), 45 deletions(-) diff --git a/doc/3-pattern/README.md b/doc/3-pattern/README.md index d9dcb0121..31713ea64 100644 --- a/doc/3-pattern/README.md +++ b/doc/3-pattern/README.md @@ -39,10 +39,10 @@ clicking on a channel name mutes that channel. double-clicking or right-clicking it enables solo mode, in which only that channel will be audible. clicking the `++` at the top left corner of the pattern view pops up a small menu to set view modes: -- **Effect columns/collapse**: as shown above. adds the following buttons beneath the channel name: +- **Effect columns/collapse**: displays extra options for collapsing channels and adding/removing effect columns: - **-**: collapse visible columns. changes to **+** when columns are hidden; click to expand them. - **<**: disables the last effect column and hides it. effects are not deleted... - - **>**: adds an effects column. if one previously existed, its contents will be preserved. + - **>**: adds an effect column. if one previously existed, its contents will be preserved. - **Pattern names**: displays pattern names (per channel). pattern names are also visible when hovering over a pattern in the order list. - **Channel group hints**: display indicators when channels are paired in some way (e.g. OPL3 4-op mode). - **Visualizer**: during playback, show visual effects in the pattern view. @@ -53,23 +53,23 @@ to rename and/or hide channels, open [the Channels window](../8-advanced/channel ### channel status - - note status: - - ![note off](status-note-off.png) note off - - ![note on](status-note-on.png) note on - - ![note on, macro released](status-note-on-rel.png) note on, macro released - - ![note released](status-note-off-rel.png) note released - - pitch effect: - - ![no effect](status-pitch-none.png) no effect - - ![pitch up](status-pitch-up.png) pitch up - - ![pitch down](status-pitch-down.png) pitch down - - ![portamento](status-pitch-porta.png) portamento - - ![arpeggio](status-pitch-arpeg.png) arpeggio - - volume effect: - - ![no effect](status-volume-none.png) no effect - - ![volume up](status-volume-up.png) volume up - - ![volume down](status-volume-down.png) volume down - - ![tremolo](status-volume-tremolo.png) tremolo - - other icons depending on chip. +- note status: + - ![note off](status-note-off.png) note off + - ![note on](status-note-on.png) note on + - ![macro released](status-note-on-rel.png) note on but macro released (`REL`) + - ![note released](status-note-off-rel.png) note released (`===`) +- pitch alteration: + - ![no effect](status-pitch-none.png) nothing + - ![pitch up](status-pitch-up.png) pitch slide up + - ![pitch down](status-pitch-down.png) pitch slide down + - ![portamento](status-pitch-porta.png) portamento + - ![arpeggio](status-pitch-arpeg.png) arpeggio +- volume alteration: + - ![no effect](status-volume-none.png) nothing + - ![volume up](status-volume-up.png) volume slide up + - ![volume down](status-volume-down.png) volume slide down + - ![tremolo](status-volume-tremolo.png) tremolo +- other icons may be present depending on the used chips. ## input diff --git a/doc/7-systems/c64.md b/doc/7-systems/c64.md index 8df123e42..97b434e75 100644 --- a/doc/7-systems/c64.md +++ b/doc/7-systems/c64.md @@ -71,10 +71,11 @@ this chip uses the [C64](../4-instrument/c64.md) instrument editor. ## channel status -when enabled, channel status will show an additional icon representing whether currently playing note is audible, and if not, the reason it is muted: +the following icons are displayed when channel status is enabled in the pattern view: -- ![not muted](status-C64-none.png) not muted -- ![gate bit disabled](status-C64-gate-off.png) gate bit disabled -- ![gate bit disabled and test bit enabled](status-C64-gate-off-test-on.png) gate bit disabled and test bit enabled -- ![text bit enabled](status-C64-test-on.png) test bit enabled -- ![ch3off enabled in filter mode](status-C64-ch3off.png) ch3off enabled in filter mode +- channel is silent: + - ![not muted](status-C64-none.png) it's not + - ![gate bit disabled](status-C64-gate-off.png) gate bit disabled + - ![gate bit disabled and test bit enabled](status-C64-gate-off-test-on.png) gate bit disabled and test bit enabled + - ![text bit enabled](status-C64-test-on.png) test bit enabled + - ![ch3off enabled in filter mode](status-C64-ch3off.png) ch3off enabled in filter mode diff --git a/doc/7-systems/pce.md b/doc/7-systems/pce.md index 01e0f5978..15eda9551 100644 --- a/doc/7-systems/pce.md +++ b/doc/7-systems/pce.md @@ -27,6 +27,8 @@ this chip uses the [PC Engine](../4-instrument/pce.md) instrument editor. ## channel status -when enabled, channel status will show an additional icon representing whether noise mode is enabled: -- ![noise mode off](status-PCE-noise-off.png) noise mode off -- ![noise mode on](status-PCE-noise-on.png) noise mode on +the following icons are displayed when channel status is enabled in the pattern view: + +- noise mode (channels 5 and 6 only): + - ![noise mode off](status-PCE-noise-off.png) off + - ![noise mode on](status-PCE-noise-on.png) on diff --git a/doc/7-systems/snes.md b/doc/7-systems/snes.md index 2c45a4a05..d10b20c39 100644 --- a/doc/7-systems/snes.md +++ b/doc/7-systems/snes.md @@ -67,16 +67,18 @@ this chip uses the [SNES](../4-instrument/snes.md) instrument editor. ## channel status -when enabled, channel status will show an additional icon representing the gain mode or envelope status of the currently playing note: -- ![direct gain, envelope off](status-SNES-gain-direct.png) direct gain, envelope off -- ![linear gain decrease](status-SNES-gain-dec-lin.png) linear gain decrease -- ![logarithmic gain decrease](status-SNES-gain-dec-log.png) logarithmic gain decrease -- ![linear gain increase](status-SNES-gain-inc-lin.png) linear gain increase -- ![bent-line gain increase](status-SNES-gain-inc-bent.png) bent-line gain increase -- ![envelope attack](status-SNES-env-A.png) envelope attack -- ![envelope decay](status-SNES-env-D.png) envelope decay -- ![envelope sustain](status-SNES-env-S.png) envelope sustain -- ![envelope release](status-SNES-env-R.png) envelope release +the following icons are displayed when channel status is enabled in the pattern view: + +- envelope/gain status: + - ![direct gain, envelope off](status-SNES-gain-direct.png) direct gain + - ![linear gain decrease](status-SNES-gain-dec-lin.png) linear gain decrease + - ![logarithmic gain decrease](status-SNES-gain-dec-log.png) logarithmic gain decrease + - ![linear gain increase](status-SNES-gain-inc-lin.png) linear gain increase + - ![bent-line gain increase](status-SNES-gain-inc-bent.png) bent-line gain increase + - ![envelope attack](status-SNES-env-A.png) envelope attack + - ![envelope decay](status-SNES-env-D.png) envelope decay + - ![envelope sustain](status-SNES-env-S.png) envelope sustain + - ![envelope release](status-SNES-env-R.png) envelope release ## ADSR diff --git a/doc/7-systems/wonderswan.md b/doc/7-systems/wonderswan.md index 34984be22..2ff7ac961 100644 --- a/doc/7-systems/wonderswan.md +++ b/doc/7-systems/wonderswan.md @@ -27,11 +27,14 @@ this chip uses the [WonderSwan](../4-instrument/wonderswan.md) instrument editor ## channel status -when enabled, channel status will show an additional icon representing channel mode: +the following icons are displayed when channel status is enabled in the pattern view: -- ![PCM mode off](status-Swan-PCM-off.png) PCM mode off -- ![PCM mode on](status-Swan-PCM-on.png) PCM mode on -- ![sweep mode off](status-Swan-sweep-off.png) sweep mode off -- ![sweep mode on](status-Swan-sweep-on.png) sweep mode on -- ![noise mode off](status-Swan-noise-off.png) noise mode off -- ![noise mode on](status-Swan-noise-on.png) noise mode on +- PCM mode (channel 2): + - ![PCM mode off](status-Swan-PCM-off.png) off + - ![PCM mode on](status-Swan-PCM-on.png) on +- sweep (channel 3): + - ![sweep mode off](status-Swan-sweep-off.png) disabled + - ![sweep mode on](status-Swan-sweep-on.png) enabled +- noise mode (channel 4): + - ![noise mode off](status-Swan-noise-off.png) off + - ![noise mode on](status-Swan-noise-on.png) on From 72e37e33b4fe31720c222dc1fecb536a3a6c3247 Mon Sep 17 00:00:00 2001 From: tildearrow Date: Wed, 1 Nov 2023 18:37:34 -0500 Subject: [PATCH 71/99] prepare to make sure the user really fixes macOS --- res/macLicense/en.license.txt | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/res/macLicense/en.license.txt b/res/macLicense/en.license.txt index d159169d1..98c4f2f28 100644 --- a/res/macLicense/en.license.txt +++ b/res/macLicense/en.license.txt @@ -1,3 +1,24 @@ +YOU SHALL READ THE FOLLOWING TEXT BEFORE PROCEEDING!!! +IF YOU DO NOT READ IT, YOU MAY NOT BE ABLE TO USE FURNACE AT ALL. + + +if you are using a recent version of macOS, you may get an error saying that Furnace is damaged. +in that case, open Terminal, and type this: + +``` +xattr -d com.apple.quarantine /path/to/Furnace.app +``` + +(replace `/path/to/Furnace.app` with the path where Furnace.app is located, e.g. `/Applications/Furnace.app`) + +you may need to reboot after doing this before launching Furnace. + +END OF MACOS ISSUE ACKNOWLEDGEMENT - license text follows. + +------------------ + + + GNU GENERAL PUBLIC LICENSE Version 2, June 1991 From ff9078d59f0fe53422e89ee1ac3836800a1b383e Mon Sep 17 00:00:00 2001 From: tildearrow Date: Wed, 1 Nov 2023 19:09:30 -0500 Subject: [PATCH 72/99] fix command line doc --- doc/8-advanced/README.md | 4 +- doc/8-advanced/command-line.md | 100 +++++++++++++++++++++++++++++++++ doc/8-advanced/commandline.md | 39 ------------- src/main.cpp | 2 +- 4 files changed, 103 insertions(+), 42 deletions(-) create mode 100644 doc/8-advanced/command-line.md delete mode 100644 doc/8-advanced/commandline.md diff --git a/doc/8-advanced/README.md b/doc/8-advanced/README.md index 129a888c9..97ecd6f2c 100644 --- a/doc/8-advanced/README.md +++ b/doc/8-advanced/README.md @@ -24,6 +24,6 @@ as listed in the "Window" menu: - [log viewer](log-viewer.md) - [stats](stats.md) -at the command line: +other: -- [command line](commandline.md) \ No newline at end of file +- [command line usage](command-line.md) diff --git a/doc/8-advanced/command-line.md b/doc/8-advanced/command-line.md new file mode 100644 index 000000000..cc5d4f0df --- /dev/null +++ b/doc/8-advanced/command-line.md @@ -0,0 +1,100 @@ +# command line usage + +## NAME + +Furnace - a chiptune tracker + +## SYNOPSIS + +`furnace [params...] [file]` + +## DESCRIPTION + +Furnace is a chiptune tracker that supports many systems and sound chips from the 8/16-bit era. +even though it is primarily controlled by using its graphical user interface, Furnace also offers a command line interface, which is described here. + +## USAGE + +starting Furnace without arguments will start the graphical user interface (GUI), as long as Furnace has been compiled with GUI enabled. + +passing the path to a file will open that file at start-up. if Furnace cannot open that file, it will report an error and quit. + +the following parameters may be used: + +**general** + +- `-help`: display the following help. +- `-console`: enable command-line interface (CLI) player. + - see the COMMAND LINE INTERFACE section for more information +- `-loglevel `: set the logging level to one of the following: + - `error`: critical errors only + - `warning`: errors and warnings + - `info`: errors, warnings, and useful information + - `debug`: all of the above, including debug information + - `trace`: like debug, but with even more details (default) + +- `-info`: get information about a song. + - you must provide a file, otherwise Furnace will quit. + +- `-version`: display version information. +- `-warranty`: view warranty disclaimer. + +**engine** + +- `-audio sdl|jack|portaudio`: override audio backend to one of the following: + - `sdl`: SDL (default) + - `jack`: JACK Audio Connection Kit + - `portaudio`: PortAudio +- `-view `: set visualization of data to one of the following: + - `pattern`: order and pattern + - `commands`: engine commands + - `nothing`: guess (default) +- `-loops `: set number of loops + - `-1` means loop forever. +- `-subsong `: set sub-song to play. +- `-safemode`: enable safe mode (software rendering without audio). +- `-safeaudio`: enable safe mode (software rendering with audio). +- `-benchmark render|seek`: run performance test and output total time. + - `render`: measure render time + - `seek`: measure time to seek through the entire song + - you must provide a file, otherwise Furnace will quit. + +**audio export** + +- `-output path`: export audio in .wav format to `path`. + - you must provide a file, otherwise Furnace will quit. +- `-outmode one|persys|perchan`: set audio export output mode. + - `one`: single file (default) + - `persys`: one file per chip (`_sXX` will be appended to file name, where `XX` is the chip number) + - `perchan`: one file per channel (`_cXX` will be appended to file name, where `XX` is the channel number) + +**VGM export** + +- `-vgmout path`: output VGM data to `path`. + - you must provide a file, otherwise Furnace will quit. +- `-direct`: enable VGM export direct stream mode. + - this mode is useful for DualPCM export. + - note that this will increase file size by a huge amount! + +**export (other)** + +- `-zsmout path`: output Zsound Music data for Commander X16. + - you must provide a file, otherwise Furnace will quit. + +- `-cmdout path`: output command stream dump to `path`. + - you must provide a file, otherwise Furnace will quit. +- `-binary`: set command stream output format to binary. + +## COMMAND LINE INTERFACE + +Furnace provides a command-line interface (CLI) player which may be activated through the `-console` option. + +the following controls may be used: + +- `Left`/`H`: go to previous order. +- `Right`/`L`: go to next order. +- `Space`: pause/resume playback. + +## SEE ALSO + +the Furnace user manual in the `manual.pdf` file. diff --git a/doc/8-advanced/commandline.md b/doc/8-advanced/commandline.md deleted file mode 100644 index 6a85fc3f7..000000000 --- a/doc/8-advanced/commandline.md +++ /dev/null @@ -1,39 +0,0 @@ -# command line - -to start Furnace at the command line, use the following command (may vary by operating system): - -`furnace [params] [filename]` - -the following parameters may be used: - -- `-help`: display help. -- `-audio `: set audio engine to one of the following: - - `jack`: JACK Audio Connection Kit. only on Linux. - - `sdl`: SDL. default. - - `portaudio`: PortAudio. -- `-output `: export audio to `filename`. -- `-vgmout `: output .vgm data to `filename`. -- `-direct`: set VGM export direct stream mode. -- `-zsmout `: output .zsm data for Commander X16 Zsound. -- `-cmdout `: output command stream. -- `-binary`: set command stream output format to binary. -- `-loglevel `: set the logging level to one of the following: - - `error`: critical errors only. - - `warning`: errors and warnings. - - `info`: errors, warnings, and useful information. - - `debug`: all of the above and information useful for debugging. - - `trace`: most verbose. includes details of inner workings. default. -- `-view `: set visualization of data to one of the following: - - `pattern`: order and pattern. - - `commands`: commands. - - `nothing`: no visualization. default. -- `-info`: get info about a song. -- `-console`: enable console mode. -- `-loops `: set number of loops. `-1` means loop forever. -- `-subsong `: set sub-song. -- `-outmode one|persys|perchan`: set file output mode: all in one file, one file per chip, or one file per channel. default is `one`. -- `-safemode`: enable safe mode (software rendering without audio). -- `-safeaudio`: enable safe mode (software rendering with audio). -- `-benchmark render|seek`: run performance test. -- `-version`: version information. -- `-warranty`: view warranty disclaimer. diff --git a/src/main.cpp b/src/main.cpp index 983d49bc1..e5dc006bd 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -554,7 +554,7 @@ int main(int argc, char** argv) { if (safeMode && (consoleMode || benchMode || infoMode || outName!="" || vgmOutName!="" || cmdOutName!="")) { logE("you can't use safe mode and console/export mode together."); - return 0; + return 1; } if (safeMode && !safeModeWithAudio) { From 4bc5f49fe60e254ffa99da79449c84d21185d3a2 Mon Sep 17 00:00:00 2001 From: tildearrow Date: Wed, 1 Nov 2023 20:43:48 -0500 Subject: [PATCH 73/99] prepare for volume handling refactor --- src/engine/chipUtils.h | 3 +- src/engine/platform/es5506.cpp | 38 +- src/engine/platform/es5506.h | 4 +- src/gui/debug.cpp | 859 +-------------------------------- 4 files changed, 25 insertions(+), 879 deletions(-) diff --git a/src/engine/chipUtils.h b/src/engine/chipUtils.h index 4ddc0738d..7607193bb 100644 --- a/src/engine/chipUtils.h +++ b/src/engine/chipUtils.h @@ -30,7 +30,7 @@ template struct SharedChannel { int freq, baseFreq, baseNoteOverride, pitch, pitch2, arpOff; int ins, note; - bool active, insChanged, freqChanged, fixedArp, keyOn, keyOff, portaPause, inPorta; + bool active, insChanged, freqChanged, fixedArp, keyOn, keyOff, portaPause, inPorta, volChanged; T vol, outVol; DivMacroInt std; void handleArp(int offset=0) { @@ -79,6 +79,7 @@ template struct SharedChannel { keyOff(false), portaPause(false), inPorta(false), + volChanged(false), vol(initVol), outVol(initVol), std() {} diff --git a/src/engine/platform/es5506.cpp b/src/engine/platform/es5506.cpp index 64aca0be5..2881bbc42 100644 --- a/src/engine/platform/es5506.cpp +++ b/src/engine/platform/es5506.cpp @@ -191,22 +191,22 @@ void DivPlatformES5506::tick(bool sysTick) { const int nextVol=VOL_SCALE_LOG((0xfff*chan[i].vol)/0xff,(0xfff*chan[i].std.vol.val)/chan[i].volMacroMax,0xfff); if (chan[i].outVol!=nextVol) { chan[i].outVol=nextVol; - chan[i].volChanged.lVol=1; - chan[i].volChanged.rVol=1; + chan[i].volChangedES.lVol=1; + chan[i].volChangedES.rVol=1; } } if (chan[i].std.panL.had) { const int nextLVol=VOL_SCALE_LOG((0xfff*chan[i].lVol)/0xff,(0xfff*chan[i].std.panL.val)/chan[i].panMacroMax,0xfff); if (chan[i].outLVol!=nextLVol) { chan[i].outLVol=nextLVol; - chan[i].volChanged.lVol=1; + chan[i].volChangedES.lVol=1; } } if (chan[i].std.panR.had) { const int nextRVol=VOL_SCALE_LOG((0xfff*chan[i].rVol)/0xff,(0xfff*chan[i].std.panR.val)/chan[i].panMacroMax,0xfff); if (chan[i].outRVol!=nextRVol) { chan[i].outRVol=nextRVol; - chan[i].volChanged.rVol=1; + chan[i].volChangedES.rVol=1; } } // arpeggio/pitch macros, frequency related @@ -340,7 +340,7 @@ void DivPlatformES5506::tick(bool sysTick) { if (chan[i].ca!=ca) { chan[i].ca=ca; if (!chan[i].keyOn) { - chan[i].volChanged.ca=1; + chan[i].volChangedES.ca=1; } } } @@ -360,9 +360,9 @@ void DivPlatformES5506::tick(bool sysTick) { } } // update registers - if (chan[i].volChanged.changed) { + if (chan[i].volChangedES.changed) { // calculate volume (16 bit) - if (chan[i].volChanged.lVol) { + if (chan[i].volChangedES.lVol) { chan[i].resLVol=VOL_SCALE_LOG(chan[i].outVol,chan[i].outLVol,0xfff); chan[i].resLVol-=volScale; if (chan[i].resLVol<0) chan[i].resLVol=0; @@ -371,7 +371,7 @@ void DivPlatformES5506::tick(bool sysTick) { pageWrite(0x00|i,0x02,chan[i].resLVol); } } - if (chan[i].volChanged.rVol) { + if (chan[i].volChangedES.rVol) { chan[i].resRVol=VOL_SCALE_LOG(chan[i].outVol,chan[i].outRVol,0xfff); chan[i].resRVol-=volScale; if (chan[i].resRVol<0) chan[i].resRVol=0; @@ -380,10 +380,10 @@ void DivPlatformES5506::tick(bool sysTick) { pageWrite(0x00|i,0x04,chan[i].resRVol); } } - if (chan[i].volChanged.ca) { + if (chan[i].volChangedES.ca) { pageWriteMask(0x00|i,0x5f,0x00,(chan[i].ca<<10),0x1c00); } - chan[i].volChanged.changed=0; + chan[i].volChangedES.changed=0; } if (chan[i].pcmChanged.changed) { if (chan[i].pcmChanged.index) { @@ -750,7 +750,7 @@ int DivPlatformES5506::dispatch(DivCommand c) { chan[c.chan].freqChanged=true; chan[c.chan].pcmChanged.changed=0xff; chan[c.chan].noteChanged.changed=0xff; - chan[c.chan].volChanged.changed=0xff; + chan[c.chan].volChangedES.changed=0xff; } if (!chan[c.chan].std.vol.will) { chan[c.chan].outVol=(0xfff*chan[c.chan].vol)/0xff; @@ -787,7 +787,7 @@ int DivPlatformES5506::dispatch(DivCommand c) { chan[c.chan].vol=c.value; if (!chan[c.chan].std.vol.has) { chan[c.chan].outVol=(0xfff*c.value)/0xff; - chan[c.chan].volChanged.changed=0xff; + chan[c.chan].volChangedES.changed=0xff; } } break; @@ -797,14 +797,14 @@ int DivPlatformES5506::dispatch(DivCommand c) { case DIV_CMD_PANNING: { if (chan[c.chan].ca!=0) { chan[c.chan].ca=0; - chan[c.chan].volChanged.ca=1; + chan[c.chan].volChangedES.ca=1; } // Left volume if (chan[c.chan].lVol!=c.value) { chan[c.chan].lVol=c.value; if (!chan[c.chan].std.panL.has) { chan[c.chan].outLVol=(0xfff*c.value)/0xff; - chan[c.chan].volChanged.lVol=1; + chan[c.chan].volChangedES.lVol=1; } } // Right volume @@ -812,7 +812,7 @@ int DivPlatformES5506::dispatch(DivCommand c) { chan[c.chan].rVol=c.value2; if (!chan[c.chan].std.panR.has) { chan[c.chan].outRVol=(0xfff*c.value2)/0xff; - chan[c.chan].volChanged.rVol=1; + chan[c.chan].volChangedES.rVol=1; } } break; @@ -821,7 +821,7 @@ int DivPlatformES5506::dispatch(DivCommand c) { unsigned char ca=CLAMP(c.value>>1,0,5); if (chan[c.chan].ca!=ca) { chan[c.chan].ca=ca; - chan[c.chan].volChanged.ca=1; + chan[c.chan].volChangedES.ca=1; } if ((c.value&1)==0) { // Left volume @@ -829,7 +829,7 @@ int DivPlatformES5506::dispatch(DivCommand c) { chan[c.chan].lVol=c.value2; if (!chan[c.chan].std.panL.has) { chan[c.chan].outLVol=(0xfff*c.value2)/0xff; - chan[c.chan].volChanged.lVol=1; + chan[c.chan].volChangedES.lVol=1; } } } @@ -839,7 +839,7 @@ int DivPlatformES5506::dispatch(DivCommand c) { chan[c.chan].rVol=c.value2; if (!chan[c.chan].std.panR.has) { chan[c.chan].outRVol=(0xfff*c.value2)/0xff; - chan[c.chan].volChanged.rVol=1; + chan[c.chan].volChangedES.rVol=1; } } } @@ -1041,7 +1041,7 @@ void DivPlatformES5506::forceIns() { chan[i].insChanged=true; chan[i].freqChanged=true; chan[i].noteChanged.changed=0xff; - chan[i].volChanged.changed=0xff; + chan[i].volChangedES.changed=0xff; chan[i].filterChanged.changed=0xff; chan[i].envChanged.changed=0xff; chan[i].pcmChanged.changed=0xff; diff --git a/src/engine/platform/es5506.h b/src/engine/platform/es5506.h index 6bac20c37..e02dd4116 100644 --- a/src/engine/platform/es5506.h +++ b/src/engine/platform/es5506.h @@ -97,7 +97,7 @@ class DivPlatformES5506: public DivDispatch, public es550x_intf { VolChanged() : changed(0) {} - } volChanged; + } volChangedES; struct FilterChanged { // Filter changed flags union { // pack flag bits in single byte @@ -198,7 +198,7 @@ class DivPlatformES5506: public DivDispatch, public es550x_intf { isReverseLoop(false), cr(0), noteChanged(NoteChanged()), - volChanged(VolChanged()), + volChangedES(VolChanged()), filterChanged(FilterChanged()), envChanged(EnvChanged()), pcmChanged(PCMChanged()), diff --git a/src/gui/debug.cpp b/src/gui/debug.cpp index df634f1e8..a799fd105 100644 --- a/src/gui/debug.cpp +++ b/src/gui/debug.cpp @@ -237,863 +237,8 @@ ImGui::TextColored(ch->mask?colorOn:colorOff,">> Mask"); void putDispatchChip(void* data, int type) { - ImVec4 colorOn=ImVec4(1.0f,1.0f,0.0f,1.0f); - ImVec4 colorOff=ImVec4(0.3f,0.3f,0.3f,1.0f); - switch (type) { - case DIV_SYSTEM_YM2612: - case DIV_SYSTEM_YM2612_EXT: - case DIV_SYSTEM_YM2612_DUALPCM: - case DIV_SYSTEM_YM2612_DUALPCM_EXT: { - GENESIS_CHIP_DEBUG; - break; - } - case DIV_SYSTEM_GENESIS: - case DIV_SYSTEM_GENESIS_EXT: { - GENESIS_CHIP_DEBUG; - SMS_CHIP_DEBUG; - break; - } - case DIV_SYSTEM_SMS: { - SMS_CHIP_DEBUG; - break; - } - case DIV_SYSTEM_YM2203: - case DIV_SYSTEM_YM2203_EXT: { - DivPlatformYM2203* ch=(DivPlatformYM2203*)data; - ImGui::Text("> YM2203"); - FM_OPN_CHIP_DEBUG; - ImGui::Text("- sampleBank: %d",ch->sampleBank); - ImGui::Text("- prescale: %d",ch->prescale); - FM_OPN_CHIP_DEBUG_BOOL; - ImGui::TextColored(ch->extMode?colorOn:colorOff,">> ExtMode"); - break; - } - case DIV_SYSTEM_YM2608: - case DIV_SYSTEM_YM2608_EXT: { - DivPlatformYM2608* ch=(DivPlatformYM2608*)data; - ImGui::Text("> YM2608"); - FM_OPN_CHIP_DEBUG; - ImGui::Text("- sampleBank: %d",ch->sampleBank); - ImGui::Text("- writeRSSOff: %d",ch->writeRSSOff); - ImGui::Text("- writeRSSOn: %d",ch->writeRSSOn); - ImGui::Text("- globalRSSVolume: %d",ch->globalRSSVolume); - ImGui::Text("- prescale: %d",ch->prescale); - FM_OPN_CHIP_DEBUG_BOOL; - ImGui::TextColored(ch->extMode?colorOn:colorOff,">> ExtMode"); - break; - } - case DIV_SYSTEM_YM2610: - case DIV_SYSTEM_YM2610_EXT: - case DIV_SYSTEM_YM2610_FULL: - case DIV_SYSTEM_YM2610_FULL_EXT: { - DivPlatformYM2610* ch=(DivPlatformYM2610*)data; - ImGui::Text("> YM2610"); - OPNB_CHIP_DEBUG; - break; - } - case DIV_SYSTEM_YM2610B: - case DIV_SYSTEM_YM2610B_EXT: { - DivPlatformYM2610B* ch=(DivPlatformYM2610B*)data; - ImGui::Text("> YM2610B"); - OPNB_CHIP_DEBUG; - break; - } - case DIV_SYSTEM_GB: { - DivPlatformGB* ch=(DivPlatformGB*)data; - ImGui::Text("> GameBoy"); - COMMON_CHIP_DEBUG; - ImGui::Text("- lastPan: %d",ch->lastPan); - ImGui::Text("- antiClickPeriodCount: %d",ch->antiClickPeriodCount); - ImGui::Text("- antiClickWavePos: %d",ch->antiClickWavePos); - COMMON_CHIP_DEBUG_BOOL; - ImGui::TextColored(ch->antiClickEnabled?colorOn:colorOff,">> AntiClickEnabled"); - break; - } - case DIV_SYSTEM_PCE: { - DivPlatformPCE* ch=(DivPlatformPCE*)data; - ImGui::Text("> PCEngine"); - COMMON_CHIP_DEBUG; - ImGui::Text("- lastPan: %d",ch->lastPan); - ImGui::Text("- cycles: %d",ch->cycles); - ImGui::Text("- curChan: %d",ch->curChan); - ImGui::Text("- delay: %d",ch->delay); - ImGui::Text("- sampleBank: %d",ch->sampleBank); - ImGui::Text("- lfoMode: %d",ch->lfoMode); - ImGui::Text("- lfoSpeed: %d",ch->lfoSpeed); - COMMON_CHIP_DEBUG_BOOL; - ImGui::TextColored(ch->antiClickEnabled?colorOn:colorOff,">> AntiClickEnabled"); - break; - } - case DIV_SYSTEM_NES: { - DivPlatformNES* ch=(DivPlatformNES*)data; - ImGui::Text("> NES"); - COMMON_CHIP_DEBUG; - ImGui::Text("* DAC:"); - ImGui::Text(" - Period: %d",ch->dacPeriod); - ImGui::Text(" - Rate: %d",ch->dacRate); - ImGui::Text(" - Pos: %d",ch->dacPos); - ImGui::Text(" - AntiClick: %d",ch->dacAntiClick); - ImGui::Text(" - Sample: %d",ch->dacSample); - ImGui::Text("- dpcmBank: %d",ch->dpcmBank); - ImGui::Text("- sampleBank: %d",ch->sampleBank); - ImGui::Text("- writeOscBuf: %d",ch->writeOscBuf); - ImGui::Text("- apuType: %d",ch->apuType); - COMMON_CHIP_DEBUG_BOOL; - ImGui::TextColored(ch->dpcmMode?colorOn:colorOff,">> DPCMMode"); - ImGui::TextColored(ch->dacAntiClickOn?colorOn:colorOff,">> DACAntiClickOn"); - ImGui::TextColored(ch->useNP?colorOn:colorOff,">> UseNP"); - ImGui::TextColored(ch->goingToLoop?colorOn:colorOff,">> GoingToLoop"); - break; - } - case DIV_SYSTEM_C64_6581: case DIV_SYSTEM_C64_8580: { - DivPlatformC64* ch=(DivPlatformC64*)data; - ImGui::Text("> C64"); - COMMON_CHIP_DEBUG; - ImGui::Text("- filtControl: %d",ch->filtControl); - ImGui::Text("- filtRes: %d",ch->filtRes); - ImGui::Text("- vol: %d",ch->vol); - ImGui::Text("- writeOscBuf: %d",ch->writeOscBuf); - ImGui::Text("- filtCut: %d",ch->filtCut); - ImGui::Text("- resetTime: %d",ch->resetTime); - COMMON_CHIP_DEBUG_BOOL; - break; - } - case DIV_SYSTEM_ARCADE: - case DIV_SYSTEM_YM2151: { - DivPlatformArcade* ch=(DivPlatformArcade*)data; - ImGui::Text("> YM2151"); - FM_CHIP_DEBUG; - ImGui::Text("- baseFreqOff: %d",ch->baseFreqOff); - ImGui::Text("- amDepth: %d",ch->amDepth); - ImGui::Text("- pmDepth: %d",ch->pmDepth); - FM_CHIP_DEBUG_BOOL; - ImGui::TextColored(ch->useYMFM?colorOn:colorOff,">> UseYMFM"); - break; - } - case DIV_SYSTEM_SEGAPCM: - case DIV_SYSTEM_SEGAPCM_COMPAT: { - DivPlatformSegaPCM* ch=(DivPlatformSegaPCM*)data; - ImGui::Text("> SegaPCM"); - COMMON_CHIP_DEBUG; - ImGui::Text("- delay: %d",ch->delay); - ImGui::Text("- pcmL: %d",ch->pcmL); - ImGui::Text("- pcmR: %d",ch->pcmR); - ImGui::Text("- pcmCycles: %d",ch->pcmCycles); - ImGui::Text("- sampleBank: %d",ch->sampleBank); - COMMON_CHIP_DEBUG_BOOL; - break; - } - case DIV_SYSTEM_AY8910: { - DivPlatformAY8910* ch=(DivPlatformAY8910*)data; - ImGui::Text("> AY-3-8910"); - COMMON_CHIP_DEBUG; - ImGui::Text("- sampleBank: %d",ch->sampleBank); - ImGui::Text("- stereoSep: %d",ch->stereoSep); - ImGui::Text("- delay: %d",ch->delay); - ImGui::Text("- extClock: %d",ch->extClock); - ImGui::Text("- extDiv: %d",ch->extDiv); - ImGui::Text("- portAVal: %d",ch->portAVal); - ImGui::Text("- portBVal: %d",ch->portBVal); - ImGui::Text("* envelope:"); - ImGui::Text(" - mode: %d",ch->ayEnvMode); - ImGui::Text(" - period: %d",ch->ayEnvPeriod); - ImGui::Text(" * slide: %d",ch->ayEnvSlide); - ImGui::Text(" - slideLow: %d",ch->ayEnvSlideLow); - COMMON_CHIP_DEBUG_BOOL; - ImGui::TextColored(ch->extMode?colorOn:colorOff,">> ExtMode"); - ImGui::TextColored(ch->stereo?colorOn:colorOff,">> Stereo"); - ImGui::TextColored(ch->sunsoft?colorOn:colorOff,">> Sunsoft"); - ImGui::TextColored(ch->intellivision?colorOn:colorOff,">> Intellivision"); - ImGui::TextColored(ch->clockSel?colorOn:colorOff,">> ClockSel"); - ImGui::TextColored(ch->ioPortA?colorOn:colorOff,">> IoPortA"); - ImGui::TextColored(ch->ioPortB?colorOn:colorOff,">> IoPortB"); - break; - } - case DIV_SYSTEM_AY8930: { - DivPlatformAY8930* ch=(DivPlatformAY8930*)data; - ImGui::Text("> AY8930"); - COMMON_CHIP_DEBUG; - ImGui::Text("* noise:"); - ImGui::Text(" - and: %d",ch->ayNoiseAnd); - ImGui::Text(" - or: %d",ch->ayNoiseOr); - ImGui::Text("- sampleBank: %d",ch->sampleBank); - ImGui::Text("- stereoSep: %d",ch->stereoSep); - ImGui::Text("- delay: %d",ch->delay); - ImGui::Text("- portAVal: %d",ch->portAVal); - ImGui::Text("- portBVal: %d",ch->portBVal); - COMMON_CHIP_DEBUG_BOOL; - ImGui::TextColored(ch->bank?colorOn:colorOff,">> Bank"); - ImGui::TextColored(ch->extMode?colorOn:colorOff,">> ExtMode"); - ImGui::TextColored(ch->stereo?colorOn:colorOff,">> Stereo"); - ImGui::TextColored(ch->clockSel?colorOn:colorOff,">> ClockSel"); - ImGui::TextColored(ch->ioPortA?colorOn:colorOff,">> IoPortA"); - ImGui::TextColored(ch->ioPortB?colorOn:colorOff,">> IoPortB"); - break; - } - case DIV_SYSTEM_QSOUND: { - DivPlatformQSound* ch=(DivPlatformQSound*)data; - ImGui::Text("> QSound"); - COMMON_CHIP_DEBUG; - ImGui::Text("* echo:"); - ImGui::Text(" - delay: %d",ch->echoDelay); - ImGui::Text(" - feedback: %d",ch->echoFeedback); - COMMON_CHIP_DEBUG_BOOL; - break; - } - case DIV_SYSTEM_X1_010: { - DivPlatformX1_010* ch=(DivPlatformX1_010*)data; - ImGui::Text("> X1-010"); - COMMON_CHIP_DEBUG; - ImGui::Text("- sampleBank: %d",ch->sampleBank); - ImGui::Text("- bankSlot: [%d,%d,%d,%d,%d,%d,%d,%d]",ch->bankSlot[0],ch->bankSlot[1],ch->bankSlot[2],ch->bankSlot[3],ch->bankSlot[4],ch->bankSlot[5],ch->bankSlot[6],ch->bankSlot[7]); - COMMON_CHIP_DEBUG_BOOL; - ImGui::TextColored(ch->stereo?colorOn:colorOff,">> Stereo"); - ImGui::TextColored(ch->isBanked?colorOn:colorOff,">> IsBanked"); - break; - } - case DIV_SYSTEM_N163: { - DivPlatformN163* ch=(DivPlatformN163*)data; - ImGui::Text("> N163"); - COMMON_CHIP_DEBUG; - ImGui::Text("- initChanMax: %d",ch->initChanMax); - ImGui::Text("- chanMax: %d",ch->chanMax); - ImGui::Text("- loadWave: %d",ch->loadWave); - ImGui::Text("- loadPos: %d",ch->loadPos); - COMMON_CHIP_DEBUG_BOOL; - ImGui::TextColored(ch->multiplex?colorOn:colorOff,">> Multiplex"); - break; - } - case DIV_SYSTEM_VRC6: { - DivPlatformVRC6* ch=(DivPlatformVRC6*)data; - ImGui::Text("> VRC6"); - COMMON_CHIP_DEBUG; - ImGui::Text("- sampleBank: %.2x",ch->sampleBank); - ImGui::Text("- writeOscBuf: %.2x",ch->writeOscBuf); - COMMON_CHIP_DEBUG_BOOL; - break; - } - case DIV_SYSTEM_LYNX: { - DivPlatformLynx* ch=(DivPlatformLynx*)data; - ImGui::Text("> Lynx"); - COMMON_CHIP_DEBUG; - COMMON_CHIP_DEBUG_BOOL; - break; - } - case DIV_SYSTEM_PCM_DAC: { - DivPlatformPCMDAC* ch=(DivPlatformPCMDAC*)data; - ImGui::Text("> PCM DAC"); - COMMON_CHIP_DEBUG; - ImGui::Text("- outDepth: %d",ch->outDepth); - COMMON_CHIP_DEBUG_BOOL; - ImGui::TextColored(ch->outStereo?colorOn:colorOff,">> OutStereo"); - break; - } - case DIV_SYSTEM_ES5506: { - DivPlatformES5506* ch=(DivPlatformES5506*)data; - ImGui::Text("> ES5506"); - COMMON_CHIP_DEBUG; - ImGui::Text("- cycle: %d",ch->cycle); - ImGui::Text("- curPage: %d",ch->curPage); - ImGui::Text("- volScale: %d",ch->volScale); - ImGui::Text("- maskedVal: %.2x",ch->maskedVal); - ImGui::Text("- irqv: %.2x",ch->irqv); - ImGui::Text("- curCR: %.8x",ch->curCR); - ImGui::Text("- initChanMax: %d",ch->initChanMax); - ImGui::Text("- chanMax: %d",ch->chanMax); - COMMON_CHIP_DEBUG_BOOL; - ImGui::TextColored(ch->isMasked?colorOn:colorOff,">> IsMasked"); - ImGui::TextColored(ch->isReaded?colorOn:colorOff,">> isReaded"); - ImGui::TextColored(ch->irqTrigger?colorOn:colorOff,">> IrqTrigger"); - break; - } - case DIV_SYSTEM_K007232: { - DivPlatformK007232* ch=(DivPlatformK007232*)data; - ImGui::Text("> K007232"); - COMMON_CHIP_DEBUG; - ImGui::Text("- delay: %.2x",ch->delay); - ImGui::Text("- lastLoop: %.2x",ch->lastLoop); - ImGui::Text("- lastVolume: %.2x",ch->lastVolume); - COMMON_CHIP_DEBUG_BOOL; - ImGui::TextColored(ch->stereo?colorOn:colorOff,">> Stereo"); - break; - } - case DIV_SYSTEM_GA20: { - DivPlatformGA20* ch=(DivPlatformGA20*)data; - ImGui::Text("> GA20"); - COMMON_CHIP_DEBUG; - ImGui::Text("- delay: %.2x",ch->delay); - COMMON_CHIP_DEBUG_BOOL; - break; - } - case DIV_SYSTEM_SM8521: { - DivPlatformSM8521* ch=(DivPlatformSM8521*)data; - ImGui::Text("> SM8521"); - COMMON_CHIP_DEBUG; - COMMON_CHIP_DEBUG_BOOL; - ImGui::TextColored(ch->antiClickEnabled?colorOn:colorOff,">> AntiClickEnabled"); - break; - } - case DIV_SYSTEM_PV1000: { - DivPlatformPV1000* ch=(DivPlatformPV1000*)data; - ImGui::Text("> PV1000"); - COMMON_CHIP_DEBUG; - COMMON_CHIP_DEBUG_BOOL; - break; - } - case DIV_SYSTEM_K053260: { - DivPlatformK053260* ch=(DivPlatformK053260*)data; - ImGui::Text("> K053260"); - COMMON_CHIP_DEBUG; - COMMON_CHIP_DEBUG_BOOL; - break; - } - case DIV_SYSTEM_C140: { - DivPlatformC140* ch=(DivPlatformC140*)data; - ImGui::Text("> C140"); - COMMON_CHIP_DEBUG; - COMMON_CHIP_DEBUG_BOOL; - break; - } - default: - ImGui::Text("Unimplemented chip! Help!"); - break; - } + ImGui::Text("I will finish later..."); } void putDispatchChan(void* data, int chanNum, int type) { - ImVec4 colorOn=ImVec4(1.0f,1.0f,0.0f,1.0f); - ImVec4 colorOff=ImVec4(0.3f,0.3f,0.3f,1.0f); - switch (type) { - case DIV_SYSTEM_GENESIS: { - if (chanNum>5) { - SMS_CHAN_DEBUG; - } else { - GENESIS_CHAN_DEBUG; - } - break; - } - case DIV_SYSTEM_GENESIS_EXT: { - if (chanNum>8) { - SMS_CHAN_DEBUG; - } else if (chanNum>=2 && chanNum<=5) { - DivPlatformOPN::OPNOpChannelStereo* ch=(DivPlatformOPN::OPNOpChannelStereo*)data; - ImGui::Text("> YM2612 (per operator)"); - OPNB_OPCHAN_DEBUG; - } else { - GENESIS_CHAN_DEBUG; - } - break; - } - case DIV_SYSTEM_YM2612: - case DIV_SYSTEM_YM2612_DUALPCM: { - GENESIS_CHAN_DEBUG; - break; - } - case DIV_SYSTEM_YM2612_EXT: - case DIV_SYSTEM_YM2612_DUALPCM_EXT: { - if (chanNum>=2 && chanNum<=5) { - DivPlatformOPN::OPNOpChannelStereo* ch=(DivPlatformOPN::OPNOpChannelStereo*)data; - ImGui::Text("> YM2612 (per operator)"); - OPNB_OPCHAN_DEBUG; - } else { - GENESIS_CHAN_DEBUG; - } - break; - } - case DIV_SYSTEM_SMS: { - SMS_CHAN_DEBUG; - break; - } - case DIV_SYSTEM_YM2203: { - OPN_CHAN_DEBUG; - break; - } - case DIV_SYSTEM_YM2203_EXT: { - if (chanNum>=2 && chanNum<=5) { - OPN_OPCHAN_DEBUG; - } else { - OPN_CHAN_DEBUG; - } - break; - } - case DIV_SYSTEM_YM2608: { - DivPlatformOPN::OPNChannelStereo* ch=(DivPlatformOPN::OPNChannelStereo*)data; - ImGui::Text("> YM2608"); - OPNB_CHAN_DEBUG; - break; - } - case DIV_SYSTEM_YM2608_EXT: { - if (chanNum>=2 && chanNum<=5) { - DivPlatformOPN::OPNOpChannelStereo* ch=(DivPlatformOPN::OPNOpChannelStereo*)data; - ImGui::Text("> YM2608 (per operator)"); - OPNB_OPCHAN_DEBUG; - } else { - DivPlatformOPN::OPNChannelStereo* ch=(DivPlatformOPN::OPNChannelStereo*)data; - ImGui::Text("> YM2608"); - OPNB_CHAN_DEBUG; - } - break; - } - case DIV_SYSTEM_YM2610: - case DIV_SYSTEM_YM2610_FULL: { - DivPlatformOPN::OPNChannelStereo* ch=(DivPlatformOPN::OPNChannelStereo*)data; - ImGui::Text("> YM2610"); - OPNB_CHAN_DEBUG; - break; - } - case DIV_SYSTEM_YM2610B: { - DivPlatformOPN::OPNChannelStereo* ch=(DivPlatformOPN::OPNChannelStereo*)data; - ImGui::Text("> YM2610B"); - OPNB_CHAN_DEBUG; - break; - } - case DIV_SYSTEM_YM2610_EXT: - case DIV_SYSTEM_YM2610_FULL_EXT: { - if (chanNum>=1 && chanNum<=4) { - DivPlatformOPN::OPNOpChannelStereo* ch=(DivPlatformOPN::OPNOpChannelStereo*)data; - ImGui::Text("> YM2610 (per operator)"); - OPNB_OPCHAN_DEBUG; - } else { - DivPlatformOPN::OPNChannelStereo* ch=(DivPlatformOPN::OPNChannelStereo*)data; - ImGui::Text("> YM2610"); - OPNB_CHAN_DEBUG; - } - break; - } - case DIV_SYSTEM_YM2610B_EXT: { - if (chanNum>=2 && chanNum<=5) { - DivPlatformOPN::OPNOpChannelStereo* ch=(DivPlatformOPN::OPNOpChannelStereo*)data; - ImGui::Text("> YM2610B (per operator)"); - OPNB_OPCHAN_DEBUG; - } else { - DivPlatformOPN::OPNChannelStereo* ch=(DivPlatformOPN::OPNChannelStereo*)data; - ImGui::Text("> YM2610B"); - OPNB_CHAN_DEBUG; - } - break; - } - case DIV_SYSTEM_GB: { - DivPlatformGB::Channel* ch=(DivPlatformGB::Channel*)data; - ImGui::Text("> GameBoy"); - COMMON_CHAN_DEBUG; - ImGui::Text("- duty: %d",ch->duty); - ImGui::Text("- sweep: %.2x",ch->sweep); - ImGui::Text("- wave: %d",ch->wave); - COMMON_CHAN_DEBUG_BOOL; - ImGui::TextColored(ch->sweepChanged?colorOn:colorOff,">> SweepChanged"); - break; - } - case DIV_SYSTEM_PCE: { - DivPlatformPCE::Channel* ch=(DivPlatformPCE::Channel*)data; - ImGui::Text("> PCEngine"); - COMMON_CHAN_DEBUG; - ImGui::Text("* DAC:"); - ImGui::Text(" - period: %d",ch->dacPeriod); - ImGui::Text(" - rate: %d",ch->dacRate); - ImGui::Text(" - pos: %d",ch->dacPos); - ImGui::Text(" - out: %d",ch->dacOut); - ImGui::Text(" - sample: %d",ch->dacSample); - ImGui::Text("- pan: %.2x",ch->pan); - ImGui::Text("- wave: %d",ch->wave); - ImGui::Text("- macroVolMul: %d",ch->macroVolMul); - COMMON_CHAN_DEBUG_BOOL; - ImGui::TextColored(ch->noise?colorOn:colorOff,">> Noise"); - ImGui::TextColored(ch->pcm?colorOn:colorOff,">> DAC"); - ImGui::TextColored(ch->furnaceDac?colorOn:colorOff,">> FurnaceDAC"); - break; - } - case DIV_SYSTEM_NES: { - DivPlatformNES::Channel* ch=(DivPlatformNES::Channel*)data; - ImGui::Text("> NES"); - COMMON_CHAN_DEBUG; - ImGui::Text(" - prev: %d",ch->prevFreq); - ImGui::Text("- duty: %d",ch->duty); - ImGui::Text("- sweep: %.2x",ch->sweep); - COMMON_CHAN_DEBUG_BOOL; - ImGui::TextColored(ch->sweepChanged?colorOn:colorOff,">> SweepChanged"); - ImGui::TextColored(ch->furnaceDac?colorOn:colorOff,">> FurnaceDAC"); - break; - } - case DIV_SYSTEM_C64_6581: case DIV_SYSTEM_C64_8580: { - DivPlatformC64::Channel* ch=(DivPlatformC64::Channel*)data; - ImGui::Text("> C64"); - COMMON_CHAN_DEBUG; - ImGui::Text("- prevFreq: %d",ch->prevFreq); - ImGui::Text("- testWhen: %d",ch->testWhen); - ImGui::Text("- duty: %d",ch->duty); - ImGui::Text("- sweep: %.2x",ch->sweep); - ImGui::Text("- wave: %.1x",ch->wave); - ImGui::Text("- ADSR: %.1x %.1x %.1x %.1x",ch->attack,ch->decay,ch->sustain,ch->release); - COMMON_CHAN_DEBUG_BOOL; - ImGui::TextColored(ch->sweepChanged?colorOn:colorOff,">> SweepChanged"); - ImGui::TextColored(ch->filter?colorOn:colorOff,">> Filter"); - ImGui::TextColored(ch->resetMask?colorOn:colorOff,">> ResetMask"); - ImGui::TextColored(ch->resetFilter?colorOn:colorOff,">> ResetFilter"); - ImGui::TextColored(ch->resetDuty?colorOn:colorOff,">> ResetDuty"); - ImGui::TextColored(ch->ring?colorOn:colorOff,">> Ring"); - ImGui::TextColored(ch->sync?colorOn:colorOff,">> Sync"); - break; - } - case DIV_SYSTEM_ARCADE: - case DIV_SYSTEM_YM2151: { - DivPlatformArcade::Channel* ch=(DivPlatformArcade::Channel*)data; - ImGui::Text("> YM2151"); - ImGui::Text("- freqHL: %.2x%.2x",ch->freqH,ch->freqL); - COMMON_CHAN_DEBUG; - ImGui::Text("- KOnCycles: %d",ch->konCycles); - ImGui::Text("- chVolL: %.2x",ch->chVolL); - ImGui::Text("- chVolR: %.2x",ch->chVolR); - COMMON_CHAN_DEBUG_BOOL; - break; - } - case DIV_SYSTEM_SEGAPCM: - case DIV_SYSTEM_SEGAPCM_COMPAT: { - DivPlatformSegaPCM::Channel* ch=(DivPlatformSegaPCM::Channel*)data; - ImGui::Text("> SegaPCM"); - COMMON_CHAN_DEBUG; - ImGui::Text("* PCM:"); - ImGui::Text(" - sample: %d",ch->pcm.sample); - ImGui::Text(" - pos: %d",ch->pcm.pos); - ImGui::Text(" - len: %d",ch->pcm.len); - ImGui::Text(" - freq: %d",ch->pcm.freq); - ImGui::Text("- chVolL: %.2x",ch->chVolL); - ImGui::Text("- chVolR: %.2x",ch->chVolR); - ImGui::Text("- chPanL: %.2x",ch->chPanL); - ImGui::Text("- chPanR: %.2x",ch->chPanR); - ImGui::Text("- macroVolMul: %.2x",ch->macroVolMul); - COMMON_CHAN_DEBUG_BOOL; - ImGui::TextColored(ch->furnacePCM?colorOn:colorOff,">> FurnacePCM"); - ImGui::TextColored(ch->isNewSegaPCM?colorOn:colorOff,">> IsNewSegaPCM"); - break; - } - case DIV_SYSTEM_AY8910: { - DivPlatformAY8910::Channel* ch=(DivPlatformAY8910::Channel*)data; - ImGui::Text("> AY-3-8910"); - COMMON_CHAN_DEBUG; - ImGui::Text("* DAC:"); - ImGui::Text(" - sample: %d",ch->dac.sample); - ImGui::Text(" - rate: %d",ch->dac.rate); - ImGui::Text(" - period: %d",ch->dac.period); - ImGui::Text(" - pos: %d",ch->dac.pos); - ImGui::Text(" - out: %d",ch->dac.out); - ImGui::Text("- autoEnvNum: %.2x",ch->autoEnvNum); - ImGui::Text("- autoEnvDen: %.2x",ch->autoEnvDen); - COMMON_CHAN_DEBUG_BOOL; - ImGui::TextColored(ch->dac.furnaceDAC?colorOn:colorOff,">> furnaceDAC"); - break; - } - case DIV_SYSTEM_AY8930: { - DivPlatformAY8930::Channel* ch=(DivPlatformAY8930::Channel*)data; - ImGui::Text("> AY8930"); - COMMON_CHAN_DEBUG; - ImGui::Text("- duty: %d",ch->duty); - ImGui::Text("* DAC:"); - ImGui::Text(" - sample: %d",ch->dac.sample); - ImGui::Text(" - rate: %d",ch->dac.rate); - ImGui::Text(" - period: %d",ch->dac.period); - ImGui::Text(" - pos: %d",ch->dac.pos); - ImGui::Text(" - out: %d",ch->dac.out); - ImGui::Text("- autoEnvNum: %.2x",ch->autoEnvNum); - ImGui::Text("- autoEnvDen: %.2x",ch->autoEnvDen); - COMMON_CHAN_DEBUG_BOOL; - ImGui::TextColored(ch->dac.furnaceDAC?colorOn:colorOff,">> furnaceDAC"); - break; - } - case DIV_SYSTEM_QSOUND: { - DivPlatformQSound::Channel* ch=(DivPlatformQSound::Channel*)data; - ImGui::Text("> QSound"); - COMMON_CHAN_DEBUG; - ImGui::Text("- sample: %d",ch->sample); - ImGui::Text("- echo: %d",ch->echo); - ImGui::Text("- panning: %d",ch->panning); - ImGui::Text("- resVol: %.2x",ch->resVol); - COMMON_CHAN_DEBUG_BOOL; - ImGui::TextColored(ch->useWave?colorOn:colorOff,">> UseWave"); - ImGui::TextColored(ch->surround?colorOn:colorOff,">> Surround"); - ImGui::TextColored(ch->isNewQSound?colorOn:colorOff,">> IsNewQSound"); - break; - } - case DIV_SYSTEM_X1_010: { - DivPlatformX1_010::Channel* ch=(DivPlatformX1_010::Channel*)data; - ImGui::Text("> X1-010"); - COMMON_CHAN_DEBUG; - ImGui::Text("- wave: %d",ch->wave); - ImGui::Text("- sample: %d",ch->sample); - ImGui::Text("- pan: %d",ch->pan); - ImGui::Text("* envelope:"); - ImGui::Text(" - shape: %d",ch->env.shape); - ImGui::Text(" - period: %.2x",ch->env.period); - ImGui::Text(" - slide: %.2x",ch->env.slide); - ImGui::Text(" - slidefrac: %.2x",ch->env.slidefrac); - ImGui::Text(" - autoEnvNum: %.2x",ch->autoEnvNum); - ImGui::Text(" - autoEnvDen: %.2x",ch->autoEnvDen); - ImGui::Text("- WaveBank: %d",ch->waveBank); - ImGui::Text("- bankSlot: %d",ch->bankSlot); - ImGui::Text("- Lvol: %.2x",ch->lvol); - ImGui::Text("- Rvol: %.2x",ch->rvol); - COMMON_CHAN_DEBUG_BOOL; - ImGui::TextColored(ch->envChanged?colorOn:colorOff,">> EnvChanged"); - ImGui::TextColored(ch->furnacePCM?colorOn:colorOff,">> FurnacePCM"); - ImGui::TextColored(ch->pcm?colorOn:colorOff,">> PCM"); - ImGui::TextColored(ch->env.flag.envEnable?colorOn:colorOff,">> EnvEnable"); - ImGui::TextColored(ch->env.flag.envOneshot?colorOn:colorOff,">> EnvOneshot"); - ImGui::TextColored(ch->env.flag.envSplit?colorOn:colorOff,">> EnvSplit"); - ImGui::TextColored(ch->env.flag.envHinvR?colorOn:colorOff,">> EnvHinvR"); - ImGui::TextColored(ch->env.flag.envVinvR?colorOn:colorOff,">> EnvVinvR"); - ImGui::TextColored(ch->env.flag.envHinvL?colorOn:colorOff,">> EnvHinvL"); - ImGui::TextColored(ch->env.flag.envVinvL?colorOn:colorOff,">> EnvVinvL"); - break; - } - case DIV_SYSTEM_N163: { - DivPlatformN163::Channel* ch=(DivPlatformN163::Channel*)data; - ImGui::Text("> N163"); - COMMON_CHAN_DEBUG; - ImGui::Text("- wave: %d",ch->wave); - ImGui::Text("- wavepos: %d",ch->wavePos); - ImGui::Text("- wavelen: %d",ch->waveLen); - ImGui::Text("- wavemode: %d",ch->waveMode); - ImGui::Text("- resVol: %.2x",ch->resVol); - COMMON_CHAN_DEBUG_BOOL; - ImGui::TextColored(ch->volumeChanged?colorOn:colorOff,">> VolumeChanged"); - ImGui::TextColored(ch->waveChanged?colorOn:colorOff,">> WaveChanged"); - ImGui::TextColored(ch->waveUpdated?colorOn:colorOff,">> WaveUpdated"); - break; - } - case DIV_SYSTEM_VRC6: { - DivPlatformVRC6::Channel* ch=(DivPlatformVRC6::Channel*)data; - ImGui::Text("> VRC6"); - COMMON_CHAN_DEBUG; - ImGui::Text("* DAC:"); - ImGui::Text(" - period: %d",ch->dacPeriod); - ImGui::Text(" - rate: %d",ch->dacRate); - ImGui::Text(" - out: %d",ch->dacOut); - ImGui::Text(" - pos: %d",ch->dacPos); - ImGui::Text(" - sample: %d",ch->dacSample); - ImGui::Text("- duty: %d",ch->duty); - COMMON_CHAN_DEBUG_BOOL; - ImGui::TextColored(ch->pcm?colorOn:colorOff,">> DAC"); - ImGui::TextColored(ch->furnaceDac?colorOn:colorOff,">> FurnaceDAC"); - break; - } - case DIV_SYSTEM_ES5506: { - DivPlatformES5506::Channel* ch=(DivPlatformES5506::Channel*)data; - ImGui::Text("> ES5506"); - COMMON_CHAN_DEBUG; - ImGui::Text("- nextFreq: %d",ch->nextFreq); - ImGui::Text("- nextNote: %d",ch->nextNote); - ImGui::Text("- currNote: %d",ch->currNote); - ImGui::Text("- wave: %d",ch->wave); - ImGui::Text("- VolMacroMax: %d",ch->volMacroMax); - ImGui::Text("- PanMacroMax: %d",ch->panMacroMax); - ImGui::Text("* PCM:"); - ImGui::Text(" * index: %d",ch->pcm.index); - ImGui::Text(" - next: %d",ch->pcm.next); - ImGui::Text(" - note: %d",ch->pcm.note); - ImGui::Text(" * freqOffs: %.6f",ch->pcm.freqOffs); - ImGui::Text(" - next: %.6f",ch->pcm.nextFreqOffs); - ImGui::Text(" - bank: %.2x",ch->pcm.bank); - ImGui::Text(" - start: %.8x",ch->pcm.start); - ImGui::Text(" - end: %.8x",ch->pcm.end); - ImGui::Text(" - length: %.8x",ch->pcm.length); - ImGui::Text(" - loopStart: %.8x",ch->pcm.loopStart); - ImGui::Text(" - loopEnd: %.8x",ch->pcm.loopEnd); - ImGui::Text(" - loopMode: %d",ch->pcm.loopMode); - ImGui::Text(" - nextPos: %d",ch->pcm.nextPos); - ImGui::Text("* Filter:"); - ImGui::Text(" - Mode: %d",ch->filter.mode); - ImGui::Text(" - K1: %.4x",ch->filter.k1); - ImGui::Text(" - K2: %.4x",ch->filter.k2); - ImGui::Text("* Envelope:"); - ImGui::Text(" - EnvCount: %.3x",ch->envelope.ecount); - ImGui::Text(" - LVRamp: %d",ch->envelope.lVRamp); - ImGui::Text(" - RVRamp: %d",ch->envelope.rVRamp); - ImGui::Text(" - K1Ramp: %d",ch->envelope.k1Ramp); - ImGui::Text(" - K2Ramp: %d",ch->envelope.k2Ramp); - ImGui::Text(" - K1Offs: %d",ch->k1Offs); - ImGui::Text(" - K2Offs: %d",ch->k2Offs); - ImGui::Text(" - K1Slide: %d",ch->k1Slide); - ImGui::Text(" - K2Slide: %d",ch->k2Slide); - ImGui::Text(" - K1Prev: %.4x",ch->k1Prev); - ImGui::Text(" - K2Prev: %.4x",ch->k2Prev); - ImGui::Text("* Overwrite:"); - ImGui::Text(" * Filter:"); - ImGui::Text(" - Mode: %d",ch->overwrite.filter.mode); - ImGui::Text(" - K1: %.4x",ch->overwrite.filter.k1); - ImGui::Text(" - K2: %.4x",ch->overwrite.filter.k2); - ImGui::Text(" * Envelope:"); - ImGui::Text(" - EnvCount: %.3x",ch->overwrite.envelope.ecount); - ImGui::Text(" - LVRamp: %d",ch->overwrite.envelope.lVRamp); - ImGui::Text(" - RVRamp: %d",ch->overwrite.envelope.rVRamp); - ImGui::Text(" - K1Ramp: %d",ch->overwrite.envelope.k1Ramp); - ImGui::Text(" - K2Ramp: %d",ch->overwrite.envelope.k2Ramp); - ImGui::Text("- CA: %.2x",ch->ca); - ImGui::Text("- LVol: %.2x",ch->lVol); - ImGui::Text("- RVol: %.2x",ch->rVol); - ImGui::Text("- outLVol: %.2x",ch->outLVol); - ImGui::Text("- outRVol: %.2x",ch->outRVol); - ImGui::Text("- ResLVol: %.2x",ch->resLVol); - ImGui::Text("- ResRVol: %.2x",ch->resRVol); - ImGui::Text("- oscOut: %d",ch->oscOut); - COMMON_CHAN_DEBUG_BOOL; - ImGui::TextColored(ch->volChanged.lVol?colorOn:colorOff,">> LVolChanged"); - ImGui::TextColored(ch->volChanged.rVol?colorOn:colorOff,">> RVolChanged"); - ImGui::TextColored(ch->filterChanged.mode?colorOn:colorOff,">> FilterModeChanged"); - ImGui::TextColored(ch->filterChanged.k1?colorOn:colorOff,">> FilterK1Changed"); - ImGui::TextColored(ch->filterChanged.k2?colorOn:colorOff,">> FilterK2Changed"); - ImGui::TextColored(ch->envChanged.ecount?colorOn:colorOff,">> EnvECountChanged"); - ImGui::TextColored(ch->envChanged.lVRamp?colorOn:colorOff,">> EnvLVRampChanged"); - ImGui::TextColored(ch->envChanged.rVRamp?colorOn:colorOff,">> EnvRVRampChanged"); - ImGui::TextColored(ch->envChanged.k1Ramp?colorOn:colorOff,">> EnvK1RampChanged"); - ImGui::TextColored(ch->envChanged.k2Ramp?colorOn:colorOff,">> EnvK2RampChanged"); - ImGui::TextColored(ch->pcmChanged.index?colorOn:colorOff,">> PCMIndexChanged"); - ImGui::TextColored(ch->pcmChanged.slice?colorOn:colorOff,">> PCMSliceChanged"); - ImGui::TextColored(ch->pcmChanged.position?colorOn:colorOff,">> PCMPositionChanged"); - ImGui::TextColored(ch->pcmChanged.loopBank?colorOn:colorOff,">> PCMLoopBankChanged"); - ImGui::TextColored(ch->isReverseLoop?colorOn:colorOff,">> IsReverseLoop"); - ImGui::TextColored(ch->pcm.isNoteMap?colorOn:colorOff,">> PCMIsNoteMap"); - ImGui::TextColored(ch->pcm.pause?colorOn:colorOff,">> PCMPause"); - ImGui::TextColored(ch->pcm.direction?colorOn:colorOff,">> PCMDirection"); - ImGui::TextColored(ch->pcm.setPos?colorOn:colorOff,">> PCMSetPos"); - ImGui::TextColored(ch->envelope.k1Slow?colorOn:colorOff,">> EnvK1Slow"); - ImGui::TextColored(ch->envelope.k2Slow?colorOn:colorOff,">> EnvK2Slow"); - ImGui::TextColored(ch->overwrite.envelope.k1Slow?colorOn:colorOff,">> EnvK1SlowOverwrite"); - ImGui::TextColored(ch->overwrite.envelope.k2Slow?colorOn:colorOff,">> EnvK2SlowOverwrite"); - ImGui::TextColored(ch->overwrite.state.mode?colorOn:colorOff,">> FilterModeOverwrited"); - ImGui::TextColored(ch->overwrite.state.k1?colorOn:colorOff,">> FilterK1Overwrited"); - ImGui::TextColored(ch->overwrite.state.k2?colorOn:colorOff,">> FilterK2Overwrited"); - ImGui::TextColored(ch->overwrite.state.ecount?colorOn:colorOff,">> EnvECountOverwrited"); - ImGui::TextColored(ch->overwrite.state.lVRamp?colorOn:colorOff,">> EnvLVRampOverwrited"); - ImGui::TextColored(ch->overwrite.state.rVRamp?colorOn:colorOff,">> EnvRVRampOverwrited"); - ImGui::TextColored(ch->overwrite.state.k1Ramp?colorOn:colorOff,">> EnvK1RampOverwrited"); - ImGui::TextColored(ch->overwrite.state.k2Ramp?colorOn:colorOff,">> EnvK2RampOverwrited"); - break; - } - case DIV_SYSTEM_LYNX: { - DivPlatformLynx::Channel* ch=(DivPlatformLynx::Channel*)data; - ImGui::Text("> Lynx"); - COMMON_CHAN_DEBUG; - ImGui::Text("* FreqDiv:"); - ImGui::Text(" - clockDivider: %d",ch->fd.clockDivider); - ImGui::Text(" - backup: %d",ch->fd.backup); - ImGui::Text("- actualNote: %d",ch->actualNote); - ImGui::Text("* Sample:"); - ImGui::Text(" - sample: %d",ch->sample); - ImGui::Text(" - pos: %d",ch->samplePos); - ImGui::Text(" - accum: %d",ch->sampleAccum); - ImGui::Text(" * freq: %d",ch->sampleFreq); - ImGui::Text(" - base: %d",ch->sampleBaseFreq); - ImGui::Text("* duty:"); - ImGui::Text(" - int_feedback7: %d",ch->duty.int_feedback7); - ImGui::Text(" - feedback: %d",ch->duty.feedback); - ImGui::Text("- pan: %.2x",ch->pan); - ImGui::Text("- macroVolMul: %.2x",ch->macroVolMul); - COMMON_CHAN_DEBUG_BOOL; - ImGui::TextColored(ch->pcm?colorOn:colorOff,">> DAC"); - break; - } - case DIV_SYSTEM_PCM_DAC: { - DivPlatformPCMDAC::Channel* ch=(DivPlatformPCMDAC::Channel*)data; - ImGui::Text("> PCM DAC"); - COMMON_CHAN_DEBUG; - ImGui::Text("* Sample: %d",ch->sample); - ImGui::Text(" - dir: %d",ch->audDir); - ImGui::Text(" - loc: %d",ch->audLoc); - ImGui::Text(" - len: %d",ch->audLen); - ImGui::Text(" * pos: %d",ch->audPos); - ImGui::Text(" - sub: %d",ch->audSub); - ImGui::Text("- wave: %d",ch->wave); - ImGui::Text("- panL: %.2x",ch->panL); - ImGui::Text("- panR: %.2x",ch->panR); - ImGui::Text("- envVol: %.2x",ch->envVol); - COMMON_CHAN_DEBUG_BOOL; - ImGui::TextColored(ch->useWave?colorOn:colorOff,">> UseWave"); - ImGui::TextColored(ch->setPos?colorOn:colorOff,">> SetPos"); - break; - } - case DIV_SYSTEM_K007232: { - DivPlatformK007232::Channel* ch=(DivPlatformK007232::Channel*)data; - ImGui::Text("> K007232"); - COMMON_CHAN_DEBUG; - ImGui::Text("- prevFreq: %d",ch->prevFreq); - ImGui::Text("* Sample: %d",ch->sample); - ImGui::Text(" - pos: %d",ch->audPos); - ImGui::Text(" - prevBank: %d",ch->prevBank); - ImGui::Text("* panning: %d",ch->panning); - ImGui::Text(" - prev: %d",ch->prevPan); - ImGui::Text("- resVol: %.2x",ch->resVol); - ImGui::Text("- lvol: %.2x",ch->lvol); - ImGui::Text("- rvol: %.2x",ch->rvol); - ImGui::Text("- macroVolMul: %.2x",ch->macroVolMul); - COMMON_CHAN_DEBUG_BOOL; - ImGui::TextColored(ch->volumeChanged?colorOn:colorOff,">> VolumeChanged"); - ImGui::TextColored(ch->setPos?colorOn:colorOff,">> SetPos"); - break; - } - case DIV_SYSTEM_GA20: { - DivPlatformGA20::Channel* ch=(DivPlatformGA20::Channel*)data; - ImGui::Text("> GA20"); - COMMON_CHAN_DEBUG; - ImGui::Text("- prevFreq: %d",ch->prevFreq); - ImGui::Text("* Sample: %d",ch->sample); - ImGui::Text(" - pos: %d",ch->audPos); - ImGui::Text("- resVol: %.2x",ch->resVol); - ImGui::Text("- macroVolMul: %.2x",ch->macroVolMul); - COMMON_CHAN_DEBUG_BOOL; - ImGui::TextColored(ch->volumeChanged?colorOn:colorOff,">> VolumeChanged"); - ImGui::TextColored(ch->setPos?colorOn:colorOff,">> SetPos"); - break; - } - case DIV_SYSTEM_SM8521: { - DivPlatformSM8521::Channel* ch=(DivPlatformSM8521::Channel*)data; - ImGui::Text("> SM8521"); - COMMON_CHAN_DEBUG; - ImGui::Text("* AntiClick:"); - ImGui::Text(" - periodCount: %d",ch->antiClickPeriodCount); - ImGui::Text(" - wavePos: %d",ch->antiClickWavePos); - ImGui::Text("- wave: %d",ch->wave); - COMMON_CHAN_DEBUG_BOOL; - ImGui::TextColored(ch->volumeChanged?colorOn:colorOff,">> VolumeChanged"); - break; - } - case DIV_SYSTEM_PV1000: { - DivPlatformPV1000::Channel* ch=(DivPlatformPV1000::Channel*)data; - ImGui::Text("> PV1000"); - COMMON_CHAN_DEBUG; - COMMON_CHAN_DEBUG_BOOL; - break; - } - case DIV_SYSTEM_K053260: { - DivPlatformK053260::Channel* ch=(DivPlatformK053260::Channel*)data; - ImGui::Text("> K053260"); - COMMON_CHAN_DEBUG; - ImGui::Text("* Sample: %d",ch->sample); - ImGui::Text(" - pos: %d",ch->audPos); - ImGui::Text("- panning: %d",ch->panning); - ImGui::Text("- macroVolMul: %.2x",ch->macroVolMul); - COMMON_CHAN_DEBUG_BOOL; - ImGui::TextColored(ch->setPos?colorOn:colorOff,">> SetPos"); - ImGui::TextColored(ch->reverse?colorOn:colorOff,">> Reverse"); - break; - } - case DIV_SYSTEM_C140: { - DivPlatformC140::Channel* ch=(DivPlatformC140::Channel*)data; - ImGui::Text("> C140"); - COMMON_CHAN_DEBUG; - ImGui::Text("* Sample: %d",ch->sample); - ImGui::Text(" - pos: %d",ch->audPos); - ImGui::Text("- chPanL: %.2x",ch->chPanL); - ImGui::Text("- chPanR: %.2x",ch->chPanR); - ImGui::Text("- chVolL: %.2x",ch->chVolL); - ImGui::Text("- chVolR: %.2x",ch->chVolR); - ImGui::Text("- macroVolMul: %.2x",ch->macroVolMul); - ImGui::Text("- macroPanMul: %.2x",ch->macroPanMul); - COMMON_CHAN_DEBUG_BOOL; - ImGui::TextColored(ch->volChangedL?colorOn:colorOff,">> VolChangedL"); - ImGui::TextColored(ch->volChangedR?colorOn:colorOff,">> VolChangedR"); - ImGui::TextColored(ch->setPos?colorOn:colorOff,">> SetPos"); - break; - } - default: - ImGui::Text("Unimplemented chip! Help!"); - break; - } + ImGui::Text("I will finish later..."); } From 89f8970e74cece7142e27a60f50d30b8d46b02cd Mon Sep 17 00:00:00 2001 From: tildearrow Date: Thu, 2 Nov 2023 03:47:48 -0500 Subject: [PATCH 74/99] a_wave_powerhouse by TheDuccinator --- demos/amiga/a_wave_powerhouse.fur | Bin 0 -> 6454 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 demos/amiga/a_wave_powerhouse.fur diff --git a/demos/amiga/a_wave_powerhouse.fur b/demos/amiga/a_wave_powerhouse.fur new file mode 100644 index 0000000000000000000000000000000000000000..105bea5fe356722e830c2ee26cf9ef0d8690b5e5 GIT binary patch literal 6454 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 Qv@`9F5xv&?ckCFZtUT_Y(EtDd literal 0 HcmV?d00001 From f0738c19a02a38963adbe4c8890a3fb8bb307911 Mon Sep 17 00:00:00 2001 From: Electric Keet Date: Thu, 2 Nov 2023 22:47:51 -0700 Subject: [PATCH 75/99] Editing the C64 instrument doc. Edits for style consistency and clarity (I hope). --- doc/4-instrument/c64.md | 26 ++++++++++++++++---------- 1 file changed, 16 insertions(+), 10 deletions(-) diff --git a/doc/4-instrument/c64.md b/doc/4-instrument/c64.md index 3f2b7e880..239f07782 100644 --- a/doc/4-instrument/c64.md +++ b/doc/4-instrument/c64.md @@ -5,7 +5,8 @@ the C64 instrument editor consists of two tabs: "C64" to control various paramet ## C64 - **Waveform**: allows selecting a waveform. - - more than one waveform can be selected at once. in that case logical AND mix of waves should occur, bit actually a weird bit mixing occurs (due to the hardware flaws; 6581 and 8580 models handle those "combined waves" differently). + - more than one waveform can be selected at once. in that case a logical AND mix of waves will occur... + - due to hardware flaws, the mixing is a bit weird and sounds different between the 6581 and the 8580. - noise is an exception. it cannot be used with any of the other waveforms. - **Attack**: determines the rising time for the sound. the bigger the value, the slower the attack. (0 to 15). - **Decay**: determines the diminishing time for the sound. the higher the value, the longer the decay (0 to 15). @@ -24,7 +25,7 @@ the C64 instrument editor consists of two tabs: "C64" to control various paramet - **high**: a high-pass filter. higher cutoff values result in a less "bassy" sound. - **band**: a band-pass filter. cutoff determines which part of the sound is heard (from bass to treble). - **ch3off**: mutes channel 3 when enabled. not sure why is this part of the chip's design, but it is. - - Different filter modes can be selected simultaneously, e.g. low+high. The resulting sound would be as if input was passed through lowpass filter and then highpass filter (or vice versa, you get the idea). + - multiple filter modes can be selected simultaneously. for example, selecting both "low" and "high" would combine the effects of both, resulting in a bandpass filter. - **Absolute Cutoff Macro**: when enabled, the cutoff macro will go from 0 to 2047, and it will be absolute (in other words, control the cutoff directly rather than being relative). - **Absolute Duty Macro**: when enabled, the duty macro will go from 0 to 4095. @@ -43,12 +44,17 @@ the C64 instrument editor consists of two tabs: "C64" to control various paramet - **Resonance**: filter resonance sequence. - **Special**: ring and oscillator sync selector, as well as: - **gate bit**: - - set (1) = key on, if previous state was 0 it triggers envelope start/restart, if previous state was 1 does nothing - - reset (0) = key off, if previous state was 1 it triggers envelope release, if previous state was 0 does nothing + - set (1): key on. if previous state was 0 it triggers envelope start/restart; if previous state was 1, it does nothing. + - reset (0): key off. if previous state was 1 it triggers envelope release; if previous state was 0, it does nothing. - **test bit**: - - set (1) = channel immediately muted (if the channel is a source of ring mod and/or hard sync those stop working until you reset the bit) - - reset (0) = unmute channel, restore ring mod/hard sync functionality described above -- **Attack**: sets envelope attack speed. If you modify attack speed when envelope is in attack phase it immediately changes. -- **Decay**: sets envelope decay speed. If you modify decay speed when envelope is in decay phase it immediately changes. -- **Sustain**: sets envelope sustain level. If you modify sustain level when envelope is in sustain phase it immediately changes, although you can only go down (e.g. 9->8 and 8->8 works, but if you go 8->9 channel immediately mutes itself). -- **Release**: sets envelope release speed. If you modify release speed when envelope is in release phase it immediately changes. + - set (1): immediately mute channel + - if the channel is a source of ring mod and/or hard sync, those stop working until the bit is reset. + - reset (0): unmute channel and restore ring mod/hard sync. +- **Attack**: sets envelope attack speed. + - if you modify attack speed when the envelope is in attack phase it immediately changes. +- **Decay**: sets envelope decay speed. + - if you modify decay speed when envelope is in decay phase it immediately changes. +- **Sustain**: sets envelope sustain level. + - if you modify sustain level when envelope is in sustain phase it immediately changes, although you can only go down. for example, 9-to-8 and 8-to-8 both work, but 8-to-9 immediately mutes the channel. +- **Release**: sets envelope release speed. + - if you modify release speed when envelope is in release phase it immediately changes. \ No newline at end of file From 5909c2e1ed50c9b3599c90101fbde15030a1572d Mon Sep 17 00:00:00 2001 From: Electric Keet Date: Thu, 2 Nov 2023 23:11:11 -0700 Subject: [PATCH 76/99] Small correction. --- doc/4-instrument/c64.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/4-instrument/c64.md b/doc/4-instrument/c64.md index 239f07782..a9bb080b6 100644 --- a/doc/4-instrument/c64.md +++ b/doc/4-instrument/c64.md @@ -25,7 +25,7 @@ the C64 instrument editor consists of two tabs: "C64" to control various paramet - **high**: a high-pass filter. higher cutoff values result in a less "bassy" sound. - **band**: a band-pass filter. cutoff determines which part of the sound is heard (from bass to treble). - **ch3off**: mutes channel 3 when enabled. not sure why is this part of the chip's design, but it is. - - multiple filter modes can be selected simultaneously. for example, selecting both "low" and "high" would combine the effects of both, resulting in a bandpass filter. + - multiple filter modes can be selected simultaneously. for example, selecting both "low" and "high" results in a bandstop (notch) filter. - **Absolute Cutoff Macro**: when enabled, the cutoff macro will go from 0 to 2047, and it will be absolute (in other words, control the cutoff directly rather than being relative). - **Absolute Duty Macro**: when enabled, the duty macro will go from 0 to 4095. From 28065f7eb2c24fb56ff1fea29eb12a9d2be4e076 Mon Sep 17 00:00:00 2001 From: LTVA1 <87536432+LTVA1@users.noreply.github.com> Date: Fri, 3 Nov 2023 09:19:39 +0300 Subject: [PATCH 77/99] Clearer ch3off bit explanation --- doc/4-instrument/c64.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/4-instrument/c64.md b/doc/4-instrument/c64.md index a9bb080b6..0beb20d94 100644 --- a/doc/4-instrument/c64.md +++ b/doc/4-instrument/c64.md @@ -24,7 +24,7 @@ the C64 instrument editor consists of two tabs: "C64" to control various paramet - **low**: a low-pass filter. the lower the cutoff, the darker the sound. - **high**: a high-pass filter. higher cutoff values result in a less "bassy" sound. - **band**: a band-pass filter. cutoff determines which part of the sound is heard (from bass to treble). - - **ch3off**: mutes channel 3 when enabled. not sure why is this part of the chip's design, but it is. + - **ch3off**: mutes channel 3 when enabled. It was originally planned for usage with two registers where program could read current oscillator and envelope outputs, thus making vibrato and SFX generation easier. But who wanted to sacrifice one channel out of three! So aforementioned was just done in software, and the feature was never used. - multiple filter modes can be selected simultaneously. for example, selecting both "low" and "high" results in a bandstop (notch) filter. - **Absolute Cutoff Macro**: when enabled, the cutoff macro will go from 0 to 2047, and it will be absolute (in other words, control the cutoff directly rather than being relative). @@ -57,4 +57,4 @@ the C64 instrument editor consists of two tabs: "C64" to control various paramet - **Sustain**: sets envelope sustain level. - if you modify sustain level when envelope is in sustain phase it immediately changes, although you can only go down. for example, 9-to-8 and 8-to-8 both work, but 8-to-9 immediately mutes the channel. - **Release**: sets envelope release speed. - - if you modify release speed when envelope is in release phase it immediately changes. \ No newline at end of file + - if you modify release speed when envelope is in release phase it immediately changes. From d3e46921ddc4f3a5c6cf14b39fa1863f764da79c Mon Sep 17 00:00:00 2001 From: LTVA1 <87536432+LTVA1@users.noreply.github.com> Date: Fri, 3 Nov 2023 09:33:12 +0300 Subject: [PATCH 78/99] Update c64.md --- doc/4-instrument/c64.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/4-instrument/c64.md b/doc/4-instrument/c64.md index 0beb20d94..7f2acb996 100644 --- a/doc/4-instrument/c64.md +++ b/doc/4-instrument/c64.md @@ -24,7 +24,7 @@ the C64 instrument editor consists of two tabs: "C64" to control various paramet - **low**: a low-pass filter. the lower the cutoff, the darker the sound. - **high**: a high-pass filter. higher cutoff values result in a less "bassy" sound. - **band**: a band-pass filter. cutoff determines which part of the sound is heard (from bass to treble). - - **ch3off**: mutes channel 3 when enabled. It was originally planned for usage with two registers where program could read current oscillator and envelope outputs, thus making vibrato and SFX generation easier. But who wanted to sacrifice one channel out of three! So aforementioned was just done in software, and the feature was never used. + - **ch3off**: mutes channel 3 when enabled. It was originally planned for usage with two registers where program could read current oscillator and envelope outputs, thus making vibrato and SFX generation easier. but who wanted to sacrifice one channel out of three! so aforementioned was just done in software, and the feature was never used. - multiple filter modes can be selected simultaneously. for example, selecting both "low" and "high" results in a bandstop (notch) filter. - **Absolute Cutoff Macro**: when enabled, the cutoff macro will go from 0 to 2047, and it will be absolute (in other words, control the cutoff directly rather than being relative). From c5ed20a2b24c88f5f6e31c6276928798b413b488 Mon Sep 17 00:00:00 2001 From: LTVA1 <87536432+LTVA1@users.noreply.github.com> Date: Fri, 3 Nov 2023 09:45:34 +0300 Subject: [PATCH 79/99] Update c64.md --- doc/4-instrument/c64.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/4-instrument/c64.md b/doc/4-instrument/c64.md index 7f2acb996..8442560bf 100644 --- a/doc/4-instrument/c64.md +++ b/doc/4-instrument/c64.md @@ -24,7 +24,7 @@ the C64 instrument editor consists of two tabs: "C64" to control various paramet - **low**: a low-pass filter. the lower the cutoff, the darker the sound. - **high**: a high-pass filter. higher cutoff values result in a less "bassy" sound. - **band**: a band-pass filter. cutoff determines which part of the sound is heard (from bass to treble). - - **ch3off**: mutes channel 3 when enabled. It was originally planned for usage with two registers where program could read current oscillator and envelope outputs, thus making vibrato and SFX generation easier. but who wanted to sacrifice one channel out of three! so aforementioned was just done in software, and the feature was never used. + - **ch3off**: mutes channel 3 when enabled. it was originally planned for usage with two registers where program could read current oscillator and envelope outputs, thus making vibrato and SFX generation easier. but who wanted to sacrifice one channel out of three! so aforementioned was just done in software, and the feature was never used. - multiple filter modes can be selected simultaneously. for example, selecting both "low" and "high" results in a bandstop (notch) filter. - **Absolute Cutoff Macro**: when enabled, the cutoff macro will go from 0 to 2047, and it will be absolute (in other words, control the cutoff directly rather than being relative). From 4e48e873130c3388cd3bfbac67de67230501a05f Mon Sep 17 00:00:00 2001 From: tildearrow Date: Fri, 3 Nov 2023 12:54:37 -0500 Subject: [PATCH 80/99] GUI; add button --- src/gui/editControls.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/gui/editControls.cpp b/src/gui/editControls.cpp index b7b39c589..8a199997e 100644 --- a/src/gui/editControls.cpp +++ b/src/gui/editControls.cpp @@ -591,6 +591,10 @@ void FurnaceGUI::drawMobileControls() { if (ImGui::Button("Compat Flags")) { compatFlagsOpen=!compatFlagsOpen; } + ImGui::SameLine(); + if (ImGui::Button("XYOsc")) { + xyOscOpen=!xyOscOpen; + } ImGui::Separator(); From e1cb84a0762f8d9bfe40ac023f20b71755f36bb3 Mon Sep 17 00:00:00 2001 From: tildearrow Date: Fri, 3 Nov 2023 14:46:23 -0500 Subject: [PATCH 81/99] volume handling refactor, part 1 - BEWARE do not use these versions for production. your modules will break until this is finished! only Amiga is done for now --- src/engine/chipUtils.h | 19 +++++++++++++++++-- src/engine/macroInt.cpp | 12 +++++++----- src/engine/macroInt.h | 10 +++++++--- src/engine/platform/amiga.cpp | 35 ++++++++--------------------------- src/engine/platform/amiga.h | 3 +-- 5 files changed, 40 insertions(+), 39 deletions(-) diff --git a/src/engine/chipUtils.h b/src/engine/chipUtils.h index 7607193bb..eccf9621f 100644 --- a/src/engine/chipUtils.h +++ b/src/engine/chipUtils.h @@ -31,7 +31,7 @@ template struct SharedChannel { int freq, baseFreq, baseNoteOverride, pitch, pitch2, arpOff; int ins, note; bool active, insChanged, freqChanged, fixedArp, keyOn, keyOff, portaPause, inPorta, volChanged; - T vol, outVol; + T vol, macroVol, outVol, maxVol; DivMacroInt std; void handleArp(int offset=0) { if (std.arp.had) { @@ -61,6 +61,19 @@ template struct SharedChannel { arpOff=0; baseNoteOverride=0; fixedArp=false; + if (active && !std.brokenOutVol()) { + if (which==NULL) { + if (macroVol!=maxVol) { + macroVol=maxVol; + volChanged=true; + } + } else if (which->std.volMacro.len==0) { + if (macroVol!=maxVol) { + macroVol=maxVol; + volChanged=true; + } + } + } } SharedChannel(T initVol): freq(0), @@ -79,9 +92,11 @@ template struct SharedChannel { keyOff(false), portaPause(false), inPorta(false), - volChanged(false), + volChanged(true), vol(initVol), + macroVol(initVol), outVol(initVol), + maxVol(initVol), std() {} }; diff --git a/src/engine/macroInt.cpp b/src/engine/macroInt.cpp index 557777cc8..1efbbe87f 100644 --- a/src/engine/macroInt.cpp +++ b/src/engine/macroInt.cpp @@ -43,7 +43,6 @@ void DivMacroStruct::prepare(DivInstrumentMacro& source, DivEngine* e) { mode=source.mode; type=(source.open>>1)&3; activeRelease=source.open&8; - linger=(source.macroType==DIV_MACRO_VOL && e->song.volMacroLinger); lfoPos=LFO_PHASE; } @@ -64,7 +63,7 @@ void DivMacroStruct::doMacro(DivInstrumentMacro& source, bool released, bool tic } if (delay>0) { delay--; - if (!linger) had=false; + had=false; return; } if (began && source.delay>0) { @@ -98,8 +97,6 @@ void DivMacroStruct::doMacro(DivInstrumentMacro& source, bool released, bool tic if (pos>=source.len) { if (source.loop=source.rel || source.rel>=source.len)) { pos=source.loop; - } else if (linger) { - pos--; } else { has=false; } @@ -140,7 +137,7 @@ void DivMacroStruct::doMacro(DivInstrumentMacro& source, bool released, bool tic break; case 4: // end pos=0; - if (!linger) has=false; + has=false; break; } val=ADSR_LOW+((pos+(ADSR_HIGH-ADSR_LOW)*pos)>>8); @@ -253,6 +250,11 @@ void DivMacroInt::setEngine(DivEngine* eng) { e=eng; } +bool DivMacroInt::brokenOutVol() { + if (e==NULL) return false; + return e->song.brokenOutVol; +} + #define ADD_MACRO(m,s) \ if (!m.masked) { \ macroList[macroListLen]=&m; \ diff --git a/src/engine/macroInt.h b/src/engine/macroInt.h index 28e605029..f68df9ec1 100644 --- a/src/engine/macroInt.h +++ b/src/engine/macroInt.h @@ -27,14 +27,13 @@ class DivEngine; struct DivMacroStruct { int pos, lastPos, lfoPos, delay; int val; - bool has, had, actualHad, finished, will, linger, began, masked, activeRelease; + bool has, had, actualHad, finished, will, began, masked, activeRelease; unsigned int mode, type; unsigned char macroType; void doMacro(DivInstrumentMacro& source, bool released, bool tick); void init() { pos=lastPos=lfoPos=mode=type=delay=0; has=had=actualHad=will=false; - linger=false; began=true; // TODO: test whether this breaks anything? val=0; @@ -51,7 +50,6 @@ struct DivMacroStruct { actualHad(false), finished(false), will(false), - linger(false), began(true), masked(false), activeRelease(false), @@ -109,6 +107,12 @@ class DivMacroInt { // state bool hasRelease; + /** + * get whether brokenOutVol is enabled. + * @return the value of brokenOutVol, or false if not bound to an engine. + */ + bool brokenOutVol(); + /** * set mask on macro. */ diff --git a/src/engine/platform/amiga.cpp b/src/engine/platform/amiga.cpp index a4e279dad..c4d1ed067 100644 --- a/src/engine/platform/amiga.cpp +++ b/src/engine/platform/amiga.cpp @@ -68,17 +68,6 @@ const char** DivPlatformAmiga::getRegisterSheet() { return regCheatSheetAmiga; } -#define writeAudDat(x) \ - chan[i].audDat=x; \ - if (i<3 && chan[i].useV) { \ - chan[i+1].outVol=(unsigned char)chan[i].audDat^0x80; \ - if (chan[i+1].outVol>64) chan[i+1].outVol=64; \ - } \ - if (i<3 && chan[i].useP) { \ - chan[i+1].freq=(unsigned char)chan[i].audDat^0x80; \ - if (chan[i+1].freq>6; - chan[i].writeVol=true; + chan[i].macroVol=chan[i].std.vol.val; + chan[i].volChanged=true; } double off=1.0; if (!chan[i].useWave && chan[i].sample>=0 && chan[i].samplesong.sampleLen) { @@ -516,8 +505,9 @@ void DivPlatformAmiga::tick(bool sysTick) { } for (int i=0; i<4; i++) { - if (chan[i].writeVol) { - chan[i].writeVol=false; + if (chan[i].volChanged) { + chan[i].outVol=((chan[i].vol%65)*MIN(64,chan[i].macroVol))>>6; + chan[i].volChanged=false; chWrite(i,8,chan[i].outVol); } if (chan[i].updateWave) { @@ -585,10 +575,6 @@ int DivPlatformAmiga::dispatch(DivCommand c) { chan[c.chan].active=true; chan[c.chan].keyOn=true; chan[c.chan].macroInit(ins); - if (!parent->song.brokenOutVol && !chan[c.chan].std.vol.will) { - chan[c.chan].outVol=chan[c.chan].vol; - chan[c.chan].writeVol=true; - } if (chan[c.chan].useWave) { chan[c.chan].ws.init(ins,chan[c.chan].audLen<<1,255,chan[c.chan].insChanged); chan[c.chan].updateWave=true; @@ -615,17 +601,12 @@ int DivPlatformAmiga::dispatch(DivCommand c) { case DIV_CMD_VOLUME: if (chan[c.chan].vol!=c.value) { chan[c.chan].vol=c.value; - if (!chan[c.chan].std.vol.has) { - chan[c.chan].outVol=c.value; - chan[c.chan].writeVol=true; - } + if (!parent->song.volMacroLinger) chan[c.chan].macroVol=chan[c.chan].maxVol; + chan[c.chan].volChanged=true; } break; case DIV_CMD_GET_VOLUME: - if (chan[c.chan].std.vol.has) { - return chan[c.chan].vol; - } - return chan[c.chan].outVol; + return chan[c.chan].vol; break; case DIV_CMD_PITCH: chan[c.chan].pitch=c.value; diff --git a/src/engine/platform/amiga.h b/src/engine/platform/amiga.h index a05a5994d..97accae1f 100644 --- a/src/engine/platform/amiga.h +++ b/src/engine/platform/amiga.h @@ -30,7 +30,7 @@ class DivPlatformAmiga: public DivDispatch { int audSub; unsigned char volPos; int sample, wave; - bool useWave, setPos, useV, useP, dmaOn, audDatClock, writeVol, updateWave; + bool useWave, setPos, useV, useP, dmaOn, audDatClock, updateWave; DivWaveSynth ws; Channel(): SharedChannel(64), @@ -49,7 +49,6 @@ class DivPlatformAmiga: public DivDispatch { useP(false), dmaOn(false), audDatClock(false), - writeVol(true), updateWave(true) {} }; Channel chan[4]; From 54187d043d9c1b0871263205320234a6a7ac95d8 Mon Sep 17 00:00:00 2001 From: tildearrow Date: Sat, 4 Nov 2023 04:13:20 -0500 Subject: [PATCH 82/99] Revert "volume handling refactor, part 1 - BEWARE" This reverts commit e1cb84a0762f8d9bfe40ac023f20b71755f36bb3. --- src/engine/chipUtils.h | 19 ++----------------- src/engine/macroInt.cpp | 12 +++++------- src/engine/macroInt.h | 10 +++------- src/engine/platform/amiga.cpp | 35 +++++++++++++++++++++++++++-------- src/engine/platform/amiga.h | 3 ++- 5 files changed, 39 insertions(+), 40 deletions(-) diff --git a/src/engine/chipUtils.h b/src/engine/chipUtils.h index eccf9621f..7607193bb 100644 --- a/src/engine/chipUtils.h +++ b/src/engine/chipUtils.h @@ -31,7 +31,7 @@ template struct SharedChannel { int freq, baseFreq, baseNoteOverride, pitch, pitch2, arpOff; int ins, note; bool active, insChanged, freqChanged, fixedArp, keyOn, keyOff, portaPause, inPorta, volChanged; - T vol, macroVol, outVol, maxVol; + T vol, outVol; DivMacroInt std; void handleArp(int offset=0) { if (std.arp.had) { @@ -61,19 +61,6 @@ template struct SharedChannel { arpOff=0; baseNoteOverride=0; fixedArp=false; - if (active && !std.brokenOutVol()) { - if (which==NULL) { - if (macroVol!=maxVol) { - macroVol=maxVol; - volChanged=true; - } - } else if (which->std.volMacro.len==0) { - if (macroVol!=maxVol) { - macroVol=maxVol; - volChanged=true; - } - } - } } SharedChannel(T initVol): freq(0), @@ -92,11 +79,9 @@ template struct SharedChannel { keyOff(false), portaPause(false), inPorta(false), - volChanged(true), + volChanged(false), vol(initVol), - macroVol(initVol), outVol(initVol), - maxVol(initVol), std() {} }; diff --git a/src/engine/macroInt.cpp b/src/engine/macroInt.cpp index 1efbbe87f..557777cc8 100644 --- a/src/engine/macroInt.cpp +++ b/src/engine/macroInt.cpp @@ -43,6 +43,7 @@ void DivMacroStruct::prepare(DivInstrumentMacro& source, DivEngine* e) { mode=source.mode; type=(source.open>>1)&3; activeRelease=source.open&8; + linger=(source.macroType==DIV_MACRO_VOL && e->song.volMacroLinger); lfoPos=LFO_PHASE; } @@ -63,7 +64,7 @@ void DivMacroStruct::doMacro(DivInstrumentMacro& source, bool released, bool tic } if (delay>0) { delay--; - had=false; + if (!linger) had=false; return; } if (began && source.delay>0) { @@ -97,6 +98,8 @@ void DivMacroStruct::doMacro(DivInstrumentMacro& source, bool released, bool tic if (pos>=source.len) { if (source.loop=source.rel || source.rel>=source.len)) { pos=source.loop; + } else if (linger) { + pos--; } else { has=false; } @@ -137,7 +140,7 @@ void DivMacroStruct::doMacro(DivInstrumentMacro& source, bool released, bool tic break; case 4: // end pos=0; - has=false; + if (!linger) has=false; break; } val=ADSR_LOW+((pos+(ADSR_HIGH-ADSR_LOW)*pos)>>8); @@ -250,11 +253,6 @@ void DivMacroInt::setEngine(DivEngine* eng) { e=eng; } -bool DivMacroInt::brokenOutVol() { - if (e==NULL) return false; - return e->song.brokenOutVol; -} - #define ADD_MACRO(m,s) \ if (!m.masked) { \ macroList[macroListLen]=&m; \ diff --git a/src/engine/macroInt.h b/src/engine/macroInt.h index f68df9ec1..28e605029 100644 --- a/src/engine/macroInt.h +++ b/src/engine/macroInt.h @@ -27,13 +27,14 @@ class DivEngine; struct DivMacroStruct { int pos, lastPos, lfoPos, delay; int val; - bool has, had, actualHad, finished, will, began, masked, activeRelease; + bool has, had, actualHad, finished, will, linger, began, masked, activeRelease; unsigned int mode, type; unsigned char macroType; void doMacro(DivInstrumentMacro& source, bool released, bool tick); void init() { pos=lastPos=lfoPos=mode=type=delay=0; has=had=actualHad=will=false; + linger=false; began=true; // TODO: test whether this breaks anything? val=0; @@ -50,6 +51,7 @@ struct DivMacroStruct { actualHad(false), finished(false), will(false), + linger(false), began(true), masked(false), activeRelease(false), @@ -107,12 +109,6 @@ class DivMacroInt { // state bool hasRelease; - /** - * get whether brokenOutVol is enabled. - * @return the value of brokenOutVol, or false if not bound to an engine. - */ - bool brokenOutVol(); - /** * set mask on macro. */ diff --git a/src/engine/platform/amiga.cpp b/src/engine/platform/amiga.cpp index c4d1ed067..a4e279dad 100644 --- a/src/engine/platform/amiga.cpp +++ b/src/engine/platform/amiga.cpp @@ -68,6 +68,17 @@ const char** DivPlatformAmiga::getRegisterSheet() { return regCheatSheetAmiga; } +#define writeAudDat(x) \ + chan[i].audDat=x; \ + if (i<3 && chan[i].useV) { \ + chan[i+1].outVol=(unsigned char)chan[i].audDat^0x80; \ + if (chan[i+1].outVol>64) chan[i+1].outVol=64; \ + } \ + if (i<3 && chan[i].useP) { \ + chan[i+1].freq=(unsigned char)chan[i].audDat^0x80; \ + if (chan[i+1].freq>6; + chan[i].writeVol=true; } double off=1.0; if (!chan[i].useWave && chan[i].sample>=0 && chan[i].samplesong.sampleLen) { @@ -505,9 +516,8 @@ void DivPlatformAmiga::tick(bool sysTick) { } for (int i=0; i<4; i++) { - if (chan[i].volChanged) { - chan[i].outVol=((chan[i].vol%65)*MIN(64,chan[i].macroVol))>>6; - chan[i].volChanged=false; + if (chan[i].writeVol) { + chan[i].writeVol=false; chWrite(i,8,chan[i].outVol); } if (chan[i].updateWave) { @@ -575,6 +585,10 @@ int DivPlatformAmiga::dispatch(DivCommand c) { chan[c.chan].active=true; chan[c.chan].keyOn=true; chan[c.chan].macroInit(ins); + if (!parent->song.brokenOutVol && !chan[c.chan].std.vol.will) { + chan[c.chan].outVol=chan[c.chan].vol; + chan[c.chan].writeVol=true; + } if (chan[c.chan].useWave) { chan[c.chan].ws.init(ins,chan[c.chan].audLen<<1,255,chan[c.chan].insChanged); chan[c.chan].updateWave=true; @@ -601,12 +615,17 @@ int DivPlatformAmiga::dispatch(DivCommand c) { case DIV_CMD_VOLUME: if (chan[c.chan].vol!=c.value) { chan[c.chan].vol=c.value; - if (!parent->song.volMacroLinger) chan[c.chan].macroVol=chan[c.chan].maxVol; - chan[c.chan].volChanged=true; + if (!chan[c.chan].std.vol.has) { + chan[c.chan].outVol=c.value; + chan[c.chan].writeVol=true; + } } break; case DIV_CMD_GET_VOLUME: - return chan[c.chan].vol; + if (chan[c.chan].std.vol.has) { + return chan[c.chan].vol; + } + return chan[c.chan].outVol; break; case DIV_CMD_PITCH: chan[c.chan].pitch=c.value; diff --git a/src/engine/platform/amiga.h b/src/engine/platform/amiga.h index 97accae1f..a05a5994d 100644 --- a/src/engine/platform/amiga.h +++ b/src/engine/platform/amiga.h @@ -30,7 +30,7 @@ class DivPlatformAmiga: public DivDispatch { int audSub; unsigned char volPos; int sample, wave; - bool useWave, setPos, useV, useP, dmaOn, audDatClock, updateWave; + bool useWave, setPos, useV, useP, dmaOn, audDatClock, writeVol, updateWave; DivWaveSynth ws; Channel(): SharedChannel(64), @@ -49,6 +49,7 @@ class DivPlatformAmiga: public DivDispatch { useP(false), dmaOn(false), audDatClock(false), + writeVol(true), updateWave(true) {} }; Channel chan[4]; From 6df06a7f89b26bc1710f9c13ca3451dc7f262295 Mon Sep 17 00:00:00 2001 From: tildearrow Date: Sat, 4 Nov 2023 04:13:30 -0500 Subject: [PATCH 83/99] Revert "prepare for volume handling refactor" sorry......... this refactor is canceled as it seems harder than I thought... --- src/engine/chipUtils.h | 3 +- src/engine/platform/es5506.cpp | 38 +- src/engine/platform/es5506.h | 4 +- src/gui/debug.cpp | 859 ++++++++++++++++++++++++++++++++- 4 files changed, 879 insertions(+), 25 deletions(-) diff --git a/src/engine/chipUtils.h b/src/engine/chipUtils.h index 7607193bb..4ddc0738d 100644 --- a/src/engine/chipUtils.h +++ b/src/engine/chipUtils.h @@ -30,7 +30,7 @@ template struct SharedChannel { int freq, baseFreq, baseNoteOverride, pitch, pitch2, arpOff; int ins, note; - bool active, insChanged, freqChanged, fixedArp, keyOn, keyOff, portaPause, inPorta, volChanged; + bool active, insChanged, freqChanged, fixedArp, keyOn, keyOff, portaPause, inPorta; T vol, outVol; DivMacroInt std; void handleArp(int offset=0) { @@ -79,7 +79,6 @@ template struct SharedChannel { keyOff(false), portaPause(false), inPorta(false), - volChanged(false), vol(initVol), outVol(initVol), std() {} diff --git a/src/engine/platform/es5506.cpp b/src/engine/platform/es5506.cpp index 2881bbc42..64aca0be5 100644 --- a/src/engine/platform/es5506.cpp +++ b/src/engine/platform/es5506.cpp @@ -191,22 +191,22 @@ void DivPlatformES5506::tick(bool sysTick) { const int nextVol=VOL_SCALE_LOG((0xfff*chan[i].vol)/0xff,(0xfff*chan[i].std.vol.val)/chan[i].volMacroMax,0xfff); if (chan[i].outVol!=nextVol) { chan[i].outVol=nextVol; - chan[i].volChangedES.lVol=1; - chan[i].volChangedES.rVol=1; + chan[i].volChanged.lVol=1; + chan[i].volChanged.rVol=1; } } if (chan[i].std.panL.had) { const int nextLVol=VOL_SCALE_LOG((0xfff*chan[i].lVol)/0xff,(0xfff*chan[i].std.panL.val)/chan[i].panMacroMax,0xfff); if (chan[i].outLVol!=nextLVol) { chan[i].outLVol=nextLVol; - chan[i].volChangedES.lVol=1; + chan[i].volChanged.lVol=1; } } if (chan[i].std.panR.had) { const int nextRVol=VOL_SCALE_LOG((0xfff*chan[i].rVol)/0xff,(0xfff*chan[i].std.panR.val)/chan[i].panMacroMax,0xfff); if (chan[i].outRVol!=nextRVol) { chan[i].outRVol=nextRVol; - chan[i].volChangedES.rVol=1; + chan[i].volChanged.rVol=1; } } // arpeggio/pitch macros, frequency related @@ -340,7 +340,7 @@ void DivPlatformES5506::tick(bool sysTick) { if (chan[i].ca!=ca) { chan[i].ca=ca; if (!chan[i].keyOn) { - chan[i].volChangedES.ca=1; + chan[i].volChanged.ca=1; } } } @@ -360,9 +360,9 @@ void DivPlatformES5506::tick(bool sysTick) { } } // update registers - if (chan[i].volChangedES.changed) { + if (chan[i].volChanged.changed) { // calculate volume (16 bit) - if (chan[i].volChangedES.lVol) { + if (chan[i].volChanged.lVol) { chan[i].resLVol=VOL_SCALE_LOG(chan[i].outVol,chan[i].outLVol,0xfff); chan[i].resLVol-=volScale; if (chan[i].resLVol<0) chan[i].resLVol=0; @@ -371,7 +371,7 @@ void DivPlatformES5506::tick(bool sysTick) { pageWrite(0x00|i,0x02,chan[i].resLVol); } } - if (chan[i].volChangedES.rVol) { + if (chan[i].volChanged.rVol) { chan[i].resRVol=VOL_SCALE_LOG(chan[i].outVol,chan[i].outRVol,0xfff); chan[i].resRVol-=volScale; if (chan[i].resRVol<0) chan[i].resRVol=0; @@ -380,10 +380,10 @@ void DivPlatformES5506::tick(bool sysTick) { pageWrite(0x00|i,0x04,chan[i].resRVol); } } - if (chan[i].volChangedES.ca) { + if (chan[i].volChanged.ca) { pageWriteMask(0x00|i,0x5f,0x00,(chan[i].ca<<10),0x1c00); } - chan[i].volChangedES.changed=0; + chan[i].volChanged.changed=0; } if (chan[i].pcmChanged.changed) { if (chan[i].pcmChanged.index) { @@ -750,7 +750,7 @@ int DivPlatformES5506::dispatch(DivCommand c) { chan[c.chan].freqChanged=true; chan[c.chan].pcmChanged.changed=0xff; chan[c.chan].noteChanged.changed=0xff; - chan[c.chan].volChangedES.changed=0xff; + chan[c.chan].volChanged.changed=0xff; } if (!chan[c.chan].std.vol.will) { chan[c.chan].outVol=(0xfff*chan[c.chan].vol)/0xff; @@ -787,7 +787,7 @@ int DivPlatformES5506::dispatch(DivCommand c) { chan[c.chan].vol=c.value; if (!chan[c.chan].std.vol.has) { chan[c.chan].outVol=(0xfff*c.value)/0xff; - chan[c.chan].volChangedES.changed=0xff; + chan[c.chan].volChanged.changed=0xff; } } break; @@ -797,14 +797,14 @@ int DivPlatformES5506::dispatch(DivCommand c) { case DIV_CMD_PANNING: { if (chan[c.chan].ca!=0) { chan[c.chan].ca=0; - chan[c.chan].volChangedES.ca=1; + chan[c.chan].volChanged.ca=1; } // Left volume if (chan[c.chan].lVol!=c.value) { chan[c.chan].lVol=c.value; if (!chan[c.chan].std.panL.has) { chan[c.chan].outLVol=(0xfff*c.value)/0xff; - chan[c.chan].volChangedES.lVol=1; + chan[c.chan].volChanged.lVol=1; } } // Right volume @@ -812,7 +812,7 @@ int DivPlatformES5506::dispatch(DivCommand c) { chan[c.chan].rVol=c.value2; if (!chan[c.chan].std.panR.has) { chan[c.chan].outRVol=(0xfff*c.value2)/0xff; - chan[c.chan].volChangedES.rVol=1; + chan[c.chan].volChanged.rVol=1; } } break; @@ -821,7 +821,7 @@ int DivPlatformES5506::dispatch(DivCommand c) { unsigned char ca=CLAMP(c.value>>1,0,5); if (chan[c.chan].ca!=ca) { chan[c.chan].ca=ca; - chan[c.chan].volChangedES.ca=1; + chan[c.chan].volChanged.ca=1; } if ((c.value&1)==0) { // Left volume @@ -829,7 +829,7 @@ int DivPlatformES5506::dispatch(DivCommand c) { chan[c.chan].lVol=c.value2; if (!chan[c.chan].std.panL.has) { chan[c.chan].outLVol=(0xfff*c.value2)/0xff; - chan[c.chan].volChangedES.lVol=1; + chan[c.chan].volChanged.lVol=1; } } } @@ -839,7 +839,7 @@ int DivPlatformES5506::dispatch(DivCommand c) { chan[c.chan].rVol=c.value2; if (!chan[c.chan].std.panR.has) { chan[c.chan].outRVol=(0xfff*c.value2)/0xff; - chan[c.chan].volChangedES.rVol=1; + chan[c.chan].volChanged.rVol=1; } } } @@ -1041,7 +1041,7 @@ void DivPlatformES5506::forceIns() { chan[i].insChanged=true; chan[i].freqChanged=true; chan[i].noteChanged.changed=0xff; - chan[i].volChangedES.changed=0xff; + chan[i].volChanged.changed=0xff; chan[i].filterChanged.changed=0xff; chan[i].envChanged.changed=0xff; chan[i].pcmChanged.changed=0xff; diff --git a/src/engine/platform/es5506.h b/src/engine/platform/es5506.h index e02dd4116..6bac20c37 100644 --- a/src/engine/platform/es5506.h +++ b/src/engine/platform/es5506.h @@ -97,7 +97,7 @@ class DivPlatformES5506: public DivDispatch, public es550x_intf { VolChanged() : changed(0) {} - } volChangedES; + } volChanged; struct FilterChanged { // Filter changed flags union { // pack flag bits in single byte @@ -198,7 +198,7 @@ class DivPlatformES5506: public DivDispatch, public es550x_intf { isReverseLoop(false), cr(0), noteChanged(NoteChanged()), - volChangedES(VolChanged()), + volChanged(VolChanged()), filterChanged(FilterChanged()), envChanged(EnvChanged()), pcmChanged(PCMChanged()), diff --git a/src/gui/debug.cpp b/src/gui/debug.cpp index a799fd105..df634f1e8 100644 --- a/src/gui/debug.cpp +++ b/src/gui/debug.cpp @@ -237,8 +237,863 @@ ImGui::TextColored(ch->mask?colorOn:colorOff,">> Mask"); void putDispatchChip(void* data, int type) { - ImGui::Text("I will finish later..."); + ImVec4 colorOn=ImVec4(1.0f,1.0f,0.0f,1.0f); + ImVec4 colorOff=ImVec4(0.3f,0.3f,0.3f,1.0f); + switch (type) { + case DIV_SYSTEM_YM2612: + case DIV_SYSTEM_YM2612_EXT: + case DIV_SYSTEM_YM2612_DUALPCM: + case DIV_SYSTEM_YM2612_DUALPCM_EXT: { + GENESIS_CHIP_DEBUG; + break; + } + case DIV_SYSTEM_GENESIS: + case DIV_SYSTEM_GENESIS_EXT: { + GENESIS_CHIP_DEBUG; + SMS_CHIP_DEBUG; + break; + } + case DIV_SYSTEM_SMS: { + SMS_CHIP_DEBUG; + break; + } + case DIV_SYSTEM_YM2203: + case DIV_SYSTEM_YM2203_EXT: { + DivPlatformYM2203* ch=(DivPlatformYM2203*)data; + ImGui::Text("> YM2203"); + FM_OPN_CHIP_DEBUG; + ImGui::Text("- sampleBank: %d",ch->sampleBank); + ImGui::Text("- prescale: %d",ch->prescale); + FM_OPN_CHIP_DEBUG_BOOL; + ImGui::TextColored(ch->extMode?colorOn:colorOff,">> ExtMode"); + break; + } + case DIV_SYSTEM_YM2608: + case DIV_SYSTEM_YM2608_EXT: { + DivPlatformYM2608* ch=(DivPlatformYM2608*)data; + ImGui::Text("> YM2608"); + FM_OPN_CHIP_DEBUG; + ImGui::Text("- sampleBank: %d",ch->sampleBank); + ImGui::Text("- writeRSSOff: %d",ch->writeRSSOff); + ImGui::Text("- writeRSSOn: %d",ch->writeRSSOn); + ImGui::Text("- globalRSSVolume: %d",ch->globalRSSVolume); + ImGui::Text("- prescale: %d",ch->prescale); + FM_OPN_CHIP_DEBUG_BOOL; + ImGui::TextColored(ch->extMode?colorOn:colorOff,">> ExtMode"); + break; + } + case DIV_SYSTEM_YM2610: + case DIV_SYSTEM_YM2610_EXT: + case DIV_SYSTEM_YM2610_FULL: + case DIV_SYSTEM_YM2610_FULL_EXT: { + DivPlatformYM2610* ch=(DivPlatformYM2610*)data; + ImGui::Text("> YM2610"); + OPNB_CHIP_DEBUG; + break; + } + case DIV_SYSTEM_YM2610B: + case DIV_SYSTEM_YM2610B_EXT: { + DivPlatformYM2610B* ch=(DivPlatformYM2610B*)data; + ImGui::Text("> YM2610B"); + OPNB_CHIP_DEBUG; + break; + } + case DIV_SYSTEM_GB: { + DivPlatformGB* ch=(DivPlatformGB*)data; + ImGui::Text("> GameBoy"); + COMMON_CHIP_DEBUG; + ImGui::Text("- lastPan: %d",ch->lastPan); + ImGui::Text("- antiClickPeriodCount: %d",ch->antiClickPeriodCount); + ImGui::Text("- antiClickWavePos: %d",ch->antiClickWavePos); + COMMON_CHIP_DEBUG_BOOL; + ImGui::TextColored(ch->antiClickEnabled?colorOn:colorOff,">> AntiClickEnabled"); + break; + } + case DIV_SYSTEM_PCE: { + DivPlatformPCE* ch=(DivPlatformPCE*)data; + ImGui::Text("> PCEngine"); + COMMON_CHIP_DEBUG; + ImGui::Text("- lastPan: %d",ch->lastPan); + ImGui::Text("- cycles: %d",ch->cycles); + ImGui::Text("- curChan: %d",ch->curChan); + ImGui::Text("- delay: %d",ch->delay); + ImGui::Text("- sampleBank: %d",ch->sampleBank); + ImGui::Text("- lfoMode: %d",ch->lfoMode); + ImGui::Text("- lfoSpeed: %d",ch->lfoSpeed); + COMMON_CHIP_DEBUG_BOOL; + ImGui::TextColored(ch->antiClickEnabled?colorOn:colorOff,">> AntiClickEnabled"); + break; + } + case DIV_SYSTEM_NES: { + DivPlatformNES* ch=(DivPlatformNES*)data; + ImGui::Text("> NES"); + COMMON_CHIP_DEBUG; + ImGui::Text("* DAC:"); + ImGui::Text(" - Period: %d",ch->dacPeriod); + ImGui::Text(" - Rate: %d",ch->dacRate); + ImGui::Text(" - Pos: %d",ch->dacPos); + ImGui::Text(" - AntiClick: %d",ch->dacAntiClick); + ImGui::Text(" - Sample: %d",ch->dacSample); + ImGui::Text("- dpcmBank: %d",ch->dpcmBank); + ImGui::Text("- sampleBank: %d",ch->sampleBank); + ImGui::Text("- writeOscBuf: %d",ch->writeOscBuf); + ImGui::Text("- apuType: %d",ch->apuType); + COMMON_CHIP_DEBUG_BOOL; + ImGui::TextColored(ch->dpcmMode?colorOn:colorOff,">> DPCMMode"); + ImGui::TextColored(ch->dacAntiClickOn?colorOn:colorOff,">> DACAntiClickOn"); + ImGui::TextColored(ch->useNP?colorOn:colorOff,">> UseNP"); + ImGui::TextColored(ch->goingToLoop?colorOn:colorOff,">> GoingToLoop"); + break; + } + case DIV_SYSTEM_C64_6581: case DIV_SYSTEM_C64_8580: { + DivPlatformC64* ch=(DivPlatformC64*)data; + ImGui::Text("> C64"); + COMMON_CHIP_DEBUG; + ImGui::Text("- filtControl: %d",ch->filtControl); + ImGui::Text("- filtRes: %d",ch->filtRes); + ImGui::Text("- vol: %d",ch->vol); + ImGui::Text("- writeOscBuf: %d",ch->writeOscBuf); + ImGui::Text("- filtCut: %d",ch->filtCut); + ImGui::Text("- resetTime: %d",ch->resetTime); + COMMON_CHIP_DEBUG_BOOL; + break; + } + case DIV_SYSTEM_ARCADE: + case DIV_SYSTEM_YM2151: { + DivPlatformArcade* ch=(DivPlatformArcade*)data; + ImGui::Text("> YM2151"); + FM_CHIP_DEBUG; + ImGui::Text("- baseFreqOff: %d",ch->baseFreqOff); + ImGui::Text("- amDepth: %d",ch->amDepth); + ImGui::Text("- pmDepth: %d",ch->pmDepth); + FM_CHIP_DEBUG_BOOL; + ImGui::TextColored(ch->useYMFM?colorOn:colorOff,">> UseYMFM"); + break; + } + case DIV_SYSTEM_SEGAPCM: + case DIV_SYSTEM_SEGAPCM_COMPAT: { + DivPlatformSegaPCM* ch=(DivPlatformSegaPCM*)data; + ImGui::Text("> SegaPCM"); + COMMON_CHIP_DEBUG; + ImGui::Text("- delay: %d",ch->delay); + ImGui::Text("- pcmL: %d",ch->pcmL); + ImGui::Text("- pcmR: %d",ch->pcmR); + ImGui::Text("- pcmCycles: %d",ch->pcmCycles); + ImGui::Text("- sampleBank: %d",ch->sampleBank); + COMMON_CHIP_DEBUG_BOOL; + break; + } + case DIV_SYSTEM_AY8910: { + DivPlatformAY8910* ch=(DivPlatformAY8910*)data; + ImGui::Text("> AY-3-8910"); + COMMON_CHIP_DEBUG; + ImGui::Text("- sampleBank: %d",ch->sampleBank); + ImGui::Text("- stereoSep: %d",ch->stereoSep); + ImGui::Text("- delay: %d",ch->delay); + ImGui::Text("- extClock: %d",ch->extClock); + ImGui::Text("- extDiv: %d",ch->extDiv); + ImGui::Text("- portAVal: %d",ch->portAVal); + ImGui::Text("- portBVal: %d",ch->portBVal); + ImGui::Text("* envelope:"); + ImGui::Text(" - mode: %d",ch->ayEnvMode); + ImGui::Text(" - period: %d",ch->ayEnvPeriod); + ImGui::Text(" * slide: %d",ch->ayEnvSlide); + ImGui::Text(" - slideLow: %d",ch->ayEnvSlideLow); + COMMON_CHIP_DEBUG_BOOL; + ImGui::TextColored(ch->extMode?colorOn:colorOff,">> ExtMode"); + ImGui::TextColored(ch->stereo?colorOn:colorOff,">> Stereo"); + ImGui::TextColored(ch->sunsoft?colorOn:colorOff,">> Sunsoft"); + ImGui::TextColored(ch->intellivision?colorOn:colorOff,">> Intellivision"); + ImGui::TextColored(ch->clockSel?colorOn:colorOff,">> ClockSel"); + ImGui::TextColored(ch->ioPortA?colorOn:colorOff,">> IoPortA"); + ImGui::TextColored(ch->ioPortB?colorOn:colorOff,">> IoPortB"); + break; + } + case DIV_SYSTEM_AY8930: { + DivPlatformAY8930* ch=(DivPlatformAY8930*)data; + ImGui::Text("> AY8930"); + COMMON_CHIP_DEBUG; + ImGui::Text("* noise:"); + ImGui::Text(" - and: %d",ch->ayNoiseAnd); + ImGui::Text(" - or: %d",ch->ayNoiseOr); + ImGui::Text("- sampleBank: %d",ch->sampleBank); + ImGui::Text("- stereoSep: %d",ch->stereoSep); + ImGui::Text("- delay: %d",ch->delay); + ImGui::Text("- portAVal: %d",ch->portAVal); + ImGui::Text("- portBVal: %d",ch->portBVal); + COMMON_CHIP_DEBUG_BOOL; + ImGui::TextColored(ch->bank?colorOn:colorOff,">> Bank"); + ImGui::TextColored(ch->extMode?colorOn:colorOff,">> ExtMode"); + ImGui::TextColored(ch->stereo?colorOn:colorOff,">> Stereo"); + ImGui::TextColored(ch->clockSel?colorOn:colorOff,">> ClockSel"); + ImGui::TextColored(ch->ioPortA?colorOn:colorOff,">> IoPortA"); + ImGui::TextColored(ch->ioPortB?colorOn:colorOff,">> IoPortB"); + break; + } + case DIV_SYSTEM_QSOUND: { + DivPlatformQSound* ch=(DivPlatformQSound*)data; + ImGui::Text("> QSound"); + COMMON_CHIP_DEBUG; + ImGui::Text("* echo:"); + ImGui::Text(" - delay: %d",ch->echoDelay); + ImGui::Text(" - feedback: %d",ch->echoFeedback); + COMMON_CHIP_DEBUG_BOOL; + break; + } + case DIV_SYSTEM_X1_010: { + DivPlatformX1_010* ch=(DivPlatformX1_010*)data; + ImGui::Text("> X1-010"); + COMMON_CHIP_DEBUG; + ImGui::Text("- sampleBank: %d",ch->sampleBank); + ImGui::Text("- bankSlot: [%d,%d,%d,%d,%d,%d,%d,%d]",ch->bankSlot[0],ch->bankSlot[1],ch->bankSlot[2],ch->bankSlot[3],ch->bankSlot[4],ch->bankSlot[5],ch->bankSlot[6],ch->bankSlot[7]); + COMMON_CHIP_DEBUG_BOOL; + ImGui::TextColored(ch->stereo?colorOn:colorOff,">> Stereo"); + ImGui::TextColored(ch->isBanked?colorOn:colorOff,">> IsBanked"); + break; + } + case DIV_SYSTEM_N163: { + DivPlatformN163* ch=(DivPlatformN163*)data; + ImGui::Text("> N163"); + COMMON_CHIP_DEBUG; + ImGui::Text("- initChanMax: %d",ch->initChanMax); + ImGui::Text("- chanMax: %d",ch->chanMax); + ImGui::Text("- loadWave: %d",ch->loadWave); + ImGui::Text("- loadPos: %d",ch->loadPos); + COMMON_CHIP_DEBUG_BOOL; + ImGui::TextColored(ch->multiplex?colorOn:colorOff,">> Multiplex"); + break; + } + case DIV_SYSTEM_VRC6: { + DivPlatformVRC6* ch=(DivPlatformVRC6*)data; + ImGui::Text("> VRC6"); + COMMON_CHIP_DEBUG; + ImGui::Text("- sampleBank: %.2x",ch->sampleBank); + ImGui::Text("- writeOscBuf: %.2x",ch->writeOscBuf); + COMMON_CHIP_DEBUG_BOOL; + break; + } + case DIV_SYSTEM_LYNX: { + DivPlatformLynx* ch=(DivPlatformLynx*)data; + ImGui::Text("> Lynx"); + COMMON_CHIP_DEBUG; + COMMON_CHIP_DEBUG_BOOL; + break; + } + case DIV_SYSTEM_PCM_DAC: { + DivPlatformPCMDAC* ch=(DivPlatformPCMDAC*)data; + ImGui::Text("> PCM DAC"); + COMMON_CHIP_DEBUG; + ImGui::Text("- outDepth: %d",ch->outDepth); + COMMON_CHIP_DEBUG_BOOL; + ImGui::TextColored(ch->outStereo?colorOn:colorOff,">> OutStereo"); + break; + } + case DIV_SYSTEM_ES5506: { + DivPlatformES5506* ch=(DivPlatformES5506*)data; + ImGui::Text("> ES5506"); + COMMON_CHIP_DEBUG; + ImGui::Text("- cycle: %d",ch->cycle); + ImGui::Text("- curPage: %d",ch->curPage); + ImGui::Text("- volScale: %d",ch->volScale); + ImGui::Text("- maskedVal: %.2x",ch->maskedVal); + ImGui::Text("- irqv: %.2x",ch->irqv); + ImGui::Text("- curCR: %.8x",ch->curCR); + ImGui::Text("- initChanMax: %d",ch->initChanMax); + ImGui::Text("- chanMax: %d",ch->chanMax); + COMMON_CHIP_DEBUG_BOOL; + ImGui::TextColored(ch->isMasked?colorOn:colorOff,">> IsMasked"); + ImGui::TextColored(ch->isReaded?colorOn:colorOff,">> isReaded"); + ImGui::TextColored(ch->irqTrigger?colorOn:colorOff,">> IrqTrigger"); + break; + } + case DIV_SYSTEM_K007232: { + DivPlatformK007232* ch=(DivPlatformK007232*)data; + ImGui::Text("> K007232"); + COMMON_CHIP_DEBUG; + ImGui::Text("- delay: %.2x",ch->delay); + ImGui::Text("- lastLoop: %.2x",ch->lastLoop); + ImGui::Text("- lastVolume: %.2x",ch->lastVolume); + COMMON_CHIP_DEBUG_BOOL; + ImGui::TextColored(ch->stereo?colorOn:colorOff,">> Stereo"); + break; + } + case DIV_SYSTEM_GA20: { + DivPlatformGA20* ch=(DivPlatformGA20*)data; + ImGui::Text("> GA20"); + COMMON_CHIP_DEBUG; + ImGui::Text("- delay: %.2x",ch->delay); + COMMON_CHIP_DEBUG_BOOL; + break; + } + case DIV_SYSTEM_SM8521: { + DivPlatformSM8521* ch=(DivPlatformSM8521*)data; + ImGui::Text("> SM8521"); + COMMON_CHIP_DEBUG; + COMMON_CHIP_DEBUG_BOOL; + ImGui::TextColored(ch->antiClickEnabled?colorOn:colorOff,">> AntiClickEnabled"); + break; + } + case DIV_SYSTEM_PV1000: { + DivPlatformPV1000* ch=(DivPlatformPV1000*)data; + ImGui::Text("> PV1000"); + COMMON_CHIP_DEBUG; + COMMON_CHIP_DEBUG_BOOL; + break; + } + case DIV_SYSTEM_K053260: { + DivPlatformK053260* ch=(DivPlatformK053260*)data; + ImGui::Text("> K053260"); + COMMON_CHIP_DEBUG; + COMMON_CHIP_DEBUG_BOOL; + break; + } + case DIV_SYSTEM_C140: { + DivPlatformC140* ch=(DivPlatformC140*)data; + ImGui::Text("> C140"); + COMMON_CHIP_DEBUG; + COMMON_CHIP_DEBUG_BOOL; + break; + } + default: + ImGui::Text("Unimplemented chip! Help!"); + break; + } } void putDispatchChan(void* data, int chanNum, int type) { - ImGui::Text("I will finish later..."); + ImVec4 colorOn=ImVec4(1.0f,1.0f,0.0f,1.0f); + ImVec4 colorOff=ImVec4(0.3f,0.3f,0.3f,1.0f); + switch (type) { + case DIV_SYSTEM_GENESIS: { + if (chanNum>5) { + SMS_CHAN_DEBUG; + } else { + GENESIS_CHAN_DEBUG; + } + break; + } + case DIV_SYSTEM_GENESIS_EXT: { + if (chanNum>8) { + SMS_CHAN_DEBUG; + } else if (chanNum>=2 && chanNum<=5) { + DivPlatformOPN::OPNOpChannelStereo* ch=(DivPlatformOPN::OPNOpChannelStereo*)data; + ImGui::Text("> YM2612 (per operator)"); + OPNB_OPCHAN_DEBUG; + } else { + GENESIS_CHAN_DEBUG; + } + break; + } + case DIV_SYSTEM_YM2612: + case DIV_SYSTEM_YM2612_DUALPCM: { + GENESIS_CHAN_DEBUG; + break; + } + case DIV_SYSTEM_YM2612_EXT: + case DIV_SYSTEM_YM2612_DUALPCM_EXT: { + if (chanNum>=2 && chanNum<=5) { + DivPlatformOPN::OPNOpChannelStereo* ch=(DivPlatformOPN::OPNOpChannelStereo*)data; + ImGui::Text("> YM2612 (per operator)"); + OPNB_OPCHAN_DEBUG; + } else { + GENESIS_CHAN_DEBUG; + } + break; + } + case DIV_SYSTEM_SMS: { + SMS_CHAN_DEBUG; + break; + } + case DIV_SYSTEM_YM2203: { + OPN_CHAN_DEBUG; + break; + } + case DIV_SYSTEM_YM2203_EXT: { + if (chanNum>=2 && chanNum<=5) { + OPN_OPCHAN_DEBUG; + } else { + OPN_CHAN_DEBUG; + } + break; + } + case DIV_SYSTEM_YM2608: { + DivPlatformOPN::OPNChannelStereo* ch=(DivPlatformOPN::OPNChannelStereo*)data; + ImGui::Text("> YM2608"); + OPNB_CHAN_DEBUG; + break; + } + case DIV_SYSTEM_YM2608_EXT: { + if (chanNum>=2 && chanNum<=5) { + DivPlatformOPN::OPNOpChannelStereo* ch=(DivPlatformOPN::OPNOpChannelStereo*)data; + ImGui::Text("> YM2608 (per operator)"); + OPNB_OPCHAN_DEBUG; + } else { + DivPlatformOPN::OPNChannelStereo* ch=(DivPlatformOPN::OPNChannelStereo*)data; + ImGui::Text("> YM2608"); + OPNB_CHAN_DEBUG; + } + break; + } + case DIV_SYSTEM_YM2610: + case DIV_SYSTEM_YM2610_FULL: { + DivPlatformOPN::OPNChannelStereo* ch=(DivPlatformOPN::OPNChannelStereo*)data; + ImGui::Text("> YM2610"); + OPNB_CHAN_DEBUG; + break; + } + case DIV_SYSTEM_YM2610B: { + DivPlatformOPN::OPNChannelStereo* ch=(DivPlatformOPN::OPNChannelStereo*)data; + ImGui::Text("> YM2610B"); + OPNB_CHAN_DEBUG; + break; + } + case DIV_SYSTEM_YM2610_EXT: + case DIV_SYSTEM_YM2610_FULL_EXT: { + if (chanNum>=1 && chanNum<=4) { + DivPlatformOPN::OPNOpChannelStereo* ch=(DivPlatformOPN::OPNOpChannelStereo*)data; + ImGui::Text("> YM2610 (per operator)"); + OPNB_OPCHAN_DEBUG; + } else { + DivPlatformOPN::OPNChannelStereo* ch=(DivPlatformOPN::OPNChannelStereo*)data; + ImGui::Text("> YM2610"); + OPNB_CHAN_DEBUG; + } + break; + } + case DIV_SYSTEM_YM2610B_EXT: { + if (chanNum>=2 && chanNum<=5) { + DivPlatformOPN::OPNOpChannelStereo* ch=(DivPlatformOPN::OPNOpChannelStereo*)data; + ImGui::Text("> YM2610B (per operator)"); + OPNB_OPCHAN_DEBUG; + } else { + DivPlatformOPN::OPNChannelStereo* ch=(DivPlatformOPN::OPNChannelStereo*)data; + ImGui::Text("> YM2610B"); + OPNB_CHAN_DEBUG; + } + break; + } + case DIV_SYSTEM_GB: { + DivPlatformGB::Channel* ch=(DivPlatformGB::Channel*)data; + ImGui::Text("> GameBoy"); + COMMON_CHAN_DEBUG; + ImGui::Text("- duty: %d",ch->duty); + ImGui::Text("- sweep: %.2x",ch->sweep); + ImGui::Text("- wave: %d",ch->wave); + COMMON_CHAN_DEBUG_BOOL; + ImGui::TextColored(ch->sweepChanged?colorOn:colorOff,">> SweepChanged"); + break; + } + case DIV_SYSTEM_PCE: { + DivPlatformPCE::Channel* ch=(DivPlatformPCE::Channel*)data; + ImGui::Text("> PCEngine"); + COMMON_CHAN_DEBUG; + ImGui::Text("* DAC:"); + ImGui::Text(" - period: %d",ch->dacPeriod); + ImGui::Text(" - rate: %d",ch->dacRate); + ImGui::Text(" - pos: %d",ch->dacPos); + ImGui::Text(" - out: %d",ch->dacOut); + ImGui::Text(" - sample: %d",ch->dacSample); + ImGui::Text("- pan: %.2x",ch->pan); + ImGui::Text("- wave: %d",ch->wave); + ImGui::Text("- macroVolMul: %d",ch->macroVolMul); + COMMON_CHAN_DEBUG_BOOL; + ImGui::TextColored(ch->noise?colorOn:colorOff,">> Noise"); + ImGui::TextColored(ch->pcm?colorOn:colorOff,">> DAC"); + ImGui::TextColored(ch->furnaceDac?colorOn:colorOff,">> FurnaceDAC"); + break; + } + case DIV_SYSTEM_NES: { + DivPlatformNES::Channel* ch=(DivPlatformNES::Channel*)data; + ImGui::Text("> NES"); + COMMON_CHAN_DEBUG; + ImGui::Text(" - prev: %d",ch->prevFreq); + ImGui::Text("- duty: %d",ch->duty); + ImGui::Text("- sweep: %.2x",ch->sweep); + COMMON_CHAN_DEBUG_BOOL; + ImGui::TextColored(ch->sweepChanged?colorOn:colorOff,">> SweepChanged"); + ImGui::TextColored(ch->furnaceDac?colorOn:colorOff,">> FurnaceDAC"); + break; + } + case DIV_SYSTEM_C64_6581: case DIV_SYSTEM_C64_8580: { + DivPlatformC64::Channel* ch=(DivPlatformC64::Channel*)data; + ImGui::Text("> C64"); + COMMON_CHAN_DEBUG; + ImGui::Text("- prevFreq: %d",ch->prevFreq); + ImGui::Text("- testWhen: %d",ch->testWhen); + ImGui::Text("- duty: %d",ch->duty); + ImGui::Text("- sweep: %.2x",ch->sweep); + ImGui::Text("- wave: %.1x",ch->wave); + ImGui::Text("- ADSR: %.1x %.1x %.1x %.1x",ch->attack,ch->decay,ch->sustain,ch->release); + COMMON_CHAN_DEBUG_BOOL; + ImGui::TextColored(ch->sweepChanged?colorOn:colorOff,">> SweepChanged"); + ImGui::TextColored(ch->filter?colorOn:colorOff,">> Filter"); + ImGui::TextColored(ch->resetMask?colorOn:colorOff,">> ResetMask"); + ImGui::TextColored(ch->resetFilter?colorOn:colorOff,">> ResetFilter"); + ImGui::TextColored(ch->resetDuty?colorOn:colorOff,">> ResetDuty"); + ImGui::TextColored(ch->ring?colorOn:colorOff,">> Ring"); + ImGui::TextColored(ch->sync?colorOn:colorOff,">> Sync"); + break; + } + case DIV_SYSTEM_ARCADE: + case DIV_SYSTEM_YM2151: { + DivPlatformArcade::Channel* ch=(DivPlatformArcade::Channel*)data; + ImGui::Text("> YM2151"); + ImGui::Text("- freqHL: %.2x%.2x",ch->freqH,ch->freqL); + COMMON_CHAN_DEBUG; + ImGui::Text("- KOnCycles: %d",ch->konCycles); + ImGui::Text("- chVolL: %.2x",ch->chVolL); + ImGui::Text("- chVolR: %.2x",ch->chVolR); + COMMON_CHAN_DEBUG_BOOL; + break; + } + case DIV_SYSTEM_SEGAPCM: + case DIV_SYSTEM_SEGAPCM_COMPAT: { + DivPlatformSegaPCM::Channel* ch=(DivPlatformSegaPCM::Channel*)data; + ImGui::Text("> SegaPCM"); + COMMON_CHAN_DEBUG; + ImGui::Text("* PCM:"); + ImGui::Text(" - sample: %d",ch->pcm.sample); + ImGui::Text(" - pos: %d",ch->pcm.pos); + ImGui::Text(" - len: %d",ch->pcm.len); + ImGui::Text(" - freq: %d",ch->pcm.freq); + ImGui::Text("- chVolL: %.2x",ch->chVolL); + ImGui::Text("- chVolR: %.2x",ch->chVolR); + ImGui::Text("- chPanL: %.2x",ch->chPanL); + ImGui::Text("- chPanR: %.2x",ch->chPanR); + ImGui::Text("- macroVolMul: %.2x",ch->macroVolMul); + COMMON_CHAN_DEBUG_BOOL; + ImGui::TextColored(ch->furnacePCM?colorOn:colorOff,">> FurnacePCM"); + ImGui::TextColored(ch->isNewSegaPCM?colorOn:colorOff,">> IsNewSegaPCM"); + break; + } + case DIV_SYSTEM_AY8910: { + DivPlatformAY8910::Channel* ch=(DivPlatformAY8910::Channel*)data; + ImGui::Text("> AY-3-8910"); + COMMON_CHAN_DEBUG; + ImGui::Text("* DAC:"); + ImGui::Text(" - sample: %d",ch->dac.sample); + ImGui::Text(" - rate: %d",ch->dac.rate); + ImGui::Text(" - period: %d",ch->dac.period); + ImGui::Text(" - pos: %d",ch->dac.pos); + ImGui::Text(" - out: %d",ch->dac.out); + ImGui::Text("- autoEnvNum: %.2x",ch->autoEnvNum); + ImGui::Text("- autoEnvDen: %.2x",ch->autoEnvDen); + COMMON_CHAN_DEBUG_BOOL; + ImGui::TextColored(ch->dac.furnaceDAC?colorOn:colorOff,">> furnaceDAC"); + break; + } + case DIV_SYSTEM_AY8930: { + DivPlatformAY8930::Channel* ch=(DivPlatformAY8930::Channel*)data; + ImGui::Text("> AY8930"); + COMMON_CHAN_DEBUG; + ImGui::Text("- duty: %d",ch->duty); + ImGui::Text("* DAC:"); + ImGui::Text(" - sample: %d",ch->dac.sample); + ImGui::Text(" - rate: %d",ch->dac.rate); + ImGui::Text(" - period: %d",ch->dac.period); + ImGui::Text(" - pos: %d",ch->dac.pos); + ImGui::Text(" - out: %d",ch->dac.out); + ImGui::Text("- autoEnvNum: %.2x",ch->autoEnvNum); + ImGui::Text("- autoEnvDen: %.2x",ch->autoEnvDen); + COMMON_CHAN_DEBUG_BOOL; + ImGui::TextColored(ch->dac.furnaceDAC?colorOn:colorOff,">> furnaceDAC"); + break; + } + case DIV_SYSTEM_QSOUND: { + DivPlatformQSound::Channel* ch=(DivPlatformQSound::Channel*)data; + ImGui::Text("> QSound"); + COMMON_CHAN_DEBUG; + ImGui::Text("- sample: %d",ch->sample); + ImGui::Text("- echo: %d",ch->echo); + ImGui::Text("- panning: %d",ch->panning); + ImGui::Text("- resVol: %.2x",ch->resVol); + COMMON_CHAN_DEBUG_BOOL; + ImGui::TextColored(ch->useWave?colorOn:colorOff,">> UseWave"); + ImGui::TextColored(ch->surround?colorOn:colorOff,">> Surround"); + ImGui::TextColored(ch->isNewQSound?colorOn:colorOff,">> IsNewQSound"); + break; + } + case DIV_SYSTEM_X1_010: { + DivPlatformX1_010::Channel* ch=(DivPlatformX1_010::Channel*)data; + ImGui::Text("> X1-010"); + COMMON_CHAN_DEBUG; + ImGui::Text("- wave: %d",ch->wave); + ImGui::Text("- sample: %d",ch->sample); + ImGui::Text("- pan: %d",ch->pan); + ImGui::Text("* envelope:"); + ImGui::Text(" - shape: %d",ch->env.shape); + ImGui::Text(" - period: %.2x",ch->env.period); + ImGui::Text(" - slide: %.2x",ch->env.slide); + ImGui::Text(" - slidefrac: %.2x",ch->env.slidefrac); + ImGui::Text(" - autoEnvNum: %.2x",ch->autoEnvNum); + ImGui::Text(" - autoEnvDen: %.2x",ch->autoEnvDen); + ImGui::Text("- WaveBank: %d",ch->waveBank); + ImGui::Text("- bankSlot: %d",ch->bankSlot); + ImGui::Text("- Lvol: %.2x",ch->lvol); + ImGui::Text("- Rvol: %.2x",ch->rvol); + COMMON_CHAN_DEBUG_BOOL; + ImGui::TextColored(ch->envChanged?colorOn:colorOff,">> EnvChanged"); + ImGui::TextColored(ch->furnacePCM?colorOn:colorOff,">> FurnacePCM"); + ImGui::TextColored(ch->pcm?colorOn:colorOff,">> PCM"); + ImGui::TextColored(ch->env.flag.envEnable?colorOn:colorOff,">> EnvEnable"); + ImGui::TextColored(ch->env.flag.envOneshot?colorOn:colorOff,">> EnvOneshot"); + ImGui::TextColored(ch->env.flag.envSplit?colorOn:colorOff,">> EnvSplit"); + ImGui::TextColored(ch->env.flag.envHinvR?colorOn:colorOff,">> EnvHinvR"); + ImGui::TextColored(ch->env.flag.envVinvR?colorOn:colorOff,">> EnvVinvR"); + ImGui::TextColored(ch->env.flag.envHinvL?colorOn:colorOff,">> EnvHinvL"); + ImGui::TextColored(ch->env.flag.envVinvL?colorOn:colorOff,">> EnvVinvL"); + break; + } + case DIV_SYSTEM_N163: { + DivPlatformN163::Channel* ch=(DivPlatformN163::Channel*)data; + ImGui::Text("> N163"); + COMMON_CHAN_DEBUG; + ImGui::Text("- wave: %d",ch->wave); + ImGui::Text("- wavepos: %d",ch->wavePos); + ImGui::Text("- wavelen: %d",ch->waveLen); + ImGui::Text("- wavemode: %d",ch->waveMode); + ImGui::Text("- resVol: %.2x",ch->resVol); + COMMON_CHAN_DEBUG_BOOL; + ImGui::TextColored(ch->volumeChanged?colorOn:colorOff,">> VolumeChanged"); + ImGui::TextColored(ch->waveChanged?colorOn:colorOff,">> WaveChanged"); + ImGui::TextColored(ch->waveUpdated?colorOn:colorOff,">> WaveUpdated"); + break; + } + case DIV_SYSTEM_VRC6: { + DivPlatformVRC6::Channel* ch=(DivPlatformVRC6::Channel*)data; + ImGui::Text("> VRC6"); + COMMON_CHAN_DEBUG; + ImGui::Text("* DAC:"); + ImGui::Text(" - period: %d",ch->dacPeriod); + ImGui::Text(" - rate: %d",ch->dacRate); + ImGui::Text(" - out: %d",ch->dacOut); + ImGui::Text(" - pos: %d",ch->dacPos); + ImGui::Text(" - sample: %d",ch->dacSample); + ImGui::Text("- duty: %d",ch->duty); + COMMON_CHAN_DEBUG_BOOL; + ImGui::TextColored(ch->pcm?colorOn:colorOff,">> DAC"); + ImGui::TextColored(ch->furnaceDac?colorOn:colorOff,">> FurnaceDAC"); + break; + } + case DIV_SYSTEM_ES5506: { + DivPlatformES5506::Channel* ch=(DivPlatformES5506::Channel*)data; + ImGui::Text("> ES5506"); + COMMON_CHAN_DEBUG; + ImGui::Text("- nextFreq: %d",ch->nextFreq); + ImGui::Text("- nextNote: %d",ch->nextNote); + ImGui::Text("- currNote: %d",ch->currNote); + ImGui::Text("- wave: %d",ch->wave); + ImGui::Text("- VolMacroMax: %d",ch->volMacroMax); + ImGui::Text("- PanMacroMax: %d",ch->panMacroMax); + ImGui::Text("* PCM:"); + ImGui::Text(" * index: %d",ch->pcm.index); + ImGui::Text(" - next: %d",ch->pcm.next); + ImGui::Text(" - note: %d",ch->pcm.note); + ImGui::Text(" * freqOffs: %.6f",ch->pcm.freqOffs); + ImGui::Text(" - next: %.6f",ch->pcm.nextFreqOffs); + ImGui::Text(" - bank: %.2x",ch->pcm.bank); + ImGui::Text(" - start: %.8x",ch->pcm.start); + ImGui::Text(" - end: %.8x",ch->pcm.end); + ImGui::Text(" - length: %.8x",ch->pcm.length); + ImGui::Text(" - loopStart: %.8x",ch->pcm.loopStart); + ImGui::Text(" - loopEnd: %.8x",ch->pcm.loopEnd); + ImGui::Text(" - loopMode: %d",ch->pcm.loopMode); + ImGui::Text(" - nextPos: %d",ch->pcm.nextPos); + ImGui::Text("* Filter:"); + ImGui::Text(" - Mode: %d",ch->filter.mode); + ImGui::Text(" - K1: %.4x",ch->filter.k1); + ImGui::Text(" - K2: %.4x",ch->filter.k2); + ImGui::Text("* Envelope:"); + ImGui::Text(" - EnvCount: %.3x",ch->envelope.ecount); + ImGui::Text(" - LVRamp: %d",ch->envelope.lVRamp); + ImGui::Text(" - RVRamp: %d",ch->envelope.rVRamp); + ImGui::Text(" - K1Ramp: %d",ch->envelope.k1Ramp); + ImGui::Text(" - K2Ramp: %d",ch->envelope.k2Ramp); + ImGui::Text(" - K1Offs: %d",ch->k1Offs); + ImGui::Text(" - K2Offs: %d",ch->k2Offs); + ImGui::Text(" - K1Slide: %d",ch->k1Slide); + ImGui::Text(" - K2Slide: %d",ch->k2Slide); + ImGui::Text(" - K1Prev: %.4x",ch->k1Prev); + ImGui::Text(" - K2Prev: %.4x",ch->k2Prev); + ImGui::Text("* Overwrite:"); + ImGui::Text(" * Filter:"); + ImGui::Text(" - Mode: %d",ch->overwrite.filter.mode); + ImGui::Text(" - K1: %.4x",ch->overwrite.filter.k1); + ImGui::Text(" - K2: %.4x",ch->overwrite.filter.k2); + ImGui::Text(" * Envelope:"); + ImGui::Text(" - EnvCount: %.3x",ch->overwrite.envelope.ecount); + ImGui::Text(" - LVRamp: %d",ch->overwrite.envelope.lVRamp); + ImGui::Text(" - RVRamp: %d",ch->overwrite.envelope.rVRamp); + ImGui::Text(" - K1Ramp: %d",ch->overwrite.envelope.k1Ramp); + ImGui::Text(" - K2Ramp: %d",ch->overwrite.envelope.k2Ramp); + ImGui::Text("- CA: %.2x",ch->ca); + ImGui::Text("- LVol: %.2x",ch->lVol); + ImGui::Text("- RVol: %.2x",ch->rVol); + ImGui::Text("- outLVol: %.2x",ch->outLVol); + ImGui::Text("- outRVol: %.2x",ch->outRVol); + ImGui::Text("- ResLVol: %.2x",ch->resLVol); + ImGui::Text("- ResRVol: %.2x",ch->resRVol); + ImGui::Text("- oscOut: %d",ch->oscOut); + COMMON_CHAN_DEBUG_BOOL; + ImGui::TextColored(ch->volChanged.lVol?colorOn:colorOff,">> LVolChanged"); + ImGui::TextColored(ch->volChanged.rVol?colorOn:colorOff,">> RVolChanged"); + ImGui::TextColored(ch->filterChanged.mode?colorOn:colorOff,">> FilterModeChanged"); + ImGui::TextColored(ch->filterChanged.k1?colorOn:colorOff,">> FilterK1Changed"); + ImGui::TextColored(ch->filterChanged.k2?colorOn:colorOff,">> FilterK2Changed"); + ImGui::TextColored(ch->envChanged.ecount?colorOn:colorOff,">> EnvECountChanged"); + ImGui::TextColored(ch->envChanged.lVRamp?colorOn:colorOff,">> EnvLVRampChanged"); + ImGui::TextColored(ch->envChanged.rVRamp?colorOn:colorOff,">> EnvRVRampChanged"); + ImGui::TextColored(ch->envChanged.k1Ramp?colorOn:colorOff,">> EnvK1RampChanged"); + ImGui::TextColored(ch->envChanged.k2Ramp?colorOn:colorOff,">> EnvK2RampChanged"); + ImGui::TextColored(ch->pcmChanged.index?colorOn:colorOff,">> PCMIndexChanged"); + ImGui::TextColored(ch->pcmChanged.slice?colorOn:colorOff,">> PCMSliceChanged"); + ImGui::TextColored(ch->pcmChanged.position?colorOn:colorOff,">> PCMPositionChanged"); + ImGui::TextColored(ch->pcmChanged.loopBank?colorOn:colorOff,">> PCMLoopBankChanged"); + ImGui::TextColored(ch->isReverseLoop?colorOn:colorOff,">> IsReverseLoop"); + ImGui::TextColored(ch->pcm.isNoteMap?colorOn:colorOff,">> PCMIsNoteMap"); + ImGui::TextColored(ch->pcm.pause?colorOn:colorOff,">> PCMPause"); + ImGui::TextColored(ch->pcm.direction?colorOn:colorOff,">> PCMDirection"); + ImGui::TextColored(ch->pcm.setPos?colorOn:colorOff,">> PCMSetPos"); + ImGui::TextColored(ch->envelope.k1Slow?colorOn:colorOff,">> EnvK1Slow"); + ImGui::TextColored(ch->envelope.k2Slow?colorOn:colorOff,">> EnvK2Slow"); + ImGui::TextColored(ch->overwrite.envelope.k1Slow?colorOn:colorOff,">> EnvK1SlowOverwrite"); + ImGui::TextColored(ch->overwrite.envelope.k2Slow?colorOn:colorOff,">> EnvK2SlowOverwrite"); + ImGui::TextColored(ch->overwrite.state.mode?colorOn:colorOff,">> FilterModeOverwrited"); + ImGui::TextColored(ch->overwrite.state.k1?colorOn:colorOff,">> FilterK1Overwrited"); + ImGui::TextColored(ch->overwrite.state.k2?colorOn:colorOff,">> FilterK2Overwrited"); + ImGui::TextColored(ch->overwrite.state.ecount?colorOn:colorOff,">> EnvECountOverwrited"); + ImGui::TextColored(ch->overwrite.state.lVRamp?colorOn:colorOff,">> EnvLVRampOverwrited"); + ImGui::TextColored(ch->overwrite.state.rVRamp?colorOn:colorOff,">> EnvRVRampOverwrited"); + ImGui::TextColored(ch->overwrite.state.k1Ramp?colorOn:colorOff,">> EnvK1RampOverwrited"); + ImGui::TextColored(ch->overwrite.state.k2Ramp?colorOn:colorOff,">> EnvK2RampOverwrited"); + break; + } + case DIV_SYSTEM_LYNX: { + DivPlatformLynx::Channel* ch=(DivPlatformLynx::Channel*)data; + ImGui::Text("> Lynx"); + COMMON_CHAN_DEBUG; + ImGui::Text("* FreqDiv:"); + ImGui::Text(" - clockDivider: %d",ch->fd.clockDivider); + ImGui::Text(" - backup: %d",ch->fd.backup); + ImGui::Text("- actualNote: %d",ch->actualNote); + ImGui::Text("* Sample:"); + ImGui::Text(" - sample: %d",ch->sample); + ImGui::Text(" - pos: %d",ch->samplePos); + ImGui::Text(" - accum: %d",ch->sampleAccum); + ImGui::Text(" * freq: %d",ch->sampleFreq); + ImGui::Text(" - base: %d",ch->sampleBaseFreq); + ImGui::Text("* duty:"); + ImGui::Text(" - int_feedback7: %d",ch->duty.int_feedback7); + ImGui::Text(" - feedback: %d",ch->duty.feedback); + ImGui::Text("- pan: %.2x",ch->pan); + ImGui::Text("- macroVolMul: %.2x",ch->macroVolMul); + COMMON_CHAN_DEBUG_BOOL; + ImGui::TextColored(ch->pcm?colorOn:colorOff,">> DAC"); + break; + } + case DIV_SYSTEM_PCM_DAC: { + DivPlatformPCMDAC::Channel* ch=(DivPlatformPCMDAC::Channel*)data; + ImGui::Text("> PCM DAC"); + COMMON_CHAN_DEBUG; + ImGui::Text("* Sample: %d",ch->sample); + ImGui::Text(" - dir: %d",ch->audDir); + ImGui::Text(" - loc: %d",ch->audLoc); + ImGui::Text(" - len: %d",ch->audLen); + ImGui::Text(" * pos: %d",ch->audPos); + ImGui::Text(" - sub: %d",ch->audSub); + ImGui::Text("- wave: %d",ch->wave); + ImGui::Text("- panL: %.2x",ch->panL); + ImGui::Text("- panR: %.2x",ch->panR); + ImGui::Text("- envVol: %.2x",ch->envVol); + COMMON_CHAN_DEBUG_BOOL; + ImGui::TextColored(ch->useWave?colorOn:colorOff,">> UseWave"); + ImGui::TextColored(ch->setPos?colorOn:colorOff,">> SetPos"); + break; + } + case DIV_SYSTEM_K007232: { + DivPlatformK007232::Channel* ch=(DivPlatformK007232::Channel*)data; + ImGui::Text("> K007232"); + COMMON_CHAN_DEBUG; + ImGui::Text("- prevFreq: %d",ch->prevFreq); + ImGui::Text("* Sample: %d",ch->sample); + ImGui::Text(" - pos: %d",ch->audPos); + ImGui::Text(" - prevBank: %d",ch->prevBank); + ImGui::Text("* panning: %d",ch->panning); + ImGui::Text(" - prev: %d",ch->prevPan); + ImGui::Text("- resVol: %.2x",ch->resVol); + ImGui::Text("- lvol: %.2x",ch->lvol); + ImGui::Text("- rvol: %.2x",ch->rvol); + ImGui::Text("- macroVolMul: %.2x",ch->macroVolMul); + COMMON_CHAN_DEBUG_BOOL; + ImGui::TextColored(ch->volumeChanged?colorOn:colorOff,">> VolumeChanged"); + ImGui::TextColored(ch->setPos?colorOn:colorOff,">> SetPos"); + break; + } + case DIV_SYSTEM_GA20: { + DivPlatformGA20::Channel* ch=(DivPlatformGA20::Channel*)data; + ImGui::Text("> GA20"); + COMMON_CHAN_DEBUG; + ImGui::Text("- prevFreq: %d",ch->prevFreq); + ImGui::Text("* Sample: %d",ch->sample); + ImGui::Text(" - pos: %d",ch->audPos); + ImGui::Text("- resVol: %.2x",ch->resVol); + ImGui::Text("- macroVolMul: %.2x",ch->macroVolMul); + COMMON_CHAN_DEBUG_BOOL; + ImGui::TextColored(ch->volumeChanged?colorOn:colorOff,">> VolumeChanged"); + ImGui::TextColored(ch->setPos?colorOn:colorOff,">> SetPos"); + break; + } + case DIV_SYSTEM_SM8521: { + DivPlatformSM8521::Channel* ch=(DivPlatformSM8521::Channel*)data; + ImGui::Text("> SM8521"); + COMMON_CHAN_DEBUG; + ImGui::Text("* AntiClick:"); + ImGui::Text(" - periodCount: %d",ch->antiClickPeriodCount); + ImGui::Text(" - wavePos: %d",ch->antiClickWavePos); + ImGui::Text("- wave: %d",ch->wave); + COMMON_CHAN_DEBUG_BOOL; + ImGui::TextColored(ch->volumeChanged?colorOn:colorOff,">> VolumeChanged"); + break; + } + case DIV_SYSTEM_PV1000: { + DivPlatformPV1000::Channel* ch=(DivPlatformPV1000::Channel*)data; + ImGui::Text("> PV1000"); + COMMON_CHAN_DEBUG; + COMMON_CHAN_DEBUG_BOOL; + break; + } + case DIV_SYSTEM_K053260: { + DivPlatformK053260::Channel* ch=(DivPlatformK053260::Channel*)data; + ImGui::Text("> K053260"); + COMMON_CHAN_DEBUG; + ImGui::Text("* Sample: %d",ch->sample); + ImGui::Text(" - pos: %d",ch->audPos); + ImGui::Text("- panning: %d",ch->panning); + ImGui::Text("- macroVolMul: %.2x",ch->macroVolMul); + COMMON_CHAN_DEBUG_BOOL; + ImGui::TextColored(ch->setPos?colorOn:colorOff,">> SetPos"); + ImGui::TextColored(ch->reverse?colorOn:colorOff,">> Reverse"); + break; + } + case DIV_SYSTEM_C140: { + DivPlatformC140::Channel* ch=(DivPlatformC140::Channel*)data; + ImGui::Text("> C140"); + COMMON_CHAN_DEBUG; + ImGui::Text("* Sample: %d",ch->sample); + ImGui::Text(" - pos: %d",ch->audPos); + ImGui::Text("- chPanL: %.2x",ch->chPanL); + ImGui::Text("- chPanR: %.2x",ch->chPanR); + ImGui::Text("- chVolL: %.2x",ch->chVolL); + ImGui::Text("- chVolR: %.2x",ch->chVolR); + ImGui::Text("- macroVolMul: %.2x",ch->macroVolMul); + ImGui::Text("- macroPanMul: %.2x",ch->macroPanMul); + COMMON_CHAN_DEBUG_BOOL; + ImGui::TextColored(ch->volChangedL?colorOn:colorOff,">> VolChangedL"); + ImGui::TextColored(ch->volChangedR?colorOn:colorOff,">> VolChangedR"); + ImGui::TextColored(ch->setPos?colorOn:colorOff,">> SetPos"); + break; + } + default: + ImGui::Text("Unimplemented chip! Help!"); + break; + } } From f0e51f6e885af2f89d207b17eaa1b78488836654 Mon Sep 17 00:00:00 2001 From: tildearrow Date: Sun, 5 Nov 2023 17:00:02 -0500 Subject: [PATCH 84/99] Amiga: improve accuracy don't stop DMA until sample is done playing do not update output if PM/AM is on --- src/engine/export/amigaValidation.cpp | 2 +- src/engine/platform/amiga.cpp | 175 ++++++++++++++------------ src/engine/platform/amiga.h | 13 ++ 3 files changed, 111 insertions(+), 79 deletions(-) diff --git a/src/engine/export/amigaValidation.cpp b/src/engine/export/amigaValidation.cpp index 56d3814a7..e1aa4dfdb 100644 --- a/src/engine/export/amigaValidation.cpp +++ b/src/engine/export/amigaValidation.cpp @@ -149,7 +149,7 @@ std::vector DivExportAmigaValidation::go(DivEngine* e) { } else if (waveNum<65536) { seq->writeC((i<<4)|4); seq->writeS_BE(waveNum); - } else{ + } else { seq->writeC((i<<4)|1); seq->writeC(waves[waveNum].pos>>16); seq->writeC(waves[waveNum].pos>>8); diff --git a/src/engine/platform/amiga.cpp b/src/engine/platform/amiga.cpp index a4e279dad..67853d902 100644 --- a/src/engine/platform/amiga.cpp +++ b/src/engine/platform/amiga.cpp @@ -81,7 +81,18 @@ const char** DivPlatformAmiga::getRegisterSheet() { void DivPlatformAmiga::acquire(short** buf, size_t len) { thread_local int outL, outR, output; + for (size_t h=0; h>1]=val; - - if (!skipRegisterWrites && dumpWrites) { - addWrite(addr,val); - } - switch (addr&0x1fe) { case 0x96: { // DMACON if (val&32768) { - if (val&1) amiga.audEn[0]=true; - if (val&2) amiga.audEn[1]=true; - if (val&4) amiga.audEn[2]=true; - if (val&8) amiga.audEn[3]=true; - if (val&512) amiga.dmaEn=true; + if (val&1) audEn[0]=true; + if (val&2) audEn[1]=true; + if (val&4) audEn[2]=true; + if (val&8) audEn[3]=true; + if (val&512) dmaEn=true; } else { if (val&1) { - amiga.audEn[0]=false; - UPDATE_DMA(0); + audEn[0]=false; } if (val&2) { - amiga.audEn[1]=false; - UPDATE_DMA(1); + audEn[1]=false; } if (val&4) { - amiga.audEn[2]=false; - UPDATE_DMA(2); + audEn[2]=false; } if (val&8) { - amiga.audEn[3]=false; - UPDATE_DMA(3); + audEn[3]=false; } if (val&512) { - amiga.dmaEn=false; + dmaEn=false; } } break; } case 0x9a: { // INTENA if (val&32768) { - if (val&128) amiga.audInt[0]=true; - if (val&256) amiga.audInt[1]=true; - if (val&512) amiga.audInt[2]=true; - if (val&1024) amiga.audInt[3]=true; + if (val&128) audInt[0]=true; + if (val&256) audInt[1]=true; + if (val&512) audInt[2]=true; + if (val&1024) audInt[3]=true; } else { - if (val&128) amiga.audInt[0]=false; - if (val&256) amiga.audInt[1]=false; - if (val&512) amiga.audInt[2]=false; - if (val&1024) amiga.audInt[3]=false; + if (val&128) audInt[0]=false; + if (val&256) audInt[1]=false; + if (val&512) audInt[2]=false; + if (val&1024) audInt[3]=false; } break; } case 0x9c: { // INTREQ if (val&32768) { if (val&128) { - amiga.audIr[0]=true; - irq(0); + audIr[0]=true; } if (val&256) { - amiga.audIr[1]=true; - irq(1); + audIr[1]=true; } if (val&512) { - amiga.audIr[2]=true; - irq(2); + audIr[2]=true; } if (val&1024) { - amiga.audIr[3]=true; - irq(3); + audIr[3]=true; } } else { - if (val&128) amiga.audIr[0]=false; - if (val&256) amiga.audIr[1]=false; - if (val&512) amiga.audIr[2]=false; - if (val&1024) amiga.audIr[3]=false; + if (val&128) audIr[0]=false; + if (val&256) audIr[1]=false; + if (val&512) audIr[2]=false; + if (val&1024) audIr[3]=false; } break; } case 0x9e: { // ADKCON if (val&32768) { - if (val&1) amiga.useV[0]=true; - if (val&2) amiga.useV[1]=true; - if (val&4) amiga.useV[2]=true; - if (val&8) amiga.useV[3]=true; - if (val&16) amiga.useP[0]=true; - if (val&32) amiga.useP[1]=true; - if (val&64) amiga.useP[2]=true; - if (val&128) amiga.useP[3]=true; + if (val&1) useV[0]=true; + if (val&2) useV[1]=true; + if (val&4) useV[2]=true; + if (val&8) useV[3]=true; + if (val&16) useP[0]=true; + if (val&32) useP[1]=true; + if (val&64) useP[2]=true; + if (val&128) useP[3]=true; } else { - if (val&1) amiga.useV[0]=false; - if (val&2) amiga.useV[1]=false; - if (val&4) amiga.useV[2]=false; - if (val&8) amiga.useV[3]=false; - if (val&16) amiga.useP[0]=false; - if (val&32) amiga.useP[1]=false; - if (val&64) amiga.useP[2]=false; - if (val&128) amiga.useP[3]=false; + if (val&1) useV[0]=false; + if (val&2) useV[1]=false; + if (val&4) useV[2]=false; + if (val&8) useV[3]=false; + if (val&16) useP[0]=false; + if (val&32) useP[1]=false; + if (val&64) useP[2]=false; + if (val&128) useP[3]=false; } break; } @@ -316,31 +315,31 @@ void DivPlatformAmiga::rWrite(unsigned short addr, unsigned short val) { bool updateDMA=false; switch (addr&15) { case 0: // LCH - amiga.audLoc[ch]&=0xffff; - amiga.audLoc[ch]|=val<<16; + audLoc[ch]&=0xffff; + audLoc[ch]|=val<<16; updateDMA=true; break; case 2: // LCL - amiga.audLoc[ch]&=0xffff0000; - amiga.audLoc[ch]|=val&0xfffe; + audLoc[ch]&=0xffff0000; + audLoc[ch]|=val&0xfffe; updateDMA=true; break; case 4: // LEN - amiga.audLen[ch]=val; + audLen[ch]=val; updateDMA=true; break; case 6: // PER - amiga.audPer[ch]=val; + audPer[ch]=val; break; case 8: // VOL - amiga.audVol[ch]=val; + audVol[ch]=val; break; case 10: // DAT - amiga.audDat[0][ch]=val&0xff; - amiga.audDat[1][ch]=val>>8; + audDat[0][ch]=val&0xff; + audDat[1][ch]=val>>8; break; } - if (updateDMA && !amiga.audEn[ch]) { + if (updateDMA && !mustDMA[ch]) { UPDATE_DMA(ch); } } @@ -349,6 +348,20 @@ void DivPlatformAmiga::rWrite(unsigned short addr, unsigned short val) { } } +void DivPlatformAmiga::rWrite(unsigned short addr, unsigned short val) { + if (addr&1) return; + + //logV("%.3x = %.4x",addr,val); + if (!skipRegisterWrites) { + writes.push(QueuedWrite(addr,val)); + regPool[addr>>1]=val; + + if (dumpWrites) { + addWrite(addr,val); + } + } +} + void DivPlatformAmiga::updateWave(int ch) { for (int i=0; i=0 && chan[i].samplesong.sampleLen) { @@ -520,10 +540,6 @@ void DivPlatformAmiga::tick(bool sysTick) { chan[i].writeVol=false; chWrite(i,8,chan[i].outVol); } - if (chan[i].updateWave) { - chan[i].updateWave=false; - updateWave(i); - } } if (updateADKCon) { @@ -717,6 +733,7 @@ void DivPlatformAmiga::muteChannel(int ch, bool mute) { } void DivPlatformAmiga::forceIns() { + logV("at time of clear: %d",writes.size()); for (int i=0; i<4; i++) { chan[i].insChanged=true; chan[i].freqChanged=true; @@ -738,6 +755,7 @@ DivDispatchOscBuffer* DivPlatformAmiga::getOscBuffer(int ch) { } void DivPlatformAmiga::reset() { + writes.clear(); memset(regPool,0,256*sizeof(unsigned short)); for (int i=0; i<4; i++) { chan[i]=DivPlatformAmiga::Channel(); @@ -750,6 +768,7 @@ void DivPlatformAmiga::reset() { filterOn=false; filtConst=filterOn?filtConstOn:filtConstOff; updateADKCon=true; + delay=0; amiga=Amiga(); // enable DMA diff --git a/src/engine/platform/amiga.h b/src/engine/platform/amiga.h index a05a5994d..903d7bd31 100644 --- a/src/engine/platform/amiga.h +++ b/src/engine/platform/amiga.h @@ -21,6 +21,7 @@ #define _AMIGA_H #include "../dispatch.h" +#include "../../fixedQueue.h" #include "../waveSynth.h" class DivPlatformAmiga: public DivDispatch { @@ -59,12 +60,14 @@ class DivPlatformAmiga: public DivDispatch { bool amigaModel; bool filterOn; bool updateADKCon; + short delay; struct Amiga { // register state bool audInt[4]; // interrupt on bool audIr[4]; // interrupt request bool audEn[4]; // audio DMA on + bool mustDMA[4]; // audio DMA must run bool useP[4]; // period modulation bool useV[4]; // volume modulation @@ -91,6 +94,8 @@ class DivPlatformAmiga: public DivDispatch { unsigned short hPos; // horizontal position of beam unsigned char state[4]; // current channel state + void write(unsigned short addr, unsigned short val); + Amiga() { memset(this,0,sizeof(*this)); } @@ -113,6 +118,14 @@ class DivPlatformAmiga: public DivDispatch { int sep1, sep2; + struct QueuedWrite { + unsigned short addr; + unsigned short val; + QueuedWrite(): addr(0), val(9) {} + QueuedWrite(unsigned short a, unsigned short v): addr(a), val(v) {} + }; + FixedQueue writes; + friend void putDispatchChip(void*,int); friend void putDispatchChan(void*,int,int); friend class DivExportAmigaValidation; From 20537d5af01ff4551ec5712c10ec6968fa8da189 Mon Sep 17 00:00:00 2001 From: tildearrow Date: Sun, 5 Nov 2023 18:06:01 -0500 Subject: [PATCH 85/99] Amiga: one more accuracy fix --- src/engine/platform/amiga.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/engine/platform/amiga.cpp b/src/engine/platform/amiga.cpp index 67853d902..c9fd0e2a2 100644 --- a/src/engine/platform/amiga.cpp +++ b/src/engine/platform/amiga.cpp @@ -168,12 +168,12 @@ void DivPlatformAmiga::acquire(short** buf, size_t len) { // output if (!isMuted[i]) { - if (amiga.audVol[i]>=64) { + if ((amiga.audVol[i]&127)>=64) { output=amiga.nextOut[i]<<6; - } else if (amiga.audVol[i]<=0) { + } else if ((amiga.audVol[i]&127)==0) { output=0; } else { - output=amiga.nextOut[i]*volTable[amiga.audVol[i]][amiga.volPos]; + output=amiga.nextOut[i]*volTable[amiga.audVol[i]&63][amiga.volPos]; } if (i==0 || i==3) { outL+=(output*sep1)>>7; @@ -182,7 +182,7 @@ void DivPlatformAmiga::acquire(short** buf, size_t len) { outL+=(output*sep2)>>7; outR+=(output*sep1)>>7; } - oscBuf[i]->data[oscBuf[i]->needle++]=(amiga.nextOut[i]*MIN(64,amiga.audVol[i]))<<1; + oscBuf[i]->data[oscBuf[i]->needle++]=(amiga.nextOut[i]*MIN(64,amiga.audVol[i]&127))<<1; } else { oscBuf[i]->data[oscBuf[i]->needle++]=0; } From 76dec5f42647963f406fcd84efe7f1163fa5e5dd Mon Sep 17 00:00:00 2001 From: tildearrow Date: Sun, 5 Nov 2023 18:06:13 -0500 Subject: [PATCH 86/99] update doc with Amiga vol/period mod info --- doc/7-systems/amiga.md | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/doc/7-systems/amiga.md b/doc/7-systems/amiga.md index af6bfb67f..981edf771 100644 --- a/doc/7-systems/amiga.md +++ b/doc/7-systems/amiga.md @@ -6,6 +6,28 @@ in this very computer music trackers were born... imported MOD files use this chip, and will set A-4 tuning to 436. +## amplitude/period modulation + +Amiga has support for (rather primitive) amplitude and period (frequency) modulation. +however, nobody has used this feature as it is rather useless, not well-documented and works in a complicated way. + +Amiga sample playback is done by two chips: Paula (the one that you probably know) and Agnus (the one that actually feeds Paula with samples). +Agnus has several DMA (direct memory access) units which read from chip memory independent of the CPU. four of these DMA units are used for samples. + +when DMA is enabled, Paula requests sample data from Agnus, and then plays these samples back. +there's a catch though. since the data bus is 16-bit, Paula requests **two** 8-bit samples at once! this explains why: +- the sample length registers are in words rather than bytes (thereby allowing samples up to 131070 in length) +- the maximum playback rate (31250Hz PAL; ~31469Hz NTSC) is two times the HBlank rate (Agnus fetches samples on HBlank, around 15625Hz on PAL or ~15734Hz on NTSC) + +during normal sample playback, the first sample is output and then the second. afterwards, two more samples are fetched, and so on. + +now, when amplitude or period modulation are enabled, things work differently. +the channel is silenced, and the two 8-bit samples are **treated as a big-endian 16-bit number**, which is then written to the next channel's volume or period. + +in the case of amplitude modulation, only the second sample is significant because the volume register uses 7 bits (to represent 0 to 64 (65 to 127 are treated as 64)) and the other bits are ignored. + +in the case of period modulation, both samples are significant. the first sample is the upper byte, and the second is the lower byte. + ## effects - `10xx`: **toggle low-pass filter.** `0` turns it off and `1` turns it on. From 7361160f3175ec2469d1d37775996e376b5a716b Mon Sep 17 00:00:00 2001 From: tildearrow Date: Sun, 5 Nov 2023 18:26:00 -0500 Subject: [PATCH 87/99] GUI: wait what? --- src/gui/findReplace.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/gui/findReplace.cpp b/src/gui/findReplace.cpp index f6bf5eedd..5f0d63218 100644 --- a/src/gui/findReplace.cpp +++ b/src/gui/findReplace.cpp @@ -103,6 +103,8 @@ void FurnaceGUI::doFind() { int lastRow=e->curSubSong->patLen-1; if (curQueryRangeY==1) { + finishSelection(); + firstRow=selStart.y; lastRow=selEnd.y; } From 4213bbb8139f4090e9072aa8402ff9376da165bb Mon Sep 17 00:00:00 2001 From: tildearrow Date: Sun, 5 Nov 2023 18:28:47 -0500 Subject: [PATCH 88/99] update to-do list --- TODO.md | 3 --- 1 file changed, 3 deletions(-) diff --git a/TODO.md b/TODO.md index 523d5e171..af6e0f6c3 100644 --- a/TODO.md +++ b/TODO.md @@ -4,11 +4,8 @@ # THE REAL TO-DO LIST -- Amiga's Period Modulation not working - Song is silent after playing an order after loop point - Select loaded instrument on open - rewrite because I want a setting... -- re-engineer volume handling? Sound Unit cries at me -- finish status view - finish auto-clone once you have done all of this (maybe not the first one) and merged the two or so pending pull requests, release 0.6.1 From eedf6659bd9834b2e46f44faccbe8870d21e3b7f Mon Sep 17 00:00:00 2001 From: tildearrow Date: Sun, 5 Nov 2023 18:36:26 -0500 Subject: [PATCH 89/99] update components.md --- doc/2-interface/components.md | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/doc/2-interface/components.md b/doc/2-interface/components.md index 4ed6e6a44..695ecf1e4 100644 --- a/doc/2-interface/components.md +++ b/doc/2-interface/components.md @@ -21,7 +21,8 @@ the following keyboard shortcuts work while on a text field: these work similar to text fields, but you may only input numbers. -they also usually have `+` and `-` buttons which allow you to increase/decrease the amount when clicked (and rapidly do so when click-holding). +they also usually have `+` and `-` buttons which allow you to increase/decrease the value when clicked (and rapidly do so when holding). +additionally, Ctrl-clicking these buttons may increase/decrease the value by a coarse amount. ## sliders @@ -29,7 +30,8 @@ sliders are used for controlling values in a quick manner by being dragged. using the scroll wheel while holding Ctrl will change the slider's value by small amounts. -right-clicking or Ctrl-clicking or a slider (Command-click on macOS) will turn it into a number input field for a short period of time, allowing you to input precise values. +right-clicking or Ctrl-clicking or a slider (Command-click on macOS) will turn it into a number input field, allowing you to input precise values. +once you click away it will become a slider again. ## windows @@ -37,13 +39,13 @@ right-clicking or Ctrl-clicking or a slider (Command-click on macOS) will turn i windows may be moved, collapsed, closed or even docked around the workspace. -to move a window, press and hold the mouse button while on title bar or any empty space on it. +to move a window, press and hold the left mouse button while on the title bar or any empty space on it. then drag your mouse, and release it to stop moving. to resize a window, drag the bottom right corner (marked by a triangular tab) or the borders. to collapse a window, click on the triangle in the title bar. -clicking again expands it. +clicking again expands the window. to close a window, click on the `X` at the top right corner, or select it from the "window" menu. From 01f731ef653df6e1070e26c2bd847d24091f4d3b Mon Sep 17 00:00:00 2001 From: tildearrow Date: Sun, 5 Nov 2023 19:31:39 -0500 Subject: [PATCH 90/99] prepare for built-in assembler --- src/divasm/divasm.h | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 src/divasm/divasm.h diff --git a/src/divasm/divasm.h b/src/divasm/divasm.h new file mode 100644 index 000000000..2846c98f8 --- /dev/null +++ b/src/divasm/divasm.h @@ -0,0 +1,30 @@ +struct DivASMResult { + int line, err; + DivASMResult(): + line(-1), + err(0) {} +}; + +struct DivASMFile { + String name; + SafeReader* data; +}; + +enum DivASMTarget { + DIV_ASM_TARGET_DUMMY=0, + DIV_ASM_TARGET_6502, + DIV_ASM_TARGET_SPC700 +}; + +class DivASM { + std::vector files; + SafeWriter* result; + + public: + DivASMResult getError(); + SafeWriter* assemble(String name); + void addFile(String name, SafeReader* data); + + DivASM(DivASMTarget target); + ~DivASM(); +}; From a3ea20bfeca311fcb7699ee6bd0e7c6dfba344f6 Mon Sep 17 00:00:00 2001 From: tildearrow Date: Mon, 6 Nov 2023 04:21:48 -0500 Subject: [PATCH 91/99] Amiga: fix loop --- src/engine/platform/amiga.cpp | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/src/engine/platform/amiga.cpp b/src/engine/platform/amiga.cpp index c9fd0e2a2..e490937b4 100644 --- a/src/engine/platform/amiga.cpp +++ b/src/engine/platform/amiga.cpp @@ -204,11 +204,6 @@ void DivPlatformAmiga::irq(int ch) { if (chan[ch].irLocL==0x400 && chan[ch].irLocH==0 && chan[ch].irLen==1) { // turn off DMA rWrite(0x96,1< Date: Mon, 6 Nov 2023 04:25:27 -0500 Subject: [PATCH 92/99] Amiga: yet another fix... --- src/engine/platform/amiga.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/engine/platform/amiga.cpp b/src/engine/platform/amiga.cpp index e490937b4..a884c21ce 100644 --- a/src/engine/platform/amiga.cpp +++ b/src/engine/platform/amiga.cpp @@ -738,6 +738,7 @@ void DivPlatformAmiga::forceIns() { for (int i=0; i<4; i++) { chan[i].insChanged=true; chan[i].freqChanged=true; + chan[i].writeVol=true; /*chan[i].keyOn=false; chan[i].keyOff=false; chan[i].sample=-1;*/ From 42d8de671a297c9e9c2050d33283dc1cdde1c48e Mon Sep 17 00:00:00 2001 From: tildearrow Date: Mon, 6 Nov 2023 21:58:20 -0500 Subject: [PATCH 93/99] GUI: why is this setting in appearance --- src/gui/settings.cpp | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/src/gui/settings.cpp b/src/gui/settings.cpp index de5fc62e1..86be7e547 100644 --- a/src/gui/settings.cpp +++ b/src/gui/settings.cpp @@ -2325,6 +2325,15 @@ void FurnaceGUI::drawSettings() { } ImGui::Unindent(); + // SUBSECTION ASSETS + CONFIG_SUBSECTION("Assets"); + + bool insTypeMenuB=settings.insTypeMenu; + if (ImGui::Checkbox("Display instrument type menu when adding instrument",&insTypeMenuB)) { + settings.insTypeMenu=insTypeMenuB; + settingsChanged=true; + } + END_SECTION; } CONFIG_SECTION("Appearance") { @@ -2888,12 +2897,6 @@ void FurnaceGUI::drawSettings() { settingsChanged=true; } - bool insTypeMenuB=settings.insTypeMenu; - if (ImGui::Checkbox("Display instrument type menu when adding instrument",&insTypeMenuB)) { - settings.insTypeMenu=insTypeMenuB; - settingsChanged=true; - } - // SUBSECTION MACRO EDITOR CONFIG_SUBSECTION("Macro Editor"); ImGui::Text("Macro editor layout:"); From 28cc26407f11a5162ced170d64200fb9e282009f Mon Sep 17 00:00:00 2001 From: tildearrow Date: Tue, 7 Nov 2023 04:48:21 -0500 Subject: [PATCH 94/99] sfd;kljsdfkj;l --- doc/7-systems/c219.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/doc/7-systems/c219.md b/doc/7-systems/c219.md index 44d0cafd0..3c27f6f7e 100644 --- a/doc/7-systems/c219.md +++ b/doc/7-systems/c219.md @@ -7,6 +7,12 @@ this chip features: - stereo soft panning - accepts either 8-bit PCM or proprietary 8-bit µ-law compressed PCM samples +## sample memory notice + +this chip is rather unique when it comes to sample memory. be sure to read this notice. + +the channels are PLEASE FINISH THIS LATER! + ## effects - `11xx`: **set noise mode.** From 10f48216e49aabbe9ab1ba7364b8a6e9da1a06ad Mon Sep 17 00:00:00 2001 From: tildearrow Date: Tue, 7 Nov 2023 05:34:40 -0500 Subject: [PATCH 95/99] finish C219 doc --- doc/7-systems/c219.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/doc/7-systems/c219.md b/doc/7-systems/c219.md index 3c27f6f7e..89cffc7d6 100644 --- a/doc/7-systems/c219.md +++ b/doc/7-systems/c219.md @@ -11,7 +11,8 @@ this chip features: this chip is rather unique when it comes to sample memory. be sure to read this notice. -the channels are PLEASE FINISH THIS LATER! +the channels are in groups of four. a sample bank (128KB) may be selected for each group. +if a sample that is on a different bank plays in a group, the group is switched to that bank, and other channels will be silenced. ## effects From d6fd5df2c26192dafb03656f9247bf799f13f64d Mon Sep 17 00:00:00 2001 From: Electric Keet Date: Sun, 12 Nov 2023 19:08:49 -0800 Subject: [PATCH 96/99] OscXY doc. --- doc/8-advanced/README.md | 3 ++- doc/8-advanced/oscxy.md | 16 ++++++++++++++++ 2 files changed, 18 insertions(+), 1 deletion(-) create mode 100644 doc/8-advanced/oscxy.md diff --git a/doc/8-advanced/README.md b/doc/8-advanced/README.md index 97ecd6f2c..9eba96fa2 100644 --- a/doc/8-advanced/README.md +++ b/doc/8-advanced/README.md @@ -18,7 +18,8 @@ as listed in the "Window" menu: - [piano](piano.md) - [oscilloscope](osc.md) -- [oscilloscopes (per-channel)](chanosc.md) +- [oscilloscope (per-channel)](chanosc.md) +- [oscilloscope (X-Y)](oscxy.md) - [clock](clock.md) - [register view](regview.md) - [log viewer](log-viewer.md) diff --git a/doc/8-advanced/oscxy.md b/doc/8-advanced/oscxy.md new file mode 100644 index 000000000..06b5e2f89 --- /dev/null +++ b/doc/8-advanced/oscxy.md @@ -0,0 +1,16 @@ +# oscilloscope (X-Y) + +the "Oscilloscope (X-Y)" dialog shows an oscilloscope that plots two sound channels at once, each on their own axis. this can be used to visualize stereo separation. + +right-clicking the view will change it to a configuration dialog: +- **X channel**: sound channel to draw on the horizontal axis. default is 1 (left channel). + - **Invert**: flips it horizontally. +- **Y channel**: sets the sound channel to draw on the vertical axis. default is 2 (right channel). + - **Invert**: flips it vertically. +- **Zoom**: size of the plot. +- **Samples**: number of samples drawn each frame. +- **Decay Time (ms)**: duration before drawn lines disappear. +- **Intensity**: brightness of the drawn lines. +- **Line Thickness**: width of the drawn lines. + +click **OK** to return to the oscilloscope view. \ No newline at end of file From a7befd2e180e9cc2964e7afe339fce2b36ba2bfc Mon Sep 17 00:00:00 2001 From: tildearrow Date: Sun, 12 Nov 2023 22:52:22 -0500 Subject: [PATCH 97/99] fix osc.md --- doc/8-advanced/osc.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/8-advanced/osc.md b/doc/8-advanced/osc.md index db625e71c..de58d70f4 100644 --- a/doc/8-advanced/osc.md +++ b/doc/8-advanced/osc.md @@ -1,6 +1,6 @@ # oscilloscope -the Oscilloscope shows the waveform of the mix of all currently playing sounds. +the Oscilloscope shows the audio output as a waveform. ![oscilloscope view](osc.png) From 5c199315e0cf5fa88361e9347030cc4b4eb0f533 Mon Sep 17 00:00:00 2001 From: tildearrow Date: Sun, 12 Nov 2023 23:01:44 -0500 Subject: [PATCH 98/99] X-Y osc documentation --- doc/8-advanced/README.md | 1 + doc/8-advanced/xyosc.md | 17 +++++++++++++++++ 2 files changed, 18 insertions(+) create mode 100644 doc/8-advanced/xyosc.md diff --git a/doc/8-advanced/README.md b/doc/8-advanced/README.md index 97ecd6f2c..4a9512823 100644 --- a/doc/8-advanced/README.md +++ b/doc/8-advanced/README.md @@ -18,6 +18,7 @@ as listed in the "Window" menu: - [piano](piano.md) - [oscilloscope](osc.md) +- [oscilloscope (X-Y)](xyosc.md) - [oscilloscopes (per-channel)](chanosc.md) - [clock](clock.md) - [register view](regview.md) diff --git a/doc/8-advanced/xyosc.md b/doc/8-advanced/xyosc.md new file mode 100644 index 000000000..5c8608243 --- /dev/null +++ b/doc/8-advanced/xyosc.md @@ -0,0 +1,17 @@ +# oscilloscope (X-Y) + +also called "vectorscope", this is similar to the normal oscilloscope in that it draws audio output as a waveform, but instead of being one-dimensional and going from left to right, it is plotted in two dimensions (usually X represents left output and Y represents right output). + +(TODO: image) + +right-clicking the X-Y oscilloscope window displays settings: +- **X Channel**: the output channel which will affect the X (left-right) axis. 1 is left. + - **Invert**: flips the axis. +- **Y Channel**: the output channel which will affect the Y (up-down) axis. 2 is right. + - **Invert**: flips the axis. +- **Zoom**: changes amplitude, making the plot bigger or smaller. +- **Samples**: the maximum number of samples to use for plotting. + - this setting may be replaced by another or removed in a future version. +- **Decay Time (ms)**: sets how long it takes for the points/lines to fade away. +- **Intensity**: changes the brightness of the dots/lines. +- **Line Thickness**: sets how thick lines are. From bb1cbbc403f6759aa7c70d8b1e6bc7f514e703bc Mon Sep 17 00:00:00 2001 From: tildearrow Date: Sun, 12 Nov 2023 23:49:20 -0500 Subject: [PATCH 99/99] doc de-awkwardization --- doc/8-advanced/channels.md | 8 ++--- doc/8-advanced/chanosc.md | 60 ++++++++++++++++++---------------- doc/8-advanced/chip-manager.md | 12 +++---- doc/8-advanced/comments.md | 2 +- doc/8-advanced/compat-flags.md | 2 +- doc/8-advanced/grooves.md | 14 +++----- doc/8-advanced/osc.md | 6 ++-- 7 files changed, 52 insertions(+), 52 deletions(-) diff --git a/doc/8-advanced/channels.md b/doc/8-advanced/channels.md index a57698559..5b70f00dd 100644 --- a/doc/8-advanced/channels.md +++ b/doc/8-advanced/channels.md @@ -5,8 +5,8 @@ the "Channels" dialog allows manipulation of the song's channels. ![channels dialog](channels.png) each channel has the following options: -- **Visible**: uncheck the box to hide the channel from view. pattern data will be kept. +- **Visible**: uncheck the box to hide the channel from the pattern view. pattern data will be kept. - crossed-arrows button: click and drag to rearrange pattern data throughout the song. - - note: this does _not_ move channels around within a chip! it only affects pattern data. -- **Name** is the name displayed at the top of each channel in the tracker view. -- to the right of that is the abbreviation used above each channel in the order view. + - note: this does **not** move channels around! it only moves the channel's pattern data. +- **Name**: the name displayed at the top of each channel in the pattern view. +- the next setting is "short name", which is displayed in the orders view and/or when a channel is collapsed. diff --git a/doc/8-advanced/chanosc.md b/doc/8-advanced/chanosc.md index b811add81..8521c099f 100644 --- a/doc/8-advanced/chanosc.md +++ b/doc/8-advanced/chanosc.md @@ -1,25 +1,24 @@ # oscilloscope (per-channel) -the "Oscilloscope (per-channel)" dialog shows an individual oscilloscope for each channel during playback. +the "Oscilloscope (per-channel)" windows displays several oscilloscope views (one per channel). ![oscilloscope per-channel configuration view](chanosc.png) -right-clicking within the view will change it to the configuration view shown above: -- **Columns**: arranges oscilloscopes into this many columns. -- **Size (ms)**: sets what length of audio is visible in each oscilloscope. -- **Center waveform**: does its best to latch the waveform to the channel's note frequency and centers the display. +right-clicking the view will display the configuration view shown above: +- **Columns**: sets the amount of columns for the oscilloscope views. +- **Size (ms)**: sets how much of a channel's output is captured for the oscilloscope view. +- **Center waveform**: when enabled, the displayed waveforms will be centered using an auto-correlation algorithm. - **Automatic columns**: sets the number of columns based on the number of channels. - **Off**: use the Columns setting. - **Mode 1**: always fewer columns than rows. - **Mode 2**: bias slightly toward more columns. - **Mode 3**: always more columns than rows. -- **Amplitude**: scales amplitude for all oscilloscopes. -- **Gradient**: see below. -- the color selector sets the color for all waveforms. right-clicking on it pops up an option dialog: - - select between the square selector and the color wheel selector. - - **Alpha bar**: adds a transparency selector. -- the boxes below that are for selecting colors numerically by red-green-blue-alpha, hue-saturation-value-alpha, and HTML-style RGBA in hex. -- **Text format**: this string determins what text is shown in the top-left of each oscilloscope. it can be any text, and the following shortcodes will be replaced with information about the channel: +- **Amplitude**: scales amplitude for all oscilloscope views. +- **Gradient**: this allows you to use a gradient for determining the waveforms' colors instead of a single color. see the gradient section for more information. + - if this option is off, a color selector will be displayed. right-click on it for some options: + - select between the square selector and the color wheel selector. + - **Alpha bar**: display an opacity bar. +- **Text format**: this allows you to display some text on each oscilloscope view. the following codes may be used: - `%c`: channel name - `%C`: channel short name - `%d`: channel number (starting from 0) @@ -35,27 +34,32 @@ right-clicking within the view will change it to the configuration view shown ab - `%V`: volume (percentage) - `%b`: volume (hex) - `%%`: percent sign -- the OK button returns from options view to the oscilloscopes. + +click on OK to return to the main view. ## gradient ![oscilloscope per-channel gradient configuration view](chanosc-gradient.png) -in this mode, the color selector is replaced by a square field onto which circular "stops" can be placed. each stop adds a soft circle of color. the resulting image is used to look up the oscilloscope color as determined by each axis. +when enabling the Gradient setting, a gradient view is displayed in where circular "points" can be placed. +each point adds a color spot. +the resulting image is used to look up the waveform's color as determined by each axis. -- right-click to place a stop. -- left-click on a stop to change its color. the color selector is the same as above, with two additions: +- right-click to place a point. +- left-click on a point to change its color: + - a color picker is displayed, alongside two settings. - **Distance**: the size of the circle. - - **Spread**: the size of the solid center of the circle. increasing it fills more of the circle with the target color. + - **Spread**: the size of the solid center of the circle. increasing it fills more of the circle with the color. +- middle-click on a point to delete it. -- **Background**: sets background color for entire field. -- **X Axis**: determines what the horizontal maps to, from left to right. -- **Y Axis**: determines what the vertical maps to. from bottom to top. these can be set to the following: - - **None (0%)**: stays at the left or bottom. - - **None (50%)**: stays at the center. - - **None (100%)**: stays at the right or top. - - **Frequency**: changes color with note frequency. - - **Volume**: changes color with volume. - - **Channel**: changes color based on channel number. - - **Brightness**: currently does nothing. - - **Note Trigger**: changes color when a new note is played. +- **Background**: sets the gradient's background color. +- **X Axis**: determines what the horizontal axis maps to. +- **Y Axis**: determines what the vertical axis maps to. these can be set to the following: + - **None (0%)**: always left or bottom + - **None (50%)**: always center + - **None (100%)**: always right or top + - **Frequency**: changes color with frequency + - **Volume**: changes color with volume + - **Channel**: changes color based on channel number (first channel is 0% and last is 100%) + - **Brightness**: currently does nothing + - **Note Trigger**: changes color when a new note is played diff --git a/doc/8-advanced/chip-manager.md b/doc/8-advanced/chip-manager.md index bcfb6006d..72d8ff66a 100644 --- a/doc/8-advanced/chip-manager.md +++ b/doc/8-advanced/chip-manager.md @@ -1,15 +1,15 @@ # chip manager -the **chip manager** window does exactly what it says. +the **chip manager** window allows you to manage chips, including adding, changing, moving or removing them. ![chip manager](chip-manager.png) -**Preserve channel order**: make existing pattern data stay in place even when chips are rearranged. if turned off, pattern data will rearrange to match (the default, and usually the desired behavior). +**Preserve channel order**: make existing pattern data stay in place even when chips are rearranged. when turned off, pattern data will be arranged to match (the default, and usually desired behavior). -to move a chip around, click and drag the ![crossed-arrows](chip-manager-move.png) button to its left. +to move a chip around, click and drag the ![crossed-arrows](chip-manager-move.png) button to the left. -to replace a chip with a different one, click the **Change** button and select the replacement. +to replace a chip with a different one, click the **Change** button. this will display the chip selector. -to remove a chip entirely, click the ![X](chip-manager-remove.png) button. +to remove a chip, click the ![X](chip-manager-remove.png) button. -click a chip's name to open its options, where one can set clock rate, chip variant, and other specifics. \ No newline at end of file +click on a chip's name to open chip configuration. this allows you to change chip options, such as clock rate, chip type and so on. diff --git a/doc/8-advanced/comments.md b/doc/8-advanced/comments.md index ebb05d700..eb0fae144 100644 --- a/doc/8-advanced/comments.md +++ b/doc/8-advanced/comments.md @@ -4,4 +4,4 @@ comments, credits, or any arbitrary text may be entered here. it has no effect on the song. -there is no word wrap; long lines must be broken manually with the Enter key. +there is no word wrap; long lines must be broken manually with the Enter/Return key. diff --git a/doc/8-advanced/compat-flags.md b/doc/8-advanced/compat-flags.md index 6e050a410..e5ab02826 100644 --- a/doc/8-advanced/compat-flags.md +++ b/doc/8-advanced/compat-flags.md @@ -1,5 +1,5 @@ # compatibility flags -the **Compatibility Flags** window contains several tabs full of settings that change aspects of tracking and playback. a new Furnace song will have these disabled, while opening a DefleMask module, .mod, or earlier Furnace file will automatically set the appropriate options. +the **Compatibility Flags** window contains several tabs full of settings that change playback behavior. a new Furnace song will have these disabled, while opening a DefleMask module, .mod, or earlier Furnace file will automatically set the appropriate options. hovering over most options will bring up additional info about them. it is not recommended to change any of these, especially the ones in the DefleMask and Old Furnace sections. diff --git a/doc/8-advanced/grooves.md b/doc/8-advanced/grooves.md index 38775c5ab..3f566a7de 100644 --- a/doc/8-advanced/grooves.md +++ b/doc/8-advanced/grooves.md @@ -1,9 +1,6 @@ # grooves -grooves are macros for speed. - -a **groove** is the equivalent of repeating `0Fxx` commands on each row to get a cycle of speeds. for example, a groove of "6 4 5 3" makes the first row 6 ticks long, the next row 4 ticks, then 5, 3, 6, 4, 5, 3... - +a **groove** is the equivalent of repeating `0Fxx` effects on each row to get a cycle of speeds. for example, a groove of "6 4 5 3" makes the first row 6 ticks long, the next row 4 ticks, then 5, 3, 6, 4, 5, 3... ![groove](groove.png) @@ -13,18 +10,17 @@ to set the song's groove: - click again so it becomes "Groove". - enter a sequence of up to 16 speeds. - ![groove patterns](grooves.png) -the "Grooves" window is for entering preset groove patterns. -- the **`+`** button adds a new groove pattern; click in the pattern to edit it. +the "Grooves" window displays the list of groove patterns in the song. +- the **`+`** button adds a new groove pattern; click in the groove pattern to edit it. - the **`×`** buttons remove them. a single `09xx` command will switch to the matching numbered groove pattern. -## BPM +## tempo -this is a non-exhaustive list of grooves and their equivalent BPM. +this is a non-exhaustive list of grooves and their equivalent tempo in BPM. note: this table assumes a song's tick rate setting is left at its default value for the chosen engine speed: 60 for NTSC, or 50 for PAL. diff --git a/doc/8-advanced/osc.md b/doc/8-advanced/osc.md index de58d70f4..145a26e39 100644 --- a/doc/8-advanced/osc.md +++ b/doc/8-advanced/osc.md @@ -4,6 +4,6 @@ the Oscilloscope shows the audio output as a waveform. ![oscilloscope view](osc.png) -right-clicking on the oscilloscope toggles the adjustment sliders: -- waveform height zoom -- width of viewed audio (window size) in milliseconds. +right-clicking on the oscilloscope toggles adjustment sliders: +- waveform height (zoom) +- window size (how much of the output to display) in milliseconds.