liuyao 0.4.4 → 0.4.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.mts CHANGED
@@ -291,6 +291,14 @@ declare class Hexagram {
291
291
  * @returns A trigram if the inner trigram is dynamic.
292
292
  */
293
293
  get dynamicInner(): boolean;
294
+ /**
295
+ * Whether this hexagram is one of ‘六冲卦’
296
+ */
297
+ get isSixScattering(): boolean;
298
+ /**
299
+ * Whether this hexagram is one of ‘六合卦’
300
+ */
301
+ get isSixGathering(): boolean;
294
302
  /**
295
303
  * Create a Hexagram from an array of Yao with length 6.
296
304
  */
@@ -329,6 +337,7 @@ interface HexagramAIReadable {
329
337
  卦名: string;
330
338
  宫: string;
331
339
  变爻?: string[];
340
+ 六冲六合?: '六合卦' | '六冲卦';
332
341
  }
333
342
  //#endregion
334
343
  export { Hexagram, type HexagramInfo, HexagramInfoTable, HexagramYaoOrder, PalaceOrderTable as PalaceIndexTable, type SetupGramInfo, type SixGod, type SixGodInfo, SixGodTable, type TrigramInfo, TrigramInfoTable, Yao };
package/dist/index.mjs CHANGED
@@ -1,2 +1,2 @@
1
- const e=[{name:`本宫卦`,nameEn:`Original Palace`},{name:`一世卦`,nameEn:`First Generation`},{name:`二世卦`,nameEn:`Second Generation`},{name:`三世卦`,nameEn:`Third Generation`},{name:`四世卦`,nameEn:`Fourth Generation`},{name:`五世卦`,nameEn:`Fifth Generation`},{name:`游魂卦`,nameEn:`Wandering Soul`},{name:`归魂卦`,nameEn:`Returning Soul`}],t=Object.freeze([{binary:`000000`,id:`坤为地`,sign:`䷁`,phase:`土`,palace:`坤`,palaceIndex:0,setupInfo:[{kin:`兄弟未土`},{kin:`父母巳火`},{kin:`官鬼卯木`,hostGuest:`应`},{kin:`兄弟丑土`},{kin:`妻财亥水`},{kin:`子孙酉金`,hostGuest:`世`}],yangCounts:[2,2,2,2,2,2]},{binary:`100000`,id:`地雷复`,sign:`䷗`,phase:`土`,palace:`坤`,palaceIndex:1,setupInfo:[{kin:`妻财子水`,hostGuest:`世`},{kin:`官鬼寅木`},{kin:`兄弟辰土`},{kin:`兄弟丑土`,hostGuest:`应`},{kin:`妻财亥水`},{kin:`子孙酉金`}],yangCounts:[1,2,2,2,2,2]},{binary:`010000`,id:`地水师`,sign:`䷆`,phase:`水`,palace:`坎`,palaceIndex:7,setupInfo:[{kin:`子孙寅木`},{kin:`官鬼辰土`},{kin:`妻财午火`,hostGuest:`世`},{kin:`官鬼丑土`},{kin:`兄弟亥水`},{kin:`父母酉金`,hostGuest:`应`}],yangCounts:[2,1,2,2,2,2]},{binary:`110000`,id:`地泽临`,sign:`䷒`,phase:`土`,palace:`坤`,palaceIndex:2,setupInfo:[{kin:`父母巳火`},{kin:`官鬼卯木`,hostGuest:`世`},{kin:`兄弟丑土`},{kin:`兄弟丑土`},{kin:`妻财亥水`,hostGuest:`应`},{kin:`子孙酉金`}],yangCounts:[1,1,2,2,2,2]},{binary:`001000`,id:`地山谦`,sign:`䷎`,phase:`土`,palace:`兑`,palaceIndex:5,setupInfo:[{kin:`父母辰土`},{kin:`官鬼午火`,hostGuest:`应`},{kin:`兄弟申金`},{kin:`父母丑土`},{kin:`子孙亥水`,hostGuest:`世`},{kin:`兄弟酉金`}],yangCounts:[2,2,1,2,2,2]},{binary:`101000`,id:`地火明夷`,sign:`䷣`,phase:`水`,palace:`坎`,palaceIndex:6,setupInfo:[{kin:`子孙卯木`,hostGuest:`应`},{kin:`官鬼丑土`},{kin:`兄弟亥水`},{kin:`官鬼丑土`,hostGuest:`世`},{kin:`兄弟亥水`},{kin:`父母酉金`}],yangCounts:[1,2,1,2,2,2]},{binary:`011000`,id:`地风升`,sign:`䷭`,phase:`木`,palace:`震`,palaceIndex:4,setupInfo:[{kin:`妻财丑土`,hostGuest:`应`},{kin:`父母亥水`},{kin:`官鬼酉金`},{kin:`妻财丑土`,hostGuest:`世`},{kin:`父母亥水`},{kin:`官鬼酉金`}],yangCounts:[2,1,1,2,2,2]},{binary:`111000`,id:`地天泰`,sign:`䷊`,phase:`土`,palace:`坤`,palaceIndex:3,setupInfo:[{kin:`妻财子水`},{kin:`官鬼寅木`},{kin:`兄弟辰土`,hostGuest:`世`},{kin:`兄弟丑土`},{kin:`妻财亥水`},{kin:`子孙酉金`,hostGuest:`应`}],yangCounts:[1,1,1,2,2,2]},{binary:`000100`,id:`雷地豫`,sign:`䷏`,phase:`木`,palace:`震`,palaceIndex:1,setupInfo:[{kin:`妻财未土`,hostGuest:`世`},{kin:`子孙巳火`},{kin:`兄弟卯木`},{kin:`子孙午火`,hostGuest:`应`},{kin:`官鬼申金`},{kin:`妻财戌土`}],yangCounts:[2,2,2,1,2,2]},{binary:`100100`,id:`震为雷`,sign:`䷲`,phase:`木`,palace:`震`,palaceIndex:0,setupInfo:[{kin:`父母子水`},{kin:`兄弟寅木`},{kin:`妻财辰土`,hostGuest:`应`},{kin:`子孙午火`},{kin:`官鬼申金`},{kin:`妻财戌土`,hostGuest:`世`}],yangCounts:[1,2,2,1,2,2]},{binary:`010100`,id:`雷水解`,sign:`䷧`,phase:`木`,palace:`震`,palaceIndex:2,setupInfo:[{kin:`兄弟寅木`},{kin:`妻财辰土`,hostGuest:`世`},{kin:`子孙午火`},{kin:`子孙午火`},{kin:`官鬼申金`,hostGuest:`应`},{kin:`妻财戌土`}],yangCounts:[2,1,2,1,2,2]},{binary:`110100`,id:`雷泽归妹`,sign:`䷵`,phase:`金`,palace:`兑`,palaceIndex:7,setupInfo:[{kin:`官鬼巳火`},{kin:`妻财卯木`},{kin:`父母丑土`,hostGuest:`世`},{kin:`官鬼午火`},{kin:`兄弟申金`},{kin:`父母戌土`,hostGuest:`应`}],yangCounts:[1,1,2,1,2,2]},{binary:`001100`,id:`雷山小过`,sign:`䷽`,phase:`金`,palace:`兑`,palaceIndex:6,setupInfo:[{kin:`父母辰土`,hostGuest:`应`},{kin:`官鬼午火`},{kin:`兄弟申金`},{kin:`官鬼午火`,hostGuest:`世`},{kin:`兄弟申金`},{kin:`父母戌土`}],yangCounts:[2,2,1,1,2,2]},{binary:`101100`,id:`雷火丰`,sign:`䷶`,phase:`水`,palace:`坎`,palaceIndex:5,setupInfo:[{kin:`子孙卯木`},{kin:`官鬼丑土`,hostGuest:`应`},{kin:`兄弟亥水`},{kin:`妻财午火`},{kin:`父母申金`,hostGuest:`世`},{kin:`官鬼戌土`}],yangCounts:[1,2,1,1,2,2]},{binary:`011100`,id:`雷风恒`,sign:`䷟`,phase:`木`,palace:`震`,palaceIndex:3,setupInfo:[{kin:`妻财丑土`},{kin:`父母亥水`},{kin:`官鬼酉金`,hostGuest:`世`},{kin:`子孙午火`},{kin:`官鬼申金`},{kin:`妻财戌土`,hostGuest:`应`}],yangCounts:[2,1,1,1,2,2]},{binary:`111100`,id:`雷天大壮`,sign:`䷡`,phase:`土`,palace:`坤`,palaceIndex:4,setupInfo:[{kin:`妻财子水`,hostGuest:`应`},{kin:`官鬼寅木`},{kin:`兄弟辰土`},{kin:`父母午火`,hostGuest:`世`},{kin:`子孙申金`},{kin:`兄弟戌土`}],yangCounts:[1,1,1,1,2,2]},{binary:`000010`,id:`水地比`,sign:`䷇`,phase:`土`,palace:`坤`,palaceIndex:7,setupInfo:[{kin:`兄弟未土`},{kin:`父母巳火`},{kin:`官鬼卯木`,hostGuest:`世`},{kin:`子孙申金`},{kin:`兄弟戌土`},{kin:`妻财子水`,hostGuest:`应`}],yangCounts:[2,2,2,2,1,2]},{binary:`100010`,id:`水雷屯`,sign:`䷂`,phase:`水`,palace:`坎`,palaceIndex:2,setupInfo:[{kin:`兄弟子水`},{kin:`子孙寅木`,hostGuest:`世`},{kin:`官鬼辰土`},{kin:`父母申金`},{kin:`官鬼戌土`,hostGuest:`应`},{kin:`兄弟子水`}],yangCounts:[1,2,2,2,1,2]},{binary:`010010`,id:`坎为水`,sign:`䷜`,phase:`水`,palace:`坎`,palaceIndex:0,setupInfo:[{kin:`子孙寅木`},{kin:`官鬼辰土`},{kin:`妻财午火`,hostGuest:`应`},{kin:`父母申金`},{kin:`官鬼戌土`},{kin:`兄弟子水`,hostGuest:`世`}],yangCounts:[2,1,2,2,1,2]},{binary:`110010`,id:`水泽节`,sign:`䷻`,phase:`水`,palace:`坎`,palaceIndex:1,setupInfo:[{kin:`妻财巳火`,hostGuest:`世`},{kin:`子孙卯木`},{kin:`官鬼丑土`},{kin:`父母申金`,hostGuest:`应`},{kin:`官鬼戌土`},{kin:`兄弟子水`}],yangCounts:[1,1,2,2,1,2]},{binary:`001010`,id:`水山蹇`,sign:`䷦`,phase:`金`,palace:`兑`,palaceIndex:4,setupInfo:[{kin:`父母辰土`,hostGuest:`应`},{kin:`官鬼午火`},{kin:`兄弟申金`},{kin:`兄弟申金`,hostGuest:`世`},{kin:`父母戌土`},{kin:`子孙子水`}],yangCounts:[2,2,1,2,1,2]},{binary:`101010`,id:`水火既济`,sign:`䷾`,phase:`水`,palace:`坎`,palaceIndex:3,setupInfo:[{kin:`子孙卯木`},{kin:`官鬼丑土`},{kin:`兄弟亥水`,hostGuest:`世`},{kin:`父母申金`},{kin:`官鬼戌土`},{kin:`兄弟子水`,hostGuest:`应`}],yangCounts:[1,2,1,2,1,2]},{binary:`011010`,id:`水风井`,sign:`䷯`,phase:`木`,palace:`震`,palaceIndex:5,setupInfo:[{kin:`妻财丑土`},{kin:`父母亥水`,hostGuest:`应`},{kin:`官鬼酉金`},{kin:`官鬼申金`},{kin:`妻财戌土`,hostGuest:`世`},{kin:`父母子水`}],yangCounts:[2,1,1,2,1,2]},{binary:`111010`,id:`水天需`,sign:`䷄`,phase:`土`,palace:`坤`,palaceIndex:6,setupInfo:[{kin:`妻财子水`,hostGuest:`应`},{kin:`官鬼寅木`},{kin:`兄弟辰土`},{kin:`子孙申金`,hostGuest:`世`},{kin:`兄弟戌土`},{kin:`妻财子水`}],yangCounts:[1,1,1,2,1,2]},{binary:`000110`,id:`泽地萃`,sign:`䷬`,phase:`金`,palace:`兑`,palaceIndex:2,setupInfo:[{kin:`父母未土`},{kin:`官鬼巳火`,hostGuest:`世`},{kin:`妻财卯木`},{kin:`子孙亥水`},{kin:`兄弟酉金`,hostGuest:`应`},{kin:`父母未土`}],yangCounts:[2,2,2,1,1,2]},{binary:`100110`,id:`泽雷随`,sign:`䷐`,phase:`木`,palace:`震`,palaceIndex:7,setupInfo:[{kin:`父母子水`},{kin:`兄弟寅木`},{kin:`妻财辰土`,hostGuest:`世`},{kin:`父母亥水`},{kin:`官鬼酉金`},{kin:`妻财未土`,hostGuest:`应`}],yangCounts:[1,2,2,1,1,2]},{binary:`010110`,id:`泽水困`,sign:`䷮`,phase:`金`,palace:`兑`,palaceIndex:1,setupInfo:[{kin:`妻财卯木`,hostGuest:`世`},{kin:`父母辰土`},{kin:`官鬼午火`},{kin:`子孙亥水`,hostGuest:`应`},{kin:`兄弟酉金`},{kin:`父母未土`}],yangCounts:[2,1,2,1,1,2]},{binary:`110110`,id:`兑为泽`,sign:`䷹`,phase:`金`,palace:`兑`,palaceIndex:0,setupInfo:[{kin:`官鬼巳火`},{kin:`妻财卯木`},{kin:`父母丑土`,hostGuest:`应`},{kin:`子孙亥水`},{kin:`兄弟酉金`},{kin:`父母未土`,hostGuest:`世`}],yangCounts:[1,1,2,1,1,2]},{binary:`001110`,id:`泽山咸`,sign:`䷞`,phase:`金`,palace:`兑`,palaceIndex:3,setupInfo:[{kin:`父母辰土`},{kin:`官鬼午火`},{kin:`兄弟申金`,hostGuest:`世`},{kin:`子孙亥水`},{kin:`兄弟酉金`},{kin:`父母未土`,hostGuest:`应`}],yangCounts:[2,2,1,1,1,2]},{binary:`101110`,id:`泽火革`,sign:`䷰`,phase:`水`,palace:`坎`,palaceIndex:4,setupInfo:[{kin:`子孙卯木`,hostGuest:`应`},{kin:`官鬼丑土`},{kin:`兄弟亥水`},{kin:`兄弟亥水`,hostGuest:`世`},{kin:`父母酉金`},{kin:`官鬼未土`}],yangCounts:[1,2,1,1,1,2]},{binary:`011110`,id:`泽风大过`,sign:`䷛`,phase:`木`,palace:`震`,palaceIndex:6,setupInfo:[{kin:`妻财丑土`,hostGuest:`应`},{kin:`父母亥水`},{kin:`官鬼酉金`},{kin:`父母亥水`,hostGuest:`世`},{kin:`官鬼酉金`},{kin:`妻财未土`}],yangCounts:[2,1,1,1,1,2]},{binary:`111110`,id:`泽天夬`,sign:`䷪`,phase:`土`,palace:`坤`,palaceIndex:5,setupInfo:[{kin:`妻财子水`},{kin:`官鬼寅木`,hostGuest:`应`},{kin:`兄弟辰土`},{kin:`妻财亥水`},{kin:`子孙酉金`,hostGuest:`世`},{kin:`兄弟未土`}],yangCounts:[1,1,1,1,1,2]},{binary:`000001`,id:`山地剥`,sign:`䷖`,phase:`金`,palace:`乾`,palaceIndex:5,setupInfo:[{kin:`父母未土`},{kin:`官鬼巳火`,hostGuest:`应`},{kin:`妻财卯木`},{kin:`父母戌土`},{kin:`子孙子水`,hostGuest:`世`},{kin:`妻财卯木`}],yangCounts:[2,2,2,2,2,1]},{binary:`100001`,id:`山雷颐`,sign:`䷚`,phase:`木`,palace:`巽`,palaceIndex:6,setupInfo:[{kin:`父母子水`,hostGuest:`应`},{kin:`兄弟寅木`},{kin:`妻财辰土`},{kin:`妻财戌土`,hostGuest:`世`},{kin:`父母子水`},{kin:`兄弟寅木`}],yangCounts:[1,2,2,2,2,1]},{binary:`010001`,id:`山水蒙`,sign:`䷃`,phase:`火`,palace:`离`,palaceIndex:4,setupInfo:[{kin:`父母寅木`,hostGuest:`应`},{kin:`子孙辰土`},{kin:`兄弟午火`},{kin:`子孙戌土`,hostGuest:`世`},{kin:`官鬼子水`},{kin:`父母寅木`}],yangCounts:[2,1,2,2,2,1]},{binary:`110001`,id:`山泽损`,sign:`䷨`,phase:`土`,palace:`艮`,palaceIndex:3,setupInfo:[{kin:`父母巳火`},{kin:`官鬼卯木`},{kin:`兄弟丑土`,hostGuest:`世`},{kin:`兄弟戌土`},{kin:`妻财子水`},{kin:`官鬼寅木`,hostGuest:`应`}],yangCounts:[1,1,2,2,2,1]},{binary:`001001`,id:`艮为山`,sign:`䷳`,phase:`土`,palace:`艮`,palaceIndex:0,setupInfo:[{kin:`兄弟辰土`},{kin:`父母午火`},{kin:`子孙申金`,hostGuest:`应`},{kin:`兄弟戌土`},{kin:`妻财子水`},{kin:`官鬼寅木`,hostGuest:`世`}],yangCounts:[2,2,1,2,2,1]},{binary:`101001`,id:`山火贲`,sign:`䷕`,phase:`土`,palace:`艮`,palaceIndex:1,setupInfo:[{kin:`官鬼卯木`,hostGuest:`世`},{kin:`兄弟丑土`},{kin:`妻财亥水`},{kin:`兄弟戌土`,hostGuest:`应`},{kin:`妻财子水`},{kin:`官鬼寅木`}],yangCounts:[1,2,1,2,2,1]},{binary:`011001`,id:`山风蛊`,sign:`䷑`,phase:`木`,palace:`巽`,palaceIndex:7,setupInfo:[{kin:`妻财丑土`},{kin:`父母亥水`},{kin:`官鬼酉金`,hostGuest:`世`},{kin:`妻财戌土`},{kin:`父母子水`},{kin:`兄弟寅木`,hostGuest:`应`}],yangCounts:[2,1,1,2,2,1]},{binary:`111001`,id:`山天大畜`,sign:`䷙`,phase:`土`,palace:`艮`,palaceIndex:2,setupInfo:[{kin:`妻财子水`},{kin:`官鬼寅木`,hostGuest:`世`},{kin:`兄弟辰土`},{kin:`兄弟戌土`},{kin:`妻财子水`,hostGuest:`应`},{kin:`官鬼寅木`}],yangCounts:[1,1,1,2,2,1]},{binary:`000101`,id:`火地晋`,sign:`䷢`,phase:`金`,palace:`乾`,palaceIndex:6,setupInfo:[{kin:`父母未土`,hostGuest:`应`},{kin:`官鬼巳火`},{kin:`妻财卯木`},{kin:`兄弟酉金`,hostGuest:`世`},{kin:`父母未土`},{kin:`官鬼巳火`}],yangCounts:[2,2,2,1,2,1]},{binary:`100101`,id:`火雷噬嗑`,sign:`䷔`,phase:`木`,palace:`巽`,palaceIndex:5,setupInfo:[{kin:`父母子水`},{kin:`兄弟寅木`,hostGuest:`应`},{kin:`妻财辰土`},{kin:`官鬼酉金`},{kin:`妻财未土`,hostGuest:`世`},{kin:`子孙巳火`}],yangCounts:[1,2,2,1,2,1]},{binary:`010101`,id:`火水未济`,sign:`䷿`,phase:`火`,palace:`离`,palaceIndex:3,setupInfo:[{kin:`父母寅木`},{kin:`子孙辰土`},{kin:`兄弟午火`,hostGuest:`世`},{kin:`妻财酉金`},{kin:`子孙未土`},{kin:`兄弟巳火`,hostGuest:`应`}],yangCounts:[2,1,2,1,2,1]},{binary:`110101`,id:`火泽睽`,sign:`䷥`,phase:`土`,palace:`艮`,palaceIndex:4,setupInfo:[{kin:`父母巳火`,hostGuest:`应`},{kin:`官鬼卯木`},{kin:`兄弟丑土`},{kin:`子孙酉金`,hostGuest:`世`},{kin:`兄弟未土`},{kin:`父母巳火`}],yangCounts:[1,1,2,1,2,1]},{binary:`001101`,id:`火山旅`,sign:`䷷`,phase:`火`,palace:`离`,palaceIndex:1,setupInfo:[{kin:`子孙辰土`,hostGuest:`世`},{kin:`兄弟午火`},{kin:`妻财申金`},{kin:`妻财酉金`,hostGuest:`应`},{kin:`子孙未土`},{kin:`兄弟巳火`}],yangCounts:[2,2,1,1,2,1]},{binary:`101101`,id:`离为火`,sign:`䷝`,phase:`火`,palace:`离`,palaceIndex:0,setupInfo:[{kin:`父母卯木`},{kin:`子孙丑土`},{kin:`官鬼亥水`,hostGuest:`应`},{kin:`妻财酉金`},{kin:`子孙未土`},{kin:`兄弟巳火`,hostGuest:`世`}],yangCounts:[1,2,1,1,2,1]},{binary:`011101`,id:`火风鼎`,sign:`䷱`,phase:`火`,palace:`离`,palaceIndex:2,setupInfo:[{kin:`子孙丑土`},{kin:`官鬼亥水`,hostGuest:`世`},{kin:`妻财酉金`},{kin:`妻财酉金`},{kin:`子孙未土`,hostGuest:`应`},{kin:`兄弟巳火`}],yangCounts:[2,1,1,1,2,1]},{binary:`111101`,id:`火天大有`,sign:`䷍`,phase:`金`,palace:`乾`,palaceIndex:7,setupInfo:[{kin:`子孙子水`},{kin:`妻财寅木`},{kin:`父母辰土`,hostGuest:`世`},{kin:`兄弟酉金`},{kin:`父母未土`},{kin:`官鬼巳火`,hostGuest:`应`}],yangCounts:[1,1,1,1,2,1]},{binary:`000011`,id:`风地观`,sign:`䷓`,phase:`金`,palace:`乾`,palaceIndex:4,setupInfo:[{kin:`父母未土`,hostGuest:`应`},{kin:`官鬼巳火`},{kin:`妻财卯木`},{kin:`父母未土`,hostGuest:`世`},{kin:`官鬼巳火`},{kin:`妻财卯木`}],yangCounts:[2,2,2,2,1,1]},{binary:`100011`,id:`风雷益`,sign:`䷩`,phase:`木`,palace:`巽`,palaceIndex:3,setupInfo:[{kin:`父母子水`},{kin:`兄弟寅木`},{kin:`妻财辰土`,hostGuest:`世`},{kin:`妻财未土`},{kin:`子孙巳火`},{kin:`兄弟卯木`,hostGuest:`应`}],yangCounts:[1,2,2,2,1,1]},{binary:`010011`,id:`风水涣`,sign:`䷺`,phase:`火`,palace:`离`,palaceIndex:5,setupInfo:[{kin:`父母寅木`},{kin:`子孙辰土`,hostGuest:`应`},{kin:`兄弟午火`},{kin:`子孙未土`},{kin:`兄弟巳火`,hostGuest:`世`},{kin:`父母卯木`}],yangCounts:[2,1,2,2,1,1]},{binary:`110011`,id:`风泽中孚`,sign:`䷼`,phase:`土`,palace:`艮`,palaceIndex:6,setupInfo:[{kin:`父母巳火`,hostGuest:`应`},{kin:`官鬼卯木`},{kin:`兄弟丑土`},{kin:`兄弟未土`,hostGuest:`世`},{kin:`父母巳火`},{kin:`官鬼卯木`}],yangCounts:[1,1,2,2,1,1]},{binary:`001011`,id:`风山渐`,sign:`䷴`,phase:`土`,palace:`艮`,palaceIndex:7,setupInfo:[{kin:`兄弟辰土`},{kin:`父母午火`},{kin:`子孙申金`,hostGuest:`世`},{kin:`兄弟未土`},{kin:`父母巳火`},{kin:`官鬼卯木`,hostGuest:`应`}],yangCounts:[2,2,1,2,1,1]},{binary:`101011`,id:`风火家人`,sign:`䷤`,phase:`木`,palace:`巽`,palaceIndex:2,setupInfo:[{kin:`兄弟卯木`},{kin:`妻财丑土`,hostGuest:`世`},{kin:`父母亥水`},{kin:`妻财未土`},{kin:`子孙巳火`,hostGuest:`应`},{kin:`兄弟卯木`}],yangCounts:[1,2,1,2,1,1]},{binary:`011011`,id:`巽为风`,sign:`䷸`,phase:`木`,palace:`巽`,palaceIndex:0,setupInfo:[{kin:`妻财丑土`},{kin:`父母亥水`},{kin:`官鬼酉金`,hostGuest:`应`},{kin:`妻财未土`},{kin:`子孙巳火`},{kin:`兄弟卯木`,hostGuest:`世`}],yangCounts:[2,1,1,2,1,1]},{binary:`111011`,id:`风天小畜`,sign:`䷈`,phase:`木`,palace:`巽`,palaceIndex:1,setupInfo:[{kin:`父母子水`,hostGuest:`世`},{kin:`兄弟寅木`},{kin:`妻财辰土`},{kin:`妻财未土`,hostGuest:`应`},{kin:`子孙巳火`},{kin:`兄弟卯木`}],yangCounts:[1,1,1,2,1,1]},{binary:`000111`,id:`天地否`,sign:`䷋`,phase:`金`,palace:`乾`,palaceIndex:3,setupInfo:[{kin:`父母未土`},{kin:`官鬼巳火`},{kin:`妻财卯木`,hostGuest:`世`},{kin:`官鬼午火`},{kin:`兄弟申金`},{kin:`父母戌土`,hostGuest:`应`}],yangCounts:[2,2,2,1,1,1]},{binary:`100111`,id:`天雷无妄`,sign:`䷘`,phase:`木`,palace:`巽`,palaceIndex:4,setupInfo:[{kin:`父母子水`,hostGuest:`应`},{kin:`兄弟寅木`},{kin:`妻财辰土`},{kin:`子孙午火`,hostGuest:`世`},{kin:`官鬼申金`},{kin:`妻财戌土`}],yangCounts:[1,2,2,1,1,1]},{binary:`010111`,id:`天水讼`,sign:`䷅`,phase:`火`,palace:`离`,palaceIndex:6,setupInfo:[{kin:`父母寅木`,hostGuest:`应`},{kin:`子孙辰土`},{kin:`兄弟午火`},{kin:`兄弟午火`,hostGuest:`世`},{kin:`妻财申金`},{kin:`子孙戌土`}],yangCounts:[2,1,2,1,1,1]},{binary:`110111`,id:`天泽履`,sign:`䷉`,phase:`土`,palace:`艮`,palaceIndex:5,setupInfo:[{kin:`父母巳火`},{kin:`官鬼卯木`,hostGuest:`应`},{kin:`兄弟丑土`},{kin:`父母午火`},{kin:`子孙申金`,hostGuest:`世`},{kin:`兄弟戌土`}],yangCounts:[1,1,2,1,1,1]},{binary:`001111`,id:`天山遁`,sign:`䷠`,phase:`金`,palace:`乾`,palaceIndex:2,setupInfo:[{kin:`父母辰土`},{kin:`官鬼午火`,hostGuest:`世`},{kin:`兄弟申金`},{kin:`官鬼午火`},{kin:`兄弟申金`,hostGuest:`应`},{kin:`父母戌土`}],yangCounts:[2,2,1,1,1,1]},{binary:`101111`,id:`天火同人`,sign:`䷌`,phase:`火`,palace:`离`,palaceIndex:7,setupInfo:[{kin:`父母寅木`},{kin:`子孙辰土`},{kin:`兄弟午火`,hostGuest:`世`},{kin:`子孙未土`},{kin:`父母巳火`},{kin:`子孙戌土`,hostGuest:`应`}],yangCounts:[1,2,1,1,1,1]},{binary:`011111`,id:`天风姤`,sign:`䷫`,phase:`金`,palace:`乾`,palaceIndex:1,setupInfo:[{kin:`父母丑土`,hostGuest:`世`},{kin:`子孙亥水`},{kin:`兄弟酉金`},{kin:`官鬼午火`,hostGuest:`应`},{kin:`兄弟申金`},{kin:`父母戌土`}],yangCounts:[2,1,1,1,1,1]},{binary:`111111`,id:`乾为天`,sign:`䷀`,phase:`金`,palace:`乾`,palaceIndex:0,setupInfo:[{kin:`子孙子水`},{kin:`妻财寅木`},{kin:`父母辰土`,hostGuest:`应`},{kin:`官鬼午火`},{kin:`兄弟申金`},{kin:`父母戌土`,hostGuest:`世`}],yangCounts:[1,1,1,1,1,1]}]),n=Object.freeze([{id:`坤`,binary:`000`,yangCount:0,represents:`地`,nameEn:`kun`,representsEn:`earth`,sign:`☷`},{id:`震`,binary:`100`,yangCount:1,represents:`雷`,nameEn:`zhen`,representsEn:`thunder`,sign:`☳`},{id:`坎`,binary:`010`,yangCount:1,represents:`水`,nameEn:`kan`,representsEn:`water`,sign:`☵`},{id:`兑`,binary:`110`,yangCount:2,represents:`泽`,nameEn:`dui`,representsEn:`lake`,sign:`☱`},{id:`艮`,binary:`001`,yangCount:1,represents:`山`,nameEn:`gen`,representsEn:`mountain`,sign:`☶`},{id:`离`,binary:`101`,yangCount:2,represents:`火`,nameEn:`li`,representsEn:`fire`,sign:`☲`},{id:`巽`,binary:`011`,yangCount:2,represents:`风`,nameEn:`xun`,representsEn:`wind`,sign:`☴`},{id:`乾`,binary:`111`,yangCount:3,represents:`天`,nameEn:`qian`,representsEn:`heaven`,sign:`☰`}]),r=Object.freeze([{heavenlyStem:`甲`,gods:[`青龙`,`朱雀`,`勾陈`,`螣蛇`,`白虎`,`玄武`]},{heavenlyStem:`乙`,gods:[`青龙`,`朱雀`,`勾陈`,`螣蛇`,`白虎`,`玄武`]},{heavenlyStem:`丙`,gods:[`朱雀`,`勾陈`,`螣蛇`,`白虎`,`玄武`,`青龙`]},{heavenlyStem:`丁`,gods:[`朱雀`,`勾陈`,`螣蛇`,`白虎`,`玄武`,`青龙`]},{heavenlyStem:`戊`,gods:[`勾陈`,`螣蛇`,`白虎`,`玄武`,`青龙`,`朱雀`]},{heavenlyStem:`己`,gods:[`螣蛇`,`白虎`,`玄武`,`青龙`,`朱雀`,`勾陈`]},{heavenlyStem:`庚`,gods:[`白虎`,`玄武`,`青龙`,`朱雀`,`勾陈`,`螣蛇`]},{heavenlyStem:`辛`,gods:[`白虎`,`玄武`,`青龙`,`朱雀`,`勾陈`,`螣蛇`]},{heavenlyStem:`壬`,gods:[`玄武`,`青龙`,`朱雀`,`勾陈`,`螣蛇`,`白虎`]},{heavenlyStem:`癸`,gods:[`玄武`,`青龙`,`朱雀`,`勾陈`,`螣蛇`,`白虎`]}]),i=[`老阴`,`少阳`,`少阴`,`老阳`],a=`交单拆重`,o=`×’”○`,s=[1,1,2,2],c=[0,1,0,1];function l(e){if(e!==0&&e!==1&&e!==2&&e!==3)throw Error(`Count of yang must be 0, 1, 2 or 3`)}var u=class e{static getName(e){return i[e]}static fromSymbol(t){let n=o.indexOf(t);return n===-1?null:new e(n)}static fromSymbolName(t){let n=a.indexOf(t);return n===-1?null:new e(n)}static fromName(t){let n=i.indexOf(t);return n===-1?null:new e(n)}static fromDigitString(t){let n=`0123`.indexOf(t);return n===-1?null:new e(n)}static fromTrigramField(t){let r=n.find(e=>e.id===t||e.yangCount===t||e.binary===t||e.nameEn===t||e.represents===t||e.representsEn===t||e.sign===t);return r?new e(r.yangCount):null}_yangCount;get yangCount(){return this._yangCount}get polar(){return c[this.yangCount]}get isDynamic(){return this.yangCount===0||this.yangCount===3}isChanged;get symbol(){return o[this.yangCount]}get symbolName(){return a[this.yangCount]}get name(){return i[this.yangCount]}constructor(e,t=!1){l(e),this._yangCount=e,this.isChanged=t}set(e){l(e),this._yangCount=e}clone(){return new e(this.yangCount,this.isChanged)}toChanged(){return this.isDynamic?new e(s[this.yangCount],!0):new e(this.yangCount,!1)}};const d=[`初爻`,`二爻`,`三爻`,`四爻`,`五爻`,`上爻`];var f=class n{static fromQuaternary(e){let t=e.split(``).map(u.fromDigitString);return t.every(e=>e!==null)?new n(t):null}static fromSymbolName(e){let t=e.split(``).map(u.fromSymbolName);return t.every(e=>e!==null)?new n(t):null}static fromYangCounts(e){try{return new n(e.map(e=>new u(e)))}catch{return null}}static fromId(e){let r=t.find(t=>t.id===e||t.id.slice(2)===e||t.id.startsWith(e)&&e.length>1);return r?n.fromYangCounts(r.yangCounts):null}static fromPalace(e){let r=t.find(t=>t.id[2]===e);return r?n.fromYangCounts(r.yangCounts):null}yaos;get info(){return t.find(e=>e.binary===this.yaos.map(e=>e.polar).join(``))}get palace(){let t=this.info;return`${t.palace}宫(${t.phase})${e[t.palaceIndex].name}`}get isDynamic(){return this.yaos.some(e=>e.isDynamic||e.isChanged)}get isChanged(){return this.yaos.some(e=>e.isChanged)}get dynamicOuter(){return this.yaos.slice(3).some(e=>e.isDynamic||e.isChanged)}get dynamicInner(){return this.yaos.slice(0,3).some(e=>e.isDynamic||e.isChanged)}constructor(e){if(e.length!==6)throw Error(`Array length mismatch, A Hexagram must be constructed with exactly 6 Yaos or 6 counts of yang`);if(e.every(e=>e instanceof u))this.yaos=e.map(e=>e.clone());else throw Error(`Invalid Arguments, Hexagram must be constructed with exactly 6 Yaos or 6 counts of yang`)}setYao(e,t){this.yaos[e].set(t)}toChanged(){if(!this.isDynamic)return null;if(this.isChanged)throw Error(`已经是变卦了,无法再变`);return new n(this.yaos.map(e=>e.toChanged()))}toDescription(){let e=this.info.setupInfo.findIndex(e=>e.hostGuest===`世`),t=this.info.setupInfo.findIndex(e=>e.hostGuest===`应`),n=[`本卦${this.info.id}`,`世爻为${d[e]}`,`应爻为${d[t]}`],r=this.toChanged();if(r){n.push(`${this.yaos.map((e,t)=>e.isDynamic?`${d[t]}`:null).filter(e=>e!==null).join(`、`)}是动爻`),n.push(`变卦为${r.info.id}`);let e=r.info.setupInfo.findIndex(e=>e.hostGuest===`世`);this.yaos[e].isDynamic?n.push(`变卦世爻为${d[e]}`):n.push(`未变出新的世爻`);let t=r.info.setupInfo.findIndex(e=>e.hostGuest===`应`);this.yaos[t].isDynamic?n.push(`变卦应爻为${d[t]}`):n.push(`未变出新的应爻`)}else n.push(`无动爻`);return n.join(`,`)}toAIReadable(){let e=this.info.setupInfo,t=this.toChanged(),n=t?.info.setupInfo,r=[];if(n){let e=this.yaos.map((e,t)=>e.isDynamic?t:null).filter(e=>e!==null);n.forEach((n,i)=>{e.includes(i)&&(n.hostGuest===`世`&&r.push(`新世爻为${t.info.id}的${d[i]}`),n.hostGuest===`应`&&r.push(`新应爻为${t.info.id}的${d[i]}`))})}else r.push(`没有新的世应爻出现,世应不变`);let i=(e,t,n)=>{let r={爻:this.yaos[n].name,六亲:t[n].kin,类型:t[n].hostGuest};return r.类型||delete r.类型,r};return{本卦:{上爻:i(this.yaos,e,5),五爻:i(this.yaos,e,4),四爻:i(this.yaos,e,3),三爻:i(this.yaos,e,2),二爻:i(this.yaos,e,1),初爻:i(this.yaos,e,0),卦名:this.info.id,宫:this.palace,变爻:this.isDynamic?this.yaos.map((e,t)=>e.isDynamic?d[t]:null).filter(e=>e!==null):void 0},变卦:n?{上爻:i(t.yaos,n,5),五爻:i(t.yaos,n,4),四爻:i(t.yaos,n,3),三爻:i(t.yaos,n,2),二爻:i(t.yaos,n,1),初爻:i(t.yaos,n,0),卦名:t.info.id,宫:t.palace}:`无`,世应变化:r.join(`,`)}}clone(){return new n(this.yaos)}toString(){return this.info.id}[Symbol.toPrimitive](){return this.info.id}};export{f as Hexagram,t as HexagramInfoTable,d as HexagramYaoOrder,e as PalaceIndexTable,r as SixGodTable,n as TrigramInfoTable,u as Yao};
1
+ const e=[{name:`本宫卦`,nameEn:`Original Palace`},{name:`一世卦`,nameEn:`First Generation`},{name:`二世卦`,nameEn:`Second Generation`},{name:`三世卦`,nameEn:`Third Generation`},{name:`四世卦`,nameEn:`Fourth Generation`},{name:`五世卦`,nameEn:`Fifth Generation`},{name:`游魂卦`,nameEn:`Wandering Soul`},{name:`归魂卦`,nameEn:`Returning Soul`}],t=Object.freeze([{binary:`000000`,id:`坤为地`,sign:`䷁`,phase:`土`,palace:`坤`,palaceIndex:0,setupInfo:[{kin:`兄弟未土`},{kin:`父母巳火`},{kin:`官鬼卯木`,hostGuest:`应`},{kin:`兄弟丑土`},{kin:`妻财亥水`},{kin:`子孙酉金`,hostGuest:`世`}],yangCounts:[2,2,2,2,2,2]},{binary:`100000`,id:`地雷复`,sign:`䷗`,phase:`土`,palace:`坤`,palaceIndex:1,setupInfo:[{kin:`妻财子水`,hostGuest:`世`},{kin:`官鬼寅木`},{kin:`兄弟辰土`},{kin:`兄弟丑土`,hostGuest:`应`},{kin:`妻财亥水`},{kin:`子孙酉金`}],yangCounts:[1,2,2,2,2,2]},{binary:`010000`,id:`地水师`,sign:`䷆`,phase:`水`,palace:`坎`,palaceIndex:7,setupInfo:[{kin:`子孙寅木`},{kin:`官鬼辰土`},{kin:`妻财午火`,hostGuest:`世`},{kin:`官鬼丑土`},{kin:`兄弟亥水`},{kin:`父母酉金`,hostGuest:`应`}],yangCounts:[2,1,2,2,2,2]},{binary:`110000`,id:`地泽临`,sign:`䷒`,phase:`土`,palace:`坤`,palaceIndex:2,setupInfo:[{kin:`父母巳火`},{kin:`官鬼卯木`,hostGuest:`世`},{kin:`兄弟丑土`},{kin:`兄弟丑土`},{kin:`妻财亥水`,hostGuest:`应`},{kin:`子孙酉金`}],yangCounts:[1,1,2,2,2,2]},{binary:`001000`,id:`地山谦`,sign:`䷎`,phase:`土`,palace:`兑`,palaceIndex:5,setupInfo:[{kin:`父母辰土`},{kin:`官鬼午火`,hostGuest:`应`},{kin:`兄弟申金`},{kin:`父母丑土`},{kin:`子孙亥水`,hostGuest:`世`},{kin:`兄弟酉金`}],yangCounts:[2,2,1,2,2,2]},{binary:`101000`,id:`地火明夷`,sign:`䷣`,phase:`水`,palace:`坎`,palaceIndex:6,setupInfo:[{kin:`子孙卯木`,hostGuest:`应`},{kin:`官鬼丑土`},{kin:`兄弟亥水`},{kin:`官鬼丑土`,hostGuest:`世`},{kin:`兄弟亥水`},{kin:`父母酉金`}],yangCounts:[1,2,1,2,2,2]},{binary:`011000`,id:`地风升`,sign:`䷭`,phase:`木`,palace:`震`,palaceIndex:4,setupInfo:[{kin:`妻财丑土`,hostGuest:`应`},{kin:`父母亥水`},{kin:`官鬼酉金`},{kin:`妻财丑土`,hostGuest:`世`},{kin:`父母亥水`},{kin:`官鬼酉金`}],yangCounts:[2,1,1,2,2,2]},{binary:`111000`,id:`地天泰`,sign:`䷊`,phase:`土`,palace:`坤`,palaceIndex:3,setupInfo:[{kin:`妻财子水`},{kin:`官鬼寅木`},{kin:`兄弟辰土`,hostGuest:`世`},{kin:`兄弟丑土`},{kin:`妻财亥水`},{kin:`子孙酉金`,hostGuest:`应`}],yangCounts:[1,1,1,2,2,2]},{binary:`000100`,id:`雷地豫`,sign:`䷏`,phase:`木`,palace:`震`,palaceIndex:1,setupInfo:[{kin:`妻财未土`,hostGuest:`世`},{kin:`子孙巳火`},{kin:`兄弟卯木`},{kin:`子孙午火`,hostGuest:`应`},{kin:`官鬼申金`},{kin:`妻财戌土`}],yangCounts:[2,2,2,1,2,2]},{binary:`100100`,id:`震为雷`,sign:`䷲`,phase:`木`,palace:`震`,palaceIndex:0,setupInfo:[{kin:`父母子水`},{kin:`兄弟寅木`},{kin:`妻财辰土`,hostGuest:`应`},{kin:`子孙午火`},{kin:`官鬼申金`},{kin:`妻财戌土`,hostGuest:`世`}],yangCounts:[1,2,2,1,2,2]},{binary:`010100`,id:`雷水解`,sign:`䷧`,phase:`木`,palace:`震`,palaceIndex:2,setupInfo:[{kin:`兄弟寅木`},{kin:`妻财辰土`,hostGuest:`世`},{kin:`子孙午火`},{kin:`子孙午火`},{kin:`官鬼申金`,hostGuest:`应`},{kin:`妻财戌土`}],yangCounts:[2,1,2,1,2,2]},{binary:`110100`,id:`雷泽归妹`,sign:`䷵`,phase:`金`,palace:`兑`,palaceIndex:7,setupInfo:[{kin:`官鬼巳火`},{kin:`妻财卯木`},{kin:`父母丑土`,hostGuest:`世`},{kin:`官鬼午火`},{kin:`兄弟申金`},{kin:`父母戌土`,hostGuest:`应`}],yangCounts:[1,1,2,1,2,2]},{binary:`001100`,id:`雷山小过`,sign:`䷽`,phase:`金`,palace:`兑`,palaceIndex:6,setupInfo:[{kin:`父母辰土`,hostGuest:`应`},{kin:`官鬼午火`},{kin:`兄弟申金`},{kin:`官鬼午火`,hostGuest:`世`},{kin:`兄弟申金`},{kin:`父母戌土`}],yangCounts:[2,2,1,1,2,2]},{binary:`101100`,id:`雷火丰`,sign:`䷶`,phase:`水`,palace:`坎`,palaceIndex:5,setupInfo:[{kin:`子孙卯木`},{kin:`官鬼丑土`,hostGuest:`应`},{kin:`兄弟亥水`},{kin:`妻财午火`},{kin:`父母申金`,hostGuest:`世`},{kin:`官鬼戌土`}],yangCounts:[1,2,1,1,2,2]},{binary:`011100`,id:`雷风恒`,sign:`䷟`,phase:`木`,palace:`震`,palaceIndex:3,setupInfo:[{kin:`妻财丑土`},{kin:`父母亥水`},{kin:`官鬼酉金`,hostGuest:`世`},{kin:`子孙午火`},{kin:`官鬼申金`},{kin:`妻财戌土`,hostGuest:`应`}],yangCounts:[2,1,1,1,2,2]},{binary:`111100`,id:`雷天大壮`,sign:`䷡`,phase:`土`,palace:`坤`,palaceIndex:4,setupInfo:[{kin:`妻财子水`,hostGuest:`应`},{kin:`官鬼寅木`},{kin:`兄弟辰土`},{kin:`父母午火`,hostGuest:`世`},{kin:`子孙申金`},{kin:`兄弟戌土`}],yangCounts:[1,1,1,1,2,2]},{binary:`000010`,id:`水地比`,sign:`䷇`,phase:`土`,palace:`坤`,palaceIndex:7,setupInfo:[{kin:`兄弟未土`},{kin:`父母巳火`},{kin:`官鬼卯木`,hostGuest:`世`},{kin:`子孙申金`},{kin:`兄弟戌土`},{kin:`妻财子水`,hostGuest:`应`}],yangCounts:[2,2,2,2,1,2]},{binary:`100010`,id:`水雷屯`,sign:`䷂`,phase:`水`,palace:`坎`,palaceIndex:2,setupInfo:[{kin:`兄弟子水`},{kin:`子孙寅木`,hostGuest:`世`},{kin:`官鬼辰土`},{kin:`父母申金`},{kin:`官鬼戌土`,hostGuest:`应`},{kin:`兄弟子水`}],yangCounts:[1,2,2,2,1,2]},{binary:`010010`,id:`坎为水`,sign:`䷜`,phase:`水`,palace:`坎`,palaceIndex:0,setupInfo:[{kin:`子孙寅木`},{kin:`官鬼辰土`},{kin:`妻财午火`,hostGuest:`应`},{kin:`父母申金`},{kin:`官鬼戌土`},{kin:`兄弟子水`,hostGuest:`世`}],yangCounts:[2,1,2,2,1,2]},{binary:`110010`,id:`水泽节`,sign:`䷻`,phase:`水`,palace:`坎`,palaceIndex:1,setupInfo:[{kin:`妻财巳火`,hostGuest:`世`},{kin:`子孙卯木`},{kin:`官鬼丑土`},{kin:`父母申金`,hostGuest:`应`},{kin:`官鬼戌土`},{kin:`兄弟子水`}],yangCounts:[1,1,2,2,1,2]},{binary:`001010`,id:`水山蹇`,sign:`䷦`,phase:`金`,palace:`兑`,palaceIndex:4,setupInfo:[{kin:`父母辰土`,hostGuest:`应`},{kin:`官鬼午火`},{kin:`兄弟申金`},{kin:`兄弟申金`,hostGuest:`世`},{kin:`父母戌土`},{kin:`子孙子水`}],yangCounts:[2,2,1,2,1,2]},{binary:`101010`,id:`水火既济`,sign:`䷾`,phase:`水`,palace:`坎`,palaceIndex:3,setupInfo:[{kin:`子孙卯木`},{kin:`官鬼丑土`},{kin:`兄弟亥水`,hostGuest:`世`},{kin:`父母申金`},{kin:`官鬼戌土`},{kin:`兄弟子水`,hostGuest:`应`}],yangCounts:[1,2,1,2,1,2]},{binary:`011010`,id:`水风井`,sign:`䷯`,phase:`木`,palace:`震`,palaceIndex:5,setupInfo:[{kin:`妻财丑土`},{kin:`父母亥水`,hostGuest:`应`},{kin:`官鬼酉金`},{kin:`官鬼申金`},{kin:`妻财戌土`,hostGuest:`世`},{kin:`父母子水`}],yangCounts:[2,1,1,2,1,2]},{binary:`111010`,id:`水天需`,sign:`䷄`,phase:`土`,palace:`坤`,palaceIndex:6,setupInfo:[{kin:`妻财子水`,hostGuest:`应`},{kin:`官鬼寅木`},{kin:`兄弟辰土`},{kin:`子孙申金`,hostGuest:`世`},{kin:`兄弟戌土`},{kin:`妻财子水`}],yangCounts:[1,1,1,2,1,2]},{binary:`000110`,id:`泽地萃`,sign:`䷬`,phase:`金`,palace:`兑`,palaceIndex:2,setupInfo:[{kin:`父母未土`},{kin:`官鬼巳火`,hostGuest:`世`},{kin:`妻财卯木`},{kin:`子孙亥水`},{kin:`兄弟酉金`,hostGuest:`应`},{kin:`父母未土`}],yangCounts:[2,2,2,1,1,2]},{binary:`100110`,id:`泽雷随`,sign:`䷐`,phase:`木`,palace:`震`,palaceIndex:7,setupInfo:[{kin:`父母子水`},{kin:`兄弟寅木`},{kin:`妻财辰土`,hostGuest:`世`},{kin:`父母亥水`},{kin:`官鬼酉金`},{kin:`妻财未土`,hostGuest:`应`}],yangCounts:[1,2,2,1,1,2]},{binary:`010110`,id:`泽水困`,sign:`䷮`,phase:`金`,palace:`兑`,palaceIndex:1,setupInfo:[{kin:`妻财卯木`,hostGuest:`世`},{kin:`父母辰土`},{kin:`官鬼午火`},{kin:`子孙亥水`,hostGuest:`应`},{kin:`兄弟酉金`},{kin:`父母未土`}],yangCounts:[2,1,2,1,1,2]},{binary:`110110`,id:`兑为泽`,sign:`䷹`,phase:`金`,palace:`兑`,palaceIndex:0,setupInfo:[{kin:`官鬼巳火`},{kin:`妻财卯木`},{kin:`父母丑土`,hostGuest:`应`},{kin:`子孙亥水`},{kin:`兄弟酉金`},{kin:`父母未土`,hostGuest:`世`}],yangCounts:[1,1,2,1,1,2]},{binary:`001110`,id:`泽山咸`,sign:`䷞`,phase:`金`,palace:`兑`,palaceIndex:3,setupInfo:[{kin:`父母辰土`},{kin:`官鬼午火`},{kin:`兄弟申金`,hostGuest:`世`},{kin:`子孙亥水`},{kin:`兄弟酉金`},{kin:`父母未土`,hostGuest:`应`}],yangCounts:[2,2,1,1,1,2]},{binary:`101110`,id:`泽火革`,sign:`䷰`,phase:`水`,palace:`坎`,palaceIndex:4,setupInfo:[{kin:`子孙卯木`,hostGuest:`应`},{kin:`官鬼丑土`},{kin:`兄弟亥水`},{kin:`兄弟亥水`,hostGuest:`世`},{kin:`父母酉金`},{kin:`官鬼未土`}],yangCounts:[1,2,1,1,1,2]},{binary:`011110`,id:`泽风大过`,sign:`䷛`,phase:`木`,palace:`震`,palaceIndex:6,setupInfo:[{kin:`妻财丑土`,hostGuest:`应`},{kin:`父母亥水`},{kin:`官鬼酉金`},{kin:`父母亥水`,hostGuest:`世`},{kin:`官鬼酉金`},{kin:`妻财未土`}],yangCounts:[2,1,1,1,1,2]},{binary:`111110`,id:`泽天夬`,sign:`䷪`,phase:`土`,palace:`坤`,palaceIndex:5,setupInfo:[{kin:`妻财子水`},{kin:`官鬼寅木`,hostGuest:`应`},{kin:`兄弟辰土`},{kin:`妻财亥水`},{kin:`子孙酉金`,hostGuest:`世`},{kin:`兄弟未土`}],yangCounts:[1,1,1,1,1,2]},{binary:`000001`,id:`山地剥`,sign:`䷖`,phase:`金`,palace:`乾`,palaceIndex:5,setupInfo:[{kin:`父母未土`},{kin:`官鬼巳火`,hostGuest:`应`},{kin:`妻财卯木`},{kin:`父母戌土`},{kin:`子孙子水`,hostGuest:`世`},{kin:`妻财卯木`}],yangCounts:[2,2,2,2,2,1]},{binary:`100001`,id:`山雷颐`,sign:`䷚`,phase:`木`,palace:`巽`,palaceIndex:6,setupInfo:[{kin:`父母子水`,hostGuest:`应`},{kin:`兄弟寅木`},{kin:`妻财辰土`},{kin:`妻财戌土`,hostGuest:`世`},{kin:`父母子水`},{kin:`兄弟寅木`}],yangCounts:[1,2,2,2,2,1]},{binary:`010001`,id:`山水蒙`,sign:`䷃`,phase:`火`,palace:`离`,palaceIndex:4,setupInfo:[{kin:`父母寅木`,hostGuest:`应`},{kin:`子孙辰土`},{kin:`兄弟午火`},{kin:`子孙戌土`,hostGuest:`世`},{kin:`官鬼子水`},{kin:`父母寅木`}],yangCounts:[2,1,2,2,2,1]},{binary:`110001`,id:`山泽损`,sign:`䷨`,phase:`土`,palace:`艮`,palaceIndex:3,setupInfo:[{kin:`父母巳火`},{kin:`官鬼卯木`},{kin:`兄弟丑土`,hostGuest:`世`},{kin:`兄弟戌土`},{kin:`妻财子水`},{kin:`官鬼寅木`,hostGuest:`应`}],yangCounts:[1,1,2,2,2,1]},{binary:`001001`,id:`艮为山`,sign:`䷳`,phase:`土`,palace:`艮`,palaceIndex:0,setupInfo:[{kin:`兄弟辰土`},{kin:`父母午火`},{kin:`子孙申金`,hostGuest:`应`},{kin:`兄弟戌土`},{kin:`妻财子水`},{kin:`官鬼寅木`,hostGuest:`世`}],yangCounts:[2,2,1,2,2,1]},{binary:`101001`,id:`山火贲`,sign:`䷕`,phase:`土`,palace:`艮`,palaceIndex:1,setupInfo:[{kin:`官鬼卯木`,hostGuest:`世`},{kin:`兄弟丑土`},{kin:`妻财亥水`},{kin:`兄弟戌土`,hostGuest:`应`},{kin:`妻财子水`},{kin:`官鬼寅木`}],yangCounts:[1,2,1,2,2,1]},{binary:`011001`,id:`山风蛊`,sign:`䷑`,phase:`木`,palace:`巽`,palaceIndex:7,setupInfo:[{kin:`妻财丑土`},{kin:`父母亥水`},{kin:`官鬼酉金`,hostGuest:`世`},{kin:`妻财戌土`},{kin:`父母子水`},{kin:`兄弟寅木`,hostGuest:`应`}],yangCounts:[2,1,1,2,2,1]},{binary:`111001`,id:`山天大畜`,sign:`䷙`,phase:`土`,palace:`艮`,palaceIndex:2,setupInfo:[{kin:`妻财子水`},{kin:`官鬼寅木`,hostGuest:`世`},{kin:`兄弟辰土`},{kin:`兄弟戌土`},{kin:`妻财子水`,hostGuest:`应`},{kin:`官鬼寅木`}],yangCounts:[1,1,1,2,2,1]},{binary:`000101`,id:`火地晋`,sign:`䷢`,phase:`金`,palace:`乾`,palaceIndex:6,setupInfo:[{kin:`父母未土`,hostGuest:`应`},{kin:`官鬼巳火`},{kin:`妻财卯木`},{kin:`兄弟酉金`,hostGuest:`世`},{kin:`父母未土`},{kin:`官鬼巳火`}],yangCounts:[2,2,2,1,2,1]},{binary:`100101`,id:`火雷噬嗑`,sign:`䷔`,phase:`木`,palace:`巽`,palaceIndex:5,setupInfo:[{kin:`父母子水`},{kin:`兄弟寅木`,hostGuest:`应`},{kin:`妻财辰土`},{kin:`官鬼酉金`},{kin:`妻财未土`,hostGuest:`世`},{kin:`子孙巳火`}],yangCounts:[1,2,2,1,2,1]},{binary:`010101`,id:`火水未济`,sign:`䷿`,phase:`火`,palace:`离`,palaceIndex:3,setupInfo:[{kin:`父母寅木`},{kin:`子孙辰土`},{kin:`兄弟午火`,hostGuest:`世`},{kin:`妻财酉金`},{kin:`子孙未土`},{kin:`兄弟巳火`,hostGuest:`应`}],yangCounts:[2,1,2,1,2,1]},{binary:`110101`,id:`火泽睽`,sign:`䷥`,phase:`土`,palace:`艮`,palaceIndex:4,setupInfo:[{kin:`父母巳火`,hostGuest:`应`},{kin:`官鬼卯木`},{kin:`兄弟丑土`},{kin:`子孙酉金`,hostGuest:`世`},{kin:`兄弟未土`},{kin:`父母巳火`}],yangCounts:[1,1,2,1,2,1]},{binary:`001101`,id:`火山旅`,sign:`䷷`,phase:`火`,palace:`离`,palaceIndex:1,setupInfo:[{kin:`子孙辰土`,hostGuest:`世`},{kin:`兄弟午火`},{kin:`妻财申金`},{kin:`妻财酉金`,hostGuest:`应`},{kin:`子孙未土`},{kin:`兄弟巳火`}],yangCounts:[2,2,1,1,2,1]},{binary:`101101`,id:`离为火`,sign:`䷝`,phase:`火`,palace:`离`,palaceIndex:0,setupInfo:[{kin:`父母卯木`},{kin:`子孙丑土`},{kin:`官鬼亥水`,hostGuest:`应`},{kin:`妻财酉金`},{kin:`子孙未土`},{kin:`兄弟巳火`,hostGuest:`世`}],yangCounts:[1,2,1,1,2,1]},{binary:`011101`,id:`火风鼎`,sign:`䷱`,phase:`火`,palace:`离`,palaceIndex:2,setupInfo:[{kin:`子孙丑土`},{kin:`官鬼亥水`,hostGuest:`世`},{kin:`妻财酉金`},{kin:`妻财酉金`},{kin:`子孙未土`,hostGuest:`应`},{kin:`兄弟巳火`}],yangCounts:[2,1,1,1,2,1]},{binary:`111101`,id:`火天大有`,sign:`䷍`,phase:`金`,palace:`乾`,palaceIndex:7,setupInfo:[{kin:`子孙子水`},{kin:`妻财寅木`},{kin:`父母辰土`,hostGuest:`世`},{kin:`兄弟酉金`},{kin:`父母未土`},{kin:`官鬼巳火`,hostGuest:`应`}],yangCounts:[1,1,1,1,2,1]},{binary:`000011`,id:`风地观`,sign:`䷓`,phase:`金`,palace:`乾`,palaceIndex:4,setupInfo:[{kin:`父母未土`,hostGuest:`应`},{kin:`官鬼巳火`},{kin:`妻财卯木`},{kin:`父母未土`,hostGuest:`世`},{kin:`官鬼巳火`},{kin:`妻财卯木`}],yangCounts:[2,2,2,2,1,1]},{binary:`100011`,id:`风雷益`,sign:`䷩`,phase:`木`,palace:`巽`,palaceIndex:3,setupInfo:[{kin:`父母子水`},{kin:`兄弟寅木`},{kin:`妻财辰土`,hostGuest:`世`},{kin:`妻财未土`},{kin:`子孙巳火`},{kin:`兄弟卯木`,hostGuest:`应`}],yangCounts:[1,2,2,2,1,1]},{binary:`010011`,id:`风水涣`,sign:`䷺`,phase:`火`,palace:`离`,palaceIndex:5,setupInfo:[{kin:`父母寅木`},{kin:`子孙辰土`,hostGuest:`应`},{kin:`兄弟午火`},{kin:`子孙未土`},{kin:`兄弟巳火`,hostGuest:`世`},{kin:`父母卯木`}],yangCounts:[2,1,2,2,1,1]},{binary:`110011`,id:`风泽中孚`,sign:`䷼`,phase:`土`,palace:`艮`,palaceIndex:6,setupInfo:[{kin:`父母巳火`,hostGuest:`应`},{kin:`官鬼卯木`},{kin:`兄弟丑土`},{kin:`兄弟未土`,hostGuest:`世`},{kin:`父母巳火`},{kin:`官鬼卯木`}],yangCounts:[1,1,2,2,1,1]},{binary:`001011`,id:`风山渐`,sign:`䷴`,phase:`土`,palace:`艮`,palaceIndex:7,setupInfo:[{kin:`兄弟辰土`},{kin:`父母午火`},{kin:`子孙申金`,hostGuest:`世`},{kin:`兄弟未土`},{kin:`父母巳火`},{kin:`官鬼卯木`,hostGuest:`应`}],yangCounts:[2,2,1,2,1,1]},{binary:`101011`,id:`风火家人`,sign:`䷤`,phase:`木`,palace:`巽`,palaceIndex:2,setupInfo:[{kin:`兄弟卯木`},{kin:`妻财丑土`,hostGuest:`世`},{kin:`父母亥水`},{kin:`妻财未土`},{kin:`子孙巳火`,hostGuest:`应`},{kin:`兄弟卯木`}],yangCounts:[1,2,1,2,1,1]},{binary:`011011`,id:`巽为风`,sign:`䷸`,phase:`木`,palace:`巽`,palaceIndex:0,setupInfo:[{kin:`妻财丑土`},{kin:`父母亥水`},{kin:`官鬼酉金`,hostGuest:`应`},{kin:`妻财未土`},{kin:`子孙巳火`},{kin:`兄弟卯木`,hostGuest:`世`}],yangCounts:[2,1,1,2,1,1]},{binary:`111011`,id:`风天小畜`,sign:`䷈`,phase:`木`,palace:`巽`,palaceIndex:1,setupInfo:[{kin:`父母子水`,hostGuest:`世`},{kin:`兄弟寅木`},{kin:`妻财辰土`},{kin:`妻财未土`,hostGuest:`应`},{kin:`子孙巳火`},{kin:`兄弟卯木`}],yangCounts:[1,1,1,2,1,1]},{binary:`000111`,id:`天地否`,sign:`䷋`,phase:`金`,palace:`乾`,palaceIndex:3,setupInfo:[{kin:`父母未土`},{kin:`官鬼巳火`},{kin:`妻财卯木`,hostGuest:`世`},{kin:`官鬼午火`},{kin:`兄弟申金`},{kin:`父母戌土`,hostGuest:`应`}],yangCounts:[2,2,2,1,1,1]},{binary:`100111`,id:`天雷无妄`,sign:`䷘`,phase:`木`,palace:`巽`,palaceIndex:4,setupInfo:[{kin:`父母子水`,hostGuest:`应`},{kin:`兄弟寅木`},{kin:`妻财辰土`},{kin:`子孙午火`,hostGuest:`世`},{kin:`官鬼申金`},{kin:`妻财戌土`}],yangCounts:[1,2,2,1,1,1]},{binary:`010111`,id:`天水讼`,sign:`䷅`,phase:`火`,palace:`离`,palaceIndex:6,setupInfo:[{kin:`父母寅木`,hostGuest:`应`},{kin:`子孙辰土`},{kin:`兄弟午火`},{kin:`兄弟午火`,hostGuest:`世`},{kin:`妻财申金`},{kin:`子孙戌土`}],yangCounts:[2,1,2,1,1,1]},{binary:`110111`,id:`天泽履`,sign:`䷉`,phase:`土`,palace:`艮`,palaceIndex:5,setupInfo:[{kin:`父母巳火`},{kin:`官鬼卯木`,hostGuest:`应`},{kin:`兄弟丑土`},{kin:`父母午火`},{kin:`子孙申金`,hostGuest:`世`},{kin:`兄弟戌土`}],yangCounts:[1,1,2,1,1,1]},{binary:`001111`,id:`天山遁`,sign:`䷠`,phase:`金`,palace:`乾`,palaceIndex:2,setupInfo:[{kin:`父母辰土`},{kin:`官鬼午火`,hostGuest:`世`},{kin:`兄弟申金`},{kin:`官鬼午火`},{kin:`兄弟申金`,hostGuest:`应`},{kin:`父母戌土`}],yangCounts:[2,2,1,1,1,1]},{binary:`101111`,id:`天火同人`,sign:`䷌`,phase:`火`,palace:`离`,palaceIndex:7,setupInfo:[{kin:`父母寅木`},{kin:`子孙辰土`},{kin:`兄弟午火`,hostGuest:`世`},{kin:`子孙未土`},{kin:`父母巳火`},{kin:`子孙戌土`,hostGuest:`应`}],yangCounts:[1,2,1,1,1,1]},{binary:`011111`,id:`天风姤`,sign:`䷫`,phase:`金`,palace:`乾`,palaceIndex:1,setupInfo:[{kin:`父母丑土`,hostGuest:`世`},{kin:`子孙亥水`},{kin:`兄弟酉金`},{kin:`官鬼午火`,hostGuest:`应`},{kin:`兄弟申金`},{kin:`父母戌土`}],yangCounts:[2,1,1,1,1,1]},{binary:`111111`,id:`乾为天`,sign:`䷀`,phase:`金`,palace:`乾`,palaceIndex:0,setupInfo:[{kin:`子孙子水`},{kin:`妻财寅木`},{kin:`父母辰土`,hostGuest:`应`},{kin:`官鬼午火`},{kin:`兄弟申金`},{kin:`父母戌土`,hostGuest:`世`}],yangCounts:[1,1,1,1,1,1]}]),n=Object.freeze([{id:`坤`,binary:`000`,yangCount:0,represents:`地`,nameEn:`kun`,representsEn:`earth`,sign:`☷`},{id:`震`,binary:`100`,yangCount:1,represents:`雷`,nameEn:`zhen`,representsEn:`thunder`,sign:`☳`},{id:`坎`,binary:`010`,yangCount:1,represents:`水`,nameEn:`kan`,representsEn:`water`,sign:`☵`},{id:`兑`,binary:`110`,yangCount:2,represents:`泽`,nameEn:`dui`,representsEn:`lake`,sign:`☱`},{id:`艮`,binary:`001`,yangCount:1,represents:`山`,nameEn:`gen`,representsEn:`mountain`,sign:`☶`},{id:`离`,binary:`101`,yangCount:2,represents:`火`,nameEn:`li`,representsEn:`fire`,sign:`☲`},{id:`巽`,binary:`011`,yangCount:2,represents:`风`,nameEn:`xun`,representsEn:`wind`,sign:`☴`},{id:`乾`,binary:`111`,yangCount:3,represents:`天`,nameEn:`qian`,representsEn:`heaven`,sign:`☰`}]),r=Object.freeze([{heavenlyStem:`甲`,gods:[`青龙`,`朱雀`,`勾陈`,`螣蛇`,`白虎`,`玄武`]},{heavenlyStem:`乙`,gods:[`青龙`,`朱雀`,`勾陈`,`螣蛇`,`白虎`,`玄武`]},{heavenlyStem:`丙`,gods:[`朱雀`,`勾陈`,`螣蛇`,`白虎`,`玄武`,`青龙`]},{heavenlyStem:`丁`,gods:[`朱雀`,`勾陈`,`螣蛇`,`白虎`,`玄武`,`青龙`]},{heavenlyStem:`戊`,gods:[`勾陈`,`螣蛇`,`白虎`,`玄武`,`青龙`,`朱雀`]},{heavenlyStem:`己`,gods:[`螣蛇`,`白虎`,`玄武`,`青龙`,`朱雀`,`勾陈`]},{heavenlyStem:`庚`,gods:[`白虎`,`玄武`,`青龙`,`朱雀`,`勾陈`,`螣蛇`]},{heavenlyStem:`辛`,gods:[`白虎`,`玄武`,`青龙`,`朱雀`,`勾陈`,`螣蛇`]},{heavenlyStem:`壬`,gods:[`玄武`,`青龙`,`朱雀`,`勾陈`,`螣蛇`,`白虎`]},{heavenlyStem:`癸`,gods:[`玄武`,`青龙`,`朱雀`,`勾陈`,`螣蛇`,`白虎`]}]),i=[`老阴`,`少阳`,`少阴`,`老阳`],a=`交单拆重`,o=`×’”○`,s=[1,1,2,2],c=[0,1,0,1];function l(e){if(e!==0&&e!==1&&e!==2&&e!==3)throw Error(`Count of yang must be 0, 1, 2 or 3`)}var u=class e{static getName(e){return i[e]}static fromSymbol(t){let n=o.indexOf(t);return n===-1?null:new e(n)}static fromSymbolName(t){let n=a.indexOf(t);return n===-1?null:new e(n)}static fromName(t){let n=i.indexOf(t);return n===-1?null:new e(n)}static fromDigitString(t){let n=`0123`.indexOf(t);return n===-1?null:new e(n)}static fromTrigramField(t){let r=n.find(e=>e.id===t||e.yangCount===t||e.binary===t||e.nameEn===t||e.represents===t||e.representsEn===t||e.sign===t);return r?new e(r.yangCount):null}_yangCount;get yangCount(){return this._yangCount}get polar(){return c[this.yangCount]}get isDynamic(){return this.yangCount===0||this.yangCount===3}isChanged;get symbol(){return o[this.yangCount]}get symbolName(){return a[this.yangCount]}get name(){return i[this.yangCount]}constructor(e,t=!1){l(e),this._yangCount=e,this.isChanged=t}set(e){l(e),this._yangCount=e}clone(){return new e(this.yangCount,this.isChanged)}toChanged(){return this.isDynamic?new e(s[this.yangCount],!0):new e(this.yangCount,!1)}};const d=[`初爻`,`二爻`,`三爻`,`四爻`,`五爻`,`上爻`];var f=class n{static fromQuaternary(e){let t=e.split(``).map(u.fromDigitString);return t.every(e=>e!==null)?new n(t):null}static fromSymbolName(e){let t=e.split(``).map(u.fromSymbolName);return t.every(e=>e!==null)?new n(t):null}static fromYangCounts(e){try{return new n(e.map(e=>new u(e)))}catch{return null}}static fromId(e){let r=t.find(t=>t.id===e||t.id.slice(2)===e||t.id.startsWith(e)&&e.length>1);return r?n.fromYangCounts(r.yangCounts):null}static fromPalace(e){let r=t.find(t=>t.id[2]===e);return r?n.fromYangCounts(r.yangCounts):null}yaos;get info(){return t.find(e=>e.binary===this.yaos.map(e=>e.polar).join(``))}get palace(){let t=this.info;return`${t.palace}宫(${t.phase})${e[t.palaceIndex].name}`}get isDynamic(){return this.yaos.some(e=>e.isDynamic||e.isChanged)}get isChanged(){return this.yaos.some(e=>e.isChanged)}get dynamicOuter(){return this.yaos.slice(3).some(e=>e.isDynamic||e.isChanged)}get dynamicInner(){return this.yaos.slice(0,3).some(e=>e.isDynamic||e.isChanged)}get isSixScattering(){return[`乾为天`,`坤为地`,`震为雷`,`巽为风`,`坎为水`,`离为火`,`艮为山`,`兑为泽`,`天雷无妄`,`雷天大壮`].includes(this.info.id)}get isSixGathering(){return[`天地否`,`地天泰`,`地雷复`,`雷地豫`,`山火贲`,`火山旅`,`泽水困`,`水泽节`].includes(this.info.id)}constructor(e){if(e.length!==6)throw Error(`Array length mismatch, A Hexagram must be constructed with exactly 6 Yaos or 6 counts of yang`);if(e.every(e=>e instanceof u))this.yaos=e.map(e=>e.clone());else throw Error(`Invalid Arguments, Hexagram must be constructed with exactly 6 Yaos or 6 counts of yang`)}setYao(e,t){this.yaos[e].set(t)}toChanged(){if(!this.isDynamic)return null;if(this.isChanged)throw Error(`已经是变卦了,无法再变`);return new n(this.yaos.map(e=>e.toChanged()))}toDescription(){let e=this.info.setupInfo.findIndex(e=>e.hostGuest===`世`),t=this.info.setupInfo.findIndex(e=>e.hostGuest===`应`),n=[`本卦${this.info.id}`,`世爻为${d[e]}`,`应爻为${d[t]}`],r=this.toChanged();if(r){n.push(`${this.yaos.map((e,t)=>e.isDynamic?`${d[t]}`:null).filter(e=>e!==null).join(`、`)}是动爻`),n.push(`变卦为${r.info.id}`);let e=r.info.setupInfo.findIndex(e=>e.hostGuest===`世`);this.yaos[e].isDynamic?n.push(`变卦世爻为${d[e]}`):n.push(`未变出新的世爻`);let t=r.info.setupInfo.findIndex(e=>e.hostGuest===`应`);this.yaos[t].isDynamic?n.push(`变卦应爻为${d[t]}`):n.push(`未变出新的应爻`)}else n.push(`无动爻`);return n.join(`,`)}toAIReadable(){let e=this.info.setupInfo,t=this.toChanged(),n=t?.info.setupInfo,r=[];if(n){let e=this.yaos.map((e,t)=>e.isDynamic?t:null).filter(e=>e!==null);n.forEach((n,i)=>{e.includes(i)&&(n.hostGuest===`世`&&r.push(`新世爻为${t.info.id}的${d[i]}`),n.hostGuest===`应`&&r.push(`新应爻为${t.info.id}的${d[i]}`))})}else r.push(`没有新的世应爻出现,世应不变`);let i=(e,t,n)=>{let r={爻:this.yaos[n].name,六亲:t[n].kin,类型:t[n].hostGuest};return r.类型||delete r.类型,r};return{本卦:{上爻:i(this.yaos,e,5),五爻:i(this.yaos,e,4),四爻:i(this.yaos,e,3),三爻:i(this.yaos,e,2),二爻:i(this.yaos,e,1),初爻:i(this.yaos,e,0),卦名:this.info.id,宫:this.palace,变爻:this.isDynamic?this.yaos.map((e,t)=>e.isDynamic?d[t]:null).filter(e=>e!==null):void 0,六冲六合:this.isSixScattering?`六合卦`:this.isSixGathering?`六冲卦`:void 0},变卦:n?{上爻:i(t.yaos,n,5),五爻:i(t.yaos,n,4),四爻:i(t.yaos,n,3),三爻:i(t.yaos,n,2),二爻:i(t.yaos,n,1),初爻:i(t.yaos,n,0),卦名:t.info.id,宫:t.palace,六冲六合:t.isSixScattering?`六合卦`:t.isSixGathering?`六冲卦`:void 0}:`无`,世应变化:r.join(`,`)}}clone(){return new n(this.yaos)}toString(){return this.info.id}[Symbol.toPrimitive](){return this.info.id}};export{f as Hexagram,t as HexagramInfoTable,d as HexagramYaoOrder,e as PalaceIndexTable,r as SixGodTable,n as TrigramInfoTable,u as Yao};
2
2
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","names":[],"sources":["../src/core/common.ts","../src/core/six-gods.ts","../src/classes/yao.ts","../src/classes/hexagram.ts"],"sourcesContent":["import type { SetupGramInfo } from './setup-gram.js';\n\n/*\n䷁,䷖,䷇,䷓,䷏,䷢,䷬,䷋,\n坤,剥,比,观,豫,晋,萃,否,\n\n䷎,䷳,䷦,䷴,䷽,䷷,䷞,䷠,\n谦,艮,蹇,渐,小过,旅,咸,遁,\n\n䷆,䷃,䷜,䷺,䷧,䷿,䷮,䷅,\n师,蒙,坎,涣,解,未济,困,讼,\n\n䷭,䷑,䷯,䷸,䷟,䷱,䷛,䷫,\n升,蛊,井,巽,恒,鼎,大过,姤,\n\n䷗,䷚,䷂,䷩,䷲,䷔,䷐,䷘,\n复,颐,屯,益,震,噬嗑,随,无妄,\n\n䷣,䷕,䷾,䷤,䷶,䷝,䷰,䷌,\n明夷,贲,既济,家人,丰,离,革,同人,\n\n䷒,䷨,䷻,䷼,䷵,䷥,䷹,䷉,\n临,损,节,中孚,归妹,睽,兑,履,\n\n䷊,䷙,䷄,䷈,䷡,䷍,䷪,䷀,\n泰,大畜,需,小畜,大壮,大有,夬,乾\n*/\n\ninterface PalaceOrderName {\n name: string;\n nameEn: string;\n}\n\nexport const PalaceOrderTable: PalaceOrderName[] = [\n { name: '本宫卦', nameEn: 'Original Palace' },\n { name: '一世卦', nameEn: 'First Generation' },\n { name: '二世卦', nameEn: 'Second Generation' },\n { name: '三世卦', nameEn: 'Third Generation' },\n { name: '四世卦', nameEn: 'Fourth Generation' },\n { name: '五世卦', nameEn: 'Fifth Generation' },\n { name: '游魂卦', nameEn: 'Wandering Soul' },\n { name: '归魂卦', nameEn: 'Returning Soul' },\n];\n\nexport interface HexagramInfo {\n /**\n * Binary representation of the hexagram, where 0 represents a yin line and 1 represents a yang line. The lines are ordered from the bottom (first line) to the top (sixth line).\n */\n binary: `${0 | 1}${0 | 1}${0 | 1}${0 | 1}${0 | 1}${0 | 1}`;\n\n /**\n * Binary to YangCounts.\n * e.g. `'000000'` 坤为地 -> `[2, 2, 2, 2, 2, 2]`, 2 means Shao Yin.\n */\n yangCounts: number[];\n\n /**\n * Name of the hexagram, which includes the names of the upper and lower trigrams.\n *\n * For example, \"坤为地\", \"地雷复\", \"地水师\", etc.\n */\n id: string;\n\n /**\n * 64 hexagrams correspond to Unicode characters.\n * For example, \"䷁\" (U+4DC1) represents the hexagram \"坤为地\".\n */\n sign: string;\n\n /**\n * Five Phases (五行) associated with the hexagram, which can be one of \"金\" (Metal), \"木\" (Wood), \"水\" (Water), \"火\" (Fire), or \"土\" (Earth).\n * It indicates the development and state of things.\n */\n phase: '金' | '木' | '水' | '火' | '土';\n\n /**\n * Eight Palaces (八宫) to which the hexagram belongs.\n * 'Palace' is not a physical palace, but rather a category or family of hexagrams.\n */\n palace: '乾' | '兑' | '离' | '震' | '巽' | '坎' | '艮' | '坤';\n\n /**\n * Index of the hexagram within its palace, ranging from 0 to 7. This index helps to identify the specific hexagram within the context of its palace.\n *\n * - 本宫卦 Original Palace\n * - 一世卦 First Generation, 1st yao is changed\n * - 二世卦 Second Generation, 1st and 2nd yao is changed\n * - 三世卦 Third Generation, 1st, 2nd and 3rd yao is changed\n * - 四世卦 Fourth Generation, 1st, 2nd, 3rd and 4th yao is changed\n * - 五世卦 Fifth Generation, 1st, 2nd, 3rd, 4th and 5th yao is changed\n * - 游魂卦 Wandering Soul, restores 4th yao of Fifth Generation\n * - 归魂卦 Returning Soul, restores lower 3 yaos of Fifth Generation\n */\n palaceIndex: 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7;\n\n /**\n * Setup information of the hexagram. Includes Host-Guest(世应) and Six Kins (六亲) for each of the six lines. This information is crucial for interpreting the hexagrams and their changing lines in the context of a divination reading.\n *\n * Host(世)is the augur and Guest(应) is the person or things which to ask about.\n */\n setupInfo: [SetupGramInfo, SetupGramInfo, SetupGramInfo, SetupGramInfo, SetupGramInfo, SetupGramInfo];\n}\n\nexport const HexagramInfoTable: readonly HexagramInfo[] = Object.freeze([\n {\n binary: '000000',\n id: '坤为地',\n sign: '䷁',\n phase: '土',\n palace: '坤',\n palaceIndex: 0,\n setupInfo: [\n {\n kin: '兄弟未土',\n },\n {\n kin: '父母巳火',\n },\n {\n kin: '官鬼卯木',\n hostGuest: '应',\n },\n {\n kin: '兄弟丑土',\n },\n {\n kin: '妻财亥水',\n },\n {\n kin: '子孙酉金',\n hostGuest: '世',\n },\n ],\n yangCounts: [2, 2, 2, 2, 2, 2],\n },\n {\n binary: '100000',\n id: '地雷复',\n sign: '䷗',\n phase: '土',\n palace: '坤',\n palaceIndex: 1,\n setupInfo: [\n {\n kin: '妻财子水',\n hostGuest: '世',\n },\n {\n kin: '官鬼寅木',\n },\n {\n kin: '兄弟辰土',\n },\n {\n kin: '兄弟丑土',\n hostGuest: '应',\n },\n {\n kin: '妻财亥水',\n },\n {\n kin: '子孙酉金',\n },\n ],\n yangCounts: [1, 2, 2, 2, 2, 2],\n },\n {\n binary: '010000',\n id: '地水师',\n sign: '䷆',\n phase: '水',\n palace: '坎',\n palaceIndex: 7,\n setupInfo: [\n {\n kin: '子孙寅木',\n },\n {\n kin: '官鬼辰土',\n },\n {\n kin: '妻财午火',\n hostGuest: '世',\n },\n {\n kin: '官鬼丑土',\n },\n {\n kin: '兄弟亥水',\n },\n {\n kin: '父母酉金',\n hostGuest: '应',\n },\n ],\n yangCounts: [2, 1, 2, 2, 2, 2],\n },\n {\n binary: '110000',\n id: '地泽临',\n sign: '䷒',\n phase: '土',\n palace: '坤',\n palaceIndex: 2,\n setupInfo: [\n {\n kin: '父母巳火',\n },\n {\n kin: '官鬼卯木',\n hostGuest: '世',\n },\n {\n kin: '兄弟丑土',\n },\n {\n kin: '兄弟丑土',\n },\n {\n kin: '妻财亥水',\n hostGuest: '应',\n },\n {\n kin: '子孙酉金',\n },\n ],\n yangCounts: [1, 1, 2, 2, 2, 2],\n },\n {\n binary: '001000',\n id: '地山谦',\n sign: '䷎',\n phase: '土',\n palace: '兑',\n palaceIndex: 5,\n setupInfo: [\n {\n kin: '父母辰土',\n },\n {\n kin: '官鬼午火',\n hostGuest: '应',\n },\n {\n kin: '兄弟申金',\n },\n {\n kin: '父母丑土',\n },\n {\n kin: '子孙亥水',\n hostGuest: '世',\n },\n {\n kin: '兄弟酉金',\n },\n ],\n yangCounts: [2, 2, 1, 2, 2, 2],\n },\n {\n binary: '101000',\n id: '地火明夷',\n sign: '䷣',\n phase: '水',\n palace: '坎',\n palaceIndex: 6,\n setupInfo: [\n {\n kin: '子孙卯木',\n hostGuest: '应',\n },\n {\n kin: '官鬼丑土',\n },\n {\n kin: '兄弟亥水',\n },\n {\n kin: '官鬼丑土',\n hostGuest: '世',\n },\n {\n kin: '兄弟亥水',\n },\n {\n kin: '父母酉金',\n },\n ],\n yangCounts: [1, 2, 1, 2, 2, 2],\n },\n {\n binary: '011000',\n id: '地风升',\n sign: '䷭',\n phase: '木',\n palace: '震',\n palaceIndex: 4,\n setupInfo: [\n {\n kin: '妻财丑土',\n hostGuest: '应',\n },\n {\n kin: '父母亥水',\n },\n {\n kin: '官鬼酉金',\n },\n {\n kin: '妻财丑土',\n hostGuest: '世',\n },\n {\n kin: '父母亥水',\n },\n {\n kin: '官鬼酉金',\n },\n ],\n yangCounts: [2, 1, 1, 2, 2, 2],\n },\n {\n binary: '111000',\n id: '地天泰',\n sign: '䷊',\n phase: '土',\n palace: '坤',\n palaceIndex: 3,\n setupInfo: [\n {\n kin: '妻财子水',\n },\n {\n kin: '官鬼寅木',\n },\n {\n kin: '兄弟辰土',\n hostGuest: '世',\n },\n {\n kin: '兄弟丑土',\n },\n {\n kin: '妻财亥水',\n },\n {\n kin: '子孙酉金',\n hostGuest: '应',\n },\n ],\n yangCounts: [1, 1, 1, 2, 2, 2],\n },\n {\n binary: '000100',\n id: '雷地豫',\n sign: '䷏',\n phase: '木',\n palace: '震',\n palaceIndex: 1,\n setupInfo: [\n {\n kin: '妻财未土',\n hostGuest: '世',\n },\n {\n kin: '子孙巳火',\n },\n {\n kin: '兄弟卯木',\n },\n {\n kin: '子孙午火',\n hostGuest: '应',\n },\n {\n kin: '官鬼申金',\n },\n {\n kin: '妻财戌土',\n },\n ],\n yangCounts: [2, 2, 2, 1, 2, 2],\n },\n {\n binary: '100100',\n id: '震为雷',\n sign: '䷲',\n phase: '木',\n palace: '震',\n palaceIndex: 0,\n setupInfo: [\n {\n kin: '父母子水',\n },\n {\n kin: '兄弟寅木',\n },\n {\n kin: '妻财辰土',\n hostGuest: '应',\n },\n {\n kin: '子孙午火',\n },\n {\n kin: '官鬼申金',\n },\n {\n kin: '妻财戌土',\n hostGuest: '世',\n },\n ],\n yangCounts: [1, 2, 2, 1, 2, 2],\n },\n {\n binary: '010100',\n id: '雷水解',\n sign: '䷧',\n phase: '木',\n palace: '震',\n palaceIndex: 2,\n setupInfo: [\n {\n kin: '兄弟寅木',\n },\n {\n kin: '妻财辰土',\n hostGuest: '世',\n },\n {\n kin: '子孙午火',\n },\n {\n kin: '子孙午火',\n },\n {\n kin: '官鬼申金',\n hostGuest: '应',\n },\n {\n kin: '妻财戌土',\n },\n ],\n yangCounts: [2, 1, 2, 1, 2, 2],\n },\n {\n binary: '110100',\n id: '雷泽归妹',\n sign: '䷵',\n phase: '金',\n palace: '兑',\n palaceIndex: 7,\n setupInfo: [\n {\n kin: '官鬼巳火',\n },\n {\n kin: '妻财卯木',\n },\n {\n kin: '父母丑土',\n hostGuest: '世',\n },\n {\n kin: '官鬼午火',\n },\n {\n kin: '兄弟申金',\n },\n {\n kin: '父母戌土',\n hostGuest: '应',\n },\n ],\n yangCounts: [1, 1, 2, 1, 2, 2],\n },\n {\n binary: '001100',\n id: '雷山小过',\n sign: '䷽',\n phase: '金',\n palace: '兑',\n palaceIndex: 6,\n setupInfo: [\n {\n kin: '父母辰土',\n hostGuest: '应',\n },\n {\n kin: '官鬼午火',\n },\n {\n kin: '兄弟申金',\n },\n {\n kin: '官鬼午火',\n hostGuest: '世',\n },\n {\n kin: '兄弟申金',\n },\n {\n kin: '父母戌土',\n },\n ],\n yangCounts: [2, 2, 1, 1, 2, 2],\n },\n {\n binary: '101100',\n id: '雷火丰',\n sign: '䷶',\n phase: '水',\n palace: '坎',\n palaceIndex: 5,\n setupInfo: [\n {\n kin: '子孙卯木',\n },\n {\n kin: '官鬼丑土',\n hostGuest: '应',\n },\n {\n kin: '兄弟亥水',\n },\n {\n kin: '妻财午火',\n },\n {\n kin: '父母申金',\n hostGuest: '世',\n },\n {\n kin: '官鬼戌土',\n },\n ],\n yangCounts: [1, 2, 1, 1, 2, 2],\n },\n {\n binary: '011100',\n id: '雷风恒',\n sign: '䷟',\n phase: '木',\n palace: '震',\n palaceIndex: 3,\n setupInfo: [\n {\n kin: '妻财丑土',\n },\n {\n kin: '父母亥水',\n },\n {\n kin: '官鬼酉金',\n hostGuest: '世',\n },\n {\n kin: '子孙午火',\n },\n {\n kin: '官鬼申金',\n },\n {\n kin: '妻财戌土',\n hostGuest: '应',\n },\n ],\n yangCounts: [2, 1, 1, 1, 2, 2],\n },\n {\n binary: '111100',\n id: '雷天大壮',\n sign: '䷡',\n phase: '土',\n palace: '坤',\n palaceIndex: 4,\n setupInfo: [\n {\n kin: '妻财子水',\n hostGuest: '应',\n },\n {\n kin: '官鬼寅木',\n },\n {\n kin: '兄弟辰土',\n },\n {\n kin: '父母午火',\n hostGuest: '世',\n },\n {\n kin: '子孙申金',\n },\n {\n kin: '兄弟戌土',\n },\n ],\n yangCounts: [1, 1, 1, 1, 2, 2],\n },\n {\n binary: '000010',\n id: '水地比',\n sign: '䷇',\n phase: '土',\n palace: '坤',\n palaceIndex: 7,\n setupInfo: [\n {\n kin: '兄弟未土',\n },\n {\n kin: '父母巳火',\n },\n {\n kin: '官鬼卯木',\n hostGuest: '世',\n },\n {\n kin: '子孙申金',\n },\n {\n kin: '兄弟戌土',\n },\n {\n kin: '妻财子水',\n hostGuest: '应',\n },\n ],\n yangCounts: [2, 2, 2, 2, 1, 2],\n },\n {\n binary: '100010',\n id: '水雷屯',\n sign: '䷂',\n phase: '水',\n palace: '坎',\n palaceIndex: 2,\n setupInfo: [\n {\n kin: '兄弟子水',\n },\n {\n kin: '子孙寅木',\n hostGuest: '世',\n },\n {\n kin: '官鬼辰土',\n },\n {\n kin: '父母申金',\n },\n {\n kin: '官鬼戌土',\n hostGuest: '应',\n },\n {\n kin: '兄弟子水',\n },\n ],\n yangCounts: [1, 2, 2, 2, 1, 2],\n },\n {\n binary: '010010',\n id: '坎为水',\n sign: '䷜',\n phase: '水',\n palace: '坎',\n palaceIndex: 0,\n setupInfo: [\n {\n kin: '子孙寅木',\n },\n {\n kin: '官鬼辰土',\n },\n {\n kin: '妻财午火',\n hostGuest: '应',\n },\n {\n kin: '父母申金',\n },\n {\n kin: '官鬼戌土',\n },\n {\n kin: '兄弟子水',\n hostGuest: '世',\n },\n ],\n yangCounts: [2, 1, 2, 2, 1, 2],\n },\n {\n binary: '110010',\n id: '水泽节',\n sign: '䷻',\n phase: '水',\n palace: '坎',\n palaceIndex: 1,\n setupInfo: [\n {\n kin: '妻财巳火',\n hostGuest: '世',\n },\n {\n kin: '子孙卯木',\n },\n {\n kin: '官鬼丑土',\n },\n {\n kin: '父母申金',\n hostGuest: '应',\n },\n {\n kin: '官鬼戌土',\n },\n {\n kin: '兄弟子水',\n },\n ],\n yangCounts: [1, 1, 2, 2, 1, 2],\n },\n {\n binary: '001010',\n id: '水山蹇',\n sign: '䷦',\n phase: '金',\n palace: '兑',\n palaceIndex: 4,\n setupInfo: [\n {\n kin: '父母辰土',\n hostGuest: '应',\n },\n {\n kin: '官鬼午火',\n },\n {\n kin: '兄弟申金',\n },\n {\n kin: '兄弟申金',\n hostGuest: '世',\n },\n {\n kin: '父母戌土',\n },\n {\n kin: '子孙子水',\n },\n ],\n yangCounts: [2, 2, 1, 2, 1, 2],\n },\n {\n binary: '101010',\n id: '水火既济',\n sign: '䷾',\n phase: '水',\n palace: '坎',\n palaceIndex: 3,\n setupInfo: [\n {\n kin: '子孙卯木',\n },\n {\n kin: '官鬼丑土',\n },\n {\n kin: '兄弟亥水',\n hostGuest: '世',\n },\n {\n kin: '父母申金',\n },\n {\n kin: '官鬼戌土',\n },\n {\n kin: '兄弟子水',\n hostGuest: '应',\n },\n ],\n yangCounts: [1, 2, 1, 2, 1, 2],\n },\n {\n binary: '011010',\n id: '水风井',\n sign: '䷯',\n phase: '木',\n palace: '震',\n palaceIndex: 5,\n setupInfo: [\n {\n kin: '妻财丑土',\n },\n {\n kin: '父母亥水',\n hostGuest: '应',\n },\n {\n kin: '官鬼酉金',\n },\n {\n kin: '官鬼申金',\n },\n {\n kin: '妻财戌土',\n hostGuest: '世',\n },\n {\n kin: '父母子水',\n },\n ],\n yangCounts: [2, 1, 1, 2, 1, 2],\n },\n {\n binary: '111010',\n id: '水天需',\n sign: '䷄',\n phase: '土',\n palace: '坤',\n palaceIndex: 6,\n setupInfo: [\n {\n kin: '妻财子水',\n hostGuest: '应',\n },\n {\n kin: '官鬼寅木',\n },\n {\n kin: '兄弟辰土',\n },\n {\n kin: '子孙申金',\n hostGuest: '世',\n },\n {\n kin: '兄弟戌土',\n },\n {\n kin: '妻财子水',\n },\n ],\n yangCounts: [1, 1, 1, 2, 1, 2],\n },\n {\n binary: '000110',\n id: '泽地萃',\n sign: '䷬',\n phase: '金',\n palace: '兑',\n palaceIndex: 2,\n setupInfo: [\n {\n kin: '父母未土',\n },\n {\n kin: '官鬼巳火',\n hostGuest: '世',\n },\n {\n kin: '妻财卯木',\n },\n {\n kin: '子孙亥水',\n },\n {\n kin: '兄弟酉金',\n hostGuest: '应',\n },\n {\n kin: '父母未土',\n },\n ],\n yangCounts: [2, 2, 2, 1, 1, 2],\n },\n {\n binary: '100110',\n id: '泽雷随',\n sign: '䷐',\n phase: '木',\n palace: '震',\n palaceIndex: 7,\n setupInfo: [\n {\n kin: '父母子水',\n },\n {\n kin: '兄弟寅木',\n },\n {\n kin: '妻财辰土',\n hostGuest: '世',\n },\n {\n kin: '父母亥水',\n },\n {\n kin: '官鬼酉金',\n },\n {\n kin: '妻财未土',\n hostGuest: '应',\n },\n ],\n yangCounts: [1, 2, 2, 1, 1, 2],\n },\n {\n binary: '010110',\n id: '泽水困',\n sign: '䷮',\n phase: '金',\n palace: '兑',\n palaceIndex: 1,\n setupInfo: [\n {\n kin: '妻财卯木',\n hostGuest: '世',\n },\n {\n kin: '父母辰土',\n },\n {\n kin: '官鬼午火',\n },\n {\n kin: '子孙亥水',\n hostGuest: '应',\n },\n {\n kin: '兄弟酉金',\n },\n {\n kin: '父母未土',\n },\n ],\n yangCounts: [2, 1, 2, 1, 1, 2],\n },\n {\n binary: '110110',\n id: '兑为泽',\n sign: '䷹',\n phase: '金',\n palace: '兑',\n palaceIndex: 0,\n setupInfo: [\n {\n kin: '官鬼巳火',\n },\n {\n kin: '妻财卯木',\n },\n {\n kin: '父母丑土',\n hostGuest: '应',\n },\n {\n kin: '子孙亥水',\n },\n {\n kin: '兄弟酉金',\n },\n {\n kin: '父母未土',\n hostGuest: '世',\n },\n ],\n yangCounts: [1, 1, 2, 1, 1, 2],\n },\n {\n binary: '001110',\n id: '泽山咸',\n sign: '䷞',\n phase: '金',\n palace: '兑',\n palaceIndex: 3,\n setupInfo: [\n {\n kin: '父母辰土',\n },\n {\n kin: '官鬼午火',\n },\n {\n kin: '兄弟申金',\n hostGuest: '世',\n },\n {\n kin: '子孙亥水',\n },\n {\n kin: '兄弟酉金',\n },\n {\n kin: '父母未土',\n hostGuest: '应',\n },\n ],\n yangCounts: [2, 2, 1, 1, 1, 2],\n },\n {\n binary: '101110',\n id: '泽火革',\n sign: '䷰',\n phase: '水',\n palace: '坎',\n palaceIndex: 4,\n setupInfo: [\n {\n kin: '子孙卯木',\n hostGuest: '应',\n },\n {\n kin: '官鬼丑土',\n },\n {\n kin: '兄弟亥水',\n },\n {\n kin: '兄弟亥水',\n hostGuest: '世',\n },\n {\n kin: '父母酉金',\n },\n {\n kin: '官鬼未土',\n },\n ],\n yangCounts: [1, 2, 1, 1, 1, 2],\n },\n {\n binary: '011110',\n id: '泽风大过',\n sign: '䷛',\n phase: '木',\n palace: '震',\n palaceIndex: 6,\n setupInfo: [\n {\n kin: '妻财丑土',\n hostGuest: '应',\n },\n {\n kin: '父母亥水',\n },\n {\n kin: '官鬼酉金',\n },\n {\n kin: '父母亥水',\n hostGuest: '世',\n },\n {\n kin: '官鬼酉金',\n },\n {\n kin: '妻财未土',\n },\n ],\n yangCounts: [2, 1, 1, 1, 1, 2],\n },\n {\n binary: '111110',\n id: '泽天夬',\n sign: '䷪',\n phase: '土',\n palace: '坤',\n palaceIndex: 5,\n setupInfo: [\n {\n kin: '妻财子水',\n },\n {\n kin: '官鬼寅木',\n hostGuest: '应',\n },\n {\n kin: '兄弟辰土',\n },\n {\n kin: '妻财亥水',\n },\n {\n kin: '子孙酉金',\n hostGuest: '世',\n },\n {\n kin: '兄弟未土',\n },\n ],\n yangCounts: [1, 1, 1, 1, 1, 2],\n },\n {\n binary: '000001',\n id: '山地剥',\n sign: '䷖',\n phase: '金',\n palace: '乾',\n palaceIndex: 5,\n setupInfo: [\n {\n kin: '父母未土',\n },\n {\n kin: '官鬼巳火',\n hostGuest: '应',\n },\n {\n kin: '妻财卯木',\n },\n {\n kin: '父母戌土',\n },\n {\n kin: '子孙子水',\n hostGuest: '世',\n },\n {\n kin: '妻财卯木',\n },\n ],\n yangCounts: [2, 2, 2, 2, 2, 1],\n },\n {\n binary: '100001',\n id: '山雷颐',\n sign: '䷚',\n phase: '木',\n palace: '巽',\n palaceIndex: 6,\n setupInfo: [\n {\n kin: '父母子水',\n hostGuest: '应',\n },\n {\n kin: '兄弟寅木',\n },\n {\n kin: '妻财辰土',\n },\n {\n kin: '妻财戌土',\n hostGuest: '世',\n },\n {\n kin: '父母子水',\n },\n {\n kin: '兄弟寅木',\n },\n ],\n yangCounts: [1, 2, 2, 2, 2, 1],\n },\n {\n binary: '010001',\n id: '山水蒙',\n sign: '䷃',\n phase: '火',\n palace: '离',\n palaceIndex: 4,\n setupInfo: [\n {\n kin: '父母寅木',\n hostGuest: '应',\n },\n {\n kin: '子孙辰土',\n },\n {\n kin: '兄弟午火',\n },\n {\n kin: '子孙戌土',\n hostGuest: '世',\n },\n {\n kin: '官鬼子水',\n },\n {\n kin: '父母寅木',\n },\n ],\n yangCounts: [2, 1, 2, 2, 2, 1],\n },\n {\n binary: '110001',\n id: '山泽损',\n sign: '䷨',\n phase: '土',\n palace: '艮',\n palaceIndex: 3,\n setupInfo: [\n {\n kin: '父母巳火',\n },\n {\n kin: '官鬼卯木',\n },\n {\n kin: '兄弟丑土',\n hostGuest: '世',\n },\n {\n kin: '兄弟戌土',\n },\n {\n kin: '妻财子水',\n },\n {\n kin: '官鬼寅木',\n hostGuest: '应',\n },\n ],\n yangCounts: [1, 1, 2, 2, 2, 1],\n },\n {\n binary: '001001',\n id: '艮为山',\n sign: '䷳',\n phase: '土',\n palace: '艮',\n palaceIndex: 0,\n setupInfo: [\n {\n kin: '兄弟辰土',\n },\n {\n kin: '父母午火',\n },\n {\n kin: '子孙申金',\n hostGuest: '应',\n },\n {\n kin: '兄弟戌土',\n },\n {\n kin: '妻财子水',\n },\n {\n kin: '官鬼寅木',\n hostGuest: '世',\n },\n ],\n yangCounts: [2, 2, 1, 2, 2, 1],\n },\n {\n binary: '101001',\n id: '山火贲',\n sign: '䷕',\n phase: '土',\n palace: '艮',\n palaceIndex: 1,\n setupInfo: [\n {\n kin: '官鬼卯木',\n hostGuest: '世',\n },\n {\n kin: '兄弟丑土',\n },\n {\n kin: '妻财亥水',\n },\n {\n kin: '兄弟戌土',\n hostGuest: '应',\n },\n {\n kin: '妻财子水',\n },\n {\n kin: '官鬼寅木',\n },\n ],\n yangCounts: [1, 2, 1, 2, 2, 1],\n },\n {\n binary: '011001',\n id: '山风蛊',\n sign: '䷑',\n phase: '木',\n palace: '巽',\n palaceIndex: 7,\n setupInfo: [\n {\n kin: '妻财丑土',\n },\n {\n kin: '父母亥水',\n },\n {\n kin: '官鬼酉金',\n hostGuest: '世',\n },\n {\n kin: '妻财戌土',\n },\n {\n kin: '父母子水',\n },\n {\n kin: '兄弟寅木',\n hostGuest: '应',\n },\n ],\n yangCounts: [2, 1, 1, 2, 2, 1],\n },\n {\n binary: '111001',\n id: '山天大畜',\n sign: '䷙',\n phase: '土',\n palace: '艮',\n palaceIndex: 2,\n setupInfo: [\n {\n kin: '妻财子水',\n },\n {\n kin: '官鬼寅木',\n hostGuest: '世',\n },\n {\n kin: '兄弟辰土',\n },\n {\n kin: '兄弟戌土',\n },\n {\n kin: '妻财子水',\n hostGuest: '应',\n },\n {\n kin: '官鬼寅木',\n },\n ],\n yangCounts: [1, 1, 1, 2, 2, 1],\n },\n {\n binary: '000101',\n id: '火地晋',\n sign: '䷢',\n phase: '金',\n palace: '乾',\n palaceIndex: 6,\n setupInfo: [\n {\n kin: '父母未土',\n hostGuest: '应',\n },\n {\n kin: '官鬼巳火',\n },\n {\n kin: '妻财卯木',\n },\n {\n kin: '兄弟酉金',\n hostGuest: '世',\n },\n {\n kin: '父母未土',\n },\n {\n kin: '官鬼巳火',\n },\n ],\n yangCounts: [2, 2, 2, 1, 2, 1],\n },\n {\n binary: '100101',\n id: '火雷噬嗑',\n sign: '䷔',\n phase: '木',\n palace: '巽',\n palaceIndex: 5,\n setupInfo: [\n {\n kin: '父母子水',\n },\n {\n kin: '兄弟寅木',\n hostGuest: '应',\n },\n {\n kin: '妻财辰土',\n },\n {\n kin: '官鬼酉金',\n },\n {\n kin: '妻财未土',\n hostGuest: '世',\n },\n {\n kin: '子孙巳火',\n },\n ],\n yangCounts: [1, 2, 2, 1, 2, 1],\n },\n {\n binary: '010101',\n id: '火水未济',\n sign: '䷿',\n phase: '火',\n palace: '离',\n palaceIndex: 3,\n setupInfo: [\n {\n kin: '父母寅木',\n },\n {\n kin: '子孙辰土',\n },\n {\n kin: '兄弟午火',\n hostGuest: '世',\n },\n {\n kin: '妻财酉金',\n },\n {\n kin: '子孙未土',\n },\n {\n kin: '兄弟巳火',\n hostGuest: '应',\n },\n ],\n yangCounts: [2, 1, 2, 1, 2, 1],\n },\n {\n binary: '110101',\n id: '火泽睽',\n sign: '䷥',\n phase: '土',\n palace: '艮',\n palaceIndex: 4,\n setupInfo: [\n {\n kin: '父母巳火',\n hostGuest: '应',\n },\n {\n kin: '官鬼卯木',\n },\n {\n kin: '兄弟丑土',\n },\n {\n kin: '子孙酉金',\n hostGuest: '世',\n },\n {\n kin: '兄弟未土',\n },\n {\n kin: '父母巳火',\n },\n ],\n yangCounts: [1, 1, 2, 1, 2, 1],\n },\n {\n binary: '001101',\n id: '火山旅',\n sign: '䷷',\n phase: '火',\n palace: '离',\n palaceIndex: 1,\n setupInfo: [\n {\n kin: '子孙辰土',\n hostGuest: '世',\n },\n {\n kin: '兄弟午火',\n },\n {\n kin: '妻财申金',\n },\n {\n kin: '妻财酉金',\n hostGuest: '应',\n },\n {\n kin: '子孙未土',\n },\n {\n kin: '兄弟巳火',\n },\n ],\n yangCounts: [2, 2, 1, 1, 2, 1],\n },\n {\n binary: '101101',\n id: '离为火',\n sign: '䷝',\n phase: '火',\n palace: '离',\n palaceIndex: 0,\n setupInfo: [\n {\n kin: '父母卯木',\n },\n {\n kin: '子孙丑土',\n },\n {\n kin: '官鬼亥水',\n hostGuest: '应',\n },\n {\n kin: '妻财酉金',\n },\n {\n kin: '子孙未土',\n },\n {\n kin: '兄弟巳火',\n hostGuest: '世',\n },\n ],\n yangCounts: [1, 2, 1, 1, 2, 1],\n },\n {\n binary: '011101',\n id: '火风鼎',\n sign: '䷱',\n phase: '火',\n palace: '离',\n palaceIndex: 2,\n setupInfo: [\n {\n kin: '子孙丑土',\n },\n {\n kin: '官鬼亥水',\n hostGuest: '世',\n },\n {\n kin: '妻财酉金',\n },\n {\n kin: '妻财酉金',\n },\n {\n kin: '子孙未土',\n hostGuest: '应',\n },\n {\n kin: '兄弟巳火',\n },\n ],\n yangCounts: [2, 1, 1, 1, 2, 1],\n },\n {\n binary: '111101',\n id: '火天大有',\n sign: '䷍',\n phase: '金',\n palace: '乾',\n palaceIndex: 7,\n setupInfo: [\n {\n kin: '子孙子水',\n },\n {\n kin: '妻财寅木',\n },\n {\n kin: '父母辰土',\n hostGuest: '世',\n },\n {\n kin: '兄弟酉金',\n },\n {\n kin: '父母未土',\n },\n {\n kin: '官鬼巳火',\n hostGuest: '应',\n },\n ],\n yangCounts: [1, 1, 1, 1, 2, 1],\n },\n {\n binary: '000011',\n id: '风地观',\n sign: '䷓',\n phase: '金',\n palace: '乾',\n palaceIndex: 4,\n setupInfo: [\n {\n kin: '父母未土',\n hostGuest: '应',\n },\n {\n kin: '官鬼巳火',\n },\n {\n kin: '妻财卯木',\n },\n {\n kin: '父母未土',\n hostGuest: '世',\n },\n {\n kin: '官鬼巳火',\n },\n {\n kin: '妻财卯木',\n },\n ],\n yangCounts: [2, 2, 2, 2, 1, 1],\n },\n {\n binary: '100011',\n id: '风雷益',\n sign: '䷩',\n phase: '木',\n palace: '巽',\n palaceIndex: 3,\n setupInfo: [\n {\n kin: '父母子水',\n },\n {\n kin: '兄弟寅木',\n },\n {\n kin: '妻财辰土',\n hostGuest: '世',\n },\n {\n kin: '妻财未土',\n },\n {\n kin: '子孙巳火',\n },\n {\n kin: '兄弟卯木',\n hostGuest: '应',\n },\n ],\n yangCounts: [1, 2, 2, 2, 1, 1],\n },\n {\n binary: '010011',\n id: '风水涣',\n sign: '䷺',\n phase: '火',\n palace: '离',\n palaceIndex: 5,\n setupInfo: [\n {\n kin: '父母寅木',\n },\n {\n kin: '子孙辰土',\n hostGuest: '应',\n },\n {\n kin: '兄弟午火',\n },\n {\n kin: '子孙未土',\n },\n {\n kin: '兄弟巳火',\n hostGuest: '世',\n },\n {\n kin: '父母卯木',\n },\n ],\n yangCounts: [2, 1, 2, 2, 1, 1],\n },\n {\n binary: '110011',\n id: '风泽中孚',\n sign: '䷼',\n phase: '土',\n palace: '艮',\n palaceIndex: 6,\n setupInfo: [\n {\n kin: '父母巳火',\n hostGuest: '应',\n },\n {\n kin: '官鬼卯木',\n },\n {\n kin: '兄弟丑土',\n },\n {\n kin: '兄弟未土',\n hostGuest: '世',\n },\n {\n kin: '父母巳火',\n },\n {\n kin: '官鬼卯木',\n },\n ],\n yangCounts: [1, 1, 2, 2, 1, 1],\n },\n {\n binary: '001011',\n id: '风山渐',\n sign: '䷴',\n phase: '土',\n palace: '艮',\n palaceIndex: 7,\n setupInfo: [\n {\n kin: '兄弟辰土',\n },\n {\n kin: '父母午火',\n },\n {\n kin: '子孙申金',\n hostGuest: '世',\n },\n {\n kin: '兄弟未土',\n },\n {\n kin: '父母巳火',\n },\n {\n kin: '官鬼卯木',\n hostGuest: '应',\n },\n ],\n yangCounts: [2, 2, 1, 2, 1, 1],\n },\n {\n binary: '101011',\n id: '风火家人',\n sign: '䷤',\n phase: '木',\n palace: '巽',\n palaceIndex: 2,\n setupInfo: [\n {\n kin: '兄弟卯木',\n },\n {\n kin: '妻财丑土',\n hostGuest: '世',\n },\n {\n kin: '父母亥水',\n },\n {\n kin: '妻财未土',\n },\n {\n kin: '子孙巳火',\n hostGuest: '应',\n },\n {\n kin: '兄弟卯木',\n },\n ],\n yangCounts: [1, 2, 1, 2, 1, 1],\n },\n {\n binary: '011011',\n id: '巽为风',\n sign: '䷸',\n phase: '木',\n palace: '巽',\n palaceIndex: 0,\n setupInfo: [\n {\n kin: '妻财丑土',\n },\n {\n kin: '父母亥水',\n },\n {\n kin: '官鬼酉金',\n hostGuest: '应',\n },\n {\n kin: '妻财未土',\n },\n {\n kin: '子孙巳火',\n },\n {\n kin: '兄弟卯木',\n hostGuest: '世',\n },\n ],\n yangCounts: [2, 1, 1, 2, 1, 1],\n },\n {\n binary: '111011',\n id: '风天小畜',\n sign: '䷈',\n phase: '木',\n palace: '巽',\n palaceIndex: 1,\n setupInfo: [\n {\n kin: '父母子水',\n hostGuest: '世',\n },\n {\n kin: '兄弟寅木',\n },\n {\n kin: '妻财辰土',\n },\n {\n kin: '妻财未土',\n hostGuest: '应',\n },\n {\n kin: '子孙巳火',\n },\n {\n kin: '兄弟卯木',\n },\n ],\n yangCounts: [1, 1, 1, 2, 1, 1],\n },\n {\n binary: '000111',\n id: '天地否',\n sign: '䷋',\n phase: '金',\n palace: '乾',\n palaceIndex: 3,\n setupInfo: [\n {\n kin: '父母未土',\n },\n {\n kin: '官鬼巳火',\n },\n {\n kin: '妻财卯木',\n hostGuest: '世',\n },\n {\n kin: '官鬼午火',\n },\n {\n kin: '兄弟申金',\n },\n {\n kin: '父母戌土',\n hostGuest: '应',\n },\n ],\n yangCounts: [2, 2, 2, 1, 1, 1],\n },\n {\n binary: '100111',\n id: '天雷无妄',\n sign: '䷘',\n phase: '木',\n palace: '巽',\n palaceIndex: 4,\n setupInfo: [\n {\n kin: '父母子水',\n hostGuest: '应',\n },\n {\n kin: '兄弟寅木',\n },\n {\n kin: '妻财辰土',\n },\n {\n kin: '子孙午火',\n hostGuest: '世',\n },\n {\n kin: '官鬼申金',\n },\n {\n kin: '妻财戌土',\n },\n ],\n yangCounts: [1, 2, 2, 1, 1, 1],\n },\n {\n binary: '010111',\n id: '天水讼',\n sign: '䷅',\n phase: '火',\n palace: '离',\n palaceIndex: 6,\n setupInfo: [\n {\n kin: '父母寅木',\n hostGuest: '应',\n },\n {\n kin: '子孙辰土',\n },\n {\n kin: '兄弟午火',\n },\n {\n kin: '兄弟午火',\n hostGuest: '世',\n },\n {\n kin: '妻财申金',\n },\n {\n kin: '子孙戌土',\n },\n ],\n yangCounts: [2, 1, 2, 1, 1, 1],\n },\n {\n binary: '110111',\n id: '天泽履',\n sign: '䷉',\n phase: '土',\n palace: '艮',\n palaceIndex: 5,\n setupInfo: [\n {\n kin: '父母巳火',\n },\n {\n kin: '官鬼卯木',\n hostGuest: '应',\n },\n {\n kin: '兄弟丑土',\n },\n {\n kin: '父母午火',\n },\n {\n kin: '子孙申金',\n hostGuest: '世',\n },\n {\n kin: '兄弟戌土',\n },\n ],\n yangCounts: [1, 1, 2, 1, 1, 1],\n },\n {\n binary: '001111',\n id: '天山遁',\n sign: '䷠',\n phase: '金',\n palace: '乾',\n palaceIndex: 2,\n setupInfo: [\n {\n kin: '父母辰土',\n },\n {\n kin: '官鬼午火',\n hostGuest: '世',\n },\n {\n kin: '兄弟申金',\n },\n {\n kin: '官鬼午火',\n },\n {\n kin: '兄弟申金',\n hostGuest: '应',\n },\n {\n kin: '父母戌土',\n },\n ],\n yangCounts: [2, 2, 1, 1, 1, 1],\n },\n {\n binary: '101111',\n id: '天火同人',\n sign: '䷌',\n phase: '火',\n palace: '离',\n palaceIndex: 7,\n setupInfo: [\n {\n kin: '父母寅木',\n },\n {\n kin: '子孙辰土',\n },\n {\n kin: '兄弟午火',\n hostGuest: '世',\n },\n {\n kin: '子孙未土',\n },\n {\n kin: '父母巳火',\n },\n {\n kin: '子孙戌土',\n hostGuest: '应',\n },\n ],\n yangCounts: [1, 2, 1, 1, 1, 1],\n },\n {\n binary: '011111',\n id: '天风姤',\n sign: '䷫',\n phase: '金',\n palace: '乾',\n palaceIndex: 1,\n setupInfo: [\n {\n kin: '父母丑土',\n hostGuest: '世',\n },\n {\n kin: '子孙亥水',\n },\n {\n kin: '兄弟酉金',\n },\n {\n kin: '官鬼午火',\n hostGuest: '应',\n },\n {\n kin: '兄弟申金',\n },\n {\n kin: '父母戌土',\n },\n ],\n yangCounts: [2, 1, 1, 1, 1, 1],\n },\n {\n binary: '111111',\n id: '乾为天',\n sign: '䷀',\n phase: '金',\n palace: '乾',\n palaceIndex: 0,\n setupInfo: [\n {\n kin: '子孙子水',\n },\n {\n kin: '妻财寅木',\n },\n {\n kin: '父母辰土',\n hostGuest: '应',\n },\n {\n kin: '官鬼午火',\n },\n {\n kin: '兄弟申金',\n },\n {\n kin: '父母戌土',\n hostGuest: '世',\n },\n ],\n yangCounts: [1, 1, 1, 1, 1, 1],\n },\n]);\n\nexport interface TrigramInfo {\n /**\n * Presents the trigram as a 3-digit binary string. 1 represents a Yang line and 0 represents a Yin line.\n *\n * For example, \"111\" for 乾, \"100\" for 震, etc.\n */\n binary: `${0 | 1}${0 | 1}${0 | 1}`;\n\n /**\n * How many Yang Yaos are in the trigram, such as 0 for 坤, 1 for 震, 2 for 兑, etc.\n */\n yangCount: 0 | 1 | 2 | 3;\n\n /**\n * Name of the trigram in Chinese, such as \"乾\", \"坤\", \"震\", etc.\n */\n id: string;\n\n /**\n * Name of the trigram in English, such as \"Qian\", \"Kun\", \"Zhen\", etc.\n */\n nameEn: string;\n\n /**\n * What the trigram represents in Chinese, such as \"天\", \"地\", \"水\", etc.\n */\n represents: string;\n\n /**\n * What the trigram represents in English, such as \"heaven\", \"earth\", \"water\", etc.\n */\n representsEn: string;\n\n /**\n * Unicode character representing the trigram, such as \"☰\" for 乾, \"☷\" for 坤, etc.\n */\n sign: string;\n}\n\n// 老阳:○,老阴:×,少阳:’,少阴:”\n/**\n * List of all trigrams in the I Ching, with their binary representation, number of yang lines, name, what they represent, and their corresponding sign.\n */\nexport const TrigramInfoTable: readonly TrigramInfo[] = Object.freeze([\n { id: '坤', binary: '000', yangCount: 0, represents: '地', nameEn: 'kun', representsEn: 'earth', sign: '☷' },\n { id: '震', binary: '100', yangCount: 1, represents: '雷', nameEn: 'zhen', representsEn: 'thunder', sign: '☳' },\n { id: '坎', binary: '010', yangCount: 1, represents: '水', nameEn: 'kan', representsEn: 'water', sign: '☵' },\n { id: '兑', binary: '110', yangCount: 2, represents: '泽', nameEn: 'dui', representsEn: 'lake', sign: '☱' },\n { id: '艮', binary: '001', yangCount: 1, represents: '山', nameEn: 'gen', representsEn: 'mountain', sign: '☶' },\n { id: '离', binary: '101', yangCount: 2, represents: '火', nameEn: 'li', representsEn: 'fire', sign: '☲' },\n { id: '巽', binary: '011', yangCount: 2, represents: '风', nameEn: 'xun', representsEn: 'wind', sign: '☴' },\n { id: '乾', binary: '111', yangCount: 3, represents: '天', nameEn: 'qian', representsEn: 'heaven', sign: '☰' },\n]);\n","export type SixGod = '玄武' | '白虎' | '螣蛇' | '勾陈' | '朱雀' | '青龙';\n\nexport interface SixGodInfo {\n /**\n * The Heavenly Stem associated with the Six Gods in this order.\n * They are '甲乙丙丁戊己庚辛壬癸' in sequence.\n * Different Heavenly Stems correspond to different orders of Six Gods.\n */\n heavenlyStem: string;\n\n /**\n * Six Gods contains '青龙', '朱雀', '勾陈', '螣蛇', '白虎', '玄武'.\n * Different Heavenly Stems correspond to different orders of Six Gods.\n *\n * Six Gods are all auspicious symbols and protectors.\n * - 青龙: Azure Loong, the God in the East worshipped by the Taoists.\n * - 朱雀: Vermilion Bird, its body is covered with eternal fire.\n * - 白虎: White Tiger, as white as snow. If the emperor is not cruel and tyrannical, the White Tiger will appear.\n * - 玄武:Black Tortoise, a spiritual creature formed by the combination of a tortoise and a snake.\n * - 螣蛇: Flying Serpent, a limbless divine serpent that can summon clouds and mist and roam within them.\n * - 勾陈: Gouchen, Also considered as 麒麟 Kylin. It has a body like a musk deer, a tail like that of a dragon, dragon scales, and a single horn.\n */\n gods: SixGod[];\n}\n\n/**\n * @see 《增删卜易·六神章》\n */\nexport const SixGodTable: readonly SixGodInfo[] = Object.freeze([\n {\n heavenlyStem: '甲',\n gods: ['青龙', '朱雀', '勾陈', '螣蛇', '白虎', '玄武'] as SixGod[],\n },\n {\n heavenlyStem: '乙',\n gods: ['青龙', '朱雀', '勾陈', '螣蛇', '白虎', '玄武'] as SixGod[],\n },\n {\n heavenlyStem: '丙',\n gods: ['朱雀', '勾陈', '螣蛇', '白虎', '玄武', '青龙'] as SixGod[],\n },\n {\n heavenlyStem: '丁',\n gods: ['朱雀', '勾陈', '螣蛇', '白虎', '玄武', '青龙'] as SixGod[],\n },\n {\n heavenlyStem: '戊',\n gods: ['勾陈', '螣蛇', '白虎', '玄武', '青龙', '朱雀'] as SixGod[],\n },\n {\n heavenlyStem: '己',\n gods: ['螣蛇', '白虎', '玄武', '青龙', '朱雀', '勾陈'] as SixGod[],\n },\n {\n heavenlyStem: '庚',\n gods: ['白虎', '玄武', '青龙', '朱雀', '勾陈', '螣蛇'] as SixGod[],\n },\n {\n heavenlyStem: '辛',\n gods: ['白虎', '玄武', '青龙', '朱雀', '勾陈', '螣蛇'] as SixGod[],\n },\n {\n heavenlyStem: '壬',\n gods: ['玄武', '青龙', '朱雀', '勾陈', '螣蛇', '白虎'] as SixGod[],\n },\n {\n heavenlyStem: '癸',\n gods: ['玄武', '青龙', '朱雀', '勾陈', '螣蛇', '白虎'] as SixGod[],\n },\n]);\n","import { TrigramInfoTable } from '../core/common.js';\n\nconst _names = ['老阴', '少阳', '少阴', '老阳'] as const;\nconst _symbolNames = '交单拆重' as const;\nconst _symbols = '×’”○' as const;\nconst _digits = '0123' as const;\nconst _countChange = [1, 1, 2, 2] as const;\nconst _countToPolar = [0, 1, 0, 1] as const;\n\nfunction validYangCount(v: number): asserts v is 0 | 1 | 2 | 3 {\n if (v !== 0 && v !== 1 && v !== 2 && v !== 3) {\n throw new Error('Count of yang must be 0, 1, 2 or 3');\n }\n}\n\nexport class Yao {\n static getName(yangCount: number) {\n return _names[yangCount];\n }\n\n /**\n * Support creating a Yao from various types of input:\n * - A symbol representing the Yao (e.g. '交', '单', '拆', '重')\n * - A name representing the Yao (e.g. '老阴', '少阳', '少阴', '老阳')\n * - A digit representing the count of yang (e.g. '0', '1', '2', '3')\n * - Symbols in ancient books representing a Yao ()\n * - A field of a TrigramInfo object (e.g. id, binary, nameEn, represents, representsEn, sign)\n * If the input matches any of these, a corresponding Yao will be created.\n * Otherwise, null will be returned.\n */\n\n /**\n * Creating a Yao from symbol.\n * @param symbol e.g. '×' for 0, '’' for 1, '”' for 2, '○' for 3.\n */\n static fromSymbol(symbol: string): Yao | null {\n const index = _symbols.indexOf(symbol);\n return index !== -1 ? new Yao(index) : null;\n }\n\n /**\n * Creating a Yao from symbolName.\n * @param symbolName e.g. '交' for 0, '单' for 1, '拆' for 2, '重' for 3.\n */\n static fromSymbolName(symbolName: string): Yao | null {\n const index = _symbolNames.indexOf(symbolName);\n return index !== -1 ? new Yao(index) : null;\n }\n\n /**\n * Creating a Yao from name.\n * @param name e.g. '老阴', '少阳', '少阴', '老阳'.\n */\n static fromName(name: string): Yao | null {\n const index = _names.indexOf(name as any);\n return index !== -1 ? new Yao(index) : null;\n }\n\n /**\n * Create a Yao from a digit string representing the count of yang.\n */\n static fromDigitString(digit: string): Yao | null {\n const index = _digits.indexOf(digit);\n return index !== -1 ? new Yao(index) : null;\n }\n\n /**\n * Create a Yao from any Trigram field value.\n * @param value `{id: '坤', binary: '000', yangCount: 0}`, so `'坤'`, `'000'` and `0` can all be used.\n */\n static fromTrigramField(value: string | number): Yao | null {\n const trigram = TrigramInfoTable.find(\n (v) =>\n v.id === value ||\n v.yangCount === value ||\n v.binary === value ||\n v.nameEn === value ||\n v.represents === value ||\n v.representsEn === value ||\n v.sign === value,\n );\n return trigram ? new Yao(trigram.yangCount) : null;\n }\n\n private _yangCount: 0 | 1 | 2 | 3;\n\n /**\n * How many faces of character of 3 coins in this Yao.\n * It can only be 0, 1, 2 or 3, which corresponds to 老阴、少阳、少阴、老阳 respectively.\n * - 0: 老阴 (all three coins are Yin)\n * - 1: 少阳 (one coin is Yang, two coins are Yin)\n * - 2: 少阴 (two coins are Yang, one coin is Yin)\n * - 3: 老阳 (all three coins are Yang)\n */\n get yangCount() {\n return this._yangCount;\n }\n\n /**\n * Two Polars.\n * - 0 represents Yin 阴\n * - 1 represents Yang 阳\n */\n get polar(): 0 | 1 {\n return _countToPolar[this.yangCount];\n }\n\n /**\n * If this Yao is dynamic, which means it can change to another Yao. In LiuYao, only 老阴 and 老阳 are dynamic.\n * - 老阴 (0) can change to 少阳 (1)\n * - 老阳 (3) can change to 少阴 (2)\n * - 少阳 (1) and 少阴 (2) cannot change, so they are static.\n */\n get isDynamic(): boolean {\n return this.yangCount === 0 || this.yangCount === 3;\n }\n\n /**\n * Whether this Yao has already changed to another Yao. Once a Yao is changed, it cannot change again.\n */\n readonly isChanged: boolean;\n\n /**\n * @returns The symbol representing this Yao, which is one of '×', '’', '”', '○'.\n */\n get symbol() {\n return _symbols[this.yangCount];\n }\n\n get symbolName() {\n return _symbolNames[this.yangCount];\n }\n\n get name() {\n return _names[this.yangCount];\n }\n\n constructor(yangCount: number, isChanged: boolean = false) {\n validYangCount(yangCount);\n this._yangCount = yangCount;\n this.isChanged = isChanged;\n }\n\n /**\n * Change `this.yangCount`\n */\n set(yangCount: number) {\n validYangCount(yangCount);\n this._yangCount = yangCount;\n }\n\n clone(): Yao {\n return new Yao(this.yangCount, this.isChanged);\n }\n\n toChanged(): Yao {\n if (this.isDynamic) {\n // & 这里要注意,Yao的构造函数传入的是阳数量而不是两仪\n return new Yao(_countChange[this.yangCount], true);\n } else {\n return new Yao(this.yangCount, false);\n }\n }\n}\n","import { HexagramInfoTable, PalaceOrderTable, type HexagramInfo } from '../core/common.js';\nimport { SetupGramInfo } from '../core/setup-gram.js';\nimport { Yao } from './yao.js';\n\ntype LiuYao = [Yao, Yao, Yao, Yao, Yao, Yao];\nexport const HexagramYaoOrder = ['初爻', '二爻', '三爻', '四爻', '五爻', '上爻'] as const;\n\n/**\n * Hexagram class represents a hexagram, which consists of 6 Yao.\n * - Each Yao can be either yin or yang, and can be changing or not.\n * - The hexagram can be constructed from an array of Yao or an array of counts of yang.\n * - Creates “乾为天” by default.\n */\nexport class Hexagram {\n /**\n * Use tokens like `'012132'` to create a Hexagram, where each digit represents the count of Yang in the corresponding Yao (0 for 老阴, 1 for 少阳, 2 for 少阴, 3 for 老阳). The first digit represents the first Yao (初爻) and the last digit represents the sixth Yao (上爻).\n */\n static fromQuaternary(quaternary: string): Hexagram | null {\n const yaos = quaternary.split('').map(Yao.fromDigitString);\n return yaos.every((y): y is Yao => y !== null) ? new Hexagram(yaos) : null;\n }\n\n /**\n * Use tokens like `'单单拆拆重重'` to create a Hexagram.\n *\n * Since 交 is 0, 单 is 1, 拆 is 2, and 重 is 3, the above token is equivalent to '112233'.\n * Which returns '风泽中孚' with its 5th and 6th Yao being dynamic.\n */\n static fromSymbolName(symbolNames: string): Hexagram | null {\n const yaos = symbolNames.split('').map(Yao.fromSymbolName);\n return yaos.every((y): y is Yao => y !== null) ? new Hexagram(yaos) : null;\n }\n\n /**\n * Try to create a Hexagram from an array of counts of Yang. If the input is invalid, null will be returned.\n */\n static fromYangCounts(counts: number[]): Hexagram | null {\n try {\n return new Hexagram(counts.map((c) => new Yao(c)));\n } catch {\n return null;\n }\n }\n\n /**\n * Create a Hexagram from its id, which is the name of the hexagram without the palace name.\n * @param id \"坤为地\", \"地雷复\", \"地水师\"\n */\n static fromId(id: string): Hexagram | null {\n const exist = HexagramInfoTable.find(\n (h) => h.id === id || h.id.slice(2) === id || (h.id.startsWith(id) && id.length > 1),\n );\n return exist ? Hexagram.fromYangCounts(exist.yangCounts) : null;\n }\n\n /**\n * Find Original Palace Hexagram by the palace name, which is the last character of the hexagram id. For example, '天' for '乾为天', '地' for '坤为地', etc.\n */\n static fromPalace(palace: string): Hexagram | null {\n const exist = HexagramInfoTable.find((h) => h.id[2] === palace);\n return exist ? Hexagram.fromYangCounts(exist.yangCounts) : null;\n }\n\n /**\n * 6 Yao positions, indexed from bottom to top.\n * Index from 0 to 5, where 0 is the first Yao (初爻) and 5 is the sixth Yao (上爻).\n */\n readonly yaos: LiuYao;\n\n /**\n * HexagramInfo of this hexagram, which can be used to get more information about this hexagram, such as its name, sign, phase, palace, etc.\n */\n get info(): HexagramInfo {\n return HexagramInfoTable.find((h) => h.binary === this.yaos.map((y) => y.polar).join(''))!;\n }\n\n get palace(): string {\n const i = this.info;\n return `${i.palace}宫(${i.phase})${PalaceOrderTable[i.palaceIndex].name}`;\n }\n\n /**\n * Whether the 6 Yaos of this hexagram contain any dynamic Yao.\n */\n get isDynamic(): boolean {\n return this.yaos.some((y) => y.isDynamic || y.isChanged);\n }\n\n /**\n * Whether this hexagram has already changed to another hexagram. Once a hexagram is changed, it cannot change again.\n */\n get isChanged(): boolean {\n return this.yaos.some((y) => y.isChanged);\n }\n\n /**\n * Outer trigram of this hexagram, which consists of the last three yao (四爻、五爻、上爻).\n * @returns A trigram if the outer trigram is dynamic.\n */\n get dynamicOuter(): boolean {\n return this.yaos.slice(3).some((y) => y.isDynamic || y.isChanged);\n }\n\n /**\n * Inner trigram of this hexagram, which consists of the first three yao (初爻、二爻、三爻).\n * @returns A trigram if the inner trigram is dynamic.\n */\n get dynamicInner(): boolean {\n return this.yaos.slice(0, 3).some((y) => y.isDynamic || y.isChanged);\n }\n\n /**\n * Create a Hexagram from an array of Yao with length 6.\n */\n constructor(yaos: Yao[]) {\n if (yaos.length !== 6) {\n throw new Error('Array length mismatch, A Hexagram must be constructed with exactly 6 Yaos or 6 counts of yang');\n }\n\n if (yaos.every((a) => a instanceof Yao)) {\n this.yaos = yaos.map((a) => a.clone()) as LiuYao;\n } else {\n throw new Error('Invalid Arguments, Hexagram must be constructed with exactly 6 Yaos or 6 counts of yang');\n }\n }\n\n setYao(index: number, yangCount: number): void {\n this.yaos[index].set(yangCount);\n }\n\n toChanged(): Hexagram | null {\n if (!this.isDynamic) {\n return null;\n }\n\n if (this.isChanged) {\n throw new Error('已经是变卦了,无法再变');\n }\n\n return new Hexagram(this.yaos.map((y) => y.toChanged()));\n }\n\n /**\n * Describe this hexagram in a human-readable way, including the original hexagram, the changed hexagram (if any), and the dynamic yao (if any).\n * - e.g.:“本卦乾为天,变卦坤为地,动爻:初爻、三爻”\n */\n toDescription(): string {\n const hostIndex = this.info.setupInfo.findIndex((s) => s.hostGuest === '世');\n const guestIndex = this.info.setupInfo.findIndex((s) => s.hostGuest === '应');\n const infos: string[] = [\n `本卦${this.info.id}`,\n `世爻为${HexagramYaoOrder[hostIndex]}`,\n `应爻为${HexagramYaoOrder[guestIndex]}`,\n ];\n const changed = this.toChanged();\n if (changed) {\n infos.push(\n `${this.yaos\n .map((y, i) => (y.isDynamic ? `${HexagramYaoOrder[i]}` : null))\n .filter((s): s is string => s !== null)\n .join('、')}是动爻`,\n );\n infos.push(`变卦为${changed.info.id}`);\n\n const changedHostIndex = changed.info.setupInfo.findIndex((s) => s.hostGuest === '世');\n if (this.yaos[changedHostIndex].isDynamic) {\n infos.push(`变卦世爻为${HexagramYaoOrder[changedHostIndex]}`);\n } else {\n infos.push(`未变出新的世爻`);\n }\n\n const changedGuestIndex = changed.info.setupInfo.findIndex((s) => s.hostGuest === '应');\n if (this.yaos[changedGuestIndex].isDynamic) {\n infos.push(`变卦应爻为${HexagramYaoOrder[changedGuestIndex]}`);\n } else {\n infos.push(`未变出新的应爻`);\n }\n } else {\n infos.push('无动爻');\n }\n return infos.join(',');\n }\n\n /**\n * This output is meant for AI skills.\n */\n toAIReadable(): { 本卦: HexagramAIReadable; 变卦: HexagramAIReadable | '无'; 世应变化: string } {\n const si = this.info.setupInfo;\n const changed = this.toChanged();\n const csi = changed?.info.setupInfo;\n\n const hostGuestChange: string[] = [];\n if (csi) {\n const dynamicIndexes = this.yaos.map((y, i) => (y.isDynamic ? i : null)).filter((y) => y !== null);\n csi.forEach((s, i) => {\n if (dynamicIndexes.includes(i)) {\n if (s.hostGuest === '世') {\n hostGuestChange.push(`新世爻为${changed.info.id}的${HexagramYaoOrder[i]}`);\n }\n if (s.hostGuest === '应') {\n hostGuestChange.push(`新应爻为${changed.info.id}的${HexagramYaoOrder[i]}`);\n }\n }\n });\n } else {\n hostGuestChange.push('没有新的世应爻出现,世应不变');\n }\n\n const createYaoInfo = (yaos: Yao[], si: SetupGramInfo[], index: number): YaoInfo => {\n const o = { 爻: this.yaos[index].name, 六亲: si[index].kin, 类型: si[index].hostGuest };\n if (!o.类型) {\n delete o.类型;\n }\n return o;\n };\n\n return {\n 本卦: {\n 上爻: createYaoInfo(this.yaos, si, 5),\n 五爻: createYaoInfo(this.yaos, si, 4),\n 四爻: createYaoInfo(this.yaos, si, 3),\n 三爻: createYaoInfo(this.yaos, si, 2),\n 二爻: createYaoInfo(this.yaos, si, 1),\n 初爻: createYaoInfo(this.yaos, si, 0),\n 卦名: this.info.id,\n 宫: this.palace,\n 变爻: this.isDynamic\n ? this.yaos\n .map((y, i) => (y.isDynamic ? HexagramYaoOrder[i] : null))\n .filter((s): s is '初爻' | '二爻' | '三爻' | '四爻' | '五爻' | '上爻' => s !== null)\n : undefined,\n },\n 变卦: csi\n ? {\n 上爻: createYaoInfo(changed.yaos, csi, 5),\n 五爻: createYaoInfo(changed.yaos, csi, 4),\n 四爻: createYaoInfo(changed.yaos, csi, 3),\n 三爻: createYaoInfo(changed.yaos, csi, 2),\n 二爻: createYaoInfo(changed.yaos, csi, 1),\n 初爻: createYaoInfo(changed.yaos, csi, 0),\n 卦名: changed.info.id,\n 宫: changed.palace,\n }\n : '无',\n 世应变化: hostGuestChange.join(','),\n };\n }\n\n // #region Utility Methods\n clone(): Hexagram {\n return new Hexagram(this.yaos);\n }\n\n toString(): string {\n return this.info.id;\n }\n\n [Symbol.toPrimitive]() {\n return this.info.id;\n }\n // #endregion\n}\n\n// #region Hexagram Json is for AI skills\ninterface YaoInfo {\n 爻: string; // 少阴少阳老阴老阳\n 类型?: '世' | '应';\n 六亲: string; // 例如:父金、兄弟水、妻财木等\n}\n\ninterface HexagramAIReadable {\n 初爻: YaoInfo;\n 二爻: YaoInfo;\n 三爻: YaoInfo;\n 四爻: YaoInfo;\n 五爻: YaoInfo;\n 上爻: YaoInfo;\n 卦名: string;\n 宫: string;\n 变爻?: string[];\n}\n// #endregion\n"],"mappings":"AAiCA,MAAa,EAAsC,CACjD,CAAE,KAAM,MAAO,OAAQ,iBAAkB,EACzC,CAAE,KAAM,MAAO,OAAQ,kBAAmB,EAC1C,CAAE,KAAM,MAAO,OAAQ,mBAAoB,EAC3C,CAAE,KAAM,MAAO,OAAQ,kBAAmB,EAC1C,CAAE,KAAM,MAAO,OAAQ,mBAAoB,EAC3C,CAAE,KAAM,MAAO,OAAQ,kBAAmB,EAC1C,CAAE,KAAM,MAAO,OAAQ,gBAAiB,EACxC,CAAE,KAAM,MAAO,OAAQ,gBAAiB,CAC1C,EA6Da,EAA6C,OAAO,OAAO,CACtE,CACE,OAAQ,SACR,GAAI,MACJ,KAAM,IACN,MAAO,IACP,OAAQ,IACR,YAAa,EACb,UAAW,CACT,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,CACF,EACA,WAAY,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,CAC/B,EACA,CACE,OAAQ,SACR,GAAI,MACJ,KAAM,IACN,MAAO,IACP,OAAQ,IACR,YAAa,EACb,UAAW,CACT,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,CACF,EACA,WAAY,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,CAC/B,EACA,CACE,OAAQ,SACR,GAAI,MACJ,KAAM,IACN,MAAO,IACP,OAAQ,IACR,YAAa,EACb,UAAW,CACT,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,CACF,EACA,WAAY,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,CAC/B,EACA,CACE,OAAQ,SACR,GAAI,MACJ,KAAM,IACN,MAAO,IACP,OAAQ,IACR,YAAa,EACb,UAAW,CACT,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,CACF,EACA,WAAY,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,CAC/B,EACA,CACE,OAAQ,SACR,GAAI,MACJ,KAAM,IACN,MAAO,IACP,OAAQ,IACR,YAAa,EACb,UAAW,CACT,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,CACF,EACA,WAAY,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,CAC/B,EACA,CACE,OAAQ,SACR,GAAI,OACJ,KAAM,IACN,MAAO,IACP,OAAQ,IACR,YAAa,EACb,UAAW,CACT,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,CACF,EACA,WAAY,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,CAC/B,EACA,CACE,OAAQ,SACR,GAAI,MACJ,KAAM,IACN,MAAO,IACP,OAAQ,IACR,YAAa,EACb,UAAW,CACT,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,CACF,EACA,WAAY,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,CAC/B,EACA,CACE,OAAQ,SACR,GAAI,MACJ,KAAM,IACN,MAAO,IACP,OAAQ,IACR,YAAa,EACb,UAAW,CACT,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,CACF,EACA,WAAY,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,CAC/B,EACA,CACE,OAAQ,SACR,GAAI,MACJ,KAAM,IACN,MAAO,IACP,OAAQ,IACR,YAAa,EACb,UAAW,CACT,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,CACF,EACA,WAAY,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,CAC/B,EACA,CACE,OAAQ,SACR,GAAI,MACJ,KAAM,IACN,MAAO,IACP,OAAQ,IACR,YAAa,EACb,UAAW,CACT,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,CACF,EACA,WAAY,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,CAC/B,EACA,CACE,OAAQ,SACR,GAAI,MACJ,KAAM,IACN,MAAO,IACP,OAAQ,IACR,YAAa,EACb,UAAW,CACT,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,CACF,EACA,WAAY,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,CAC/B,EACA,CACE,OAAQ,SACR,GAAI,OACJ,KAAM,IACN,MAAO,IACP,OAAQ,IACR,YAAa,EACb,UAAW,CACT,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,CACF,EACA,WAAY,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,CAC/B,EACA,CACE,OAAQ,SACR,GAAI,OACJ,KAAM,IACN,MAAO,IACP,OAAQ,IACR,YAAa,EACb,UAAW,CACT,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,CACF,EACA,WAAY,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,CAC/B,EACA,CACE,OAAQ,SACR,GAAI,MACJ,KAAM,IACN,MAAO,IACP,OAAQ,IACR,YAAa,EACb,UAAW,CACT,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,CACF,EACA,WAAY,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,CAC/B,EACA,CACE,OAAQ,SACR,GAAI,MACJ,KAAM,IACN,MAAO,IACP,OAAQ,IACR,YAAa,EACb,UAAW,CACT,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,CACF,EACA,WAAY,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,CAC/B,EACA,CACE,OAAQ,SACR,GAAI,OACJ,KAAM,IACN,MAAO,IACP,OAAQ,IACR,YAAa,EACb,UAAW,CACT,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,CACF,EACA,WAAY,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,CAC/B,EACA,CACE,OAAQ,SACR,GAAI,MACJ,KAAM,IACN,MAAO,IACP,OAAQ,IACR,YAAa,EACb,UAAW,CACT,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,CACF,EACA,WAAY,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,CAC/B,EACA,CACE,OAAQ,SACR,GAAI,MACJ,KAAM,IACN,MAAO,IACP,OAAQ,IACR,YAAa,EACb,UAAW,CACT,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,CACF,EACA,WAAY,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,CAC/B,EACA,CACE,OAAQ,SACR,GAAI,MACJ,KAAM,IACN,MAAO,IACP,OAAQ,IACR,YAAa,EACb,UAAW,CACT,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,CACF,EACA,WAAY,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,CAC/B,EACA,CACE,OAAQ,SACR,GAAI,MACJ,KAAM,IACN,MAAO,IACP,OAAQ,IACR,YAAa,EACb,UAAW,CACT,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,CACF,EACA,WAAY,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,CAC/B,EACA,CACE,OAAQ,SACR,GAAI,MACJ,KAAM,IACN,MAAO,IACP,OAAQ,IACR,YAAa,EACb,UAAW,CACT,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,CACF,EACA,WAAY,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,CAC/B,EACA,CACE,OAAQ,SACR,GAAI,OACJ,KAAM,IACN,MAAO,IACP,OAAQ,IACR,YAAa,EACb,UAAW,CACT,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,CACF,EACA,WAAY,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,CAC/B,EACA,CACE,OAAQ,SACR,GAAI,MACJ,KAAM,IACN,MAAO,IACP,OAAQ,IACR,YAAa,EACb,UAAW,CACT,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,CACF,EACA,WAAY,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,CAC/B,EACA,CACE,OAAQ,SACR,GAAI,MACJ,KAAM,IACN,MAAO,IACP,OAAQ,IACR,YAAa,EACb,UAAW,CACT,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,CACF,EACA,WAAY,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,CAC/B,EACA,CACE,OAAQ,SACR,GAAI,MACJ,KAAM,IACN,MAAO,IACP,OAAQ,IACR,YAAa,EACb,UAAW,CACT,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,CACF,EACA,WAAY,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,CAC/B,EACA,CACE,OAAQ,SACR,GAAI,MACJ,KAAM,IACN,MAAO,IACP,OAAQ,IACR,YAAa,EACb,UAAW,CACT,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,CACF,EACA,WAAY,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,CAC/B,EACA,CACE,OAAQ,SACR,GAAI,MACJ,KAAM,IACN,MAAO,IACP,OAAQ,IACR,YAAa,EACb,UAAW,CACT,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,CACF,EACA,WAAY,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,CAC/B,EACA,CACE,OAAQ,SACR,GAAI,MACJ,KAAM,IACN,MAAO,IACP,OAAQ,IACR,YAAa,EACb,UAAW,CACT,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,CACF,EACA,WAAY,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,CAC/B,EACA,CACE,OAAQ,SACR,GAAI,MACJ,KAAM,IACN,MAAO,IACP,OAAQ,IACR,YAAa,EACb,UAAW,CACT,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,CACF,EACA,WAAY,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,CAC/B,EACA,CACE,OAAQ,SACR,GAAI,MACJ,KAAM,IACN,MAAO,IACP,OAAQ,IACR,YAAa,EACb,UAAW,CACT,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,CACF,EACA,WAAY,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,CAC/B,EACA,CACE,OAAQ,SACR,GAAI,OACJ,KAAM,IACN,MAAO,IACP,OAAQ,IACR,YAAa,EACb,UAAW,CACT,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,CACF,EACA,WAAY,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,CAC/B,EACA,CACE,OAAQ,SACR,GAAI,MACJ,KAAM,IACN,MAAO,IACP,OAAQ,IACR,YAAa,EACb,UAAW,CACT,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,CACF,EACA,WAAY,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,CAC/B,EACA,CACE,OAAQ,SACR,GAAI,MACJ,KAAM,IACN,MAAO,IACP,OAAQ,IACR,YAAa,EACb,UAAW,CACT,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,CACF,EACA,WAAY,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,CAC/B,EACA,CACE,OAAQ,SACR,GAAI,MACJ,KAAM,IACN,MAAO,IACP,OAAQ,IACR,YAAa,EACb,UAAW,CACT,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,CACF,EACA,WAAY,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,CAC/B,EACA,CACE,OAAQ,SACR,GAAI,MACJ,KAAM,IACN,MAAO,IACP,OAAQ,IACR,YAAa,EACb,UAAW,CACT,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,CACF,EACA,WAAY,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,CAC/B,EACA,CACE,OAAQ,SACR,GAAI,MACJ,KAAM,IACN,MAAO,IACP,OAAQ,IACR,YAAa,EACb,UAAW,CACT,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,CACF,EACA,WAAY,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,CAC/B,EACA,CACE,OAAQ,SACR,GAAI,MACJ,KAAM,IACN,MAAO,IACP,OAAQ,IACR,YAAa,EACb,UAAW,CACT,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,CACF,EACA,WAAY,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,CAC/B,EACA,CACE,OAAQ,SACR,GAAI,MACJ,KAAM,IACN,MAAO,IACP,OAAQ,IACR,YAAa,EACb,UAAW,CACT,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,CACF,EACA,WAAY,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,CAC/B,EACA,CACE,OAAQ,SACR,GAAI,MACJ,KAAM,IACN,MAAO,IACP,OAAQ,IACR,YAAa,EACb,UAAW,CACT,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,CACF,EACA,WAAY,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,CAC/B,EACA,CACE,OAAQ,SACR,GAAI,OACJ,KAAM,IACN,MAAO,IACP,OAAQ,IACR,YAAa,EACb,UAAW,CACT,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,CACF,EACA,WAAY,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,CAC/B,EACA,CACE,OAAQ,SACR,GAAI,MACJ,KAAM,IACN,MAAO,IACP,OAAQ,IACR,YAAa,EACb,UAAW,CACT,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,CACF,EACA,WAAY,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,CAC/B,EACA,CACE,OAAQ,SACR,GAAI,OACJ,KAAM,IACN,MAAO,IACP,OAAQ,IACR,YAAa,EACb,UAAW,CACT,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,CACF,EACA,WAAY,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,CAC/B,EACA,CACE,OAAQ,SACR,GAAI,OACJ,KAAM,IACN,MAAO,IACP,OAAQ,IACR,YAAa,EACb,UAAW,CACT,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,CACF,EACA,WAAY,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,CAC/B,EACA,CACE,OAAQ,SACR,GAAI,MACJ,KAAM,IACN,MAAO,IACP,OAAQ,IACR,YAAa,EACb,UAAW,CACT,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,CACF,EACA,WAAY,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,CAC/B,EACA,CACE,OAAQ,SACR,GAAI,MACJ,KAAM,IACN,MAAO,IACP,OAAQ,IACR,YAAa,EACb,UAAW,CACT,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,CACF,EACA,WAAY,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,CAC/B,EACA,CACE,OAAQ,SACR,GAAI,MACJ,KAAM,IACN,MAAO,IACP,OAAQ,IACR,YAAa,EACb,UAAW,CACT,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,CACF,EACA,WAAY,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,CAC/B,EACA,CACE,OAAQ,SACR,GAAI,MACJ,KAAM,IACN,MAAO,IACP,OAAQ,IACR,YAAa,EACb,UAAW,CACT,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,CACF,EACA,WAAY,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,CAC/B,EACA,CACE,OAAQ,SACR,GAAI,OACJ,KAAM,IACN,MAAO,IACP,OAAQ,IACR,YAAa,EACb,UAAW,CACT,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,CACF,EACA,WAAY,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,CAC/B,EACA,CACE,OAAQ,SACR,GAAI,MACJ,KAAM,IACN,MAAO,IACP,OAAQ,IACR,YAAa,EACb,UAAW,CACT,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,CACF,EACA,WAAY,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,CAC/B,EACA,CACE,OAAQ,SACR,GAAI,MACJ,KAAM,IACN,MAAO,IACP,OAAQ,IACR,YAAa,EACb,UAAW,CACT,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,CACF,EACA,WAAY,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,CAC/B,EACA,CACE,OAAQ,SACR,GAAI,MACJ,KAAM,IACN,MAAO,IACP,OAAQ,IACR,YAAa,EACb,UAAW,CACT,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,CACF,EACA,WAAY,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,CAC/B,EACA,CACE,OAAQ,SACR,GAAI,OACJ,KAAM,IACN,MAAO,IACP,OAAQ,IACR,YAAa,EACb,UAAW,CACT,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,CACF,EACA,WAAY,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,CAC/B,EACA,CACE,OAAQ,SACR,GAAI,MACJ,KAAM,IACN,MAAO,IACP,OAAQ,IACR,YAAa,EACb,UAAW,CACT,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,CACF,EACA,WAAY,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,CAC/B,EACA,CACE,OAAQ,SACR,GAAI,OACJ,KAAM,IACN,MAAO,IACP,OAAQ,IACR,YAAa,EACb,UAAW,CACT,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,CACF,EACA,WAAY,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,CAC/B,EACA,CACE,OAAQ,SACR,GAAI,MACJ,KAAM,IACN,MAAO,IACP,OAAQ,IACR,YAAa,EACb,UAAW,CACT,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,CACF,EACA,WAAY,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,CAC/B,EACA,CACE,OAAQ,SACR,GAAI,OACJ,KAAM,IACN,MAAO,IACP,OAAQ,IACR,YAAa,EACb,UAAW,CACT,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,CACF,EACA,WAAY,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,CAC/B,EACA,CACE,OAAQ,SACR,GAAI,MACJ,KAAM,IACN,MAAO,IACP,OAAQ,IACR,YAAa,EACb,UAAW,CACT,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,CACF,EACA,WAAY,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,CAC/B,EACA,CACE,OAAQ,SACR,GAAI,OACJ,KAAM,IACN,MAAO,IACP,OAAQ,IACR,YAAa,EACb,UAAW,CACT,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,CACF,EACA,WAAY,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,CAC/B,EACA,CACE,OAAQ,SACR,GAAI,MACJ,KAAM,IACN,MAAO,IACP,OAAQ,IACR,YAAa,EACb,UAAW,CACT,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,CACF,EACA,WAAY,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,CAC/B,EACA,CACE,OAAQ,SACR,GAAI,MACJ,KAAM,IACN,MAAO,IACP,OAAQ,IACR,YAAa,EACb,UAAW,CACT,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,CACF,EACA,WAAY,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,CAC/B,EACA,CACE,OAAQ,SACR,GAAI,MACJ,KAAM,IACN,MAAO,IACP,OAAQ,IACR,YAAa,EACb,UAAW,CACT,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,CACF,EACA,WAAY,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"}
1
+ {"version":3,"file":"index.mjs","names":[],"sources":["../src/core/common.ts","../src/core/six-gods.ts","../src/classes/yao.ts","../src/classes/hexagram.ts"],"sourcesContent":["import type { SetupGramInfo } from './setup-gram.js';\n\n/*\n䷁,䷖,䷇,䷓,䷏,䷢,䷬,䷋,\n坤,剥,比,观,豫,晋,萃,否,\n\n䷎,䷳,䷦,䷴,䷽,䷷,䷞,䷠,\n谦,艮,蹇,渐,小过,旅,咸,遁,\n\n䷆,䷃,䷜,䷺,䷧,䷿,䷮,䷅,\n师,蒙,坎,涣,解,未济,困,讼,\n\n䷭,䷑,䷯,䷸,䷟,䷱,䷛,䷫,\n升,蛊,井,巽,恒,鼎,大过,姤,\n\n䷗,䷚,䷂,䷩,䷲,䷔,䷐,䷘,\n复,颐,屯,益,震,噬嗑,随,无妄,\n\n䷣,䷕,䷾,䷤,䷶,䷝,䷰,䷌,\n明夷,贲,既济,家人,丰,离,革,同人,\n\n䷒,䷨,䷻,䷼,䷵,䷥,䷹,䷉,\n临,损,节,中孚,归妹,睽,兑,履,\n\n䷊,䷙,䷄,䷈,䷡,䷍,䷪,䷀,\n泰,大畜,需,小畜,大壮,大有,夬,乾\n*/\n\ninterface PalaceOrderName {\n name: string;\n nameEn: string;\n}\n\nexport const PalaceOrderTable: PalaceOrderName[] = [\n { name: '本宫卦', nameEn: 'Original Palace' },\n { name: '一世卦', nameEn: 'First Generation' },\n { name: '二世卦', nameEn: 'Second Generation' },\n { name: '三世卦', nameEn: 'Third Generation' },\n { name: '四世卦', nameEn: 'Fourth Generation' },\n { name: '五世卦', nameEn: 'Fifth Generation' },\n { name: '游魂卦', nameEn: 'Wandering Soul' },\n { name: '归魂卦', nameEn: 'Returning Soul' },\n];\n\nexport interface HexagramInfo {\n /**\n * Binary representation of the hexagram, where 0 represents a yin line and 1 represents a yang line. The lines are ordered from the bottom (first line) to the top (sixth line).\n */\n binary: `${0 | 1}${0 | 1}${0 | 1}${0 | 1}${0 | 1}${0 | 1}`;\n\n /**\n * Binary to YangCounts.\n * e.g. `'000000'` 坤为地 -> `[2, 2, 2, 2, 2, 2]`, 2 means Shao Yin.\n */\n yangCounts: number[];\n\n /**\n * Name of the hexagram, which includes the names of the upper and lower trigrams.\n *\n * For example, \"坤为地\", \"地雷复\", \"地水师\", etc.\n */\n id: string;\n\n /**\n * 64 hexagrams correspond to Unicode characters.\n * For example, \"䷁\" (U+4DC1) represents the hexagram \"坤为地\".\n */\n sign: string;\n\n /**\n * Five Phases (五行) associated with the hexagram, which can be one of \"金\" (Metal), \"木\" (Wood), \"水\" (Water), \"火\" (Fire), or \"土\" (Earth).\n * It indicates the development and state of things.\n */\n phase: '金' | '木' | '水' | '火' | '土';\n\n /**\n * Eight Palaces (八宫) to which the hexagram belongs.\n * 'Palace' is not a physical palace, but rather a category or family of hexagrams.\n */\n palace: '乾' | '兑' | '离' | '震' | '巽' | '坎' | '艮' | '坤';\n\n /**\n * Index of the hexagram within its palace, ranging from 0 to 7. This index helps to identify the specific hexagram within the context of its palace.\n *\n * - 本宫卦 Original Palace\n * - 一世卦 First Generation, 1st yao is changed\n * - 二世卦 Second Generation, 1st and 2nd yao is changed\n * - 三世卦 Third Generation, 1st, 2nd and 3rd yao is changed\n * - 四世卦 Fourth Generation, 1st, 2nd, 3rd and 4th yao is changed\n * - 五世卦 Fifth Generation, 1st, 2nd, 3rd, 4th and 5th yao is changed\n * - 游魂卦 Wandering Soul, restores 4th yao of Fifth Generation\n * - 归魂卦 Returning Soul, restores lower 3 yaos of Fifth Generation\n */\n palaceIndex: 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7;\n\n /**\n * Setup information of the hexagram. Includes Host-Guest(世应) and Six Kins (六亲) for each of the six lines. This information is crucial for interpreting the hexagrams and their changing lines in the context of a divination reading.\n *\n * Host(世)is the augur and Guest(应) is the person or things which to ask about.\n */\n setupInfo: [SetupGramInfo, SetupGramInfo, SetupGramInfo, SetupGramInfo, SetupGramInfo, SetupGramInfo];\n}\n\nexport const HexagramInfoTable: readonly HexagramInfo[] = Object.freeze([\n {\n binary: '000000',\n id: '坤为地',\n sign: '䷁',\n phase: '土',\n palace: '坤',\n palaceIndex: 0,\n setupInfo: [\n {\n kin: '兄弟未土',\n },\n {\n kin: '父母巳火',\n },\n {\n kin: '官鬼卯木',\n hostGuest: '应',\n },\n {\n kin: '兄弟丑土',\n },\n {\n kin: '妻财亥水',\n },\n {\n kin: '子孙酉金',\n hostGuest: '世',\n },\n ],\n yangCounts: [2, 2, 2, 2, 2, 2],\n },\n {\n binary: '100000',\n id: '地雷复',\n sign: '䷗',\n phase: '土',\n palace: '坤',\n palaceIndex: 1,\n setupInfo: [\n {\n kin: '妻财子水',\n hostGuest: '世',\n },\n {\n kin: '官鬼寅木',\n },\n {\n kin: '兄弟辰土',\n },\n {\n kin: '兄弟丑土',\n hostGuest: '应',\n },\n {\n kin: '妻财亥水',\n },\n {\n kin: '子孙酉金',\n },\n ],\n yangCounts: [1, 2, 2, 2, 2, 2],\n },\n {\n binary: '010000',\n id: '地水师',\n sign: '䷆',\n phase: '水',\n palace: '坎',\n palaceIndex: 7,\n setupInfo: [\n {\n kin: '子孙寅木',\n },\n {\n kin: '官鬼辰土',\n },\n {\n kin: '妻财午火',\n hostGuest: '世',\n },\n {\n kin: '官鬼丑土',\n },\n {\n kin: '兄弟亥水',\n },\n {\n kin: '父母酉金',\n hostGuest: '应',\n },\n ],\n yangCounts: [2, 1, 2, 2, 2, 2],\n },\n {\n binary: '110000',\n id: '地泽临',\n sign: '䷒',\n phase: '土',\n palace: '坤',\n palaceIndex: 2,\n setupInfo: [\n {\n kin: '父母巳火',\n },\n {\n kin: '官鬼卯木',\n hostGuest: '世',\n },\n {\n kin: '兄弟丑土',\n },\n {\n kin: '兄弟丑土',\n },\n {\n kin: '妻财亥水',\n hostGuest: '应',\n },\n {\n kin: '子孙酉金',\n },\n ],\n yangCounts: [1, 1, 2, 2, 2, 2],\n },\n {\n binary: '001000',\n id: '地山谦',\n sign: '䷎',\n phase: '土',\n palace: '兑',\n palaceIndex: 5,\n setupInfo: [\n {\n kin: '父母辰土',\n },\n {\n kin: '官鬼午火',\n hostGuest: '应',\n },\n {\n kin: '兄弟申金',\n },\n {\n kin: '父母丑土',\n },\n {\n kin: '子孙亥水',\n hostGuest: '世',\n },\n {\n kin: '兄弟酉金',\n },\n ],\n yangCounts: [2, 2, 1, 2, 2, 2],\n },\n {\n binary: '101000',\n id: '地火明夷',\n sign: '䷣',\n phase: '水',\n palace: '坎',\n palaceIndex: 6,\n setupInfo: [\n {\n kin: '子孙卯木',\n hostGuest: '应',\n },\n {\n kin: '官鬼丑土',\n },\n {\n kin: '兄弟亥水',\n },\n {\n kin: '官鬼丑土',\n hostGuest: '世',\n },\n {\n kin: '兄弟亥水',\n },\n {\n kin: '父母酉金',\n },\n ],\n yangCounts: [1, 2, 1, 2, 2, 2],\n },\n {\n binary: '011000',\n id: '地风升',\n sign: '䷭',\n phase: '木',\n palace: '震',\n palaceIndex: 4,\n setupInfo: [\n {\n kin: '妻财丑土',\n hostGuest: '应',\n },\n {\n kin: '父母亥水',\n },\n {\n kin: '官鬼酉金',\n },\n {\n kin: '妻财丑土',\n hostGuest: '世',\n },\n {\n kin: '父母亥水',\n },\n {\n kin: '官鬼酉金',\n },\n ],\n yangCounts: [2, 1, 1, 2, 2, 2],\n },\n {\n binary: '111000',\n id: '地天泰',\n sign: '䷊',\n phase: '土',\n palace: '坤',\n palaceIndex: 3,\n setupInfo: [\n {\n kin: '妻财子水',\n },\n {\n kin: '官鬼寅木',\n },\n {\n kin: '兄弟辰土',\n hostGuest: '世',\n },\n {\n kin: '兄弟丑土',\n },\n {\n kin: '妻财亥水',\n },\n {\n kin: '子孙酉金',\n hostGuest: '应',\n },\n ],\n yangCounts: [1, 1, 1, 2, 2, 2],\n },\n {\n binary: '000100',\n id: '雷地豫',\n sign: '䷏',\n phase: '木',\n palace: '震',\n palaceIndex: 1,\n setupInfo: [\n {\n kin: '妻财未土',\n hostGuest: '世',\n },\n {\n kin: '子孙巳火',\n },\n {\n kin: '兄弟卯木',\n },\n {\n kin: '子孙午火',\n hostGuest: '应',\n },\n {\n kin: '官鬼申金',\n },\n {\n kin: '妻财戌土',\n },\n ],\n yangCounts: [2, 2, 2, 1, 2, 2],\n },\n {\n binary: '100100',\n id: '震为雷',\n sign: '䷲',\n phase: '木',\n palace: '震',\n palaceIndex: 0,\n setupInfo: [\n {\n kin: '父母子水',\n },\n {\n kin: '兄弟寅木',\n },\n {\n kin: '妻财辰土',\n hostGuest: '应',\n },\n {\n kin: '子孙午火',\n },\n {\n kin: '官鬼申金',\n },\n {\n kin: '妻财戌土',\n hostGuest: '世',\n },\n ],\n yangCounts: [1, 2, 2, 1, 2, 2],\n },\n {\n binary: '010100',\n id: '雷水解',\n sign: '䷧',\n phase: '木',\n palace: '震',\n palaceIndex: 2,\n setupInfo: [\n {\n kin: '兄弟寅木',\n },\n {\n kin: '妻财辰土',\n hostGuest: '世',\n },\n {\n kin: '子孙午火',\n },\n {\n kin: '子孙午火',\n },\n {\n kin: '官鬼申金',\n hostGuest: '应',\n },\n {\n kin: '妻财戌土',\n },\n ],\n yangCounts: [2, 1, 2, 1, 2, 2],\n },\n {\n binary: '110100',\n id: '雷泽归妹',\n sign: '䷵',\n phase: '金',\n palace: '兑',\n palaceIndex: 7,\n setupInfo: [\n {\n kin: '官鬼巳火',\n },\n {\n kin: '妻财卯木',\n },\n {\n kin: '父母丑土',\n hostGuest: '世',\n },\n {\n kin: '官鬼午火',\n },\n {\n kin: '兄弟申金',\n },\n {\n kin: '父母戌土',\n hostGuest: '应',\n },\n ],\n yangCounts: [1, 1, 2, 1, 2, 2],\n },\n {\n binary: '001100',\n id: '雷山小过',\n sign: '䷽',\n phase: '金',\n palace: '兑',\n palaceIndex: 6,\n setupInfo: [\n {\n kin: '父母辰土',\n hostGuest: '应',\n },\n {\n kin: '官鬼午火',\n },\n {\n kin: '兄弟申金',\n },\n {\n kin: '官鬼午火',\n hostGuest: '世',\n },\n {\n kin: '兄弟申金',\n },\n {\n kin: '父母戌土',\n },\n ],\n yangCounts: [2, 2, 1, 1, 2, 2],\n },\n {\n binary: '101100',\n id: '雷火丰',\n sign: '䷶',\n phase: '水',\n palace: '坎',\n palaceIndex: 5,\n setupInfo: [\n {\n kin: '子孙卯木',\n },\n {\n kin: '官鬼丑土',\n hostGuest: '应',\n },\n {\n kin: '兄弟亥水',\n },\n {\n kin: '妻财午火',\n },\n {\n kin: '父母申金',\n hostGuest: '世',\n },\n {\n kin: '官鬼戌土',\n },\n ],\n yangCounts: [1, 2, 1, 1, 2, 2],\n },\n {\n binary: '011100',\n id: '雷风恒',\n sign: '䷟',\n phase: '木',\n palace: '震',\n palaceIndex: 3,\n setupInfo: [\n {\n kin: '妻财丑土',\n },\n {\n kin: '父母亥水',\n },\n {\n kin: '官鬼酉金',\n hostGuest: '世',\n },\n {\n kin: '子孙午火',\n },\n {\n kin: '官鬼申金',\n },\n {\n kin: '妻财戌土',\n hostGuest: '应',\n },\n ],\n yangCounts: [2, 1, 1, 1, 2, 2],\n },\n {\n binary: '111100',\n id: '雷天大壮',\n sign: '䷡',\n phase: '土',\n palace: '坤',\n palaceIndex: 4,\n setupInfo: [\n {\n kin: '妻财子水',\n hostGuest: '应',\n },\n {\n kin: '官鬼寅木',\n },\n {\n kin: '兄弟辰土',\n },\n {\n kin: '父母午火',\n hostGuest: '世',\n },\n {\n kin: '子孙申金',\n },\n {\n kin: '兄弟戌土',\n },\n ],\n yangCounts: [1, 1, 1, 1, 2, 2],\n },\n {\n binary: '000010',\n id: '水地比',\n sign: '䷇',\n phase: '土',\n palace: '坤',\n palaceIndex: 7,\n setupInfo: [\n {\n kin: '兄弟未土',\n },\n {\n kin: '父母巳火',\n },\n {\n kin: '官鬼卯木',\n hostGuest: '世',\n },\n {\n kin: '子孙申金',\n },\n {\n kin: '兄弟戌土',\n },\n {\n kin: '妻财子水',\n hostGuest: '应',\n },\n ],\n yangCounts: [2, 2, 2, 2, 1, 2],\n },\n {\n binary: '100010',\n id: '水雷屯',\n sign: '䷂',\n phase: '水',\n palace: '坎',\n palaceIndex: 2,\n setupInfo: [\n {\n kin: '兄弟子水',\n },\n {\n kin: '子孙寅木',\n hostGuest: '世',\n },\n {\n kin: '官鬼辰土',\n },\n {\n kin: '父母申金',\n },\n {\n kin: '官鬼戌土',\n hostGuest: '应',\n },\n {\n kin: '兄弟子水',\n },\n ],\n yangCounts: [1, 2, 2, 2, 1, 2],\n },\n {\n binary: '010010',\n id: '坎为水',\n sign: '䷜',\n phase: '水',\n palace: '坎',\n palaceIndex: 0,\n setupInfo: [\n {\n kin: '子孙寅木',\n },\n {\n kin: '官鬼辰土',\n },\n {\n kin: '妻财午火',\n hostGuest: '应',\n },\n {\n kin: '父母申金',\n },\n {\n kin: '官鬼戌土',\n },\n {\n kin: '兄弟子水',\n hostGuest: '世',\n },\n ],\n yangCounts: [2, 1, 2, 2, 1, 2],\n },\n {\n binary: '110010',\n id: '水泽节',\n sign: '䷻',\n phase: '水',\n palace: '坎',\n palaceIndex: 1,\n setupInfo: [\n {\n kin: '妻财巳火',\n hostGuest: '世',\n },\n {\n kin: '子孙卯木',\n },\n {\n kin: '官鬼丑土',\n },\n {\n kin: '父母申金',\n hostGuest: '应',\n },\n {\n kin: '官鬼戌土',\n },\n {\n kin: '兄弟子水',\n },\n ],\n yangCounts: [1, 1, 2, 2, 1, 2],\n },\n {\n binary: '001010',\n id: '水山蹇',\n sign: '䷦',\n phase: '金',\n palace: '兑',\n palaceIndex: 4,\n setupInfo: [\n {\n kin: '父母辰土',\n hostGuest: '应',\n },\n {\n kin: '官鬼午火',\n },\n {\n kin: '兄弟申金',\n },\n {\n kin: '兄弟申金',\n hostGuest: '世',\n },\n {\n kin: '父母戌土',\n },\n {\n kin: '子孙子水',\n },\n ],\n yangCounts: [2, 2, 1, 2, 1, 2],\n },\n {\n binary: '101010',\n id: '水火既济',\n sign: '䷾',\n phase: '水',\n palace: '坎',\n palaceIndex: 3,\n setupInfo: [\n {\n kin: '子孙卯木',\n },\n {\n kin: '官鬼丑土',\n },\n {\n kin: '兄弟亥水',\n hostGuest: '世',\n },\n {\n kin: '父母申金',\n },\n {\n kin: '官鬼戌土',\n },\n {\n kin: '兄弟子水',\n hostGuest: '应',\n },\n ],\n yangCounts: [1, 2, 1, 2, 1, 2],\n },\n {\n binary: '011010',\n id: '水风井',\n sign: '䷯',\n phase: '木',\n palace: '震',\n palaceIndex: 5,\n setupInfo: [\n {\n kin: '妻财丑土',\n },\n {\n kin: '父母亥水',\n hostGuest: '应',\n },\n {\n kin: '官鬼酉金',\n },\n {\n kin: '官鬼申金',\n },\n {\n kin: '妻财戌土',\n hostGuest: '世',\n },\n {\n kin: '父母子水',\n },\n ],\n yangCounts: [2, 1, 1, 2, 1, 2],\n },\n {\n binary: '111010',\n id: '水天需',\n sign: '䷄',\n phase: '土',\n palace: '坤',\n palaceIndex: 6,\n setupInfo: [\n {\n kin: '妻财子水',\n hostGuest: '应',\n },\n {\n kin: '官鬼寅木',\n },\n {\n kin: '兄弟辰土',\n },\n {\n kin: '子孙申金',\n hostGuest: '世',\n },\n {\n kin: '兄弟戌土',\n },\n {\n kin: '妻财子水',\n },\n ],\n yangCounts: [1, 1, 1, 2, 1, 2],\n },\n {\n binary: '000110',\n id: '泽地萃',\n sign: '䷬',\n phase: '金',\n palace: '兑',\n palaceIndex: 2,\n setupInfo: [\n {\n kin: '父母未土',\n },\n {\n kin: '官鬼巳火',\n hostGuest: '世',\n },\n {\n kin: '妻财卯木',\n },\n {\n kin: '子孙亥水',\n },\n {\n kin: '兄弟酉金',\n hostGuest: '应',\n },\n {\n kin: '父母未土',\n },\n ],\n yangCounts: [2, 2, 2, 1, 1, 2],\n },\n {\n binary: '100110',\n id: '泽雷随',\n sign: '䷐',\n phase: '木',\n palace: '震',\n palaceIndex: 7,\n setupInfo: [\n {\n kin: '父母子水',\n },\n {\n kin: '兄弟寅木',\n },\n {\n kin: '妻财辰土',\n hostGuest: '世',\n },\n {\n kin: '父母亥水',\n },\n {\n kin: '官鬼酉金',\n },\n {\n kin: '妻财未土',\n hostGuest: '应',\n },\n ],\n yangCounts: [1, 2, 2, 1, 1, 2],\n },\n {\n binary: '010110',\n id: '泽水困',\n sign: '䷮',\n phase: '金',\n palace: '兑',\n palaceIndex: 1,\n setupInfo: [\n {\n kin: '妻财卯木',\n hostGuest: '世',\n },\n {\n kin: '父母辰土',\n },\n {\n kin: '官鬼午火',\n },\n {\n kin: '子孙亥水',\n hostGuest: '应',\n },\n {\n kin: '兄弟酉金',\n },\n {\n kin: '父母未土',\n },\n ],\n yangCounts: [2, 1, 2, 1, 1, 2],\n },\n {\n binary: '110110',\n id: '兑为泽',\n sign: '䷹',\n phase: '金',\n palace: '兑',\n palaceIndex: 0,\n setupInfo: [\n {\n kin: '官鬼巳火',\n },\n {\n kin: '妻财卯木',\n },\n {\n kin: '父母丑土',\n hostGuest: '应',\n },\n {\n kin: '子孙亥水',\n },\n {\n kin: '兄弟酉金',\n },\n {\n kin: '父母未土',\n hostGuest: '世',\n },\n ],\n yangCounts: [1, 1, 2, 1, 1, 2],\n },\n {\n binary: '001110',\n id: '泽山咸',\n sign: '䷞',\n phase: '金',\n palace: '兑',\n palaceIndex: 3,\n setupInfo: [\n {\n kin: '父母辰土',\n },\n {\n kin: '官鬼午火',\n },\n {\n kin: '兄弟申金',\n hostGuest: '世',\n },\n {\n kin: '子孙亥水',\n },\n {\n kin: '兄弟酉金',\n },\n {\n kin: '父母未土',\n hostGuest: '应',\n },\n ],\n yangCounts: [2, 2, 1, 1, 1, 2],\n },\n {\n binary: '101110',\n id: '泽火革',\n sign: '䷰',\n phase: '水',\n palace: '坎',\n palaceIndex: 4,\n setupInfo: [\n {\n kin: '子孙卯木',\n hostGuest: '应',\n },\n {\n kin: '官鬼丑土',\n },\n {\n kin: '兄弟亥水',\n },\n {\n kin: '兄弟亥水',\n hostGuest: '世',\n },\n {\n kin: '父母酉金',\n },\n {\n kin: '官鬼未土',\n },\n ],\n yangCounts: [1, 2, 1, 1, 1, 2],\n },\n {\n binary: '011110',\n id: '泽风大过',\n sign: '䷛',\n phase: '木',\n palace: '震',\n palaceIndex: 6,\n setupInfo: [\n {\n kin: '妻财丑土',\n hostGuest: '应',\n },\n {\n kin: '父母亥水',\n },\n {\n kin: '官鬼酉金',\n },\n {\n kin: '父母亥水',\n hostGuest: '世',\n },\n {\n kin: '官鬼酉金',\n },\n {\n kin: '妻财未土',\n },\n ],\n yangCounts: [2, 1, 1, 1, 1, 2],\n },\n {\n binary: '111110',\n id: '泽天夬',\n sign: '䷪',\n phase: '土',\n palace: '坤',\n palaceIndex: 5,\n setupInfo: [\n {\n kin: '妻财子水',\n },\n {\n kin: '官鬼寅木',\n hostGuest: '应',\n },\n {\n kin: '兄弟辰土',\n },\n {\n kin: '妻财亥水',\n },\n {\n kin: '子孙酉金',\n hostGuest: '世',\n },\n {\n kin: '兄弟未土',\n },\n ],\n yangCounts: [1, 1, 1, 1, 1, 2],\n },\n {\n binary: '000001',\n id: '山地剥',\n sign: '䷖',\n phase: '金',\n palace: '乾',\n palaceIndex: 5,\n setupInfo: [\n {\n kin: '父母未土',\n },\n {\n kin: '官鬼巳火',\n hostGuest: '应',\n },\n {\n kin: '妻财卯木',\n },\n {\n kin: '父母戌土',\n },\n {\n kin: '子孙子水',\n hostGuest: '世',\n },\n {\n kin: '妻财卯木',\n },\n ],\n yangCounts: [2, 2, 2, 2, 2, 1],\n },\n {\n binary: '100001',\n id: '山雷颐',\n sign: '䷚',\n phase: '木',\n palace: '巽',\n palaceIndex: 6,\n setupInfo: [\n {\n kin: '父母子水',\n hostGuest: '应',\n },\n {\n kin: '兄弟寅木',\n },\n {\n kin: '妻财辰土',\n },\n {\n kin: '妻财戌土',\n hostGuest: '世',\n },\n {\n kin: '父母子水',\n },\n {\n kin: '兄弟寅木',\n },\n ],\n yangCounts: [1, 2, 2, 2, 2, 1],\n },\n {\n binary: '010001',\n id: '山水蒙',\n sign: '䷃',\n phase: '火',\n palace: '离',\n palaceIndex: 4,\n setupInfo: [\n {\n kin: '父母寅木',\n hostGuest: '应',\n },\n {\n kin: '子孙辰土',\n },\n {\n kin: '兄弟午火',\n },\n {\n kin: '子孙戌土',\n hostGuest: '世',\n },\n {\n kin: '官鬼子水',\n },\n {\n kin: '父母寅木',\n },\n ],\n yangCounts: [2, 1, 2, 2, 2, 1],\n },\n {\n binary: '110001',\n id: '山泽损',\n sign: '䷨',\n phase: '土',\n palace: '艮',\n palaceIndex: 3,\n setupInfo: [\n {\n kin: '父母巳火',\n },\n {\n kin: '官鬼卯木',\n },\n {\n kin: '兄弟丑土',\n hostGuest: '世',\n },\n {\n kin: '兄弟戌土',\n },\n {\n kin: '妻财子水',\n },\n {\n kin: '官鬼寅木',\n hostGuest: '应',\n },\n ],\n yangCounts: [1, 1, 2, 2, 2, 1],\n },\n {\n binary: '001001',\n id: '艮为山',\n sign: '䷳',\n phase: '土',\n palace: '艮',\n palaceIndex: 0,\n setupInfo: [\n {\n kin: '兄弟辰土',\n },\n {\n kin: '父母午火',\n },\n {\n kin: '子孙申金',\n hostGuest: '应',\n },\n {\n kin: '兄弟戌土',\n },\n {\n kin: '妻财子水',\n },\n {\n kin: '官鬼寅木',\n hostGuest: '世',\n },\n ],\n yangCounts: [2, 2, 1, 2, 2, 1],\n },\n {\n binary: '101001',\n id: '山火贲',\n sign: '䷕',\n phase: '土',\n palace: '艮',\n palaceIndex: 1,\n setupInfo: [\n {\n kin: '官鬼卯木',\n hostGuest: '世',\n },\n {\n kin: '兄弟丑土',\n },\n {\n kin: '妻财亥水',\n },\n {\n kin: '兄弟戌土',\n hostGuest: '应',\n },\n {\n kin: '妻财子水',\n },\n {\n kin: '官鬼寅木',\n },\n ],\n yangCounts: [1, 2, 1, 2, 2, 1],\n },\n {\n binary: '011001',\n id: '山风蛊',\n sign: '䷑',\n phase: '木',\n palace: '巽',\n palaceIndex: 7,\n setupInfo: [\n {\n kin: '妻财丑土',\n },\n {\n kin: '父母亥水',\n },\n {\n kin: '官鬼酉金',\n hostGuest: '世',\n },\n {\n kin: '妻财戌土',\n },\n {\n kin: '父母子水',\n },\n {\n kin: '兄弟寅木',\n hostGuest: '应',\n },\n ],\n yangCounts: [2, 1, 1, 2, 2, 1],\n },\n {\n binary: '111001',\n id: '山天大畜',\n sign: '䷙',\n phase: '土',\n palace: '艮',\n palaceIndex: 2,\n setupInfo: [\n {\n kin: '妻财子水',\n },\n {\n kin: '官鬼寅木',\n hostGuest: '世',\n },\n {\n kin: '兄弟辰土',\n },\n {\n kin: '兄弟戌土',\n },\n {\n kin: '妻财子水',\n hostGuest: '应',\n },\n {\n kin: '官鬼寅木',\n },\n ],\n yangCounts: [1, 1, 1, 2, 2, 1],\n },\n {\n binary: '000101',\n id: '火地晋',\n sign: '䷢',\n phase: '金',\n palace: '乾',\n palaceIndex: 6,\n setupInfo: [\n {\n kin: '父母未土',\n hostGuest: '应',\n },\n {\n kin: '官鬼巳火',\n },\n {\n kin: '妻财卯木',\n },\n {\n kin: '兄弟酉金',\n hostGuest: '世',\n },\n {\n kin: '父母未土',\n },\n {\n kin: '官鬼巳火',\n },\n ],\n yangCounts: [2, 2, 2, 1, 2, 1],\n },\n {\n binary: '100101',\n id: '火雷噬嗑',\n sign: '䷔',\n phase: '木',\n palace: '巽',\n palaceIndex: 5,\n setupInfo: [\n {\n kin: '父母子水',\n },\n {\n kin: '兄弟寅木',\n hostGuest: '应',\n },\n {\n kin: '妻财辰土',\n },\n {\n kin: '官鬼酉金',\n },\n {\n kin: '妻财未土',\n hostGuest: '世',\n },\n {\n kin: '子孙巳火',\n },\n ],\n yangCounts: [1, 2, 2, 1, 2, 1],\n },\n {\n binary: '010101',\n id: '火水未济',\n sign: '䷿',\n phase: '火',\n palace: '离',\n palaceIndex: 3,\n setupInfo: [\n {\n kin: '父母寅木',\n },\n {\n kin: '子孙辰土',\n },\n {\n kin: '兄弟午火',\n hostGuest: '世',\n },\n {\n kin: '妻财酉金',\n },\n {\n kin: '子孙未土',\n },\n {\n kin: '兄弟巳火',\n hostGuest: '应',\n },\n ],\n yangCounts: [2, 1, 2, 1, 2, 1],\n },\n {\n binary: '110101',\n id: '火泽睽',\n sign: '䷥',\n phase: '土',\n palace: '艮',\n palaceIndex: 4,\n setupInfo: [\n {\n kin: '父母巳火',\n hostGuest: '应',\n },\n {\n kin: '官鬼卯木',\n },\n {\n kin: '兄弟丑土',\n },\n {\n kin: '子孙酉金',\n hostGuest: '世',\n },\n {\n kin: '兄弟未土',\n },\n {\n kin: '父母巳火',\n },\n ],\n yangCounts: [1, 1, 2, 1, 2, 1],\n },\n {\n binary: '001101',\n id: '火山旅',\n sign: '䷷',\n phase: '火',\n palace: '离',\n palaceIndex: 1,\n setupInfo: [\n {\n kin: '子孙辰土',\n hostGuest: '世',\n },\n {\n kin: '兄弟午火',\n },\n {\n kin: '妻财申金',\n },\n {\n kin: '妻财酉金',\n hostGuest: '应',\n },\n {\n kin: '子孙未土',\n },\n {\n kin: '兄弟巳火',\n },\n ],\n yangCounts: [2, 2, 1, 1, 2, 1],\n },\n {\n binary: '101101',\n id: '离为火',\n sign: '䷝',\n phase: '火',\n palace: '离',\n palaceIndex: 0,\n setupInfo: [\n {\n kin: '父母卯木',\n },\n {\n kin: '子孙丑土',\n },\n {\n kin: '官鬼亥水',\n hostGuest: '应',\n },\n {\n kin: '妻财酉金',\n },\n {\n kin: '子孙未土',\n },\n {\n kin: '兄弟巳火',\n hostGuest: '世',\n },\n ],\n yangCounts: [1, 2, 1, 1, 2, 1],\n },\n {\n binary: '011101',\n id: '火风鼎',\n sign: '䷱',\n phase: '火',\n palace: '离',\n palaceIndex: 2,\n setupInfo: [\n {\n kin: '子孙丑土',\n },\n {\n kin: '官鬼亥水',\n hostGuest: '世',\n },\n {\n kin: '妻财酉金',\n },\n {\n kin: '妻财酉金',\n },\n {\n kin: '子孙未土',\n hostGuest: '应',\n },\n {\n kin: '兄弟巳火',\n },\n ],\n yangCounts: [2, 1, 1, 1, 2, 1],\n },\n {\n binary: '111101',\n id: '火天大有',\n sign: '䷍',\n phase: '金',\n palace: '乾',\n palaceIndex: 7,\n setupInfo: [\n {\n kin: '子孙子水',\n },\n {\n kin: '妻财寅木',\n },\n {\n kin: '父母辰土',\n hostGuest: '世',\n },\n {\n kin: '兄弟酉金',\n },\n {\n kin: '父母未土',\n },\n {\n kin: '官鬼巳火',\n hostGuest: '应',\n },\n ],\n yangCounts: [1, 1, 1, 1, 2, 1],\n },\n {\n binary: '000011',\n id: '风地观',\n sign: '䷓',\n phase: '金',\n palace: '乾',\n palaceIndex: 4,\n setupInfo: [\n {\n kin: '父母未土',\n hostGuest: '应',\n },\n {\n kin: '官鬼巳火',\n },\n {\n kin: '妻财卯木',\n },\n {\n kin: '父母未土',\n hostGuest: '世',\n },\n {\n kin: '官鬼巳火',\n },\n {\n kin: '妻财卯木',\n },\n ],\n yangCounts: [2, 2, 2, 2, 1, 1],\n },\n {\n binary: '100011',\n id: '风雷益',\n sign: '䷩',\n phase: '木',\n palace: '巽',\n palaceIndex: 3,\n setupInfo: [\n {\n kin: '父母子水',\n },\n {\n kin: '兄弟寅木',\n },\n {\n kin: '妻财辰土',\n hostGuest: '世',\n },\n {\n kin: '妻财未土',\n },\n {\n kin: '子孙巳火',\n },\n {\n kin: '兄弟卯木',\n hostGuest: '应',\n },\n ],\n yangCounts: [1, 2, 2, 2, 1, 1],\n },\n {\n binary: '010011',\n id: '风水涣',\n sign: '䷺',\n phase: '火',\n palace: '离',\n palaceIndex: 5,\n setupInfo: [\n {\n kin: '父母寅木',\n },\n {\n kin: '子孙辰土',\n hostGuest: '应',\n },\n {\n kin: '兄弟午火',\n },\n {\n kin: '子孙未土',\n },\n {\n kin: '兄弟巳火',\n hostGuest: '世',\n },\n {\n kin: '父母卯木',\n },\n ],\n yangCounts: [2, 1, 2, 2, 1, 1],\n },\n {\n binary: '110011',\n id: '风泽中孚',\n sign: '䷼',\n phase: '土',\n palace: '艮',\n palaceIndex: 6,\n setupInfo: [\n {\n kin: '父母巳火',\n hostGuest: '应',\n },\n {\n kin: '官鬼卯木',\n },\n {\n kin: '兄弟丑土',\n },\n {\n kin: '兄弟未土',\n hostGuest: '世',\n },\n {\n kin: '父母巳火',\n },\n {\n kin: '官鬼卯木',\n },\n ],\n yangCounts: [1, 1, 2, 2, 1, 1],\n },\n {\n binary: '001011',\n id: '风山渐',\n sign: '䷴',\n phase: '土',\n palace: '艮',\n palaceIndex: 7,\n setupInfo: [\n {\n kin: '兄弟辰土',\n },\n {\n kin: '父母午火',\n },\n {\n kin: '子孙申金',\n hostGuest: '世',\n },\n {\n kin: '兄弟未土',\n },\n {\n kin: '父母巳火',\n },\n {\n kin: '官鬼卯木',\n hostGuest: '应',\n },\n ],\n yangCounts: [2, 2, 1, 2, 1, 1],\n },\n {\n binary: '101011',\n id: '风火家人',\n sign: '䷤',\n phase: '木',\n palace: '巽',\n palaceIndex: 2,\n setupInfo: [\n {\n kin: '兄弟卯木',\n },\n {\n kin: '妻财丑土',\n hostGuest: '世',\n },\n {\n kin: '父母亥水',\n },\n {\n kin: '妻财未土',\n },\n {\n kin: '子孙巳火',\n hostGuest: '应',\n },\n {\n kin: '兄弟卯木',\n },\n ],\n yangCounts: [1, 2, 1, 2, 1, 1],\n },\n {\n binary: '011011',\n id: '巽为风',\n sign: '䷸',\n phase: '木',\n palace: '巽',\n palaceIndex: 0,\n setupInfo: [\n {\n kin: '妻财丑土',\n },\n {\n kin: '父母亥水',\n },\n {\n kin: '官鬼酉金',\n hostGuest: '应',\n },\n {\n kin: '妻财未土',\n },\n {\n kin: '子孙巳火',\n },\n {\n kin: '兄弟卯木',\n hostGuest: '世',\n },\n ],\n yangCounts: [2, 1, 1, 2, 1, 1],\n },\n {\n binary: '111011',\n id: '风天小畜',\n sign: '䷈',\n phase: '木',\n palace: '巽',\n palaceIndex: 1,\n setupInfo: [\n {\n kin: '父母子水',\n hostGuest: '世',\n },\n {\n kin: '兄弟寅木',\n },\n {\n kin: '妻财辰土',\n },\n {\n kin: '妻财未土',\n hostGuest: '应',\n },\n {\n kin: '子孙巳火',\n },\n {\n kin: '兄弟卯木',\n },\n ],\n yangCounts: [1, 1, 1, 2, 1, 1],\n },\n {\n binary: '000111',\n id: '天地否',\n sign: '䷋',\n phase: '金',\n palace: '乾',\n palaceIndex: 3,\n setupInfo: [\n {\n kin: '父母未土',\n },\n {\n kin: '官鬼巳火',\n },\n {\n kin: '妻财卯木',\n hostGuest: '世',\n },\n {\n kin: '官鬼午火',\n },\n {\n kin: '兄弟申金',\n },\n {\n kin: '父母戌土',\n hostGuest: '应',\n },\n ],\n yangCounts: [2, 2, 2, 1, 1, 1],\n },\n {\n binary: '100111',\n id: '天雷无妄',\n sign: '䷘',\n phase: '木',\n palace: '巽',\n palaceIndex: 4,\n setupInfo: [\n {\n kin: '父母子水',\n hostGuest: '应',\n },\n {\n kin: '兄弟寅木',\n },\n {\n kin: '妻财辰土',\n },\n {\n kin: '子孙午火',\n hostGuest: '世',\n },\n {\n kin: '官鬼申金',\n },\n {\n kin: '妻财戌土',\n },\n ],\n yangCounts: [1, 2, 2, 1, 1, 1],\n },\n {\n binary: '010111',\n id: '天水讼',\n sign: '䷅',\n phase: '火',\n palace: '离',\n palaceIndex: 6,\n setupInfo: [\n {\n kin: '父母寅木',\n hostGuest: '应',\n },\n {\n kin: '子孙辰土',\n },\n {\n kin: '兄弟午火',\n },\n {\n kin: '兄弟午火',\n hostGuest: '世',\n },\n {\n kin: '妻财申金',\n },\n {\n kin: '子孙戌土',\n },\n ],\n yangCounts: [2, 1, 2, 1, 1, 1],\n },\n {\n binary: '110111',\n id: '天泽履',\n sign: '䷉',\n phase: '土',\n palace: '艮',\n palaceIndex: 5,\n setupInfo: [\n {\n kin: '父母巳火',\n },\n {\n kin: '官鬼卯木',\n hostGuest: '应',\n },\n {\n kin: '兄弟丑土',\n },\n {\n kin: '父母午火',\n },\n {\n kin: '子孙申金',\n hostGuest: '世',\n },\n {\n kin: '兄弟戌土',\n },\n ],\n yangCounts: [1, 1, 2, 1, 1, 1],\n },\n {\n binary: '001111',\n id: '天山遁',\n sign: '䷠',\n phase: '金',\n palace: '乾',\n palaceIndex: 2,\n setupInfo: [\n {\n kin: '父母辰土',\n },\n {\n kin: '官鬼午火',\n hostGuest: '世',\n },\n {\n kin: '兄弟申金',\n },\n {\n kin: '官鬼午火',\n },\n {\n kin: '兄弟申金',\n hostGuest: '应',\n },\n {\n kin: '父母戌土',\n },\n ],\n yangCounts: [2, 2, 1, 1, 1, 1],\n },\n {\n binary: '101111',\n id: '天火同人',\n sign: '䷌',\n phase: '火',\n palace: '离',\n palaceIndex: 7,\n setupInfo: [\n {\n kin: '父母寅木',\n },\n {\n kin: '子孙辰土',\n },\n {\n kin: '兄弟午火',\n hostGuest: '世',\n },\n {\n kin: '子孙未土',\n },\n {\n kin: '父母巳火',\n },\n {\n kin: '子孙戌土',\n hostGuest: '应',\n },\n ],\n yangCounts: [1, 2, 1, 1, 1, 1],\n },\n {\n binary: '011111',\n id: '天风姤',\n sign: '䷫',\n phase: '金',\n palace: '乾',\n palaceIndex: 1,\n setupInfo: [\n {\n kin: '父母丑土',\n hostGuest: '世',\n },\n {\n kin: '子孙亥水',\n },\n {\n kin: '兄弟酉金',\n },\n {\n kin: '官鬼午火',\n hostGuest: '应',\n },\n {\n kin: '兄弟申金',\n },\n {\n kin: '父母戌土',\n },\n ],\n yangCounts: [2, 1, 1, 1, 1, 1],\n },\n {\n binary: '111111',\n id: '乾为天',\n sign: '䷀',\n phase: '金',\n palace: '乾',\n palaceIndex: 0,\n setupInfo: [\n {\n kin: '子孙子水',\n },\n {\n kin: '妻财寅木',\n },\n {\n kin: '父母辰土',\n hostGuest: '应',\n },\n {\n kin: '官鬼午火',\n },\n {\n kin: '兄弟申金',\n },\n {\n kin: '父母戌土',\n hostGuest: '世',\n },\n ],\n yangCounts: [1, 1, 1, 1, 1, 1],\n },\n]);\n\nexport interface TrigramInfo {\n /**\n * Presents the trigram as a 3-digit binary string. 1 represents a Yang line and 0 represents a Yin line.\n *\n * For example, \"111\" for 乾, \"100\" for 震, etc.\n */\n binary: `${0 | 1}${0 | 1}${0 | 1}`;\n\n /**\n * How many Yang Yaos are in the trigram, such as 0 for 坤, 1 for 震, 2 for 兑, etc.\n */\n yangCount: 0 | 1 | 2 | 3;\n\n /**\n * Name of the trigram in Chinese, such as \"乾\", \"坤\", \"震\", etc.\n */\n id: string;\n\n /**\n * Name of the trigram in English, such as \"Qian\", \"Kun\", \"Zhen\", etc.\n */\n nameEn: string;\n\n /**\n * What the trigram represents in Chinese, such as \"天\", \"地\", \"水\", etc.\n */\n represents: string;\n\n /**\n * What the trigram represents in English, such as \"heaven\", \"earth\", \"water\", etc.\n */\n representsEn: string;\n\n /**\n * Unicode character representing the trigram, such as \"☰\" for 乾, \"☷\" for 坤, etc.\n */\n sign: string;\n}\n\n// 老阳:○,老阴:×,少阳:’,少阴:”\n/**\n * List of all trigrams in the I Ching, with their binary representation, number of yang lines, name, what they represent, and their corresponding sign.\n */\nexport const TrigramInfoTable: readonly TrigramInfo[] = Object.freeze([\n { id: '坤', binary: '000', yangCount: 0, represents: '地', nameEn: 'kun', representsEn: 'earth', sign: '☷' },\n { id: '震', binary: '100', yangCount: 1, represents: '雷', nameEn: 'zhen', representsEn: 'thunder', sign: '☳' },\n { id: '坎', binary: '010', yangCount: 1, represents: '水', nameEn: 'kan', representsEn: 'water', sign: '☵' },\n { id: '兑', binary: '110', yangCount: 2, represents: '泽', nameEn: 'dui', representsEn: 'lake', sign: '☱' },\n { id: '艮', binary: '001', yangCount: 1, represents: '山', nameEn: 'gen', representsEn: 'mountain', sign: '☶' },\n { id: '离', binary: '101', yangCount: 2, represents: '火', nameEn: 'li', representsEn: 'fire', sign: '☲' },\n { id: '巽', binary: '011', yangCount: 2, represents: '风', nameEn: 'xun', representsEn: 'wind', sign: '☴' },\n { id: '乾', binary: '111', yangCount: 3, represents: '天', nameEn: 'qian', representsEn: 'heaven', sign: '☰' },\n]);\n","export type SixGod = '玄武' | '白虎' | '螣蛇' | '勾陈' | '朱雀' | '青龙';\n\nexport interface SixGodInfo {\n /**\n * The Heavenly Stem associated with the Six Gods in this order.\n * They are '甲乙丙丁戊己庚辛壬癸' in sequence.\n * Different Heavenly Stems correspond to different orders of Six Gods.\n */\n heavenlyStem: string;\n\n /**\n * Six Gods contains '青龙', '朱雀', '勾陈', '螣蛇', '白虎', '玄武'.\n * Different Heavenly Stems correspond to different orders of Six Gods.\n *\n * Six Gods are all auspicious symbols and protectors.\n * - 青龙: Azure Loong, the God in the East worshipped by the Taoists.\n * - 朱雀: Vermilion Bird, its body is covered with eternal fire.\n * - 白虎: White Tiger, as white as snow. If the emperor is not cruel and tyrannical, the White Tiger will appear.\n * - 玄武:Black Tortoise, a spiritual creature formed by the combination of a tortoise and a snake.\n * - 螣蛇: Flying Serpent, a limbless divine serpent that can summon clouds and mist and roam within them.\n * - 勾陈: Gouchen, Also considered as 麒麟 Kylin. It has a body like a musk deer, a tail like that of a dragon, dragon scales, and a single horn.\n */\n gods: SixGod[];\n}\n\n/**\n * @see 《增删卜易·六神章》\n */\nexport const SixGodTable: readonly SixGodInfo[] = Object.freeze([\n {\n heavenlyStem: '甲',\n gods: ['青龙', '朱雀', '勾陈', '螣蛇', '白虎', '玄武'] as SixGod[],\n },\n {\n heavenlyStem: '乙',\n gods: ['青龙', '朱雀', '勾陈', '螣蛇', '白虎', '玄武'] as SixGod[],\n },\n {\n heavenlyStem: '丙',\n gods: ['朱雀', '勾陈', '螣蛇', '白虎', '玄武', '青龙'] as SixGod[],\n },\n {\n heavenlyStem: '丁',\n gods: ['朱雀', '勾陈', '螣蛇', '白虎', '玄武', '青龙'] as SixGod[],\n },\n {\n heavenlyStem: '戊',\n gods: ['勾陈', '螣蛇', '白虎', '玄武', '青龙', '朱雀'] as SixGod[],\n },\n {\n heavenlyStem: '己',\n gods: ['螣蛇', '白虎', '玄武', '青龙', '朱雀', '勾陈'] as SixGod[],\n },\n {\n heavenlyStem: '庚',\n gods: ['白虎', '玄武', '青龙', '朱雀', '勾陈', '螣蛇'] as SixGod[],\n },\n {\n heavenlyStem: '辛',\n gods: ['白虎', '玄武', '青龙', '朱雀', '勾陈', '螣蛇'] as SixGod[],\n },\n {\n heavenlyStem: '壬',\n gods: ['玄武', '青龙', '朱雀', '勾陈', '螣蛇', '白虎'] as SixGod[],\n },\n {\n heavenlyStem: '癸',\n gods: ['玄武', '青龙', '朱雀', '勾陈', '螣蛇', '白虎'] as SixGod[],\n },\n]);\n","import { TrigramInfoTable } from '../core/common.js';\n\nconst _names = ['老阴', '少阳', '少阴', '老阳'] as const;\nconst _symbolNames = '交单拆重' as const;\nconst _symbols = '×’”○' as const;\nconst _digits = '0123' as const;\nconst _countChange = [1, 1, 2, 2] as const;\nconst _countToPolar = [0, 1, 0, 1] as const;\n\nfunction validYangCount(v: number): asserts v is 0 | 1 | 2 | 3 {\n if (v !== 0 && v !== 1 && v !== 2 && v !== 3) {\n throw new Error('Count of yang must be 0, 1, 2 or 3');\n }\n}\n\nexport class Yao {\n static getName(yangCount: number) {\n return _names[yangCount];\n }\n\n /**\n * Support creating a Yao from various types of input:\n * - A symbol representing the Yao (e.g. '交', '单', '拆', '重')\n * - A name representing the Yao (e.g. '老阴', '少阳', '少阴', '老阳')\n * - A digit representing the count of yang (e.g. '0', '1', '2', '3')\n * - Symbols in ancient books representing a Yao ()\n * - A field of a TrigramInfo object (e.g. id, binary, nameEn, represents, representsEn, sign)\n * If the input matches any of these, a corresponding Yao will be created.\n * Otherwise, null will be returned.\n */\n\n /**\n * Creating a Yao from symbol.\n * @param symbol e.g. '×' for 0, '’' for 1, '”' for 2, '○' for 3.\n */\n static fromSymbol(symbol: string): Yao | null {\n const index = _symbols.indexOf(symbol);\n return index !== -1 ? new Yao(index) : null;\n }\n\n /**\n * Creating a Yao from symbolName.\n * @param symbolName e.g. '交' for 0, '单' for 1, '拆' for 2, '重' for 3.\n */\n static fromSymbolName(symbolName: string): Yao | null {\n const index = _symbolNames.indexOf(symbolName);\n return index !== -1 ? new Yao(index) : null;\n }\n\n /**\n * Creating a Yao from name.\n * @param name e.g. '老阴', '少阳', '少阴', '老阳'.\n */\n static fromName(name: string): Yao | null {\n const index = _names.indexOf(name as any);\n return index !== -1 ? new Yao(index) : null;\n }\n\n /**\n * Create a Yao from a digit string representing the count of yang.\n */\n static fromDigitString(digit: string): Yao | null {\n const index = _digits.indexOf(digit);\n return index !== -1 ? new Yao(index) : null;\n }\n\n /**\n * Create a Yao from any Trigram field value.\n * @param value `{id: '坤', binary: '000', yangCount: 0}`, so `'坤'`, `'000'` and `0` can all be used.\n */\n static fromTrigramField(value: string | number): Yao | null {\n const trigram = TrigramInfoTable.find(\n (v) =>\n v.id === value ||\n v.yangCount === value ||\n v.binary === value ||\n v.nameEn === value ||\n v.represents === value ||\n v.representsEn === value ||\n v.sign === value,\n );\n return trigram ? new Yao(trigram.yangCount) : null;\n }\n\n private _yangCount: 0 | 1 | 2 | 3;\n\n /**\n * How many faces of character of 3 coins in this Yao.\n * It can only be 0, 1, 2 or 3, which corresponds to 老阴、少阳、少阴、老阳 respectively.\n * - 0: 老阴 (all three coins are Yin)\n * - 1: 少阳 (one coin is Yang, two coins are Yin)\n * - 2: 少阴 (two coins are Yang, one coin is Yin)\n * - 3: 老阳 (all three coins are Yang)\n */\n get yangCount() {\n return this._yangCount;\n }\n\n /**\n * Two Polars.\n * - 0 represents Yin 阴\n * - 1 represents Yang 阳\n */\n get polar(): 0 | 1 {\n return _countToPolar[this.yangCount];\n }\n\n /**\n * If this Yao is dynamic, which means it can change to another Yao. In LiuYao, only 老阴 and 老阳 are dynamic.\n * - 老阴 (0) can change to 少阳 (1)\n * - 老阳 (3) can change to 少阴 (2)\n * - 少阳 (1) and 少阴 (2) cannot change, so they are static.\n */\n get isDynamic(): boolean {\n return this.yangCount === 0 || this.yangCount === 3;\n }\n\n /**\n * Whether this Yao has already changed to another Yao. Once a Yao is changed, it cannot change again.\n */\n readonly isChanged: boolean;\n\n /**\n * @returns The symbol representing this Yao, which is one of '×', '’', '”', '○'.\n */\n get symbol() {\n return _symbols[this.yangCount];\n }\n\n get symbolName() {\n return _symbolNames[this.yangCount];\n }\n\n get name() {\n return _names[this.yangCount];\n }\n\n constructor(yangCount: number, isChanged: boolean = false) {\n validYangCount(yangCount);\n this._yangCount = yangCount;\n this.isChanged = isChanged;\n }\n\n /**\n * Change `this.yangCount`\n */\n set(yangCount: number) {\n validYangCount(yangCount);\n this._yangCount = yangCount;\n }\n\n clone(): Yao {\n return new Yao(this.yangCount, this.isChanged);\n }\n\n toChanged(): Yao {\n if (this.isDynamic) {\n // & 这里要注意,Yao的构造函数传入的是阳数量而不是两仪\n return new Yao(_countChange[this.yangCount], true);\n } else {\n return new Yao(this.yangCount, false);\n }\n }\n}\n","import { HexagramInfoTable, PalaceOrderTable, type HexagramInfo } from '../core/common.js';\nimport { SetupGramInfo } from '../core/setup-gram.js';\nimport { Yao } from './yao.js';\n\ntype LiuYao = [Yao, Yao, Yao, Yao, Yao, Yao];\nexport const HexagramYaoOrder = ['初爻', '二爻', '三爻', '四爻', '五爻', '上爻'] as const;\n\n/**\n * Hexagram class represents a hexagram, which consists of 6 Yao.\n * - Each Yao can be either yin or yang, and can be changing or not.\n * - The hexagram can be constructed from an array of Yao or an array of counts of yang.\n * - Creates “乾为天” by default.\n */\nexport class Hexagram {\n /**\n * Use tokens like `'012132'` to create a Hexagram, where each digit represents the count of Yang in the corresponding Yao (0 for 老阴, 1 for 少阳, 2 for 少阴, 3 for 老阳). The first digit represents the first Yao (初爻) and the last digit represents the sixth Yao (上爻).\n */\n static fromQuaternary(quaternary: string): Hexagram | null {\n const yaos = quaternary.split('').map(Yao.fromDigitString);\n return yaos.every((y): y is Yao => y !== null) ? new Hexagram(yaos) : null;\n }\n\n /**\n * Use tokens like `'单单拆拆重重'` to create a Hexagram.\n *\n * Since 交 is 0, 单 is 1, 拆 is 2, and 重 is 3, the above token is equivalent to '112233'.\n * Which returns '风泽中孚' with its 5th and 6th Yao being dynamic.\n */\n static fromSymbolName(symbolNames: string): Hexagram | null {\n const yaos = symbolNames.split('').map(Yao.fromSymbolName);\n return yaos.every((y): y is Yao => y !== null) ? new Hexagram(yaos) : null;\n }\n\n /**\n * Try to create a Hexagram from an array of counts of Yang. If the input is invalid, null will be returned.\n */\n static fromYangCounts(counts: number[]): Hexagram | null {\n try {\n return new Hexagram(counts.map((c) => new Yao(c)));\n } catch {\n return null;\n }\n }\n\n /**\n * Create a Hexagram from its id, which is the name of the hexagram without the palace name.\n * @param id \"坤为地\", \"地雷复\", \"地水师\"\n */\n static fromId(id: string): Hexagram | null {\n const exist = HexagramInfoTable.find(\n (h) => h.id === id || h.id.slice(2) === id || (h.id.startsWith(id) && id.length > 1),\n );\n return exist ? Hexagram.fromYangCounts(exist.yangCounts) : null;\n }\n\n /**\n * Find Original Palace Hexagram by the palace name, which is the last character of the hexagram id. For example, '天' for '乾为天', '地' for '坤为地', etc.\n */\n static fromPalace(palace: string): Hexagram | null {\n const exist = HexagramInfoTable.find((h) => h.id[2] === palace);\n return exist ? Hexagram.fromYangCounts(exist.yangCounts) : null;\n }\n\n /**\n * 6 Yao positions, indexed from bottom to top.\n * Index from 0 to 5, where 0 is the first Yao (初爻) and 5 is the sixth Yao (上爻).\n */\n readonly yaos: LiuYao;\n\n /**\n * HexagramInfo of this hexagram, which can be used to get more information about this hexagram, such as its name, sign, phase, palace, etc.\n */\n get info(): HexagramInfo {\n return HexagramInfoTable.find((h) => h.binary === this.yaos.map((y) => y.polar).join(''))!;\n }\n\n get palace(): string {\n const i = this.info;\n return `${i.palace}宫(${i.phase})${PalaceOrderTable[i.palaceIndex].name}`;\n }\n\n /**\n * Whether the 6 Yaos of this hexagram contain any dynamic Yao.\n */\n get isDynamic(): boolean {\n return this.yaos.some((y) => y.isDynamic || y.isChanged);\n }\n\n /**\n * Whether this hexagram has already changed to another hexagram. Once a hexagram is changed, it cannot change again.\n */\n get isChanged(): boolean {\n return this.yaos.some((y) => y.isChanged);\n }\n\n /**\n * Outer trigram of this hexagram, which consists of the last three yao (四爻、五爻、上爻).\n * @returns A trigram if the outer trigram is dynamic.\n */\n get dynamicOuter(): boolean {\n return this.yaos.slice(3).some((y) => y.isDynamic || y.isChanged);\n }\n\n /**\n * Inner trigram of this hexagram, which consists of the first three yao (初爻、二爻、三爻).\n * @returns A trigram if the inner trigram is dynamic.\n */\n get dynamicInner(): boolean {\n return this.yaos.slice(0, 3).some((y) => y.isDynamic || y.isChanged);\n }\n\n /**\n * Whether this hexagram is one of ‘六冲卦’\n */\n get isSixScattering(): boolean {\n return [\n '乾为天',\n '坤为地',\n '震为雷',\n '巽为风',\n '坎为水',\n '离为火',\n '艮为山',\n '兑为泽',\n '天雷无妄',\n '雷天大壮',\n ].includes(this.info.id);\n }\n\n /**\n * Whether this hexagram is one of ‘六合卦’\n */\n get isSixGathering(): boolean {\n return ['天地否', '地天泰', '地雷复', '雷地豫', '山火贲', '火山旅', '泽水困', '水泽节'].includes(this.info.id);\n }\n\n /**\n * Create a Hexagram from an array of Yao with length 6.\n */\n constructor(yaos: Yao[]) {\n if (yaos.length !== 6) {\n throw new Error('Array length mismatch, A Hexagram must be constructed with exactly 6 Yaos or 6 counts of yang');\n }\n\n if (yaos.every((a) => a instanceof Yao)) {\n this.yaos = yaos.map((a) => a.clone()) as LiuYao;\n } else {\n throw new Error('Invalid Arguments, Hexagram must be constructed with exactly 6 Yaos or 6 counts of yang');\n }\n }\n\n setYao(index: number, yangCount: number): void {\n this.yaos[index].set(yangCount);\n }\n\n toChanged(): Hexagram | null {\n if (!this.isDynamic) {\n return null;\n }\n\n if (this.isChanged) {\n throw new Error('已经是变卦了,无法再变');\n }\n\n return new Hexagram(this.yaos.map((y) => y.toChanged()));\n }\n\n /**\n * Describe this hexagram in a human-readable way, including the original hexagram, the changed hexagram (if any), and the dynamic yao (if any).\n * - e.g.:“本卦乾为天,变卦坤为地,动爻:初爻、三爻”\n */\n toDescription(): string {\n const hostIndex = this.info.setupInfo.findIndex((s) => s.hostGuest === '世');\n const guestIndex = this.info.setupInfo.findIndex((s) => s.hostGuest === '应');\n const infos: string[] = [\n `本卦${this.info.id}`,\n `世爻为${HexagramYaoOrder[hostIndex]}`,\n `应爻为${HexagramYaoOrder[guestIndex]}`,\n ];\n const changed = this.toChanged();\n if (changed) {\n infos.push(\n `${this.yaos\n .map((y, i) => (y.isDynamic ? `${HexagramYaoOrder[i]}` : null))\n .filter((s): s is string => s !== null)\n .join('、')}是动爻`,\n );\n infos.push(`变卦为${changed.info.id}`);\n\n const changedHostIndex = changed.info.setupInfo.findIndex((s) => s.hostGuest === '世');\n if (this.yaos[changedHostIndex].isDynamic) {\n infos.push(`变卦世爻为${HexagramYaoOrder[changedHostIndex]}`);\n } else {\n infos.push(`未变出新的世爻`);\n }\n\n const changedGuestIndex = changed.info.setupInfo.findIndex((s) => s.hostGuest === '应');\n if (this.yaos[changedGuestIndex].isDynamic) {\n infos.push(`变卦应爻为${HexagramYaoOrder[changedGuestIndex]}`);\n } else {\n infos.push(`未变出新的应爻`);\n }\n } else {\n infos.push('无动爻');\n }\n return infos.join(',');\n }\n\n /**\n * This output is meant for AI skills.\n */\n toAIReadable(): { 本卦: HexagramAIReadable; 变卦: HexagramAIReadable | '无'; 世应变化: string } {\n const si = this.info.setupInfo;\n const changed = this.toChanged();\n const csi = changed?.info.setupInfo;\n\n const hostGuestChange: string[] = [];\n if (csi) {\n const dynamicIndexes = this.yaos.map((y, i) => (y.isDynamic ? i : null)).filter((y) => y !== null);\n csi.forEach((s, i) => {\n if (dynamicIndexes.includes(i)) {\n if (s.hostGuest === '世') {\n hostGuestChange.push(`新世爻为${changed.info.id}的${HexagramYaoOrder[i]}`);\n }\n if (s.hostGuest === '应') {\n hostGuestChange.push(`新应爻为${changed.info.id}的${HexagramYaoOrder[i]}`);\n }\n }\n });\n } else {\n hostGuestChange.push('没有新的世应爻出现,世应不变');\n }\n\n const createYaoInfo = (yaos: Yao[], si: SetupGramInfo[], index: number): YaoInfo => {\n const o = { 爻: this.yaos[index].name, 六亲: si[index].kin, 类型: si[index].hostGuest };\n if (!o.类型) {\n delete o.类型;\n }\n return o;\n };\n\n return {\n 本卦: {\n 上爻: createYaoInfo(this.yaos, si, 5),\n 五爻: createYaoInfo(this.yaos, si, 4),\n 四爻: createYaoInfo(this.yaos, si, 3),\n 三爻: createYaoInfo(this.yaos, si, 2),\n 二爻: createYaoInfo(this.yaos, si, 1),\n 初爻: createYaoInfo(this.yaos, si, 0),\n 卦名: this.info.id,\n 宫: this.palace,\n 变爻: this.isDynamic\n ? this.yaos\n .map((y, i) => (y.isDynamic ? HexagramYaoOrder[i] : null))\n .filter((s): s is '初爻' | '二爻' | '三爻' | '四爻' | '五爻' | '上爻' => s !== null)\n : undefined,\n 六冲六合: this.isSixScattering ? '六合卦' : this.isSixGathering ? '六冲卦' : undefined,\n },\n 变卦: csi\n ? {\n 上爻: createYaoInfo(changed.yaos, csi, 5),\n 五爻: createYaoInfo(changed.yaos, csi, 4),\n 四爻: createYaoInfo(changed.yaos, csi, 3),\n 三爻: createYaoInfo(changed.yaos, csi, 2),\n 二爻: createYaoInfo(changed.yaos, csi, 1),\n 初爻: createYaoInfo(changed.yaos, csi, 0),\n 卦名: changed.info.id,\n 宫: changed.palace,\n 六冲六合: changed.isSixScattering ? '六合卦' : changed.isSixGathering ? '六冲卦' : undefined,\n }\n : '无',\n 世应变化: hostGuestChange.join(','),\n };\n }\n\n // #region Utility Methods\n clone(): Hexagram {\n return new Hexagram(this.yaos);\n }\n\n toString(): string {\n return this.info.id;\n }\n\n [Symbol.toPrimitive]() {\n return this.info.id;\n }\n // #endregion\n}\n\n// #region Hexagram Json is for AI skills\ninterface YaoInfo {\n 爻: string; // 少阴少阳老阴老阳\n 类型?: '世' | '应';\n 六亲: string; // 例如:父金、兄弟水、妻财木等\n}\n\ninterface HexagramAIReadable {\n 初爻: YaoInfo;\n 二爻: YaoInfo;\n 三爻: YaoInfo;\n 四爻: YaoInfo;\n 五爻: YaoInfo;\n 上爻: YaoInfo;\n 卦名: string;\n 宫: string;\n 变爻?: string[];\n 六冲六合?: '六合卦' | '六冲卦';\n}\n// #endregion\n"],"mappings":"AAiCA,MAAa,EAAsC,CACjD,CAAE,KAAM,MAAO,OAAQ,iBAAkB,EACzC,CAAE,KAAM,MAAO,OAAQ,kBAAmB,EAC1C,CAAE,KAAM,MAAO,OAAQ,mBAAoB,EAC3C,CAAE,KAAM,MAAO,OAAQ,kBAAmB,EAC1C,CAAE,KAAM,MAAO,OAAQ,mBAAoB,EAC3C,CAAE,KAAM,MAAO,OAAQ,kBAAmB,EAC1C,CAAE,KAAM,MAAO,OAAQ,gBAAiB,EACxC,CAAE,KAAM,MAAO,OAAQ,gBAAiB,CAC1C,EA6Da,EAA6C,OAAO,OAAO,CACtE,CACE,OAAQ,SACR,GAAI,MACJ,KAAM,IACN,MAAO,IACP,OAAQ,IACR,YAAa,EACb,UAAW,CACT,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,CACF,EACA,WAAY,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,CAC/B,EACA,CACE,OAAQ,SACR,GAAI,MACJ,KAAM,IACN,MAAO,IACP,OAAQ,IACR,YAAa,EACb,UAAW,CACT,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,CACF,EACA,WAAY,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,CAC/B,EACA,CACE,OAAQ,SACR,GAAI,MACJ,KAAM,IACN,MAAO,IACP,OAAQ,IACR,YAAa,EACb,UAAW,CACT,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,CACF,EACA,WAAY,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,CAC/B,EACA,CACE,OAAQ,SACR,GAAI,MACJ,KAAM,IACN,MAAO,IACP,OAAQ,IACR,YAAa,EACb,UAAW,CACT,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,CACF,EACA,WAAY,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,CAC/B,EACA,CACE,OAAQ,SACR,GAAI,MACJ,KAAM,IACN,MAAO,IACP,OAAQ,IACR,YAAa,EACb,UAAW,CACT,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,CACF,EACA,WAAY,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,CAC/B,EACA,CACE,OAAQ,SACR,GAAI,OACJ,KAAM,IACN,MAAO,IACP,OAAQ,IACR,YAAa,EACb,UAAW,CACT,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,CACF,EACA,WAAY,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,CAC/B,EACA,CACE,OAAQ,SACR,GAAI,MACJ,KAAM,IACN,MAAO,IACP,OAAQ,IACR,YAAa,EACb,UAAW,CACT,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,CACF,EACA,WAAY,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,CAC/B,EACA,CACE,OAAQ,SACR,GAAI,MACJ,KAAM,IACN,MAAO,IACP,OAAQ,IACR,YAAa,EACb,UAAW,CACT,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,CACF,EACA,WAAY,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,CAC/B,EACA,CACE,OAAQ,SACR,GAAI,MACJ,KAAM,IACN,MAAO,IACP,OAAQ,IACR,YAAa,EACb,UAAW,CACT,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,CACF,EACA,WAAY,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,CAC/B,EACA,CACE,OAAQ,SACR,GAAI,MACJ,KAAM,IACN,MAAO,IACP,OAAQ,IACR,YAAa,EACb,UAAW,CACT,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,CACF,EACA,WAAY,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,CAC/B,EACA,CACE,OAAQ,SACR,GAAI,MACJ,KAAM,IACN,MAAO,IACP,OAAQ,IACR,YAAa,EACb,UAAW,CACT,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,CACF,EACA,WAAY,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,CAC/B,EACA,CACE,OAAQ,SACR,GAAI,OACJ,KAAM,IACN,MAAO,IACP,OAAQ,IACR,YAAa,EACb,UAAW,CACT,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,CACF,EACA,WAAY,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,CAC/B,EACA,CACE,OAAQ,SACR,GAAI,OACJ,KAAM,IACN,MAAO,IACP,OAAQ,IACR,YAAa,EACb,UAAW,CACT,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,CACF,EACA,WAAY,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,CAC/B,EACA,CACE,OAAQ,SACR,GAAI,MACJ,KAAM,IACN,MAAO,IACP,OAAQ,IACR,YAAa,EACb,UAAW,CACT,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,CACF,EACA,WAAY,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,CAC/B,EACA,CACE,OAAQ,SACR,GAAI,MACJ,KAAM,IACN,MAAO,IACP,OAAQ,IACR,YAAa,EACb,UAAW,CACT,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,CACF,EACA,WAAY,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,CAC/B,EACA,CACE,OAAQ,SACR,GAAI,OACJ,KAAM,IACN,MAAO,IACP,OAAQ,IACR,YAAa,EACb,UAAW,CACT,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,CACF,EACA,WAAY,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,CAC/B,EACA,CACE,OAAQ,SACR,GAAI,MACJ,KAAM,IACN,MAAO,IACP,OAAQ,IACR,YAAa,EACb,UAAW,CACT,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,CACF,EACA,WAAY,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,CAC/B,EACA,CACE,OAAQ,SACR,GAAI,MACJ,KAAM,IACN,MAAO,IACP,OAAQ,IACR,YAAa,EACb,UAAW,CACT,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,CACF,EACA,WAAY,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,CAC/B,EACA,CACE,OAAQ,SACR,GAAI,MACJ,KAAM,IACN,MAAO,IACP,OAAQ,IACR,YAAa,EACb,UAAW,CACT,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,CACF,EACA,WAAY,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,CAC/B,EACA,CACE,OAAQ,SACR,GAAI,MACJ,KAAM,IACN,MAAO,IACP,OAAQ,IACR,YAAa,EACb,UAAW,CACT,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,CACF,EACA,WAAY,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,CAC/B,EACA,CACE,OAAQ,SACR,GAAI,MACJ,KAAM,IACN,MAAO,IACP,OAAQ,IACR,YAAa,EACb,UAAW,CACT,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,CACF,EACA,WAAY,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,CAC/B,EACA,CACE,OAAQ,SACR,GAAI,OACJ,KAAM,IACN,MAAO,IACP,OAAQ,IACR,YAAa,EACb,UAAW,CACT,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,CACF,EACA,WAAY,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,CAC/B,EACA,CACE,OAAQ,SACR,GAAI,MACJ,KAAM,IACN,MAAO,IACP,OAAQ,IACR,YAAa,EACb,UAAW,CACT,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,CACF,EACA,WAAY,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,CAC/B,EACA,CACE,OAAQ,SACR,GAAI,MACJ,KAAM,IACN,MAAO,IACP,OAAQ,IACR,YAAa,EACb,UAAW,CACT,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,CACF,EACA,WAAY,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,CAC/B,EACA,CACE,OAAQ,SACR,GAAI,MACJ,KAAM,IACN,MAAO,IACP,OAAQ,IACR,YAAa,EACb,UAAW,CACT,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,CACF,EACA,WAAY,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,CAC/B,EACA,CACE,OAAQ,SACR,GAAI,MACJ,KAAM,IACN,MAAO,IACP,OAAQ,IACR,YAAa,EACb,UAAW,CACT,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,CACF,EACA,WAAY,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,CAC/B,EACA,CACE,OAAQ,SACR,GAAI,MACJ,KAAM,IACN,MAAO,IACP,OAAQ,IACR,YAAa,EACb,UAAW,CACT,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,CACF,EACA,WAAY,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,CAC/B,EACA,CACE,OAAQ,SACR,GAAI,MACJ,KAAM,IACN,MAAO,IACP,OAAQ,IACR,YAAa,EACb,UAAW,CACT,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,CACF,EACA,WAAY,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,CAC/B,EACA,CACE,OAAQ,SACR,GAAI,MACJ,KAAM,IACN,MAAO,IACP,OAAQ,IACR,YAAa,EACb,UAAW,CACT,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,CACF,EACA,WAAY,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,CAC/B,EACA,CACE,OAAQ,SACR,GAAI,MACJ,KAAM,IACN,MAAO,IACP,OAAQ,IACR,YAAa,EACb,UAAW,CACT,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,CACF,EACA,WAAY,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,CAC/B,EACA,CACE,OAAQ,SACR,GAAI,OACJ,KAAM,IACN,MAAO,IACP,OAAQ,IACR,YAAa,EACb,UAAW,CACT,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,CACF,EACA,WAAY,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,CAC/B,EACA,CACE,OAAQ,SACR,GAAI,MACJ,KAAM,IACN,MAAO,IACP,OAAQ,IACR,YAAa,EACb,UAAW,CACT,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,CACF,EACA,WAAY,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,CAC/B,EACA,CACE,OAAQ,SACR,GAAI,MACJ,KAAM,IACN,MAAO,IACP,OAAQ,IACR,YAAa,EACb,UAAW,CACT,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,CACF,EACA,WAAY,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,CAC/B,EACA,CACE,OAAQ,SACR,GAAI,MACJ,KAAM,IACN,MAAO,IACP,OAAQ,IACR,YAAa,EACb,UAAW,CACT,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,CACF,EACA,WAAY,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,CAC/B,EACA,CACE,OAAQ,SACR,GAAI,MACJ,KAAM,IACN,MAAO,IACP,OAAQ,IACR,YAAa,EACb,UAAW,CACT,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,CACF,EACA,WAAY,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,CAC/B,EACA,CACE,OAAQ,SACR,GAAI,MACJ,KAAM,IACN,MAAO,IACP,OAAQ,IACR,YAAa,EACb,UAAW,CACT,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,CACF,EACA,WAAY,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,CAC/B,EACA,CACE,OAAQ,SACR,GAAI,MACJ,KAAM,IACN,MAAO,IACP,OAAQ,IACR,YAAa,EACb,UAAW,CACT,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,CACF,EACA,WAAY,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,CAC/B,EACA,CACE,OAAQ,SACR,GAAI,MACJ,KAAM,IACN,MAAO,IACP,OAAQ,IACR,YAAa,EACb,UAAW,CACT,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,CACF,EACA,WAAY,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,CAC/B,EACA,CACE,OAAQ,SACR,GAAI,MACJ,KAAM,IACN,MAAO,IACP,OAAQ,IACR,YAAa,EACb,UAAW,CACT,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,CACF,EACA,WAAY,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,CAC/B,EACA,CACE,OAAQ,SACR,GAAI,OACJ,KAAM,IACN,MAAO,IACP,OAAQ,IACR,YAAa,EACb,UAAW,CACT,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,CACF,EACA,WAAY,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,CAC/B,EACA,CACE,OAAQ,SACR,GAAI,MACJ,KAAM,IACN,MAAO,IACP,OAAQ,IACR,YAAa,EACb,UAAW,CACT,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,CACF,EACA,WAAY,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,CAC/B,EACA,CACE,OAAQ,SACR,GAAI,OACJ,KAAM,IACN,MAAO,IACP,OAAQ,IACR,YAAa,EACb,UAAW,CACT,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,CACF,EACA,WAAY,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,CAC/B,EACA,CACE,OAAQ,SACR,GAAI,OACJ,KAAM,IACN,MAAO,IACP,OAAQ,IACR,YAAa,EACb,UAAW,CACT,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,CACF,EACA,WAAY,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,CAC/B,EACA,CACE,OAAQ,SACR,GAAI,MACJ,KAAM,IACN,MAAO,IACP,OAAQ,IACR,YAAa,EACb,UAAW,CACT,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,CACF,EACA,WAAY,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,CAC/B,EACA,CACE,OAAQ,SACR,GAAI,MACJ,KAAM,IACN,MAAO,IACP,OAAQ,IACR,YAAa,EACb,UAAW,CACT,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,CACF,EACA,WAAY,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,CAC/B,EACA,CACE,OAAQ,SACR,GAAI,MACJ,KAAM,IACN,MAAO,IACP,OAAQ,IACR,YAAa,EACb,UAAW,CACT,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,CACF,EACA,WAAY,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,CAC/B,EACA,CACE,OAAQ,SACR,GAAI,MACJ,KAAM,IACN,MAAO,IACP,OAAQ,IACR,YAAa,EACb,UAAW,CACT,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,CACF,EACA,WAAY,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,CAC/B,EACA,CACE,OAAQ,SACR,GAAI,OACJ,KAAM,IACN,MAAO,IACP,OAAQ,IACR,YAAa,EACb,UAAW,CACT,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,CACF,EACA,WAAY,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,CAC/B,EACA,CACE,OAAQ,SACR,GAAI,MACJ,KAAM,IACN,MAAO,IACP,OAAQ,IACR,YAAa,EACb,UAAW,CACT,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,CACF,EACA,WAAY,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,CAC/B,EACA,CACE,OAAQ,SACR,GAAI,MACJ,KAAM,IACN,MAAO,IACP,OAAQ,IACR,YAAa,EACb,UAAW,CACT,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,CACF,EACA,WAAY,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,CAC/B,EACA,CACE,OAAQ,SACR,GAAI,MACJ,KAAM,IACN,MAAO,IACP,OAAQ,IACR,YAAa,EACb,UAAW,CACT,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,CACF,EACA,WAAY,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,CAC/B,EACA,CACE,OAAQ,SACR,GAAI,OACJ,KAAM,IACN,MAAO,IACP,OAAQ,IACR,YAAa,EACb,UAAW,CACT,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,CACF,EACA,WAAY,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,CAC/B,EACA,CACE,OAAQ,SACR,GAAI,MACJ,KAAM,IACN,MAAO,IACP,OAAQ,IACR,YAAa,EACb,UAAW,CACT,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,CACF,EACA,WAAY,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,CAC/B,EACA,CACE,OAAQ,SACR,GAAI,OACJ,KAAM,IACN,MAAO,IACP,OAAQ,IACR,YAAa,EACb,UAAW,CACT,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,CACF,EACA,WAAY,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,CAC/B,EACA,CACE,OAAQ,SACR,GAAI,MACJ,KAAM,IACN,MAAO,IACP,OAAQ,IACR,YAAa,EACb,UAAW,CACT,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,CACF,EACA,WAAY,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,CAC/B,EACA,CACE,OAAQ,SACR,GAAI,OACJ,KAAM,IACN,MAAO,IACP,OAAQ,IACR,YAAa,EACb,UAAW,CACT,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,CACF,EACA,WAAY,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,CAC/B,EACA,CACE,OAAQ,SACR,GAAI,MACJ,KAAM,IACN,MAAO,IACP,OAAQ,IACR,YAAa,EACb,UAAW,CACT,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,CACF,EACA,WAAY,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,CAC/B,EACA,CACE,OAAQ,SACR,GAAI,OACJ,KAAM,IACN,MAAO,IACP,OAAQ,IACR,YAAa,EACb,UAAW,CACT,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,CACF,EACA,WAAY,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,CAC/B,EACA,CACE,OAAQ,SACR,GAAI,MACJ,KAAM,IACN,MAAO,IACP,OAAQ,IACR,YAAa,EACb,UAAW,CACT,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,CACF,EACA,WAAY,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,CAC/B,EACA,CACE,OAAQ,SACR,GAAI,MACJ,KAAM,IACN,MAAO,IACP,OAAQ,IACR,YAAa,EACb,UAAW,CACT,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,CACF,EACA,WAAY,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,CAC/B,EACA,CACE,OAAQ,SACR,GAAI,MACJ,KAAM,IACN,MAAO,IACP,OAAQ,IACR,YAAa,EACb,UAAW,CACT,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,MACP,EACA,CACE,IAAK,OACL,UAAW,GACb,EACA,CACE,IAAK,MACP,CACF,EACA,WAAY,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"}
@@ -1,4 +1,4 @@
1
- # 六爻卦象解析技能 `v0.4.4`
1
+ # 六爻卦象解析技能 `v0.4.5`
2
2
 
3
3
  **你是等同于野鹤老人水平的优秀六爻占卜师。本技能包含装挂脚本和解卦指导txt文件,请你按流程指引操作。**
4
4
 
@@ -1 +1 @@
1
- var e=[19416,19168,42352,21717,53856,55632,91476,22176,39632,21970,19168,42422,42192,53840,119381,46400,54944,44450,38320,84343,18800,42160,46261,27216,27968,109396,11104,38256,21234,18800,25958,54432,59984,28309,23248,11104,100067,37600,116951,51536,54432,120998,46416,22176,107956,9680,37584,53938,43344,46423,27808,46416,86869,19872,42416,83315,21168,43432,59728,27296,44710,43856,19296,43748,42352,21088,62051,55632,23383,22176,38608,19925,19152,42192,54484,53840,54616,46400,46752,103846,38320,18864,43380,42160,45690,27216,27968,44870,43872,38256,19189,18800,25776,29859,59984,27480,23232,43872,38613,37600,51552,55636,54432,55888,30034,22176,43959,9680,37584,51893,43344,46240,47780,44368,21977,19360,42416,86390,21168,43312,31060,27296,44368,23378,19296,42726,42208,53856,60005,54576,23200,30371,38608,19195,19152,42192,118966,53840,54560,56645,46496,22224,21938,18864,42359,42160,43600,111189,27936,44448,84835,37744,18936,18800,25776,92326,59984,27424,108228,43744,37600,53987,51552,54615,54432,55888,23893,22176,42704,21972,21200,43448,43344,46240,46758,44368,21920,43940,42416,21168,45683,26928,29495,27296,44368,84821,19296,42352,21732,53600,59752,54560,55968,92838,22224,19168,43476,42192,53584,62034,54560],t=[31,28,31,30,31,30,31,31,30,31,30,31],n=[`甲`,`乙`,`丙`,`丁`,`戊`,`己`,`庚`,`辛`,`壬`,`癸`],r=[`子`,`丑`,`寅`,`卯`,`辰`,`巳`,`午`,`未`,`申`,`酉`,`戌`,`亥`],i=[`鼠`,`牛`,`虎`,`兔`,`龙`,`蛇`,`马`,`羊`,`猴`,`鸡`,`狗`,`猪`],a=[`小寒`,`大寒`,`立春`,`雨水`,`惊蛰`,`春分`,`清明`,`谷雨`,`立夏`,`小满`,`芒种`,`夏至`,`小暑`,`大暑`,`立秋`,`处暑`,`白露`,`秋分`,`寒露`,`霜降`,`立冬`,`小雪`,`大雪`,`冬至`],o=`9778397bd097c36b0b6fc9274c91aa.97b6b97bd19801ec9210c965cc920e.97bcf97c3598082c95f8c965cc920f.97bd0b06bdb0722c965ce1cfcc920f.b027097bd097c36b0b6fc9274c91aa.97b6b97bd19801ec9210c965cc920e.97bcf97c359801ec95f8c965cc920f.97bd0b06bdb0722c965ce1cfcc920f.b027097bd097c36b0b6fc9274c91aa.97b6b97bd19801ec9210c965cc920e.97bcf97c359801ec95f8c965cc920f.97bd0b06bdb0722c965ce1cfcc920f.b027097bd097c36b0b6fc9274c91aa.9778397bd19801ec9210c965cc920e.97b6b97bd19801ec95f8c965cc920f.97bd09801d98082c95f8e1cfcc920f.97bd097bd097c36b0b6fc9210c8dc2.9778397bd197c36c9210c9274c91aa.97b6b97bd19801ec95f8c965cc920e.97bd09801d98082c95f8e1cfcc920f.97bd097bd097c36b0b6fc9210c8dc2.9778397bd097c36c9210c9274c91aa.97b6b97bd19801ec95f8c965cc920e.97bcf97c3598082c95f8e1cfcc920f.97bd097bd097c36b0b6fc9210c8dc2.9778397bd097c36c9210c9274c91aa.97b6b97bd19801ec9210c965cc920e.97bcf97c3598082c95f8c965cc920f.97bd097bd097c35b0b6fc920fb0722.9778397bd097c36b0b6fc9274c91aa.97b6b97bd19801ec9210c965cc920e.97bcf97c3598082c95f8c965cc920f.97bd097bd097c35b0b6fc920fb0722.9778397bd097c36b0b6fc9274c91aa.97b6b97bd19801ec9210c965cc920e.97bcf97c359801ec95f8c965cc920f.97bd097bd097c35b0b6fc920fb0722.9778397bd097c36b0b6fc9274c91aa.97b6b97bd19801ec9210c965cc920e.97bcf97c359801ec95f8c965cc920f.97bd097bd097c35b0b6fc920fb0722.9778397bd097c36b0b6fc9274c91aa.97b6b97bd19801ec9210c965cc920e.97bcf97c359801ec95f8c965cc920f.97bd097bd07f595b0b6fc920fb0722.9778397bd097c36b0b6fc9210c8dc2.9778397bd19801ec9210c9274c920e.97b6b97bd19801ec95f8c965cc920f.97bd07f5307f595b0b0bc920fb0722.7f0e397bd097c36b0b6fc9210c8dc2.9778397bd097c36c9210c9274c920e.97b6b97bd19801ec95f8c965cc920f.97bd07f5307f595b0b0bc920fb0722.7f0e397bd097c36b0b6fc9210c8dc2.9778397bd097c36c9210c9274c91aa.97b6b97bd19801ec9210c965cc920e.97bd07f1487f595b0b0bc920fb0722.7f0e397bd097c36b0b6fc9210c8dc2.9778397bd097c36b0b6fc9274c91aa.97b6b97bd19801ec9210c965cc920e.97bcf7f1487f595b0b0bb0b6fb0722.7f0e397bd097c35b0b6fc920fb0722.9778397bd097c36b0b6fc9274c91aa.97b6b97bd19801ec9210c965cc920e.97bcf7f1487f595b0b0bb0b6fb0722.7f0e397bd097c35b0b6fc920fb0722.9778397bd097c36b0b6fc9274c91aa.97b6b97bd19801ec9210c965cc920e.97bcf7f1487f531b0b0bb0b6fb0722.7f0e397bd097c35b0b6fc920fb0722.9778397bd097c36b0b6fc9274c91aa.97b6b97bd19801ec9210c965cc920e.97bcf7f1487f531b0b0bb0b6fb0722.7f0e397bd07f595b0b6fc920fb0722.9778397bd097c36b0b6fc9274c91aa.97b6b97bd19801ec9210c9274c920e.97bcf7f0e47f531b0b0bb0b6fb0722.7f0e397bd07f595b0b0bc920fb0722.9778397bd097c36b0b6fc9210c91aa.97b6b97bd197c36c9210c9274c920e.97bcf7f0e47f531b0b0bb0b6fb0722.7f0e397bd07f595b0b0bc920fb0722.9778397bd097c36b0b6fc9210c8dc2.9778397bd097c36c9210c9274c920e.97b6b7f0e47f531b0723b0b6fb0722.7f0e37f5307f595b0b0bc920fb0722.7f0e397bd097c36b0b6fc9210c8dc2.9778397bd097c36b0b70c9274c91aa.97b6b7f0e47f531b0723b0b6fb0721.7f0e37f1487f595b0b0bb0b6fb0722.7f0e397bd097c35b0b6fc9210c8dc2.9778397bd097c36b0b6fc9274c91aa.97b6b7f0e47f531b0723b0b6fb0721.7f0e27f1487f595b0b0bb0b6fb0722.7f0e397bd097c35b0b6fc920fb0722.9778397bd097c36b0b6fc9274c91aa.97b6b7f0e47f531b0723b0b6fb0721.7f0e27f1487f531b0b0bb0b6fb0722.7f0e397bd097c35b0b6fc920fb0722.9778397bd097c36b0b6fc9274c91aa.97b6b7f0e47f531b0723b0b6fb0721.7f0e27f1487f531b0b0bb0b6fb0722.7f0e397bd097c35b0b6fc920fb0722.9778397bd097c36b0b6fc9274c91aa.97b6b7f0e47f531b0723b0b6fb0721.7f0e27f1487f531b0b0bb0b6fb0722.7f0e397bd07f595b0b0bc920fb0722.9778397bd097c36b0b6fc9274c91aa.97b6b7f0e47f531b0723b0787b0721.7f0e27f0e47f531b0b0bb0b6fb0722.7f0e397bd07f595b0b0bc920fb0722.9778397bd097c36b0b6fc9210c91aa.97b6b7f0e47f149b0723b0787b0721.7f0e27f0e47f531b0723b0b6fb0722.7f0e397bd07f595b0b0bc920fb0722.9778397bd097c36b0b6fc9210c8dc2.977837f0e37f149b0723b0787b0721.7f07e7f0e47f531b0723b0b6fb0722.7f0e37f5307f595b0b0bc920fb0722.7f0e397bd097c35b0b6fc9210c8dc2.977837f0e37f14998082b0787b0721.7f07e7f0e47f531b0723b0b6fb0721.7f0e37f1487f595b0b0bb0b6fb0722.7f0e397bd097c35b0b6fc9210c8dc2.977837f0e37f14998082b0787b06bd.7f07e7f0e47f531b0723b0b6fb0721.7f0e27f1487f531b0b0bb0b6fb0722.7f0e397bd097c35b0b6fc920fb0722.977837f0e37f14998082b0787b06bd.7f07e7f0e47f531b0723b0b6fb0721.7f0e27f1487f531b0b0bb0b6fb0722.7f0e397bd097c35b0b6fc920fb0722.977837f0e37f14998082b0787b06bd.7f07e7f0e47f531b0723b0b6fb0721.7f0e27f1487f531b0b0bb0b6fb0722.7f0e397bd07f595b0b0bc920fb0722.977837f0e37f14998082b0787b06bd.7f07e7f0e47f531b0723b0b6fb0721.7f0e27f1487f531b0b0bb0b6fb0722.7f0e397bd07f595b0b0bc920fb0722.977837f0e37f14998082b0787b06bd.7f07e7f0e47f149b0723b0787b0721.7f0e27f0e47f531b0b0bb0b6fb0722.7f0e397bd07f595b0b0bc920fb0722.977837f0e37f14998082b0723b06bd.7f07e7f0e37f149b0723b0787b0721.7f0e27f0e47f531b0723b0b6fb0722.7f0e397bd07f595b0b0bc920fb0722.977837f0e37f14898082b0723b02d5.7ec967f0e37f14998082b0787b0721.7f07e7f0e47f531b0723b0b6fb0722.7f0e37f1487f595b0b0bb0b6fb0722.7f0e37f0e37f14898082b0723b02d5.7ec967f0e37f14998082b0787b0721.7f07e7f0e47f531b0723b0b6fb0722.7f0e37f1487f531b0b0bb0b6fb0722.7f0e37f0e37f14898082b0723b02d5.7ec967f0e37f14998082b0787b06bd.7f07e7f0e47f531b0723b0b6fb0721.7f0e37f1487f531b0b0bb0b6fb0722.7f0e37f0e37f14898082b072297c35.7ec967f0e37f14998082b0787b06bd.7f07e7f0e47f531b0723b0b6fb0721.7f0e27f1487f531b0b0bb0b6fb0722.7f0e37f0e37f14898082b072297c35.7ec967f0e37f14998082b0787b06bd.7f07e7f0e47f531b0723b0b6fb0721.7f0e27f1487f531b0b0bb0b6fb0722.7f0e37f0e366aa89801eb072297c35.7ec967f0e37f14998082b0787b06bd.7f07e7f0e47f149b0723b0787b0721.7f0e27f1487f531b0b0bb0b6fb0722.7f0e37f0e366aa89801eb072297c35.7ec967f0e37f14998082b0723b06bd.7f07e7f0e47f149b0723b0787b0721.7f0e27f0e47f531b0723b0b6fb0722.7f0e37f0e366aa89801eb072297c35.7ec967f0e37f14998082b0723b06bd.7f07e7f0e37f14998083b0787b0721.7f0e27f0e47f531b0723b0b6fb0722.7f0e37f0e366aa89801eb072297c35.7ec967f0e37f14898082b0723b02d5.7f07e7f0e37f14998082b0787b0721.7f07e7f0e47f531b0723b0b6fb0722.7f0e36665b66aa89801e9808297c35.665f67f0e37f14898082b0723b02d5.7ec967f0e37f14998082b0787b0721.7f07e7f0e47f531b0723b0b6fb0722.7f0e36665b66a449801e9808297c35.665f67f0e37f14898082b0723b02d5.7ec967f0e37f14998082b0787b06bd.7f07e7f0e47f531b0723b0b6fb0721.7f0e36665b66a449801e9808297c35.665f67f0e37f14898082b072297c35.7ec967f0e37f14998082b0787b06bd.7f07e7f0e47f531b0723b0b6fb0721.7f0e26665b66a449801e9808297c35.665f67f0e37f1489801eb072297c35.7ec967f0e37f14998082b0787b06bd.7f07e7f0e47f531b0723b0b6fb0721.7f0e27f1487f531b0b0bb0b6fb0722`.split(`.`),s=[`日`,`一`,`二`,`三`,`四`,`五`,`六`,`七`,`八`,`九`,`十`],c=[`初`,`十`,`廿`,`卅`],l=[`正`,`二`,`三`,`四`,`五`,`六`,`七`,`八`,`九`,`十`,`冬`,`腊`],u=[`零`,`一`,`二`,`三`,`四`,`五`,`六`,`七`,`八`,`九`,`十`];const d={lunarInfo:e,solarMonth:t,gan:n,zhi:r,animals:i,lunarTerm:a,lTermInfo:o,nStr1:s,nStr2:c,nStr3:l,nStr4:u,lYearDays(t){let n=348,r=e[t-1900];return n+=r&32768?1:0,n+=r&16384?1:0,n+=r&8192?1:0,n+=r&4096?1:0,n+=r&2048?1:0,n+=r&1024?1:0,n+=r&512?1:0,n+=r&256?1:0,n+=r&128?1:0,n+=r&64?1:0,n+=r&32?1:0,n+=r&16?1:0,n+d.leapDays(t)},leapMonth(t){return e[t-1900]&15},leapDays(t){return d.leapMonth(t)?e[t-1900]&65536?30:29:0},monthDays(t,n){return n>12||n<1?-1:e[t-1900]&65536>>n?30:29},getShiChen(e,t){let i=(e+1)/2>=24?0:Math.floor((e+1)/2)%12;return n[(t*2+i)%10]+r[i]},solarDays(e,n){if(n>12||n<1)return-1;let r=n-1;return r===1?e%4==0&&e%100!=0||e%400==0?29:28:t[r]},toGanZhi(e){return n[e%10]+r[e%12]},getTerm(e,t){if(e<1900||e>2100||t<1||t>24)return-1;let n=o[e-1900],r=[parseInt(`0x`+n.substr(0,5)).toString(),parseInt(`0x`+n.substr(5,5)).toString(),parseInt(`0x`+n.substr(10,5)).toString(),parseInt(`0x`+n.substr(15,5)).toString(),parseInt(`0x`+n.substr(20,5)).toString(),parseInt(`0x`+n.substr(25,5)).toString()],i=[r[0].substr(0,1),r[0].substr(1,2),r[0].substr(3,1),r[0].substr(4,2),r[1].substr(0,1),r[1].substr(1,2),r[1].substr(3,1),r[1].substr(4,2),r[2].substr(0,1),r[2].substr(1,2),r[2].substr(3,1),r[2].substr(4,2),r[3].substr(0,1),r[3].substr(1,2),r[3].substr(3,1),r[3].substr(4,2),r[4].substr(0,1),r[4].substr(1,2),r[4].substr(3,1),r[4].substr(4,2),r[5].substr(0,1),r[5].substr(1,2),r[5].substr(3,1),r[5].substr(4,2)];return parseInt(i[t-1])},toChinaYear(e){let t=Math.floor(e/1e3),n=Math.floor(e%1e3/100),r=Math.floor(e%100/10),i=e%10;return u[t]+u[n]+u[r]+u[i]+`年`},toChinaMonth(e){if(e>12||e<1)return-1;let t=l[e-1];return t+=`月`,t},toChinaDay(e){let t=``;switch(e){case 10:t=`初十`;break;case 20:t=`二十`;break;case 30:t=`三十`;break;default:t=c[Math.floor(e/10)],t+=s[e%10]}return t},getAnimal(e,t,n){if(t!==void 0&&n!==void 0){let r=d.getTerm(e,3);(t<2||t===2&&n<r)&&--e}return i[(e-4)%12]},solar2lunar(e,t,n){if(e==null||t==null||n==null){let r=new Date;e=r.getFullYear(),t=r.getMonth()+1,n=r.getDate()}if(e=Number(e),t=Number(t),n=Number(n),isNaN(e)||isNaN(t)||isNaN(n)||e<1900||e>2100||e===1900&&t===1&&n<31||t<1||t>12)return-1;let r=d.solarDays(e,t);if(n<1||n>r)return-1;let i=new Date(e,parseInt(t)-1,n),o,c=0;e=i.getFullYear(),t=i.getMonth()+1,n=i.getDate();let l=(Date.UTC(i.getFullYear(),i.getMonth(),i.getDate())-Date.UTC(1900,0,31))/864e5;for(c=0,o=1900;o<2101&&l>0;o++)c=d.lYearDays(o),l-=c;l<0&&(l+=c,o--);let u=o,f=new Date,p=!1;f.getFullYear()===e&&f.getMonth()+1===t&&f.getDate()===n&&(p=!0);let m=i.getDay(),h=s[m],g=m===0?7:m,_=u,v=d.leapMonth(u),y=!1;for(o=1;o<13&&l>0;o++)v>0&&o===v+1&&y===!1?(--o,y=!0,c=d.leapDays(_)):c=d.monthDays(_,o),y===!0&&o===v+1&&(y=!1),l-=c;l===0&&v>0&&o===v+1&&(y?y=!1:(y=!0,--o)),l<0&&(l+=c,--o);let b=o,x=l+1,S=t-1,C=d.getTerm(e,3),w=d.toGanZhi(e-4);(t<2||t===2&&n<C)&&(w=d.toGanZhi(e-1-4));let T=d.getTerm(e,t*2-1),E=d.getTerm(e,t*2),D=d.toGanZhi((e-1900)*12+t+11);n>=T&&(D=d.toGanZhi((e-1900)*12+t+12));let O=!1,k=``;T===n&&(O=!0,k=a[t*2-2]),E===n&&(O=!0,k=a[t*2-1]);let A=Date.UTC(e,S,1,0,0,0,0)/864e5+25567+10,j=d.toGanZhi(A+n-1);return{lYear:_,lMonth:b,lDay:x,animal:d.getAnimal(_),yearCn:d.toChinaYear(_),monthCn:(y&&v===b?`闰`:``)+d.toChinaMonth(b),dayCn:d.toChinaDay(x),cYear:e,cMonth:t,cDay:n,gzYear:w,gzMonth:D,gzDay:j,isToday:p,isLeap:y,nWeek:g,ncWeek:`星期`+h,isTerm:O,term:k}},lunar2solar(e,t,n,r){if(e=Number(e),t=Number(t),n=Number(n),r=!!r,isNaN(e)||isNaN(t)||isNaN(n))return-1;let i=d.leapMonth(e);if(r&&i!==t||e===2100&&t===12&&n>1||e===1900&&t===1&&n<31)return-1;let a=d.monthDays(e,t);if(e<1900||e>2100||n>a)return-1;let o=0;for(let t=1900;t<e;t++)o+=d.lYearDays(t);let s=0,c=!1;for(let n=1;n<t;n++)s=d.leapMonth(e),c||s<=n&&s>0&&(o+=d.leapDays(e),c=!0),o+=d.monthDays(e,n);r&&(o+=a);let l=Date.UTC(1900,1,30,0,0,0),u=new Date((o+n-31)*864e5+l),f=u.getUTCFullYear(),p=u.getUTCMonth()+1,m=u.getUTCDate();return d.solar2lunar(f,p,m)},getFestivals(e,t,n){let r=[],i=d.solar2lunar(e,t,n);if(i===-1)return r;let{lMonth:a,lDay:o}=i,s={"1-1":`春节`,"1-15":`元宵节`,"5-5":`端午节`,"7-7":`七夕节`,"8-15":`中秋节`,"9-9":`重阳节`,"12-8":`腊八节`,"12-23":`小年`},c=`${a}-${o}`;return s[c]&&r.push(s[c]),a===1&&o===1&&r.push(`农历新年`),d.customFestivals&&d.customFestivals.forEach(e=>{e.month===a&&e.day===o&&r.push(e.name)}),r},addFestival(e,t,n){d.customFestivals||=[],d.customFestivals.push({name:e,month:t,day:n})},clearFestivals(){d.customFestivals=[]}},f=[{name:`本宫卦`,nameEn:`Original Palace`},{name:`一世卦`,nameEn:`First Generation`},{name:`二世卦`,nameEn:`Second Generation`},{name:`三世卦`,nameEn:`Third Generation`},{name:`四世卦`,nameEn:`Fourth Generation`},{name:`五世卦`,nameEn:`Fifth Generation`},{name:`游魂卦`,nameEn:`Wandering Soul`},{name:`归魂卦`,nameEn:`Returning Soul`}],p=Object.freeze([{binary:`000000`,id:`坤为地`,sign:`䷁`,phase:`土`,palace:`坤`,palaceIndex:0,setupInfo:[{kin:`兄弟未土`},{kin:`父母巳火`},{kin:`官鬼卯木`,hostGuest:`应`},{kin:`兄弟丑土`},{kin:`妻财亥水`},{kin:`子孙酉金`,hostGuest:`世`}],yangCounts:[2,2,2,2,2,2]},{binary:`100000`,id:`地雷复`,sign:`䷗`,phase:`土`,palace:`坤`,palaceIndex:1,setupInfo:[{kin:`妻财子水`,hostGuest:`世`},{kin:`官鬼寅木`},{kin:`兄弟辰土`},{kin:`兄弟丑土`,hostGuest:`应`},{kin:`妻财亥水`},{kin:`子孙酉金`}],yangCounts:[1,2,2,2,2,2]},{binary:`010000`,id:`地水师`,sign:`䷆`,phase:`水`,palace:`坎`,palaceIndex:7,setupInfo:[{kin:`子孙寅木`},{kin:`官鬼辰土`},{kin:`妻财午火`,hostGuest:`世`},{kin:`官鬼丑土`},{kin:`兄弟亥水`},{kin:`父母酉金`,hostGuest:`应`}],yangCounts:[2,1,2,2,2,2]},{binary:`110000`,id:`地泽临`,sign:`䷒`,phase:`土`,palace:`坤`,palaceIndex:2,setupInfo:[{kin:`父母巳火`},{kin:`官鬼卯木`,hostGuest:`世`},{kin:`兄弟丑土`},{kin:`兄弟丑土`},{kin:`妻财亥水`,hostGuest:`应`},{kin:`子孙酉金`}],yangCounts:[1,1,2,2,2,2]},{binary:`001000`,id:`地山谦`,sign:`䷎`,phase:`土`,palace:`兑`,palaceIndex:5,setupInfo:[{kin:`父母辰土`},{kin:`官鬼午火`,hostGuest:`应`},{kin:`兄弟申金`},{kin:`父母丑土`},{kin:`子孙亥水`,hostGuest:`世`},{kin:`兄弟酉金`}],yangCounts:[2,2,1,2,2,2]},{binary:`101000`,id:`地火明夷`,sign:`䷣`,phase:`水`,palace:`坎`,palaceIndex:6,setupInfo:[{kin:`子孙卯木`,hostGuest:`应`},{kin:`官鬼丑土`},{kin:`兄弟亥水`},{kin:`官鬼丑土`,hostGuest:`世`},{kin:`兄弟亥水`},{kin:`父母酉金`}],yangCounts:[1,2,1,2,2,2]},{binary:`011000`,id:`地风升`,sign:`䷭`,phase:`木`,palace:`震`,palaceIndex:4,setupInfo:[{kin:`妻财丑土`,hostGuest:`应`},{kin:`父母亥水`},{kin:`官鬼酉金`},{kin:`妻财丑土`,hostGuest:`世`},{kin:`父母亥水`},{kin:`官鬼酉金`}],yangCounts:[2,1,1,2,2,2]},{binary:`111000`,id:`地天泰`,sign:`䷊`,phase:`土`,palace:`坤`,palaceIndex:3,setupInfo:[{kin:`妻财子水`},{kin:`官鬼寅木`},{kin:`兄弟辰土`,hostGuest:`世`},{kin:`兄弟丑土`},{kin:`妻财亥水`},{kin:`子孙酉金`,hostGuest:`应`}],yangCounts:[1,1,1,2,2,2]},{binary:`000100`,id:`雷地豫`,sign:`䷏`,phase:`木`,palace:`震`,palaceIndex:1,setupInfo:[{kin:`妻财未土`,hostGuest:`世`},{kin:`子孙巳火`},{kin:`兄弟卯木`},{kin:`子孙午火`,hostGuest:`应`},{kin:`官鬼申金`},{kin:`妻财戌土`}],yangCounts:[2,2,2,1,2,2]},{binary:`100100`,id:`震为雷`,sign:`䷲`,phase:`木`,palace:`震`,palaceIndex:0,setupInfo:[{kin:`父母子水`},{kin:`兄弟寅木`},{kin:`妻财辰土`,hostGuest:`应`},{kin:`子孙午火`},{kin:`官鬼申金`},{kin:`妻财戌土`,hostGuest:`世`}],yangCounts:[1,2,2,1,2,2]},{binary:`010100`,id:`雷水解`,sign:`䷧`,phase:`木`,palace:`震`,palaceIndex:2,setupInfo:[{kin:`兄弟寅木`},{kin:`妻财辰土`,hostGuest:`世`},{kin:`子孙午火`},{kin:`子孙午火`},{kin:`官鬼申金`,hostGuest:`应`},{kin:`妻财戌土`}],yangCounts:[2,1,2,1,2,2]},{binary:`110100`,id:`雷泽归妹`,sign:`䷵`,phase:`金`,palace:`兑`,palaceIndex:7,setupInfo:[{kin:`官鬼巳火`},{kin:`妻财卯木`},{kin:`父母丑土`,hostGuest:`世`},{kin:`官鬼午火`},{kin:`兄弟申金`},{kin:`父母戌土`,hostGuest:`应`}],yangCounts:[1,1,2,1,2,2]},{binary:`001100`,id:`雷山小过`,sign:`䷽`,phase:`金`,palace:`兑`,palaceIndex:6,setupInfo:[{kin:`父母辰土`,hostGuest:`应`},{kin:`官鬼午火`},{kin:`兄弟申金`},{kin:`官鬼午火`,hostGuest:`世`},{kin:`兄弟申金`},{kin:`父母戌土`}],yangCounts:[2,2,1,1,2,2]},{binary:`101100`,id:`雷火丰`,sign:`䷶`,phase:`水`,palace:`坎`,palaceIndex:5,setupInfo:[{kin:`子孙卯木`},{kin:`官鬼丑土`,hostGuest:`应`},{kin:`兄弟亥水`},{kin:`妻财午火`},{kin:`父母申金`,hostGuest:`世`},{kin:`官鬼戌土`}],yangCounts:[1,2,1,1,2,2]},{binary:`011100`,id:`雷风恒`,sign:`䷟`,phase:`木`,palace:`震`,palaceIndex:3,setupInfo:[{kin:`妻财丑土`},{kin:`父母亥水`},{kin:`官鬼酉金`,hostGuest:`世`},{kin:`子孙午火`},{kin:`官鬼申金`},{kin:`妻财戌土`,hostGuest:`应`}],yangCounts:[2,1,1,1,2,2]},{binary:`111100`,id:`雷天大壮`,sign:`䷡`,phase:`土`,palace:`坤`,palaceIndex:4,setupInfo:[{kin:`妻财子水`,hostGuest:`应`},{kin:`官鬼寅木`},{kin:`兄弟辰土`},{kin:`父母午火`,hostGuest:`世`},{kin:`子孙申金`},{kin:`兄弟戌土`}],yangCounts:[1,1,1,1,2,2]},{binary:`000010`,id:`水地比`,sign:`䷇`,phase:`土`,palace:`坤`,palaceIndex:7,setupInfo:[{kin:`兄弟未土`},{kin:`父母巳火`},{kin:`官鬼卯木`,hostGuest:`世`},{kin:`子孙申金`},{kin:`兄弟戌土`},{kin:`妻财子水`,hostGuest:`应`}],yangCounts:[2,2,2,2,1,2]},{binary:`100010`,id:`水雷屯`,sign:`䷂`,phase:`水`,palace:`坎`,palaceIndex:2,setupInfo:[{kin:`兄弟子水`},{kin:`子孙寅木`,hostGuest:`世`},{kin:`官鬼辰土`},{kin:`父母申金`},{kin:`官鬼戌土`,hostGuest:`应`},{kin:`兄弟子水`}],yangCounts:[1,2,2,2,1,2]},{binary:`010010`,id:`坎为水`,sign:`䷜`,phase:`水`,palace:`坎`,palaceIndex:0,setupInfo:[{kin:`子孙寅木`},{kin:`官鬼辰土`},{kin:`妻财午火`,hostGuest:`应`},{kin:`父母申金`},{kin:`官鬼戌土`},{kin:`兄弟子水`,hostGuest:`世`}],yangCounts:[2,1,2,2,1,2]},{binary:`110010`,id:`水泽节`,sign:`䷻`,phase:`水`,palace:`坎`,palaceIndex:1,setupInfo:[{kin:`妻财巳火`,hostGuest:`世`},{kin:`子孙卯木`},{kin:`官鬼丑土`},{kin:`父母申金`,hostGuest:`应`},{kin:`官鬼戌土`},{kin:`兄弟子水`}],yangCounts:[1,1,2,2,1,2]},{binary:`001010`,id:`水山蹇`,sign:`䷦`,phase:`金`,palace:`兑`,palaceIndex:4,setupInfo:[{kin:`父母辰土`,hostGuest:`应`},{kin:`官鬼午火`},{kin:`兄弟申金`},{kin:`兄弟申金`,hostGuest:`世`},{kin:`父母戌土`},{kin:`子孙子水`}],yangCounts:[2,2,1,2,1,2]},{binary:`101010`,id:`水火既济`,sign:`䷾`,phase:`水`,palace:`坎`,palaceIndex:3,setupInfo:[{kin:`子孙卯木`},{kin:`官鬼丑土`},{kin:`兄弟亥水`,hostGuest:`世`},{kin:`父母申金`},{kin:`官鬼戌土`},{kin:`兄弟子水`,hostGuest:`应`}],yangCounts:[1,2,1,2,1,2]},{binary:`011010`,id:`水风井`,sign:`䷯`,phase:`木`,palace:`震`,palaceIndex:5,setupInfo:[{kin:`妻财丑土`},{kin:`父母亥水`,hostGuest:`应`},{kin:`官鬼酉金`},{kin:`官鬼申金`},{kin:`妻财戌土`,hostGuest:`世`},{kin:`父母子水`}],yangCounts:[2,1,1,2,1,2]},{binary:`111010`,id:`水天需`,sign:`䷄`,phase:`土`,palace:`坤`,palaceIndex:6,setupInfo:[{kin:`妻财子水`,hostGuest:`应`},{kin:`官鬼寅木`},{kin:`兄弟辰土`},{kin:`子孙申金`,hostGuest:`世`},{kin:`兄弟戌土`},{kin:`妻财子水`}],yangCounts:[1,1,1,2,1,2]},{binary:`000110`,id:`泽地萃`,sign:`䷬`,phase:`金`,palace:`兑`,palaceIndex:2,setupInfo:[{kin:`父母未土`},{kin:`官鬼巳火`,hostGuest:`世`},{kin:`妻财卯木`},{kin:`子孙亥水`},{kin:`兄弟酉金`,hostGuest:`应`},{kin:`父母未土`}],yangCounts:[2,2,2,1,1,2]},{binary:`100110`,id:`泽雷随`,sign:`䷐`,phase:`木`,palace:`震`,palaceIndex:7,setupInfo:[{kin:`父母子水`},{kin:`兄弟寅木`},{kin:`妻财辰土`,hostGuest:`世`},{kin:`父母亥水`},{kin:`官鬼酉金`},{kin:`妻财未土`,hostGuest:`应`}],yangCounts:[1,2,2,1,1,2]},{binary:`010110`,id:`泽水困`,sign:`䷮`,phase:`金`,palace:`兑`,palaceIndex:1,setupInfo:[{kin:`妻财卯木`,hostGuest:`世`},{kin:`父母辰土`},{kin:`官鬼午火`},{kin:`子孙亥水`,hostGuest:`应`},{kin:`兄弟酉金`},{kin:`父母未土`}],yangCounts:[2,1,2,1,1,2]},{binary:`110110`,id:`兑为泽`,sign:`䷹`,phase:`金`,palace:`兑`,palaceIndex:0,setupInfo:[{kin:`官鬼巳火`},{kin:`妻财卯木`},{kin:`父母丑土`,hostGuest:`应`},{kin:`子孙亥水`},{kin:`兄弟酉金`},{kin:`父母未土`,hostGuest:`世`}],yangCounts:[1,1,2,1,1,2]},{binary:`001110`,id:`泽山咸`,sign:`䷞`,phase:`金`,palace:`兑`,palaceIndex:3,setupInfo:[{kin:`父母辰土`},{kin:`官鬼午火`},{kin:`兄弟申金`,hostGuest:`世`},{kin:`子孙亥水`},{kin:`兄弟酉金`},{kin:`父母未土`,hostGuest:`应`}],yangCounts:[2,2,1,1,1,2]},{binary:`101110`,id:`泽火革`,sign:`䷰`,phase:`水`,palace:`坎`,palaceIndex:4,setupInfo:[{kin:`子孙卯木`,hostGuest:`应`},{kin:`官鬼丑土`},{kin:`兄弟亥水`},{kin:`兄弟亥水`,hostGuest:`世`},{kin:`父母酉金`},{kin:`官鬼未土`}],yangCounts:[1,2,1,1,1,2]},{binary:`011110`,id:`泽风大过`,sign:`䷛`,phase:`木`,palace:`震`,palaceIndex:6,setupInfo:[{kin:`妻财丑土`,hostGuest:`应`},{kin:`父母亥水`},{kin:`官鬼酉金`},{kin:`父母亥水`,hostGuest:`世`},{kin:`官鬼酉金`},{kin:`妻财未土`}],yangCounts:[2,1,1,1,1,2]},{binary:`111110`,id:`泽天夬`,sign:`䷪`,phase:`土`,palace:`坤`,palaceIndex:5,setupInfo:[{kin:`妻财子水`},{kin:`官鬼寅木`,hostGuest:`应`},{kin:`兄弟辰土`},{kin:`妻财亥水`},{kin:`子孙酉金`,hostGuest:`世`},{kin:`兄弟未土`}],yangCounts:[1,1,1,1,1,2]},{binary:`000001`,id:`山地剥`,sign:`䷖`,phase:`金`,palace:`乾`,palaceIndex:5,setupInfo:[{kin:`父母未土`},{kin:`官鬼巳火`,hostGuest:`应`},{kin:`妻财卯木`},{kin:`父母戌土`},{kin:`子孙子水`,hostGuest:`世`},{kin:`妻财卯木`}],yangCounts:[2,2,2,2,2,1]},{binary:`100001`,id:`山雷颐`,sign:`䷚`,phase:`木`,palace:`巽`,palaceIndex:6,setupInfo:[{kin:`父母子水`,hostGuest:`应`},{kin:`兄弟寅木`},{kin:`妻财辰土`},{kin:`妻财戌土`,hostGuest:`世`},{kin:`父母子水`},{kin:`兄弟寅木`}],yangCounts:[1,2,2,2,2,1]},{binary:`010001`,id:`山水蒙`,sign:`䷃`,phase:`火`,palace:`离`,palaceIndex:4,setupInfo:[{kin:`父母寅木`,hostGuest:`应`},{kin:`子孙辰土`},{kin:`兄弟午火`},{kin:`子孙戌土`,hostGuest:`世`},{kin:`官鬼子水`},{kin:`父母寅木`}],yangCounts:[2,1,2,2,2,1]},{binary:`110001`,id:`山泽损`,sign:`䷨`,phase:`土`,palace:`艮`,palaceIndex:3,setupInfo:[{kin:`父母巳火`},{kin:`官鬼卯木`},{kin:`兄弟丑土`,hostGuest:`世`},{kin:`兄弟戌土`},{kin:`妻财子水`},{kin:`官鬼寅木`,hostGuest:`应`}],yangCounts:[1,1,2,2,2,1]},{binary:`001001`,id:`艮为山`,sign:`䷳`,phase:`土`,palace:`艮`,palaceIndex:0,setupInfo:[{kin:`兄弟辰土`},{kin:`父母午火`},{kin:`子孙申金`,hostGuest:`应`},{kin:`兄弟戌土`},{kin:`妻财子水`},{kin:`官鬼寅木`,hostGuest:`世`}],yangCounts:[2,2,1,2,2,1]},{binary:`101001`,id:`山火贲`,sign:`䷕`,phase:`土`,palace:`艮`,palaceIndex:1,setupInfo:[{kin:`官鬼卯木`,hostGuest:`世`},{kin:`兄弟丑土`},{kin:`妻财亥水`},{kin:`兄弟戌土`,hostGuest:`应`},{kin:`妻财子水`},{kin:`官鬼寅木`}],yangCounts:[1,2,1,2,2,1]},{binary:`011001`,id:`山风蛊`,sign:`䷑`,phase:`木`,palace:`巽`,palaceIndex:7,setupInfo:[{kin:`妻财丑土`},{kin:`父母亥水`},{kin:`官鬼酉金`,hostGuest:`世`},{kin:`妻财戌土`},{kin:`父母子水`},{kin:`兄弟寅木`,hostGuest:`应`}],yangCounts:[2,1,1,2,2,1]},{binary:`111001`,id:`山天大畜`,sign:`䷙`,phase:`土`,palace:`艮`,palaceIndex:2,setupInfo:[{kin:`妻财子水`},{kin:`官鬼寅木`,hostGuest:`世`},{kin:`兄弟辰土`},{kin:`兄弟戌土`},{kin:`妻财子水`,hostGuest:`应`},{kin:`官鬼寅木`}],yangCounts:[1,1,1,2,2,1]},{binary:`000101`,id:`火地晋`,sign:`䷢`,phase:`金`,palace:`乾`,palaceIndex:6,setupInfo:[{kin:`父母未土`,hostGuest:`应`},{kin:`官鬼巳火`},{kin:`妻财卯木`},{kin:`兄弟酉金`,hostGuest:`世`},{kin:`父母未土`},{kin:`官鬼巳火`}],yangCounts:[2,2,2,1,2,1]},{binary:`100101`,id:`火雷噬嗑`,sign:`䷔`,phase:`木`,palace:`巽`,palaceIndex:5,setupInfo:[{kin:`父母子水`},{kin:`兄弟寅木`,hostGuest:`应`},{kin:`妻财辰土`},{kin:`官鬼酉金`},{kin:`妻财未土`,hostGuest:`世`},{kin:`子孙巳火`}],yangCounts:[1,2,2,1,2,1]},{binary:`010101`,id:`火水未济`,sign:`䷿`,phase:`火`,palace:`离`,palaceIndex:3,setupInfo:[{kin:`父母寅木`},{kin:`子孙辰土`},{kin:`兄弟午火`,hostGuest:`世`},{kin:`妻财酉金`},{kin:`子孙未土`},{kin:`兄弟巳火`,hostGuest:`应`}],yangCounts:[2,1,2,1,2,1]},{binary:`110101`,id:`火泽睽`,sign:`䷥`,phase:`土`,palace:`艮`,palaceIndex:4,setupInfo:[{kin:`父母巳火`,hostGuest:`应`},{kin:`官鬼卯木`},{kin:`兄弟丑土`},{kin:`子孙酉金`,hostGuest:`世`},{kin:`兄弟未土`},{kin:`父母巳火`}],yangCounts:[1,1,2,1,2,1]},{binary:`001101`,id:`火山旅`,sign:`䷷`,phase:`火`,palace:`离`,palaceIndex:1,setupInfo:[{kin:`子孙辰土`,hostGuest:`世`},{kin:`兄弟午火`},{kin:`妻财申金`},{kin:`妻财酉金`,hostGuest:`应`},{kin:`子孙未土`},{kin:`兄弟巳火`}],yangCounts:[2,2,1,1,2,1]},{binary:`101101`,id:`离为火`,sign:`䷝`,phase:`火`,palace:`离`,palaceIndex:0,setupInfo:[{kin:`父母卯木`},{kin:`子孙丑土`},{kin:`官鬼亥水`,hostGuest:`应`},{kin:`妻财酉金`},{kin:`子孙未土`},{kin:`兄弟巳火`,hostGuest:`世`}],yangCounts:[1,2,1,1,2,1]},{binary:`011101`,id:`火风鼎`,sign:`䷱`,phase:`火`,palace:`离`,palaceIndex:2,setupInfo:[{kin:`子孙丑土`},{kin:`官鬼亥水`,hostGuest:`世`},{kin:`妻财酉金`},{kin:`妻财酉金`},{kin:`子孙未土`,hostGuest:`应`},{kin:`兄弟巳火`}],yangCounts:[2,1,1,1,2,1]},{binary:`111101`,id:`火天大有`,sign:`䷍`,phase:`金`,palace:`乾`,palaceIndex:7,setupInfo:[{kin:`子孙子水`},{kin:`妻财寅木`},{kin:`父母辰土`,hostGuest:`世`},{kin:`兄弟酉金`},{kin:`父母未土`},{kin:`官鬼巳火`,hostGuest:`应`}],yangCounts:[1,1,1,1,2,1]},{binary:`000011`,id:`风地观`,sign:`䷓`,phase:`金`,palace:`乾`,palaceIndex:4,setupInfo:[{kin:`父母未土`,hostGuest:`应`},{kin:`官鬼巳火`},{kin:`妻财卯木`},{kin:`父母未土`,hostGuest:`世`},{kin:`官鬼巳火`},{kin:`妻财卯木`}],yangCounts:[2,2,2,2,1,1]},{binary:`100011`,id:`风雷益`,sign:`䷩`,phase:`木`,palace:`巽`,palaceIndex:3,setupInfo:[{kin:`父母子水`},{kin:`兄弟寅木`},{kin:`妻财辰土`,hostGuest:`世`},{kin:`妻财未土`},{kin:`子孙巳火`},{kin:`兄弟卯木`,hostGuest:`应`}],yangCounts:[1,2,2,2,1,1]},{binary:`010011`,id:`风水涣`,sign:`䷺`,phase:`火`,palace:`离`,palaceIndex:5,setupInfo:[{kin:`父母寅木`},{kin:`子孙辰土`,hostGuest:`应`},{kin:`兄弟午火`},{kin:`子孙未土`},{kin:`兄弟巳火`,hostGuest:`世`},{kin:`父母卯木`}],yangCounts:[2,1,2,2,1,1]},{binary:`110011`,id:`风泽中孚`,sign:`䷼`,phase:`土`,palace:`艮`,palaceIndex:6,setupInfo:[{kin:`父母巳火`,hostGuest:`应`},{kin:`官鬼卯木`},{kin:`兄弟丑土`},{kin:`兄弟未土`,hostGuest:`世`},{kin:`父母巳火`},{kin:`官鬼卯木`}],yangCounts:[1,1,2,2,1,1]},{binary:`001011`,id:`风山渐`,sign:`䷴`,phase:`土`,palace:`艮`,palaceIndex:7,setupInfo:[{kin:`兄弟辰土`},{kin:`父母午火`},{kin:`子孙申金`,hostGuest:`世`},{kin:`兄弟未土`},{kin:`父母巳火`},{kin:`官鬼卯木`,hostGuest:`应`}],yangCounts:[2,2,1,2,1,1]},{binary:`101011`,id:`风火家人`,sign:`䷤`,phase:`木`,palace:`巽`,palaceIndex:2,setupInfo:[{kin:`兄弟卯木`},{kin:`妻财丑土`,hostGuest:`世`},{kin:`父母亥水`},{kin:`妻财未土`},{kin:`子孙巳火`,hostGuest:`应`},{kin:`兄弟卯木`}],yangCounts:[1,2,1,2,1,1]},{binary:`011011`,id:`巽为风`,sign:`䷸`,phase:`木`,palace:`巽`,palaceIndex:0,setupInfo:[{kin:`妻财丑土`},{kin:`父母亥水`},{kin:`官鬼酉金`,hostGuest:`应`},{kin:`妻财未土`},{kin:`子孙巳火`},{kin:`兄弟卯木`,hostGuest:`世`}],yangCounts:[2,1,1,2,1,1]},{binary:`111011`,id:`风天小畜`,sign:`䷈`,phase:`木`,palace:`巽`,palaceIndex:1,setupInfo:[{kin:`父母子水`,hostGuest:`世`},{kin:`兄弟寅木`},{kin:`妻财辰土`},{kin:`妻财未土`,hostGuest:`应`},{kin:`子孙巳火`},{kin:`兄弟卯木`}],yangCounts:[1,1,1,2,1,1]},{binary:`000111`,id:`天地否`,sign:`䷋`,phase:`金`,palace:`乾`,palaceIndex:3,setupInfo:[{kin:`父母未土`},{kin:`官鬼巳火`},{kin:`妻财卯木`,hostGuest:`世`},{kin:`官鬼午火`},{kin:`兄弟申金`},{kin:`父母戌土`,hostGuest:`应`}],yangCounts:[2,2,2,1,1,1]},{binary:`100111`,id:`天雷无妄`,sign:`䷘`,phase:`木`,palace:`巽`,palaceIndex:4,setupInfo:[{kin:`父母子水`,hostGuest:`应`},{kin:`兄弟寅木`},{kin:`妻财辰土`},{kin:`子孙午火`,hostGuest:`世`},{kin:`官鬼申金`},{kin:`妻财戌土`}],yangCounts:[1,2,2,1,1,1]},{binary:`010111`,id:`天水讼`,sign:`䷅`,phase:`火`,palace:`离`,palaceIndex:6,setupInfo:[{kin:`父母寅木`,hostGuest:`应`},{kin:`子孙辰土`},{kin:`兄弟午火`},{kin:`兄弟午火`,hostGuest:`世`},{kin:`妻财申金`},{kin:`子孙戌土`}],yangCounts:[2,1,2,1,1,1]},{binary:`110111`,id:`天泽履`,sign:`䷉`,phase:`土`,palace:`艮`,palaceIndex:5,setupInfo:[{kin:`父母巳火`},{kin:`官鬼卯木`,hostGuest:`应`},{kin:`兄弟丑土`},{kin:`父母午火`},{kin:`子孙申金`,hostGuest:`世`},{kin:`兄弟戌土`}],yangCounts:[1,1,2,1,1,1]},{binary:`001111`,id:`天山遁`,sign:`䷠`,phase:`金`,palace:`乾`,palaceIndex:2,setupInfo:[{kin:`父母辰土`},{kin:`官鬼午火`,hostGuest:`世`},{kin:`兄弟申金`},{kin:`官鬼午火`},{kin:`兄弟申金`,hostGuest:`应`},{kin:`父母戌土`}],yangCounts:[2,2,1,1,1,1]},{binary:`101111`,id:`天火同人`,sign:`䷌`,phase:`火`,palace:`离`,palaceIndex:7,setupInfo:[{kin:`父母寅木`},{kin:`子孙辰土`},{kin:`兄弟午火`,hostGuest:`世`},{kin:`子孙未土`},{kin:`父母巳火`},{kin:`子孙戌土`,hostGuest:`应`}],yangCounts:[1,2,1,1,1,1]},{binary:`011111`,id:`天风姤`,sign:`䷫`,phase:`金`,palace:`乾`,palaceIndex:1,setupInfo:[{kin:`父母丑土`,hostGuest:`世`},{kin:`子孙亥水`},{kin:`兄弟酉金`},{kin:`官鬼午火`,hostGuest:`应`},{kin:`兄弟申金`},{kin:`父母戌土`}],yangCounts:[2,1,1,1,1,1]},{binary:`111111`,id:`乾为天`,sign:`䷀`,phase:`金`,palace:`乾`,palaceIndex:0,setupInfo:[{kin:`子孙子水`},{kin:`妻财寅木`},{kin:`父母辰土`,hostGuest:`应`},{kin:`官鬼午火`},{kin:`兄弟申金`},{kin:`父母戌土`,hostGuest:`世`}],yangCounts:[1,1,1,1,1,1]}]),m=Object.freeze([{id:`坤`,binary:`000`,yangCount:0,represents:`地`,nameEn:`kun`,representsEn:`earth`,sign:`☷`},{id:`震`,binary:`100`,yangCount:1,represents:`雷`,nameEn:`zhen`,representsEn:`thunder`,sign:`☳`},{id:`坎`,binary:`010`,yangCount:1,represents:`水`,nameEn:`kan`,representsEn:`water`,sign:`☵`},{id:`兑`,binary:`110`,yangCount:2,represents:`泽`,nameEn:`dui`,representsEn:`lake`,sign:`☱`},{id:`艮`,binary:`001`,yangCount:1,represents:`山`,nameEn:`gen`,representsEn:`mountain`,sign:`☶`},{id:`离`,binary:`101`,yangCount:2,represents:`火`,nameEn:`li`,representsEn:`fire`,sign:`☲`},{id:`巽`,binary:`011`,yangCount:2,represents:`风`,nameEn:`xun`,representsEn:`wind`,sign:`☴`},{id:`乾`,binary:`111`,yangCount:3,represents:`天`,nameEn:`qian`,representsEn:`heaven`,sign:`☰`}]),h=[`老阴`,`少阳`,`少阴`,`老阳`],g=`交单拆重`,_=`×’”○`,v=[1,1,2,2],y=[0,1,0,1];function b(e){if(e!==0&&e!==1&&e!==2&&e!==3)throw Error(`Count of yang must be 0, 1, 2 or 3`)}var x=class e{static getName(e){return h[e]}static fromSymbol(t){let n=_.indexOf(t);return n===-1?null:new e(n)}static fromSymbolName(t){let n=g.indexOf(t);return n===-1?null:new e(n)}static fromName(t){let n=h.indexOf(t);return n===-1?null:new e(n)}static fromDigitString(t){let n=`0123`.indexOf(t);return n===-1?null:new e(n)}static fromTrigramField(t){let n=m.find(e=>e.id===t||e.yangCount===t||e.binary===t||e.nameEn===t||e.represents===t||e.representsEn===t||e.sign===t);return n?new e(n.yangCount):null}_yangCount;get yangCount(){return this._yangCount}get polar(){return y[this.yangCount]}get isDynamic(){return this.yangCount===0||this.yangCount===3}isChanged;get symbol(){return _[this.yangCount]}get symbolName(){return g[this.yangCount]}get name(){return h[this.yangCount]}constructor(e,t=!1){b(e),this._yangCount=e,this.isChanged=t}set(e){b(e),this._yangCount=e}clone(){return new e(this.yangCount,this.isChanged)}toChanged(){return this.isDynamic?new e(v[this.yangCount],!0):new e(this.yangCount,!1)}};const S=[`初爻`,`二爻`,`三爻`,`四爻`,`五爻`,`上爻`];var C=class e{static fromQuaternary(t){let n=t.split(``).map(x.fromDigitString);return n.every(e=>e!==null)?new e(n):null}static fromSymbolName(t){let n=t.split(``).map(x.fromSymbolName);return n.every(e=>e!==null)?new e(n):null}static fromYangCounts(t){try{return new e(t.map(e=>new x(e)))}catch{return null}}static fromId(t){let n=p.find(e=>e.id===t||e.id.slice(2)===t||e.id.startsWith(t)&&t.length>1);return n?e.fromYangCounts(n.yangCounts):null}static fromPalace(t){let n=p.find(e=>e.id[2]===t);return n?e.fromYangCounts(n.yangCounts):null}yaos;get info(){return p.find(e=>e.binary===this.yaos.map(e=>e.polar).join(``))}get palace(){let e=this.info;return`${e.palace}宫(${e.phase})${f[e.palaceIndex].name}`}get isDynamic(){return this.yaos.some(e=>e.isDynamic||e.isChanged)}get isChanged(){return this.yaos.some(e=>e.isChanged)}get dynamicOuter(){return this.yaos.slice(3).some(e=>e.isDynamic||e.isChanged)}get dynamicInner(){return this.yaos.slice(0,3).some(e=>e.isDynamic||e.isChanged)}constructor(e){if(e.length!==6)throw Error(`Array length mismatch, A Hexagram must be constructed with exactly 6 Yaos or 6 counts of yang`);if(e.every(e=>e instanceof x))this.yaos=e.map(e=>e.clone());else throw Error(`Invalid Arguments, Hexagram must be constructed with exactly 6 Yaos or 6 counts of yang`)}setYao(e,t){this.yaos[e].set(t)}toChanged(){if(!this.isDynamic)return null;if(this.isChanged)throw Error(`已经是变卦了,无法再变`);return new e(this.yaos.map(e=>e.toChanged()))}toDescription(){let e=this.info.setupInfo.findIndex(e=>e.hostGuest===`世`),t=this.info.setupInfo.findIndex(e=>e.hostGuest===`应`),n=[`本卦${this.info.id}`,`世爻为${S[e]}`,`应爻为${S[t]}`],r=this.toChanged();if(r){n.push(`${this.yaos.map((e,t)=>e.isDynamic?`${S[t]}`:null).filter(e=>e!==null).join(`、`)}是动爻`),n.push(`变卦为${r.info.id}`);let e=r.info.setupInfo.findIndex(e=>e.hostGuest===`世`);this.yaos[e].isDynamic?n.push(`变卦世爻为${S[e]}`):n.push(`未变出新的世爻`);let t=r.info.setupInfo.findIndex(e=>e.hostGuest===`应`);this.yaos[t].isDynamic?n.push(`变卦应爻为${S[t]}`):n.push(`未变出新的应爻`)}else n.push(`无动爻`);return n.join(`,`)}toAIReadable(){let e=this.info.setupInfo,t=this.toChanged(),n=t?.info.setupInfo,r=[];if(n){let e=this.yaos.map((e,t)=>e.isDynamic?t:null).filter(e=>e!==null);n.forEach((n,i)=>{e.includes(i)&&(n.hostGuest===`世`&&r.push(`新世爻为${t.info.id}的${S[i]}`),n.hostGuest===`应`&&r.push(`新应爻为${t.info.id}的${S[i]}`))})}else r.push(`没有新的世应爻出现,世应不变`);let i=(e,t,n)=>{let r={爻:this.yaos[n].name,六亲:t[n].kin,类型:t[n].hostGuest};return r.类型||delete r.类型,r};return{本卦:{上爻:i(this.yaos,e,5),五爻:i(this.yaos,e,4),四爻:i(this.yaos,e,3),三爻:i(this.yaos,e,2),二爻:i(this.yaos,e,1),初爻:i(this.yaos,e,0),卦名:this.info.id,宫:this.palace,变爻:this.isDynamic?this.yaos.map((e,t)=>e.isDynamic?S[t]:null).filter(e=>e!==null):void 0},变卦:n?{上爻:i(t.yaos,n,5),五爻:i(t.yaos,n,4),四爻:i(t.yaos,n,3),三爻:i(t.yaos,n,2),二爻:i(t.yaos,n,1),初爻:i(t.yaos,n,0),卦名:t.info.id,宫:t.palace}:`无`,世应变化:r.join(`,`)}}clone(){return new e(this.yaos)}toString(){return this.info.id}[Symbol.toPrimitive](){return this.info.id}};const w=Object.freeze([{heavenlyStem:`甲`,gods:[`青龙`,`朱雀`,`勾陈`,`螣蛇`,`白虎`,`玄武`]},{heavenlyStem:`乙`,gods:[`青龙`,`朱雀`,`勾陈`,`螣蛇`,`白虎`,`玄武`]},{heavenlyStem:`丙`,gods:[`朱雀`,`勾陈`,`螣蛇`,`白虎`,`玄武`,`青龙`]},{heavenlyStem:`丁`,gods:[`朱雀`,`勾陈`,`螣蛇`,`白虎`,`玄武`,`青龙`]},{heavenlyStem:`戊`,gods:[`勾陈`,`螣蛇`,`白虎`,`玄武`,`青龙`,`朱雀`]},{heavenlyStem:`己`,gods:[`螣蛇`,`白虎`,`玄武`,`青龙`,`朱雀`,`勾陈`]},{heavenlyStem:`庚`,gods:[`白虎`,`玄武`,`青龙`,`朱雀`,`勾陈`,`螣蛇`]},{heavenlyStem:`辛`,gods:[`白虎`,`玄武`,`青龙`,`朱雀`,`勾陈`,`螣蛇`]},{heavenlyStem:`壬`,gods:[`玄武`,`青龙`,`朱雀`,`勾陈`,`螣蛇`,`白虎`]},{heavenlyStem:`癸`,gods:[`玄武`,`青龙`,`朱雀`,`勾陈`,`螣蛇`,`白虎`]}]);function T(){let e=process.argv[2];if(!e)return null;let t=e.split(``).map(x.fromTrigramField);return t.every(e=>e!==null)&&t.length>=6?new C(t):C.fromQuaternary(e)||C.fromId(e)||C.fromSymbolName(e)}function E(e){return`子丑丑寅寅卯卯辰辰巳巳午午未未申申酉酉戌戌亥亥子`[e.getHours()]??`未知`}function D(){let e=process.argv[3],t=new Date(e);if(Number.isNaN(t.getTime()))return null;let n=d.solar2lunar(t.getFullYear(),t.getMonth()+1,t.getDate());if(n===-1)return null;let r=w.find(e=>e.heavenlyStem===n.gzDay[0]).gods;return{年:n.gzYear,月:n.gzMonth,日:n.gzDay,时:E(t),六神顺序:{上爻:r[5],五爻:r[4],四爻:r[3],三爻:r[2],二爻:r[1],初爻:r[0]}}}console.log(JSON.stringify({version:`0.4.4`,卦象:T()?.toAIReadable(),时辰:D()},null,2));export{};
1
+ var e=[19416,19168,42352,21717,53856,55632,91476,22176,39632,21970,19168,42422,42192,53840,119381,46400,54944,44450,38320,84343,18800,42160,46261,27216,27968,109396,11104,38256,21234,18800,25958,54432,59984,28309,23248,11104,100067,37600,116951,51536,54432,120998,46416,22176,107956,9680,37584,53938,43344,46423,27808,46416,86869,19872,42416,83315,21168,43432,59728,27296,44710,43856,19296,43748,42352,21088,62051,55632,23383,22176,38608,19925,19152,42192,54484,53840,54616,46400,46752,103846,38320,18864,43380,42160,45690,27216,27968,44870,43872,38256,19189,18800,25776,29859,59984,27480,23232,43872,38613,37600,51552,55636,54432,55888,30034,22176,43959,9680,37584,51893,43344,46240,47780,44368,21977,19360,42416,86390,21168,43312,31060,27296,44368,23378,19296,42726,42208,53856,60005,54576,23200,30371,38608,19195,19152,42192,118966,53840,54560,56645,46496,22224,21938,18864,42359,42160,43600,111189,27936,44448,84835,37744,18936,18800,25776,92326,59984,27424,108228,43744,37600,53987,51552,54615,54432,55888,23893,22176,42704,21972,21200,43448,43344,46240,46758,44368,21920,43940,42416,21168,45683,26928,29495,27296,44368,84821,19296,42352,21732,53600,59752,54560,55968,92838,22224,19168,43476,42192,53584,62034,54560],t=[31,28,31,30,31,30,31,31,30,31,30,31],n=[`甲`,`乙`,`丙`,`丁`,`戊`,`己`,`庚`,`辛`,`壬`,`癸`],r=[`子`,`丑`,`寅`,`卯`,`辰`,`巳`,`午`,`未`,`申`,`酉`,`戌`,`亥`],i=[`鼠`,`牛`,`虎`,`兔`,`龙`,`蛇`,`马`,`羊`,`猴`,`鸡`,`狗`,`猪`],a=[`小寒`,`大寒`,`立春`,`雨水`,`惊蛰`,`春分`,`清明`,`谷雨`,`立夏`,`小满`,`芒种`,`夏至`,`小暑`,`大暑`,`立秋`,`处暑`,`白露`,`秋分`,`寒露`,`霜降`,`立冬`,`小雪`,`大雪`,`冬至`],o=`9778397bd097c36b0b6fc9274c91aa.97b6b97bd19801ec9210c965cc920e.97bcf97c3598082c95f8c965cc920f.97bd0b06bdb0722c965ce1cfcc920f.b027097bd097c36b0b6fc9274c91aa.97b6b97bd19801ec9210c965cc920e.97bcf97c359801ec95f8c965cc920f.97bd0b06bdb0722c965ce1cfcc920f.b027097bd097c36b0b6fc9274c91aa.97b6b97bd19801ec9210c965cc920e.97bcf97c359801ec95f8c965cc920f.97bd0b06bdb0722c965ce1cfcc920f.b027097bd097c36b0b6fc9274c91aa.9778397bd19801ec9210c965cc920e.97b6b97bd19801ec95f8c965cc920f.97bd09801d98082c95f8e1cfcc920f.97bd097bd097c36b0b6fc9210c8dc2.9778397bd197c36c9210c9274c91aa.97b6b97bd19801ec95f8c965cc920e.97bd09801d98082c95f8e1cfcc920f.97bd097bd097c36b0b6fc9210c8dc2.9778397bd097c36c9210c9274c91aa.97b6b97bd19801ec95f8c965cc920e.97bcf97c3598082c95f8e1cfcc920f.97bd097bd097c36b0b6fc9210c8dc2.9778397bd097c36c9210c9274c91aa.97b6b97bd19801ec9210c965cc920e.97bcf97c3598082c95f8c965cc920f.97bd097bd097c35b0b6fc920fb0722.9778397bd097c36b0b6fc9274c91aa.97b6b97bd19801ec9210c965cc920e.97bcf97c3598082c95f8c965cc920f.97bd097bd097c35b0b6fc920fb0722.9778397bd097c36b0b6fc9274c91aa.97b6b97bd19801ec9210c965cc920e.97bcf97c359801ec95f8c965cc920f.97bd097bd097c35b0b6fc920fb0722.9778397bd097c36b0b6fc9274c91aa.97b6b97bd19801ec9210c965cc920e.97bcf97c359801ec95f8c965cc920f.97bd097bd097c35b0b6fc920fb0722.9778397bd097c36b0b6fc9274c91aa.97b6b97bd19801ec9210c965cc920e.97bcf97c359801ec95f8c965cc920f.97bd097bd07f595b0b6fc920fb0722.9778397bd097c36b0b6fc9210c8dc2.9778397bd19801ec9210c9274c920e.97b6b97bd19801ec95f8c965cc920f.97bd07f5307f595b0b0bc920fb0722.7f0e397bd097c36b0b6fc9210c8dc2.9778397bd097c36c9210c9274c920e.97b6b97bd19801ec95f8c965cc920f.97bd07f5307f595b0b0bc920fb0722.7f0e397bd097c36b0b6fc9210c8dc2.9778397bd097c36c9210c9274c91aa.97b6b97bd19801ec9210c965cc920e.97bd07f1487f595b0b0bc920fb0722.7f0e397bd097c36b0b6fc9210c8dc2.9778397bd097c36b0b6fc9274c91aa.97b6b97bd19801ec9210c965cc920e.97bcf7f1487f595b0b0bb0b6fb0722.7f0e397bd097c35b0b6fc920fb0722.9778397bd097c36b0b6fc9274c91aa.97b6b97bd19801ec9210c965cc920e.97bcf7f1487f595b0b0bb0b6fb0722.7f0e397bd097c35b0b6fc920fb0722.9778397bd097c36b0b6fc9274c91aa.97b6b97bd19801ec9210c965cc920e.97bcf7f1487f531b0b0bb0b6fb0722.7f0e397bd097c35b0b6fc920fb0722.9778397bd097c36b0b6fc9274c91aa.97b6b97bd19801ec9210c965cc920e.97bcf7f1487f531b0b0bb0b6fb0722.7f0e397bd07f595b0b6fc920fb0722.9778397bd097c36b0b6fc9274c91aa.97b6b97bd19801ec9210c9274c920e.97bcf7f0e47f531b0b0bb0b6fb0722.7f0e397bd07f595b0b0bc920fb0722.9778397bd097c36b0b6fc9210c91aa.97b6b97bd197c36c9210c9274c920e.97bcf7f0e47f531b0b0bb0b6fb0722.7f0e397bd07f595b0b0bc920fb0722.9778397bd097c36b0b6fc9210c8dc2.9778397bd097c36c9210c9274c920e.97b6b7f0e47f531b0723b0b6fb0722.7f0e37f5307f595b0b0bc920fb0722.7f0e397bd097c36b0b6fc9210c8dc2.9778397bd097c36b0b70c9274c91aa.97b6b7f0e47f531b0723b0b6fb0721.7f0e37f1487f595b0b0bb0b6fb0722.7f0e397bd097c35b0b6fc9210c8dc2.9778397bd097c36b0b6fc9274c91aa.97b6b7f0e47f531b0723b0b6fb0721.7f0e27f1487f595b0b0bb0b6fb0722.7f0e397bd097c35b0b6fc920fb0722.9778397bd097c36b0b6fc9274c91aa.97b6b7f0e47f531b0723b0b6fb0721.7f0e27f1487f531b0b0bb0b6fb0722.7f0e397bd097c35b0b6fc920fb0722.9778397bd097c36b0b6fc9274c91aa.97b6b7f0e47f531b0723b0b6fb0721.7f0e27f1487f531b0b0bb0b6fb0722.7f0e397bd097c35b0b6fc920fb0722.9778397bd097c36b0b6fc9274c91aa.97b6b7f0e47f531b0723b0b6fb0721.7f0e27f1487f531b0b0bb0b6fb0722.7f0e397bd07f595b0b0bc920fb0722.9778397bd097c36b0b6fc9274c91aa.97b6b7f0e47f531b0723b0787b0721.7f0e27f0e47f531b0b0bb0b6fb0722.7f0e397bd07f595b0b0bc920fb0722.9778397bd097c36b0b6fc9210c91aa.97b6b7f0e47f149b0723b0787b0721.7f0e27f0e47f531b0723b0b6fb0722.7f0e397bd07f595b0b0bc920fb0722.9778397bd097c36b0b6fc9210c8dc2.977837f0e37f149b0723b0787b0721.7f07e7f0e47f531b0723b0b6fb0722.7f0e37f5307f595b0b0bc920fb0722.7f0e397bd097c35b0b6fc9210c8dc2.977837f0e37f14998082b0787b0721.7f07e7f0e47f531b0723b0b6fb0721.7f0e37f1487f595b0b0bb0b6fb0722.7f0e397bd097c35b0b6fc9210c8dc2.977837f0e37f14998082b0787b06bd.7f07e7f0e47f531b0723b0b6fb0721.7f0e27f1487f531b0b0bb0b6fb0722.7f0e397bd097c35b0b6fc920fb0722.977837f0e37f14998082b0787b06bd.7f07e7f0e47f531b0723b0b6fb0721.7f0e27f1487f531b0b0bb0b6fb0722.7f0e397bd097c35b0b6fc920fb0722.977837f0e37f14998082b0787b06bd.7f07e7f0e47f531b0723b0b6fb0721.7f0e27f1487f531b0b0bb0b6fb0722.7f0e397bd07f595b0b0bc920fb0722.977837f0e37f14998082b0787b06bd.7f07e7f0e47f531b0723b0b6fb0721.7f0e27f1487f531b0b0bb0b6fb0722.7f0e397bd07f595b0b0bc920fb0722.977837f0e37f14998082b0787b06bd.7f07e7f0e47f149b0723b0787b0721.7f0e27f0e47f531b0b0bb0b6fb0722.7f0e397bd07f595b0b0bc920fb0722.977837f0e37f14998082b0723b06bd.7f07e7f0e37f149b0723b0787b0721.7f0e27f0e47f531b0723b0b6fb0722.7f0e397bd07f595b0b0bc920fb0722.977837f0e37f14898082b0723b02d5.7ec967f0e37f14998082b0787b0721.7f07e7f0e47f531b0723b0b6fb0722.7f0e37f1487f595b0b0bb0b6fb0722.7f0e37f0e37f14898082b0723b02d5.7ec967f0e37f14998082b0787b0721.7f07e7f0e47f531b0723b0b6fb0722.7f0e37f1487f531b0b0bb0b6fb0722.7f0e37f0e37f14898082b0723b02d5.7ec967f0e37f14998082b0787b06bd.7f07e7f0e47f531b0723b0b6fb0721.7f0e37f1487f531b0b0bb0b6fb0722.7f0e37f0e37f14898082b072297c35.7ec967f0e37f14998082b0787b06bd.7f07e7f0e47f531b0723b0b6fb0721.7f0e27f1487f531b0b0bb0b6fb0722.7f0e37f0e37f14898082b072297c35.7ec967f0e37f14998082b0787b06bd.7f07e7f0e47f531b0723b0b6fb0721.7f0e27f1487f531b0b0bb0b6fb0722.7f0e37f0e366aa89801eb072297c35.7ec967f0e37f14998082b0787b06bd.7f07e7f0e47f149b0723b0787b0721.7f0e27f1487f531b0b0bb0b6fb0722.7f0e37f0e366aa89801eb072297c35.7ec967f0e37f14998082b0723b06bd.7f07e7f0e47f149b0723b0787b0721.7f0e27f0e47f531b0723b0b6fb0722.7f0e37f0e366aa89801eb072297c35.7ec967f0e37f14998082b0723b06bd.7f07e7f0e37f14998083b0787b0721.7f0e27f0e47f531b0723b0b6fb0722.7f0e37f0e366aa89801eb072297c35.7ec967f0e37f14898082b0723b02d5.7f07e7f0e37f14998082b0787b0721.7f07e7f0e47f531b0723b0b6fb0722.7f0e36665b66aa89801e9808297c35.665f67f0e37f14898082b0723b02d5.7ec967f0e37f14998082b0787b0721.7f07e7f0e47f531b0723b0b6fb0722.7f0e36665b66a449801e9808297c35.665f67f0e37f14898082b0723b02d5.7ec967f0e37f14998082b0787b06bd.7f07e7f0e47f531b0723b0b6fb0721.7f0e36665b66a449801e9808297c35.665f67f0e37f14898082b072297c35.7ec967f0e37f14998082b0787b06bd.7f07e7f0e47f531b0723b0b6fb0721.7f0e26665b66a449801e9808297c35.665f67f0e37f1489801eb072297c35.7ec967f0e37f14998082b0787b06bd.7f07e7f0e47f531b0723b0b6fb0721.7f0e27f1487f531b0b0bb0b6fb0722`.split(`.`),s=[`日`,`一`,`二`,`三`,`四`,`五`,`六`,`七`,`八`,`九`,`十`],c=[`初`,`十`,`廿`,`卅`],l=[`正`,`二`,`三`,`四`,`五`,`六`,`七`,`八`,`九`,`十`,`冬`,`腊`],u=[`零`,`一`,`二`,`三`,`四`,`五`,`六`,`七`,`八`,`九`,`十`];const d={lunarInfo:e,solarMonth:t,gan:n,zhi:r,animals:i,lunarTerm:a,lTermInfo:o,nStr1:s,nStr2:c,nStr3:l,nStr4:u,lYearDays(t){let n=348,r=e[t-1900];return n+=r&32768?1:0,n+=r&16384?1:0,n+=r&8192?1:0,n+=r&4096?1:0,n+=r&2048?1:0,n+=r&1024?1:0,n+=r&512?1:0,n+=r&256?1:0,n+=r&128?1:0,n+=r&64?1:0,n+=r&32?1:0,n+=r&16?1:0,n+d.leapDays(t)},leapMonth(t){return e[t-1900]&15},leapDays(t){return d.leapMonth(t)?e[t-1900]&65536?30:29:0},monthDays(t,n){return n>12||n<1?-1:e[t-1900]&65536>>n?30:29},getShiChen(e,t){let i=(e+1)/2>=24?0:Math.floor((e+1)/2)%12;return n[(t*2+i)%10]+r[i]},solarDays(e,n){if(n>12||n<1)return-1;let r=n-1;return r===1?e%4==0&&e%100!=0||e%400==0?29:28:t[r]},toGanZhi(e){return n[e%10]+r[e%12]},getTerm(e,t){if(e<1900||e>2100||t<1||t>24)return-1;let n=o[e-1900],r=[parseInt(`0x`+n.substr(0,5)).toString(),parseInt(`0x`+n.substr(5,5)).toString(),parseInt(`0x`+n.substr(10,5)).toString(),parseInt(`0x`+n.substr(15,5)).toString(),parseInt(`0x`+n.substr(20,5)).toString(),parseInt(`0x`+n.substr(25,5)).toString()],i=[r[0].substr(0,1),r[0].substr(1,2),r[0].substr(3,1),r[0].substr(4,2),r[1].substr(0,1),r[1].substr(1,2),r[1].substr(3,1),r[1].substr(4,2),r[2].substr(0,1),r[2].substr(1,2),r[2].substr(3,1),r[2].substr(4,2),r[3].substr(0,1),r[3].substr(1,2),r[3].substr(3,1),r[3].substr(4,2),r[4].substr(0,1),r[4].substr(1,2),r[4].substr(3,1),r[4].substr(4,2),r[5].substr(0,1),r[5].substr(1,2),r[5].substr(3,1),r[5].substr(4,2)];return parseInt(i[t-1])},toChinaYear(e){let t=Math.floor(e/1e3),n=Math.floor(e%1e3/100),r=Math.floor(e%100/10),i=e%10;return u[t]+u[n]+u[r]+u[i]+`年`},toChinaMonth(e){if(e>12||e<1)return-1;let t=l[e-1];return t+=`月`,t},toChinaDay(e){let t=``;switch(e){case 10:t=`初十`;break;case 20:t=`二十`;break;case 30:t=`三十`;break;default:t=c[Math.floor(e/10)],t+=s[e%10]}return t},getAnimal(e,t,n){if(t!==void 0&&n!==void 0){let r=d.getTerm(e,3);(t<2||t===2&&n<r)&&--e}return i[(e-4)%12]},solar2lunar(e,t,n){if(e==null||t==null||n==null){let r=new Date;e=r.getFullYear(),t=r.getMonth()+1,n=r.getDate()}if(e=Number(e),t=Number(t),n=Number(n),isNaN(e)||isNaN(t)||isNaN(n)||e<1900||e>2100||e===1900&&t===1&&n<31||t<1||t>12)return-1;let r=d.solarDays(e,t);if(n<1||n>r)return-1;let i=new Date(e,parseInt(t)-1,n),o,c=0;e=i.getFullYear(),t=i.getMonth()+1,n=i.getDate();let l=(Date.UTC(i.getFullYear(),i.getMonth(),i.getDate())-Date.UTC(1900,0,31))/864e5;for(c=0,o=1900;o<2101&&l>0;o++)c=d.lYearDays(o),l-=c;l<0&&(l+=c,o--);let u=o,f=new Date,p=!1;f.getFullYear()===e&&f.getMonth()+1===t&&f.getDate()===n&&(p=!0);let m=i.getDay(),h=s[m],g=m===0?7:m,_=u,v=d.leapMonth(u),y=!1;for(o=1;o<13&&l>0;o++)v>0&&o===v+1&&y===!1?(--o,y=!0,c=d.leapDays(_)):c=d.monthDays(_,o),y===!0&&o===v+1&&(y=!1),l-=c;l===0&&v>0&&o===v+1&&(y?y=!1:(y=!0,--o)),l<0&&(l+=c,--o);let b=o,x=l+1,S=t-1,C=d.getTerm(e,3),w=d.toGanZhi(e-4);(t<2||t===2&&n<C)&&(w=d.toGanZhi(e-1-4));let T=d.getTerm(e,t*2-1),E=d.getTerm(e,t*2),D=d.toGanZhi((e-1900)*12+t+11);n>=T&&(D=d.toGanZhi((e-1900)*12+t+12));let O=!1,k=``;T===n&&(O=!0,k=a[t*2-2]),E===n&&(O=!0,k=a[t*2-1]);let A=Date.UTC(e,S,1,0,0,0,0)/864e5+25567+10,j=d.toGanZhi(A+n-1);return{lYear:_,lMonth:b,lDay:x,animal:d.getAnimal(_),yearCn:d.toChinaYear(_),monthCn:(y&&v===b?`闰`:``)+d.toChinaMonth(b),dayCn:d.toChinaDay(x),cYear:e,cMonth:t,cDay:n,gzYear:w,gzMonth:D,gzDay:j,isToday:p,isLeap:y,nWeek:g,ncWeek:`星期`+h,isTerm:O,term:k}},lunar2solar(e,t,n,r){if(e=Number(e),t=Number(t),n=Number(n),r=!!r,isNaN(e)||isNaN(t)||isNaN(n))return-1;let i=d.leapMonth(e);if(r&&i!==t||e===2100&&t===12&&n>1||e===1900&&t===1&&n<31)return-1;let a=d.monthDays(e,t);if(e<1900||e>2100||n>a)return-1;let o=0;for(let t=1900;t<e;t++)o+=d.lYearDays(t);let s=0,c=!1;for(let n=1;n<t;n++)s=d.leapMonth(e),c||s<=n&&s>0&&(o+=d.leapDays(e),c=!0),o+=d.monthDays(e,n);r&&(o+=a);let l=Date.UTC(1900,1,30,0,0,0),u=new Date((o+n-31)*864e5+l),f=u.getUTCFullYear(),p=u.getUTCMonth()+1,m=u.getUTCDate();return d.solar2lunar(f,p,m)},getFestivals(e,t,n){let r=[],i=d.solar2lunar(e,t,n);if(i===-1)return r;let{lMonth:a,lDay:o}=i,s={"1-1":`春节`,"1-15":`元宵节`,"5-5":`端午节`,"7-7":`七夕节`,"8-15":`中秋节`,"9-9":`重阳节`,"12-8":`腊八节`,"12-23":`小年`},c=`${a}-${o}`;return s[c]&&r.push(s[c]),a===1&&o===1&&r.push(`农历新年`),d.customFestivals&&d.customFestivals.forEach(e=>{e.month===a&&e.day===o&&r.push(e.name)}),r},addFestival(e,t,n){d.customFestivals||=[],d.customFestivals.push({name:e,month:t,day:n})},clearFestivals(){d.customFestivals=[]}},f=[{name:`本宫卦`,nameEn:`Original Palace`},{name:`一世卦`,nameEn:`First Generation`},{name:`二世卦`,nameEn:`Second Generation`},{name:`三世卦`,nameEn:`Third Generation`},{name:`四世卦`,nameEn:`Fourth Generation`},{name:`五世卦`,nameEn:`Fifth Generation`},{name:`游魂卦`,nameEn:`Wandering Soul`},{name:`归魂卦`,nameEn:`Returning Soul`}],p=Object.freeze([{binary:`000000`,id:`坤为地`,sign:`䷁`,phase:`土`,palace:`坤`,palaceIndex:0,setupInfo:[{kin:`兄弟未土`},{kin:`父母巳火`},{kin:`官鬼卯木`,hostGuest:`应`},{kin:`兄弟丑土`},{kin:`妻财亥水`},{kin:`子孙酉金`,hostGuest:`世`}],yangCounts:[2,2,2,2,2,2]},{binary:`100000`,id:`地雷复`,sign:`䷗`,phase:`土`,palace:`坤`,palaceIndex:1,setupInfo:[{kin:`妻财子水`,hostGuest:`世`},{kin:`官鬼寅木`},{kin:`兄弟辰土`},{kin:`兄弟丑土`,hostGuest:`应`},{kin:`妻财亥水`},{kin:`子孙酉金`}],yangCounts:[1,2,2,2,2,2]},{binary:`010000`,id:`地水师`,sign:`䷆`,phase:`水`,palace:`坎`,palaceIndex:7,setupInfo:[{kin:`子孙寅木`},{kin:`官鬼辰土`},{kin:`妻财午火`,hostGuest:`世`},{kin:`官鬼丑土`},{kin:`兄弟亥水`},{kin:`父母酉金`,hostGuest:`应`}],yangCounts:[2,1,2,2,2,2]},{binary:`110000`,id:`地泽临`,sign:`䷒`,phase:`土`,palace:`坤`,palaceIndex:2,setupInfo:[{kin:`父母巳火`},{kin:`官鬼卯木`,hostGuest:`世`},{kin:`兄弟丑土`},{kin:`兄弟丑土`},{kin:`妻财亥水`,hostGuest:`应`},{kin:`子孙酉金`}],yangCounts:[1,1,2,2,2,2]},{binary:`001000`,id:`地山谦`,sign:`䷎`,phase:`土`,palace:`兑`,palaceIndex:5,setupInfo:[{kin:`父母辰土`},{kin:`官鬼午火`,hostGuest:`应`},{kin:`兄弟申金`},{kin:`父母丑土`},{kin:`子孙亥水`,hostGuest:`世`},{kin:`兄弟酉金`}],yangCounts:[2,2,1,2,2,2]},{binary:`101000`,id:`地火明夷`,sign:`䷣`,phase:`水`,palace:`坎`,palaceIndex:6,setupInfo:[{kin:`子孙卯木`,hostGuest:`应`},{kin:`官鬼丑土`},{kin:`兄弟亥水`},{kin:`官鬼丑土`,hostGuest:`世`},{kin:`兄弟亥水`},{kin:`父母酉金`}],yangCounts:[1,2,1,2,2,2]},{binary:`011000`,id:`地风升`,sign:`䷭`,phase:`木`,palace:`震`,palaceIndex:4,setupInfo:[{kin:`妻财丑土`,hostGuest:`应`},{kin:`父母亥水`},{kin:`官鬼酉金`},{kin:`妻财丑土`,hostGuest:`世`},{kin:`父母亥水`},{kin:`官鬼酉金`}],yangCounts:[2,1,1,2,2,2]},{binary:`111000`,id:`地天泰`,sign:`䷊`,phase:`土`,palace:`坤`,palaceIndex:3,setupInfo:[{kin:`妻财子水`},{kin:`官鬼寅木`},{kin:`兄弟辰土`,hostGuest:`世`},{kin:`兄弟丑土`},{kin:`妻财亥水`},{kin:`子孙酉金`,hostGuest:`应`}],yangCounts:[1,1,1,2,2,2]},{binary:`000100`,id:`雷地豫`,sign:`䷏`,phase:`木`,palace:`震`,palaceIndex:1,setupInfo:[{kin:`妻财未土`,hostGuest:`世`},{kin:`子孙巳火`},{kin:`兄弟卯木`},{kin:`子孙午火`,hostGuest:`应`},{kin:`官鬼申金`},{kin:`妻财戌土`}],yangCounts:[2,2,2,1,2,2]},{binary:`100100`,id:`震为雷`,sign:`䷲`,phase:`木`,palace:`震`,palaceIndex:0,setupInfo:[{kin:`父母子水`},{kin:`兄弟寅木`},{kin:`妻财辰土`,hostGuest:`应`},{kin:`子孙午火`},{kin:`官鬼申金`},{kin:`妻财戌土`,hostGuest:`世`}],yangCounts:[1,2,2,1,2,2]},{binary:`010100`,id:`雷水解`,sign:`䷧`,phase:`木`,palace:`震`,palaceIndex:2,setupInfo:[{kin:`兄弟寅木`},{kin:`妻财辰土`,hostGuest:`世`},{kin:`子孙午火`},{kin:`子孙午火`},{kin:`官鬼申金`,hostGuest:`应`},{kin:`妻财戌土`}],yangCounts:[2,1,2,1,2,2]},{binary:`110100`,id:`雷泽归妹`,sign:`䷵`,phase:`金`,palace:`兑`,palaceIndex:7,setupInfo:[{kin:`官鬼巳火`},{kin:`妻财卯木`},{kin:`父母丑土`,hostGuest:`世`},{kin:`官鬼午火`},{kin:`兄弟申金`},{kin:`父母戌土`,hostGuest:`应`}],yangCounts:[1,1,2,1,2,2]},{binary:`001100`,id:`雷山小过`,sign:`䷽`,phase:`金`,palace:`兑`,palaceIndex:6,setupInfo:[{kin:`父母辰土`,hostGuest:`应`},{kin:`官鬼午火`},{kin:`兄弟申金`},{kin:`官鬼午火`,hostGuest:`世`},{kin:`兄弟申金`},{kin:`父母戌土`}],yangCounts:[2,2,1,1,2,2]},{binary:`101100`,id:`雷火丰`,sign:`䷶`,phase:`水`,palace:`坎`,palaceIndex:5,setupInfo:[{kin:`子孙卯木`},{kin:`官鬼丑土`,hostGuest:`应`},{kin:`兄弟亥水`},{kin:`妻财午火`},{kin:`父母申金`,hostGuest:`世`},{kin:`官鬼戌土`}],yangCounts:[1,2,1,1,2,2]},{binary:`011100`,id:`雷风恒`,sign:`䷟`,phase:`木`,palace:`震`,palaceIndex:3,setupInfo:[{kin:`妻财丑土`},{kin:`父母亥水`},{kin:`官鬼酉金`,hostGuest:`世`},{kin:`子孙午火`},{kin:`官鬼申金`},{kin:`妻财戌土`,hostGuest:`应`}],yangCounts:[2,1,1,1,2,2]},{binary:`111100`,id:`雷天大壮`,sign:`䷡`,phase:`土`,palace:`坤`,palaceIndex:4,setupInfo:[{kin:`妻财子水`,hostGuest:`应`},{kin:`官鬼寅木`},{kin:`兄弟辰土`},{kin:`父母午火`,hostGuest:`世`},{kin:`子孙申金`},{kin:`兄弟戌土`}],yangCounts:[1,1,1,1,2,2]},{binary:`000010`,id:`水地比`,sign:`䷇`,phase:`土`,palace:`坤`,palaceIndex:7,setupInfo:[{kin:`兄弟未土`},{kin:`父母巳火`},{kin:`官鬼卯木`,hostGuest:`世`},{kin:`子孙申金`},{kin:`兄弟戌土`},{kin:`妻财子水`,hostGuest:`应`}],yangCounts:[2,2,2,2,1,2]},{binary:`100010`,id:`水雷屯`,sign:`䷂`,phase:`水`,palace:`坎`,palaceIndex:2,setupInfo:[{kin:`兄弟子水`},{kin:`子孙寅木`,hostGuest:`世`},{kin:`官鬼辰土`},{kin:`父母申金`},{kin:`官鬼戌土`,hostGuest:`应`},{kin:`兄弟子水`}],yangCounts:[1,2,2,2,1,2]},{binary:`010010`,id:`坎为水`,sign:`䷜`,phase:`水`,palace:`坎`,palaceIndex:0,setupInfo:[{kin:`子孙寅木`},{kin:`官鬼辰土`},{kin:`妻财午火`,hostGuest:`应`},{kin:`父母申金`},{kin:`官鬼戌土`},{kin:`兄弟子水`,hostGuest:`世`}],yangCounts:[2,1,2,2,1,2]},{binary:`110010`,id:`水泽节`,sign:`䷻`,phase:`水`,palace:`坎`,palaceIndex:1,setupInfo:[{kin:`妻财巳火`,hostGuest:`世`},{kin:`子孙卯木`},{kin:`官鬼丑土`},{kin:`父母申金`,hostGuest:`应`},{kin:`官鬼戌土`},{kin:`兄弟子水`}],yangCounts:[1,1,2,2,1,2]},{binary:`001010`,id:`水山蹇`,sign:`䷦`,phase:`金`,palace:`兑`,palaceIndex:4,setupInfo:[{kin:`父母辰土`,hostGuest:`应`},{kin:`官鬼午火`},{kin:`兄弟申金`},{kin:`兄弟申金`,hostGuest:`世`},{kin:`父母戌土`},{kin:`子孙子水`}],yangCounts:[2,2,1,2,1,2]},{binary:`101010`,id:`水火既济`,sign:`䷾`,phase:`水`,palace:`坎`,palaceIndex:3,setupInfo:[{kin:`子孙卯木`},{kin:`官鬼丑土`},{kin:`兄弟亥水`,hostGuest:`世`},{kin:`父母申金`},{kin:`官鬼戌土`},{kin:`兄弟子水`,hostGuest:`应`}],yangCounts:[1,2,1,2,1,2]},{binary:`011010`,id:`水风井`,sign:`䷯`,phase:`木`,palace:`震`,palaceIndex:5,setupInfo:[{kin:`妻财丑土`},{kin:`父母亥水`,hostGuest:`应`},{kin:`官鬼酉金`},{kin:`官鬼申金`},{kin:`妻财戌土`,hostGuest:`世`},{kin:`父母子水`}],yangCounts:[2,1,1,2,1,2]},{binary:`111010`,id:`水天需`,sign:`䷄`,phase:`土`,palace:`坤`,palaceIndex:6,setupInfo:[{kin:`妻财子水`,hostGuest:`应`},{kin:`官鬼寅木`},{kin:`兄弟辰土`},{kin:`子孙申金`,hostGuest:`世`},{kin:`兄弟戌土`},{kin:`妻财子水`}],yangCounts:[1,1,1,2,1,2]},{binary:`000110`,id:`泽地萃`,sign:`䷬`,phase:`金`,palace:`兑`,palaceIndex:2,setupInfo:[{kin:`父母未土`},{kin:`官鬼巳火`,hostGuest:`世`},{kin:`妻财卯木`},{kin:`子孙亥水`},{kin:`兄弟酉金`,hostGuest:`应`},{kin:`父母未土`}],yangCounts:[2,2,2,1,1,2]},{binary:`100110`,id:`泽雷随`,sign:`䷐`,phase:`木`,palace:`震`,palaceIndex:7,setupInfo:[{kin:`父母子水`},{kin:`兄弟寅木`},{kin:`妻财辰土`,hostGuest:`世`},{kin:`父母亥水`},{kin:`官鬼酉金`},{kin:`妻财未土`,hostGuest:`应`}],yangCounts:[1,2,2,1,1,2]},{binary:`010110`,id:`泽水困`,sign:`䷮`,phase:`金`,palace:`兑`,palaceIndex:1,setupInfo:[{kin:`妻财卯木`,hostGuest:`世`},{kin:`父母辰土`},{kin:`官鬼午火`},{kin:`子孙亥水`,hostGuest:`应`},{kin:`兄弟酉金`},{kin:`父母未土`}],yangCounts:[2,1,2,1,1,2]},{binary:`110110`,id:`兑为泽`,sign:`䷹`,phase:`金`,palace:`兑`,palaceIndex:0,setupInfo:[{kin:`官鬼巳火`},{kin:`妻财卯木`},{kin:`父母丑土`,hostGuest:`应`},{kin:`子孙亥水`},{kin:`兄弟酉金`},{kin:`父母未土`,hostGuest:`世`}],yangCounts:[1,1,2,1,1,2]},{binary:`001110`,id:`泽山咸`,sign:`䷞`,phase:`金`,palace:`兑`,palaceIndex:3,setupInfo:[{kin:`父母辰土`},{kin:`官鬼午火`},{kin:`兄弟申金`,hostGuest:`世`},{kin:`子孙亥水`},{kin:`兄弟酉金`},{kin:`父母未土`,hostGuest:`应`}],yangCounts:[2,2,1,1,1,2]},{binary:`101110`,id:`泽火革`,sign:`䷰`,phase:`水`,palace:`坎`,palaceIndex:4,setupInfo:[{kin:`子孙卯木`,hostGuest:`应`},{kin:`官鬼丑土`},{kin:`兄弟亥水`},{kin:`兄弟亥水`,hostGuest:`世`},{kin:`父母酉金`},{kin:`官鬼未土`}],yangCounts:[1,2,1,1,1,2]},{binary:`011110`,id:`泽风大过`,sign:`䷛`,phase:`木`,palace:`震`,palaceIndex:6,setupInfo:[{kin:`妻财丑土`,hostGuest:`应`},{kin:`父母亥水`},{kin:`官鬼酉金`},{kin:`父母亥水`,hostGuest:`世`},{kin:`官鬼酉金`},{kin:`妻财未土`}],yangCounts:[2,1,1,1,1,2]},{binary:`111110`,id:`泽天夬`,sign:`䷪`,phase:`土`,palace:`坤`,palaceIndex:5,setupInfo:[{kin:`妻财子水`},{kin:`官鬼寅木`,hostGuest:`应`},{kin:`兄弟辰土`},{kin:`妻财亥水`},{kin:`子孙酉金`,hostGuest:`世`},{kin:`兄弟未土`}],yangCounts:[1,1,1,1,1,2]},{binary:`000001`,id:`山地剥`,sign:`䷖`,phase:`金`,palace:`乾`,palaceIndex:5,setupInfo:[{kin:`父母未土`},{kin:`官鬼巳火`,hostGuest:`应`},{kin:`妻财卯木`},{kin:`父母戌土`},{kin:`子孙子水`,hostGuest:`世`},{kin:`妻财卯木`}],yangCounts:[2,2,2,2,2,1]},{binary:`100001`,id:`山雷颐`,sign:`䷚`,phase:`木`,palace:`巽`,palaceIndex:6,setupInfo:[{kin:`父母子水`,hostGuest:`应`},{kin:`兄弟寅木`},{kin:`妻财辰土`},{kin:`妻财戌土`,hostGuest:`世`},{kin:`父母子水`},{kin:`兄弟寅木`}],yangCounts:[1,2,2,2,2,1]},{binary:`010001`,id:`山水蒙`,sign:`䷃`,phase:`火`,palace:`离`,palaceIndex:4,setupInfo:[{kin:`父母寅木`,hostGuest:`应`},{kin:`子孙辰土`},{kin:`兄弟午火`},{kin:`子孙戌土`,hostGuest:`世`},{kin:`官鬼子水`},{kin:`父母寅木`}],yangCounts:[2,1,2,2,2,1]},{binary:`110001`,id:`山泽损`,sign:`䷨`,phase:`土`,palace:`艮`,palaceIndex:3,setupInfo:[{kin:`父母巳火`},{kin:`官鬼卯木`},{kin:`兄弟丑土`,hostGuest:`世`},{kin:`兄弟戌土`},{kin:`妻财子水`},{kin:`官鬼寅木`,hostGuest:`应`}],yangCounts:[1,1,2,2,2,1]},{binary:`001001`,id:`艮为山`,sign:`䷳`,phase:`土`,palace:`艮`,palaceIndex:0,setupInfo:[{kin:`兄弟辰土`},{kin:`父母午火`},{kin:`子孙申金`,hostGuest:`应`},{kin:`兄弟戌土`},{kin:`妻财子水`},{kin:`官鬼寅木`,hostGuest:`世`}],yangCounts:[2,2,1,2,2,1]},{binary:`101001`,id:`山火贲`,sign:`䷕`,phase:`土`,palace:`艮`,palaceIndex:1,setupInfo:[{kin:`官鬼卯木`,hostGuest:`世`},{kin:`兄弟丑土`},{kin:`妻财亥水`},{kin:`兄弟戌土`,hostGuest:`应`},{kin:`妻财子水`},{kin:`官鬼寅木`}],yangCounts:[1,2,1,2,2,1]},{binary:`011001`,id:`山风蛊`,sign:`䷑`,phase:`木`,palace:`巽`,palaceIndex:7,setupInfo:[{kin:`妻财丑土`},{kin:`父母亥水`},{kin:`官鬼酉金`,hostGuest:`世`},{kin:`妻财戌土`},{kin:`父母子水`},{kin:`兄弟寅木`,hostGuest:`应`}],yangCounts:[2,1,1,2,2,1]},{binary:`111001`,id:`山天大畜`,sign:`䷙`,phase:`土`,palace:`艮`,palaceIndex:2,setupInfo:[{kin:`妻财子水`},{kin:`官鬼寅木`,hostGuest:`世`},{kin:`兄弟辰土`},{kin:`兄弟戌土`},{kin:`妻财子水`,hostGuest:`应`},{kin:`官鬼寅木`}],yangCounts:[1,1,1,2,2,1]},{binary:`000101`,id:`火地晋`,sign:`䷢`,phase:`金`,palace:`乾`,palaceIndex:6,setupInfo:[{kin:`父母未土`,hostGuest:`应`},{kin:`官鬼巳火`},{kin:`妻财卯木`},{kin:`兄弟酉金`,hostGuest:`世`},{kin:`父母未土`},{kin:`官鬼巳火`}],yangCounts:[2,2,2,1,2,1]},{binary:`100101`,id:`火雷噬嗑`,sign:`䷔`,phase:`木`,palace:`巽`,palaceIndex:5,setupInfo:[{kin:`父母子水`},{kin:`兄弟寅木`,hostGuest:`应`},{kin:`妻财辰土`},{kin:`官鬼酉金`},{kin:`妻财未土`,hostGuest:`世`},{kin:`子孙巳火`}],yangCounts:[1,2,2,1,2,1]},{binary:`010101`,id:`火水未济`,sign:`䷿`,phase:`火`,palace:`离`,palaceIndex:3,setupInfo:[{kin:`父母寅木`},{kin:`子孙辰土`},{kin:`兄弟午火`,hostGuest:`世`},{kin:`妻财酉金`},{kin:`子孙未土`},{kin:`兄弟巳火`,hostGuest:`应`}],yangCounts:[2,1,2,1,2,1]},{binary:`110101`,id:`火泽睽`,sign:`䷥`,phase:`土`,palace:`艮`,palaceIndex:4,setupInfo:[{kin:`父母巳火`,hostGuest:`应`},{kin:`官鬼卯木`},{kin:`兄弟丑土`},{kin:`子孙酉金`,hostGuest:`世`},{kin:`兄弟未土`},{kin:`父母巳火`}],yangCounts:[1,1,2,1,2,1]},{binary:`001101`,id:`火山旅`,sign:`䷷`,phase:`火`,palace:`离`,palaceIndex:1,setupInfo:[{kin:`子孙辰土`,hostGuest:`世`},{kin:`兄弟午火`},{kin:`妻财申金`},{kin:`妻财酉金`,hostGuest:`应`},{kin:`子孙未土`},{kin:`兄弟巳火`}],yangCounts:[2,2,1,1,2,1]},{binary:`101101`,id:`离为火`,sign:`䷝`,phase:`火`,palace:`离`,palaceIndex:0,setupInfo:[{kin:`父母卯木`},{kin:`子孙丑土`},{kin:`官鬼亥水`,hostGuest:`应`},{kin:`妻财酉金`},{kin:`子孙未土`},{kin:`兄弟巳火`,hostGuest:`世`}],yangCounts:[1,2,1,1,2,1]},{binary:`011101`,id:`火风鼎`,sign:`䷱`,phase:`火`,palace:`离`,palaceIndex:2,setupInfo:[{kin:`子孙丑土`},{kin:`官鬼亥水`,hostGuest:`世`},{kin:`妻财酉金`},{kin:`妻财酉金`},{kin:`子孙未土`,hostGuest:`应`},{kin:`兄弟巳火`}],yangCounts:[2,1,1,1,2,1]},{binary:`111101`,id:`火天大有`,sign:`䷍`,phase:`金`,palace:`乾`,palaceIndex:7,setupInfo:[{kin:`子孙子水`},{kin:`妻财寅木`},{kin:`父母辰土`,hostGuest:`世`},{kin:`兄弟酉金`},{kin:`父母未土`},{kin:`官鬼巳火`,hostGuest:`应`}],yangCounts:[1,1,1,1,2,1]},{binary:`000011`,id:`风地观`,sign:`䷓`,phase:`金`,palace:`乾`,palaceIndex:4,setupInfo:[{kin:`父母未土`,hostGuest:`应`},{kin:`官鬼巳火`},{kin:`妻财卯木`},{kin:`父母未土`,hostGuest:`世`},{kin:`官鬼巳火`},{kin:`妻财卯木`}],yangCounts:[2,2,2,2,1,1]},{binary:`100011`,id:`风雷益`,sign:`䷩`,phase:`木`,palace:`巽`,palaceIndex:3,setupInfo:[{kin:`父母子水`},{kin:`兄弟寅木`},{kin:`妻财辰土`,hostGuest:`世`},{kin:`妻财未土`},{kin:`子孙巳火`},{kin:`兄弟卯木`,hostGuest:`应`}],yangCounts:[1,2,2,2,1,1]},{binary:`010011`,id:`风水涣`,sign:`䷺`,phase:`火`,palace:`离`,palaceIndex:5,setupInfo:[{kin:`父母寅木`},{kin:`子孙辰土`,hostGuest:`应`},{kin:`兄弟午火`},{kin:`子孙未土`},{kin:`兄弟巳火`,hostGuest:`世`},{kin:`父母卯木`}],yangCounts:[2,1,2,2,1,1]},{binary:`110011`,id:`风泽中孚`,sign:`䷼`,phase:`土`,palace:`艮`,palaceIndex:6,setupInfo:[{kin:`父母巳火`,hostGuest:`应`},{kin:`官鬼卯木`},{kin:`兄弟丑土`},{kin:`兄弟未土`,hostGuest:`世`},{kin:`父母巳火`},{kin:`官鬼卯木`}],yangCounts:[1,1,2,2,1,1]},{binary:`001011`,id:`风山渐`,sign:`䷴`,phase:`土`,palace:`艮`,palaceIndex:7,setupInfo:[{kin:`兄弟辰土`},{kin:`父母午火`},{kin:`子孙申金`,hostGuest:`世`},{kin:`兄弟未土`},{kin:`父母巳火`},{kin:`官鬼卯木`,hostGuest:`应`}],yangCounts:[2,2,1,2,1,1]},{binary:`101011`,id:`风火家人`,sign:`䷤`,phase:`木`,palace:`巽`,palaceIndex:2,setupInfo:[{kin:`兄弟卯木`},{kin:`妻财丑土`,hostGuest:`世`},{kin:`父母亥水`},{kin:`妻财未土`},{kin:`子孙巳火`,hostGuest:`应`},{kin:`兄弟卯木`}],yangCounts:[1,2,1,2,1,1]},{binary:`011011`,id:`巽为风`,sign:`䷸`,phase:`木`,palace:`巽`,palaceIndex:0,setupInfo:[{kin:`妻财丑土`},{kin:`父母亥水`},{kin:`官鬼酉金`,hostGuest:`应`},{kin:`妻财未土`},{kin:`子孙巳火`},{kin:`兄弟卯木`,hostGuest:`世`}],yangCounts:[2,1,1,2,1,1]},{binary:`111011`,id:`风天小畜`,sign:`䷈`,phase:`木`,palace:`巽`,palaceIndex:1,setupInfo:[{kin:`父母子水`,hostGuest:`世`},{kin:`兄弟寅木`},{kin:`妻财辰土`},{kin:`妻财未土`,hostGuest:`应`},{kin:`子孙巳火`},{kin:`兄弟卯木`}],yangCounts:[1,1,1,2,1,1]},{binary:`000111`,id:`天地否`,sign:`䷋`,phase:`金`,palace:`乾`,palaceIndex:3,setupInfo:[{kin:`父母未土`},{kin:`官鬼巳火`},{kin:`妻财卯木`,hostGuest:`世`},{kin:`官鬼午火`},{kin:`兄弟申金`},{kin:`父母戌土`,hostGuest:`应`}],yangCounts:[2,2,2,1,1,1]},{binary:`100111`,id:`天雷无妄`,sign:`䷘`,phase:`木`,palace:`巽`,palaceIndex:4,setupInfo:[{kin:`父母子水`,hostGuest:`应`},{kin:`兄弟寅木`},{kin:`妻财辰土`},{kin:`子孙午火`,hostGuest:`世`},{kin:`官鬼申金`},{kin:`妻财戌土`}],yangCounts:[1,2,2,1,1,1]},{binary:`010111`,id:`天水讼`,sign:`䷅`,phase:`火`,palace:`离`,palaceIndex:6,setupInfo:[{kin:`父母寅木`,hostGuest:`应`},{kin:`子孙辰土`},{kin:`兄弟午火`},{kin:`兄弟午火`,hostGuest:`世`},{kin:`妻财申金`},{kin:`子孙戌土`}],yangCounts:[2,1,2,1,1,1]},{binary:`110111`,id:`天泽履`,sign:`䷉`,phase:`土`,palace:`艮`,palaceIndex:5,setupInfo:[{kin:`父母巳火`},{kin:`官鬼卯木`,hostGuest:`应`},{kin:`兄弟丑土`},{kin:`父母午火`},{kin:`子孙申金`,hostGuest:`世`},{kin:`兄弟戌土`}],yangCounts:[1,1,2,1,1,1]},{binary:`001111`,id:`天山遁`,sign:`䷠`,phase:`金`,palace:`乾`,palaceIndex:2,setupInfo:[{kin:`父母辰土`},{kin:`官鬼午火`,hostGuest:`世`},{kin:`兄弟申金`},{kin:`官鬼午火`},{kin:`兄弟申金`,hostGuest:`应`},{kin:`父母戌土`}],yangCounts:[2,2,1,1,1,1]},{binary:`101111`,id:`天火同人`,sign:`䷌`,phase:`火`,palace:`离`,palaceIndex:7,setupInfo:[{kin:`父母寅木`},{kin:`子孙辰土`},{kin:`兄弟午火`,hostGuest:`世`},{kin:`子孙未土`},{kin:`父母巳火`},{kin:`子孙戌土`,hostGuest:`应`}],yangCounts:[1,2,1,1,1,1]},{binary:`011111`,id:`天风姤`,sign:`䷫`,phase:`金`,palace:`乾`,palaceIndex:1,setupInfo:[{kin:`父母丑土`,hostGuest:`世`},{kin:`子孙亥水`},{kin:`兄弟酉金`},{kin:`官鬼午火`,hostGuest:`应`},{kin:`兄弟申金`},{kin:`父母戌土`}],yangCounts:[2,1,1,1,1,1]},{binary:`111111`,id:`乾为天`,sign:`䷀`,phase:`金`,palace:`乾`,palaceIndex:0,setupInfo:[{kin:`子孙子水`},{kin:`妻财寅木`},{kin:`父母辰土`,hostGuest:`应`},{kin:`官鬼午火`},{kin:`兄弟申金`},{kin:`父母戌土`,hostGuest:`世`}],yangCounts:[1,1,1,1,1,1]}]),m=Object.freeze([{id:`坤`,binary:`000`,yangCount:0,represents:`地`,nameEn:`kun`,representsEn:`earth`,sign:`☷`},{id:`震`,binary:`100`,yangCount:1,represents:`雷`,nameEn:`zhen`,representsEn:`thunder`,sign:`☳`},{id:`坎`,binary:`010`,yangCount:1,represents:`水`,nameEn:`kan`,representsEn:`water`,sign:`☵`},{id:`兑`,binary:`110`,yangCount:2,represents:`泽`,nameEn:`dui`,representsEn:`lake`,sign:`☱`},{id:`艮`,binary:`001`,yangCount:1,represents:`山`,nameEn:`gen`,representsEn:`mountain`,sign:`☶`},{id:`离`,binary:`101`,yangCount:2,represents:`火`,nameEn:`li`,representsEn:`fire`,sign:`☲`},{id:`巽`,binary:`011`,yangCount:2,represents:`风`,nameEn:`xun`,representsEn:`wind`,sign:`☴`},{id:`乾`,binary:`111`,yangCount:3,represents:`天`,nameEn:`qian`,representsEn:`heaven`,sign:`☰`}]),h=[`老阴`,`少阳`,`少阴`,`老阳`],g=`交单拆重`,_=`×’”○`,v=[1,1,2,2],y=[0,1,0,1];function b(e){if(e!==0&&e!==1&&e!==2&&e!==3)throw Error(`Count of yang must be 0, 1, 2 or 3`)}var x=class e{static getName(e){return h[e]}static fromSymbol(t){let n=_.indexOf(t);return n===-1?null:new e(n)}static fromSymbolName(t){let n=g.indexOf(t);return n===-1?null:new e(n)}static fromName(t){let n=h.indexOf(t);return n===-1?null:new e(n)}static fromDigitString(t){let n=`0123`.indexOf(t);return n===-1?null:new e(n)}static fromTrigramField(t){let n=m.find(e=>e.id===t||e.yangCount===t||e.binary===t||e.nameEn===t||e.represents===t||e.representsEn===t||e.sign===t);return n?new e(n.yangCount):null}_yangCount;get yangCount(){return this._yangCount}get polar(){return y[this.yangCount]}get isDynamic(){return this.yangCount===0||this.yangCount===3}isChanged;get symbol(){return _[this.yangCount]}get symbolName(){return g[this.yangCount]}get name(){return h[this.yangCount]}constructor(e,t=!1){b(e),this._yangCount=e,this.isChanged=t}set(e){b(e),this._yangCount=e}clone(){return new e(this.yangCount,this.isChanged)}toChanged(){return this.isDynamic?new e(v[this.yangCount],!0):new e(this.yangCount,!1)}};const S=[`初爻`,`二爻`,`三爻`,`四爻`,`五爻`,`上爻`];var C=class e{static fromQuaternary(t){let n=t.split(``).map(x.fromDigitString);return n.every(e=>e!==null)?new e(n):null}static fromSymbolName(t){let n=t.split(``).map(x.fromSymbolName);return n.every(e=>e!==null)?new e(n):null}static fromYangCounts(t){try{return new e(t.map(e=>new x(e)))}catch{return null}}static fromId(t){let n=p.find(e=>e.id===t||e.id.slice(2)===t||e.id.startsWith(t)&&t.length>1);return n?e.fromYangCounts(n.yangCounts):null}static fromPalace(t){let n=p.find(e=>e.id[2]===t);return n?e.fromYangCounts(n.yangCounts):null}yaos;get info(){return p.find(e=>e.binary===this.yaos.map(e=>e.polar).join(``))}get palace(){let e=this.info;return`${e.palace}宫(${e.phase})${f[e.palaceIndex].name}`}get isDynamic(){return this.yaos.some(e=>e.isDynamic||e.isChanged)}get isChanged(){return this.yaos.some(e=>e.isChanged)}get dynamicOuter(){return this.yaos.slice(3).some(e=>e.isDynamic||e.isChanged)}get dynamicInner(){return this.yaos.slice(0,3).some(e=>e.isDynamic||e.isChanged)}get isSixScattering(){return[`乾为天`,`坤为地`,`震为雷`,`巽为风`,`坎为水`,`离为火`,`艮为山`,`兑为泽`,`天雷无妄`,`雷天大壮`].includes(this.info.id)}get isSixGathering(){return[`天地否`,`地天泰`,`地雷复`,`雷地豫`,`山火贲`,`火山旅`,`泽水困`,`水泽节`].includes(this.info.id)}constructor(e){if(e.length!==6)throw Error(`Array length mismatch, A Hexagram must be constructed with exactly 6 Yaos or 6 counts of yang`);if(e.every(e=>e instanceof x))this.yaos=e.map(e=>e.clone());else throw Error(`Invalid Arguments, Hexagram must be constructed with exactly 6 Yaos or 6 counts of yang`)}setYao(e,t){this.yaos[e].set(t)}toChanged(){if(!this.isDynamic)return null;if(this.isChanged)throw Error(`已经是变卦了,无法再变`);return new e(this.yaos.map(e=>e.toChanged()))}toDescription(){let e=this.info.setupInfo.findIndex(e=>e.hostGuest===`世`),t=this.info.setupInfo.findIndex(e=>e.hostGuest===`应`),n=[`本卦${this.info.id}`,`世爻为${S[e]}`,`应爻为${S[t]}`],r=this.toChanged();if(r){n.push(`${this.yaos.map((e,t)=>e.isDynamic?`${S[t]}`:null).filter(e=>e!==null).join(`、`)}是动爻`),n.push(`变卦为${r.info.id}`);let e=r.info.setupInfo.findIndex(e=>e.hostGuest===`世`);this.yaos[e].isDynamic?n.push(`变卦世爻为${S[e]}`):n.push(`未变出新的世爻`);let t=r.info.setupInfo.findIndex(e=>e.hostGuest===`应`);this.yaos[t].isDynamic?n.push(`变卦应爻为${S[t]}`):n.push(`未变出新的应爻`)}else n.push(`无动爻`);return n.join(`,`)}toAIReadable(){let e=this.info.setupInfo,t=this.toChanged(),n=t?.info.setupInfo,r=[];if(n){let e=this.yaos.map((e,t)=>e.isDynamic?t:null).filter(e=>e!==null);n.forEach((n,i)=>{e.includes(i)&&(n.hostGuest===`世`&&r.push(`新世爻为${t.info.id}的${S[i]}`),n.hostGuest===`应`&&r.push(`新应爻为${t.info.id}的${S[i]}`))})}else r.push(`没有新的世应爻出现,世应不变`);let i=(e,t,n)=>{let r={爻:this.yaos[n].name,六亲:t[n].kin,类型:t[n].hostGuest};return r.类型||delete r.类型,r};return{本卦:{上爻:i(this.yaos,e,5),五爻:i(this.yaos,e,4),四爻:i(this.yaos,e,3),三爻:i(this.yaos,e,2),二爻:i(this.yaos,e,1),初爻:i(this.yaos,e,0),卦名:this.info.id,宫:this.palace,变爻:this.isDynamic?this.yaos.map((e,t)=>e.isDynamic?S[t]:null).filter(e=>e!==null):void 0,六冲六合:this.isSixScattering?`六合卦`:this.isSixGathering?`六冲卦`:void 0},变卦:n?{上爻:i(t.yaos,n,5),五爻:i(t.yaos,n,4),四爻:i(t.yaos,n,3),三爻:i(t.yaos,n,2),二爻:i(t.yaos,n,1),初爻:i(t.yaos,n,0),卦名:t.info.id,宫:t.palace,六冲六合:t.isSixScattering?`六合卦`:t.isSixGathering?`六冲卦`:void 0}:`无`,世应变化:r.join(`,`)}}clone(){return new e(this.yaos)}toString(){return this.info.id}[Symbol.toPrimitive](){return this.info.id}};const w=Object.freeze([{heavenlyStem:`甲`,gods:[`青龙`,`朱雀`,`勾陈`,`螣蛇`,`白虎`,`玄武`]},{heavenlyStem:`乙`,gods:[`青龙`,`朱雀`,`勾陈`,`螣蛇`,`白虎`,`玄武`]},{heavenlyStem:`丙`,gods:[`朱雀`,`勾陈`,`螣蛇`,`白虎`,`玄武`,`青龙`]},{heavenlyStem:`丁`,gods:[`朱雀`,`勾陈`,`螣蛇`,`白虎`,`玄武`,`青龙`]},{heavenlyStem:`戊`,gods:[`勾陈`,`螣蛇`,`白虎`,`玄武`,`青龙`,`朱雀`]},{heavenlyStem:`己`,gods:[`螣蛇`,`白虎`,`玄武`,`青龙`,`朱雀`,`勾陈`]},{heavenlyStem:`庚`,gods:[`白虎`,`玄武`,`青龙`,`朱雀`,`勾陈`,`螣蛇`]},{heavenlyStem:`辛`,gods:[`白虎`,`玄武`,`青龙`,`朱雀`,`勾陈`,`螣蛇`]},{heavenlyStem:`壬`,gods:[`玄武`,`青龙`,`朱雀`,`勾陈`,`螣蛇`,`白虎`]},{heavenlyStem:`癸`,gods:[`玄武`,`青龙`,`朱雀`,`勾陈`,`螣蛇`,`白虎`]}]);function T(){let e=process.argv[2];if(!e)return null;let t=e.split(``).map(x.fromTrigramField);return t.every(e=>e!==null)&&t.length>=6?new C(t):C.fromQuaternary(e)||C.fromId(e)||C.fromSymbolName(e)}function E(e){return`子丑丑寅寅卯卯辰辰巳巳午午未未申申酉酉戌戌亥亥子`[e.getHours()]??`未知`}function D(){let e=process.argv[3],t=new Date(e);if(Number.isNaN(t.getTime()))return null;let n=d.solar2lunar(t.getFullYear(),t.getMonth()+1,t.getDate());if(n===-1)return null;let r=w.find(e=>e.heavenlyStem===n.gzDay[0]).gods;return{年:n.gzYear,月:n.gzMonth,日:n.gzDay,时:E(t),六神顺序:{上爻:r[5],五爻:r[4],四爻:r[3],三爻:r[2],二爻:r[1],初爻:r[0]}}}console.log(JSON.stringify({version:`0.4.5`,卦象:T()?.toAIReadable(),时辰:D()},null,2));export{};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "liuyao",
3
- "version": "0.4.4",
3
+ "version": "0.4.5",
4
4
  "author": {
5
5
  "name": "Kasukabe Tsumugi",
6
6
  "email": "futami16237@gmail.com"