From c9fa49e2cdd65c7be00e9a116a3fde84b49b3070 Mon Sep 17 00:00:00 2001 From: PASSER-BY Date: Tue, 7 Mar 2023 01:00:38 +0800 Subject: [PATCH] =?UTF-8?q?updated=20=E5=8E=8B=E7=BC=A9=E5=B7=A5=E5=85=B7?= =?UTF-8?q?=E7=94=B1webpack=E6=8D=A2=E6=88=90rollup?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- dist/relationship-mode.min.js | 2 +- dist/relationship-mode.zh-HK.min.js | 2 +- dist/relationship.min.js | 4 +- dist/relationship.zh-HK.min.js | 4 +- gulpfile.js | 71 +- package-lock.json | 2823 +++++++-------------------- package.json | 8 +- src/relationship.js | 26 +- webpack.config.js | 62 - 9 files changed, 737 insertions(+), 2265 deletions(-) delete mode 100644 webpack.config.js diff --git a/dist/relationship-mode.min.js b/dist/relationship-mode.min.js index 70e835a..8a4beb7 100644 --- a/dist/relationship-mode.min.js +++ b/dist/relationship-mode.min.js @@ -1 +1 @@ -!function(s,d){"object"==typeof exports&&"object"==typeof module?module.exports=d():"function"==typeof define&&define.amd?define([],d):"object"==typeof exports?exports.relationshipMode=d():s.relationshipMode=d()}(this,(()=>(()=>{"use strict";var s={d:(d,f)=>{for(var m in f)s.o(f,m)&&!s.o(d,m)&&Object.defineProperty(d,m,{enumerable:!0,get:f[m]})},o:(s,d)=>Object.prototype.hasOwnProperty.call(s,d)},d={};s.d(d,{default:()=>f});const f={guangdong:{name:"广东",data:{f:["老窦"],"f,f":["阿爷"],"f,f,f":["太公"],"f,f,m":["太婆"],"f,m":["阿嫲"],"f,m,f":["太外公"],"f,m,m":["太外婆"],"f,ob":["伯伯"],"f,ob,w":["伯娘"],"f,lb":["阿叔"],"f,lb,w":["阿婶"],"0,f,xb,d,s":["堂姨甥"],"1,f,xb,d,s":["堂外甥"],"0,f,xb,d,d":["堂姨甥女"],"1,f,xb,d,d":["堂外甥女"],"f,os":["姑母"],"f,ls":["姑姐"],"f,xs,h":["姑丈"],"0,f,xs,d,s":["姑表姨甥"],"1,f,xs,d,s":["姑表外甥"],"0,f,xs,d,d":["姑表姨甥女"],"1,f,xs,d,d":["姑表外甥女"],m:["老母"],"m,f":["阿公"],"m,f,f":["外太公"],"m,f,m":["外太婆"],"m,m":["阿婆"],"m,m,f":["外太外公"],"m,m,m":["外太外婆"],"m,ob":["舅父"],"m,lb":["舅仔"],"m,xb,w":["舅母"],"0,m,xb,d,s":["舅表姨甥"],"1,m,xb,d,s":["舅表外甥"],"0,m,xb,d,d":["舅表姨甥女"],"1,m,xb,d,d":["舅表外甥女"],"m,os":["姨妈"],"m,ls":["姨仔"],"m,xs,h":["姨丈"],"0,m,xb,d,s":["姨姨甥"],"1,m,xb,d,s":["姨外甥"],"0,m,xb,d,d":["姨姨甥女"],"1,m,xb,d,d":["姨外甥女"],ob:["大佬"],"ob,w":["阿嫂"],lb:["细佬"],"lb,w":["弟妇"],"xb,s":["侄"],"xb,d":["侄女"],os:["家姐"],"os,h":["姐夫"],ls:["阿妹"],"ls,h":["妹夫"],"0,xs,s":["姨甥"],"1,xs,s":["外甥"],"0,xs,d":["姨甥女"],"1,xs,d":["外甥女"],s:["仔"],"s,w":["新妇"],"s,s":["孙"],"s,s,w":["孙新妇"],"s,s,s":["息仔"],"s,s,d":["息女"],"s,d":["孙女"],"s,d,h":["孙女婿"],"s,d,s":["外息仔"],"s,d,d":["外息女"],d:["女"],"d,s":["外孙"],"d,s,w":["外孙新妇"],"d,s,s":["外息仔"],"d,s,d":["外息女"],"d,d":["外孙女"],"d,d,h":["外孙女婿"],"d,d,s":["外息仔"],"d,d,d":["外息女"]}},north:{name:"北方",data:{"m,m":["姥姥"],"m,m,xs":["姨姥姥"],"m,m,xs,h":["姨姥爷"],"m,m,xb":["舅姥爷"],"m,m,xb,w":["舅姥姥"],"m,f":["姥爷"],"m,f,xs":["姑姥姥"],"m,f,xs,h":["姑姥爷"],"m,f,ob":["大姥爷"],"m,f,ob,w":["大姥姥"],"m,f,lb":["小姥爷"],"m,f,lb,w":["小姥姥"],"f,ob":["大爷"],"f,ob,w":["大娘"]}}};return d=d.default})())); \ No newline at end of file +!function(s,d){"object"==typeof exports&&"undefined"!=typeof module?module.exports=d():"function"==typeof define&&define.amd?define(d):(s="undefined"!=typeof globalThis?globalThis:s||self).relationshipMode=d()}(this,(function(){"use strict";return{guangdong:{name:"广东",data:{f:["老窦"],"f,f":["阿爷"],"f,f,f":["太公"],"f,f,m":["太婆"],"f,m":["阿嫲"],"f,m,f":["太外公"],"f,m,m":["太外婆"],"f,ob":["伯伯"],"f,ob,w":["伯娘"],"f,lb":["阿叔"],"f,lb,w":["阿婶"],"0,f,xb,d,s":["堂姨甥"],"1,f,xb,d,s":["堂外甥"],"0,f,xb,d,d":["堂姨甥女"],"1,f,xb,d,d":["堂外甥女"],"f,os":["姑母"],"f,ls":["姑姐"],"f,xs,h":["姑丈"],"0,f,xs,d,s":["姑表姨甥"],"1,f,xs,d,s":["姑表外甥"],"0,f,xs,d,d":["姑表姨甥女"],"1,f,xs,d,d":["姑表外甥女"],m:["老母"],"m,f":["阿公"],"m,f,f":["外太公"],"m,f,m":["外太婆"],"m,m":["阿婆"],"m,m,f":["外太外公"],"m,m,m":["外太外婆"],"m,ob":["舅父"],"m,lb":["舅仔"],"m,xb,w":["舅母"],"0,m,xb,d,s":["舅表姨甥"],"1,m,xb,d,s":["舅表外甥"],"0,m,xb,d,d":["舅表姨甥女"],"1,m,xb,d,d":["舅表外甥女"],"m,os":["姨妈"],"m,ls":["姨仔"],"m,xs,h":["姨丈"],"0,m,xb,d,s":["姨姨甥"],"1,m,xb,d,s":["姨外甥"],"0,m,xb,d,d":["姨姨甥女"],"1,m,xb,d,d":["姨外甥女"],ob:["大佬"],"ob,w":["阿嫂"],lb:["细佬"],"lb,w":["弟妇"],"xb,s":["侄"],"xb,d":["侄女"],os:["家姐"],"os,h":["姐夫"],ls:["阿妹"],"ls,h":["妹夫"],"0,xs,s":["姨甥"],"1,xs,s":["外甥"],"0,xs,d":["姨甥女"],"1,xs,d":["外甥女"],s:["仔"],"s,w":["新妇"],"s,s":["孙"],"s,s,w":["孙新妇"],"s,s,s":["息仔"],"s,s,d":["息女"],"s,d":["孙女"],"s,d,h":["孙女婿"],"s,d,s":["外息仔"],"s,d,d":["外息女"],d:["女"],"d,s":["外孙"],"d,s,w":["外孙新妇"],"d,s,s":["外息仔"],"d,s,d":["外息女"],"d,d":["外孙女"],"d,d,h":["外孙女婿"],"d,d,s":["外息仔"],"d,d,d":["外息女"]}},north:{name:"北方",data:{"m,m":["姥姥"],"m,m,xs":["姨姥姥"],"m,m,xs,h":["姨姥爷"],"m,m,xb":["舅姥爷"],"m,m,xb,w":["舅姥姥"],"m,f":["姥爷"],"m,f,xs":["姑姥姥"],"m,f,xs,h":["姑姥爷"],"m,f,ob":["大姥爷"],"m,f,ob,w":["大姥姥"],"m,f,lb":["小姥爷"],"m,f,lb,w":["小姥姥"],"f,ob":["大爷"],"f,ob,w":["大娘"]}}}})); diff --git a/dist/relationship-mode.zh-HK.min.js b/dist/relationship-mode.zh-HK.min.js index cae6b4b..4d8541d 100644 --- a/dist/relationship-mode.zh-HK.min.js +++ b/dist/relationship-mode.zh-HK.min.js @@ -1 +1 @@ -!function(s,d){"object"==typeof exports&&"object"==typeof module?module.exports=d():"function"==typeof define&&define.amd?define([],d):"object"==typeof exports?exports.relationshipMode=d():s.relationshipMode=d()}(this,(()=>(()=>{"use strict";var s={d:(d,f)=>{for(var m in f)s.o(f,m)&&!s.o(d,m)&&Object.defineProperty(d,m,{enumerable:!0,get:f[m]})},o:(s,d)=>Object.prototype.hasOwnProperty.call(s,d)},d={};s.d(d,{default:()=>f});const f={guangdong:{name:"廣東",data:{f:["老竇"],"f,f":["阿爺"],"f,f,f":["太公"],"f,f,m":["太婆"],"f,m":["阿嫲"],"f,m,f":["太外公"],"f,m,m":["太外婆"],"f,ob":["伯伯"],"f,ob,w":["伯娘"],"f,lb":["阿叔"],"f,lb,w":["阿嬸"],"0,f,xb,d,s":["堂姨甥"],"1,f,xb,d,s":["堂外甥"],"0,f,xb,d,d":["堂姨甥女"],"1,f,xb,d,d":["堂外甥女"],"f,os":["姑母"],"f,ls":["姑姐"],"f,xs,h":["姑丈"],"0,f,xs,d,s":["姑表姨甥"],"1,f,xs,d,s":["姑表外甥"],"0,f,xs,d,d":["姑表姨甥女"],"1,f,xs,d,d":["姑表外甥女"],m:["老母"],"m,f":["阿公"],"m,f,f":["外太公"],"m,f,m":["外太婆"],"m,m":["阿婆"],"m,m,f":["外太外公"],"m,m,m":["外太外婆"],"m,ob":["舅父"],"m,lb":["舅仔"],"m,xb,w":["舅母"],"0,m,xb,d,s":["舅表姨甥"],"1,m,xb,d,s":["舅表外甥"],"0,m,xb,d,d":["舅表姨甥女"],"1,m,xb,d,d":["舅表外甥女"],"m,os":["姨媽"],"m,ls":["姨仔"],"m,xs,h":["姨丈"],"0,m,xb,d,s":["姨姨甥"],"1,m,xb,d,s":["姨外甥"],"0,m,xb,d,d":["姨姨甥女"],"1,m,xb,d,d":["姨外甥女"],ob:["大佬"],"ob,w":["阿嫂"],lb:["細佬"],"lb,w":["弟婦"],"xb,s":["侄"],"xb,d":["侄女"],os:["家姐"],"os,h":["姐夫"],ls:["阿妹"],"ls,h":["妹夫"],"0,xs,s":["姨甥"],"1,xs,s":["外甥"],"0,xs,d":["姨甥女"],"1,xs,d":["外甥女"],s:["仔"],"s,w":["新婦"],"s,s":["孫"],"s,s,w":["孫新婦"],"s,s,s":["息仔"],"s,s,d":["息女"],"s,d":["孫女"],"s,d,h":["孫女婿"],"s,d,s":["外息仔"],"s,d,d":["外息女"],d:["女"],"d,s":["外孫"],"d,s,w":["外孫新婦"],"d,s,s":["外息仔"],"d,s,d":["外息女"],"d,d":["外孫女"],"d,d,h":["外孫女婿"],"d,d,s":["外息仔"],"d,d,d":["外息女"]}},north:{name:"北方",data:{"m,m":["姥姥"],"m,m,xs":["姨姥姥"],"m,m,xs,h":["姨姥爺"],"m,m,xb":["舅姥爺"],"m,m,xb,w":["舅姥姥"],"m,f":["姥爺"],"m,f,xs":["姑姥姥"],"m,f,xs,h":["姑姥爺"],"m,f,ob":["大姥爺"],"m,f,ob,w":["大姥姥"],"m,f,lb":["小姥爺"],"m,f,lb,w":["小姥姥"],"f,ob":["大爺"],"f,ob,w":["大娘"]}}};return d=d.default})())); \ No newline at end of file +!function(s,d){"object"==typeof exports&&"undefined"!=typeof module?module.exports=d():"function"==typeof define&&define.amd?define(d):(s="undefined"!=typeof globalThis?globalThis:s||self).relationshipMode=d()}(this,(function(){"use strict";return{guangdong:{name:"廣東",data:{f:["老竇"],"f,f":["阿爺"],"f,f,f":["太公"],"f,f,m":["太婆"],"f,m":["阿嫲"],"f,m,f":["太外公"],"f,m,m":["太外婆"],"f,ob":["伯伯"],"f,ob,w":["伯娘"],"f,lb":["阿叔"],"f,lb,w":["阿嬸"],"0,f,xb,d,s":["堂姨甥"],"1,f,xb,d,s":["堂外甥"],"0,f,xb,d,d":["堂姨甥女"],"1,f,xb,d,d":["堂外甥女"],"f,os":["姑母"],"f,ls":["姑姐"],"f,xs,h":["姑丈"],"0,f,xs,d,s":["姑表姨甥"],"1,f,xs,d,s":["姑表外甥"],"0,f,xs,d,d":["姑表姨甥女"],"1,f,xs,d,d":["姑表外甥女"],m:["老母"],"m,f":["阿公"],"m,f,f":["外太公"],"m,f,m":["外太婆"],"m,m":["阿婆"],"m,m,f":["外太外公"],"m,m,m":["外太外婆"],"m,ob":["舅父"],"m,lb":["舅仔"],"m,xb,w":["舅母"],"0,m,xb,d,s":["舅表姨甥"],"1,m,xb,d,s":["舅表外甥"],"0,m,xb,d,d":["舅表姨甥女"],"1,m,xb,d,d":["舅表外甥女"],"m,os":["姨媽"],"m,ls":["姨仔"],"m,xs,h":["姨丈"],"0,m,xb,d,s":["姨姨甥"],"1,m,xb,d,s":["姨外甥"],"0,m,xb,d,d":["姨姨甥女"],"1,m,xb,d,d":["姨外甥女"],ob:["大佬"],"ob,w":["阿嫂"],lb:["細佬"],"lb,w":["弟婦"],"xb,s":["侄"],"xb,d":["侄女"],os:["家姐"],"os,h":["姐夫"],ls:["阿妹"],"ls,h":["妹夫"],"0,xs,s":["姨甥"],"1,xs,s":["外甥"],"0,xs,d":["姨甥女"],"1,xs,d":["外甥女"],s:["仔"],"s,w":["新婦"],"s,s":["孫"],"s,s,w":["孫新婦"],"s,s,s":["息仔"],"s,s,d":["息女"],"s,d":["孫女"],"s,d,h":["孫女婿"],"s,d,s":["外息仔"],"s,d,d":["外息女"],d:["女"],"d,s":["外孫"],"d,s,w":["外孫新婦"],"d,s,s":["外息仔"],"d,s,d":["外息女"],"d,d":["外孫女"],"d,d,h":["外孫女婿"],"d,d,s":["外息仔"],"d,d,d":["外息女"]}},north:{name:"北方",data:{"m,m":["姥姥"],"m,m,xs":["姨姥姥"],"m,m,xs,h":["姨姥爺"],"m,m,xb":["舅姥爺"],"m,m,xb,w":["舅姥姥"],"m,f":["姥爺"],"m,f,xs":["姑姥姥"],"m,f,xs,h":["姑姥爺"],"m,f,ob":["大姥爺"],"m,f,ob,w":["大姥姥"],"m,f,lb":["小姥爺"],"m,f,lb,w":["小姥姥"],"f,ob":["大爺"],"f,ob,w":["大娘"]}}}})); diff --git a/dist/relationship.min.js b/dist/relationship.min.js index 41c0393..bf5994c 100644 --- a/dist/relationship.min.js +++ b/dist/relationship.min.js @@ -8,6 +8,6 @@ * Released under the MIT License * https://github.com/mumuy/relationship * - * Created on: 2023-02-28 + * Created on: 2023-03-07 */ -!function(s,f){"object"==typeof exports&&"object"==typeof module?module.exports=f():"function"==typeof define&&define.amd?define([],f):"object"==typeof exports?exports.relationship=f():s.relationship=f()}(this,(()=>(()=>{"use strict";var s={d:(f,x)=>{for(var d in x)s.o(x,d)&&!s.o(f,d)&&Object.defineProperty(f,d,{enumerable:!0,get:x[d]})},o:(s,f)=>Object.prototype.hasOwnProperty.call(s,f)},f={};s.d(f,{default:()=>q});const x=[{exp:/^(\S+?)(应该|得)?(称呼|叫|喊)(\S+?)(什么|啥)??$/,opt:s=>({text:s[4],target:s[1]})},{exp:/^(\S+?)(应该|得)?(如何|怎么)(称呼|叫|喊)(\S+?)??$/,opt:s=>({text:s[5],target:s[1]})},{exp:/^(\S+?)是(\S+?)的(谁|什么|什么亲戚|啥亲戚|什么人)??$/,opt:s=>({text:s[1],target:s[2],type:s[1].indexOf("的")>-1?"default":"chain"})},{exp:/^(\S+?)(应该|得)?管(\S+?)叫(什么|啥)??$/,opt:s=>({text:s[3],target:s[1]})},{exp:/^(\S+?)(和|与)(\S+?)(之间)?是(什么|啥)关系??$/,opt:s=>({text:s[1],target:s[3],type:"pair"})},{exp:/^(\S+?)对于(\S+?)是(什么|啥)关系??$/,opt:s=>({text:s[1],target:s[2],type:"chain"})},{exp:/^(\S+?)(指的)?是(什么|啥)(意思|关系|亲戚关系|辈分|人)??$/,opt:s=>({text:s[1],type:"chain"})},{exp:/^(\S+?)(应该|得)?(称呼|叫|喊)(什么|啥)??$/,opt:s=>({text:s[1]})},{exp:/^(\S+?)(应该|得)?(如何|怎么)(称呼|叫|喊)??$/,opt:s=>({text:s[1]})},{exp:/^(\S+?)是(谁|什么|什么亲戚|啥亲戚|什么人|什么辈分|啥辈分)??$/,opt:s=>({text:s[1],type:s[1].indexOf("的")>-1?"default":"chain"})}];const d=[{exp:/^(.+)&o([^#]+)&l/g,str:"$1$2"},{exp:/^(.+)&l([^#]+)&o/g,str:"$1$2"},{exp:/^(.+)?,o([sb](&\d+)?)([^#]+)&l/g,str:"$1,x$2$4"},{exp:/^(.+)?,l([sb](&\d+)?)([^#]+)&o/g,str:"$1,x$2$4"},{exp:/(,o[sb](&\d+)?)+(,o[sb])(&\d+)?/,str:"$3$4"},{exp:/(,l[sb](&\d+)?)+(,l[sb])(&\d+)?/,str:"$3$4"},{exp:/^(.*,[fh1])(,[olx][sb](&\d+)?)+,[olx]b(.*)$/,str:"$1,xb$4#$1$4"},{exp:/^(.*,[mw0])(,[olx][sb](&\d+)?)+,[olx]s(.*)$/,str:"$1,xs$4#$1$4"},{exp:/(,[fh1])(,[olx][sb](&\d+)?)+,[olx]s/g,str:"$1,xs"},{exp:/(,[mw0])(,[olx][sb](&\d+)?)+,[olx]b/g,str:"$1,xb"},{exp:/^,[olx][sb](&\d+)?,[olx]b(.+)?$/,str:",xb$2#$2"},{exp:/^,[olx][sb](&\d+)?,[olx]s(.+)?$/,str:",xs$2#$2"},{exp:/^,x([sb])$/,str:",o$1#,l$1"},{exp:/m,h/g,str:"f"},{exp:/f,w/g,str:"m"},{exp:/,[xol][sb](&\d+)?(,[mf])/g,str:"$2"},{exp:/,[mf],d(&\d+)/,str:",xs$1"},{exp:/,[mf],d&([ol])/,str:",$1s"},{exp:/,[mf],s(&\d+)/,str:",xb$1"},{exp:/,[mf],s&([ol])/,str:",$1b"},{exp:/^(.*,[fh1]|[xol]b(&\d+)?),[mf],s(.*)$/,str:"$1,xb$3#$1$3"},{exp:/^(.*,[mw0]|[xol]s(&\d+)?),[mf],d(.*)$/,str:"$1,xs$3#$1$3"},{exp:/(,[mw0]|[xol]s(&\d+)?),[mf],s/,str:"$1,xb"},{exp:/(,[fh1]|[xol]b(&\d+)?),[mf],d/,str:"$1,xs"},{exp:/^,[mf],s(.+)?$/,str:",xb$1#,1$1"},{exp:/^,[mf],d(.+)?$/,str:",xs$1#,0$1"},{exp:/,[ds](&[ol\d]+)?,[olx]b(&\d+)/g,str:",s$2"},{exp:/,[ds](&[ol\d]+)?,[olx]s(&\d+)/g,str:",d$2"},{exp:/,[ds]&o,ob/g,str:",s&o"},{exp:/,[ds]&o,os/g,str:",d&o"},{exp:/,[ds]&l,lb/g,str:",s&l"},{exp:/,[ds]&l,ls/g,str:",d&l"},{exp:/,[ds](&[ol\d]+)?,[olx]s(&\d+)?/g,str:",d$2"},{exp:/,[ds](&[ol\d]+)?,[olx]b(&\d+)?/g,str:",s$2"},{exp:/(,[mwd0]|,[olx]s)(&[ol\d]+)?,[ds](&[ol\d]+)?,m/g,str:"$1"},{exp:/(,[mwd0]|,[olx]s)(&[ol\d]+)?,[ds](&[ol\d]+)?,f/g,str:"$1,h"},{exp:/(,[fhs1]|,[olx]b)(&[ol\d]+)?,[ds](&[ol\d]+)?,f/g,str:"$1"},{exp:/(,[fhs1]|,[olx]b)(&[ol\d]+)?,[ds](&[ol\d]+)?,m/g,str:"$1,w"},{exp:/^,[ds],m(.+)?$/,str:",w$1#$1"},{exp:/^,[ds],f(.+)?$/,str:",h$1#$1"},{exp:/,[wh](,[ds])/g,str:"$1"},{exp:/,w,h|,h,w/g,str:""},{exp:/(.+)?\[([^\|]+?)\|([^\[\]]*\|[^\[\]]*)\](.+)?/g,str:"$1$2$4#$1[$3]$4"},{exp:/(.+)?\[([^\[\]\|]+?)\|([^\[\]\|]+?)?\](.+)?/g,str:"$1$2$4#$1$3$4"}],m=[{exp:/^从表/,arr:["从父姑表","从父舅表","从父姨表","从母姑表","从母舅表","从母叔表"]},{exp:/^表表/,arr:["姑表叔表","姑表姑表","姑表舅表","姑表姨表","舅表叔表","舅表姑表","舅表舅表","舅表姨表"]},{exp:/^([夫妻内外]?)表/,arr:["$1姑表","$1舅表"]},{exp:/^([姑舅])表(?=[^伯叔])/,arr:["$1表伯","$1表叔"]},{exp:/^姻/,arr:["姑姻","姨姻","姊妹姻","女姻"]},{exp:/^眷/,arr:["叔眷","舅眷","兄弟眷","男眷"]},{exp:/^亲家/,arr:["姊妹姻","兄弟眷"]},{exp:/^([堂表姨]?)([曾高天烈太远鼻]?)(祖?)([伯叔姑舅姨])/,arr:["$1$4$2$3"]},{exp:/^([曾高天烈太远鼻]?)祖?王姑/,arr:["姑$1祖母"]},{exp:/^([曾玄元来晜仍云耳])([侄甥])/,arr:["$2$1"]},{exp:/^外表([伯叔姑舅姨])/,arr:["姑表$1外","舅表$1外"]},{exp:/([堂表姨]?)外甥/,arr:["$1甥"]},{exp:/^([舅叔])([曾玄外]*)孙/,arr:["$1侄$2孙"]},{exp:/^([姨姑])([曾玄外]*)孙/,arr:["$1甥$2孙"]},{exp:/([孙甥侄])$/,arr:["$1男","$1女"]},{exp:/([姑舅姨叔])([孙外]*)([男女])$/,arr:["$1表侄$2$3","$1表甥$2$3"]},{exp:/(.+)父母$/,arr:["$1父","$1母"]},{exp:/(.+)公婆$/,arr:["$1公","$1婆"]},{exp:/祖$/,arr:["祖父"]},{exp:/(新妇|媳)$/,arr:["媳妇"]},{exp:/嫂$/,arr:["兄妇"]},{exp:/女儿$/,arr:["女"]}],b={晜:"兄",哥:"兄",姐:"姊",侄:"姪",婿:"壻",祖父:"王父",祖母:"王母",孙女婿:"孙婿",甥女婿:"甥婿",侄女婿:"侄婿",孙媳妇:"孙妇",甥媳妇:"甥妇",侄媳妇:"侄妇"},h=["","一","二","三","四","五","六","七","八","九","十"];function l(s){let f=0;const x={大:1,小:99};if(x[s])f=x[s];else{let[x,d=0]=s.replace(/^十/,"一十").split("十").map((s=>h.indexOf(s))).reverse();f=10*d+x}return f}const o={"f#s":["父子"],"m#s":["母子"],"f#d":["父女"],"m#d":["母女"],"h#w":["夫妻"],"ob#lb":["兄弟"],"ob#ls":["兄妹"],"os#ls":["姐妹"],"os#lb":["姐弟"],"w,f#d,h":["翁婿"],"w,m#d,h":["母婿"],"h,f#s,w":["翁媳"],"h,m#s,w":["婆媳"],"f,[f|m]#s,[s|d]":["祖孙"],"m,f#d,[s|d]":["公孙"],"m,m#d,[s|d]":["婆孙"],"f,[ob|ob,w]#[lb|h,lb],[s|d]":["伯侄"],"f,lb#ob,[s|d]":["叔侄"],"f,lb,w#h,ob,[s|d]":["婶侄"],"f,[xs|xs,h]#[xb|w,xb],[s|d]":["姑侄"],"m,[xb|xb,w]#[xs|h,xs],[s|d]":["舅甥"],"m,[xs|xs,h]#[xs|w,xs],[s|d]":["姨甥"],"f,xb,s&o#f,xb,s&l":["堂兄弟"],"f,xb,s&o#f,xb,d&l":["堂兄妹"],"f,xb,d&o#f,xb,s&l":["堂姐弟"],"f,xb,d&o#f,xb,d&l":["堂姐妹"],"f,xs,s&o#m,xb,s&l":["表兄弟"],"m,xb,s&o#f,xs,s&l":["表兄弟"],"f,xs,s&o#m,xb,d&l":["表兄妹"],"m,xb,s&o#f,xs,d&l":["表兄妹"],"f,xs,d&o#m,xb,d&l":["表姐妹"],"m,xb,d&o#f,xs,d&l":["表姐妹"],"f,xs,d&o#m,xb,s&l":["表姐弟"],"m,xb,d&o#f,xs,s&l":["表姐弟"],"m,xs,s&o#m,xs,s&l":["姨兄弟"],"m,xs,s&o#m,xs,d&l":["姨兄妹"],"m,xs,d&o#m,xs,s&l":["姨姐弟"],"m,xs,d&o#m,xs,d&l":["姨姐妹"],"h,ob,w#h,lb,w":["妯娌"],"w,os,h#w,ls,h":["连襟"],"w,os#ls,h":["襟姐弟"],"w,ls#os,h":["襟兄妹"],"xs,h#w,xb":["郎舅"],"xs,h#w,xs":["郎姨"],"lb,w#h,ob":["伯媳"],"ob,w#h,lb":["叔嫂"],"xb,w#h,xs":["姑嫂"],"d,h,[f|m]#s,w,[f|m]":["儿女亲家"]},M={"{G2}":{"f,f,xb":["从祖"],"m,f,xb":["外从祖"]},"{G1}":{"f,xb":["堂","同堂","亲堂","从父","叔伯","从"],"f,xs":["姑表","姑家"],"m,xb":["舅表","舅家"],"m,xs":["姨","从母","两姨","姨表","从"],"f,f,xb,s":["从堂","再从父","远堂","堂叔伯","叔伯叔伯","再从"],"f,f,xb,d":["堂姑表","从父姑表"],"f,f,xs,s":["姑表叔表"],"f,f,xs,d":["姑表姑表"],"f,m,xb,s":["舅表叔表"],"f,m,xb,d":["舅表姑表"],"f,m,xs,s":["从母叔表"],"f,m,xs,d":["从母姑表"],"m,f,xb,s":["堂舅表","从父舅表"],"m,f,xb,d":["堂姨表","从父姨表"],"m,f,xs,s":["姑表舅表"],"m,f,xs,d":["姑表姨表"],"m,m,xb,s":["舅表舅表"],"m,m,xb,d":["舅表姨表"],"m,m,xs,s":["从母舅表"],"m,m,xs,d":["再从母","姨姨","再从"],"f,f,f,xb,s,s":["三从父","再从堂","远堂","族","三从"],"m,m,m,xs,d,d":["三从母","三从"],"f,f,f,f,xb,s,s,s":["四从父","三从堂","远堂","族","四从"],"m,m,m,m,xs,d,d,d":["四从母","四从"],"[f|m],[f|m],[f|m],[f,xs|m,xb],[s|d],[s|d],[s|d]":["重表"],"[f|m],[f|m],[f,xs|m,xb],[s|d],[s|d]":["重表"]},"{G1M}":{"f,ob":["伯"],"f,lb":["叔","仲","季"],"m,xb":["舅"],"f,f,xb,s":["堂","从父","叔伯","从"],"f,f,xb,s&o":["堂伯","从父伯","叔伯伯","从伯"],"f,f,xb,s&l":["堂叔","从父叔","叔伯叔","从叔"],"f,f,f,xb,s,s":["从堂"],"f,f,f,xb,s,s&o":["从堂伯"],"f,f,f,xb,s,s&l":["从堂叔"],"f,f,f,f,xb,s,s,s":["族"],"f,f,xs,s&o":["姑表伯"],"f,f,xs,s&l":["姑表叔"],"f,m,xb,s&o":["舅表伯"],"f,m,xb,s&l":["舅表叔"],"f,m,xs,s&o":["姨伯","从母伯","从伯"],"f,m,xs,s&l":["姨叔","从母叔","从叔"],"m,f,xb,s":["堂舅","从父舅"],"m,f,xs,s":["姑表舅"],"m,m,xb,s":["舅表舅"],"m,m,xs,s":["姨舅","从母舅"],"f,[f|m],[f|m],[f,xs|m,xb],[s|d],[s|d],s&o":["重表伯"],"f,[f|m],[f|m],[f,xs|m,xb],[s|d],[s|d],s&l":["重表叔"],"f,[f|m],[f,xs|m,xb],[s|d],s&o":["重表伯"],"f,[f|m],[f,xs|m,xb],[s|d],s&l":["重表叔"],"m,[f|m],[f|m],[f,xs|m,xb],[s|d],[s|d],s":["重表舅"],"m,[f|m],[f,xs|m,xb],[s|d],s":["重表舅"]},"{G1W}":{"f,xs":["姑"],"m,xs":["姨","姏","茙","荻"],"f,f,xb,d":["堂姑","从父姑"],"f,f,f,xb,s,d":["从堂姑"],"f,f,xs,d":["姑表姑"],"f,m,xb,d":["舅表姑"],"f,m,xs,d":["姨姑","从母姑"],"m,f,xb,d":["堂姨","从父姨"],"m,f,xs,d":["姑表姨"],"m,m,xb,d":["舅表姨"],"m,m,xs,d":["姨姨","从母姨"],"f,[f|m],[f|m],[f,xs|m,xb],[s|d],[s|d],d":["重表姑"],"f,[f|m],[f,xs|m,xb],[s|d],d":["重表姑"],"m,[f|m],[f|m],[f,xs|m,xb],[s|d],[s|d],d":["重表姨"],"m,[f|m],[f,xs|m,xb],[s|d],d":["重表姨"]},"{G0}":{xb:["侄"],"1,xb":["从"],"1,f,xb,s":["再从"],"1,f,f,xb,s,s":["三从"],"h,xb":["叔侄","叔伯"],"w,xb":["舅侄"],xs:["甥","外甥"],"0,xs":["从"],"0,m,xs,d":["再从"],"0,m,m,xs,d,d":["三从"],"h,xs":["姑甥"],"w,xs":["姨甥","襟侄"]},"{M2W}":{"f,f,xb,w":["叔祖眷"],"m,f,xb,w":["叔外祖眷"],"f,m,xb,w":["舅祖眷"],"m,m,xb,w":["舅外祖眷"]},"{M2M}":{"f,f,xs,h":["姑祖姻"],"m,f,xs,h":["姑外祖姻"],"f,m,xs,h":["姨祖姻"],"m,m,xs,h":["姨外祖姻"]},"{M1W}":{"f,xb,w":["叔眷"],"f,f,xb,s,w":["从父叔眷"],"f,f,xs,s,w":["姑表叔眷"],"f,m,xb,s,w":["舅表叔眷"],"f,m,xs,s,w":["姨表叔眷"],"m,xb,w":["舅眷"],"m,f,xb,s,w":["从父舅眷"],"m,f,xs,s,w":["姑表舅眷"],"m,m,xb,s,w":["舅表舅眷"],"m,m,xs,s,w":["姨表舅眷"]},"{M1M}":{"f,xs,h":["姑姻"],"f,f,xb,d,h":["从父姑姻"],"f,f,xs,d,h":["姑表姑姻"],"f,m,xb,d,h":["舅表姑姻"],"f,m,xs,d,h":["姨表姑姻"],"m,xs,h":["姨姻"],"m,f,xb,d,h":["从父姨姻"],"m,f,xs,d,h":["姑表姨姻"],"m,m,xb,d,h":["舅表姨姻"],"m,m,xs,d,h":["姨表姨姻"]},"{M0}":{"xb,w":["兄弟眷"],"xs,h":["姊妹姻"],"w,xb,w":["舅兄弟眷","内兄弟眷"],"w,xs,h":["姨姊妹姻","内姊妹姻"],"h,xb,w":["叔兄弟眷","外兄弟眷"],"h,xs,h":["姑姊妹姻","外姊妹姻"],"f,xb,s,w":["从父兄弟眷"],"f,xb,d,h":["从父姊妹姻"],"f,xs,s,w":["姑表兄弟眷"],"f,xs,d,h":["姑表姊妹姻"],"m,xb,s,w":["舅表兄弟眷"],"m,xb,d,h":["舅表姊妹姻"],"m,xs,s,w":["从母兄弟眷"],"m,xs,d,h":["从母姊妹姻"]},"{M-1}":{"s,w":["男眷","息眷"],"d,h":["女姻","息姻"],"xb,s,w":["侄眷"],"xb,d,h":["侄姻"],"xs,s,w":["甥眷"],"xs,d,h":["甥姻"],"h,xb,s,w":["叔侄眷"],"h,xb,d,h":["叔侄姻"],"h,xs,s,w":["姑甥眷"],"h,xs,d,h":["姑甥姻"],"w,xb,s,w":["舅侄眷"],"w,xb,d,h":["舅侄姻"],"w,xs,s,w":["姨甥眷"],"w,xs,d,h":["姨甥姻"],"f,xb,s,s,w":["堂侄眷"],"f,xb,s,d,h":["堂侄姻"],"f,xb,d,s,w":["堂甥眷"],"f,xb,d,d,h":["堂甥姻"],"f,xs,s,s,w":["姑表侄眷"],"f,xs,s,d,h":["姑表侄姻"],"f,xs,d,s,w":["姑表甥眷"],"f,xs,d,d,h":["姑表甥姻"],"m,xb,s,s,w":["舅表侄眷"],"m,xb,s,d,h":["舅表侄姻"],"m,xb,d,s,w":["舅表甥眷"],"m,xb,d,d,h":["舅表甥姻"],"m,xs,s,s,w":["姨侄眷"],"m,xs,s,d,h":["姨侄姻"],"m,xs,d,s,w":["姨甥眷"],"m,xs,d,d,h":["姨甥姻"]},"{M-2}":{"s,s,w":["孙眷"],"s,d,h":["孙姻"],"d,s,w":["外孙眷"],"d,d,h":["外孙姻"],"xb,s,s,w":["侄孙眷"],"xb,s,d,h":["侄孙姻"],"xb,d,s,w":["侄外孙眷"],"xb,d,d,h":["侄外孙姻"],"xs,s,s,w":["甥孙眷"],"xs,s,d,h":["甥孙姻"],"xs,d,s,w":["甥外孙眷"],"xs,d,d,h":["甥外孙姻"],"h,xb,s,s,w":["叔侄孙眷","叔伯孙眷","叔孙眷"],"h,xb,s,d,h":["叔侄孙姻","叔伯孙姻","叔孙姻"],"h,xb,d,s,w":["叔侄外孙眷","叔伯外孙眷","叔外孙眷"],"h,xb,d,d,h":["叔侄外孙姻","叔伯外孙姻","叔外孙姻"],"h,xs,s,s,w":["姑甥孙眷","姑孙眷"],"h,xs,s,d,h":["姑甥孙姻","姑孙姻"],"h,xs,d,s,w":["姑甥外孙眷","姑外孙眷"],"h,xs,d,d,h":["姑甥外孙姻","姑外孙姻"],"w,xb,s,s,w":["舅侄孙眷","舅孙眷"],"w,xb,s,d,h":["舅侄孙姻","舅孙姻"],"w,xb,d,s,w":["舅侄外孙眷","舅外孙眷"],"w,xb,d,d,h":["舅侄外孙姻","舅外孙姻"],"w,xs,s,s,w":["姨甥孙眷","姨孙眷"],"w,xs,s,d,h":["姨甥孙姻","姨孙姻"],"w,xs,d,s,w":["姨甥外孙眷","姨外孙眷"],"w,xs,d,d,h":["姨甥外孙姻","姨外孙姻"]}},w={"{G2}":["祖父"],"{G2},w":["祖母"],"{G2},s":["父"],"{G2},s,w":["母"],"{G2},s,s":["兄弟"],"{G2},s,s&o":["兄"],"{G2},s,s&l":["弟"],"{G2},s,d":["姊妹"],"{G2},s,d&o":["姊"],"{G2},s,d&l":["妹"],"{G2},s,s,s":["男","子"],"{G2},s,s,d":["女"],"f,f,f,f,f,f,f,f,{G1M}":["鼻祖父"],"f,f,f,f,f,f,f,f,{G1M},w":["鼻祖母"],"f,f,f,f,f,f,f,f,{G1W}":["鼻祖母"],"f,f,f,f,f,f,f,f,{G1W},h":["鼻祖父"],"f,f,f,f,f,f,f,{G1M}":["远祖父"],"f,f,f,f,f,f,f,{G1M},w":["远祖母"],"f,f,f,f,f,f,f,{G1W}":["远祖母"],"f,f,f,f,f,f,f,{G1W},h":["远祖父"],"f,f,f,f,f,f,{G1M}":["太祖父"],"f,f,f,f,f,f,{G1M},w":["太祖母"],"f,f,f,f,f,f,{G1W}":["姑太祖母"],"f,f,f,f,f,f,{G1W},h":["姑太祖父"],"f,f,f,f,f,{G1M}":["烈祖父"],"f,f,f,f,f,{G1M},w":["烈祖母"],"f,f,f,f,f,{G1W}":["烈祖母"],"f,f,f,f,f,{G1W},h":["烈祖父"],"f,f,f,f,{G1M}":["天祖父"],"f,f,f,f,{G1M},w":["天祖母"],"f,f,f,f,{G1W}":["天祖母"],"f,f,f,f,{G1W},h":["天祖父"],"f,f,f,{G1M}":["高祖父","外曾外曾外毑父"],"f,f,f,{G1M},w":["高祖母","外曾外曾外毑母"],"f,f,f,{G1W}":["高祖母","外曾外曾外毑母"],"f,f,f,{G1W},h":["高祖父","外曾外曾外毑父"],"f,f,m,{G1M}":["高外祖父","外曾外曾毑父"],"f,f,m,{G1M},w":["高外祖母","外曾外曾毑母"],"f,f,m,{G1W}":["高外祖母","外曾外曾毑母"],"f,f,m,{G1W},h":["高外祖父","外曾外曾毑父"],"f,m,f,{G1M}":["曾外曾祖父","外高外毑父"],"f,m,f,{G1M},w":["曾外曾祖母","外高外毑母"],"f,m,f,{G1W}":["曾外曾祖母","外高外毑母"],"f,m,f,{G1W},h":["曾外曾祖父","外高外毑父"],"f,m,m,{G1M}":["曾外曾外祖父","外高毑父"],"f,m,m,{G1M},w":["曾外曾外祖母","外高毑母"],"f,m,m,{G1W}":["曾外曾外祖母","外高毑母"],"f,m,m,{G1W},h":["曾外曾外祖父","外高毑父"],"m,f,f,{G1M}":["外高祖父","曾外曾外毑父"],"m,f,f,{G1M},w":["外高祖母","曾外曾外毑母"],"m,f,f,{G1W}":["外高祖母","曾外曾外毑母"],"m,f,f,{G1W},h":["外高祖父","曾外曾外毑父"],"m,f,m,{G1M}":["外高外祖父","曾外曾祖毑父"],"m,f,m,{G1M},w":["外高外祖母","曾外曾祖毑母"],"m,f,m,{G1W}":["外高外祖母","曾外曾祖毑母"],"m,f,m,{G1W},h":["外高外祖父","曾外曾祖毑父"],"m,m,f,{G1M}":["外曾外曾祖父","高外毑父"],"m,m,f,{G1M},w":["外曾外曾祖母","高外毑母"],"m,m,f,{G1W}":["外曾外曾祖母","高外毑母"],"m,m,f,{G1W},h":["外曾外曾祖父","高外毑父"],"m,m,m,{G1M}":["外曾外曾外祖父","高毑父"],"m,m,m,{G1M},w":["外曾外曾外祖母","高毑母"],"m,m,m,{G1W}":["外曾外曾外祖母","高毑母"],"m,m,m,{G1W},h":["外曾外曾外祖父","高毑父"],"f,f,{G1M}":["?曾祖父","曾?祖父","?太公","太?公","?公太","太?爷","?太爷","?太爷爷","太?爷爷"],"f,f,{G1M},w":["?曾祖母","曾?祖母","?太婆","太?婆","?婆太","太?奶","?太奶","?太奶奶","太?奶奶"],"f,f,{G1W}":["?曾祖母","曾?祖母","?太婆","太?婆","?婆太","太?奶","?太奶","?太奶奶","太?奶奶"],"f,f,{G1W},h":["?曾祖父","曾?祖父","?太公","太?公","?公太","太?爷","?太爷","?太爷爷","太?爷爷"],"f,m,{G1M}":["?曾外祖父","曾外?祖父","?太外公","太外?公","太外?爷","?太外爷","?太外爷爷","太外?爷爷"],"f,m,{G1M},w":["?曾外祖母","曾外?祖母","?太外婆","太外?婆","太外?奶","?太外奶","?太外奶奶","太外?奶奶"],"f,m,{G1W}":["?曾外祖母","曾外?祖母","?太外婆","太外?婆","太外?奶","?太外奶","?太外奶奶","太外?奶奶"],"f,m,{G1W},h":["?曾外祖父","曾外?祖父","?太外公","太外?公","太外?爷","?太外爷","?太外爷爷","太外?爷爷"],"m,f,{G1M}":["?外曾祖父","外曾?祖父","?外太公","外太?公","外太?爷","?外太爷","?外太爷爷","外太?爷爷"],"m,f,{G1M},w":["?外曾祖母","外曾?祖母","?外太婆","外太?婆","外太?奶","?外太奶","?外太奶奶","外太?奶奶"],"m,f,{G1W}":["?外曾祖母","外曾?祖母","?外太婆","外太?婆","外太?奶","?外太奶","?外太奶奶","外太?奶奶"],"m,f,{G1W},h":["?外曾祖父","外曾?祖父","?外太公","外太?公","外太?爷","?外太爷","?外太爷爷","外太?爷爷"],"m,m,{G1M}":["?外曾外祖父","外曾外?祖父","?外太外公","外太外?公","外太外?爷","?外太外爷","?外太外爷爷","外太外?爷爷"],"m,m,{G1M},w":["?外曾外祖母","外曾外?祖母","?外太外婆","外太外?婆","外太外?奶","?外太外奶","?外太外奶奶","外太外?奶奶"],"m,m,{G1W}":["?外曾外祖母","外曾外?祖母","?外太外婆","外太外?婆","外太外?奶","?外太外奶","?外太外奶奶","外太外?奶奶"],"m,m,{G1W},h":["?外曾外祖父","外曾外?祖父","?外太外公","外太外?公","外太外?爷","?外太外爷","?外太外爷爷","外太?外爷爷"],"f,{G1M}":["祖父","公","太?父","奶爷","爷爷","爷"],"f,{G1M},w":["祖母","婆","太?母","奶奶","奶"],"f,{G1W}":["祖母","婆","太?母","奶奶","奶"],"f,{G1W},h":["祖父","公","太?父","奶爷","爷爷","爷"],"m,{G1M}":["外祖父","外公","外爷","外?公","外?祖父","外太?父","太外?父","姥爷","姥公","毑公","毑爷","毑父","嘎公"],"m,{G1M},w":["外祖母","外婆","外奶","外?婆","外?祖母","外太?母","太外?母","姥姥","姥娘","姥婆","毑婆","毑毑","毑母","嘎嘎","嫏嫏","嫏娘","姥"],"m,{G1W}":["外祖母","外婆","外奶","外?婆","外?祖母","外太?母","太外?母","姥姥","姥娘","姥婆","毑婆","毑毑","毑母","嘎嘎","嫏嫏","嫏娘","姥"],"m,{G1W},h":["外祖父","外公","外爷","外?公","外?祖父","外太?父","太外?父","姥爷","姥公","毑公","毑爷","毑父","嘎公"],"f,f,{G1},s&o":["伯祖父","伯爷爷"],"f,f,{G1},s&o,w":["伯祖母","伯奶奶"],"f,f,{G1},s&l":["叔祖父","叔爷爷"],"f,f,{G1},s&l,w":["叔祖母","叔奶奶"],"f,f,{G1},d":["姑祖母","姑奶奶"],"f,f,{G1},d,h":["姑祖父","姑爷爷"],"f,m,{G1},s":["舅祖父","舅爷爷"],"f,m,{G1},s,w":["舅祖母","舅奶奶"],"f,m,{G1},d":["姨祖母","姨奶奶"],"f,m,{G1},d,h":["姨祖父","姨爷爷"],"m,f,{G1},s&o":["伯外祖父","伯外公","伯姥爷"],"m,f,{G1},s&o,w":["伯外祖母","伯外婆","伯姥姥"],"m,f,{G1},s&l":["叔外祖父","叔外公","叔姥爷"],"m,f,{G1},s&l,w":["叔外祖母","叔外婆","叔姥姥"],"m,f,{G1},d":["姑外祖母","姑外婆","姑姥姥"],"m,f,{G1},d,h":["姑外祖父","姑外公","姑姥爷"],"m,m,{G1},s":["舅外祖父","舅外公","舅姥爷"],"m,m,{G1},s,w":["舅外祖母","舅外婆","舅姥姥"],"m,m,{G1},d":["姨外祖母","姨外公","姨姥爷"],"m,m,{G1},d,h":["姨外祖父","姨外婆","姨姥姥"],"{G1M}":["父"],"{G1M},w":["母"],"{G1W}":["母"],"{G1W},h":["父"],"f,{G1},s&o":["伯父","伯伯","伯","大爷"],"f,{G1},s&o,w":["伯母","大娘"],"f,{G1},s&l":["叔父","叔爸","叔叔","叔"],"f,{G1},s&l,w":["叔母","婶"],"f,{G1},d":["姑母","姑姑","姑妈","姑"],"f,{G1},d,h":["姑父"],"m,{G1},s":["舅父","舅舅","舅爸","舅"],"m,{G1},s,w":["舅母","舅妈"],"m,{G1},d":["姨母","姨姨","姨妈","姨"],"m,{G1},d,h":["姨父","姨爸","姨丈"],"{G1},s":["兄弟"],"{G1},s,w":["兄弟妇"],"{G1},s&o":["哥","兄"],"{G1},s&o,w":["嫂","嫂子","兄妇"],"{G1},s&l":["弟"],"{G1},s&l,w":["弟媳","弟妇"],"{G1},s,s":["侄男","侄子","侄儿"],"{G1},s,s,w":["侄妇"],"{G1},s,s,s":["侄孙男"],"{G1},s,s,s,w":["侄孙妇"],"{G1},s,s,s,s":["侄曾孙男"],"{G1},s,s,s,s,w":["侄曾孙妇"],"{G1},s,s,s,s,s":["侄玄孙男"],"{G1},s,s,s,s,s,w":["侄玄孙妇"],"{G1},s,s,s,s,d":["侄玄孙女"],"{G1},s,s,s,s,d,h":["侄玄孙婿"],"{G1},s,s,d":["侄孙女"],"{G1},s,s,d,h":["侄孙婿"],"{G1},s,s,s,d":["侄曾孙女"],"{G1},s,s,s,d,h":["侄曾孙婿"],"{G1},s,d":["侄女","侄女儿"],"{G1},s,d,h":["侄婿"],"{G1},s,d,s":["侄外孙男","外孙男"],"{G1},s,d,s,w":["侄外孙妇"],"{G1},s,d,d":["侄外孙女","外孙女"],"{G1},s,d,d,h":["侄外孙婿"],"{G1},d":["姐妹"],"{G1},d,h":["姐妹壻"],"{G1},d&o":["姐"],"{G1},d&o,h":["姐夫"],"{G1},d&l":["妹"],"{G1},d&l,h":["妹夫"],"{G1},d,s":["甥男"],"{G1},d,s,w":["甥妇"],"{G1},d,s,s":["甥孙男"],"{G1},d,s,s,w":["甥孙妇"],"{G1},d,s,d":["甥孙女"],"{G1},d,s,d,h":["甥孙婿"],"{G1},d,d":["甥女"],"{G1},d,d,h":["甥婿"],"{G1},d,d,s":["甥外孙男","外孙男"],"{G1},d,d,s,w":["甥外孙妇"],"{G1},d,d,d":["甥外孙女","外孙女"],"{G1},d,d,d,h":["甥外孙婿"],"h,f,{G1M}":["祖公父","祖公","祖翁","奶公"],"h,f,{G1M},w":["祖婆母","祖婆","祖姆","奶婆"],"h,f,{G1W}":["祖婆母","祖婆","祖姆","奶婆"],"h,f,{G1W},h":["祖公父","祖公","祖翁","奶公"],"h,m,{G1M}":["外祖公父","外祖公","外祖翁","姥公"],"h,m,{G1M},w":["外祖婆母","外祖婆","外祖姆","姥婆"],"h,m,{G1W}":["外祖婆母","外祖婆","外祖姆","姥婆"],"h,m,{G1W},h":["外祖公父","外祖公","外祖翁","姥公"],"h,{G1M}":["公父","公公"],"h,{G1M},w":["婆母","婆婆"],"h,{G1W}":["婆母","婆婆"],"h,{G1W},h":["公父","公公"],"h,{G1},s&o":["大伯子","大伯兄"],"h,{G1},s&o,w":["大婶子","大伯嫂"],"h,{G1},s&l":["小叔子","小叔弟"],"h,{G1},s&l,w":["小婶子","小叔弟妇"],"h,{G1},s":["伯叔"],"h,{G1},s,w":["妯娌"],"h,{G1},d&o":["大姑子","大姑姐"],"h,{G1},d&o,h":["大姑夫","大姑姐夫"],"h,{G1},d&l":["小姑子","小姑妹"],"h,{G1},d&l,h":["小姑夫","小姑妹夫"],"h,{G1},d":["姑子"],"h,{G1},d,h":["姑夫"],"w,f,{G1M}":["祖岳父","太?岳","祖丈人","爷丈人","奶爷丈人"],"w,f,{G1M},w":["祖岳母","太?岳母","祖丈母","祖丈母娘","奶丈母娘","奶丈母"],"w,f,{G1W}":["祖岳母","太?岳母","祖丈母","祖丈母娘","奶丈母娘","奶丈母"],"w,f,{G1W},h":["祖岳父","太?岳父","祖丈人","爷丈人","奶爷丈人"],"w,m,{G1M}":["外祖岳父","外太?岳父","太外?岳父","外祖丈人","姥爷丈人"],"w,m,{G1M},w":["外祖岳母","外太?岳母","太外?岳母","外祖丈母","外祖丈母娘","姥丈母娘","姥丈母"],"w,m,{G1W}":["外祖岳母","外太?岳母","太外?岳母","外祖丈母","外祖丈母娘","姥丈母娘","姥丈母"],"w,m,{G1W},h":["外祖岳父","外太?岳父","太外?岳父","外祖丈人","外爷丈人","姥爷丈人"],"w,{G1M}":["岳父","丈人","丈人爹"],"w,{G1M},w":["岳母","丈母","丈母娘"],"w,{G1W}":["岳母","丈母","丈母娘"],"w,{G1W},h":["岳父","丈人","丈人爹"],"w,{G1},s&o":["大舅子","大舅兄","舅兄"],"w,{G1},s&o,w":["大舅妇","大舅姆","大舅兄妇","舅兄妇","舅姐","大舅姐","大妗子","大妗儿"],"w,{G1},s&l":["小舅子","小舅弟","舅弟"],"w,{G1},s&l,w":["小舅妇","小舅姆","小舅弟妇","舅弟妇","舅妹","小舅妹","小妗子","小妗儿"],"w,{G1},s":["舅子"],"w,{G1},s,w":["舅嫂"],"w,{G1},d&o":["大姨子","大姨姐","姨姐"],"w,{G1},d&o,h":["大姨夫","大姨姐夫","襟兄","姨兄","大姨哥","大尹子"],"w,{G1},d&l":["小姨子","小姨妹","姨妹"],"w,{G1},d&l,h":["小姨夫","小姨妹夫","襟弟","姨弟","小姨弟","小尹子"],"w,{G1},d":["姨子"],"w,{G1},d,h":["连襟","连桥"],"{G0},s":["男","男儿","儿","子","儿子"],"{G0},s,w":["媳妇","媳","妇"],"{G0},s,s":["孙","孙男","孙子"],"{G0},s,s,w":["孙妇"],"{G0},s,s,s":["曾孙","曾孙男"],"{G0},s,s,s,w":["曾孙妇"],"{G0},s,s,s,s":["玄孙","玄孙男","元孙","元孙男"],"{G0},s,s,s,s,w":["玄孙妇"],"{G0},s,s,s,d":["玄孙女","元孙女"],"{G0},s,s,s,d,h":["玄孙婿"],"{G0},s,s,d":["曾孙女"],"{G0},s,s,d,h":["曾孙婿"],"{G0},s,s,d,s":["玄外孙","玄外孙男"],"{G0},s,s,d,s,w":["玄外孙妇"],"{G0},s,s,d,d":["玄外孙女"],"{G0},s,s,d,d,h":["玄外孙婿"],"{G0},s,d":["孙女"],"{G0},s,d,h":["孙婿"],"{G0},s,d,s":["曾外孙","曾外孙男"],"{G0},s,d,s,w":["曾外孙妇"],"{G0},s,d,s,s":["曾外曾孙","曾外曾孙男"],"{G0},s,d,s,s,w":["曾外曾孙妇"],"{G0},s,d,s,d":["曾外曾孙女"],"{G0},s,d,s,d,h":["曾外曾孙婿"],"{G0},s,d,d":["曾外孙女"],"{G0},s,d,d,h":["曾外孙婿"],"{G0},s,d,d,s":["曾外曾外孙","曾外曾外孙男"],"{G0},s,d,d,s,w":["曾外曾外孙妇"],"{G0},s,d,d,d":["曾外曾外孙女"],"{G0},s,d,d,d,h":["曾外曾外孙婿"],"{G0},d":["女","女儿"],"{G0},d,h":["女婿","婿"],"{G0},d,s":["外孙","外孙男"],"{G0},d,s,w":["外孙妇"],"{G0},d,s,s":["外曾孙","外曾孙男"],"{G0},d,s,s,w":["外曾孙妇"],"{G0},d,s,s,s":["外玄孙","外玄孙男"],"{G0},d,s,s,d":["外玄孙女"],"{G0},d,s,d":["外曾孙女"],"{G0},d,s,d,h":["外曾孙婿"],"{G0},d,s,d,s":["外玄外孙","外玄外孙男"],"{G0},d,s,d,d":["外玄外孙女"],"{G0},d,d":["外孙女"],"{G0},d,d,h":["外孙婿"],"{G0},d,d,s":["外曾外孙","外曾外孙男"],"{G0},d,d,s,w":["外曾外孙妇"],"{G0},d,d,s,s":["外曾外曾孙","外曾外曾孙男"],"{G0},d,d,s,d":["外曾外曾孙女"],"{G0},d,d,d":["外曾外孙女"],"{G0},d,d,d,h":["外曾外孙婿"],"{G0},d,d,d,s":["外曾外曾外孙"],"{G0},d,d,d,d":["外曾外曾外孙女"],"{M2W},xb":["舅祖父"],"{M2W},xb,w":["舅祖母"],"{M2W},xb,s&o":["舅表伯父"],"{M2W},xb,s&o,w":["舅表伯母"],"{M2W},xb,s&l":["舅表叔父"],"{M2W},xb,s&l,w":["舅表叔母"],"{M2W},xb,d":["舅表姑母"],"{M2W},xb,d,h":["舅表姑父"],"{M2W},xs":["姨祖母"],"{M2W},xs,h":["姨祖父"],"{M2W},xs,s&o":["姨伯父"],"{M2W},xs,s&o,w":["姨伯母"],"{M2W},xs,s&l":["姨叔父"],"{M2W},xs,s&l,w":["姨叔母"],"{M2W},xs,d":["姨姑母"],"{M2W},xs,d,h":["姨姑父"],"{M2M},xb":["叔祖父"],"{M2M},xb,w":["叔祖母"],"{M2M},xb,s&o":["堂伯父"],"{M2M},xb,s&o,w":["堂伯母"],"{M2M},xb,s&l":["堂叔父"],"{M2M},xb,s&l,w":["堂叔母"],"{M2M},xb,d":["堂姑母"],"{M2M},xb,d,h":["堂姑父"],"{M2M},xs":["姑祖母"],"{M2M},xs,h":["姑祖父"],"{M2M},xs,s&o":["姑表伯父"],"{M2M},xs,s&o,w":["姑表伯母"],"{M2M},xs,s&l":["姑表叔父"],"{M2M},xs,s&l,w":["姑表叔母"],"{M2M},xs,d":["姑表姑母"],"{M2M},xs,d,h":["姑表姑父"],"{M1W},f":["外祖父"],"{M1W},f,xb,s":["堂舅父"],"{M1W},f,xb,s,w":["堂舅母"],"{M1W},f,xb,d":["堂姨母"],"{M1W},f,xb,d,h":["堂姨父"],"{M1W},f,ob":["伯外祖父"],"{M1W},f,ob,w":["伯外祖母"],"{M1W},f,lb":["叔外祖父"],"{M1W},f,lb,w":["叔外祖母"],"{M1W},f,xs":["姑外祖母"],"{M1W},f,xs,h":["姑外祖父"],"{M1W},f,xs,s":["姑表舅父"],"{M1W},f,xs,s,w":["姑表舅母"],"{M1W},f,xs,d":["姑表姨母"],"{M1W},f,xs,d,h":["姑表姨父"],"{M1W},m":["外祖母"],"{M1W},m,xb":["舅外祖父"],"{M1W},m,xb,w":["舅外祖母"],"{M1W},m,xb,s":["舅表舅父"],"{M1W},m,xb,s,w":["舅表舅母"],"{M1W},m,xb,d":["舅表姨母"],"{M1W},m,xb,d,h":["舅表姨父"],"{M1W},m,xs":["姨外祖母"],"{M1W},m,xs,h":["姨外祖父"],"{M1W},m,xs,s":["姨舅父"],"{M1W},m,xs,s,w":["姨舅母"],"{M1W},m,xs,d":["姨姨母"],"{M1W},m,xs,d,h":["姨姨父"],"{M1W},xb":["舅父"],"{M1W},xb,w":["舅母"],"{M1W},xb,[s|d]":["舅表兄弟姊妹"],"{M1W},xb,s":["舅表兄弟"],"{M1W},xb,s,w":["舅表兄弟妇"],"{M1W},xb,s&o":["舅表兄"],"{M1W},xb,s&o,w":["舅表兄妇"],"{M1W},xb,s&l":["舅表弟"],"{M1W},xb,s&l,w":["舅表弟妇"],"{M1W},xb,s,s":["舅表侄男","侄男"],"{M1W},xb,s,s,w":["舅表侄妇","侄妇"],"{M1W},xb,s,d":["舅表侄女","侄女"],"{M1W},xb,s,d,h":["舅表侄婿","侄婿"],"{M1W},xb,d":["舅表姊妹"],"{M1W},xb,d,h":["舅表姊妹壻"],"{M1W},xb,d&o":["舅表姊"],"{M1W},xb,d&o,h":["舅表姊壻"],"{M1W},xb,d&l":["舅表妹"],"{M1W},xb,d&l,h":["舅表妹壻"],"{M1W},xb,d,s":["舅表甥男","甥男"],"{M1W},xb,d,s,w":["舅表甥妇","甥妇"],"{M1W},xb,d,d":["舅表甥女","甥女"],"{M1W},xb,d,d,h":["舅表甥婿","甥婿"],"{M1W},xs":["姨母"],"{M1W},xs,h":["姨父"],"{M1W},xs,[s|d]":["姨表兄弟姊妹"],"{M1W},xs,s":["姨表兄弟"],"{M1W},xs,s,w":["姨表兄弟妇"],"{M1W},xs,s&o":["姨表兄"],"{M1W},xs,s&o,w":["姨表兄妇"],"{M1W},xs,s&l":["姨表弟"],"{M1W},xs,s&l,w":["姨表弟妇"],"{M1W},xs,s,s":["姨表侄男","侄男"],"{M1W},xs,s,s,w":["姨表侄妇","侄妇"],"{M1W},xs,s,d":["姨表侄女","侄女"],"{M1W},xs,s,d,h":["姨表侄婿","侄婿"],"{M1W},xs,d":["姨表姊妹"],"{M1W},xs,d,h":["姨表姊妹壻"],"{M1W},xs,d&o":["姨表姊"],"{M1W},xs,d&o,h":["姨表姊壻"],"{M1W},xs,d&l":["姨表妹"],"{M1W},xs,d&l,h":["姨表妹壻"],"{M1W},xs,d,s":["姨表甥男","甥男"],"{M1W},xs,d,s,w":["姨表甥妇","甥妇"],"{M1W},xs,d,d":["姨表甥女","甥女"],"{M1W},xs,d,d,h":["姨表甥婿","甥婿"],"{M1M},f":["祖父"],"{M1M},f,xb,s&o":["堂伯父"],"{M1M},f,xb,s&o,w":["堂伯母"],"{M1M},f,xb,s&l":["堂叔父"],"{M1M},f,xb,s&l,w":["堂叔母"],"{M1M},f,xb,d":["堂姑母"],"{M1M},f,xb,d,h":["堂姑父"],"{M1M},f,ob":["伯祖父"],"{M1M},f,ob,w":["伯祖母"],"{M1M},f,lb":["叔祖父"],"{M1M},f,lb,w":["叔祖母"],"{M1M},f,xs":["姑祖母"],"{M1M},f,xs,h":["姑祖父"],"{M1M},f,xs,s&o":["姑表伯父"],"{M1M},f,xs,s&o,w":["姑表伯母"],"{M1M},f,xs,s&l":["姑表叔父"],"{M1M},f,xs,s&l,w":["姑表叔母"],"{M1M},f,xs,d":["姑表姑母"],"{M1M},f,xs,d,h":["姑表姑父"],"{M1M},m":["祖母"],"{M1M},m,xb":["舅祖父"],"{M1M},m,xb,w":["舅祖母"],"{M1M},m,xb,s&o":["舅表伯父"],"{M1M},m,xb,s&o,w":["舅表伯母"],"{M1M},m,xb,s&l":["舅表叔父"],"{M1M},m,xb,s&l,w":["舅表叔母"],"{M1M},m,xb,d":["舅表姑母"],"{M1M},m,xb,d,h":["舅表姑父"],"{M1M},m,xs":["姨祖母"],"{M1M},m,xs,h":["姨祖父"],"{M1M},m,xs,s&o":["姨伯父"],"{M1M},m,xs,s&o,w":["姨伯母"],"{M1M},m,xs,s&l":["姨叔父"],"{M1M},m,xs,s&l,w":["姨叔母"],"{M1M},m,xs,d":["姨姑母"],"{M1M},m,xs,d,h":["姨姑父"],"{M1M},xb":["叔伯父"],"{M1M},xb,w":["叔伯母"],"{M1M},ob":["伯父"],"{M1M},ob,w":["伯母"],"{M1M},lb":["叔父"],"{M1M},lb,w":["叔母"],"{M1M},xb,[s|d]":["叔表兄弟姊妹"],"{M1M},xb,s":["叔表兄弟"],"{M1M},xb,s,w":["叔表兄弟妇"],"{M1M},xb,s&o":["叔表兄"],"{M1M},xb,s&o,w":["叔表兄妇"],"{M1M},xb,s&l":["叔表弟"],"{M1M},xb,s&l,w":["叔表弟妇"],"{M1M},xb,s,s":["叔表侄男","侄男"],"{M1M},xb,s,s,w":["叔表侄妇","侄妇"],"{M1M},xb,s,d":["叔表侄女","侄女"],"{M1M},xb,s,d,h":["叔表侄婿","侄婿"],"{M1M},xb,d":["叔表姊妹"],"{M1M},xb,d,h":["叔表姊妹壻"],"{M1M},xb,d&o":["叔表姊"],"{M1M},xb,d&o,h":["叔表姊壻"],"{M1M},xb,d&l":["叔表妹"],"{M1M},xb,d&l,h":["叔表妹壻"],"{M1M},xb,d,s":["叔表甥男","甥男"],"{M1M},xb,d,s,w":["叔表甥妇","甥妇"],"{M1M},xb,d,d":["叔表甥女","甥女"],"{M1M},xb,d,d,h":["叔表甥婿","甥婿"],"{M1M},xs":["姑母"],"{M1M},xs,h":["姑父"],"{M1M},xs,[s|d]":["姑表兄弟姊妹"],"{M1M},xs,s":["姑表兄弟"],"{M1M},xs,s,w":["姑表兄弟妇"],"{M1M},xs,s&o":["姑表兄"],"{M1M},xs,s&o,w":["姑表兄妇"],"{M1M},xs,s&l":["姑表弟"],"{M1M},xs,s&l,w":["姑表弟妇"],"{M1M},xs,s,s":["姑表侄男","侄男"],"{M1M},xs,s,s,w":["姑表侄妇","侄妇"],"{M1M},xs,s,d":["姑表侄女","侄女"],"{M1M},xs,s,d,h":["姑表侄婿","侄婿"],"{M1M},xs,d":["姑表姊妹"],"{M1M},xs,d,h":["姑表姊妹壻"],"{M1M},xs,d&o":["姑表姊"],"{M1M},xs,d&o,h":["姑表姊壻"],"{M1M},xs,d&l":["姑表妹"],"{M1M},xs,d&l,h":["姑表妹壻"],"{M1M},xs,d,s":["姑表甥男","甥男"],"{M1M},xs,d,s,w":["姑表甥妇","甥妇"],"{M1M},xs,d,d":["姑表甥女","甥女"],"{M1M},xs,d,d,h":["姑表甥婿","甥婿"],"{M0},f":["父"],"{M0},f,f":["祖父"],"{M0},f,f,ob":["伯祖父"],"{M0},f,f,ob,w":["伯祖母"],"{M0},f,f,lb":["叔祖父"],"{M0},f,f,lb,w":["叔祖母"],"{M0},f,f,xs":["姑祖母"],"{M0},f,f,xs,h":["姑祖父"],"{M0},f,m":["祖母"],"{M0},f,m,xb":["舅祖父"],"{M0},f,m,xb,w":["舅祖母"],"{M0},f,m,xs":["姨祖母"],"{M0},f,m,xs,h":["姨祖父"],"{M0},f,ob":["伯父"],"{M0},f,ob,w":["伯母"],"{M0},f,lb":["叔父"],"{M0},f,lb,w":["叔母"],"{M0},f,xb,[s|d]":["叔表兄弟姊妹","叔表姊妹兄弟"],"{M0},f,xb,s":["叔表兄弟"],"{M0},f,xb,s,w":["叔表兄弟妇"],"{M0},f,xb,s&o":["叔表兄"],"{M0},f,xb,s&o,w":["叔表兄妇"],"{M0},f,xb,s&l":["叔表弟"],"{M0},f,xb,s&l,w":["叔表弟妇"],"{M0},f,xb,d":["叔表姊妹"],"{M0},f,xb,d,h":["叔表姊妹壻"],"{M0},f,xb,d&o":["叔表姊"],"{M0},f,xb,d&o,h":["叔表姊壻"],"{M0},f,xb,d&l":["叔表妹"],"{M0},f,xb,d&l,h":["叔表妹壻"],"{M0},f,xs":["姑母"],"{M0},f,xs,h":["姑父"],"{M0},f,xs,[s|d]":["姑表兄弟姊妹","姑表姊妹兄弟"],"{M0},f,xs,s":["姑表兄弟"],"{M0},f,xs,s,w":["姑表兄弟妇"],"{M0},f,xs,s&o":["姑表兄"],"{M0},f,xs,s&o,w":["姑表兄妇"],"{M0},f,xs,s&l":["姑表弟"],"{M0},f,xs,s&l,w":["姑表弟妇"],"{M0},f,xs,d":["姑表姊妹"],"{M0},f,xs,d,h":["姑表姊妹壻"],"{M0},f,xs,d&o":["姑表姊"],"{M0},f,xs,d&o,h":["姑表姊壻"],"{M0},f,xs,d&l":["姑表妹"],"{M0},f,xs,d&l,h":["姑表妹壻"],"{M0},m":["母"],"{M0},m,f":["外祖父"],"{M0},m,f,ob":["伯外祖父"],"{M0},m,f,ob,w":["伯外祖母"],"{M0},m,f,lb":["叔外祖父"],"{M0},m,f,lb,w":["叔外祖母"],"{M0},m,f,xs":["姑外祖母"],"{M0},m,f,xs,h":["姑外祖父"],"{M0},m,m":["外祖母"],"{M0},m,m,xb":["舅外祖父"],"{M0},m,m,xb,w":["舅外祖母"],"{M0},m,m,xs":["姨外祖母"],"{M0},m,m,xs,h":["姨外祖父"],"{M0},m,xb":["舅父"],"{M0},m,xb,w":["舅母"],"{M0},m,xb,[s|d]":["舅表兄弟姊妹","舅表姊妹兄弟"],"{M0},m,xb,s":["舅表兄弟"],"{M0},m,xb,s,w":["舅表兄弟妇"],"{M0},m,xb,s&o":["舅表兄"],"{M0},m,xb,s&o,w":["舅表兄妇"],"{M0},m,xb,s&l":["舅表弟"],"{M0},m,xb,s&l,w":["舅表弟妇"],"{M0},m,xb,d":["舅表姊妹"],"{M0},m,xb,d,h":["舅表姊妹壻"],"{M0},m,xb,d&o":["舅表姊"],"{M0},m,xb,d&o,h":["舅表姊壻"],"{M0},m,xb,d&l":["舅表妹"],"{M0},m,xb,d&l,h":["舅表妹壻"],"{M0},m,xs":["姨母"],"{M0},m,xs,h":["姨父"],"{M0},m,xs,[s|d]":["姨兄弟姊妹","姨姊妹兄弟"],"{M0},m,xs,s":["姨兄弟"],"{M0},m,xs,s,w":["姨兄弟妇"],"{M0},m,xs,s&o":["姨兄"],"{M0},m,xs,s&o,w":["姨兄妇"],"{M0},m,xs,s&l":["姨弟"],"{M0},m,xs,s&l,w":["姨弟妇"],"{M0},m,xs,d":["姨姊妹"],"{M0},m,xs,d,h":["姨姊妹壻"],"{M0},m,xs,d&o":["姨姊"],"{M0},m,xs,d&o,h":["姨姊壻"],"{M0},m,xs,d&l":["姨妹"],"{M0},m,xs,d&l,h":["姨妹壻"],"{M0},xb":["兄弟"],"{M0},xb,w":["兄弟妇"],"{M0},xb&o":["兄"],"{M0},xb&o,w":["兄妇","兄嫂","嫂子"],"{M0},xb&l":["弟"],"{M0},xb&l,w":["弟妇","弟妹"],"{M0},xb,s":["侄男","侄子","侄儿"],"{M0},xb,s,w":["侄妇"],"{M0},xb,d":["侄女"],"{M0},xb,d,h":["侄婿"],"{M0},xs":["姊妹"],"{M0},xs,h":["姊妹壻"],"{M0},xs&o":["姊"],"{M0},xs&o,h":["姊壻","姐夫"],"{M0},xs&l":["妹"],"{M0},xs&l,h":["妹壻","妹夫"],"{M0},xs,s":["甥男"],"{M0},xs,s,w":["甥妇"],"{M0},xs,d":["甥女"],"{M0},xs,d,h":["甥婿"],"{M-1},f":["兄弟"],"{M-1},f&o":["兄"],"{M-1},f&l":["弟"],"{M-1},f,f":["父"],"{M-1},f,f,f":["祖父"],"{M-1},f,f,m":["祖母"],"{M-1},f,f,ob":["伯父"],"{M-1},f,f,ob,w":["伯母"],"{M-1},f,f,lb":["叔父"],"{M-1},f,f,lb,w":["叔母"],"{M-1},f,m":["母"],"{M-1},f,m,f":["外祖父"],"{M-1},f,m,m":["外祖母"],"{M-1},f,xb":["叔兄弟"],"{M-1},f,xb,w":["叔兄弟妇"],"{M-1},f,ob":["叔兄"],"{M-1},f,ob,w":["叔兄妇"],"{M-1},f,lb":["叔弟"],"{M-1},f,lb,w":["叔弟妇"],"{M-1},f,xb,s":["叔男"],"{M-1},f,xb,d":["叔女"],"{M-1},f,xs":["姑姊妹"],"{M-1},f,xs,h":["姑姊妹壻"],"{M-1},f,os":["姑姊"],"{M-1},f,os,h":["姑姊壻"],"{M-1},f,ls":["姑妹"],"{M-1},f,ls,h":["姑妹壻"],"{M-1},f,xs,s":["姑男"],"{M-1},f,xs,d":["姑女"],"{M-1},m":["姊妹"],"{M-1},m&o":["姊"],"{M-1},m&l":["妹"],"{M-1},m,f":["父"],"{M-1},m,f,f":["祖父"],"{M-1},m,f,m":["祖母"],"{M-1},m,m":["母"],"{M-1},m,m,f":["外祖父"],"{M-1},m,m,m":["外祖母"],"{M-1},m,xb":["舅兄弟"],"{M-1},m,xb,w":["舅兄弟妇"],"{M-1},m,ob":["舅兄"],"{M-1},m,ob,w":["舅兄妇"],"{M-1},m,lb":["舅弟"],"{M-1},m,lb,w":["舅弟妇"],"{M-1},m,xb,s":["舅男"],"{M-1},m,xb,d":["舅女"],"{M-1},m,xs":["姨姊妹"],"{M-1},m,xs,h":["姨姊妹壻"],"{M-1},m,os":["姨姊"],"{M-1},m,os,h":["姨姊壻"],"{M-1},m,ls":["姨妹"],"{M-1},m,ls,h":["姨妹壻"],"{M-1},m,xs,s":["姨男"],"{M-1},m,xs,d":["姨女"],"{M-1},xb":["男"],"{M-1},xb,w":["妇"],"{M-1},xb,s":["孙男"],"{M-1},xb,s,w":["孙妇"],"{M-1},xb,d":["孙女"],"{M-1},xb,d,h":["孙婿"],"{M-1},xs":["女"],"{M-1},xs,h":["婿"],"{M-1},xs,s":["外孙男"],"{M-1},xs,s,w":["外孙妇"],"{M-1},xs,d":["外孙女"],"{M-1},xs,d,h":["外孙婿"],"{M-2},f":["男"],"{M-2},f,f&o":["兄"],"{M-2},f,f&l":["弟"],"{M-2},f,m&o":["姊"],"{M-2},f,m&l":["妹"],"{M-2},m":["女"],"{M-2},m,f&o":["兄"],"{M-2},m,f&l":["弟"],"{M-2},m,m&o":["姊"],"{M-2},m,m&l":["妹"],"{M-2},xb":["孙男"],"{M-2},xb,w":["孙妇"],"{M-2},xs":["孙女"],"{M-2},xs,h":["孙婿"]},e={"":["自己","我","俺","吾","本人","在下"],"f,f,f,f,f,f,f,f,f,f,f,f":["先祖父","先太爷","十二世祖"],"f,f,f,f,f,f,f,f,f,f,f,m":["先祖母","先太奶"],"f,f,f,f,f,f,f,f,f,f,f":["始祖父","始太爷","十一世祖"],"f,f,f,f,f,f,f,f,f,f,m":["始祖母","始太奶"],"f,f,f,f,f,f,f,f,f,f":["开祖父","开太爷","十世祖"],"f,f,f,f,f,f,f,f,f,m":["开祖母","开太奶"],"f,f,f,f,f,f,f,f,f":["鼻祖父","鼻太爷","九世祖"],"f,f,f,f,f,f,f,f,m":["鼻祖母","鼻太奶"],"f,f,f,f,f,f,f,f":["远祖父","远太爷","八世祖"],"f,f,f,f,f,f,f,m":["远祖母","远太奶"],"f,f,f,f,f,f,f":["太祖父","太太爷","七世祖"],"f,f,f,f,f,f,m":["太祖母","太太奶"],"f,f,f,f,f,f":["烈祖父","烈太爷","六世祖"],"f,f,f,f,f,m":["烈祖母","烈太奶"],"f,f,f,f,f":["天祖父","天太爷","五世祖"],"f,f,f,f,m":["天祖母","天太奶"],"f,f,f,f":["高祖父","外曾外曾外毑父","曾曾祖父","祖太公","祖太爷","高太爷","祖太翁","祖太爷爷","四世祖"],"f,f,f,m":["高祖母","外曾外曾外毑母","曾曾祖母","祖太婆","祖太奶","高太奶","祖太姆","祖太奶奶"],"f,f,m,f":["高外祖父","外曾外曾毑父"],"f,f,m,m":["高外祖母","外曾外曾毑母"],"f,m,f,f":["曾外曾祖父","外高外毑父"],"f,m,f,m":["曾外曾祖母","外高外毑母"],"f,m,m,f":["曾外曾外祖父","外高毑父"],"f,m,m,m":["曾外曾外祖母","外高毑母"],"m,f,f,f":["外高祖父","曾外曾外毑父"],"m,f,f,m":["外高祖母","曾外曾外毑母"],"m,f,m,f":["外高外祖父","曾外曾祖毑父"],"m,f,m,m":["外高外祖母","曾外曾祖毑母"],"m,m,f,f":["外曾外曾祖父","高外毑父"],"m,m,f,m":["外曾外曾祖母","高外毑母"],"m,m,m,f":["外曾外曾外祖父","高毑父"],"m,m,m,m":["外曾外曾外祖母","高毑母"],"f,f,f":["曾祖父","曾祖","外曾外毑父","太公","太爷","老太爷","太翁","太爷爷","曾爷爷","佬嗲","祖爷","三世祖"],"f,f,m":["曾祖母","外曾外毑母","太婆","太奶","老太奶","太嬷","太姆","太奶奶","曾奶奶","老娭毑"],"f,m,f":["曾外祖父","曾外祖","外曾毑父","太外公","太外爷","太外翁","太外爷爷"],"f,m,m":["曾外祖母","外曾毑母","太外婆","太外奶","太外嬷","太外姆","太外奶奶"],"m,f,f":["外曾祖父","外曾祖","曾外毑父","外太公","外太爷","外太翁","外太爷爷"],"m,f,m":["外曾祖母","曾外毑母","外太婆","外太奶","外太嬷","外太姆","外太奶奶"],"m,m,f":["外曾外祖父","外曾外祖","曾毑父","外太外公","外太外爷","外太外翁","外太外爷爷","外太姥爷"],"m,m,m":["外曾外祖母","曾毑母","外太外婆","外太外奶","外太外嬷","外太外姆","外太外奶奶","外太姥姥"],"f,f":["爷爷","祖父","奶爷","奶爹","阿爷","阿公","依爷","嗲嗲","爷儿","大父","爷","爷老","爷老子","爷老倌","二世祖"],"f,m":["奶奶","祖母","阿奶","奶娘","阿姆","阿婆","依奶","阿嬷","阿嫲","大母","奶","嫲嫲","婻婻","娭毑","嗯奶","娘姆","媪婆","亲婆"],"m,f":["外公","外祖父","姥爷","阿公","外爷","客公","毑父","毑公","姥公","舅家爷","嘎公","嘎爹",,"嘎嘎爹","嘎爷爷","尕公","毑爹","毑爷","外大父","姥爹"],"m,m":["外婆","外祖母","姥姥","阿婆","外奶","客婆","毑母","毑婆","姥婆","舅家婆","嘎嘎","嘎婆","嘎嘎婆","嘎奶奶","尕婆","毑娘","毑毑","外大母","姥娘","阿嬷","阿嫲","外嬷","嫲嫲","好婆","嫏嫏","嫏娘"],"f,f,ob":["伯公","伯祖","伯翁","大爷爷","大嗲","大爷","大公","大阿爷"],"f,f,ob,w":["伯婆","姆婆","大奶奶","伯娭毑"],"f,f,lb":["叔公","叔祖","叔翁","小爷爷","晚公","幺爷","细嗲"],"f,f,lb,w":["叔婆","婶婆","小奶奶","叔娭毑","晚婆","幺奶"],"f,f,xb":["伯叔祖父","从祖父","几爷爷","几大爷","几嗲","几爷","几公"],"f,f,xb,w":["伯叔祖母","从祖母","几奶奶","几大娘","几奶","几婆"],"f,f,xs":["姑奶奶","祖姑","姑奶","恩婆","姑娭毑"],"f,f,xs,h":["姑爷爷","祖姑丈","恩爹","姑丈公","丈公"],"f,m,xb":["舅爷爷","舅祖","舅爹","太舅父"],"f,m,xb,w":["舅奶奶","妗婆","舅婆","妗奶","太舅母"],"f,m,xs":["姨奶奶","姨奶","姨娭毑"],"f,m,xs,h":["姨爷爷","姨公公","姨爹","姨丈公","丈公"],"m,f,ob":["伯外公","外伯祖","伯外祖","大外公","大姥爷","大外爷"],"m,f,ob,w":["伯外婆","外姆婆","大外婆","大姥姥","大姥奶"],"m,f,lb":["叔外公","外叔祖","叔外祖","小外公","小姥爷","小外爷"],"m,f,lb,w":["叔外婆","外婶婆","小外婆","小姥姥","婶姥姥","小姥奶"],"m,f,xb":["堂外祖父","几外公","几姥爷","几外爷"],"m,f,xb,w":["堂外祖母","几外婆","几姥姥","几姥奶","几外奶","几姥"],"m,f,xs":["姑外婆","姑婆","恩婆"],"m,f,xs,h":["姑外公","姑公","恩爹","外姑丈公","外丈公"],"m,m,xb":["舅外公","舅公","舅爹"],"m,m,xb,w":["舅外婆","舅婆","妗姥姥","妗姥娘","妗姥","外妗婆"],"m,m,xs":["姨外婆","姨婆"],"m,m,xs,h":["姨外公","姨公","外姨丈公","外丈公"],f:["爸爸","父亲","老父亲","老爸","阿爸","阿父","阿爹","老窦","爹地","依爹","老爹","老汉","老爷子","老子","牙老子","爸","父","爹","老汉儿","牙老倌","爸比","爹爹","爹啲","一世祖"],"f,ob":["伯父","伯伯","伯爸","伯爷","依伯","世父","大爹","大爸","大爸爸","伯儿","大伯","大爷","大大","阿伯","几伯","伯"],"f,ob,w":["伯母","伯妈","伯娘","依姆","世母","大娘","大妈","大妈妈","伯妇","大嬷","大姆妈","伯姐","姆"],"f,lb":["叔叔","叔父","叔爸","叔爹","阿叔","叔儿","仲父","季父","叔仔","依叔","小叔","小爹","小爸","几叔","叔"],"f,lb,w":["婶婶","婶母","婶妈","婶娘","阿婶","婶儿","仲母","季母","叔妇","依婶","小婶","小娘","小妈","几婶","婶","婶子","家婶","叔母","叔妈","叔娘","婶爹","嬢嬢"],"f,xb":["伯叔父","叔伯","几爸爸","几爸","几爹"],"f,xb,w":["伯叔母","几妈妈","几妈","几娘"],"f,xb,s&o":["堂哥","堂阿哥","堂房哥哥","堂房阿哥","叔伯哥哥","叔伯阿哥","堂老兄"],"f,xb,s&o,w":["堂嫂","堂兄嫂"],"f,xb,s&l":["堂弟","堂阿弟","堂房弟弟","堂房阿弟","叔伯弟弟","叔伯老弟","堂老弟"],"f,xb,s&l,w":["堂弟媳","堂弟妇","堂弟妹"],"f,xb,s,s":["堂侄","再从子"],"f,xb,s,s,w":["堂侄媳妇"],"f,xb,s,s,s":["堂侄孙","再从孙"],"f,xb,s,s,s,s":["堂曾孙","再曾孙"],"f,xb,s,s,s,s,s":["堂玄孙","再玄孙"],"f,xb,s,d":["堂侄女"],"f,xb,s,d,h":["堂侄女婿"],"f,xb,d&o":["堂姐","堂阿姐","堂房姐姐","堂房阿姐","叔伯姐姐","叔伯阿姊","堂大姐"],"f,xb,d&o,h":["堂姐夫"],"f,xb,d&l":["堂妹","堂阿妹","堂房妹妹","堂房阿妹","叔伯妹妹","叔伯老妹","堂细妹"],"f,xb,d&l,h":["堂妹夫"],"f,xb,d,s":["堂外甥"],"f,xb,d,s,w":["堂外甥媳妇"],"f,xb,d,d":["堂外甥女"],"f,xb,d,d,h":["堂外甥女婿"],"f,os":["大姑","大姑妈","姑姊","姑嬷"],"f,os,h":["大姑丈","大姑父","大姑爸","恩伯"],"f,ls":["小姑","小姑妈","姑姐","姑妹","姑仔","尕娘","幺姑姐","老姑"],"f,ls,h":["小姑丈","小姑父","小姑爹","恩叔"],"f,xs":["姑妈","姑母","姑姑","恩妈","几姑","姑","阿姑","嬢嬢","娘娘"],"f,xs,h":["姑丈","姑父","姑爸","恩爸","姑伯","姑爹","姑夫","姑婿","姑郎","亘"],"f,f,xb,s&o":["堂伯"],"f,f,xb,s&o,w":["堂伯母"],"f,f,xb,s&l":["堂叔"],"f,f,xb,s&l,w":["堂婶"],"f,f,xb,s":["堂伯叔父","堂叔伯","从父"],"f,f,xb,s,w":["堂伯叔母","从母"],"f,f,xb,s,s&o":["从堂兄"],"f,f,xb,s,s&l":["从堂弟"],"f,f,xb,s,s,s":["从堂侄","三从子"],"f,f,xb,s,s,s,s":["从堂侄孙","三从孙"],"f,f,xb,s,s,s,s,s":["从堂侄曾孙","三曾孙"],"f,f,xb,s,s,s,s,s,s":["从堂侄玄孙","三玄孙"],"f,f,xb,d":["堂姑"],"f,f,xb,d,h":["堂姑丈"],"f,f,f,xb":["伯叔曾祖父"],"f,f,f,xb,w":["伯叔曾祖母"],"f,f,f,xb,s":["堂伯叔祖父"],"f,f,f,xb,s,w":["堂伯叔祖母"],"f,f,f,xb,s,s&o":["从伯父"],"f,f,f,xb,s,s&o,w":["从伯母"],"f,f,f,xb,s,s&l":["从叔父"],"f,f,f,xb,s,s&l,w":["从叔母"],"f,f,f,xb,s,s":["从伯叔父","再从父"],"f,f,f,xb,s,s,w":["从伯叔母","再从母"],"f,f,f,xb,s,s,s&o":["族兄"],"f,f,f,xb,s,s,s&l":["族弟"],"f,f,f,xb,s,s,s,s":["族侄","四从子","族子"],"f,f,f,xb,s,s,s,s,s":["族侄孙","四从孙","族孙"],"f,f,f,xb,s,s,s,s,s,s":["族侄曾孙","四曾孙","族曾孙"],"f,f,f,xb,s,s,s,s,s,s,s":["族侄玄孙","四玄孙","族玄孙"],"f,f,f,f,xb":["伯叔高祖父"],"f,f,f,f,xb,w":["伯叔高祖母"],"f,f,f,f,xb,s":["堂伯叔曾祖父"],"f,f,f,f,xb,s,w":["堂伯叔曾祖母"],"f,f,f,f,xb,s,s":["从伯叔祖父"],"f,f,f,f,xb,s,s,w":["从伯叔祖母"],"f,f,f,f,xb,s,s,s&o":["族伯父"],"f,f,f,f,xb,s,s,s&o,w":["族伯母"],"f,f,f,f,xb,s,s,s&l":["族叔父"],"f,f,f,f,xb,s,s,s&l,w":["族叔母"],"f,f,f,f,xb,s,s,s":["族伯叔父","三从父","族父"],"f,f,f,f,xb,s,s,s,w":["族伯叔母","三从母","族母"],m:["妈妈","母亲","老母亲","老妈","阿妈","阿母","阿娘","老母","妈咪","依妈","老娘","老乸","老妈子","妈子","娘老子","妈","母","娘","阿毑","姆嬷","姆妈","娘亲"],"m,ob":["大舅","大舅舅","舅伯","元舅"],"m,ob,w":["大舅妈","大妗","舅嫲"],"m,lb":["小舅","小舅舅","舅仔","舅父仔","尕阿舅","老舅"],"m,lb,w":["小舅妈","小妗","细妗"],"m,xb":["舅舅","舅爸","舅父","舅爹","娘舅","母舅","阿舅","妗公","舅台","几舅","舅"],"m,xb,w":["舅妈","舅母","舅娘","娘妗","舅妻","舅姆","舅姆妈","舅媳妇","舅妇","舅姥","老妗","妗子","妗妗","妗妈","妗娘","妗母","阿妗","妗门","妗婆仔","妗儿妈","妗","嬢嬢"],"m,os":["大姨","大姨妈","姨嬷"],"m,os,h":["大姨丈","大姨父","大姨爸","姨伯"],"m,ls":["小姨","小姨妈","姨仔","老姨"],"m,ls,h":["小姨丈","小姨父","小姨爹","老姨夫","姨叔"],"m,xs":["姨妈","姨母","姨姨","姨娘","阿姨","几姨","姨","从母","嬢嬢"],"m,xs,h":["姨丈","姨父","姨爸","姨爹","姨夫","姨婿","姨郎","尹"],"m,f,xb,s":["堂舅"],"m,f,xb,s,w":["堂舅妈"],"m,f,xb,d":["堂姨"],"m,f,xb,d,h":["堂姨丈"],"h,f,f,f":["曾祖公父","曾祖公","太公翁"],"h,f,f,m":["曾祖婆母","曾祖婆","太奶亲"],"h,f,m,f":["曾外祖公父","曾外祖公"],"h,f,m,m":["曾外祖婆母","曾外祖婆"],"h,m,f,f":["外曾祖公父","外曾祖公"],"h,m,f,m":["外曾祖婆母","外曾祖婆"],"h,m,m,f":["外曾外祖公父","外曾外祖公"],"h,m,m,m":["外曾外祖婆母","外曾外祖婆"],"h,f,f,f,ob":["伯曾祖公父","伯曾祖公","太伯翁"],"h,f,f,f,ob,w":["伯曾祖婆母","伯曾祖婆","太姆婆"],"h,f,f,f,lb":["叔曾祖公父","叔曾祖公","太叔翁"],"h,f,f,f,lb,w":["叔曾祖婆母","叔曾祖婆","太婶婆"],"h,f,f,f,xs":["姑曾祖婆母","姑曾祖婆"],"h,f,f,f,xs,h":["姑曾祖公父","姑曾祖婆"],"h,f,f":["祖公父","祖公","祖公公","祖翁","奶公父"],"h,f,m":["祖婆母","祖婆","祖婆婆","奶婆母"],"h,m,f":["外祖公父","毑公父","外祖公","外祖公公","姥公父","姥公"],"h,m,m":["外祖婆母","毑婆母","外祖婆","外祖婆婆","姥婆母","姥婆"],"h,f":["公公","公父","家公","家官","家翁","家爷","翁亲","老官","大官","老公公","老人公","大人公","公爹","老公爹","婆父","婆爹","君舅"],"h,m":["婆婆","婆母","家婆","家娘","姑亲","大家","老婆婆","老人婆","大人婆","婆妈","婆母娘","婆子妈","君姑"],"h,f,ob":["伯公父","伯公","伯翁","伯公公","伯祖","婆婆伯"],"h,f,ob,w":["伯婆母","伯婆","姆婆","伯婆婆","伯姆","婆婆伯姆"],"h,f,lb":["叔公父","叔公","叔翁","叔公公","叔祖","婆婆叔"],"h,f,lb,w":["叔婆母","叔婆","婶婆","婶婆婆","婶亲","婆婆婶子"],"h,f,xs":["姑婆母","姑婆","姑婆婆","婆婆姑"],"h,f,xs,h":["姑公父","姑公","姑公公","婆婆姑夫"],"h,m,xb":["舅公父","舅公","舅公公"],"h,m,xb,w":["舅婆母","舅婆","妗婆婆","舅婆婆"],"h,m,xs":["姨婆母","姨婆","姨婆婆"],"h,m,xs,h":["姨公父","姨公","姨公公"],h:["老公","丈夫","先生","夫","男人","新郎","爱爷","夫亲","夫君","官人","汉子","老头子","郎君","相公","夫婿","良人","老公仔","爱人","老伴","那口子","配偶","伴侣","伉俪","卿卿"],"h,ob":["大伯子","大伯儿","大伯兄","伯子","伯仔","伯兄","阿伯","大伯爷","伯爷子","婿伯"],"h,ob,w":["大婶子","大婶儿","大叔兄妇","伯兄妇","伯嫂","伯妇","伯姆","姒妇","姒姆","大伯嫂","姆姆","大姆","大伯妇","大伯娘","姐妇","阿姆"],"h,lb":["小叔子","小叔儿","小叔弟","叔子","叔仔","叔弟","阿叔","叔郎","小郎"],"h,lb,w":["小婶子","小婶儿","小叔弟妇","叔弟妇","叔嫂","叔妇","叔姆","娣妇","娣姆","小叔妇","婶婶","小婶","小婶婶"],"h,[ob|lb]":["伯叔"],"h,xb,w":["妯娌","娣姒","娣姒姊妹","婶子"],"h,xb,s":["叔侄男"],"h,xb,d":["叔侄女"],"h,os":["大姑子","大姑姐","大姑儿","大姑娘","姑姊","婆姐","婆婆姐","大娘姑"],"h,os,h":["大姑夫","大姑姐夫","大亘子","婆姐夫","婆婆姐夫"],"h,ls":["小姑子","小姑妹","小姑儿","小姑娘","姑妹","婆妹","婆婆妹"],"h,ls,h":["小姑夫","小姑妹夫","小亘子","婆妹夫","婆婆妹夫"],"h,xs":["姑子","夫姑"],"h,xs,h":["姑夫","姑郎"],"h,xs,s":["姑甥"],"h,xs,d":["姑甥女"],"w,f,f,f":["曾祖岳父","曾祖丈人","太爷丈人","祖爷丈人"],"w,f,f,m":["曾祖岳母","曾祖丈母","曾祖丈母娘","祖奶丈母娘","太奶丈母娘"],"w,f,m,f":["曾外祖岳父","曾外祖丈人","祖姥爷丈人","太姥爷丈"],"w,f,m,m":["曾外祖岳母","曾外祖丈母","曾外祖丈母娘","祖姥丈母娘","太姥丈母娘"],"w,m,f,f":["外曾祖岳父","外曾祖丈人","祖奶爷丈人","太奶爷丈人","祖姥爷丈人","太姥爷丈人"],"w,m,f,m":["外曾祖岳母","外曾祖丈母","太奶丈母娘","祖姥丈母娘","太姥丈母娘"],"w,m,m,f":["外曾外祖岳父","外曾外祖丈人","祖姥爷丈人","太姥爷丈人"],"w,m,m,m":["外曾外祖岳母","外曾外祖丈母","外曾外祖丈母娘","祖姥丈母娘","太姥丈母娘"],"w,f,f":["祖岳父","太岳父","奶岳父","祖丈人","爷丈人","奶爷丈人","奶丈爷","奶丈人","老丈爷"],"w,f,m":["祖岳母","太岳母","奶岳母","祖丈母","祖丈母娘","奶丈母娘","奶丈姥","奶丈母","老丈姥"],"w,f,ob":["伯岳父"],"w,f,ob,w":["伯岳母"],"w,f,lb":["叔岳父"],"w,f,lb,w":["叔岳母"],"w,f,f,xb,s&o":["姻伯丈"],"w,f,f,xb,s&o,w":["姻姆"],"w,f,f,xb,s&l":["姻叔丈"],"w,f,f,xb,s&l,w":["姻婶"],"w,m,f":["外祖岳父","毑岳父","外祖丈人爹","外祖丈人","外太岳父","姥岳父","姥丈爷","姥丈人","姥丈人爹","老丈爷","姥爷丈人"],"w,m,m":["外祖岳母","毑岳母","外祖丈母娘","外祖丈母","外太岳母","姥岳母","姥丈姥","姥丈母","姥丈母娘","老丈娘"],"w,f":["岳父","丈人","老丈人","外父","泰山","外舅","老亲爷","丈人爹","老干爷","丈人公","丈母爷","丈爷","丈爷爹","丈父","岳老子","老丈杆子","岳丈","岳翁","妻公","妇翁","冰翁"],"w,m":["岳母","丈母","老丈母","外母","泰水","外姑","老亲娘","丈人娘","老干娘","丈人婆","丈母娘","丈姥","丈姥娘","丈姆","岳母娘","丈母婆","丈姆婆","丈姆娘"],w:["老婆","妻子","媳妇","媳妇儿","太太","妻","女人","新娘","爱姥","妻亲","娘子","新娘子","夫人","婆娘","老太婆","内人","内子","内助","贤内助","爱妻","发妻","婆姨","婆子","老婆子","老婆儿","老婆仔","堂客","爱人","老伴","那口子","配偶","伴侣","伉俪","卿卿"],"w,ob":["大舅子","大舅哥","大舅佬","大阿舅","丈人兄","舅哥"],"w,ob,w":["大舅妇","大妗子","大妗儿","大舅姆","大舅兄嫂","大舅嫂","大舅姐","大舅媳妇","丈人嫂"],"w,lb":["小舅子","小舅弟","小舅佬","小阿舅","丈人弟","舅弟"],"w,lb,w":["小舅妇","小妗子","小妗儿","小舅姆","小舅弟妇","小舅嫂","舅弟媳","小舅妹","小舅媳妇"],"w,xb":["舅子","舅佬","妻舅","老婆舅","阿舅","亲家舅","舅老倌"],"w,xb,w":["舅嫂","舅妇","舅姆","妻妗","妗仔","妗子","妗儿"],"w,xb,s":["舅侄男"],"w,xb,d":["舅侄女"],"w,os":["大姨子","大姨姐","大姨儿","姨姐"],"w,os,h":["大姨夫","大姨姐夫","襟兄","大尹子"],"w,ls":["小姨子","小姨妹","小茙儿","姨妹","姨仔","姨妹子"],"w,ls,h":["小姨夫","小姨妹夫","小茙夫","襟弟","小尹子"],"w,xs":["姨子","妻姨"],"w,xs,h":["连襟","姨夫","连桥","两桥","两乔","姨夫爷","一担挑","老挑","挑担","担儿挑","连襟儿","襟兄弟","友婿","妻尹","娅"],"w,xs,s":["姨甥"],"w,xs,d":["姨甥女"],ob:["哥哥","哥","胞兄","亲哥","老哥","依哥","阿哥","家兄","兄长","大佬","元兄","长兄","几哥"],"ob,w":["嫂子","嫂","嫂嫂","阿嫂","家嫂","兄姊","兄嫂","兄妇","兄妻","几嫂"],"ob,s":["侄子","侄男","兄子"],"ob,d":["侄女","兄女"],lb:["弟弟","弟","胞弟","亲弟","老弟","阿弟","细佬","依弟","小弟","几弟"],"lb,w":["弟妹","弟媳","弟媳妇","弟媳妇子","弟新妇","老弟嫂"],"lb,s":["侄子","侄男","弟子"],"lb,d":["侄女","弟女"],"xb,s":["侄子","侄男","侄儿","侄儿子","侄","侄仔","阿侄"],"xb,s,w":["侄媳妇","侄媳","侄嫂","侄妇"],"xb,d":["侄女","侄囡","侄女儿","侄闺女"],"xb,d,h":["侄女婿","侄婿","侄郎"],os:["姐姐","姐","胞姐","亲姐","阿姐","阿姊","姊仔","家姐","依姐","长姐","几姐"],"os,h":["姐夫","姐丈","姐婿","姐郎","姊兄","姐夫哥","胞姐夫"],ls:["妹妹","妹","胞妹","亲妹","老妹","阿妹","妹儿","妹子","依妹","小妹","几妹"],"ls,h":["妹夫","妹丈","妹婿","妹郎","妹弟","妹夫子","胞妹夫"],"xs,s":["外甥","甥子","甥男","甥儿","甥儿子","甥","甥仔"],"xs,s,w":["甥媳妇","甥媳","甥嫂","甥妇","甥儿息妇儿"],"xs,s,s":["甥孙","远甥","弥甥"],"xs,s,d":["甥孙女","远甥女","弥甥女"],"xs,d":["外甥女","甥女","甥囡","甥女儿","甥闺女"],"xs,d,h":["甥女婿","甥婿","甥郎","甥儿息婿儿"],s:["儿子","男儿","息男","闺男","囝囝","囝男","囝儿","小子","娃子","男亲","伢子","长子","次子","幼子","儿","仔","囝","子","阿仔","仔仔","后生","公子","少爷","一世孙"],"s,w":["儿媳","儿媳妇","息妇儿","儿媳妇儿","新妇","新妇囝","心抱","息妇","儿妇","子妇","小妇","少奶奶","少夫人"],"s,w,f":["亲家公"],"s,w,f,f&o":["姻伯"],"s,w,f,f&l":["姻叔"],"s,w,m":["亲家母"],"s,w,xb":["姻侄","世侄"],"s,w,xb,w":["姻侄媳"],"s,w,xb,s":["姻侄孙"],"s,w,xb,d":["姻侄孙女"],"s,w,xs":["姻侄女"],"s,w,xs,h":["姻侄婿"],"s,w,xs,s":["姻侄外孙"],"s,w,xs,d":["姻侄外孙女"],"s,s":["孙子","孙男","孙男儿","孙儿","长孙","孙仔","孙囝","孙娃子","孙伢子","二世孙"],"s,s,w":["孙媳妇","孙媳","孙妇","孙息妇","孙新妇"],"s,s,s":["曾孙","曾孙男","重孙","重孙子","息仔","三世孙"],"s,s,s,w":["曾孙妇","重孙媳妇"],"s,s,s,s":["玄孙","元孙","膀孙","四世孙"],"s,s,s,s,w":["玄孙媳妇"],"s,s,s,s,s":["来孙","五世孙"],"s,s,s,s,s,w":["来孙媳妇"],"s,s,s,s,s,s":["晜孙","六世孙"],"s,s,s,s,s,s,w":["晜孙媳妇"],"s,s,s,s,s,s,s":["仍孙","礽孙","七世孙"],"s,s,s,s,s,s,s,w":["仍孙媳妇"],"s,s,s,s,s,s,s,s":["云孙","八世孙"],"s,s,s,s,s,s,s,s,w":["云孙媳妇"],"s,s,s,s,s,s,s,s,s":["耳孙","远孙","九世孙"],"s,s,s,s,s,s,s,s,s,w":["耳孙媳妇"],"s,s,s,s,s,s,s,s,s,s":["弥孙","十世孙"],"s,s,s,s,s,s,s,s,s,s,w":["弥孙媳妇"],"s,s,s,s,s,s,s,s,s,s,s":["胎孙","十一世孙"],"s,s,s,s,s,s,s,s,s,s,s,w":["胎孙媳妇"],"s,s,s,s,s,s,s,s,s,s,s,s":["承孙","十二世孙"],"s,s,s,s,s,s,s,s,s,s,s,s,w":["承孙媳妇"],"s,s,s,s,s,s,s,s,s,s,s,d":["承孙女"],"s,s,s,s,s,s,s,s,s,s,s,d,h":["承孙女婿"],"s,s,s,s,s,s,s,s,s,s,d":["胎孙女"],"s,s,s,s,s,s,s,s,s,s,d,h":["胎孙女婿"],"s,s,s,s,s,s,s,s,s,s,d,s":["承外孙"],"s,s,s,s,s,s,s,s,s,s,d,s,w":["承外孙媳妇"],"s,s,s,s,s,s,s,s,s,s,d,d":["承外孙女"],"s,s,s,s,s,s,s,s,s,s,d,d,h":["承外孙女婿"],"s,s,s,s,s,s,s,s,s,d":["弥孙女"],"s,s,s,s,s,s,s,s,s,d,h":["弥孙女婿"],"s,s,s,s,s,s,s,s,s,d,s":["胎外孙"],"s,s,s,s,s,s,s,s,s,d,s,w":["胎外孙媳妇"],"s,s,s,s,s,s,s,s,s,d,d":["胎外孙女"],"s,s,s,s,s,s,s,s,s,d,d,h":["胎外孙女婿"],"s,s,s,s,s,s,s,s,d":["耳孙女"],"s,s,s,s,s,s,s,s,d,h":["耳孙女婿"],"s,s,s,s,s,s,s,s,d,s":["弥外孙"],"s,s,s,s,s,s,s,s,d,s,w":["弥外孙媳妇"],"s,s,s,s,s,s,s,s,d,d":["弥外孙女"],"s,s,s,s,s,s,s,s,d,d,h":["弥外孙女婿"],"s,s,s,s,s,s,s,d":["云孙女"],"s,s,s,s,s,s,s,d,h":["云孙女婿"],"s,s,s,s,s,s,s,d,s":["耳外孙"],"s,s,s,s,s,s,s,d,s,w":["耳外孙媳妇"],"s,s,s,s,s,s,s,d,d":["耳外孙女"],"s,s,s,s,s,s,s,d,d,h":["耳外孙女婿"],"s,s,s,s,s,s,d":["仍孙女","礽孙女"],"s,s,s,s,s,s,d,h":["仍孙女婿"],"s,s,s,s,s,s,d,s":["云外孙"],"s,s,s,s,s,s,d,s,w":["云外孙媳妇"],"s,s,s,s,s,s,d,d":["云外孙女"],"s,s,s,s,s,s,d,d,h":["云外孙女婿"],"s,s,s,s,s,d":["晜孙女"],"s,s,s,s,s,d,h":["晜孙女婿"],"s,s,s,s,s,d,s":["仍外孙"],"s,s,s,s,s,d,s,w":["仍外孙媳妇"],"s,s,s,s,s,d,d":["仍外孙女"],"s,s,s,s,s,d,d,h":["仍外孙女婿"],"s,s,s,s,d":["来孙女"],"s,s,s,s,d,h":["来孙女婿"],"s,s,s,s,d,s":["晜外孙"],"s,s,s,s,d,s,w":["晜外孙媳妇"],"s,s,s,s,d,d":["晜外孙女"],"s,s,s,s,d,d,h":["晜外孙女婿"],"s,s,s,d":["玄孙女","元孙女","膀孙女"],"s,s,s,d,h":["玄孙女婿"],"s,s,s,d,s":["来外孙"],"s,s,s,d,s,w":["来外孙媳妇"],"s,s,s,d,d":["来外孙女"],"s,s,s,d,d,h":["来外孙女婿"],"s,s,d":["曾孙女","重孙女","息女"],"s,s,d,h":["曾孙女婿"],"s,s,d,s":["玄外孙"],"s,s,d,s,w":["玄外孙媳妇"],"s,s,d,d":["玄外孙女"],"s,s,d,d,h":["玄外孙女婿"],"s,d":["孙女","孙女儿","孙囡","孙囡儿","女孙","孙女子"],"s,d,h":["孙女婿","孙婿","孙郎","孙息婿"],"s,d,s":["曾外孙","外息仔"],"s,d,s,w":["曾外孙媳妇"],"s,d,s,s":["曾外曾孙"],"s,d,s,s,w":["曾外曾孙媳妇"],"s,d,s,d":["曾外曾孙女"],"s,d,s,d,h":["曾外曾孙女婿"],"s,d,d":["曾外孙女","外息女"],"s,d,d,h":["曾外孙女婿"],"s,d,d,s":["曾外曾外孙"],"s,d,d,s,w":["曾外曾外孙媳妇"],"s,d,d,d":["曾外曾外孙女"],"s,d,d,d,h":["曾外曾外孙女婿"],d:["女儿","千金","小姐","掌上明珠","息女","闺女","囡囡","囡女","囡儿","乖囡","囡嗯","丫头","姑娘","妮子","女亲","长女","次女","幼女","女","阿女","女女"],"d,h":["女婿","姑爷","姑爷儿","女婿子","女婿儿","儿婿","子婿","息婿","小婿","快婿","郎婿","郎婿子","息婿儿","囝婿","囡婿","东床","半子","甥馆","女夫"],"d,h,f":["亲家公"],"d,h,f,f&o":["姻伯"],"d,h,f,f&l":["姻叔"],"d,h,m":["亲家母"],"d,h,xb":["姻侄","世侄"],"d,h,xb,w":["姻侄媳"],"d,h,xb,s":["姻侄孙"],"d,h,xb,d":["姻侄孙女"],"d,h,xs":["姻侄女"],"d,h,xs,h":["姻侄婿"],"d,h,xs,s":["姻侄外孙"],"d,h,xs,d":["姻侄外孙女"],"d,s":["外孙","外孙子","外孙儿"],"d,s,w":["外孙媳妇","外孙妇","外孙新妇"],"d,s,s":["外曾孙","重外孙","外息仔"],"d,s,s,w":["外曾孙媳妇","外曾孙妇"],"d,s,s,s":["外玄孙","外元孙","外膀孙"],"d,s,s,s,w":["外玄孙媳妇"],"d,s,s,d":["外玄孙女","外元孙女","外膀孙女"],"d,s,s,d,h":["外玄孙女婿"],"d,s,d":["外曾孙女","重外孙女","外息女"],"d,s,d,h":["外曾孙女婿","重外孙女婿"],"d,s,d,s":["外玄外孙"],"d,s,d,s,w":["外玄外孙媳妇"],"d,s,d,d":["外玄外孙女"],"d,s,d,d,h":["外玄外孙女婿"],"d,d":["外孙女","外孙囡","外孙女儿"],"d,d,h":["外孙女婿","外孙婿","外孙郎"],"d,d,s":["外曾外孙","外息仔"],"d,d,s,w":["外曾外孙媳妇"],"d,d,s,s":["外曾外曾孙"],"d,d,s,s,w":["外曾外曾孙媳妇"],"d,d,s,d":["外曾外曾孙女"],"d,d,s,d,h":["外曾外曾孙女婿"],"d,d,d":["外曾外孙女","外息女"],"d,d,d,h":["外曾外孙女婿"],"d,d,d,s":["外曾外曾外孙"],"d,d,d,s,w":["外曾外曾外孙媳妇"],"d,d,d,d":["外曾外曾外孙女"],"d,d,d,d,h":["外曾外曾外孙女婿"],"1,xb,w,xb":["叔眷兄弟"],"1,xb,w,xb,s":["叔眷舅男"],"1,xb,w,xb,d":["叔眷舅女"],"1,xb,w,xs":["叔眷姊妹"],"1,xb,w,xs,s":["叔眷姨男"],"1,xb,w,xs,d":["叔眷姨女"],"1,xb,s":["从男","从子"],"1,xb,s,s":["从孙"],"1,xb,s,s,s":["从曾孙"],"1,xb,s,s,s,s":["从玄孙"],"1,xb,s,w":["从妇"],"1,xb,d":["从女","从子"],"1,xb,d,h":["从婿"],"1,xs,h,xb":["姑姻兄弟"],"1,xs,h,xb,s":["姑姻叔男"],"1,xs,h,xb,d":["姑姻叔女"],"1,xs,h,xs":["姑姻姊妹"],"1,xs,h,xs,s":["姑姻姑男"],"1,xs,h,xs,d":["姑姻姑女"],"1,xs,s,s":["离孙男","离孙子"],"1,xs,s,d":["离孙女"],"0,xb,w,xb":["舅眷兄弟"],"0,xb,w,xb,s":["舅眷舅男"],"0,xb,w,xb,d":["舅眷舅女"],"0,xb,w,xs":["舅眷姊妹"],"0,xb,w,xs,s":["舅眷姨男"],"0,xb,w,xs,d":["舅眷姨女"],"0,xs,h,xb":["姨姻兄弟"],"0,xs,h,xb,s":["姨姻叔男"],"0,xs,h,xb,d":["姨姻叔女"],"0,xs,h,xs":["姨姻姊妹"],"0,xs,h,xs,s":["姨姻姑男"],"0,xs,h,xs,d":["姨姻姑女"],"0,xb,s":["娘家侄子","娘家侄"],"0,xb,s,s":["归孙男","归孙子"],"0,xb,s,d":["归孙女"],"0,xb,d":["娘家侄女"],"0,xs,s":["姨甥","姨甥男","从男","从子"],"0,xs,s,w":["从妇"],"0,xs,d":["姨甥女","从女","从子"],"0,xs,d,h":["从婿"],"0,xs,s,s":["姨甥孙","姨孙","姨甥孙男","姨孙男"],"0,xs,s,d":["姨甥孙女","姨孙女"],"0,xs,d,s":["姨甥外孙","姨外孙","姨甥外孙男","姨外孙男"],"0,xs,d,d":["姨甥外孙女","姨外孙女"]};let t=Object.assign({},{"[f,f|f,m|m,f],[f,m],f":["老太奶爷","祖太奶爷"],"[f,f|f,m|m,f],[f,m],m":["老太奶奶","祖太奶奶"],"[f,m|m,f|m,m],[f,m],f":["老太姥爷","祖太姥爷"],"[f,m|m,f|m,m],[f,m],m":["老太姥姥","祖太姥姥"],"[f|m],[f|m],f":["太老爷"],"[f|m],[f|m],f,ob":["伯太老爷"],"[f|m],[f|m],f,ob,w":["伯太老姥"],"[f|m],[f|m],f,lb":["叔太老爷"],"[f|m],[f|m],f,lb,w":["叔太老姥"],"[f|m],[f|m],f,xs":["姑太老姥"],"[f|m],[f|m],f,xs,h":["姑太老爷"],"[f|m],[f|m],m":["太老姥"],"[f|m],[f|m],m,xb":["舅太老爷"],"[f|m],[f|m],m,xb,w":["舅太老姥"],"[f|m],[f|m],m,xs":["姨太老姥"],"[f|m],[f|m],m,xs,h":["姨太老爷"],"[f,f|f,m|m,f],f":["太奶爷","祖奶爷","祖爷爷"],"[f,f|f,m|m,f],f,ob":["伯太奶爷","太伯奶爷"],"[f,f|f,m|m,f],f,ob,w":["伯太奶奶","太伯奶奶"],"[f,f|f,m|m,f],f,lb":["叔太奶爷","太叔奶爷"],"[f,f|f,m|m,f],f,lb,w":["叔太奶奶","太叔奶奶"],"[f,f|f,m|m,f],f,xs":["姑太奶奶","太姑奶奶"],"[f,f|f,m|m,f],f,xs,h":["姑太奶爷","太姑奶爷"],"[f,f|f,m|m,f],m":["太奶奶","祖奶奶"],"[f,f|f,m|m,f],m,xb":["舅太奶爷","太舅奶爷"],"[f,f|f,m|m,f],m,xb,w":["舅太奶奶","太舅奶奶"],"[f,f|f,m|m,f],m,xs":["姨太奶奶","太姨奶奶"],"[f,f|f,m|m,f],m,xs,h":["姨太奶爷","太姨奶爷"],"[f,m|m,f|m,m],f":["太姥爷","祖姥爷","太毑爷"],"[f,m|m,f|m,m],f,ob":["伯太姥爷","伯叔姥爷"],"[f,m|m,f|m,m],f,ob,w":["伯太姥姥","太伯姥姥"],"[f,m|m,f|m,m],f,lb":["叔太姥爷","太叔姥爷"],"[f,m|m,f|m,m],f,lb,w":["叔太姥姥","太叔姥姥"],"[f,m|m,f|m,m],f,xs":["姑太姥姥","太姑姥姥"],"[f,m|m,f|m,m],f,xs,h":["姑太姥爷","太姑姥爷"],"[f,m|m,f|m,m],m":["太姥姥","祖姥姥","太毑毑","太姥"],"[f,m|m,f|m,m],m,xb":["舅太姥爷","太舅姥爷"],"[f,m|m,f|m,m],m,xb,w":["舅太姥姥","太舅姥姥"],"[f,m|m,f|m,m],m,xs":["姨太姥姥","太姨姥姥"],"[f,m|m,f|m,m],m,xs,h":["姨太姥爷","太姨姥爷"],"[f|m],[f|m],[f|m]":["曾祖辈","祖祖","老太"],"[f|m],f,[f|m]":["阿太"],"[f|m],[f|m]":["祖辈"],"[f|m],f":["老爷"],"[f|m],f,ob":["伯老爷"],"[f|m],f,ob,w":["伯老姥"],"[f|m],f,lb":["叔老爷"],"[f|m],f,lb,w":["叔老姥"],"[f|m],f,xs":["姑老姥"],"[f|m],f,xs,h":["姑老爷"],"[f|m],m":["老姥"],"[f|m],m,xb":["舅老爷"],"[f|m],m,xb,w":["舅老姥"],"[f|m],m,xs":["姨老姥"],"[f|m],m,xs,h":["姨老爷"],"f,f,[f|m]":["曾祖父母"],"f,f,[f,xs|m,xb],s":["舅姑爷爷","舅姑爷"],"f,[f|m]":["祖父母","爷爷奶奶"],"f,[ob|ob,w]":["伯父母"],"f,[lb|lb,w]":["叔父母"],"f,xb,[s|d]":["堂兄弟姐妹","堂姐妹兄弟","从父兄弟姐妹"],"f,[xs|xs,h]":["姑父母"],"f,xs,[s|d]":["姑表兄弟姐妹"],"m,[f|m],f":["老外公","老外爷","老姥爷"],"m,[f|m],m,":["老外婆","老外奶","老姥姥","老姥娘","老嫏娘"],"m,[f|m]":["外祖父母","外公外婆","姥姥姥爷"],"m,f,[f,xs|m,xb],s":["舅姑姥爷"],"m,[xb|xb,w]":["舅父母"],"m,xb,[s|d]":["舅表兄弟姐妹"],"m,[xs|xs,h]":["姨父母"],"m,xs,[s|d]":["姨兄弟姐妹","姨姐妹兄弟","从母兄弟姐妹"],"[f|m]":["父母","爹娘","爹妈","爸妈","爸爸妈妈","父母亲","双亲","二亲","两亲","二老","高堂"],"[f|m],[f,xs|m,xb],s":["舅姑爸","姑舅爸"],"[f|m],[f,xs|m,xb],s&o,w":["舅姑姆","姑舅姆"],"[f|m],[f,xs|m,xb],s&l,w":["舅姑婶","姑舅婶"],"[f|m],[f,xs|m,xb],d":["姑舅娘娘"],"[f|m],m,xs,s":["两姨爸"],"[f|m],m,xs,s&o,w":["两姨姆"],"[f|m],m,xs,s&l,w":["两姨婶"],"[f|m],m,xs,d":["两姨娘娘"],"w,[f|m]":["岳父母","岳父岳母","丈人丈母","舅姑"],"w,f,[ob|ob,w]":["伯岳父母"],"w,f,[lb|lb,w]":["叔岳父母"],"w,f,[xs|xs,h]":["姑岳父母"],"w,m,[xb|xb,w]":["舅岳父母"],"w,m,[xs|xs,h]":["姨岳父母"],"w,[f,xs|m,xb],d":["姑舅姨子"],"w,[f,xs|m,xb],d,h":["姑舅连襟","姑舅连桥"],"h,[f|m]":["公婆","翁姑","姑翁","姑舅","大家官","公公婆婆","姑章","姑嫜"],"h,f,[ob|ob,w]":["伯公婆"],"h,f,[lb|lb,w]":["叔公婆"],"h,f,[xs|xs,h]":["姑公婆"],"h,m,[xb|xb,w]":["舅公婆"],"h,m,[xs|xs,h]":["姨公婆"],"[ob|lb]":["兄弟","晜弟","亲兄弟","同胞兄弟"],"[ob|lb],w":["兄弟媳妇","兄弟妇"],"[os|ls]":["姐妹","亲姐妹","同胞姐妹"],"[os|ls],h":["姐妹夫","姊妹婿"],"[xb|xs]":["兄弟姐妹","同胞","同胞兄弟姐妹","手足"],"[ob|os]":["哥哥姐姐"],"[lb|ls]":["弟弟妹妹"],"[ob|ob,w]":["哥哥嫂嫂","兄嫂"],"[f,xb|m,xs],[s|d]":["从兄弟姐妹","从姐妹兄弟"],"[f,xs|m,xb],[s|d]":["表兄弟姐妹","表姐妹兄弟","老表","阿表"],"[f,xs|m,xb],s":["姑舅兄弟","舅姑兄弟"],"[f,xs|m,xb],s&o":["姑舅哥","姑舅哥哥"],"[f,xs|m,xb],s&l":["姑舅弟","姑舅弟弟"],"[f,xs|m,xb],d":["姑舅姊妹","舅姑姊妹"],"[f,xs|m,xb],d&o":["姑舅姐","姑舅姐姐"],"[f,xs|m,xb],d&l":["姑舅妹","姑舅妹妹"],"[f,xs|m,xb],s,s":["姑舅儿子"],"[f,xs|m,xb],s,d":["姑舅女儿"],"[xb|xs],[s|d]":["侄甥"],"xb,[s|d]":["侄子女","侄子侄女"],"xs,[s|d]":["甥子女","外甥子女"],"[w|s|d]":["妻儿","妻小"],"[w|d]":["妻女"],"[s|d]":["子女","儿女","小孩","孩子","孩子们","孩儿","小孩儿","宝宝","宝贝","娃","娃子","儿辈","子辈","细伢","子息","子嗣","崽","幺儿"],"[s|d],[s|d]":["孙辈","孙息","孙枝"],"s,[s|d]":["孙子女"],"d,[s|d]":["外孙子女"],"s#xb,s":["子侄"],"s#s,w":["子媳"],"[s|d]#[s|d],[s|d]":["儿孙","子孙","孙息"],"[s,w|d,h],[f|m]":["亲家","儿女亲家"],"[s,w|d,h],f":["亲家公","亲家父","亲家翁","亲家世翁","姻翁"],"[s,w|d,h],f,f":["太姻翁"],"[s,w|d,h],f,m":["太姻姆"],"[s,w|d,h],f,f,f":["太姻翁"],"[s,w|d,h],f,f,m":["太姻姆"],"[s,w|d,h],f,f,ob":["姻伯翁"],"[s,w|d,h],f,f,ob,w":["姻伯姆"],"[s,w|d,h],f,f,lb":["姻叔翁"],"[s,w|d,h],f,f,lb,w":["姻叔母"],"[s,w|d,h],f,f,xb,s&o":["姻家兄"],"[s,w|d,h],f,f,xb,s&o,w":["姻家兄妇"],"[s,w|d,h],f,f,xb,s&l":["姻家弟"],"[s,w|d,h],f,f,xb,s&l,w":["姻家弟妇"],"[s,w|d,h],f,f,xb,s,s":["姻家侄"],"[s,w|d,h],f,f,xb,s,s,w":["姻家侄妇"],"[s,w|d,h],f,ob":["姻兄"],"[s,w|d,h],f,ob,w":["姻兄妇"],"[s,w|d,h],f,lb":["姻弟"],"[s,w|d,h],f,lb,w":["姻弟妇"],"[s,w|d,h],f,xb,s":["姻侄"],"[s,w|d,h],f,xb,s,w":["姻侄妇"],"[s,w|d,h],m":["亲家母","亲家婆","亲家姆","亲姆","姻姆"],"[s,w|d,h],m,ob":["姻仁兄"],"[s,w|d,h],m,ob,w":["姻仁兄妇"],"[s,w|d,h],m,lb":["姻仁弟"],"[s,w|d,h],m,lb,w":["姻仁弟妇"],"[s,w|d,h],[f|m],f":["姻太翁"],"[s,w|d,h],[f|m],m":["姻太姆"]}),r=function(s,f){let x={};for(let d in f){let m=d.match(/\{.+?\}/)[0],b=f[d];for(let f in s[m]){let h=s[m][f],l=d.replace(m,f),o=["h,h","w,w","w,h","h,w"].some((s=>l.includes(s)));if(!o){let s=[];h.forEach((function(f){b.forEach((function(x){x.includes("?")?s.push(x.replace("?",f)):s.push(f+x)}))})),x[l]||(x[l]=t[l]||[]),x[l]=s.concat(x[l])}}}return x},G={};for(let s in M){G[s]={};for(let f in M[s])-1==f.indexOf("]")&&(G[s][f]=M[s][f])}let c={};for(let s in M){c[s]={};for(let f in M[s])f.indexOf("]")>-1&&k(f).forEach((function(x){c[s][x]=M[s][f]}))}t=Object.assign({},t,r(G,w),r(c,w));for(let s in e)t[s]=[].concat(e[s],t[s]||[]);t.o=["passer-by.com","作者"];const n={w:["妻","内","岳","岳家","丈人"],h:["夫","外","公","婆家","婆婆"]};let a=new Set(Object.values(t).flat());for(let s in t)if(s.match(/^[fm]/)||s.match(/^[olx][bs]$|^[olx][bs],[^mf]/))for(let f in n){let x=f+","+s;if(s.match(/[fm]/)){let s=x.replace(/,[ol]([sb])(,[wh])?$/,",x$1$2").replace(/(,[sd])&[ol](,[wh])?$/,"$1$2");if(s!=x&&t[s])continue}t[x]||(t[x]=[]);let d=n[f],m=t[s];d.forEach((function(s){m.forEach((function(f){let d=s+f;a.has(d)||t[x].push(d)}))}))}const p=t;let i={},$=Object.assign({},p);function W(s,f){let x={f:["d","s"],m:["d","s"],h:["w",""],w:["","h"],s:["m","f"],d:["m","f"],lb:["os","ob"],ob:["ls","lb"],xb:["xs","xb"],ls:["os","ob"],os:["ls","lb"],xs:["xs","xb"]},d="";if(s.match(/&o$/)?d="&l":s.match(/&l$/)&&(d="&o"),s){s=s.replace(/&[ol\d+]/g,""),f<0&&(s.match(/^w/)?f=1:s.match(/^h/)&&(f=0));let m=[],b=function(f){let m=(","+f+","+s).replace(/,[fhs]|,[olx]b/g,",1").replace(/,[mwd]|,[olx]s/g,",0");m=m.substring(0,m.length-2);let b=s.split(",").reverse(),h=m.split(",").reverse(),l=b.map(((s,f)=>x[s][h[f]])),o=l.join(",");return o+(g(o)?"":d)};return f<0?(m.push(b(1)),m.push(b(0))):m.push(b(f)),m}return[""]}function u(s){let f=s.filter((s=>s==s.replace(/[ol](?=[s|b])/g,"x").replace(/&[ol]/,"")));return s.filter((s=>{let x=s.replace(/[ol](?=[s|b])/g,"x").replace(/&[ol]/,"");return f.includes(s)||s!=x&&!f.includes(x)})).filter(((s,f,x)=>x.indexOf(s)===f))}function g(s){let f={f:1,m:1,s:-1,d:-1},x=s.split(","),d=0;return x.forEach((function(s){let x=s.replace(/&[ol\d]+/,"");d+=f[x]||0})),d}function E(s){let f=[],x=function(s){let f=[];if($[s]){let x=s.replace(/(,[sd])(,[wh])?$/,"$1&o$2"),d=s.replace(/(,[sd])(,[wh])?$/,"$1&l$2");f=$[x]&&$[d]?[x,d]:[s]}return u(f).map((function(s){return $[s][0]}))};if(s.match(/&([\d]+)(,[hw])?$/)){let x=function(s){let f="";const x={1:"大",99:"小"};if(x[s])f=x[s];else{let x=~~(s/10),d=s%10;f=(x?(h[x]+"十").replace("一十","十"):"")+h[d]}return f}(s.match(/&([\d]+)(,[hw])?$/)[1]);if(s=s.replace(/&\d+/g,""),$[s]){let d="";g(s)<3&&!s.match(/[hw],/)?($[s].forEach((function(s){!d&&s.includes("几")&&(d=s.replace("几",x))})),d||(d=$[s][0].match(/^[大小]/)?$[s][0].replace(/^[大小]/,x):x+$[s][0])):d=$[s][0],f.push(d)}}else s=s.replace(/&\d+/g,"");if(f.length||(f=x(s)),f.length||(f=x(s=s.replace(/&[ol]/g,""))),f.length||(f=x(s=s.replace(/[ol](b|s)/g,"x$1"))),!f.length){let d=s.replace(/x/g,"l"),m=s.replace(/x/g,"o");f=f.concat(x(m),x(d))}return f}let j=Object.assign({},$,{xb:["兄弟"],xs:["姐妹"]});function y(s,f){let x=s.split(",").map((function(s){let f=s.replace(/&[ol\d]+/,"");return j[f][0]})).join("的");return f&&f>-1&&j[f+","+s]&&(0==f?x="(女性)"+x:1==f&&(x="(男性)"+x)),x}let O={};for(let s in $)$[s].forEach((function(f){void 0===O[f]&&(O[f]=[]),O[f].push(s)}));const S=O;function v(s){(s=s.replace(/之/g,"的").replace(/吾之?(.+)/,"$1").replace(/我的?(.+)/,"$1")).match(/[^娘婆岳亲]家的?(孩子|儿子|女儿)/)&&(s=s.replace(/家的?/,"的"));let f=(s=(s=(s=s.replace(/(舅|姑)+(爸|父|丈|妈|母)?家的?(哥|姐|弟|妹)+/,"$1表$3").replace(/(舅|姑)+(爸|父|丈|妈|母)?家的?/,"$1表")).replace(/(伯|叔)+(父|母)?家的?(哥|姐|弟|妹)+/,"堂$3").replace(/(伯|叔)+(父|母)?家的?/,"堂")).replace(/姨+(爸|父|丈|妈|母)?家的?(哥|姐|弟|妹)+/,"姨$2").replace(/姨+(爸|父|丈|妈|母)?家的?/,"姨")).split("的"),x=[],d=!0;for(;f.length;){let s=f.shift(),h=[],o=[s],M=function(s){m.forEach((f=>{f.arr.forEach((x=>{let d=s.replace(f.exp,x);d!=s&&(o.push(d),M(d))}))}));for(let f in b){let x=s.replace(f,b[f]),d=s.replace(b[f],f);x!=s&&o.push(x),d!=s&&o.push(d)}};M(s);let w=[[],[],[]];o.forEach((function(s){let f=(s=s.replace(/^[尕幺细满碎晚末尾幼]/,"小")).match(/^[大|小]|^[一|二|三|四|五|六|七|八|九|十]+/);if(f){let x=s.replace(f[0],"几"),d=s.replace(f[0],""),m=l(f[0]);[x,d,s].forEach((function(s,f){let x=S[s];x&&x.length&&x.forEach((function(x){let d=x.replace(/(,[hw])$/,"&"+m+"$1").replace(/([^hw]+)$/,"$1&"+m);x.match(/^[mf,]+$/)||s.match(/^[从世]/)||w[f].push(d)}))}))}h=h.concat(S[s]||[])})),w.forEach((function(s){h.length||(h=s)})),h.length||(d=!1);let e=[];x.length||(x=[""]),x.forEach((function(s){h.forEach((function(f){e.push(s+(f?","+f:""))}))})),x=e}return d?u(x):[]}function N(s){let{from:f,to:x,sex:d}=s;if(d<0){let s=-1,m=-1;if(f.match(/^,[w1]/)?m=1:f.match(/^,[h0]/)&&(m=0),x.match(/^,[w1]/)?s=1:x.match(/^,[h0]/)&&(s=0),-1==m&&s>-1)d=s;else if(m>-1&&-1==s)d=m;else{if(m!=s)return[];d=m}}let m=P(s.from,d),b=P(s.to,d);if(!m.length||!b.length)return[];let h=[];return m.forEach((function(f){b.forEach((function(x){let m=d,b=","+x;if(b.match(/,([fhs1](&[ol\d]+)?|[olx]b)(&[ol\d]+)?$/)&&(m=1),b.match(/,([mwd0](&[ol\d]+)?|[olx]s)(&[ol\d]+)?$/)&&(m=0),f&&x){let m=s.optimal;if((f.match(/&\d+/)||x.match(/&\d+/))&&(m=!0),m){let m=function(s){let{from:f,to:x,sex:d}=s,m=s.from.split(","),b=s.to.split(",");for(let h=0;h+w?m[h]=m[h].replace(/^[xol]b|^s/,"lb").replace(/^[xol]s|^d/,"ls"):+M<+w&&(m[h]=m[h].replace(/^[xol]b|^s/,"ob").replace(/^[xol]s|^d/,"os")),f=m.slice(h).join(","),x=b.slice(h+1).join(","),d=b[h].match(/^([fhs1](&[ol\d]+)?|[olx]b)(&[ol\d]+)?/)?1:0;else if(s.optimal&&(l=m[h].match(/([xol])[bs]/),o=b[h].match(/([xol])[bs]/),M=l?l[1]:"",w=o?o[1]:"","x"==M||"x"==w)){f=m.slice(h+1).join(","),x=b.slice(h+1).join(","),d=m[h].match(/^([fhs1](&[ol\d]+)?|[olx]b)(&[ol\d]+)?/)?1:0;continue}}break}f=m.slice(h+1).join(","),x=b.slice(h+1).join(","),d=m[h].match(/^([fhs1](&[ol\d]+)?|[olx]b)(&[ol\d]+)?/)?1:0}return{from:f,to:x,sex:d}}({from:f,to:x,sex:d,optimal:s.optimal});f=m.from,x=m.to,d=m.sex}}(x?W(x,d):[""]).forEach((function(s){let x=(s?","+s:"")+(f?","+f:"");h.push({selector:x,sex:m})}))}))})),h}function k(s){let f=[],x={},m=function(s){let b="";if(!x[s]){x[s]=!0;do{b=s;for(let f of d)if((s=s.replace(f.exp,f.str)).includes("#"))return s.split("#").forEach(m),!1}while(b!=s);if(s.match(/,[mwd0](&[ol\d+])?,w|,[hfs1](&[ol\d]+)?,h/))return!1;f.push(s)}};return m(s),f}function P(s,f){if(s.match(/^,/)||(s=","+s),f<0)s.match(/^,[w1]/)?f=1:s.match(/^,[h0]/)&&(f=0);else{if(1==f&&s.match(/^,[h0]/))return[];if(0==f&&s.match(/^,[w1]/))return[]}if(f>-1&&!s.includes(",1")&&!s.includes(",0")&&(s=","+f+s),s.match(/,[mwd0](&[ol\d]+)?,w|,[hfs1](&[ol\d]+)?,h/))return[];let x=k(s).map((function(s){return s.replace(/,[01]/,"").substr(1)}));return u(x)}var C=function(s){"string"==typeof s&&(s=function(s){for(let f of x){let x=s.match(f.exp);if(x)return f.opt(x)}return{}}(s));var f=Object.assign({text:"",target:"",sex:-1,type:"default",reverse:!1,mode:"default",optimal:!1},s);$=function(s){if($=Object.assign({},p),s&&i[s])for(let f in i[s])$[f]=[].concat(i[s][f],p[f]||[]);return $}(f.mode);var d=v(f.text),m=v(f.target);m.length||(m=[""]);var b=[];return d.forEach((function(s){m.forEach((function(x){N({from:s,to:x,sex:f.sex,optimal:f.optimal}).forEach((function(s){(s?P(s.selector,s.sex):[]).forEach((function(x){var d=[x],m=s.sex;f.reverse&&(d=W(x,m),m=x.match(/([fhs1](&[ol\d]+)?|[olx]b)$/)?1:0),"chain"==f.type?d.forEach((function(f){var x=y(f,s.sex);x&&b.push(x)})):"pair"==f.type?(d=W(x,s.sex)).forEach((function(s){var f=function(s,f){let x=[],d=[],m=[];s=s.replace(/&\d+/,""),f=f.replace(/&\d+/,"");let b=s.replace(/([ol])([bs])/,"x$2"),h=f.replace(/([ol])([bs])/,"x$2"),l=s.replace(/&[ol]/,""),M=f.replace(/&[ol]/,"");for(let w in o){let e=w.split("#");if(e.length>1){let t=P(e[0]),r=P(e[1]),G=t.map((function(s){return s.replace(/&[ol\d]+/,"").replace(/([ol])([bs])/,"x$2")})),c=r.map((function(s){return s.replace(/&[ol\d]+/,"").replace(/([ol])([bs])/,"x$2")}));(t.includes(s)&&r.includes(f)||t.includes(f)&&r.includes(s))&&x.push(o[w][0]),(G.includes(b)&&c.includes(h)||G.includes(h)&&c.includes(b))&&d.push(o[w][0]),(G.includes(l)&&c.includes(M)||G.includes(M)&&c.includes(l))&&m.push(o[w][0])}}return x.length||(x=d),x.length||(x=m),x}(x,s);b=b.concat(f)})):d.forEach((function(s){var f=E(s);f.length||(f=E(m+","+s)),b=b.concat(f)}))}))}))}))})),[...new Set(b)]};C.data=$,C.dataCount=Object.keys($).length,C.setMode=function(s,f){i[s]=Object.assign(i[s]||{},f)};const q=C;return f=f.default})())); \ No newline at end of file +!function(s,f){"object"==typeof exports&&"undefined"!=typeof module?module.exports=f():"function"==typeof define&&define.amd?define(f):(s="undefined"!=typeof globalThis?globalThis:s||self).relationship=f()}(this,(function(){"use strict";var s=[{exp:/^(\S+?)(应该|得)?(称呼|叫|喊)(\S+?)(什么|啥)??$/,opt:s=>({text:s[4],target:s[1]})},{exp:/^(\S+?)(应该|得)?(如何|怎么)(称呼|叫|喊)(\S+?)??$/,opt:s=>({text:s[5],target:s[1]})},{exp:/^(\S+?)是(\S+?)的(谁|什么|什么亲戚|啥亲戚|什么人)??$/,opt:s=>({text:s[1],target:s[2],type:s[1].indexOf("的")>-1?"default":"chain"})},{exp:/^(\S+?)(应该|得)?管(\S+?)叫(什么|啥)??$/,opt:s=>({text:s[3],target:s[1]})},{exp:/^(\S+?)(和|与)(\S+?)(之间)?是(什么|啥)关系??$/,opt:s=>({text:s[1],target:s[3],type:"pair"})},{exp:/^(\S+?)对于(\S+?)是(什么|啥)关系??$/,opt:s=>({text:s[1],target:s[2],type:"chain"})},{exp:/^(\S+?)(指的)?是(什么|啥)(意思|关系|亲戚关系|辈分|人)??$/,opt:s=>({text:s[1],type:"chain"})},{exp:/^(\S+?)(应该|得)?(称呼|叫|喊)(什么|啥)??$/,opt:s=>({text:s[1]})},{exp:/^(\S+?)(应该|得)?(如何|怎么)(称呼|叫|喊)??$/,opt:s=>({text:s[1]})},{exp:/^(\S+?)是(谁|什么|什么亲戚|啥亲戚|什么人|什么辈分|啥辈分)??$/,opt:s=>({text:s[1],type:s[1].indexOf("的")>-1?"default":"chain"})}];var f=[{exp:/^(.+)&o([^#]+)&l/g,str:"$1$2"},{exp:/^(.+)&l([^#]+)&o/g,str:"$1$2"},{exp:/^(.+)?,o([sb](&\d+)?)([^#]+)&l/g,str:"$1,x$2$4"},{exp:/^(.+)?,l([sb](&\d+)?)([^#]+)&o/g,str:"$1,x$2$4"},{exp:/(,o[sb](&\d+)?)+(,o[sb])(&\d+)?/,str:"$3$4"},{exp:/(,l[sb](&\d+)?)+(,l[sb])(&\d+)?/,str:"$3$4"},{exp:/^(.*,[fh1])(,[olx][sb](&\d+)?)+,[olx]b(.*)$/,str:"$1,xb$4#$1$4"},{exp:/^(.*,[mw0])(,[olx][sb](&\d+)?)+,[olx]s(.*)$/,str:"$1,xs$4#$1$4"},{exp:/(,[fh1])(,[olx][sb](&\d+)?)+,[olx]s/g,str:"$1,xs"},{exp:/(,[mw0])(,[olx][sb](&\d+)?)+,[olx]b/g,str:"$1,xb"},{exp:/^,[olx][sb](&\d+)?,[olx]b(.+)?$/,str:",xb$2#$2"},{exp:/^,[olx][sb](&\d+)?,[olx]s(.+)?$/,str:",xs$2#$2"},{exp:/^,x([sb])$/,str:",o$1#,l$1"},{exp:/m,h/g,str:"f"},{exp:/f,w/g,str:"m"},{exp:/,[xol][sb](&\d+)?(,[mf])/g,str:"$2"},{exp:/,[mf],d(&\d+)/,str:",xs$1"},{exp:/,[mf],d&([ol])/,str:",$1s"},{exp:/,[mf],s(&\d+)/,str:",xb$1"},{exp:/,[mf],s&([ol])/,str:",$1b"},{exp:/^(.*,[fh1]|[xol]b(&\d+)?),[mf],s(.*)$/,str:"$1,xb$3#$1$3"},{exp:/^(.*,[mw0]|[xol]s(&\d+)?),[mf],d(.*)$/,str:"$1,xs$3#$1$3"},{exp:/(,[mw0]|[xol]s(&\d+)?),[mf],s/,str:"$1,xb"},{exp:/(,[fh1]|[xol]b(&\d+)?),[mf],d/,str:"$1,xs"},{exp:/^,[mf],s(.+)?$/,str:",xb$1#,1$1"},{exp:/^,[mf],d(.+)?$/,str:",xs$1#,0$1"},{exp:/,[ds](&[ol\d]+)?,[olx]b(&\d+)/g,str:",s$2"},{exp:/,[ds](&[ol\d]+)?,[olx]s(&\d+)/g,str:",d$2"},{exp:/,[ds]&o,ob/g,str:",s&o"},{exp:/,[ds]&o,os/g,str:",d&o"},{exp:/,[ds]&l,lb/g,str:",s&l"},{exp:/,[ds]&l,ls/g,str:",d&l"},{exp:/,[ds](&[ol\d]+)?,[olx]s(&\d+)?/g,str:",d$2"},{exp:/,[ds](&[ol\d]+)?,[olx]b(&\d+)?/g,str:",s$2"},{exp:/(,[mwd0]|,[olx]s)(&[ol\d]+)?,[ds](&[ol\d]+)?,m/g,str:"$1"},{exp:/(,[mwd0]|,[olx]s)(&[ol\d]+)?,[ds](&[ol\d]+)?,f/g,str:"$1,h"},{exp:/(,[fhs1]|,[olx]b)(&[ol\d]+)?,[ds](&[ol\d]+)?,f/g,str:"$1"},{exp:/(,[fhs1]|,[olx]b)(&[ol\d]+)?,[ds](&[ol\d]+)?,m/g,str:"$1,w"},{exp:/^,[ds],m(.+)?$/,str:",w$1#$1"},{exp:/^,[ds],f(.+)?$/,str:",h$1#$1"},{exp:/,[wh](,[ds])/g,str:"$1"},{exp:/,w,h|,h,w/g,str:""},{exp:/(.+)?\[([^\|]+?)\|([^\[\]]*\|[^\[\]]*)\](.+)?/g,str:"$1$2$4#$1[$3]$4"},{exp:/(.+)?\[([^\[\]\|]+?)\|([^\[\]\|]+?)?\](.+)?/g,str:"$1$2$4#$1$3$4"}],x=[{exp:/^从表/,arr:["从父姑表","从父舅表","从父姨表","从母姑表","从母舅表","从母叔表"]},{exp:/^表表/,arr:["姑表叔表","姑表姑表","姑表舅表","姑表姨表","舅表叔表","舅表姑表","舅表舅表","舅表姨表"]},{exp:/^([夫妻内外]?)表/,arr:["$1姑表","$1舅表"]},{exp:/^([姑舅])表(?=[^伯叔])/,arr:["$1表伯","$1表叔"]},{exp:/^姻/,arr:["姑姻","姨姻","姊妹姻","女姻"]},{exp:/^眷/,arr:["叔眷","舅眷","兄弟眷","男眷"]},{exp:/^亲家/,arr:["姊妹姻","兄弟眷"]},{exp:/^([堂表姨]?)([曾高天烈太远鼻]?)(祖?)([伯叔姑舅姨])/,arr:["$1$4$2$3"]},{exp:/^([曾高天烈太远鼻]?)祖?王姑/,arr:["姑$1祖母"]},{exp:/^([曾玄元来晜仍云耳])([侄甥])/,arr:["$2$1"]},{exp:/^外表([伯叔姑舅姨])/,arr:["姑表$1外","舅表$1外"]},{exp:/([堂表姨]?)外甥/,arr:["$1甥"]},{exp:/^([舅叔])([曾玄外]*)孙/,arr:["$1侄$2孙"]},{exp:/^([姨姑])([曾玄外]*)孙/,arr:["$1甥$2孙"]},{exp:/([孙甥侄])$/,arr:["$1男","$1女"]},{exp:/([姑舅姨叔])([孙外]*)([男女])$/,arr:["$1表侄$2$3","$1表甥$2$3"]},{exp:/(.+)父母$/,arr:["$1父","$1母"]},{exp:/(.+)公婆$/,arr:["$1公","$1婆"]},{exp:/祖$/,arr:["祖父"]},{exp:/(新妇|媳)$/,arr:["媳妇"]},{exp:/嫂$/,arr:["兄妇"]},{exp:/女儿$/,arr:["女"]}],d={"晜":"兄","哥":"兄","姐":"姊","侄":"姪","婿":"壻","祖父":"王父","祖母":"王母","孙女婿":"孙婿","甥女婿":"甥婿","侄女婿":"侄婿","孙媳妇":"孙妇","甥媳妇":"甥妇","侄媳妇":"侄妇"};const m=["","一","二","三","四","五","六","七","八","九","十"];function b(s){let f=0;const x={"大":1,"小":99};if(x[s])f=x[s];else{let[x,d=0]=s.replace(/^十/,"一十").split("十").map((s=>m.indexOf(s))).reverse();f=10*d+x}return f}var h={"f#s":["父子"],"m#s":["母子"],"f#d":["父女"],"m#d":["母女"],"h#w":["夫妻"],"ob#lb":["兄弟"],"ob#ls":["兄妹"],"os#ls":["姐妹"],"os#lb":["姐弟"],"w,f#d,h":["翁婿"],"w,m#d,h":["母婿"],"h,f#s,w":["翁媳"],"h,m#s,w":["婆媳"],"f,[f|m]#s,[s|d]":["祖孙"],"m,f#d,[s|d]":["公孙"],"m,m#d,[s|d]":["婆孙"],"f,[ob|ob,w]#[lb|h,lb],[s|d]":["伯侄"],"f,lb#ob,[s|d]":["叔侄"],"f,lb,w#h,ob,[s|d]":["婶侄"],"f,[xs|xs,h]#[xb|w,xb],[s|d]":["姑侄"],"m,[xb|xb,w]#[xs|h,xs],[s|d]":["舅甥"],"m,[xs|xs,h]#[xs|w,xs],[s|d]":["姨甥"],"f,xb,s&o#f,xb,s&l":["堂兄弟"],"f,xb,s&o#f,xb,d&l":["堂兄妹"],"f,xb,d&o#f,xb,s&l":["堂姐弟"],"f,xb,d&o#f,xb,d&l":["堂姐妹"],"f,xs,s&o#m,xb,s&l":["表兄弟"],"m,xb,s&o#f,xs,s&l":["表兄弟"],"f,xs,s&o#m,xb,d&l":["表兄妹"],"m,xb,s&o#f,xs,d&l":["表兄妹"],"f,xs,d&o#m,xb,d&l":["表姐妹"],"m,xb,d&o#f,xs,d&l":["表姐妹"],"f,xs,d&o#m,xb,s&l":["表姐弟"],"m,xb,d&o#f,xs,s&l":["表姐弟"],"m,xs,s&o#m,xs,s&l":["姨兄弟"],"m,xs,s&o#m,xs,d&l":["姨兄妹"],"m,xs,d&o#m,xs,s&l":["姨姐弟"],"m,xs,d&o#m,xs,d&l":["姨姐妹"],"h,ob,w#h,lb,w":["妯娌"],"w,os,h#w,ls,h":["连襟"],"w,os#ls,h":["襟姐弟"],"w,ls#os,h":["襟兄妹"],"xs,h#w,xb":["郎舅"],"xs,h#w,xs":["郎姨"],"lb,w#h,ob":["伯媳"],"ob,w#h,lb":["叔嫂"],"xb,w#h,xs":["姑嫂"],"d,h,[f|m]#s,w,[f|m]":["儿女亲家"]},l={"{G2}":{"f,f,xb":["从祖"],"m,f,xb":["外从祖"]},"{G1}":{"f,xb":["堂","同堂","亲堂","从父","叔伯","从"],"f,xs":["姑表","姑家"],"m,xb":["舅表","舅家"],"m,xs":["姨","从母","两姨","姨表","从"],"f,f,xb,s":["从堂","再从父","远堂","堂叔伯","叔伯叔伯","再从"],"f,f,xb,d":["堂姑表","从父姑表"],"f,f,xs,s":["姑表叔表"],"f,f,xs,d":["姑表姑表"],"f,m,xb,s":["舅表叔表"],"f,m,xb,d":["舅表姑表"],"f,m,xs,s":["从母叔表"],"f,m,xs,d":["从母姑表"],"m,f,xb,s":["堂舅表","从父舅表"],"m,f,xb,d":["堂姨表","从父姨表"],"m,f,xs,s":["姑表舅表"],"m,f,xs,d":["姑表姨表"],"m,m,xb,s":["舅表舅表"],"m,m,xb,d":["舅表姨表"],"m,m,xs,s":["从母舅表"],"m,m,xs,d":["再从母","姨姨","再从"],"f,f,f,xb,s,s":["三从父","再从堂","远堂","族","三从"],"m,m,m,xs,d,d":["三从母","三从"],"f,f,f,f,xb,s,s,s":["四从父","三从堂","远堂","族","四从"],"m,m,m,m,xs,d,d,d":["四从母","四从"],"[f|m],[f|m],[f|m],[f,xs|m,xb],[s|d],[s|d],[s|d]":["重表"],"[f|m],[f|m],[f,xs|m,xb],[s|d],[s|d]":["重表"]},"{G1M}":{"f,ob":["伯"],"f,lb":["叔","仲","季"],"m,xb":["舅"],"f,f,xb,s":["堂","从父","叔伯","从"],"f,f,xb,s&o":["堂伯","从父伯","叔伯伯","从伯"],"f,f,xb,s&l":["堂叔","从父叔","叔伯叔","从叔"],"f,f,f,xb,s,s":["从堂"],"f,f,f,xb,s,s&o":["从堂伯"],"f,f,f,xb,s,s&l":["从堂叔"],"f,f,f,f,xb,s,s,s":["族"],"f,f,xs,s&o":["姑表伯"],"f,f,xs,s&l":["姑表叔"],"f,m,xb,s&o":["舅表伯"],"f,m,xb,s&l":["舅表叔"],"f,m,xs,s&o":["姨伯","从母伯","从伯"],"f,m,xs,s&l":["姨叔","从母叔","从叔"],"m,f,xb,s":["堂舅","从父舅"],"m,f,xs,s":["姑表舅"],"m,m,xb,s":["舅表舅"],"m,m,xs,s":["姨舅","从母舅"],"f,[f|m],[f|m],[f,xs|m,xb],[s|d],[s|d],s&o":["重表伯"],"f,[f|m],[f|m],[f,xs|m,xb],[s|d],[s|d],s&l":["重表叔"],"f,[f|m],[f,xs|m,xb],[s|d],s&o":["重表伯"],"f,[f|m],[f,xs|m,xb],[s|d],s&l":["重表叔"],"m,[f|m],[f|m],[f,xs|m,xb],[s|d],[s|d],s":["重表舅"],"m,[f|m],[f,xs|m,xb],[s|d],s":["重表舅"]},"{G1W}":{"f,xs":["姑"],"m,xs":["姨","姏","茙","荻"],"f,f,xb,d":["堂姑","从父姑"],"f,f,f,xb,s,d":["从堂姑"],"f,f,xs,d":["姑表姑"],"f,m,xb,d":["舅表姑"],"f,m,xs,d":["姨姑","从母姑"],"m,f,xb,d":["堂姨","从父姨"],"m,f,xs,d":["姑表姨"],"m,m,xb,d":["舅表姨"],"m,m,xs,d":["姨姨","从母姨"],"f,[f|m],[f|m],[f,xs|m,xb],[s|d],[s|d],d":["重表姑"],"f,[f|m],[f,xs|m,xb],[s|d],d":["重表姑"],"m,[f|m],[f|m],[f,xs|m,xb],[s|d],[s|d],d":["重表姨"],"m,[f|m],[f,xs|m,xb],[s|d],d":["重表姨"]},"{G0}":{xb:["侄"],"1,xb":["从"],"1,f,xb,s":["再从"],"1,f,f,xb,s,s":["三从"],"h,xb":["叔侄","叔伯"],"w,xb":["舅侄"],xs:["甥","外甥"],"0,xs":["从"],"0,m,xs,d":["再从"],"0,m,m,xs,d,d":["三从"],"h,xs":["姑甥"],"w,xs":["姨甥","襟侄"]},"{M2W}":{"f,f,xb,w":["叔祖眷"],"m,f,xb,w":["叔外祖眷"],"f,m,xb,w":["舅祖眷"],"m,m,xb,w":["舅外祖眷"]},"{M2M}":{"f,f,xs,h":["姑祖姻"],"m,f,xs,h":["姑外祖姻"],"f,m,xs,h":["姨祖姻"],"m,m,xs,h":["姨外祖姻"]},"{M1W}":{"f,xb,w":["叔眷"],"f,f,xb,s,w":["从父叔眷"],"f,f,xs,s,w":["姑表叔眷"],"f,m,xb,s,w":["舅表叔眷"],"f,m,xs,s,w":["姨表叔眷"],"m,xb,w":["舅眷"],"m,f,xb,s,w":["从父舅眷"],"m,f,xs,s,w":["姑表舅眷"],"m,m,xb,s,w":["舅表舅眷"],"m,m,xs,s,w":["姨表舅眷"]},"{M1M}":{"f,xs,h":["姑姻"],"f,f,xb,d,h":["从父姑姻"],"f,f,xs,d,h":["姑表姑姻"],"f,m,xb,d,h":["舅表姑姻"],"f,m,xs,d,h":["姨表姑姻"],"m,xs,h":["姨姻"],"m,f,xb,d,h":["从父姨姻"],"m,f,xs,d,h":["姑表姨姻"],"m,m,xb,d,h":["舅表姨姻"],"m,m,xs,d,h":["姨表姨姻"]},"{M0}":{"xb,w":["兄弟眷"],"xs,h":["姊妹姻"],"w,xb,w":["舅兄弟眷","内兄弟眷"],"w,xs,h":["姨姊妹姻","内姊妹姻"],"h,xb,w":["叔兄弟眷","外兄弟眷"],"h,xs,h":["姑姊妹姻","外姊妹姻"],"f,xb,s,w":["从父兄弟眷"],"f,xb,d,h":["从父姊妹姻"],"f,xs,s,w":["姑表兄弟眷"],"f,xs,d,h":["姑表姊妹姻"],"m,xb,s,w":["舅表兄弟眷"],"m,xb,d,h":["舅表姊妹姻"],"m,xs,s,w":["从母兄弟眷"],"m,xs,d,h":["从母姊妹姻"]},"{M-1}":{"s,w":["男眷","息眷"],"d,h":["女姻","息姻"],"xb,s,w":["侄眷"],"xb,d,h":["侄姻"],"xs,s,w":["甥眷"],"xs,d,h":["甥姻"],"h,xb,s,w":["叔侄眷"],"h,xb,d,h":["叔侄姻"],"h,xs,s,w":["姑甥眷"],"h,xs,d,h":["姑甥姻"],"w,xb,s,w":["舅侄眷"],"w,xb,d,h":["舅侄姻"],"w,xs,s,w":["姨甥眷"],"w,xs,d,h":["姨甥姻"],"f,xb,s,s,w":["堂侄眷"],"f,xb,s,d,h":["堂侄姻"],"f,xb,d,s,w":["堂甥眷"],"f,xb,d,d,h":["堂甥姻"],"f,xs,s,s,w":["姑表侄眷"],"f,xs,s,d,h":["姑表侄姻"],"f,xs,d,s,w":["姑表甥眷"],"f,xs,d,d,h":["姑表甥姻"],"m,xb,s,s,w":["舅表侄眷"],"m,xb,s,d,h":["舅表侄姻"],"m,xb,d,s,w":["舅表甥眷"],"m,xb,d,d,h":["舅表甥姻"],"m,xs,s,s,w":["姨侄眷"],"m,xs,s,d,h":["姨侄姻"],"m,xs,d,s,w":["姨甥眷"],"m,xs,d,d,h":["姨甥姻"]},"{M-2}":{"s,s,w":["孙眷"],"s,d,h":["孙姻"],"d,s,w":["外孙眷"],"d,d,h":["外孙姻"],"xb,s,s,w":["侄孙眷"],"xb,s,d,h":["侄孙姻"],"xb,d,s,w":["侄外孙眷"],"xb,d,d,h":["侄外孙姻"],"xs,s,s,w":["甥孙眷"],"xs,s,d,h":["甥孙姻"],"xs,d,s,w":["甥外孙眷"],"xs,d,d,h":["甥外孙姻"],"h,xb,s,s,w":["叔侄孙眷","叔伯孙眷","叔孙眷"],"h,xb,s,d,h":["叔侄孙姻","叔伯孙姻","叔孙姻"],"h,xb,d,s,w":["叔侄外孙眷","叔伯外孙眷","叔外孙眷"],"h,xb,d,d,h":["叔侄外孙姻","叔伯外孙姻","叔外孙姻"],"h,xs,s,s,w":["姑甥孙眷","姑孙眷"],"h,xs,s,d,h":["姑甥孙姻","姑孙姻"],"h,xs,d,s,w":["姑甥外孙眷","姑外孙眷"],"h,xs,d,d,h":["姑甥外孙姻","姑外孙姻"],"w,xb,s,s,w":["舅侄孙眷","舅孙眷"],"w,xb,s,d,h":["舅侄孙姻","舅孙姻"],"w,xb,d,s,w":["舅侄外孙眷","舅外孙眷"],"w,xb,d,d,h":["舅侄外孙姻","舅外孙姻"],"w,xs,s,s,w":["姨甥孙眷","姨孙眷"],"w,xs,s,d,h":["姨甥孙姻","姨孙姻"],"w,xs,d,s,w":["姨甥外孙眷","姨外孙眷"],"w,xs,d,d,h":["姨甥外孙姻","姨外孙姻"]}},M={"{G2}":["祖父"],"{G2},w":["祖母"],"{G2},s":["父"],"{G2},s,w":["母"],"{G2},s,s":["兄弟"],"{G2},s,s&o":["兄"],"{G2},s,s&l":["弟"],"{G2},s,d":["姊妹"],"{G2},s,d&o":["姊"],"{G2},s,d&l":["妹"],"{G2},s,s,s":["男","子"],"{G2},s,s,d":["女"],"f,f,f,f,f,f,f,f,{G1M}":["鼻祖父"],"f,f,f,f,f,f,f,f,{G1M},w":["鼻祖母"],"f,f,f,f,f,f,f,f,{G1W}":["鼻祖母"],"f,f,f,f,f,f,f,f,{G1W},h":["鼻祖父"],"f,f,f,f,f,f,f,{G1M}":["远祖父"],"f,f,f,f,f,f,f,{G1M},w":["远祖母"],"f,f,f,f,f,f,f,{G1W}":["远祖母"],"f,f,f,f,f,f,f,{G1W},h":["远祖父"],"f,f,f,f,f,f,{G1M}":["太祖父"],"f,f,f,f,f,f,{G1M},w":["太祖母"],"f,f,f,f,f,f,{G1W}":["姑太祖母"],"f,f,f,f,f,f,{G1W},h":["姑太祖父"],"f,f,f,f,f,{G1M}":["烈祖父"],"f,f,f,f,f,{G1M},w":["烈祖母"],"f,f,f,f,f,{G1W}":["烈祖母"],"f,f,f,f,f,{G1W},h":["烈祖父"],"f,f,f,f,{G1M}":["天祖父"],"f,f,f,f,{G1M},w":["天祖母"],"f,f,f,f,{G1W}":["天祖母"],"f,f,f,f,{G1W},h":["天祖父"],"f,f,f,{G1M}":["高祖父","外曾外曾外毑父"],"f,f,f,{G1M},w":["高祖母","外曾外曾外毑母"],"f,f,f,{G1W}":["高祖母","外曾外曾外毑母"],"f,f,f,{G1W},h":["高祖父","外曾外曾外毑父"],"f,f,m,{G1M}":["高外祖父","外曾外曾毑父"],"f,f,m,{G1M},w":["高外祖母","外曾外曾毑母"],"f,f,m,{G1W}":["高外祖母","外曾外曾毑母"],"f,f,m,{G1W},h":["高外祖父","外曾外曾毑父"],"f,m,f,{G1M}":["曾外曾祖父","外高外毑父"],"f,m,f,{G1M},w":["曾外曾祖母","外高外毑母"],"f,m,f,{G1W}":["曾外曾祖母","外高外毑母"],"f,m,f,{G1W},h":["曾外曾祖父","外高外毑父"],"f,m,m,{G1M}":["曾外曾外祖父","外高毑父"],"f,m,m,{G1M},w":["曾外曾外祖母","外高毑母"],"f,m,m,{G1W}":["曾外曾外祖母","外高毑母"],"f,m,m,{G1W},h":["曾外曾外祖父","外高毑父"],"m,f,f,{G1M}":["外高祖父","曾外曾外毑父"],"m,f,f,{G1M},w":["外高祖母","曾外曾外毑母"],"m,f,f,{G1W}":["外高祖母","曾外曾外毑母"],"m,f,f,{G1W},h":["外高祖父","曾外曾外毑父"],"m,f,m,{G1M}":["外高外祖父","曾外曾祖毑父"],"m,f,m,{G1M},w":["外高外祖母","曾外曾祖毑母"],"m,f,m,{G1W}":["外高外祖母","曾外曾祖毑母"],"m,f,m,{G1W},h":["外高外祖父","曾外曾祖毑父"],"m,m,f,{G1M}":["外曾外曾祖父","高外毑父"],"m,m,f,{G1M},w":["外曾外曾祖母","高外毑母"],"m,m,f,{G1W}":["外曾外曾祖母","高外毑母"],"m,m,f,{G1W},h":["外曾外曾祖父","高外毑父"],"m,m,m,{G1M}":["外曾外曾外祖父","高毑父"],"m,m,m,{G1M},w":["外曾外曾外祖母","高毑母"],"m,m,m,{G1W}":["外曾外曾外祖母","高毑母"],"m,m,m,{G1W},h":["外曾外曾外祖父","高毑父"],"f,f,{G1M}":["?曾祖父","曾?祖父","?太公","太?公","?公太","太?爷","?太爷","?太爷爷","太?爷爷"],"f,f,{G1M},w":["?曾祖母","曾?祖母","?太婆","太?婆","?婆太","太?奶","?太奶","?太奶奶","太?奶奶"],"f,f,{G1W}":["?曾祖母","曾?祖母","?太婆","太?婆","?婆太","太?奶","?太奶","?太奶奶","太?奶奶"],"f,f,{G1W},h":["?曾祖父","曾?祖父","?太公","太?公","?公太","太?爷","?太爷","?太爷爷","太?爷爷"],"f,m,{G1M}":["?曾外祖父","曾外?祖父","?太外公","太外?公","太外?爷","?太外爷","?太外爷爷","太外?爷爷"],"f,m,{G1M},w":["?曾外祖母","曾外?祖母","?太外婆","太外?婆","太外?奶","?太外奶","?太外奶奶","太外?奶奶"],"f,m,{G1W}":["?曾外祖母","曾外?祖母","?太外婆","太外?婆","太外?奶","?太外奶","?太外奶奶","太外?奶奶"],"f,m,{G1W},h":["?曾外祖父","曾外?祖父","?太外公","太外?公","太外?爷","?太外爷","?太外爷爷","太外?爷爷"],"m,f,{G1M}":["?外曾祖父","外曾?祖父","?外太公","外太?公","外太?爷","?外太爷","?外太爷爷","外太?爷爷"],"m,f,{G1M},w":["?外曾祖母","外曾?祖母","?外太婆","外太?婆","外太?奶","?外太奶","?外太奶奶","外太?奶奶"],"m,f,{G1W}":["?外曾祖母","外曾?祖母","?外太婆","外太?婆","外太?奶","?外太奶","?外太奶奶","外太?奶奶"],"m,f,{G1W},h":["?外曾祖父","外曾?祖父","?外太公","外太?公","外太?爷","?外太爷","?外太爷爷","外太?爷爷"],"m,m,{G1M}":["?外曾外祖父","外曾外?祖父","?外太外公","外太外?公","外太外?爷","?外太外爷","?外太外爷爷","外太外?爷爷"],"m,m,{G1M},w":["?外曾外祖母","外曾外?祖母","?外太外婆","外太外?婆","外太外?奶","?外太外奶","?外太外奶奶","外太外?奶奶"],"m,m,{G1W}":["?外曾外祖母","外曾外?祖母","?外太外婆","外太外?婆","外太外?奶","?外太外奶","?外太外奶奶","外太外?奶奶"],"m,m,{G1W},h":["?外曾外祖父","外曾外?祖父","?外太外公","外太外?公","外太外?爷","?外太外爷","?外太外爷爷","外太?外爷爷"],"f,{G1M}":["祖父","公","太?父","奶爷","爷爷","爷"],"f,{G1M},w":["祖母","婆","太?母","奶奶","奶"],"f,{G1W}":["祖母","婆","太?母","奶奶","奶"],"f,{G1W},h":["祖父","公","太?父","奶爷","爷爷","爷"],"m,{G1M}":["外祖父","外公","外爷","外?公","外?祖父","外太?父","太外?父","姥爷","姥公","毑公","毑爷","毑父","嘎公"],"m,{G1M},w":["外祖母","外婆","外奶","外?婆","外?祖母","外太?母","太外?母","姥姥","姥娘","姥婆","毑婆","毑毑","毑母","嘎嘎","嫏嫏","嫏娘","姥"],"m,{G1W}":["外祖母","外婆","外奶","外?婆","外?祖母","外太?母","太外?母","姥姥","姥娘","姥婆","毑婆","毑毑","毑母","嘎嘎","嫏嫏","嫏娘","姥"],"m,{G1W},h":["外祖父","外公","外爷","外?公","外?祖父","外太?父","太外?父","姥爷","姥公","毑公","毑爷","毑父","嘎公"],"f,f,{G1},s&o":["伯祖父","伯爷爷"],"f,f,{G1},s&o,w":["伯祖母","伯奶奶"],"f,f,{G1},s&l":["叔祖父","叔爷爷"],"f,f,{G1},s&l,w":["叔祖母","叔奶奶"],"f,f,{G1},d":["姑祖母","姑奶奶"],"f,f,{G1},d,h":["姑祖父","姑爷爷"],"f,m,{G1},s":["舅祖父","舅爷爷"],"f,m,{G1},s,w":["舅祖母","舅奶奶"],"f,m,{G1},d":["姨祖母","姨奶奶"],"f,m,{G1},d,h":["姨祖父","姨爷爷"],"m,f,{G1},s&o":["伯外祖父","伯外公","伯姥爷"],"m,f,{G1},s&o,w":["伯外祖母","伯外婆","伯姥姥"],"m,f,{G1},s&l":["叔外祖父","叔外公","叔姥爷"],"m,f,{G1},s&l,w":["叔外祖母","叔外婆","叔姥姥"],"m,f,{G1},d":["姑外祖母","姑外婆","姑姥姥"],"m,f,{G1},d,h":["姑外祖父","姑外公","姑姥爷"],"m,m,{G1},s":["舅外祖父","舅外公","舅姥爷"],"m,m,{G1},s,w":["舅外祖母","舅外婆","舅姥姥"],"m,m,{G1},d":["姨外祖母","姨外公","姨姥爷"],"m,m,{G1},d,h":["姨外祖父","姨外婆","姨姥姥"],"{G1M}":["父"],"{G1M},w":["母"],"{G1W}":["母"],"{G1W},h":["父"],"f,{G1},s&o":["伯父","伯伯","伯","大爷"],"f,{G1},s&o,w":["伯母","大娘"],"f,{G1},s&l":["叔父","叔爸","叔叔","叔"],"f,{G1},s&l,w":["叔母","婶"],"f,{G1},d":["姑母","姑姑","姑妈","姑"],"f,{G1},d,h":["姑父"],"m,{G1},s":["舅父","舅舅","舅爸","舅"],"m,{G1},s,w":["舅母","舅妈"],"m,{G1},d":["姨母","姨姨","姨妈","姨"],"m,{G1},d,h":["姨父","姨爸","姨丈"],"{G1},s":["兄弟"],"{G1},s,w":["兄弟妇"],"{G1},s&o":["哥","兄"],"{G1},s&o,w":["嫂","嫂子","兄妇"],"{G1},s&l":["弟"],"{G1},s&l,w":["弟媳","弟妇"],"{G1},s,s":["侄男","侄子","侄儿"],"{G1},s,s,w":["侄妇"],"{G1},s,s,s":["侄孙男"],"{G1},s,s,s,w":["侄孙妇"],"{G1},s,s,s,s":["侄曾孙男"],"{G1},s,s,s,s,w":["侄曾孙妇"],"{G1},s,s,s,s,s":["侄玄孙男"],"{G1},s,s,s,s,s,w":["侄玄孙妇"],"{G1},s,s,s,s,d":["侄玄孙女"],"{G1},s,s,s,s,d,h":["侄玄孙婿"],"{G1},s,s,d":["侄孙女"],"{G1},s,s,d,h":["侄孙婿"],"{G1},s,s,s,d":["侄曾孙女"],"{G1},s,s,s,d,h":["侄曾孙婿"],"{G1},s,d":["侄女","侄女儿"],"{G1},s,d,h":["侄婿"],"{G1},s,d,s":["侄外孙男","外孙男"],"{G1},s,d,s,w":["侄外孙妇"],"{G1},s,d,d":["侄外孙女","外孙女"],"{G1},s,d,d,h":["侄外孙婿"],"{G1},d":["姐妹"],"{G1},d,h":["姐妹壻"],"{G1},d&o":["姐"],"{G1},d&o,h":["姐夫"],"{G1},d&l":["妹"],"{G1},d&l,h":["妹夫"],"{G1},d,s":["甥男"],"{G1},d,s,w":["甥妇"],"{G1},d,s,s":["甥孙男"],"{G1},d,s,s,w":["甥孙妇"],"{G1},d,s,d":["甥孙女"],"{G1},d,s,d,h":["甥孙婿"],"{G1},d,d":["甥女"],"{G1},d,d,h":["甥婿"],"{G1},d,d,s":["甥外孙男","外孙男"],"{G1},d,d,s,w":["甥外孙妇"],"{G1},d,d,d":["甥外孙女","外孙女"],"{G1},d,d,d,h":["甥外孙婿"],"h,f,{G1M}":["祖公父","祖公","祖翁","奶公"],"h,f,{G1M},w":["祖婆母","祖婆","祖姆","奶婆"],"h,f,{G1W}":["祖婆母","祖婆","祖姆","奶婆"],"h,f,{G1W},h":["祖公父","祖公","祖翁","奶公"],"h,m,{G1M}":["外祖公父","外祖公","外祖翁","姥公"],"h,m,{G1M},w":["外祖婆母","外祖婆","外祖姆","姥婆"],"h,m,{G1W}":["外祖婆母","外祖婆","外祖姆","姥婆"],"h,m,{G1W},h":["外祖公父","外祖公","外祖翁","姥公"],"h,{G1M}":["公父","公公"],"h,{G1M},w":["婆母","婆婆"],"h,{G1W}":["婆母","婆婆"],"h,{G1W},h":["公父","公公"],"h,{G1},s&o":["大伯子","大伯兄"],"h,{G1},s&o,w":["大婶子","大伯嫂"],"h,{G1},s&l":["小叔子","小叔弟"],"h,{G1},s&l,w":["小婶子","小叔弟妇"],"h,{G1},s":["伯叔"],"h,{G1},s,w":["妯娌"],"h,{G1},d&o":["大姑子","大姑姐"],"h,{G1},d&o,h":["大姑夫","大姑姐夫"],"h,{G1},d&l":["小姑子","小姑妹"],"h,{G1},d&l,h":["小姑夫","小姑妹夫"],"h,{G1},d":["姑子"],"h,{G1},d,h":["姑夫"],"w,f,{G1M}":["祖岳父","太?岳","祖丈人","爷丈人","奶爷丈人"],"w,f,{G1M},w":["祖岳母","太?岳母","祖丈母","祖丈母娘","奶丈母娘","奶丈母"],"w,f,{G1W}":["祖岳母","太?岳母","祖丈母","祖丈母娘","奶丈母娘","奶丈母"],"w,f,{G1W},h":["祖岳父","太?岳父","祖丈人","爷丈人","奶爷丈人"],"w,m,{G1M}":["外祖岳父","外太?岳父","太外?岳父","外祖丈人","姥爷丈人"],"w,m,{G1M},w":["外祖岳母","外太?岳母","太外?岳母","外祖丈母","外祖丈母娘","姥丈母娘","姥丈母"],"w,m,{G1W}":["外祖岳母","外太?岳母","太外?岳母","外祖丈母","外祖丈母娘","姥丈母娘","姥丈母"],"w,m,{G1W},h":["外祖岳父","外太?岳父","太外?岳父","外祖丈人","外爷丈人","姥爷丈人"],"w,{G1M}":["岳父","丈人","丈人爹"],"w,{G1M},w":["岳母","丈母","丈母娘"],"w,{G1W}":["岳母","丈母","丈母娘"],"w,{G1W},h":["岳父","丈人","丈人爹"],"w,{G1},s&o":["大舅子","大舅兄","舅兄"],"w,{G1},s&o,w":["大舅妇","大舅姆","大舅兄妇","舅兄妇","舅姐","大舅姐","大妗子","大妗儿"],"w,{G1},s&l":["小舅子","小舅弟","舅弟"],"w,{G1},s&l,w":["小舅妇","小舅姆","小舅弟妇","舅弟妇","舅妹","小舅妹","小妗子","小妗儿"],"w,{G1},s":["舅子"],"w,{G1},s,w":["舅嫂"],"w,{G1},d&o":["大姨子","大姨姐","姨姐"],"w,{G1},d&o,h":["大姨夫","大姨姐夫","襟兄","姨兄","大姨哥","大尹子"],"w,{G1},d&l":["小姨子","小姨妹","姨妹"],"w,{G1},d&l,h":["小姨夫","小姨妹夫","襟弟","姨弟","小姨弟","小尹子"],"w,{G1},d":["姨子"],"w,{G1},d,h":["连襟","连桥"],"{G0},s":["男","男儿","儿","子","儿子"],"{G0},s,w":["媳妇","媳","妇"],"{G0},s,s":["孙","孙男","孙子"],"{G0},s,s,w":["孙妇"],"{G0},s,s,s":["曾孙","曾孙男"],"{G0},s,s,s,w":["曾孙妇"],"{G0},s,s,s,s":["玄孙","玄孙男","元孙","元孙男"],"{G0},s,s,s,s,w":["玄孙妇"],"{G0},s,s,s,d":["玄孙女","元孙女"],"{G0},s,s,s,d,h":["玄孙婿"],"{G0},s,s,d":["曾孙女"],"{G0},s,s,d,h":["曾孙婿"],"{G0},s,s,d,s":["玄外孙","玄外孙男"],"{G0},s,s,d,s,w":["玄外孙妇"],"{G0},s,s,d,d":["玄外孙女"],"{G0},s,s,d,d,h":["玄外孙婿"],"{G0},s,d":["孙女"],"{G0},s,d,h":["孙婿"],"{G0},s,d,s":["曾外孙","曾外孙男"],"{G0},s,d,s,w":["曾外孙妇"],"{G0},s,d,s,s":["曾外曾孙","曾外曾孙男"],"{G0},s,d,s,s,w":["曾外曾孙妇"],"{G0},s,d,s,d":["曾外曾孙女"],"{G0},s,d,s,d,h":["曾外曾孙婿"],"{G0},s,d,d":["曾外孙女"],"{G0},s,d,d,h":["曾外孙婿"],"{G0},s,d,d,s":["曾外曾外孙","曾外曾外孙男"],"{G0},s,d,d,s,w":["曾外曾外孙妇"],"{G0},s,d,d,d":["曾外曾外孙女"],"{G0},s,d,d,d,h":["曾外曾外孙婿"],"{G0},d":["女","女儿"],"{G0},d,h":["女婿","婿"],"{G0},d,s":["外孙","外孙男"],"{G0},d,s,w":["外孙妇"],"{G0},d,s,s":["外曾孙","外曾孙男"],"{G0},d,s,s,w":["外曾孙妇"],"{G0},d,s,s,s":["外玄孙","外玄孙男"],"{G0},d,s,s,d":["外玄孙女"],"{G0},d,s,d":["外曾孙女"],"{G0},d,s,d,h":["外曾孙婿"],"{G0},d,s,d,s":["外玄外孙","外玄外孙男"],"{G0},d,s,d,d":["外玄外孙女"],"{G0},d,d":["外孙女"],"{G0},d,d,h":["外孙婿"],"{G0},d,d,s":["外曾外孙","外曾外孙男"],"{G0},d,d,s,w":["外曾外孙妇"],"{G0},d,d,s,s":["外曾外曾孙","外曾外曾孙男"],"{G0},d,d,s,d":["外曾外曾孙女"],"{G0},d,d,d":["外曾外孙女"],"{G0},d,d,d,h":["外曾外孙婿"],"{G0},d,d,d,s":["外曾外曾外孙"],"{G0},d,d,d,d":["外曾外曾外孙女"],"{M2W},xb":["舅祖父"],"{M2W},xb,w":["舅祖母"],"{M2W},xb,s&o":["舅表伯父"],"{M2W},xb,s&o,w":["舅表伯母"],"{M2W},xb,s&l":["舅表叔父"],"{M2W},xb,s&l,w":["舅表叔母"],"{M2W},xb,d":["舅表姑母"],"{M2W},xb,d,h":["舅表姑父"],"{M2W},xs":["姨祖母"],"{M2W},xs,h":["姨祖父"],"{M2W},xs,s&o":["姨伯父"],"{M2W},xs,s&o,w":["姨伯母"],"{M2W},xs,s&l":["姨叔父"],"{M2W},xs,s&l,w":["姨叔母"],"{M2W},xs,d":["姨姑母"],"{M2W},xs,d,h":["姨姑父"],"{M2M},xb":["叔祖父"],"{M2M},xb,w":["叔祖母"],"{M2M},xb,s&o":["堂伯父"],"{M2M},xb,s&o,w":["堂伯母"],"{M2M},xb,s&l":["堂叔父"],"{M2M},xb,s&l,w":["堂叔母"],"{M2M},xb,d":["堂姑母"],"{M2M},xb,d,h":["堂姑父"],"{M2M},xs":["姑祖母"],"{M2M},xs,h":["姑祖父"],"{M2M},xs,s&o":["姑表伯父"],"{M2M},xs,s&o,w":["姑表伯母"],"{M2M},xs,s&l":["姑表叔父"],"{M2M},xs,s&l,w":["姑表叔母"],"{M2M},xs,d":["姑表姑母"],"{M2M},xs,d,h":["姑表姑父"],"{M1W},f":["外祖父"],"{M1W},f,xb,s":["堂舅父"],"{M1W},f,xb,s,w":["堂舅母"],"{M1W},f,xb,d":["堂姨母"],"{M1W},f,xb,d,h":["堂姨父"],"{M1W},f,ob":["伯外祖父"],"{M1W},f,ob,w":["伯外祖母"],"{M1W},f,lb":["叔外祖父"],"{M1W},f,lb,w":["叔外祖母"],"{M1W},f,xs":["姑外祖母"],"{M1W},f,xs,h":["姑外祖父"],"{M1W},f,xs,s":["姑表舅父"],"{M1W},f,xs,s,w":["姑表舅母"],"{M1W},f,xs,d":["姑表姨母"],"{M1W},f,xs,d,h":["姑表姨父"],"{M1W},m":["外祖母"],"{M1W},m,xb":["舅外祖父"],"{M1W},m,xb,w":["舅外祖母"],"{M1W},m,xb,s":["舅表舅父"],"{M1W},m,xb,s,w":["舅表舅母"],"{M1W},m,xb,d":["舅表姨母"],"{M1W},m,xb,d,h":["舅表姨父"],"{M1W},m,xs":["姨外祖母"],"{M1W},m,xs,h":["姨外祖父"],"{M1W},m,xs,s":["姨舅父"],"{M1W},m,xs,s,w":["姨舅母"],"{M1W},m,xs,d":["姨姨母"],"{M1W},m,xs,d,h":["姨姨父"],"{M1W},xb":["舅父"],"{M1W},xb,w":["舅母"],"{M1W},xb,[s|d]":["舅表兄弟姊妹"],"{M1W},xb,s":["舅表兄弟"],"{M1W},xb,s,w":["舅表兄弟妇"],"{M1W},xb,s&o":["舅表兄"],"{M1W},xb,s&o,w":["舅表兄妇"],"{M1W},xb,s&l":["舅表弟"],"{M1W},xb,s&l,w":["舅表弟妇"],"{M1W},xb,s,s":["舅表侄男","侄男"],"{M1W},xb,s,s,w":["舅表侄妇","侄妇"],"{M1W},xb,s,d":["舅表侄女","侄女"],"{M1W},xb,s,d,h":["舅表侄婿","侄婿"],"{M1W},xb,d":["舅表姊妹"],"{M1W},xb,d,h":["舅表姊妹壻"],"{M1W},xb,d&o":["舅表姊"],"{M1W},xb,d&o,h":["舅表姊壻"],"{M1W},xb,d&l":["舅表妹"],"{M1W},xb,d&l,h":["舅表妹壻"],"{M1W},xb,d,s":["舅表甥男","甥男"],"{M1W},xb,d,s,w":["舅表甥妇","甥妇"],"{M1W},xb,d,d":["舅表甥女","甥女"],"{M1W},xb,d,d,h":["舅表甥婿","甥婿"],"{M1W},xs":["姨母"],"{M1W},xs,h":["姨父"],"{M1W},xs,[s|d]":["姨表兄弟姊妹"],"{M1W},xs,s":["姨表兄弟"],"{M1W},xs,s,w":["姨表兄弟妇"],"{M1W},xs,s&o":["姨表兄"],"{M1W},xs,s&o,w":["姨表兄妇"],"{M1W},xs,s&l":["姨表弟"],"{M1W},xs,s&l,w":["姨表弟妇"],"{M1W},xs,s,s":["姨表侄男","侄男"],"{M1W},xs,s,s,w":["姨表侄妇","侄妇"],"{M1W},xs,s,d":["姨表侄女","侄女"],"{M1W},xs,s,d,h":["姨表侄婿","侄婿"],"{M1W},xs,d":["姨表姊妹"],"{M1W},xs,d,h":["姨表姊妹壻"],"{M1W},xs,d&o":["姨表姊"],"{M1W},xs,d&o,h":["姨表姊壻"],"{M1W},xs,d&l":["姨表妹"],"{M1W},xs,d&l,h":["姨表妹壻"],"{M1W},xs,d,s":["姨表甥男","甥男"],"{M1W},xs,d,s,w":["姨表甥妇","甥妇"],"{M1W},xs,d,d":["姨表甥女","甥女"],"{M1W},xs,d,d,h":["姨表甥婿","甥婿"],"{M1M},f":["祖父"],"{M1M},f,xb,s&o":["堂伯父"],"{M1M},f,xb,s&o,w":["堂伯母"],"{M1M},f,xb,s&l":["堂叔父"],"{M1M},f,xb,s&l,w":["堂叔母"],"{M1M},f,xb,d":["堂姑母"],"{M1M},f,xb,d,h":["堂姑父"],"{M1M},f,ob":["伯祖父"],"{M1M},f,ob,w":["伯祖母"],"{M1M},f,lb":["叔祖父"],"{M1M},f,lb,w":["叔祖母"],"{M1M},f,xs":["姑祖母"],"{M1M},f,xs,h":["姑祖父"],"{M1M},f,xs,s&o":["姑表伯父"],"{M1M},f,xs,s&o,w":["姑表伯母"],"{M1M},f,xs,s&l":["姑表叔父"],"{M1M},f,xs,s&l,w":["姑表叔母"],"{M1M},f,xs,d":["姑表姑母"],"{M1M},f,xs,d,h":["姑表姑父"],"{M1M},m":["祖母"],"{M1M},m,xb":["舅祖父"],"{M1M},m,xb,w":["舅祖母"],"{M1M},m,xb,s&o":["舅表伯父"],"{M1M},m,xb,s&o,w":["舅表伯母"],"{M1M},m,xb,s&l":["舅表叔父"],"{M1M},m,xb,s&l,w":["舅表叔母"],"{M1M},m,xb,d":["舅表姑母"],"{M1M},m,xb,d,h":["舅表姑父"],"{M1M},m,xs":["姨祖母"],"{M1M},m,xs,h":["姨祖父"],"{M1M},m,xs,s&o":["姨伯父"],"{M1M},m,xs,s&o,w":["姨伯母"],"{M1M},m,xs,s&l":["姨叔父"],"{M1M},m,xs,s&l,w":["姨叔母"],"{M1M},m,xs,d":["姨姑母"],"{M1M},m,xs,d,h":["姨姑父"],"{M1M},xb":["叔伯父"],"{M1M},xb,w":["叔伯母"],"{M1M},ob":["伯父"],"{M1M},ob,w":["伯母"],"{M1M},lb":["叔父"],"{M1M},lb,w":["叔母"],"{M1M},xb,[s|d]":["叔表兄弟姊妹"],"{M1M},xb,s":["叔表兄弟"],"{M1M},xb,s,w":["叔表兄弟妇"],"{M1M},xb,s&o":["叔表兄"],"{M1M},xb,s&o,w":["叔表兄妇"],"{M1M},xb,s&l":["叔表弟"],"{M1M},xb,s&l,w":["叔表弟妇"],"{M1M},xb,s,s":["叔表侄男","侄男"],"{M1M},xb,s,s,w":["叔表侄妇","侄妇"],"{M1M},xb,s,d":["叔表侄女","侄女"],"{M1M},xb,s,d,h":["叔表侄婿","侄婿"],"{M1M},xb,d":["叔表姊妹"],"{M1M},xb,d,h":["叔表姊妹壻"],"{M1M},xb,d&o":["叔表姊"],"{M1M},xb,d&o,h":["叔表姊壻"],"{M1M},xb,d&l":["叔表妹"],"{M1M},xb,d&l,h":["叔表妹壻"],"{M1M},xb,d,s":["叔表甥男","甥男"],"{M1M},xb,d,s,w":["叔表甥妇","甥妇"],"{M1M},xb,d,d":["叔表甥女","甥女"],"{M1M},xb,d,d,h":["叔表甥婿","甥婿"],"{M1M},xs":["姑母"],"{M1M},xs,h":["姑父"],"{M1M},xs,[s|d]":["姑表兄弟姊妹"],"{M1M},xs,s":["姑表兄弟"],"{M1M},xs,s,w":["姑表兄弟妇"],"{M1M},xs,s&o":["姑表兄"],"{M1M},xs,s&o,w":["姑表兄妇"],"{M1M},xs,s&l":["姑表弟"],"{M1M},xs,s&l,w":["姑表弟妇"],"{M1M},xs,s,s":["姑表侄男","侄男"],"{M1M},xs,s,s,w":["姑表侄妇","侄妇"],"{M1M},xs,s,d":["姑表侄女","侄女"],"{M1M},xs,s,d,h":["姑表侄婿","侄婿"],"{M1M},xs,d":["姑表姊妹"],"{M1M},xs,d,h":["姑表姊妹壻"],"{M1M},xs,d&o":["姑表姊"],"{M1M},xs,d&o,h":["姑表姊壻"],"{M1M},xs,d&l":["姑表妹"],"{M1M},xs,d&l,h":["姑表妹壻"],"{M1M},xs,d,s":["姑表甥男","甥男"],"{M1M},xs,d,s,w":["姑表甥妇","甥妇"],"{M1M},xs,d,d":["姑表甥女","甥女"],"{M1M},xs,d,d,h":["姑表甥婿","甥婿"],"{M0},f":["父"],"{M0},f,f":["祖父"],"{M0},f,f,ob":["伯祖父"],"{M0},f,f,ob,w":["伯祖母"],"{M0},f,f,lb":["叔祖父"],"{M0},f,f,lb,w":["叔祖母"],"{M0},f,f,xs":["姑祖母"],"{M0},f,f,xs,h":["姑祖父"],"{M0},f,m":["祖母"],"{M0},f,m,xb":["舅祖父"],"{M0},f,m,xb,w":["舅祖母"],"{M0},f,m,xs":["姨祖母"],"{M0},f,m,xs,h":["姨祖父"],"{M0},f,ob":["伯父"],"{M0},f,ob,w":["伯母"],"{M0},f,lb":["叔父"],"{M0},f,lb,w":["叔母"],"{M0},f,xb,[s|d]":["叔表兄弟姊妹","叔表姊妹兄弟"],"{M0},f,xb,s":["叔表兄弟"],"{M0},f,xb,s,w":["叔表兄弟妇"],"{M0},f,xb,s&o":["叔表兄"],"{M0},f,xb,s&o,w":["叔表兄妇"],"{M0},f,xb,s&l":["叔表弟"],"{M0},f,xb,s&l,w":["叔表弟妇"],"{M0},f,xb,d":["叔表姊妹"],"{M0},f,xb,d,h":["叔表姊妹壻"],"{M0},f,xb,d&o":["叔表姊"],"{M0},f,xb,d&o,h":["叔表姊壻"],"{M0},f,xb,d&l":["叔表妹"],"{M0},f,xb,d&l,h":["叔表妹壻"],"{M0},f,xs":["姑母"],"{M0},f,xs,h":["姑父"],"{M0},f,xs,[s|d]":["姑表兄弟姊妹","姑表姊妹兄弟"],"{M0},f,xs,s":["姑表兄弟"],"{M0},f,xs,s,w":["姑表兄弟妇"],"{M0},f,xs,s&o":["姑表兄"],"{M0},f,xs,s&o,w":["姑表兄妇"],"{M0},f,xs,s&l":["姑表弟"],"{M0},f,xs,s&l,w":["姑表弟妇"],"{M0},f,xs,d":["姑表姊妹"],"{M0},f,xs,d,h":["姑表姊妹壻"],"{M0},f,xs,d&o":["姑表姊"],"{M0},f,xs,d&o,h":["姑表姊壻"],"{M0},f,xs,d&l":["姑表妹"],"{M0},f,xs,d&l,h":["姑表妹壻"],"{M0},m":["母"],"{M0},m,f":["外祖父"],"{M0},m,f,ob":["伯外祖父"],"{M0},m,f,ob,w":["伯外祖母"],"{M0},m,f,lb":["叔外祖父"],"{M0},m,f,lb,w":["叔外祖母"],"{M0},m,f,xs":["姑外祖母"],"{M0},m,f,xs,h":["姑外祖父"],"{M0},m,m":["外祖母"],"{M0},m,m,xb":["舅外祖父"],"{M0},m,m,xb,w":["舅外祖母"],"{M0},m,m,xs":["姨外祖母"],"{M0},m,m,xs,h":["姨外祖父"],"{M0},m,xb":["舅父"],"{M0},m,xb,w":["舅母"],"{M0},m,xb,[s|d]":["舅表兄弟姊妹","舅表姊妹兄弟"],"{M0},m,xb,s":["舅表兄弟"],"{M0},m,xb,s,w":["舅表兄弟妇"],"{M0},m,xb,s&o":["舅表兄"],"{M0},m,xb,s&o,w":["舅表兄妇"],"{M0},m,xb,s&l":["舅表弟"],"{M0},m,xb,s&l,w":["舅表弟妇"],"{M0},m,xb,d":["舅表姊妹"],"{M0},m,xb,d,h":["舅表姊妹壻"],"{M0},m,xb,d&o":["舅表姊"],"{M0},m,xb,d&o,h":["舅表姊壻"],"{M0},m,xb,d&l":["舅表妹"],"{M0},m,xb,d&l,h":["舅表妹壻"],"{M0},m,xs":["姨母"],"{M0},m,xs,h":["姨父"],"{M0},m,xs,[s|d]":["姨兄弟姊妹","姨姊妹兄弟"],"{M0},m,xs,s":["姨兄弟"],"{M0},m,xs,s,w":["姨兄弟妇"],"{M0},m,xs,s&o":["姨兄"],"{M0},m,xs,s&o,w":["姨兄妇"],"{M0},m,xs,s&l":["姨弟"],"{M0},m,xs,s&l,w":["姨弟妇"],"{M0},m,xs,d":["姨姊妹"],"{M0},m,xs,d,h":["姨姊妹壻"],"{M0},m,xs,d&o":["姨姊"],"{M0},m,xs,d&o,h":["姨姊壻"],"{M0},m,xs,d&l":["姨妹"],"{M0},m,xs,d&l,h":["姨妹壻"],"{M0},xb":["兄弟"],"{M0},xb,w":["兄弟妇"],"{M0},xb&o":["兄"],"{M0},xb&o,w":["兄妇","兄嫂","嫂子"],"{M0},xb&l":["弟"],"{M0},xb&l,w":["弟妇","弟妹"],"{M0},xb,s":["侄男","侄子","侄儿"],"{M0},xb,s,w":["侄妇"],"{M0},xb,d":["侄女"],"{M0},xb,d,h":["侄婿"],"{M0},xs":["姊妹"],"{M0},xs,h":["姊妹壻"],"{M0},xs&o":["姊"],"{M0},xs&o,h":["姊壻","姐夫"],"{M0},xs&l":["妹"],"{M0},xs&l,h":["妹壻","妹夫"],"{M0},xs,s":["甥男"],"{M0},xs,s,w":["甥妇"],"{M0},xs,d":["甥女"],"{M0},xs,d,h":["甥婿"],"{M-1},f":["兄弟"],"{M-1},f&o":["兄"],"{M-1},f&l":["弟"],"{M-1},f,f":["父"],"{M-1},f,f,f":["祖父"],"{M-1},f,f,m":["祖母"],"{M-1},f,f,ob":["伯父"],"{M-1},f,f,ob,w":["伯母"],"{M-1},f,f,lb":["叔父"],"{M-1},f,f,lb,w":["叔母"],"{M-1},f,m":["母"],"{M-1},f,m,f":["外祖父"],"{M-1},f,m,m":["外祖母"],"{M-1},f,xb":["叔兄弟"],"{M-1},f,xb,w":["叔兄弟妇"],"{M-1},f,ob":["叔兄"],"{M-1},f,ob,w":["叔兄妇"],"{M-1},f,lb":["叔弟"],"{M-1},f,lb,w":["叔弟妇"],"{M-1},f,xb,s":["叔男"],"{M-1},f,xb,d":["叔女"],"{M-1},f,xs":["姑姊妹"],"{M-1},f,xs,h":["姑姊妹壻"],"{M-1},f,os":["姑姊"],"{M-1},f,os,h":["姑姊壻"],"{M-1},f,ls":["姑妹"],"{M-1},f,ls,h":["姑妹壻"],"{M-1},f,xs,s":["姑男"],"{M-1},f,xs,d":["姑女"],"{M-1},m":["姊妹"],"{M-1},m&o":["姊"],"{M-1},m&l":["妹"],"{M-1},m,f":["父"],"{M-1},m,f,f":["祖父"],"{M-1},m,f,m":["祖母"],"{M-1},m,m":["母"],"{M-1},m,m,f":["外祖父"],"{M-1},m,m,m":["外祖母"],"{M-1},m,xb":["舅兄弟"],"{M-1},m,xb,w":["舅兄弟妇"],"{M-1},m,ob":["舅兄"],"{M-1},m,ob,w":["舅兄妇"],"{M-1},m,lb":["舅弟"],"{M-1},m,lb,w":["舅弟妇"],"{M-1},m,xb,s":["舅男"],"{M-1},m,xb,d":["舅女"],"{M-1},m,xs":["姨姊妹"],"{M-1},m,xs,h":["姨姊妹壻"],"{M-1},m,os":["姨姊"],"{M-1},m,os,h":["姨姊壻"],"{M-1},m,ls":["姨妹"],"{M-1},m,ls,h":["姨妹壻"],"{M-1},m,xs,s":["姨男"],"{M-1},m,xs,d":["姨女"],"{M-1},xb":["男"],"{M-1},xb,w":["妇"],"{M-1},xb,s":["孙男"],"{M-1},xb,s,w":["孙妇"],"{M-1},xb,d":["孙女"],"{M-1},xb,d,h":["孙婿"],"{M-1},xs":["女"],"{M-1},xs,h":["婿"],"{M-1},xs,s":["外孙男"],"{M-1},xs,s,w":["外孙妇"],"{M-1},xs,d":["外孙女"],"{M-1},xs,d,h":["外孙婿"],"{M-2},f":["男"],"{M-2},f,f&o":["兄"],"{M-2},f,f&l":["弟"],"{M-2},f,m&o":["姊"],"{M-2},f,m&l":["妹"],"{M-2},m":["女"],"{M-2},m,f&o":["兄"],"{M-2},m,f&l":["弟"],"{M-2},m,m&o":["姊"],"{M-2},m,m&l":["妹"],"{M-2},xb":["孙男"],"{M-2},xb,w":["孙妇"],"{M-2},xs":["孙女"],"{M-2},xs,h":["孙婿"]},w={"":["自己","我","俺","吾","本人","在下"],"f,f,f,f,f,f,f,f,f,f,f,f":["先祖父","先太爷","十二世祖"],"f,f,f,f,f,f,f,f,f,f,f,m":["先祖母","先太奶"],"f,f,f,f,f,f,f,f,f,f,f":["始祖父","始太爷","十一世祖"],"f,f,f,f,f,f,f,f,f,f,m":["始祖母","始太奶"],"f,f,f,f,f,f,f,f,f,f":["开祖父","开太爷","十世祖"],"f,f,f,f,f,f,f,f,f,m":["开祖母","开太奶"],"f,f,f,f,f,f,f,f,f":["鼻祖父","鼻太爷","九世祖"],"f,f,f,f,f,f,f,f,m":["鼻祖母","鼻太奶"],"f,f,f,f,f,f,f,f":["远祖父","远太爷","八世祖"],"f,f,f,f,f,f,f,m":["远祖母","远太奶"],"f,f,f,f,f,f,f":["太祖父","太太爷","七世祖"],"f,f,f,f,f,f,m":["太祖母","太太奶"],"f,f,f,f,f,f":["烈祖父","烈太爷","六世祖"],"f,f,f,f,f,m":["烈祖母","烈太奶"],"f,f,f,f,f":["天祖父","天太爷","五世祖"],"f,f,f,f,m":["天祖母","天太奶"],"f,f,f,f":["高祖父","外曾外曾外毑父","曾曾祖父","祖太公","祖太爷","高太爷","祖太翁","祖太爷爷","四世祖"],"f,f,f,m":["高祖母","外曾外曾外毑母","曾曾祖母","祖太婆","祖太奶","高太奶","祖太姆","祖太奶奶"],"f,f,m,f":["高外祖父","外曾外曾毑父"],"f,f,m,m":["高外祖母","外曾外曾毑母"],"f,m,f,f":["曾外曾祖父","外高外毑父"],"f,m,f,m":["曾外曾祖母","外高外毑母"],"f,m,m,f":["曾外曾外祖父","外高毑父"],"f,m,m,m":["曾外曾外祖母","外高毑母"],"m,f,f,f":["外高祖父","曾外曾外毑父"],"m,f,f,m":["外高祖母","曾外曾外毑母"],"m,f,m,f":["外高外祖父","曾外曾祖毑父"],"m,f,m,m":["外高外祖母","曾外曾祖毑母"],"m,m,f,f":["外曾外曾祖父","高外毑父"],"m,m,f,m":["外曾外曾祖母","高外毑母"],"m,m,m,f":["外曾外曾外祖父","高毑父"],"m,m,m,m":["外曾外曾外祖母","高毑母"],"f,f,f":["曾祖父","曾祖","外曾外毑父","太公","太爷","老太爷","太翁","太爷爷","曾爷爷","佬嗲","祖爷","三世祖"],"f,f,m":["曾祖母","外曾外毑母","太婆","太奶","老太奶","太嬷","太姆","太奶奶","曾奶奶","老娭毑"],"f,m,f":["曾外祖父","曾外祖","外曾毑父","太外公","太外爷","太外翁","太外爷爷"],"f,m,m":["曾外祖母","外曾毑母","太外婆","太外奶","太外嬷","太外姆","太外奶奶"],"m,f,f":["外曾祖父","外曾祖","曾外毑父","外太公","外太爷","外太翁","外太爷爷"],"m,f,m":["外曾祖母","曾外毑母","外太婆","外太奶","外太嬷","外太姆","外太奶奶"],"m,m,f":["外曾外祖父","外曾外祖","曾毑父","外太外公","外太外爷","外太外翁","外太外爷爷","外太姥爷"],"m,m,m":["外曾外祖母","曾毑母","外太外婆","外太外奶","外太外嬷","外太外姆","外太外奶奶","外太姥姥"],"f,f":["爷爷","祖父","奶爷","奶爹","阿爷","阿公","依爷","嗲嗲","爷儿","大父","爷","爷老","爷老子","爷老倌","二世祖"],"f,m":["奶奶","祖母","阿奶","奶娘","阿姆","阿婆","依奶","阿嬷","阿嫲","大母","奶","嫲嫲","婻婻","娭毑","嗯奶","娘姆","媪婆","亲婆"],"m,f":["外公","外祖父","姥爷","阿公","外爷","客公","毑父","毑公","姥公","舅家爷","嘎公","嘎爹",,"嘎嘎爹","嘎爷爷","尕公","毑爹","毑爷","外大父","姥爹"],"m,m":["外婆","外祖母","姥姥","阿婆","外奶","客婆","毑母","毑婆","姥婆","舅家婆","嘎嘎","嘎婆","嘎嘎婆","嘎奶奶","尕婆","毑娘","毑毑","外大母","姥娘","阿嬷","阿嫲","外嬷","嫲嫲","好婆","嫏嫏","嫏娘"],"f,f,ob":["伯公","伯祖","伯翁","大爷爷","大嗲","大爷","大公","大阿爷"],"f,f,ob,w":["伯婆","姆婆","大奶奶","伯娭毑"],"f,f,lb":["叔公","叔祖","叔翁","小爷爷","晚公","幺爷","细嗲"],"f,f,lb,w":["叔婆","婶婆","小奶奶","叔娭毑","晚婆","幺奶"],"f,f,xb":["伯叔祖父","从祖父","几爷爷","几大爷","几嗲","几爷","几公"],"f,f,xb,w":["伯叔祖母","从祖母","几奶奶","几大娘","几奶","几婆"],"f,f,xs":["姑奶奶","祖姑","姑奶","恩婆","姑娭毑"],"f,f,xs,h":["姑爷爷","祖姑丈","恩爹","姑丈公","丈公"],"f,m,xb":["舅爷爷","舅祖","舅爹","太舅父"],"f,m,xb,w":["舅奶奶","妗婆","舅婆","妗奶","太舅母"],"f,m,xs":["姨奶奶","姨奶","姨娭毑"],"f,m,xs,h":["姨爷爷","姨公公","姨爹","姨丈公","丈公"],"m,f,ob":["伯外公","外伯祖","伯外祖","大外公","大姥爷","大外爷"],"m,f,ob,w":["伯外婆","外姆婆","大外婆","大姥姥","大姥奶"],"m,f,lb":["叔外公","外叔祖","叔外祖","小外公","小姥爷","小外爷"],"m,f,lb,w":["叔外婆","外婶婆","小外婆","小姥姥","婶姥姥","小姥奶"],"m,f,xb":["堂外祖父","几外公","几姥爷","几外爷"],"m,f,xb,w":["堂外祖母","几外婆","几姥姥","几姥奶","几外奶","几姥"],"m,f,xs":["姑外婆","姑婆","恩婆"],"m,f,xs,h":["姑外公","姑公","恩爹","外姑丈公","外丈公"],"m,m,xb":["舅外公","舅公","舅爹"],"m,m,xb,w":["舅外婆","舅婆","妗姥姥","妗姥娘","妗姥","外妗婆"],"m,m,xs":["姨外婆","姨婆"],"m,m,xs,h":["姨外公","姨公","外姨丈公","外丈公"],f:["爸爸","父亲","老父亲","老爸","阿爸","阿父","阿爹","老窦","爹地","依爹","老爹","老汉","老爷子","老子","牙老子","爸","父","爹","老汉儿","牙老倌","爸比","爹爹","爹啲","一世祖"],"f,ob":["伯父","伯伯","伯爸","伯爷","依伯","世父","大爹","大爸","大爸爸","伯儿","大伯","大爷","大大","阿伯","几伯","伯"],"f,ob,w":["伯母","伯妈","伯娘","依姆","世母","大娘","大妈","大妈妈","伯妇","大嬷","大姆妈","伯姐","姆"],"f,lb":["叔叔","叔父","叔爸","叔爹","阿叔","叔儿","仲父","季父","叔仔","依叔","小叔","小爹","小爸","几叔","叔"],"f,lb,w":["婶婶","婶母","婶妈","婶娘","阿婶","婶儿","仲母","季母","叔妇","依婶","小婶","小娘","小妈","几婶","婶","婶子","家婶","叔母","叔妈","叔娘","婶爹","嬢嬢"],"f,xb":["伯叔父","叔伯","几爸爸","几爸","几爹"],"f,xb,w":["伯叔母","几妈妈","几妈","几娘"],"f,xb,s&o":["堂哥","堂阿哥","堂房哥哥","堂房阿哥","叔伯哥哥","叔伯阿哥","堂老兄"],"f,xb,s&o,w":["堂嫂","堂兄嫂"],"f,xb,s&l":["堂弟","堂阿弟","堂房弟弟","堂房阿弟","叔伯弟弟","叔伯老弟","堂老弟"],"f,xb,s&l,w":["堂弟媳","堂弟妇","堂弟妹"],"f,xb,s,s":["堂侄","再从子"],"f,xb,s,s,w":["堂侄媳妇"],"f,xb,s,s,s":["堂侄孙","再从孙"],"f,xb,s,s,s,s":["堂曾孙","再曾孙"],"f,xb,s,s,s,s,s":["堂玄孙","再玄孙"],"f,xb,s,d":["堂侄女"],"f,xb,s,d,h":["堂侄女婿"],"f,xb,d&o":["堂姐","堂阿姐","堂房姐姐","堂房阿姐","叔伯姐姐","叔伯阿姊","堂大姐"],"f,xb,d&o,h":["堂姐夫"],"f,xb,d&l":["堂妹","堂阿妹","堂房妹妹","堂房阿妹","叔伯妹妹","叔伯老妹","堂细妹"],"f,xb,d&l,h":["堂妹夫"],"f,xb,d,s":["堂外甥"],"f,xb,d,s,w":["堂外甥媳妇"],"f,xb,d,d":["堂外甥女"],"f,xb,d,d,h":["堂外甥女婿"],"f,os":["大姑","大姑妈","姑姊","姑嬷"],"f,os,h":["大姑丈","大姑父","大姑爸","恩伯"],"f,ls":["小姑","小姑妈","姑姐","姑妹","姑仔","尕娘","幺姑姐","老姑"],"f,ls,h":["小姑丈","小姑父","小姑爹","恩叔"],"f,xs":["姑妈","姑母","姑姑","恩妈","几姑","姑","阿姑","嬢嬢","娘娘"],"f,xs,h":["姑丈","姑父","姑爸","恩爸","姑伯","姑爹","姑夫","姑婿","姑郎","亘"],"f,f,xb,s&o":["堂伯"],"f,f,xb,s&o,w":["堂伯母"],"f,f,xb,s&l":["堂叔"],"f,f,xb,s&l,w":["堂婶"],"f,f,xb,s":["堂伯叔父","堂叔伯","从父"],"f,f,xb,s,w":["堂伯叔母","从母"],"f,f,xb,s,s&o":["从堂兄"],"f,f,xb,s,s&l":["从堂弟"],"f,f,xb,s,s,s":["从堂侄","三从子"],"f,f,xb,s,s,s,s":["从堂侄孙","三从孙"],"f,f,xb,s,s,s,s,s":["从堂侄曾孙","三曾孙"],"f,f,xb,s,s,s,s,s,s":["从堂侄玄孙","三玄孙"],"f,f,xb,d":["堂姑"],"f,f,xb,d,h":["堂姑丈"],"f,f,f,xb":["伯叔曾祖父"],"f,f,f,xb,w":["伯叔曾祖母"],"f,f,f,xb,s":["堂伯叔祖父"],"f,f,f,xb,s,w":["堂伯叔祖母"],"f,f,f,xb,s,s&o":["从伯父"],"f,f,f,xb,s,s&o,w":["从伯母"],"f,f,f,xb,s,s&l":["从叔父"],"f,f,f,xb,s,s&l,w":["从叔母"],"f,f,f,xb,s,s":["从伯叔父","再从父"],"f,f,f,xb,s,s,w":["从伯叔母","再从母"],"f,f,f,xb,s,s,s&o":["族兄"],"f,f,f,xb,s,s,s&l":["族弟"],"f,f,f,xb,s,s,s,s":["族侄","四从子","族子"],"f,f,f,xb,s,s,s,s,s":["族侄孙","四从孙","族孙"],"f,f,f,xb,s,s,s,s,s,s":["族侄曾孙","四曾孙","族曾孙"],"f,f,f,xb,s,s,s,s,s,s,s":["族侄玄孙","四玄孙","族玄孙"],"f,f,f,f,xb":["伯叔高祖父"],"f,f,f,f,xb,w":["伯叔高祖母"],"f,f,f,f,xb,s":["堂伯叔曾祖父"],"f,f,f,f,xb,s,w":["堂伯叔曾祖母"],"f,f,f,f,xb,s,s":["从伯叔祖父"],"f,f,f,f,xb,s,s,w":["从伯叔祖母"],"f,f,f,f,xb,s,s,s&o":["族伯父"],"f,f,f,f,xb,s,s,s&o,w":["族伯母"],"f,f,f,f,xb,s,s,s&l":["族叔父"],"f,f,f,f,xb,s,s,s&l,w":["族叔母"],"f,f,f,f,xb,s,s,s":["族伯叔父","三从父","族父"],"f,f,f,f,xb,s,s,s,w":["族伯叔母","三从母","族母"],m:["妈妈","母亲","老母亲","老妈","阿妈","阿母","阿娘","老母","妈咪","依妈","老娘","老乸","老妈子","妈子","娘老子","妈","母","娘","阿毑","姆嬷","姆妈","娘亲"],"m,ob":["大舅","大舅舅","舅伯","元舅"],"m,ob,w":["大舅妈","大妗","舅嫲"],"m,lb":["小舅","小舅舅","舅仔","舅父仔","尕阿舅","老舅"],"m,lb,w":["小舅妈","小妗","细妗"],"m,xb":["舅舅","舅爸","舅父","舅爹","娘舅","母舅","阿舅","妗公","舅台","几舅","舅"],"m,xb,w":["舅妈","舅母","舅娘","娘妗","舅妻","舅姆","舅姆妈","舅媳妇","舅妇","舅姥","老妗","妗子","妗妗","妗妈","妗娘","妗母","阿妗","妗门","妗婆仔","妗儿妈","妗","嬢嬢"],"m,os":["大姨","大姨妈","姨嬷"],"m,os,h":["大姨丈","大姨父","大姨爸","姨伯"],"m,ls":["小姨","小姨妈","姨仔","老姨"],"m,ls,h":["小姨丈","小姨父","小姨爹","老姨夫","姨叔"],"m,xs":["姨妈","姨母","姨姨","姨娘","阿姨","几姨","姨","从母","嬢嬢"],"m,xs,h":["姨丈","姨父","姨爸","姨爹","姨夫","姨婿","姨郎","尹"],"m,f,xb,s":["堂舅"],"m,f,xb,s,w":["堂舅妈"],"m,f,xb,d":["堂姨"],"m,f,xb,d,h":["堂姨丈"],"h,f,f,f":["曾祖公父","曾祖公","太公翁"],"h,f,f,m":["曾祖婆母","曾祖婆","太奶亲"],"h,f,m,f":["曾外祖公父","曾外祖公"],"h,f,m,m":["曾外祖婆母","曾外祖婆"],"h,m,f,f":["外曾祖公父","外曾祖公"],"h,m,f,m":["外曾祖婆母","外曾祖婆"],"h,m,m,f":["外曾外祖公父","外曾外祖公"],"h,m,m,m":["外曾外祖婆母","外曾外祖婆"],"h,f,f,f,ob":["伯曾祖公父","伯曾祖公","太伯翁"],"h,f,f,f,ob,w":["伯曾祖婆母","伯曾祖婆","太姆婆"],"h,f,f,f,lb":["叔曾祖公父","叔曾祖公","太叔翁"],"h,f,f,f,lb,w":["叔曾祖婆母","叔曾祖婆","太婶婆"],"h,f,f,f,xs":["姑曾祖婆母","姑曾祖婆"],"h,f,f,f,xs,h":["姑曾祖公父","姑曾祖婆"],"h,f,f":["祖公父","祖公","祖公公","祖翁","奶公父"],"h,f,m":["祖婆母","祖婆","祖婆婆","奶婆母"],"h,m,f":["外祖公父","毑公父","外祖公","外祖公公","姥公父","姥公"],"h,m,m":["外祖婆母","毑婆母","外祖婆","外祖婆婆","姥婆母","姥婆"],"h,f":["公公","公父","家公","家官","家翁","家爷","翁亲","老官","大官","老公公","老人公","大人公","公爹","老公爹","婆父","婆爹","君舅"],"h,m":["婆婆","婆母","家婆","家娘","姑亲","大家","老婆婆","老人婆","大人婆","婆妈","婆母娘","婆子妈","君姑"],"h,f,ob":["伯公父","伯公","伯翁","伯公公","伯祖","婆婆伯"],"h,f,ob,w":["伯婆母","伯婆","姆婆","伯婆婆","伯姆","婆婆伯姆"],"h,f,lb":["叔公父","叔公","叔翁","叔公公","叔祖","婆婆叔"],"h,f,lb,w":["叔婆母","叔婆","婶婆","婶婆婆","婶亲","婆婆婶子"],"h,f,xs":["姑婆母","姑婆","姑婆婆","婆婆姑"],"h,f,xs,h":["姑公父","姑公","姑公公","婆婆姑夫"],"h,m,xb":["舅公父","舅公","舅公公"],"h,m,xb,w":["舅婆母","舅婆","妗婆婆","舅婆婆"],"h,m,xs":["姨婆母","姨婆","姨婆婆"],"h,m,xs,h":["姨公父","姨公","姨公公"],h:["老公","丈夫","先生","夫","男人","新郎","爱爷","夫亲","夫君","官人","汉子","老头子","郎君","相公","夫婿","良人","老公仔","爱人","老伴","那口子","配偶","伴侣","伉俪","卿卿"],"h,ob":["大伯子","大伯儿","大伯兄","伯子","伯仔","伯兄","阿伯","大伯爷","伯爷子","婿伯"],"h,ob,w":["大婶子","大婶儿","大叔兄妇","伯兄妇","伯嫂","伯妇","伯姆","姒妇","姒姆","大伯嫂","姆姆","大姆","大伯妇","大伯娘","姐妇","阿姆"],"h,lb":["小叔子","小叔儿","小叔弟","叔子","叔仔","叔弟","阿叔","叔郎","小郎"],"h,lb,w":["小婶子","小婶儿","小叔弟妇","叔弟妇","叔嫂","叔妇","叔姆","娣妇","娣姆","小叔妇","婶婶","小婶","小婶婶"],"h,[ob|lb]":["伯叔"],"h,xb,w":["妯娌","娣姒","娣姒姊妹","婶子"],"h,xb,s":["叔侄男"],"h,xb,d":["叔侄女"],"h,os":["大姑子","大姑姐","大姑儿","大姑娘","姑姊","婆姐","婆婆姐","大娘姑"],"h,os,h":["大姑夫","大姑姐夫","大亘子","婆姐夫","婆婆姐夫"],"h,ls":["小姑子","小姑妹","小姑儿","小姑娘","姑妹","婆妹","婆婆妹"],"h,ls,h":["小姑夫","小姑妹夫","小亘子","婆妹夫","婆婆妹夫"],"h,xs":["姑子","夫姑"],"h,xs,h":["姑夫","姑郎"],"h,xs,s":["姑甥"],"h,xs,d":["姑甥女"],"w,f,f,f":["曾祖岳父","曾祖丈人","太爷丈人","祖爷丈人"],"w,f,f,m":["曾祖岳母","曾祖丈母","曾祖丈母娘","祖奶丈母娘","太奶丈母娘"],"w,f,m,f":["曾外祖岳父","曾外祖丈人","祖姥爷丈人","太姥爷丈"],"w,f,m,m":["曾外祖岳母","曾外祖丈母","曾外祖丈母娘","祖姥丈母娘","太姥丈母娘"],"w,m,f,f":["外曾祖岳父","外曾祖丈人","祖奶爷丈人","太奶爷丈人","祖姥爷丈人","太姥爷丈人"],"w,m,f,m":["外曾祖岳母","外曾祖丈母","太奶丈母娘","祖姥丈母娘","太姥丈母娘"],"w,m,m,f":["外曾外祖岳父","外曾外祖丈人","祖姥爷丈人","太姥爷丈人"],"w,m,m,m":["外曾外祖岳母","外曾外祖丈母","外曾外祖丈母娘","祖姥丈母娘","太姥丈母娘"],"w,f,f":["祖岳父","太岳父","奶岳父","祖丈人","爷丈人","奶爷丈人","奶丈爷","奶丈人","老丈爷"],"w,f,m":["祖岳母","太岳母","奶岳母","祖丈母","祖丈母娘","奶丈母娘","奶丈姥","奶丈母","老丈姥"],"w,f,ob":["伯岳父"],"w,f,ob,w":["伯岳母"],"w,f,lb":["叔岳父"],"w,f,lb,w":["叔岳母"],"w,f,f,xb,s&o":["姻伯丈"],"w,f,f,xb,s&o,w":["姻姆"],"w,f,f,xb,s&l":["姻叔丈"],"w,f,f,xb,s&l,w":["姻婶"],"w,m,f":["外祖岳父","毑岳父","外祖丈人爹","外祖丈人","外太岳父","姥岳父","姥丈爷","姥丈人","姥丈人爹","老丈爷","姥爷丈人"],"w,m,m":["外祖岳母","毑岳母","外祖丈母娘","外祖丈母","外太岳母","姥岳母","姥丈姥","姥丈母","姥丈母娘","老丈娘"],"w,f":["岳父","丈人","老丈人","外父","泰山","外舅","老亲爷","丈人爹","老干爷","丈人公","丈母爷","丈爷","丈爷爹","丈父","岳老子","老丈杆子","岳丈","岳翁","妻公","妇翁","冰翁"],"w,m":["岳母","丈母","老丈母","外母","泰水","外姑","老亲娘","丈人娘","老干娘","丈人婆","丈母娘","丈姥","丈姥娘","丈姆","岳母娘","丈母婆","丈姆婆","丈姆娘"],w:["老婆","妻子","媳妇","媳妇儿","太太","妻","女人","新娘","爱姥","妻亲","娘子","新娘子","夫人","婆娘","老太婆","内人","内子","内助","贤内助","爱妻","发妻","婆姨","婆子","老婆子","老婆儿","老婆仔","堂客","爱人","老伴","那口子","配偶","伴侣","伉俪","卿卿"],"w,ob":["大舅子","大舅哥","大舅佬","大阿舅","丈人兄","舅哥"],"w,ob,w":["大舅妇","大妗子","大妗儿","大舅姆","大舅兄嫂","大舅嫂","大舅姐","大舅媳妇","丈人嫂"],"w,lb":["小舅子","小舅弟","小舅佬","小阿舅","丈人弟","舅弟"],"w,lb,w":["小舅妇","小妗子","小妗儿","小舅姆","小舅弟妇","小舅嫂","舅弟媳","小舅妹","小舅媳妇"],"w,xb":["舅子","舅佬","妻舅","老婆舅","阿舅","亲家舅","舅老倌"],"w,xb,w":["舅嫂","舅妇","舅姆","妻妗","妗仔","妗子","妗儿"],"w,xb,s":["舅侄男"],"w,xb,d":["舅侄女"],"w,os":["大姨子","大姨姐","大姨儿","姨姐"],"w,os,h":["大姨夫","大姨姐夫","襟兄","大尹子"],"w,ls":["小姨子","小姨妹","小茙儿","姨妹","姨仔","姨妹子"],"w,ls,h":["小姨夫","小姨妹夫","小茙夫","襟弟","小尹子"],"w,xs":["姨子","妻姨"],"w,xs,h":["连襟","姨夫","连桥","两桥","两乔","姨夫爷","一担挑","老挑","挑担","担儿挑","连襟儿","襟兄弟","友婿","妻尹","娅"],"w,xs,s":["姨甥"],"w,xs,d":["姨甥女"],ob:["哥哥","哥","胞兄","亲哥","老哥","依哥","阿哥","家兄","兄长","大佬","元兄","长兄","几哥"],"ob,w":["嫂子","嫂","嫂嫂","阿嫂","家嫂","兄姊","兄嫂","兄妇","兄妻","几嫂"],"ob,s":["侄子","侄男","兄子"],"ob,d":["侄女","兄女"],lb:["弟弟","弟","胞弟","亲弟","老弟","阿弟","细佬","依弟","小弟","几弟"],"lb,w":["弟妹","弟媳","弟媳妇","弟媳妇子","弟新妇","老弟嫂"],"lb,s":["侄子","侄男","弟子"],"lb,d":["侄女","弟女"],"xb,s":["侄子","侄男","侄儿","侄儿子","侄","侄仔","阿侄"],"xb,s,w":["侄媳妇","侄媳","侄嫂","侄妇"],"xb,d":["侄女","侄囡","侄女儿","侄闺女"],"xb,d,h":["侄女婿","侄婿","侄郎"],os:["姐姐","姐","胞姐","亲姐","阿姐","阿姊","姊仔","家姐","依姐","长姐","几姐"],"os,h":["姐夫","姐丈","姐婿","姐郎","姊兄","姐夫哥","胞姐夫"],ls:["妹妹","妹","胞妹","亲妹","老妹","阿妹","妹儿","妹子","依妹","小妹","几妹"],"ls,h":["妹夫","妹丈","妹婿","妹郎","妹弟","妹夫子","胞妹夫"],"xs,s":["外甥","甥子","甥男","甥儿","甥儿子","甥","甥仔"],"xs,s,w":["甥媳妇","甥媳","甥嫂","甥妇","甥儿息妇儿"],"xs,s,s":["甥孙","远甥","弥甥"],"xs,s,d":["甥孙女","远甥女","弥甥女"],"xs,d":["外甥女","甥女","甥囡","甥女儿","甥闺女"],"xs,d,h":["甥女婿","甥婿","甥郎","甥儿息婿儿"],s:["儿子","男儿","息男","闺男","囝囝","囝男","囝儿","小子","娃子","男亲","伢子","长子","次子","幼子","儿","仔","囝","子","阿仔","仔仔","后生","公子","少爷","一世孙"],"s,w":["儿媳","儿媳妇","息妇儿","儿媳妇儿","新妇","新妇囝","心抱","息妇","儿妇","子妇","小妇","少奶奶","少夫人"],"s,w,f":["亲家公"],"s,w,f,f&o":["姻伯"],"s,w,f,f&l":["姻叔"],"s,w,m":["亲家母"],"s,w,xb":["姻侄","世侄"],"s,w,xb,w":["姻侄媳"],"s,w,xb,s":["姻侄孙"],"s,w,xb,d":["姻侄孙女"],"s,w,xs":["姻侄女"],"s,w,xs,h":["姻侄婿"],"s,w,xs,s":["姻侄外孙"],"s,w,xs,d":["姻侄外孙女"],"s,s":["孙子","孙男","孙男儿","孙儿","长孙","孙仔","孙囝","孙娃子","孙伢子","二世孙"],"s,s,w":["孙媳妇","孙媳","孙妇","孙息妇","孙新妇"],"s,s,s":["曾孙","曾孙男","重孙","重孙子","息仔","三世孙"],"s,s,s,w":["曾孙妇","重孙媳妇"],"s,s,s,s":["玄孙","元孙","膀孙","四世孙"],"s,s,s,s,w":["玄孙媳妇"],"s,s,s,s,s":["来孙","五世孙"],"s,s,s,s,s,w":["来孙媳妇"],"s,s,s,s,s,s":["晜孙","六世孙"],"s,s,s,s,s,s,w":["晜孙媳妇"],"s,s,s,s,s,s,s":["仍孙","礽孙","七世孙"],"s,s,s,s,s,s,s,w":["仍孙媳妇"],"s,s,s,s,s,s,s,s":["云孙","八世孙"],"s,s,s,s,s,s,s,s,w":["云孙媳妇"],"s,s,s,s,s,s,s,s,s":["耳孙","远孙","九世孙"],"s,s,s,s,s,s,s,s,s,w":["耳孙媳妇"],"s,s,s,s,s,s,s,s,s,s":["弥孙","十世孙"],"s,s,s,s,s,s,s,s,s,s,w":["弥孙媳妇"],"s,s,s,s,s,s,s,s,s,s,s":["胎孙","十一世孙"],"s,s,s,s,s,s,s,s,s,s,s,w":["胎孙媳妇"],"s,s,s,s,s,s,s,s,s,s,s,s":["承孙","十二世孙"],"s,s,s,s,s,s,s,s,s,s,s,s,w":["承孙媳妇"],"s,s,s,s,s,s,s,s,s,s,s,d":["承孙女"],"s,s,s,s,s,s,s,s,s,s,s,d,h":["承孙女婿"],"s,s,s,s,s,s,s,s,s,s,d":["胎孙女"],"s,s,s,s,s,s,s,s,s,s,d,h":["胎孙女婿"],"s,s,s,s,s,s,s,s,s,s,d,s":["承外孙"],"s,s,s,s,s,s,s,s,s,s,d,s,w":["承外孙媳妇"],"s,s,s,s,s,s,s,s,s,s,d,d":["承外孙女"],"s,s,s,s,s,s,s,s,s,s,d,d,h":["承外孙女婿"],"s,s,s,s,s,s,s,s,s,d":["弥孙女"],"s,s,s,s,s,s,s,s,s,d,h":["弥孙女婿"],"s,s,s,s,s,s,s,s,s,d,s":["胎外孙"],"s,s,s,s,s,s,s,s,s,d,s,w":["胎外孙媳妇"],"s,s,s,s,s,s,s,s,s,d,d":["胎外孙女"],"s,s,s,s,s,s,s,s,s,d,d,h":["胎外孙女婿"],"s,s,s,s,s,s,s,s,d":["耳孙女"],"s,s,s,s,s,s,s,s,d,h":["耳孙女婿"],"s,s,s,s,s,s,s,s,d,s":["弥外孙"],"s,s,s,s,s,s,s,s,d,s,w":["弥外孙媳妇"],"s,s,s,s,s,s,s,s,d,d":["弥外孙女"],"s,s,s,s,s,s,s,s,d,d,h":["弥外孙女婿"],"s,s,s,s,s,s,s,d":["云孙女"],"s,s,s,s,s,s,s,d,h":["云孙女婿"],"s,s,s,s,s,s,s,d,s":["耳外孙"],"s,s,s,s,s,s,s,d,s,w":["耳外孙媳妇"],"s,s,s,s,s,s,s,d,d":["耳外孙女"],"s,s,s,s,s,s,s,d,d,h":["耳外孙女婿"],"s,s,s,s,s,s,d":["仍孙女","礽孙女"],"s,s,s,s,s,s,d,h":["仍孙女婿"],"s,s,s,s,s,s,d,s":["云外孙"],"s,s,s,s,s,s,d,s,w":["云外孙媳妇"],"s,s,s,s,s,s,d,d":["云外孙女"],"s,s,s,s,s,s,d,d,h":["云外孙女婿"],"s,s,s,s,s,d":["晜孙女"],"s,s,s,s,s,d,h":["晜孙女婿"],"s,s,s,s,s,d,s":["仍外孙"],"s,s,s,s,s,d,s,w":["仍外孙媳妇"],"s,s,s,s,s,d,d":["仍外孙女"],"s,s,s,s,s,d,d,h":["仍外孙女婿"],"s,s,s,s,d":["来孙女"],"s,s,s,s,d,h":["来孙女婿"],"s,s,s,s,d,s":["晜外孙"],"s,s,s,s,d,s,w":["晜外孙媳妇"],"s,s,s,s,d,d":["晜外孙女"],"s,s,s,s,d,d,h":["晜外孙女婿"],"s,s,s,d":["玄孙女","元孙女","膀孙女"],"s,s,s,d,h":["玄孙女婿"],"s,s,s,d,s":["来外孙"],"s,s,s,d,s,w":["来外孙媳妇"],"s,s,s,d,d":["来外孙女"],"s,s,s,d,d,h":["来外孙女婿"],"s,s,d":["曾孙女","重孙女","息女"],"s,s,d,h":["曾孙女婿"],"s,s,d,s":["玄外孙"],"s,s,d,s,w":["玄外孙媳妇"],"s,s,d,d":["玄外孙女"],"s,s,d,d,h":["玄外孙女婿"],"s,d":["孙女","孙女儿","孙囡","孙囡儿","女孙","孙女子"],"s,d,h":["孙女婿","孙婿","孙郎","孙息婿"],"s,d,s":["曾外孙","外息仔"],"s,d,s,w":["曾外孙媳妇"],"s,d,s,s":["曾外曾孙"],"s,d,s,s,w":["曾外曾孙媳妇"],"s,d,s,d":["曾外曾孙女"],"s,d,s,d,h":["曾外曾孙女婿"],"s,d,d":["曾外孙女","外息女"],"s,d,d,h":["曾外孙女婿"],"s,d,d,s":["曾外曾外孙"],"s,d,d,s,w":["曾外曾外孙媳妇"],"s,d,d,d":["曾外曾外孙女"],"s,d,d,d,h":["曾外曾外孙女婿"],d:["女儿","千金","小姐","掌上明珠","息女","闺女","囡囡","囡女","囡儿","乖囡","囡嗯","丫头","姑娘","妮子","女亲","长女","次女","幼女","女","阿女","女女"],"d,h":["女婿","姑爷","姑爷儿","女婿子","女婿儿","儿婿","子婿","息婿","小婿","快婿","郎婿","郎婿子","息婿儿","囝婿","囡婿","东床","半子","甥馆","女夫"],"d,h,f":["亲家公"],"d,h,f,f&o":["姻伯"],"d,h,f,f&l":["姻叔"],"d,h,m":["亲家母"],"d,h,xb":["姻侄","世侄"],"d,h,xb,w":["姻侄媳"],"d,h,xb,s":["姻侄孙"],"d,h,xb,d":["姻侄孙女"],"d,h,xs":["姻侄女"],"d,h,xs,h":["姻侄婿"],"d,h,xs,s":["姻侄外孙"],"d,h,xs,d":["姻侄外孙女"],"d,s":["外孙","外孙子","外孙儿"],"d,s,w":["外孙媳妇","外孙妇","外孙新妇"],"d,s,s":["外曾孙","重外孙","外息仔"],"d,s,s,w":["外曾孙媳妇","外曾孙妇"],"d,s,s,s":["外玄孙","外元孙","外膀孙"],"d,s,s,s,w":["外玄孙媳妇"],"d,s,s,d":["外玄孙女","外元孙女","外膀孙女"],"d,s,s,d,h":["外玄孙女婿"],"d,s,d":["外曾孙女","重外孙女","外息女"],"d,s,d,h":["外曾孙女婿","重外孙女婿"],"d,s,d,s":["外玄外孙"],"d,s,d,s,w":["外玄外孙媳妇"],"d,s,d,d":["外玄外孙女"],"d,s,d,d,h":["外玄外孙女婿"],"d,d":["外孙女","外孙囡","外孙女儿"],"d,d,h":["外孙女婿","外孙婿","外孙郎"],"d,d,s":["外曾外孙","外息仔"],"d,d,s,w":["外曾外孙媳妇"],"d,d,s,s":["外曾外曾孙"],"d,d,s,s,w":["外曾外曾孙媳妇"],"d,d,s,d":["外曾外曾孙女"],"d,d,s,d,h":["外曾外曾孙女婿"],"d,d,d":["外曾外孙女","外息女"],"d,d,d,h":["外曾外孙女婿"],"d,d,d,s":["外曾外曾外孙"],"d,d,d,s,w":["外曾外曾外孙媳妇"],"d,d,d,d":["外曾外曾外孙女"],"d,d,d,d,h":["外曾外曾外孙女婿"],"1,xb,w,xb":["叔眷兄弟"],"1,xb,w,xb,s":["叔眷舅男"],"1,xb,w,xb,d":["叔眷舅女"],"1,xb,w,xs":["叔眷姊妹"],"1,xb,w,xs,s":["叔眷姨男"],"1,xb,w,xs,d":["叔眷姨女"],"1,xb,s":["从男","从子"],"1,xb,s,s":["从孙"],"1,xb,s,s,s":["从曾孙"],"1,xb,s,s,s,s":["从玄孙"],"1,xb,s,w":["从妇"],"1,xb,d":["从女","从子"],"1,xb,d,h":["从婿"],"1,xs,h,xb":["姑姻兄弟"],"1,xs,h,xb,s":["姑姻叔男"],"1,xs,h,xb,d":["姑姻叔女"],"1,xs,h,xs":["姑姻姊妹"],"1,xs,h,xs,s":["姑姻姑男"],"1,xs,h,xs,d":["姑姻姑女"],"1,xs,s,s":["离孙男","离孙子"],"1,xs,s,d":["离孙女"],"0,xb,w,xb":["舅眷兄弟"],"0,xb,w,xb,s":["舅眷舅男"],"0,xb,w,xb,d":["舅眷舅女"],"0,xb,w,xs":["舅眷姊妹"],"0,xb,w,xs,s":["舅眷姨男"],"0,xb,w,xs,d":["舅眷姨女"],"0,xs,h,xb":["姨姻兄弟"],"0,xs,h,xb,s":["姨姻叔男"],"0,xs,h,xb,d":["姨姻叔女"],"0,xs,h,xs":["姨姻姊妹"],"0,xs,h,xs,s":["姨姻姑男"],"0,xs,h,xs,d":["姨姻姑女"],"0,xb,s":["娘家侄子","娘家侄"],"0,xb,s,s":["归孙男","归孙子"],"0,xb,s,d":["归孙女"],"0,xb,d":["娘家侄女"],"0,xs,s":["姨甥","姨甥男","从男","从子"],"0,xs,s,w":["从妇"],"0,xs,d":["姨甥女","从女","从子"],"0,xs,d,h":["从婿"],"0,xs,s,s":["姨甥孙","姨孙","姨甥孙男","姨孙男"],"0,xs,s,d":["姨甥孙女","姨孙女"],"0,xs,d,s":["姨甥外孙","姨外孙","姨甥外孙男","姨外孙男"],"0,xs,d,d":["姨甥外孙女","姨外孙女"]};let o=Object.assign({},{"[f,f|f,m|m,f],[f,m],f":["老太奶爷","祖太奶爷"],"[f,f|f,m|m,f],[f,m],m":["老太奶奶","祖太奶奶"],"[f,m|m,f|m,m],[f,m],f":["老太姥爷","祖太姥爷"],"[f,m|m,f|m,m],[f,m],m":["老太姥姥","祖太姥姥"],"[f|m],[f|m],f":["太老爷"],"[f|m],[f|m],f,ob":["伯太老爷"],"[f|m],[f|m],f,ob,w":["伯太老姥"],"[f|m],[f|m],f,lb":["叔太老爷"],"[f|m],[f|m],f,lb,w":["叔太老姥"],"[f|m],[f|m],f,xs":["姑太老姥"],"[f|m],[f|m],f,xs,h":["姑太老爷"],"[f|m],[f|m],m":["太老姥"],"[f|m],[f|m],m,xb":["舅太老爷"],"[f|m],[f|m],m,xb,w":["舅太老姥"],"[f|m],[f|m],m,xs":["姨太老姥"],"[f|m],[f|m],m,xs,h":["姨太老爷"],"[f,f|f,m|m,f],f":["太奶爷","祖奶爷","祖爷爷"],"[f,f|f,m|m,f],f,ob":["伯太奶爷","太伯奶爷"],"[f,f|f,m|m,f],f,ob,w":["伯太奶奶","太伯奶奶"],"[f,f|f,m|m,f],f,lb":["叔太奶爷","太叔奶爷"],"[f,f|f,m|m,f],f,lb,w":["叔太奶奶","太叔奶奶"],"[f,f|f,m|m,f],f,xs":["姑太奶奶","太姑奶奶"],"[f,f|f,m|m,f],f,xs,h":["姑太奶爷","太姑奶爷"],"[f,f|f,m|m,f],m":["太奶奶","祖奶奶"],"[f,f|f,m|m,f],m,xb":["舅太奶爷","太舅奶爷"],"[f,f|f,m|m,f],m,xb,w":["舅太奶奶","太舅奶奶"],"[f,f|f,m|m,f],m,xs":["姨太奶奶","太姨奶奶"],"[f,f|f,m|m,f],m,xs,h":["姨太奶爷","太姨奶爷"],"[f,m|m,f|m,m],f":["太姥爷","祖姥爷","太毑爷"],"[f,m|m,f|m,m],f,ob":["伯太姥爷","伯叔姥爷"],"[f,m|m,f|m,m],f,ob,w":["伯太姥姥","太伯姥姥"],"[f,m|m,f|m,m],f,lb":["叔太姥爷","太叔姥爷"],"[f,m|m,f|m,m],f,lb,w":["叔太姥姥","太叔姥姥"],"[f,m|m,f|m,m],f,xs":["姑太姥姥","太姑姥姥"],"[f,m|m,f|m,m],f,xs,h":["姑太姥爷","太姑姥爷"],"[f,m|m,f|m,m],m":["太姥姥","祖姥姥","太毑毑","太姥"],"[f,m|m,f|m,m],m,xb":["舅太姥爷","太舅姥爷"],"[f,m|m,f|m,m],m,xb,w":["舅太姥姥","太舅姥姥"],"[f,m|m,f|m,m],m,xs":["姨太姥姥","太姨姥姥"],"[f,m|m,f|m,m],m,xs,h":["姨太姥爷","太姨姥爷"],"[f|m],[f|m],[f|m]":["曾祖辈","祖祖","老太"],"[f|m],f,[f|m]":["阿太"],"[f|m],[f|m]":["祖辈"],"[f|m],f":["老爷"],"[f|m],f,ob":["伯老爷"],"[f|m],f,ob,w":["伯老姥"],"[f|m],f,lb":["叔老爷"],"[f|m],f,lb,w":["叔老姥"],"[f|m],f,xs":["姑老姥"],"[f|m],f,xs,h":["姑老爷"],"[f|m],m":["老姥"],"[f|m],m,xb":["舅老爷"],"[f|m],m,xb,w":["舅老姥"],"[f|m],m,xs":["姨老姥"],"[f|m],m,xs,h":["姨老爷"],"f,f,[f|m]":["曾祖父母"],"f,f,[f,xs|m,xb],s":["舅姑爷爷","舅姑爷"],"f,[f|m]":["祖父母","爷爷奶奶"],"f,[ob|ob,w]":["伯父母"],"f,[lb|lb,w]":["叔父母"],"f,xb,[s|d]":["堂兄弟姐妹","堂姐妹兄弟","从父兄弟姐妹"],"f,[xs|xs,h]":["姑父母"],"f,xs,[s|d]":["姑表兄弟姐妹"],"m,[f|m],f":["老外公","老外爷","老姥爷"],"m,[f|m],m,":["老外婆","老外奶","老姥姥","老姥娘","老嫏娘"],"m,[f|m]":["外祖父母","外公外婆","姥姥姥爷"],"m,f,[f,xs|m,xb],s":["舅姑姥爷"],"m,[xb|xb,w]":["舅父母"],"m,xb,[s|d]":["舅表兄弟姐妹"],"m,[xs|xs,h]":["姨父母"],"m,xs,[s|d]":["姨兄弟姐妹","姨姐妹兄弟","从母兄弟姐妹"],"[f|m]":["父母","爹娘","爹妈","爸妈","爸爸妈妈","父母亲","双亲","二亲","两亲","二老","高堂"],"[f|m],[f,xs|m,xb],s":["舅姑爸","姑舅爸"],"[f|m],[f,xs|m,xb],s&o,w":["舅姑姆","姑舅姆"],"[f|m],[f,xs|m,xb],s&l,w":["舅姑婶","姑舅婶"],"[f|m],[f,xs|m,xb],d":["姑舅娘娘"],"[f|m],m,xs,s":["两姨爸"],"[f|m],m,xs,s&o,w":["两姨姆"],"[f|m],m,xs,s&l,w":["两姨婶"],"[f|m],m,xs,d":["两姨娘娘"],"w,[f|m]":["岳父母","岳父岳母","丈人丈母","舅姑"],"w,f,[ob|ob,w]":["伯岳父母"],"w,f,[lb|lb,w]":["叔岳父母"],"w,f,[xs|xs,h]":["姑岳父母"],"w,m,[xb|xb,w]":["舅岳父母"],"w,m,[xs|xs,h]":["姨岳父母"],"w,[f,xs|m,xb],d":["姑舅姨子"],"w,[f,xs|m,xb],d,h":["姑舅连襟","姑舅连桥"],"h,[f|m]":["公婆","翁姑","姑翁","姑舅","大家官","公公婆婆","姑章","姑嫜"],"h,f,[ob|ob,w]":["伯公婆"],"h,f,[lb|lb,w]":["叔公婆"],"h,f,[xs|xs,h]":["姑公婆"],"h,m,[xb|xb,w]":["舅公婆"],"h,m,[xs|xs,h]":["姨公婆"],"[ob|lb]":["兄弟","晜弟","亲兄弟","同胞兄弟"],"[ob|lb],w":["兄弟媳妇","兄弟妇"],"[os|ls]":["姐妹","亲姐妹","同胞姐妹"],"[os|ls],h":["姐妹夫","姊妹婿"],"[xb|xs]":["兄弟姐妹","同胞","同胞兄弟姐妹","手足"],"[ob|os]":["哥哥姐姐"],"[lb|ls]":["弟弟妹妹"],"[ob|ob,w]":["哥哥嫂嫂","兄嫂"],"[f,xb|m,xs],[s|d]":["从兄弟姐妹","从姐妹兄弟"],"[f,xs|m,xb],[s|d]":["表兄弟姐妹","表姐妹兄弟","老表","阿表"],"[f,xs|m,xb],s":["姑舅兄弟","舅姑兄弟"],"[f,xs|m,xb],s&o":["姑舅哥","姑舅哥哥"],"[f,xs|m,xb],s&l":["姑舅弟","姑舅弟弟"],"[f,xs|m,xb],d":["姑舅姊妹","舅姑姊妹"],"[f,xs|m,xb],d&o":["姑舅姐","姑舅姐姐"],"[f,xs|m,xb],d&l":["姑舅妹","姑舅妹妹"],"[f,xs|m,xb],s,s":["姑舅儿子"],"[f,xs|m,xb],s,d":["姑舅女儿"],"[xb|xs],[s|d]":["侄甥"],"xb,[s|d]":["侄子女","侄子侄女"],"xs,[s|d]":["甥子女","外甥子女"],"[w|s|d]":["妻儿","妻小"],"[w|d]":["妻女"],"[s|d]":["子女","儿女","小孩","孩子","孩子们","孩儿","小孩儿","宝宝","宝贝","娃","娃子","儿辈","子辈","细伢","子息","子嗣","崽","幺儿"],"[s|d],[s|d]":["孙辈","孙息","孙枝"],"s,[s|d]":["孙子女"],"d,[s|d]":["外孙子女"],"s#xb,s":["子侄"],"s#s,w":["子媳"],"[s|d]#[s|d],[s|d]":["儿孙","子孙","孙息"],"[s,w|d,h],[f|m]":["亲家","儿女亲家"],"[s,w|d,h],f":["亲家公","亲家父","亲家翁","亲家世翁","姻翁"],"[s,w|d,h],f,f":["太姻翁"],"[s,w|d,h],f,m":["太姻姆"],"[s,w|d,h],f,f,f":["太姻翁"],"[s,w|d,h],f,f,m":["太姻姆"],"[s,w|d,h],f,f,ob":["姻伯翁"],"[s,w|d,h],f,f,ob,w":["姻伯姆"],"[s,w|d,h],f,f,lb":["姻叔翁"],"[s,w|d,h],f,f,lb,w":["姻叔母"],"[s,w|d,h],f,f,xb,s&o":["姻家兄"],"[s,w|d,h],f,f,xb,s&o,w":["姻家兄妇"],"[s,w|d,h],f,f,xb,s&l":["姻家弟"],"[s,w|d,h],f,f,xb,s&l,w":["姻家弟妇"],"[s,w|d,h],f,f,xb,s,s":["姻家侄"],"[s,w|d,h],f,f,xb,s,s,w":["姻家侄妇"],"[s,w|d,h],f,ob":["姻兄"],"[s,w|d,h],f,ob,w":["姻兄妇"],"[s,w|d,h],f,lb":["姻弟"],"[s,w|d,h],f,lb,w":["姻弟妇"],"[s,w|d,h],f,xb,s":["姻侄"],"[s,w|d,h],f,xb,s,w":["姻侄妇"],"[s,w|d,h],m":["亲家母","亲家婆","亲家姆","亲姆","姻姆"],"[s,w|d,h],m,ob":["姻仁兄"],"[s,w|d,h],m,ob,w":["姻仁兄妇"],"[s,w|d,h],m,lb":["姻仁弟"],"[s,w|d,h],m,lb,w":["姻仁弟妇"],"[s,w|d,h],[f|m],f":["姻太翁"],"[s,w|d,h],[f|m],m":["姻太姆"]}),e=function(s,f){let x={};for(let d in f){let m=d.match(/\{.+?\}/)[0],b=f[d];for(let f in s[m]){let h=s[m][f],l=d.replace(m,f);if(!["h,h","w,w","w,h","h,w"].some((s=>l.includes(s)))){let s=[];h.forEach((function(f){b.forEach((function(x){x.includes("?")?s.push(x.replace("?",f)):s.push(f+x)}))})),x[l]||(x[l]=o[l]||[]),x[l]=s.concat(x[l])}}}return x},t={};for(let s in l){t[s]={};for(let f in l[s])-1==f.indexOf("]")&&(t[s][f]=l[s][f])}let r={};for(let s in l){r[s]={};for(let f in l[s])f.indexOf("]")>-1&&O(f).forEach((function(x){r[s][x]=l[s][f]}))}o=Object.assign({},o,e(t,M),e(r,M));for(let s in w)o[s]=[].concat(w[s],o[s]||[]);o.o=["passer-by.com","作者"];const G={w:["妻","内","岳","岳家","丈人"],h:["夫","外","公","婆家","婆婆"]};let c=new Set(Object.values(o).flat());for(let s in o)if(s.match(/^[fm]/)||s.match(/^[olx][bs]$|^[olx][bs],[^mf]/))for(let f in G){let x=f+","+s;if(s.match(/[fm]/)){let s=x.replace(/,[ol]([sb])(,[wh])?$/,",x$1$2").replace(/(,[sd])&[ol](,[wh])?$/,"$1$2");if(s!=x&&o[s])continue}o[x]||(o[x]=[]);let d=G[f],m=o[s];d.forEach((function(s){m.forEach((function(f){let d=s+f;c.has(d)||o[x].push(d)}))}))}var n=o;let a={},p=Object.assign({},n);function i(s,f){let x={f:["d","s"],m:["d","s"],h:["w",""],w:["","h"],s:["m","f"],d:["m","f"],lb:["os","ob"],ob:["ls","lb"],xb:["xs","xb"],ls:["os","ob"],os:["ls","lb"],xs:["xs","xb"]},d="";if(s.match(/&o$/)?d="&l":s.match(/&l$/)&&(d="&o"),s){s=s.replace(/&[ol\d+]/g,""),f<0&&(s.match(/^w/)?f=1:s.match(/^h/)&&(f=0));let m=[],b=function(f){let m=(","+f+","+s).replace(/,[fhs]|,[olx]b/g,",1").replace(/,[mwd]|,[olx]s/g,",0");m=m.substring(0,m.length-2);let b=s.split(",").reverse(),h=m.split(",").reverse(),l=b.map(((s,f)=>x[s][h[f]])),M=l.join(",");return M+(W(M)?"":d)};return f<0?(m.push(b(1)),m.push(b(0))):m.push(b(f)),m}return[""]}function $(s){let f=s.filter((s=>s==s.replace(/[ol](?=[s|b])/g,"x").replace(/&[ol]/,"")));return s.filter((s=>{let x=s.replace(/[ol](?=[s|b])/g,"x").replace(/&[ol]/,"");return f.includes(s)||s!=x&&!f.includes(x)})).filter(((s,f,x)=>x.indexOf(s)===f))}function W(s){let f={f:1,m:1,s:-1,d:-1},x=s.split(","),d=0;return x.forEach((function(s){let x=s.replace(/&[ol\d]+/,"");d+=f[x]||0})),d}function u(s){let f=[],x=function(s){let f=[];if(p[s]){let x=s.replace(/(,[sd])(,[wh])?$/,"$1&o$2"),d=s.replace(/(,[sd])(,[wh])?$/,"$1&l$2");f=p[x]&&p[d]?[x,d]:[s]}return $(f).map((function(s){return p[s][0]}))};if(s.match(/&([\d]+)(,[hw])?$/)){let x=function(s){let f="";const x={1:"大",99:"小"};if(x[s])f=x[s];else{let x=~~(s/10),d=s%10;f=(x?(m[x]+"十").replace("一十","十"):"")+m[d]}return f}(s.match(/&([\d]+)(,[hw])?$/)[1]);if(s=s.replace(/&\d+/g,""),p[s]){let d="";W(s)<3&&!s.match(/[hw],/)?(p[s].forEach((function(s){!d&&s.includes("几")&&(d=s.replace("几",x))})),d||(d=p[s][0].match(/^[大小]/)?p[s][0].replace(/^[大小]/,x):x+p[s][0])):d=p[s][0],f.push(d)}}else s=s.replace(/&\d+/g,"");if(f.length||(f=x(s)),f.length||(f=x(s=s.replace(/&[ol]/g,""))),f.length||(f=x(s=s.replace(/[ol](b|s)/g,"x$1"))),!f.length){let d=s.replace(/x/g,"l"),m=s.replace(/x/g,"o");f=f.concat(x(m),x(d))}return f}let g=Object.assign({},p,{xb:["兄弟"],xs:["姐妹"]});function E(s,f){let x=s.split(",").map((function(s){let f=s.replace(/&[ol\d]+/,"");return g[f][0]})).join("的");return f&&f>-1&&g[f+","+s]&&(0==f?x="(女性)"+x:1==f&&(x="(男性)"+x)),x}let j={};for(let s in p)p[s].forEach((function(f){void 0===j[f]&&(j[f]=[]),j[f].push(s)}));let S=function(s){let{from:f,to:x,sex:d}=s,m=s.from.split(","),b=s.to.split(",");for(let h=0;h+o?m[h]=m[h].replace(/^[xol]b|^s/,"lb").replace(/^[xol]s|^d/,"ls"):+w<+o&&(m[h]=m[h].replace(/^[xol]b|^s/,"ob").replace(/^[xol]s|^d/,"os")),f=m.slice(h).join(","),x=b.slice(h+1).join(","),d=b[h].match(/^([fhs1](&[ol\d]+)?|[olx]b)(&[ol\d]+)?/)?1:0;else if(s.optimal&&(l=m[h].match(/([xol])[bs]/),M=b[h].match(/([xol])[bs]/),w=l?l[1]:"",o=M?M[1]:"","x"==w||"x"==o)){f=m.slice(h+1).join(","),x=b.slice(h+1).join(","),d=m[h].match(/^([fhs1](&[ol\d]+)?|[olx]b)(&[ol\d]+)?/)?1:0;continue}}break}f=m.slice(h+1).join(","),x=b.slice(h+1).join(","),d=m[h].match(/^([fhs1](&[ol\d]+)?|[olx]b)(&[ol\d]+)?/)?1:0}return{from:f,to:x,sex:d}};function y(s){(s=s.replace(/之/g,"的").replace(/吾之?(.+)/,"$1").replace(/我的?(.+)/,"$1")).match(/[^娘婆岳亲]家的?(孩子|儿子|女儿)/)&&(s=s.replace(/家的?/,"的"));let f=(s=(s=(s=s.replace(/(舅|姑)+(爸|父|丈|妈|母)?家的?(哥|姐|弟|妹)+/,"$1表$3").replace(/(舅|姑)+(爸|父|丈|妈|母)?家的?/,"$1表")).replace(/(伯|叔)+(父|母)?家的?(哥|姐|弟|妹)+/,"堂$3").replace(/(伯|叔)+(父|母)?家的?/,"堂")).replace(/姨+(爸|父|丈|妈|母)?家的?(哥|姐|弟|妹)+/,"姨$2").replace(/姨+(爸|父|丈|妈|母)?家的?/,"姨")).split("的"),m=[],h=!0;for(;f.length;){let s=f.shift(),l=[],M=[s],w=function(s){x.forEach((f=>{f.arr.forEach((x=>{let d=s.replace(f.exp,x);d!=s&&(M.push(d),w(d))}))}));for(let f in d){let x=s.replace(f,d[f]),m=s.replace(d[f],f);x!=s&&M.push(x),m!=s&&M.push(m)}};w(s);let o=[[],[],[]];M.forEach((function(s){let f=(s=s.replace(/^[尕幺细满碎晚末尾幼]/,"小")).match(/^[大|小]|^[一|二|三|四|五|六|七|八|九|十]+/);if(f){let x=s.replace(f[0],"几"),d=s.replace(f[0],""),m=b(f[0]);[x,d,s].forEach((function(s,f){let x=j[s];x&&x.length&&x.forEach((function(x){let d=x.replace(/(,[hw])$/,"&"+m+"$1").replace(/([^hw]+)$/,"$1&"+m);x.match(/^[mf,]+$/)||s.match(/^[从世]/)||o[f].push(d)}))}))}l=l.concat(j[s]||[])})),o.forEach((function(s){l.length||(l=s)})),l.length||(h=!1);let e=[];m.length||(m=[""]),m.forEach((function(s){l.forEach((function(f){e.push(s+(f?","+f:""))}))})),m=e}return h?$(m):[]}function O(s){let x=[],d={},m=function(s){let b="";if(!d[s]){d[s]=!0;do{b=s;for(let x of f)if((s=s.replace(x.exp,x.str)).includes("#"))return s.split("#").forEach(m),!1}while(b!=s);if(s.match(/,[mwd0](&[ol\d+])?,w|,[hfs1](&[ol\d]+)?,h/))return!1;x.push(s)}};return m(s),x}function N(s,f){if(s.match(/^,/)||(s=","+s),f<0)s.match(/^,[w1]/)?f=1:s.match(/^,[h0]/)&&(f=0);else{if(1==f&&s.match(/^,[h0]/))return[];if(0==f&&s.match(/^,[w1]/))return[]}if(f>-1&&!s.includes(",1")&&!s.includes(",0")&&(s=","+f+s),s.match(/,[mwd0](&[ol\d]+)?,w|,[hfs1](&[ol\d]+)?,h/))return[];let x=O(s).map((function(s){return s.replace(/,[01]/,"").substr(1)}));return $(x)}let v=p,k=function(f){"string"==typeof f&&(f=function(f){for(let x of s){let s=f.match(x.exp);if(s)return x.opt(s)}return{}}(f));let x=Object.assign({text:"",target:"",sex:-1,type:"default",reverse:!1,mode:"default",optimal:!1},f);v=function(s){if(p=Object.assign({},n),s&&a[s])for(let f in a[s])p[f]=[].concat(a[s][f],n[f]||[]);return p}(x.mode);let d=y(x.text),m=y(x.target);m.length||(m=[""]);let b=[];return d.forEach((function(s){m.forEach((function(f){(function(s){let{from:f,to:x,sex:d}=s;if(d<0){let s=-1,m=-1;if(f.match(/^,[w1]/)?m=1:f.match(/^,[h0]/)&&(m=0),x.match(/^,[w1]/)?s=1:x.match(/^,[h0]/)&&(s=0),-1==m&&s>-1)d=s;else if(m>-1&&-1==s)d=m;else{if(m!=s)return[];d=m}}let m=N(s.from,d),b=N(s.to,d);if(!m.length||!b.length)return[];let h=[];return m.forEach((function(f){b.forEach((function(x){let m=d,b=","+x;if(b.match(/,([fhs1](&[ol\d]+)?|[olx]b)(&[ol\d]+)?$/)&&(m=1),b.match(/,([mwd0](&[ol\d]+)?|[olx]s)(&[ol\d]+)?$/)&&(m=0),f&&x){let m=s.optimal;if((f.match(/&\d+/)||x.match(/&\d+/))&&(m=!0),m){let m=S({from:f,to:x,sex:d,optimal:s.optimal});f=m.from,x=m.to,d=m.sex}}(x?i(x,d):[""]).forEach((function(s){let x=(s?","+s:"")+(f?","+f:"");h.push({selector:x,sex:m})}))}))})),h})({from:s,to:f,sex:x.sex,optimal:x.optimal}).forEach((function(s){(s?N(s.selector,s.sex):[]).forEach((function(f){let d=[f],m=s.sex;x.reverse&&(d=i(f,m),m=f.match(/([fhs1](&[ol\d]+)?|[olx]b)$/)?1:0),"chain"==x.type?d.forEach((function(f){let x=E(f,s.sex);x&&b.push(x)})):"pair"==x.type?(d=i(f,s.sex),d.forEach((function(s){let x=function(s,f){let x=[],d=[],m=[];s=s.replace(/&\d+/,""),f=f.replace(/&\d+/,"");let b=s.replace(/([ol])([bs])/,"x$2"),l=f.replace(/([ol])([bs])/,"x$2"),M=s.replace(/&[ol]/,""),w=f.replace(/&[ol]/,"");for(let o in h){let e=o.split("#");if(e.length>1){let t=N(e[0]),r=N(e[1]),G=t.map((function(s){return s.replace(/&[ol\d]+/,"").replace(/([ol])([bs])/,"x$2")})),c=r.map((function(s){return s.replace(/&[ol\d]+/,"").replace(/([ol])([bs])/,"x$2")}));(t.includes(s)&&r.includes(f)||t.includes(f)&&r.includes(s))&&x.push(h[o][0]),(G.includes(b)&&c.includes(l)||G.includes(l)&&c.includes(b))&&d.push(h[o][0]),(G.includes(M)&&c.includes(w)||G.includes(w)&&c.includes(M))&&m.push(h[o][0])}}return x.length||(x=d),x.length||(x=m),x}(f,s);b=b.concat(x)}))):d.forEach((function(s){let f=u(s);f.length||(f=u(m+","+s)),b=b.concat(f)}))}))}))}))})),[...new Set(b)]};return k.data=v,k.dataCount=Object.keys(v).length,k.setMode=function(s,f){a[s]=Object.assign(a[s]||{},f)},k})); diff --git a/dist/relationship.zh-HK.min.js b/dist/relationship.zh-HK.min.js index 6a1cd47..a29a91a 100644 --- a/dist/relationship.zh-HK.min.js +++ b/dist/relationship.zh-HK.min.js @@ -8,6 +8,6 @@ * Released under the MIT License * https://github.com/mumuy/relationship * - * Created on: 2023-02-28 + * Created on: 2023-03-07 */ -!function(s,f){"object"==typeof exports&&"object"==typeof module?module.exports=f():"function"==typeof define&&define.amd?define([],f):"object"==typeof exports?exports.relationship=f():s.relationship=f()}(this,(()=>(()=>{"use strict";var s={d:(f,x)=>{for(var d in x)s.o(x,d)&&!s.o(f,d)&&Object.defineProperty(f,d,{enumerable:!0,get:x[d]})},o:(s,f)=>Object.prototype.hasOwnProperty.call(s,f)},f={};s.d(f,{default:()=>q});const x=[{exp:/^(\S+?)(應該|得)?(稱呼|叫|喊)(\S+?)(什麼|啥)??$/,opt:s=>({text:s[4],target:s[1]})},{exp:/^(\S+?)(應該|得)?(如何|怎麼)(稱呼|叫|喊)(\S+?)??$/,opt:s=>({text:s[5],target:s[1]})},{exp:/^(\S+?)是(\S+?)的(誰|什麼|什麼親戚|啥親戚|什麼人)??$/,opt:s=>({text:s[1],target:s[2],type:s[1].indexOf("的")>-1?"default":"chain"})},{exp:/^(\S+?)(應該|得)?管(\S+?)叫(什麼|啥)??$/,opt:s=>({text:s[3],target:s[1]})},{exp:/^(\S+?)(和|與)(\S+?)(之間)?是(什麼|啥)關系??$/,opt:s=>({text:s[1],target:s[3],type:"pair"})},{exp:/^(\S+?)對於(\S+?)是(什麼|啥)關系??$/,opt:s=>({text:s[1],target:s[2],type:"chain"})},{exp:/^(\S+?)(指的)?是(什麼|啥)(意思|關系|親戚關系|輩分|人)??$/,opt:s=>({text:s[1],type:"chain"})},{exp:/^(\S+?)(應該|得)?(稱呼|叫|喊)(什麼|啥)??$/,opt:s=>({text:s[1]})},{exp:/^(\S+?)(應該|得)?(如何|怎麼)(稱呼|叫|喊)??$/,opt:s=>({text:s[1]})},{exp:/^(\S+?)是(誰|什麼|什麼親戚|啥親戚|什麼人|什麼輩分|啥輩分)??$/,opt:s=>({text:s[1],type:s[1].indexOf("的")>-1?"default":"chain"})}];const d=[{exp:/^(.+)&o([^#]+)&l/g,str:"$1$2"},{exp:/^(.+)&l([^#]+)&o/g,str:"$1$2"},{exp:/^(.+)?,o([sb](&\d+)?)([^#]+)&l/g,str:"$1,x$2$4"},{exp:/^(.+)?,l([sb](&\d+)?)([^#]+)&o/g,str:"$1,x$2$4"},{exp:/(,o[sb](&\d+)?)+(,o[sb])(&\d+)?/,str:"$3$4"},{exp:/(,l[sb](&\d+)?)+(,l[sb])(&\d+)?/,str:"$3$4"},{exp:/^(.*,[fh1])(,[olx][sb](&\d+)?)+,[olx]b(.*)$/,str:"$1,xb$4#$1$4"},{exp:/^(.*,[mw0])(,[olx][sb](&\d+)?)+,[olx]s(.*)$/,str:"$1,xs$4#$1$4"},{exp:/(,[fh1])(,[olx][sb](&\d+)?)+,[olx]s/g,str:"$1,xs"},{exp:/(,[mw0])(,[olx][sb](&\d+)?)+,[olx]b/g,str:"$1,xb"},{exp:/^,[olx][sb](&\d+)?,[olx]b(.+)?$/,str:",xb$2#$2"},{exp:/^,[olx][sb](&\d+)?,[olx]s(.+)?$/,str:",xs$2#$2"},{exp:/^,x([sb])$/,str:",o$1#,l$1"},{exp:/m,h/g,str:"f"},{exp:/f,w/g,str:"m"},{exp:/,[xol][sb](&\d+)?(,[mf])/g,str:"$2"},{exp:/,[mf],d(&\d+)/,str:",xs$1"},{exp:/,[mf],d&([ol])/,str:",$1s"},{exp:/,[mf],s(&\d+)/,str:",xb$1"},{exp:/,[mf],s&([ol])/,str:",$1b"},{exp:/^(.*,[fh1]|[xol]b(&\d+)?),[mf],s(.*)$/,str:"$1,xb$3#$1$3"},{exp:/^(.*,[mw0]|[xol]s(&\d+)?),[mf],d(.*)$/,str:"$1,xs$3#$1$3"},{exp:/(,[mw0]|[xol]s(&\d+)?),[mf],s/,str:"$1,xb"},{exp:/(,[fh1]|[xol]b(&\d+)?),[mf],d/,str:"$1,xs"},{exp:/^,[mf],s(.+)?$/,str:",xb$1#,1$1"},{exp:/^,[mf],d(.+)?$/,str:",xs$1#,0$1"},{exp:/,[ds](&[ol\d]+)?,[olx]b(&\d+)/g,str:",s$2"},{exp:/,[ds](&[ol\d]+)?,[olx]s(&\d+)/g,str:",d$2"},{exp:/,[ds]&o,ob/g,str:",s&o"},{exp:/,[ds]&o,os/g,str:",d&o"},{exp:/,[ds]&l,lb/g,str:",s&l"},{exp:/,[ds]&l,ls/g,str:",d&l"},{exp:/,[ds](&[ol\d]+)?,[olx]s(&\d+)?/g,str:",d$2"},{exp:/,[ds](&[ol\d]+)?,[olx]b(&\d+)?/g,str:",s$2"},{exp:/(,[mwd0]|,[olx]s)(&[ol\d]+)?,[ds](&[ol\d]+)?,m/g,str:"$1"},{exp:/(,[mwd0]|,[olx]s)(&[ol\d]+)?,[ds](&[ol\d]+)?,f/g,str:"$1,h"},{exp:/(,[fhs1]|,[olx]b)(&[ol\d]+)?,[ds](&[ol\d]+)?,f/g,str:"$1"},{exp:/(,[fhs1]|,[olx]b)(&[ol\d]+)?,[ds](&[ol\d]+)?,m/g,str:"$1,w"},{exp:/^,[ds],m(.+)?$/,str:",w$1#$1"},{exp:/^,[ds],f(.+)?$/,str:",h$1#$1"},{exp:/,[wh](,[ds])/g,str:"$1"},{exp:/,w,h|,h,w/g,str:""},{exp:/(.+)?\[([^\|]+?)\|([^\[\]]*\|[^\[\]]*)\](.+)?/g,str:"$1$2$4#$1[$3]$4"},{exp:/(.+)?\[([^\[\]\|]+?)\|([^\[\]\|]+?)?\](.+)?/g,str:"$1$2$4#$1$3$4"}],m=[{exp:/^從表/,arr:["從父姑表","從父舅表","從父姨表","從母姑表","從母舅表","從母叔表"]},{exp:/^表表/,arr:["姑表叔表","姑表姑表","姑表舅表","姑表姨表","舅表叔表","舅表姑表","舅表舅表","舅表姨表"]},{exp:/^([夫妻內外]?)表/,arr:["$1姑表","$1舅表"]},{exp:/^([姑舅])表(?=[^伯叔])/,arr:["$1表伯","$1表叔"]},{exp:/^姻/,arr:["姑姻","姨姻","姊妹姻","女姻"]},{exp:/^眷/,arr:["叔眷","舅眷","兄弟眷","男眷"]},{exp:/^親家/,arr:["姊妹姻","兄弟眷"]},{exp:/^([堂表姨]?)([曾高天烈太遠鼻]?)(祖?)([伯叔姑舅姨])/,arr:["$1$4$2$3"]},{exp:/^([曾高天烈太遠鼻]?)祖?王姑/,arr:["姑$1祖母"]},{exp:/^([曾玄元來晜仍雲耳])([侄甥])/,arr:["$2$1"]},{exp:/^外表([伯叔姑舅姨])/,arr:["姑表$1外","舅表$1外"]},{exp:/([堂表姨]?)外甥/,arr:["$1甥"]},{exp:/^([舅叔])([曾玄外]*)孫/,arr:["$1侄$2孫"]},{exp:/^([姨姑])([曾玄外]*)孫/,arr:["$1甥$2孫"]},{exp:/([孫甥侄])$/,arr:["$1男","$1女"]},{exp:/([姑舅姨叔])([孫外]*)([男女])$/,arr:["$1表侄$2$3","$1表甥$2$3"]},{exp:/(.+)父母$/,arr:["$1父","$1母"]},{exp:/(.+)公婆$/,arr:["$1公","$1婆"]},{exp:/祖$/,arr:["祖父"]},{exp:/(新婦|媳)$/,arr:["媳婦"]},{exp:/嫂$/,arr:["兄婦"]},{exp:/女兒$/,arr:["女"]}],b={晜:"兄",哥:"兄",姐:"姊",侄:"姪",婿:"壻",祖父:"王父",祖母:"王母",孫女婿:"孫婿",甥女婿:"甥婿",侄女婿:"侄婿",孫媳婦:"孫婦",甥媳婦:"甥婦",侄媳婦:"侄婦"},h=["","一","二","三","四","五","六","七","八","九","十"];function l(s){let f=0;const x={大:1,小:99};if(x[s])f=x[s];else{let[x,d=0]=s.replace(/^十/,"一十").split("十").map((s=>h.indexOf(s))).reverse();f=10*d+x}return f}const o={"f#s":["父子"],"m#s":["母子"],"f#d":["父女"],"m#d":["母女"],"h#w":["夫妻"],"ob#lb":["兄弟"],"ob#ls":["兄妹"],"os#ls":["姐妹"],"os#lb":["姐弟"],"w,f#d,h":["翁婿"],"w,m#d,h":["母婿"],"h,f#s,w":["翁媳"],"h,m#s,w":["婆媳"],"f,[f|m]#s,[s|d]":["祖孫"],"m,f#d,[s|d]":["公孫"],"m,m#d,[s|d]":["婆孫"],"f,[ob|ob,w]#[lb|h,lb],[s|d]":["伯侄"],"f,lb#ob,[s|d]":["叔侄"],"f,lb,w#h,ob,[s|d]":["嬸侄"],"f,[xs|xs,h]#[xb|w,xb],[s|d]":["姑侄"],"m,[xb|xb,w]#[xs|h,xs],[s|d]":["舅甥"],"m,[xs|xs,h]#[xs|w,xs],[s|d]":["姨甥"],"f,xb,s&o#f,xb,s&l":["堂兄弟"],"f,xb,s&o#f,xb,d&l":["堂兄妹"],"f,xb,d&o#f,xb,s&l":["堂姐弟"],"f,xb,d&o#f,xb,d&l":["堂姐妹"],"f,xs,s&o#m,xb,s&l":["表兄弟"],"m,xb,s&o#f,xs,s&l":["表兄弟"],"f,xs,s&o#m,xb,d&l":["表兄妹"],"m,xb,s&o#f,xs,d&l":["表兄妹"],"f,xs,d&o#m,xb,d&l":["表姐妹"],"m,xb,d&o#f,xs,d&l":["表姐妹"],"f,xs,d&o#m,xb,s&l":["表姐弟"],"m,xb,d&o#f,xs,s&l":["表姐弟"],"m,xs,s&o#m,xs,s&l":["姨兄弟"],"m,xs,s&o#m,xs,d&l":["姨兄妹"],"m,xs,d&o#m,xs,s&l":["姨姐弟"],"m,xs,d&o#m,xs,d&l":["姨姐妹"],"h,ob,w#h,lb,w":["妯娌"],"w,os,h#w,ls,h":["連襟"],"w,os#ls,h":["襟姐弟"],"w,ls#os,h":["襟兄妹"],"xs,h#w,xb":["郎舅"],"xs,h#w,xs":["郎姨"],"lb,w#h,ob":["伯媳"],"ob,w#h,lb":["叔嫂"],"xb,w#h,xs":["姑嫂"],"d,h,[f|m]#s,w,[f|m]":["兒女親家"]},M={"{G2}":{"f,f,xb":["從祖"],"m,f,xb":["外從祖"]},"{G1}":{"f,xb":["堂","同堂","親堂","從父","叔伯","從"],"f,xs":["姑表","姑家"],"m,xb":["舅表","舅家"],"m,xs":["姨","從母","兩姨","姨表","從"],"f,f,xb,s":["從堂","再從父","遠堂","堂叔伯","叔伯叔伯","再從"],"f,f,xb,d":["堂姑表","從父姑表"],"f,f,xs,s":["姑表叔表"],"f,f,xs,d":["姑表姑表"],"f,m,xb,s":["舅表叔表"],"f,m,xb,d":["舅表姑表"],"f,m,xs,s":["從母叔表"],"f,m,xs,d":["從母姑表"],"m,f,xb,s":["堂舅表","從父舅表"],"m,f,xb,d":["堂姨表","從父姨表"],"m,f,xs,s":["姑表舅表"],"m,f,xs,d":["姑表姨表"],"m,m,xb,s":["舅表舅表"],"m,m,xb,d":["舅表姨表"],"m,m,xs,s":["從母舅表"],"m,m,xs,d":["再從母","姨姨","再從"],"f,f,f,xb,s,s":["三從父","再從堂","遠堂","族","三從"],"m,m,m,xs,d,d":["三從母","三從"],"f,f,f,f,xb,s,s,s":["四從父","三從堂","遠堂","族","四從"],"m,m,m,m,xs,d,d,d":["四從母","四從"],"[f|m],[f|m],[f|m],[f,xs|m,xb],[s|d],[s|d],[s|d]":["重表"],"[f|m],[f|m],[f,xs|m,xb],[s|d],[s|d]":["重表"]},"{G1M}":{"f,ob":["伯"],"f,lb":["叔","仲","季"],"m,xb":["舅"],"f,f,xb,s":["堂","從父","叔伯","從"],"f,f,xb,s&o":["堂伯","從父伯","叔伯伯","從伯"],"f,f,xb,s&l":["堂叔","從父叔","叔伯叔","從叔"],"f,f,f,xb,s,s":["從堂"],"f,f,f,xb,s,s&o":["從堂伯"],"f,f,f,xb,s,s&l":["從堂叔"],"f,f,f,f,xb,s,s,s":["族"],"f,f,xs,s&o":["姑表伯"],"f,f,xs,s&l":["姑表叔"],"f,m,xb,s&o":["舅表伯"],"f,m,xb,s&l":["舅表叔"],"f,m,xs,s&o":["姨伯","從母伯","從伯"],"f,m,xs,s&l":["姨叔","從母叔","從叔"],"m,f,xb,s":["堂舅","從父舅"],"m,f,xs,s":["姑表舅"],"m,m,xb,s":["舅表舅"],"m,m,xs,s":["姨舅","從母舅"],"f,[f|m],[f|m],[f,xs|m,xb],[s|d],[s|d],s&o":["重表伯"],"f,[f|m],[f|m],[f,xs|m,xb],[s|d],[s|d],s&l":["重表叔"],"f,[f|m],[f,xs|m,xb],[s|d],s&o":["重表伯"],"f,[f|m],[f,xs|m,xb],[s|d],s&l":["重表叔"],"m,[f|m],[f|m],[f,xs|m,xb],[s|d],[s|d],s":["重表舅"],"m,[f|m],[f,xs|m,xb],[s|d],s":["重表舅"]},"{G1W}":{"f,xs":["姑"],"m,xs":["姨","姏","茙","荻"],"f,f,xb,d":["堂姑","從父姑"],"f,f,f,xb,s,d":["從堂姑"],"f,f,xs,d":["姑表姑"],"f,m,xb,d":["舅表姑"],"f,m,xs,d":["姨姑","從母姑"],"m,f,xb,d":["堂姨","從父姨"],"m,f,xs,d":["姑表姨"],"m,m,xb,d":["舅表姨"],"m,m,xs,d":["姨姨","從母姨"],"f,[f|m],[f|m],[f,xs|m,xb],[s|d],[s|d],d":["重表姑"],"f,[f|m],[f,xs|m,xb],[s|d],d":["重表姑"],"m,[f|m],[f|m],[f,xs|m,xb],[s|d],[s|d],d":["重表姨"],"m,[f|m],[f,xs|m,xb],[s|d],d":["重表姨"]},"{G0}":{xb:["侄"],"1,xb":["從"],"1,f,xb,s":["再從"],"1,f,f,xb,s,s":["三從"],"h,xb":["叔侄","叔伯"],"w,xb":["舅侄"],xs:["甥","外甥"],"0,xs":["從"],"0,m,xs,d":["再從"],"0,m,m,xs,d,d":["三從"],"h,xs":["姑甥"],"w,xs":["姨甥","襟侄"]},"{M2W}":{"f,f,xb,w":["叔祖眷"],"m,f,xb,w":["叔外祖眷"],"f,m,xb,w":["舅祖眷"],"m,m,xb,w":["舅外祖眷"]},"{M2M}":{"f,f,xs,h":["姑祖姻"],"m,f,xs,h":["姑外祖姻"],"f,m,xs,h":["姨祖姻"],"m,m,xs,h":["姨外祖姻"]},"{M1W}":{"f,xb,w":["叔眷"],"f,f,xb,s,w":["從父叔眷"],"f,f,xs,s,w":["姑表叔眷"],"f,m,xb,s,w":["舅表叔眷"],"f,m,xs,s,w":["姨表叔眷"],"m,xb,w":["舅眷"],"m,f,xb,s,w":["從父舅眷"],"m,f,xs,s,w":["姑表舅眷"],"m,m,xb,s,w":["舅表舅眷"],"m,m,xs,s,w":["姨表舅眷"]},"{M1M}":{"f,xs,h":["姑姻"],"f,f,xb,d,h":["從父姑姻"],"f,f,xs,d,h":["姑表姑姻"],"f,m,xb,d,h":["舅表姑姻"],"f,m,xs,d,h":["姨表姑姻"],"m,xs,h":["姨姻"],"m,f,xb,d,h":["從父姨姻"],"m,f,xs,d,h":["姑表姨姻"],"m,m,xb,d,h":["舅表姨姻"],"m,m,xs,d,h":["姨表姨姻"]},"{M0}":{"xb,w":["兄弟眷"],"xs,h":["姊妹姻"],"w,xb,w":["舅兄弟眷","內兄弟眷"],"w,xs,h":["姨姊妹姻","內姊妹姻"],"h,xb,w":["叔兄弟眷","外兄弟眷"],"h,xs,h":["姑姊妹姻","外姊妹姻"],"f,xb,s,w":["從父兄弟眷"],"f,xb,d,h":["從父姊妹姻"],"f,xs,s,w":["姑表兄弟眷"],"f,xs,d,h":["姑表姊妹姻"],"m,xb,s,w":["舅表兄弟眷"],"m,xb,d,h":["舅表姊妹姻"],"m,xs,s,w":["從母兄弟眷"],"m,xs,d,h":["從母姊妹姻"]},"{M-1}":{"s,w":["男眷","息眷"],"d,h":["女姻","息姻"],"xb,s,w":["侄眷"],"xb,d,h":["侄姻"],"xs,s,w":["甥眷"],"xs,d,h":["甥姻"],"h,xb,s,w":["叔侄眷"],"h,xb,d,h":["叔侄姻"],"h,xs,s,w":["姑甥眷"],"h,xs,d,h":["姑甥姻"],"w,xb,s,w":["舅侄眷"],"w,xb,d,h":["舅侄姻"],"w,xs,s,w":["姨甥眷"],"w,xs,d,h":["姨甥姻"],"f,xb,s,s,w":["堂侄眷"],"f,xb,s,d,h":["堂侄姻"],"f,xb,d,s,w":["堂甥眷"],"f,xb,d,d,h":["堂甥姻"],"f,xs,s,s,w":["姑表侄眷"],"f,xs,s,d,h":["姑表侄姻"],"f,xs,d,s,w":["姑表甥眷"],"f,xs,d,d,h":["姑表甥姻"],"m,xb,s,s,w":["舅表侄眷"],"m,xb,s,d,h":["舅表侄姻"],"m,xb,d,s,w":["舅表甥眷"],"m,xb,d,d,h":["舅表甥姻"],"m,xs,s,s,w":["姨侄眷"],"m,xs,s,d,h":["姨侄姻"],"m,xs,d,s,w":["姨甥眷"],"m,xs,d,d,h":["姨甥姻"]},"{M-2}":{"s,s,w":["孫眷"],"s,d,h":["孫姻"],"d,s,w":["外孫眷"],"d,d,h":["外孫姻"],"xb,s,s,w":["侄孫眷"],"xb,s,d,h":["侄孫姻"],"xb,d,s,w":["侄外孫眷"],"xb,d,d,h":["侄外孫姻"],"xs,s,s,w":["甥孫眷"],"xs,s,d,h":["甥孫姻"],"xs,d,s,w":["甥外孫眷"],"xs,d,d,h":["甥外孫姻"],"h,xb,s,s,w":["叔侄孫眷","叔伯孫眷","叔孫眷"],"h,xb,s,d,h":["叔侄孫姻","叔伯孫姻","叔孫姻"],"h,xb,d,s,w":["叔侄外孫眷","叔伯外孫眷","叔外孫眷"],"h,xb,d,d,h":["叔侄外孫姻","叔伯外孫姻","叔外孫姻"],"h,xs,s,s,w":["姑甥孫眷","姑孫眷"],"h,xs,s,d,h":["姑甥孫姻","姑孫姻"],"h,xs,d,s,w":["姑甥外孫眷","姑外孫眷"],"h,xs,d,d,h":["姑甥外孫姻","姑外孫姻"],"w,xb,s,s,w":["舅侄孫眷","舅孫眷"],"w,xb,s,d,h":["舅侄孫姻","舅孫姻"],"w,xb,d,s,w":["舅侄外孫眷","舅外孫眷"],"w,xb,d,d,h":["舅侄外孫姻","舅外孫姻"],"w,xs,s,s,w":["姨甥孫眷","姨孫眷"],"w,xs,s,d,h":["姨甥孫姻","姨孫姻"],"w,xs,d,s,w":["姨甥外孫眷","姨外孫眷"],"w,xs,d,d,h":["姨甥外孫姻","姨外孫姻"]}},w={"{G2}":["祖父"],"{G2},w":["祖母"],"{G2},s":["父"],"{G2},s,w":["母"],"{G2},s,s":["兄弟"],"{G2},s,s&o":["兄"],"{G2},s,s&l":["弟"],"{G2},s,d":["姊妹"],"{G2},s,d&o":["姊"],"{G2},s,d&l":["妹"],"{G2},s,s,s":["男","子"],"{G2},s,s,d":["女"],"f,f,f,f,f,f,f,f,{G1M}":["鼻祖父"],"f,f,f,f,f,f,f,f,{G1M},w":["鼻祖母"],"f,f,f,f,f,f,f,f,{G1W}":["鼻祖母"],"f,f,f,f,f,f,f,f,{G1W},h":["鼻祖父"],"f,f,f,f,f,f,f,{G1M}":["遠祖父"],"f,f,f,f,f,f,f,{G1M},w":["遠祖母"],"f,f,f,f,f,f,f,{G1W}":["遠祖母"],"f,f,f,f,f,f,f,{G1W},h":["遠祖父"],"f,f,f,f,f,f,{G1M}":["太祖父"],"f,f,f,f,f,f,{G1M},w":["太祖母"],"f,f,f,f,f,f,{G1W}":["姑太祖母"],"f,f,f,f,f,f,{G1W},h":["姑太祖父"],"f,f,f,f,f,{G1M}":["烈祖父"],"f,f,f,f,f,{G1M},w":["烈祖母"],"f,f,f,f,f,{G1W}":["烈祖母"],"f,f,f,f,f,{G1W},h":["烈祖父"],"f,f,f,f,{G1M}":["天祖父"],"f,f,f,f,{G1M},w":["天祖母"],"f,f,f,f,{G1W}":["天祖母"],"f,f,f,f,{G1W},h":["天祖父"],"f,f,f,{G1M}":["高祖父","外曾外曾外毑父"],"f,f,f,{G1M},w":["高祖母","外曾外曾外毑母"],"f,f,f,{G1W}":["高祖母","外曾外曾外毑母"],"f,f,f,{G1W},h":["高祖父","外曾外曾外毑父"],"f,f,m,{G1M}":["高外祖父","外曾外曾毑父"],"f,f,m,{G1M},w":["高外祖母","外曾外曾毑母"],"f,f,m,{G1W}":["高外祖母","外曾外曾毑母"],"f,f,m,{G1W},h":["高外祖父","外曾外曾毑父"],"f,m,f,{G1M}":["曾外曾祖父","外高外毑父"],"f,m,f,{G1M},w":["曾外曾祖母","外高外毑母"],"f,m,f,{G1W}":["曾外曾祖母","外高外毑母"],"f,m,f,{G1W},h":["曾外曾祖父","外高外毑父"],"f,m,m,{G1M}":["曾外曾外祖父","外高毑父"],"f,m,m,{G1M},w":["曾外曾外祖母","外高毑母"],"f,m,m,{G1W}":["曾外曾外祖母","外高毑母"],"f,m,m,{G1W},h":["曾外曾外祖父","外高毑父"],"m,f,f,{G1M}":["外高祖父","曾外曾外毑父"],"m,f,f,{G1M},w":["外高祖母","曾外曾外毑母"],"m,f,f,{G1W}":["外高祖母","曾外曾外毑母"],"m,f,f,{G1W},h":["外高祖父","曾外曾外毑父"],"m,f,m,{G1M}":["外高外祖父","曾外曾祖毑父"],"m,f,m,{G1M},w":["外高外祖母","曾外曾祖毑母"],"m,f,m,{G1W}":["外高外祖母","曾外曾祖毑母"],"m,f,m,{G1W},h":["外高外祖父","曾外曾祖毑父"],"m,m,f,{G1M}":["外曾外曾祖父","高外毑父"],"m,m,f,{G1M},w":["外曾外曾祖母","高外毑母"],"m,m,f,{G1W}":["外曾外曾祖母","高外毑母"],"m,m,f,{G1W},h":["外曾外曾祖父","高外毑父"],"m,m,m,{G1M}":["外曾外曾外祖父","高毑父"],"m,m,m,{G1M},w":["外曾外曾外祖母","高毑母"],"m,m,m,{G1W}":["外曾外曾外祖母","高毑母"],"m,m,m,{G1W},h":["外曾外曾外祖父","高毑父"],"f,f,{G1M}":["?曾祖父","曾?祖父","?太公","太?公","?公太","太?爺","?太爺","?太爺爺","太?爺爺"],"f,f,{G1M},w":["?曾祖母","曾?祖母","?太婆","太?婆","?婆太","太?奶","?太奶","?太奶奶","太?奶奶"],"f,f,{G1W}":["?曾祖母","曾?祖母","?太婆","太?婆","?婆太","太?奶","?太奶","?太奶奶","太?奶奶"],"f,f,{G1W},h":["?曾祖父","曾?祖父","?太公","太?公","?公太","太?爺","?太爺","?太爺爺","太?爺爺"],"f,m,{G1M}":["?曾外祖父","曾外?祖父","?太外公","太外?公","太外?爺","?太外爺","?太外爺爺","太外?爺爺"],"f,m,{G1M},w":["?曾外祖母","曾外?祖母","?太外婆","太外?婆","太外?奶","?太外奶","?太外奶奶","太外?奶奶"],"f,m,{G1W}":["?曾外祖母","曾外?祖母","?太外婆","太外?婆","太外?奶","?太外奶","?太外奶奶","太外?奶奶"],"f,m,{G1W},h":["?曾外祖父","曾外?祖父","?太外公","太外?公","太外?爺","?太外爺","?太外爺爺","太外?爺爺"],"m,f,{G1M}":["?外曾祖父","外曾?祖父","?外太公","外太?公","外太?爺","?外太爺","?外太爺爺","外太?爺爺"],"m,f,{G1M},w":["?外曾祖母","外曾?祖母","?外太婆","外太?婆","外太?奶","?外太奶","?外太奶奶","外太?奶奶"],"m,f,{G1W}":["?外曾祖母","外曾?祖母","?外太婆","外太?婆","外太?奶","?外太奶","?外太奶奶","外太?奶奶"],"m,f,{G1W},h":["?外曾祖父","外曾?祖父","?外太公","外太?公","外太?爺","?外太爺","?外太爺爺","外太?爺爺"],"m,m,{G1M}":["?外曾外祖父","外曾外?祖父","?外太外公","外太外?公","外太外?爺","?外太外爺","?外太外爺爺","外太外?爺爺"],"m,m,{G1M},w":["?外曾外祖母","外曾外?祖母","?外太外婆","外太外?婆","外太外?奶","?外太外奶","?外太外奶奶","外太外?奶奶"],"m,m,{G1W}":["?外曾外祖母","外曾外?祖母","?外太外婆","外太外?婆","外太外?奶","?外太外奶","?外太外奶奶","外太外?奶奶"],"m,m,{G1W},h":["?外曾外祖父","外曾外?祖父","?外太外公","外太外?公","外太外?爺","?外太外爺","?外太外爺爺","外太?外爺爺"],"f,{G1M}":["祖父","公","太?父","奶爺","爺爺","爺"],"f,{G1M},w":["祖母","婆","太?母","奶奶","奶"],"f,{G1W}":["祖母","婆","太?母","奶奶","奶"],"f,{G1W},h":["祖父","公","太?父","奶爺","爺爺","爺"],"m,{G1M}":["外祖父","外公","外爺","外?公","外?祖父","外太?父","太外?父","姥爺","姥公","毑公","毑爺","毑父","嘎公"],"m,{G1M},w":["外祖母","外婆","外奶","外?婆","外?祖母","外太?母","太外?母","姥姥","姥娘","姥婆","毑婆","毑毑","毑母","嘎嘎","嫏嫏","嫏娘","姥"],"m,{G1W}":["外祖母","外婆","外奶","外?婆","外?祖母","外太?母","太外?母","姥姥","姥娘","姥婆","毑婆","毑毑","毑母","嘎嘎","嫏嫏","嫏娘","姥"],"m,{G1W},h":["外祖父","外公","外爺","外?公","外?祖父","外太?父","太外?父","姥爺","姥公","毑公","毑爺","毑父","嘎公"],"f,f,{G1},s&o":["伯祖父","伯爺爺"],"f,f,{G1},s&o,w":["伯祖母","伯奶奶"],"f,f,{G1},s&l":["叔祖父","叔爺爺"],"f,f,{G1},s&l,w":["叔祖母","叔奶奶"],"f,f,{G1},d":["姑祖母","姑奶奶"],"f,f,{G1},d,h":["姑祖父","姑爺爺"],"f,m,{G1},s":["舅祖父","舅爺爺"],"f,m,{G1},s,w":["舅祖母","舅奶奶"],"f,m,{G1},d":["姨祖母","姨奶奶"],"f,m,{G1},d,h":["姨祖父","姨爺爺"],"m,f,{G1},s&o":["伯外祖父","伯外公","伯姥爺"],"m,f,{G1},s&o,w":["伯外祖母","伯外婆","伯姥姥"],"m,f,{G1},s&l":["叔外祖父","叔外公","叔姥爺"],"m,f,{G1},s&l,w":["叔外祖母","叔外婆","叔姥姥"],"m,f,{G1},d":["姑外祖母","姑外婆","姑姥姥"],"m,f,{G1},d,h":["姑外祖父","姑外公","姑姥爺"],"m,m,{G1},s":["舅外祖父","舅外公","舅姥爺"],"m,m,{G1},s,w":["舅外祖母","舅外婆","舅姥姥"],"m,m,{G1},d":["姨外祖母","姨外公","姨姥爺"],"m,m,{G1},d,h":["姨外祖父","姨外婆","姨姥姥"],"{G1M}":["父"],"{G1M},w":["母"],"{G1W}":["母"],"{G1W},h":["父"],"f,{G1},s&o":["伯父","伯伯","伯","大爺"],"f,{G1},s&o,w":["伯母","大娘"],"f,{G1},s&l":["叔父","叔爸","叔叔","叔"],"f,{G1},s&l,w":["叔母","嬸"],"f,{G1},d":["姑母","姑姑","姑媽","姑"],"f,{G1},d,h":["姑父"],"m,{G1},s":["舅父","舅舅","舅爸","舅"],"m,{G1},s,w":["舅母","舅媽"],"m,{G1},d":["姨母","姨姨","姨媽","姨"],"m,{G1},d,h":["姨父","姨爸","姨丈"],"{G1},s":["兄弟"],"{G1},s,w":["兄弟婦"],"{G1},s&o":["哥","兄"],"{G1},s&o,w":["嫂","嫂子","兄婦"],"{G1},s&l":["弟"],"{G1},s&l,w":["弟媳","弟婦"],"{G1},s,s":["侄男","侄子","侄兒"],"{G1},s,s,w":["侄婦"],"{G1},s,s,s":["侄孫男"],"{G1},s,s,s,w":["侄孫婦"],"{G1},s,s,s,s":["侄曾孫男"],"{G1},s,s,s,s,w":["侄曾孫婦"],"{G1},s,s,s,s,s":["侄玄孫男"],"{G1},s,s,s,s,s,w":["侄玄孫婦"],"{G1},s,s,s,s,d":["侄玄孫女"],"{G1},s,s,s,s,d,h":["侄玄孫婿"],"{G1},s,s,d":["侄孫女"],"{G1},s,s,d,h":["侄孫婿"],"{G1},s,s,s,d":["侄曾孫女"],"{G1},s,s,s,d,h":["侄曾孫婿"],"{G1},s,d":["侄女","侄女兒"],"{G1},s,d,h":["侄婿"],"{G1},s,d,s":["侄外孫男","外孫男"],"{G1},s,d,s,w":["侄外孫婦"],"{G1},s,d,d":["侄外孫女","外孫女"],"{G1},s,d,d,h":["侄外孫婿"],"{G1},d":["姐妹"],"{G1},d,h":["姐妹壻"],"{G1},d&o":["姐"],"{G1},d&o,h":["姐夫"],"{G1},d&l":["妹"],"{G1},d&l,h":["妹夫"],"{G1},d,s":["甥男"],"{G1},d,s,w":["甥婦"],"{G1},d,s,s":["甥孫男"],"{G1},d,s,s,w":["甥孫婦"],"{G1},d,s,d":["甥孫女"],"{G1},d,s,d,h":["甥孫婿"],"{G1},d,d":["甥女"],"{G1},d,d,h":["甥婿"],"{G1},d,d,s":["甥外孫男","外孫男"],"{G1},d,d,s,w":["甥外孫婦"],"{G1},d,d,d":["甥外孫女","外孫女"],"{G1},d,d,d,h":["甥外孫婿"],"h,f,{G1M}":["祖公父","祖公","祖翁","奶公"],"h,f,{G1M},w":["祖婆母","祖婆","祖姆","奶婆"],"h,f,{G1W}":["祖婆母","祖婆","祖姆","奶婆"],"h,f,{G1W},h":["祖公父","祖公","祖翁","奶公"],"h,m,{G1M}":["外祖公父","外祖公","外祖翁","姥公"],"h,m,{G1M},w":["外祖婆母","外祖婆","外祖姆","姥婆"],"h,m,{G1W}":["外祖婆母","外祖婆","外祖姆","姥婆"],"h,m,{G1W},h":["外祖公父","外祖公","外祖翁","姥公"],"h,{G1M}":["公父","公公"],"h,{G1M},w":["婆母","婆婆"],"h,{G1W}":["婆母","婆婆"],"h,{G1W},h":["公父","公公"],"h,{G1},s&o":["大伯子","大伯兄"],"h,{G1},s&o,w":["大嬸子","大伯嫂"],"h,{G1},s&l":["小叔子","小叔弟"],"h,{G1},s&l,w":["小嬸子","小叔弟婦"],"h,{G1},s":["伯叔"],"h,{G1},s,w":["妯娌"],"h,{G1},d&o":["大姑子","大姑姐"],"h,{G1},d&o,h":["大姑夫","大姑姐夫"],"h,{G1},d&l":["小姑子","小姑妹"],"h,{G1},d&l,h":["小姑夫","小姑妹夫"],"h,{G1},d":["姑子"],"h,{G1},d,h":["姑夫"],"w,f,{G1M}":["祖嶽父","太?嶽","祖丈人","爺丈人","奶爺丈人"],"w,f,{G1M},w":["祖嶽母","太?嶽母","祖丈母","祖丈母娘","奶丈母娘","奶丈母"],"w,f,{G1W}":["祖嶽母","太?嶽母","祖丈母","祖丈母娘","奶丈母娘","奶丈母"],"w,f,{G1W},h":["祖嶽父","太?嶽父","祖丈人","爺丈人","奶爺丈人"],"w,m,{G1M}":["外祖嶽父","外太?嶽父","太外?嶽父","外祖丈人","姥爺丈人"],"w,m,{G1M},w":["外祖嶽母","外太?嶽母","太外?嶽母","外祖丈母","外祖丈母娘","姥丈母娘","姥丈母"],"w,m,{G1W}":["外祖嶽母","外太?嶽母","太外?嶽母","外祖丈母","外祖丈母娘","姥丈母娘","姥丈母"],"w,m,{G1W},h":["外祖嶽父","外太?嶽父","太外?嶽父","外祖丈人","外爺丈人","姥爺丈人"],"w,{G1M}":["嶽父","丈人","丈人爹"],"w,{G1M},w":["嶽母","丈母","丈母娘"],"w,{G1W}":["嶽母","丈母","丈母娘"],"w,{G1W},h":["嶽父","丈人","丈人爹"],"w,{G1},s&o":["大舅子","大舅兄","舅兄"],"w,{G1},s&o,w":["大舅婦","大舅姆","大舅兄婦","舅兄婦","舅姐","大舅姐","大妗子","大妗兒"],"w,{G1},s&l":["小舅子","小舅弟","舅弟"],"w,{G1},s&l,w":["小舅婦","小舅姆","小舅弟婦","舅弟婦","舅妹","小舅妹","小妗子","小妗兒"],"w,{G1},s":["舅子"],"w,{G1},s,w":["舅嫂"],"w,{G1},d&o":["大姨子","大姨姐","姨姐"],"w,{G1},d&o,h":["大姨夫","大姨姐夫","襟兄","姨兄","大姨哥","大尹子"],"w,{G1},d&l":["小姨子","小姨妹","姨妹"],"w,{G1},d&l,h":["小姨夫","小姨妹夫","襟弟","姨弟","小姨弟","小尹子"],"w,{G1},d":["姨子"],"w,{G1},d,h":["連襟","連橋"],"{G0},s":["男","男兒","兒","子","兒子"],"{G0},s,w":["媳婦","媳","婦"],"{G0},s,s":["孫","孫男","孫子"],"{G0},s,s,w":["孫婦"],"{G0},s,s,s":["曾孫","曾孫男"],"{G0},s,s,s,w":["曾孫婦"],"{G0},s,s,s,s":["玄孫","玄孫男","元孫","元孫男"],"{G0},s,s,s,s,w":["玄孫婦"],"{G0},s,s,s,d":["玄孫女","元孫女"],"{G0},s,s,s,d,h":["玄孫婿"],"{G0},s,s,d":["曾孫女"],"{G0},s,s,d,h":["曾孫婿"],"{G0},s,s,d,s":["玄外孫","玄外孫男"],"{G0},s,s,d,s,w":["玄外孫婦"],"{G0},s,s,d,d":["玄外孫女"],"{G0},s,s,d,d,h":["玄外孫婿"],"{G0},s,d":["孫女"],"{G0},s,d,h":["孫婿"],"{G0},s,d,s":["曾外孫","曾外孫男"],"{G0},s,d,s,w":["曾外孫婦"],"{G0},s,d,s,s":["曾外曾孫","曾外曾孫男"],"{G0},s,d,s,s,w":["曾外曾孫婦"],"{G0},s,d,s,d":["曾外曾孫女"],"{G0},s,d,s,d,h":["曾外曾孫婿"],"{G0},s,d,d":["曾外孫女"],"{G0},s,d,d,h":["曾外孫婿"],"{G0},s,d,d,s":["曾外曾外孫","曾外曾外孫男"],"{G0},s,d,d,s,w":["曾外曾外孫婦"],"{G0},s,d,d,d":["曾外曾外孫女"],"{G0},s,d,d,d,h":["曾外曾外孫婿"],"{G0},d":["女","女兒"],"{G0},d,h":["女婿","婿"],"{G0},d,s":["外孫","外孫男"],"{G0},d,s,w":["外孫婦"],"{G0},d,s,s":["外曾孫","外曾孫男"],"{G0},d,s,s,w":["外曾孫婦"],"{G0},d,s,s,s":["外玄孫","外玄孫男"],"{G0},d,s,s,d":["外玄孫女"],"{G0},d,s,d":["外曾孫女"],"{G0},d,s,d,h":["外曾孫婿"],"{G0},d,s,d,s":["外玄外孫","外玄外孫男"],"{G0},d,s,d,d":["外玄外孫女"],"{G0},d,d":["外孫女"],"{G0},d,d,h":["外孫婿"],"{G0},d,d,s":["外曾外孫","外曾外孫男"],"{G0},d,d,s,w":["外曾外孫婦"],"{G0},d,d,s,s":["外曾外曾孫","外曾外曾孫男"],"{G0},d,d,s,d":["外曾外曾孫女"],"{G0},d,d,d":["外曾外孫女"],"{G0},d,d,d,h":["外曾外孫婿"],"{G0},d,d,d,s":["外曾外曾外孫"],"{G0},d,d,d,d":["外曾外曾外孫女"],"{M2W},xb":["舅祖父"],"{M2W},xb,w":["舅祖母"],"{M2W},xb,s&o":["舅表伯父"],"{M2W},xb,s&o,w":["舅表伯母"],"{M2W},xb,s&l":["舅表叔父"],"{M2W},xb,s&l,w":["舅表叔母"],"{M2W},xb,d":["舅表姑母"],"{M2W},xb,d,h":["舅表姑父"],"{M2W},xs":["姨祖母"],"{M2W},xs,h":["姨祖父"],"{M2W},xs,s&o":["姨伯父"],"{M2W},xs,s&o,w":["姨伯母"],"{M2W},xs,s&l":["姨叔父"],"{M2W},xs,s&l,w":["姨叔母"],"{M2W},xs,d":["姨姑母"],"{M2W},xs,d,h":["姨姑父"],"{M2M},xb":["叔祖父"],"{M2M},xb,w":["叔祖母"],"{M2M},xb,s&o":["堂伯父"],"{M2M},xb,s&o,w":["堂伯母"],"{M2M},xb,s&l":["堂叔父"],"{M2M},xb,s&l,w":["堂叔母"],"{M2M},xb,d":["堂姑母"],"{M2M},xb,d,h":["堂姑父"],"{M2M},xs":["姑祖母"],"{M2M},xs,h":["姑祖父"],"{M2M},xs,s&o":["姑表伯父"],"{M2M},xs,s&o,w":["姑表伯母"],"{M2M},xs,s&l":["姑表叔父"],"{M2M},xs,s&l,w":["姑表叔母"],"{M2M},xs,d":["姑表姑母"],"{M2M},xs,d,h":["姑表姑父"],"{M1W},f":["外祖父"],"{M1W},f,xb,s":["堂舅父"],"{M1W},f,xb,s,w":["堂舅母"],"{M1W},f,xb,d":["堂姨母"],"{M1W},f,xb,d,h":["堂姨父"],"{M1W},f,ob":["伯外祖父"],"{M1W},f,ob,w":["伯外祖母"],"{M1W},f,lb":["叔外祖父"],"{M1W},f,lb,w":["叔外祖母"],"{M1W},f,xs":["姑外祖母"],"{M1W},f,xs,h":["姑外祖父"],"{M1W},f,xs,s":["姑表舅父"],"{M1W},f,xs,s,w":["姑表舅母"],"{M1W},f,xs,d":["姑表姨母"],"{M1W},f,xs,d,h":["姑表姨父"],"{M1W},m":["外祖母"],"{M1W},m,xb":["舅外祖父"],"{M1W},m,xb,w":["舅外祖母"],"{M1W},m,xb,s":["舅表舅父"],"{M1W},m,xb,s,w":["舅表舅母"],"{M1W},m,xb,d":["舅表姨母"],"{M1W},m,xb,d,h":["舅表姨父"],"{M1W},m,xs":["姨外祖母"],"{M1W},m,xs,h":["姨外祖父"],"{M1W},m,xs,s":["姨舅父"],"{M1W},m,xs,s,w":["姨舅母"],"{M1W},m,xs,d":["姨姨母"],"{M1W},m,xs,d,h":["姨姨父"],"{M1W},xb":["舅父"],"{M1W},xb,w":["舅母"],"{M1W},xb,[s|d]":["舅表兄弟姊妹"],"{M1W},xb,s":["舅表兄弟"],"{M1W},xb,s,w":["舅表兄弟婦"],"{M1W},xb,s&o":["舅表兄"],"{M1W},xb,s&o,w":["舅表兄婦"],"{M1W},xb,s&l":["舅表弟"],"{M1W},xb,s&l,w":["舅表弟婦"],"{M1W},xb,s,s":["舅表侄男","侄男"],"{M1W},xb,s,s,w":["舅表侄婦","侄婦"],"{M1W},xb,s,d":["舅表侄女","侄女"],"{M1W},xb,s,d,h":["舅表侄婿","侄婿"],"{M1W},xb,d":["舅表姊妹"],"{M1W},xb,d,h":["舅表姊妹壻"],"{M1W},xb,d&o":["舅表姊"],"{M1W},xb,d&o,h":["舅表姊壻"],"{M1W},xb,d&l":["舅表妹"],"{M1W},xb,d&l,h":["舅表妹壻"],"{M1W},xb,d,s":["舅表甥男","甥男"],"{M1W},xb,d,s,w":["舅表甥婦","甥婦"],"{M1W},xb,d,d":["舅表甥女","甥女"],"{M1W},xb,d,d,h":["舅表甥婿","甥婿"],"{M1W},xs":["姨母"],"{M1W},xs,h":["姨父"],"{M1W},xs,[s|d]":["姨表兄弟姊妹"],"{M1W},xs,s":["姨表兄弟"],"{M1W},xs,s,w":["姨表兄弟婦"],"{M1W},xs,s&o":["姨表兄"],"{M1W},xs,s&o,w":["姨表兄婦"],"{M1W},xs,s&l":["姨表弟"],"{M1W},xs,s&l,w":["姨表弟婦"],"{M1W},xs,s,s":["姨表侄男","侄男"],"{M1W},xs,s,s,w":["姨表侄婦","侄婦"],"{M1W},xs,s,d":["姨表侄女","侄女"],"{M1W},xs,s,d,h":["姨表侄婿","侄婿"],"{M1W},xs,d":["姨表姊妹"],"{M1W},xs,d,h":["姨表姊妹壻"],"{M1W},xs,d&o":["姨表姊"],"{M1W},xs,d&o,h":["姨表姊壻"],"{M1W},xs,d&l":["姨表妹"],"{M1W},xs,d&l,h":["姨表妹壻"],"{M1W},xs,d,s":["姨表甥男","甥男"],"{M1W},xs,d,s,w":["姨表甥婦","甥婦"],"{M1W},xs,d,d":["姨表甥女","甥女"],"{M1W},xs,d,d,h":["姨表甥婿","甥婿"],"{M1M},f":["祖父"],"{M1M},f,xb,s&o":["堂伯父"],"{M1M},f,xb,s&o,w":["堂伯母"],"{M1M},f,xb,s&l":["堂叔父"],"{M1M},f,xb,s&l,w":["堂叔母"],"{M1M},f,xb,d":["堂姑母"],"{M1M},f,xb,d,h":["堂姑父"],"{M1M},f,ob":["伯祖父"],"{M1M},f,ob,w":["伯祖母"],"{M1M},f,lb":["叔祖父"],"{M1M},f,lb,w":["叔祖母"],"{M1M},f,xs":["姑祖母"],"{M1M},f,xs,h":["姑祖父"],"{M1M},f,xs,s&o":["姑表伯父"],"{M1M},f,xs,s&o,w":["姑表伯母"],"{M1M},f,xs,s&l":["姑表叔父"],"{M1M},f,xs,s&l,w":["姑表叔母"],"{M1M},f,xs,d":["姑表姑母"],"{M1M},f,xs,d,h":["姑表姑父"],"{M1M},m":["祖母"],"{M1M},m,xb":["舅祖父"],"{M1M},m,xb,w":["舅祖母"],"{M1M},m,xb,s&o":["舅表伯父"],"{M1M},m,xb,s&o,w":["舅表伯母"],"{M1M},m,xb,s&l":["舅表叔父"],"{M1M},m,xb,s&l,w":["舅表叔母"],"{M1M},m,xb,d":["舅表姑母"],"{M1M},m,xb,d,h":["舅表姑父"],"{M1M},m,xs":["姨祖母"],"{M1M},m,xs,h":["姨祖父"],"{M1M},m,xs,s&o":["姨伯父"],"{M1M},m,xs,s&o,w":["姨伯母"],"{M1M},m,xs,s&l":["姨叔父"],"{M1M},m,xs,s&l,w":["姨叔母"],"{M1M},m,xs,d":["姨姑母"],"{M1M},m,xs,d,h":["姨姑父"],"{M1M},xb":["叔伯父"],"{M1M},xb,w":["叔伯母"],"{M1M},ob":["伯父"],"{M1M},ob,w":["伯母"],"{M1M},lb":["叔父"],"{M1M},lb,w":["叔母"],"{M1M},xb,[s|d]":["叔表兄弟姊妹"],"{M1M},xb,s":["叔表兄弟"],"{M1M},xb,s,w":["叔表兄弟婦"],"{M1M},xb,s&o":["叔表兄"],"{M1M},xb,s&o,w":["叔表兄婦"],"{M1M},xb,s&l":["叔表弟"],"{M1M},xb,s&l,w":["叔表弟婦"],"{M1M},xb,s,s":["叔表侄男","侄男"],"{M1M},xb,s,s,w":["叔表侄婦","侄婦"],"{M1M},xb,s,d":["叔表侄女","侄女"],"{M1M},xb,s,d,h":["叔表侄婿","侄婿"],"{M1M},xb,d":["叔表姊妹"],"{M1M},xb,d,h":["叔表姊妹壻"],"{M1M},xb,d&o":["叔表姊"],"{M1M},xb,d&o,h":["叔表姊壻"],"{M1M},xb,d&l":["叔表妹"],"{M1M},xb,d&l,h":["叔表妹壻"],"{M1M},xb,d,s":["叔表甥男","甥男"],"{M1M},xb,d,s,w":["叔表甥婦","甥婦"],"{M1M},xb,d,d":["叔表甥女","甥女"],"{M1M},xb,d,d,h":["叔表甥婿","甥婿"],"{M1M},xs":["姑母"],"{M1M},xs,h":["姑父"],"{M1M},xs,[s|d]":["姑表兄弟姊妹"],"{M1M},xs,s":["姑表兄弟"],"{M1M},xs,s,w":["姑表兄弟婦"],"{M1M},xs,s&o":["姑表兄"],"{M1M},xs,s&o,w":["姑表兄婦"],"{M1M},xs,s&l":["姑表弟"],"{M1M},xs,s&l,w":["姑表弟婦"],"{M1M},xs,s,s":["姑表侄男","侄男"],"{M1M},xs,s,s,w":["姑表侄婦","侄婦"],"{M1M},xs,s,d":["姑表侄女","侄女"],"{M1M},xs,s,d,h":["姑表侄婿","侄婿"],"{M1M},xs,d":["姑表姊妹"],"{M1M},xs,d,h":["姑表姊妹壻"],"{M1M},xs,d&o":["姑表姊"],"{M1M},xs,d&o,h":["姑表姊壻"],"{M1M},xs,d&l":["姑表妹"],"{M1M},xs,d&l,h":["姑表妹壻"],"{M1M},xs,d,s":["姑表甥男","甥男"],"{M1M},xs,d,s,w":["姑表甥婦","甥婦"],"{M1M},xs,d,d":["姑表甥女","甥女"],"{M1M},xs,d,d,h":["姑表甥婿","甥婿"],"{M0},f":["父"],"{M0},f,f":["祖父"],"{M0},f,f,ob":["伯祖父"],"{M0},f,f,ob,w":["伯祖母"],"{M0},f,f,lb":["叔祖父"],"{M0},f,f,lb,w":["叔祖母"],"{M0},f,f,xs":["姑祖母"],"{M0},f,f,xs,h":["姑祖父"],"{M0},f,m":["祖母"],"{M0},f,m,xb":["舅祖父"],"{M0},f,m,xb,w":["舅祖母"],"{M0},f,m,xs":["姨祖母"],"{M0},f,m,xs,h":["姨祖父"],"{M0},f,ob":["伯父"],"{M0},f,ob,w":["伯母"],"{M0},f,lb":["叔父"],"{M0},f,lb,w":["叔母"],"{M0},f,xb,[s|d]":["叔表兄弟姊妹","叔表姊妹兄弟"],"{M0},f,xb,s":["叔表兄弟"],"{M0},f,xb,s,w":["叔表兄弟婦"],"{M0},f,xb,s&o":["叔表兄"],"{M0},f,xb,s&o,w":["叔表兄婦"],"{M0},f,xb,s&l":["叔表弟"],"{M0},f,xb,s&l,w":["叔表弟婦"],"{M0},f,xb,d":["叔表姊妹"],"{M0},f,xb,d,h":["叔表姊妹壻"],"{M0},f,xb,d&o":["叔表姊"],"{M0},f,xb,d&o,h":["叔表姊壻"],"{M0},f,xb,d&l":["叔表妹"],"{M0},f,xb,d&l,h":["叔表妹壻"],"{M0},f,xs":["姑母"],"{M0},f,xs,h":["姑父"],"{M0},f,xs,[s|d]":["姑表兄弟姊妹","姑表姊妹兄弟"],"{M0},f,xs,s":["姑表兄弟"],"{M0},f,xs,s,w":["姑表兄弟婦"],"{M0},f,xs,s&o":["姑表兄"],"{M0},f,xs,s&o,w":["姑表兄婦"],"{M0},f,xs,s&l":["姑表弟"],"{M0},f,xs,s&l,w":["姑表弟婦"],"{M0},f,xs,d":["姑表姊妹"],"{M0},f,xs,d,h":["姑表姊妹壻"],"{M0},f,xs,d&o":["姑表姊"],"{M0},f,xs,d&o,h":["姑表姊壻"],"{M0},f,xs,d&l":["姑表妹"],"{M0},f,xs,d&l,h":["姑表妹壻"],"{M0},m":["母"],"{M0},m,f":["外祖父"],"{M0},m,f,ob":["伯外祖父"],"{M0},m,f,ob,w":["伯外祖母"],"{M0},m,f,lb":["叔外祖父"],"{M0},m,f,lb,w":["叔外祖母"],"{M0},m,f,xs":["姑外祖母"],"{M0},m,f,xs,h":["姑外祖父"],"{M0},m,m":["外祖母"],"{M0},m,m,xb":["舅外祖父"],"{M0},m,m,xb,w":["舅外祖母"],"{M0},m,m,xs":["姨外祖母"],"{M0},m,m,xs,h":["姨外祖父"],"{M0},m,xb":["舅父"],"{M0},m,xb,w":["舅母"],"{M0},m,xb,[s|d]":["舅表兄弟姊妹","舅表姊妹兄弟"],"{M0},m,xb,s":["舅表兄弟"],"{M0},m,xb,s,w":["舅表兄弟婦"],"{M0},m,xb,s&o":["舅表兄"],"{M0},m,xb,s&o,w":["舅表兄婦"],"{M0},m,xb,s&l":["舅表弟"],"{M0},m,xb,s&l,w":["舅表弟婦"],"{M0},m,xb,d":["舅表姊妹"],"{M0},m,xb,d,h":["舅表姊妹壻"],"{M0},m,xb,d&o":["舅表姊"],"{M0},m,xb,d&o,h":["舅表姊壻"],"{M0},m,xb,d&l":["舅表妹"],"{M0},m,xb,d&l,h":["舅表妹壻"],"{M0},m,xs":["姨母"],"{M0},m,xs,h":["姨父"],"{M0},m,xs,[s|d]":["姨兄弟姊妹","姨姊妹兄弟"],"{M0},m,xs,s":["姨兄弟"],"{M0},m,xs,s,w":["姨兄弟婦"],"{M0},m,xs,s&o":["姨兄"],"{M0},m,xs,s&o,w":["姨兄婦"],"{M0},m,xs,s&l":["姨弟"],"{M0},m,xs,s&l,w":["姨弟婦"],"{M0},m,xs,d":["姨姊妹"],"{M0},m,xs,d,h":["姨姊妹壻"],"{M0},m,xs,d&o":["姨姊"],"{M0},m,xs,d&o,h":["姨姊壻"],"{M0},m,xs,d&l":["姨妹"],"{M0},m,xs,d&l,h":["姨妹壻"],"{M0},xb":["兄弟"],"{M0},xb,w":["兄弟婦"],"{M0},xb&o":["兄"],"{M0},xb&o,w":["兄婦","兄嫂","嫂子"],"{M0},xb&l":["弟"],"{M0},xb&l,w":["弟婦","弟妹"],"{M0},xb,s":["侄男","侄子","侄兒"],"{M0},xb,s,w":["侄婦"],"{M0},xb,d":["侄女"],"{M0},xb,d,h":["侄婿"],"{M0},xs":["姊妹"],"{M0},xs,h":["姊妹壻"],"{M0},xs&o":["姊"],"{M0},xs&o,h":["姊壻","姐夫"],"{M0},xs&l":["妹"],"{M0},xs&l,h":["妹壻","妹夫"],"{M0},xs,s":["甥男"],"{M0},xs,s,w":["甥婦"],"{M0},xs,d":["甥女"],"{M0},xs,d,h":["甥婿"],"{M-1},f":["兄弟"],"{M-1},f&o":["兄"],"{M-1},f&l":["弟"],"{M-1},f,f":["父"],"{M-1},f,f,f":["祖父"],"{M-1},f,f,m":["祖母"],"{M-1},f,f,ob":["伯父"],"{M-1},f,f,ob,w":["伯母"],"{M-1},f,f,lb":["叔父"],"{M-1},f,f,lb,w":["叔母"],"{M-1},f,m":["母"],"{M-1},f,m,f":["外祖父"],"{M-1},f,m,m":["外祖母"],"{M-1},f,xb":["叔兄弟"],"{M-1},f,xb,w":["叔兄弟婦"],"{M-1},f,ob":["叔兄"],"{M-1},f,ob,w":["叔兄婦"],"{M-1},f,lb":["叔弟"],"{M-1},f,lb,w":["叔弟婦"],"{M-1},f,xb,s":["叔男"],"{M-1},f,xb,d":["叔女"],"{M-1},f,xs":["姑姊妹"],"{M-1},f,xs,h":["姑姊妹壻"],"{M-1},f,os":["姑姊"],"{M-1},f,os,h":["姑姊壻"],"{M-1},f,ls":["姑妹"],"{M-1},f,ls,h":["姑妹壻"],"{M-1},f,xs,s":["姑男"],"{M-1},f,xs,d":["姑女"],"{M-1},m":["姊妹"],"{M-1},m&o":["姊"],"{M-1},m&l":["妹"],"{M-1},m,f":["父"],"{M-1},m,f,f":["祖父"],"{M-1},m,f,m":["祖母"],"{M-1},m,m":["母"],"{M-1},m,m,f":["外祖父"],"{M-1},m,m,m":["外祖母"],"{M-1},m,xb":["舅兄弟"],"{M-1},m,xb,w":["舅兄弟婦"],"{M-1},m,ob":["舅兄"],"{M-1},m,ob,w":["舅兄婦"],"{M-1},m,lb":["舅弟"],"{M-1},m,lb,w":["舅弟婦"],"{M-1},m,xb,s":["舅男"],"{M-1},m,xb,d":["舅女"],"{M-1},m,xs":["姨姊妹"],"{M-1},m,xs,h":["姨姊妹壻"],"{M-1},m,os":["姨姊"],"{M-1},m,os,h":["姨姊壻"],"{M-1},m,ls":["姨妹"],"{M-1},m,ls,h":["姨妹壻"],"{M-1},m,xs,s":["姨男"],"{M-1},m,xs,d":["姨女"],"{M-1},xb":["男"],"{M-1},xb,w":["婦"],"{M-1},xb,s":["孫男"],"{M-1},xb,s,w":["孫婦"],"{M-1},xb,d":["孫女"],"{M-1},xb,d,h":["孫婿"],"{M-1},xs":["女"],"{M-1},xs,h":["婿"],"{M-1},xs,s":["外孫男"],"{M-1},xs,s,w":["外孫婦"],"{M-1},xs,d":["外孫女"],"{M-1},xs,d,h":["外孫婿"],"{M-2},f":["男"],"{M-2},f,f&o":["兄"],"{M-2},f,f&l":["弟"],"{M-2},f,m&o":["姊"],"{M-2},f,m&l":["妹"],"{M-2},m":["女"],"{M-2},m,f&o":["兄"],"{M-2},m,f&l":["弟"],"{M-2},m,m&o":["姊"],"{M-2},m,m&l":["妹"],"{M-2},xb":["孫男"],"{M-2},xb,w":["孫婦"],"{M-2},xs":["孫女"],"{M-2},xs,h":["孫婿"]},e={"":["自己","我","俺","吾","本人","在下"],"f,f,f,f,f,f,f,f,f,f,f,f":["先祖父","先太爺","十二世祖"],"f,f,f,f,f,f,f,f,f,f,f,m":["先祖母","先太奶"],"f,f,f,f,f,f,f,f,f,f,f":["始祖父","始太爺","十一世祖"],"f,f,f,f,f,f,f,f,f,f,m":["始祖母","始太奶"],"f,f,f,f,f,f,f,f,f,f":["開祖父","開太爺","十世祖"],"f,f,f,f,f,f,f,f,f,m":["開祖母","開太奶"],"f,f,f,f,f,f,f,f,f":["鼻祖父","鼻太爺","九世祖"],"f,f,f,f,f,f,f,f,m":["鼻祖母","鼻太奶"],"f,f,f,f,f,f,f,f":["遠祖父","遠太爺","八世祖"],"f,f,f,f,f,f,f,m":["遠祖母","遠太奶"],"f,f,f,f,f,f,f":["太祖父","太太爺","七世祖"],"f,f,f,f,f,f,m":["太祖母","太太奶"],"f,f,f,f,f,f":["烈祖父","烈太爺","六世祖"],"f,f,f,f,f,m":["烈祖母","烈太奶"],"f,f,f,f,f":["天祖父","天太爺","五世祖"],"f,f,f,f,m":["天祖母","天太奶"],"f,f,f,f":["高祖父","外曾外曾外毑父","曾曾祖父","祖太公","祖太爺","高太爺","祖太翁","祖太爺爺","四世祖"],"f,f,f,m":["高祖母","外曾外曾外毑母","曾曾祖母","祖太婆","祖太奶","高太奶","祖太姆","祖太奶奶"],"f,f,m,f":["高外祖父","外曾外曾毑父"],"f,f,m,m":["高外祖母","外曾外曾毑母"],"f,m,f,f":["曾外曾祖父","外高外毑父"],"f,m,f,m":["曾外曾祖母","外高外毑母"],"f,m,m,f":["曾外曾外祖父","外高毑父"],"f,m,m,m":["曾外曾外祖母","外高毑母"],"m,f,f,f":["外高祖父","曾外曾外毑父"],"m,f,f,m":["外高祖母","曾外曾外毑母"],"m,f,m,f":["外高外祖父","曾外曾祖毑父"],"m,f,m,m":["外高外祖母","曾外曾祖毑母"],"m,m,f,f":["外曾外曾祖父","高外毑父"],"m,m,f,m":["外曾外曾祖母","高外毑母"],"m,m,m,f":["外曾外曾外祖父","高毑父"],"m,m,m,m":["外曾外曾外祖母","高毑母"],"f,f,f":["曾祖父","曾祖","外曾外毑父","太公","太爺","老太爺","太翁","太爺爺","曾爺爺","佬嗲","祖爺","三世祖"],"f,f,m":["曾祖母","外曾外毑母","太婆","太奶","老太奶","太嬤","太姆","太奶奶","曾奶奶","老娭毑"],"f,m,f":["曾外祖父","曾外祖","外曾毑父","太外公","太外爺","太外翁","太外爺爺"],"f,m,m":["曾外祖母","外曾毑母","太外婆","太外奶","太外嬤","太外姆","太外奶奶"],"m,f,f":["外曾祖父","外曾祖","曾外毑父","外太公","外太爺","外太翁","外太爺爺"],"m,f,m":["外曾祖母","曾外毑母","外太婆","外太奶","外太嬤","外太姆","外太奶奶"],"m,m,f":["外曾外祖父","外曾外祖","曾毑父","外太外公","外太外爺","外太外翁","外太外爺爺","外太姥爺"],"m,m,m":["外曾外祖母","曾毑母","外太外婆","外太外奶","外太外嬤","外太外姆","外太外奶奶","外太姥姥"],"f,f":["爺爺","祖父","奶爺","奶爹","阿爺","阿公","依爺","嗲嗲","爺兒","大父","爺","爺老","爺老子","爺老倌","二世祖"],"f,m":["奶奶","祖母","阿奶","奶娘","阿姆","阿婆","依奶","阿嬤","阿嫲","大母","奶","嫲嫲","婻婻","娭毑","嗯奶","娘姆","媼婆","親婆"],"m,f":["外公","外祖父","姥爺","阿公","外爺","客公","毑父","毑公","姥公","舅家爺","嘎公","嘎爹",,"嘎嘎爹","嘎爺爺","尕公","毑爹","毑爺","外大父","姥爹"],"m,m":["外婆","外祖母","姥姥","阿婆","外奶","客婆","毑母","毑婆","姥婆","舅家婆","嘎嘎","嘎婆","嘎嘎婆","嘎奶奶","尕婆","毑娘","毑毑","外大母","姥娘","阿嬤","阿嫲","外嬤","嫲嫲","好婆","嫏嫏","嫏娘"],"f,f,ob":["伯公","伯祖","伯翁","大爺爺","大嗲","大爺","大公","大阿爺"],"f,f,ob,w":["伯婆","姆婆","大奶奶","伯娭毑"],"f,f,lb":["叔公","叔祖","叔翁","小爺爺","晚公","幺爺","細嗲"],"f,f,lb,w":["叔婆","嬸婆","小奶奶","叔娭毑","晚婆","幺奶"],"f,f,xb":["伯叔祖父","從祖父","幾爺爺","幾大爺","幾嗲","幾爺","幾公"],"f,f,xb,w":["伯叔祖母","從祖母","幾奶奶","幾大娘","幾奶","幾婆"],"f,f,xs":["姑奶奶","祖姑","姑奶","恩婆","姑娭毑"],"f,f,xs,h":["姑爺爺","祖姑丈","恩爹","姑丈公","丈公"],"f,m,xb":["舅爺爺","舅祖","舅爹","太舅父"],"f,m,xb,w":["舅奶奶","妗婆","舅婆","妗奶","太舅母"],"f,m,xs":["姨奶奶","姨奶","姨娭毑"],"f,m,xs,h":["姨爺爺","姨公公","姨爹","姨丈公","丈公"],"m,f,ob":["伯外公","外伯祖","伯外祖","大外公","大姥爺","大外爺"],"m,f,ob,w":["伯外婆","外姆婆","大外婆","大姥姥","大姥奶"],"m,f,lb":["叔外公","外叔祖","叔外祖","小外公","小姥爺","小外爺"],"m,f,lb,w":["叔外婆","外嬸婆","小外婆","小姥姥","嬸姥姥","小姥奶"],"m,f,xb":["堂外祖父","幾外公","幾姥爺","幾外爺"],"m,f,xb,w":["堂外祖母","幾外婆","幾姥姥","幾姥奶","幾外奶","幾姥"],"m,f,xs":["姑外婆","姑婆","恩婆"],"m,f,xs,h":["姑外公","姑公","恩爹","外姑丈公","外丈公"],"m,m,xb":["舅外公","舅公","舅爹"],"m,m,xb,w":["舅外婆","舅婆","妗姥姥","妗姥娘","妗姥","外妗婆"],"m,m,xs":["姨外婆","姨婆"],"m,m,xs,h":["姨外公","姨公","外姨丈公","外丈公"],f:["爸爸","父親","老父親","老爸","阿爸","阿父","阿爹","老竇","爹地","依爹","老爹","老漢","老爺子","老子","牙老子","爸","父","爹","老漢兒","牙老倌","爸比","爹爹","爹啲","一世祖"],"f,ob":["伯父","伯伯","伯爸","伯爺","依伯","世父","大爹","大爸","大爸爸","伯兒","大伯","大爺","大大","阿伯","幾伯","伯"],"f,ob,w":["伯母","伯媽","伯娘","依姆","世母","大娘","大媽","大媽媽","伯婦","大嬤","大姆媽","伯姐","姆"],"f,lb":["叔叔","叔父","叔爸","叔爹","阿叔","叔兒","仲父","季父","叔仔","依叔","小叔","小爹","小爸","幾叔","叔"],"f,lb,w":["嬸嬸","嬸母","嬸媽","嬸娘","阿嬸","嬸兒","仲母","季母","叔婦","依嬸","小嬸","小娘","小媽","幾嬸","嬸","嬸子","家嬸","叔母","叔媽","叔娘","嬸爹","嬢嬢"],"f,xb":["伯叔父","叔伯","幾爸爸","幾爸","幾爹"],"f,xb,w":["伯叔母","幾媽媽","幾媽","幾娘"],"f,xb,s&o":["堂哥","堂阿哥","堂房哥哥","堂房阿哥","叔伯哥哥","叔伯阿哥","堂老兄"],"f,xb,s&o,w":["堂嫂","堂兄嫂"],"f,xb,s&l":["堂弟","堂阿弟","堂房弟弟","堂房阿弟","叔伯弟弟","叔伯老弟","堂老弟"],"f,xb,s&l,w":["堂弟媳","堂弟婦","堂弟妹"],"f,xb,s,s":["堂侄","再從子"],"f,xb,s,s,w":["堂侄媳婦"],"f,xb,s,s,s":["堂侄孫","再從孫"],"f,xb,s,s,s,s":["堂曾孫","再曾孫"],"f,xb,s,s,s,s,s":["堂玄孫","再玄孫"],"f,xb,s,d":["堂侄女"],"f,xb,s,d,h":["堂侄女婿"],"f,xb,d&o":["堂姐","堂阿姐","堂房姐姐","堂房阿姐","叔伯姐姐","叔伯阿姊","堂大姐"],"f,xb,d&o,h":["堂姐夫"],"f,xb,d&l":["堂妹","堂阿妹","堂房妹妹","堂房阿妹","叔伯妹妹","叔伯老妹","堂細妹"],"f,xb,d&l,h":["堂妹夫"],"f,xb,d,s":["堂外甥"],"f,xb,d,s,w":["堂外甥媳婦"],"f,xb,d,d":["堂外甥女"],"f,xb,d,d,h":["堂外甥女婿"],"f,os":["大姑","大姑媽","姑姊","姑嬤"],"f,os,h":["大姑丈","大姑父","大姑爸","恩伯"],"f,ls":["小姑","小姑媽","姑姐","姑妹","姑仔","尕娘","幺姑姐","老姑"],"f,ls,h":["小姑丈","小姑父","小姑爹","恩叔"],"f,xs":["姑媽","姑母","姑姑","恩媽","幾姑","姑","阿姑","嬢嬢","娘娘"],"f,xs,h":["姑丈","姑父","姑爸","恩爸","姑伯","姑爹","姑夫","姑婿","姑郎","亙"],"f,f,xb,s&o":["堂伯"],"f,f,xb,s&o,w":["堂伯母"],"f,f,xb,s&l":["堂叔"],"f,f,xb,s&l,w":["堂嬸"],"f,f,xb,s":["堂伯叔父","堂叔伯","從父"],"f,f,xb,s,w":["堂伯叔母","從母"],"f,f,xb,s,s&o":["從堂兄"],"f,f,xb,s,s&l":["從堂弟"],"f,f,xb,s,s,s":["從堂侄","三從子"],"f,f,xb,s,s,s,s":["從堂侄孫","三從孫"],"f,f,xb,s,s,s,s,s":["從堂侄曾孫","三曾孫"],"f,f,xb,s,s,s,s,s,s":["從堂侄玄孫","三玄孫"],"f,f,xb,d":["堂姑"],"f,f,xb,d,h":["堂姑丈"],"f,f,f,xb":["伯叔曾祖父"],"f,f,f,xb,w":["伯叔曾祖母"],"f,f,f,xb,s":["堂伯叔祖父"],"f,f,f,xb,s,w":["堂伯叔祖母"],"f,f,f,xb,s,s&o":["從伯父"],"f,f,f,xb,s,s&o,w":["從伯母"],"f,f,f,xb,s,s&l":["從叔父"],"f,f,f,xb,s,s&l,w":["從叔母"],"f,f,f,xb,s,s":["從伯叔父","再從父"],"f,f,f,xb,s,s,w":["從伯叔母","再從母"],"f,f,f,xb,s,s,s&o":["族兄"],"f,f,f,xb,s,s,s&l":["族弟"],"f,f,f,xb,s,s,s,s":["族侄","四從子","族子"],"f,f,f,xb,s,s,s,s,s":["族侄孫","四從孫","族孫"],"f,f,f,xb,s,s,s,s,s,s":["族侄曾孫","四曾孫","族曾孫"],"f,f,f,xb,s,s,s,s,s,s,s":["族侄玄孫","四玄孫","族玄孫"],"f,f,f,f,xb":["伯叔高祖父"],"f,f,f,f,xb,w":["伯叔高祖母"],"f,f,f,f,xb,s":["堂伯叔曾祖父"],"f,f,f,f,xb,s,w":["堂伯叔曾祖母"],"f,f,f,f,xb,s,s":["從伯叔祖父"],"f,f,f,f,xb,s,s,w":["從伯叔祖母"],"f,f,f,f,xb,s,s,s&o":["族伯父"],"f,f,f,f,xb,s,s,s&o,w":["族伯母"],"f,f,f,f,xb,s,s,s&l":["族叔父"],"f,f,f,f,xb,s,s,s&l,w":["族叔母"],"f,f,f,f,xb,s,s,s":["族伯叔父","三從父","族父"],"f,f,f,f,xb,s,s,s,w":["族伯叔母","三從母","族母"],m:["媽媽","母親","老母親","老媽","阿媽","阿母","阿娘","老母","媽咪","依媽","老娘","老乸","老媽子","媽子","娘老子","媽","母","娘","阿毑","姆嬤","姆媽","娘親"],"m,ob":["大舅","大舅舅","舅伯","元舅"],"m,ob,w":["大舅媽","大妗","舅嫲"],"m,lb":["小舅","小舅舅","舅仔","舅父仔","尕阿舅","老舅"],"m,lb,w":["小舅媽","小妗","細妗"],"m,xb":["舅舅","舅爸","舅父","舅爹","娘舅","母舅","阿舅","妗公","舅台","幾舅","舅"],"m,xb,w":["舅媽","舅母","舅娘","娘妗","舅妻","舅姆","舅姆媽","舅媳婦","舅婦","舅姥","老妗","妗子","妗妗","妗媽","妗娘","妗母","阿妗","妗門","妗婆仔","妗兒媽","妗","嬢嬢"],"m,os":["大姨","大姨媽","姨嬤"],"m,os,h":["大姨丈","大姨父","大姨爸","姨伯"],"m,ls":["小姨","小姨媽","姨仔","老姨"],"m,ls,h":["小姨丈","小姨父","小姨爹","老姨夫","姨叔"],"m,xs":["姨媽","姨母","姨姨","姨娘","阿姨","幾姨","姨","從母","嬢嬢"],"m,xs,h":["姨丈","姨父","姨爸","姨爹","姨夫","姨婿","姨郎","尹"],"m,f,xb,s":["堂舅"],"m,f,xb,s,w":["堂舅媽"],"m,f,xb,d":["堂姨"],"m,f,xb,d,h":["堂姨丈"],"h,f,f,f":["曾祖公父","曾祖公","太公翁"],"h,f,f,m":["曾祖婆母","曾祖婆","太奶親"],"h,f,m,f":["曾外祖公父","曾外祖公"],"h,f,m,m":["曾外祖婆母","曾外祖婆"],"h,m,f,f":["外曾祖公父","外曾祖公"],"h,m,f,m":["外曾祖婆母","外曾祖婆"],"h,m,m,f":["外曾外祖公父","外曾外祖公"],"h,m,m,m":["外曾外祖婆母","外曾外祖婆"],"h,f,f,f,ob":["伯曾祖公父","伯曾祖公","太伯翁"],"h,f,f,f,ob,w":["伯曾祖婆母","伯曾祖婆","太姆婆"],"h,f,f,f,lb":["叔曾祖公父","叔曾祖公","太叔翁"],"h,f,f,f,lb,w":["叔曾祖婆母","叔曾祖婆","太嬸婆"],"h,f,f,f,xs":["姑曾祖婆母","姑曾祖婆"],"h,f,f,f,xs,h":["姑曾祖公父","姑曾祖婆"],"h,f,f":["祖公父","祖公","祖公公","祖翁","奶公父"],"h,f,m":["祖婆母","祖婆","祖婆婆","奶婆母"],"h,m,f":["外祖公父","毑公父","外祖公","外祖公公","姥公父","姥公"],"h,m,m":["外祖婆母","毑婆母","外祖婆","外祖婆婆","姥婆母","姥婆"],"h,f":["公公","公父","家公","家官","家翁","家爺","翁親","老官","大官","老公公","老人公","大人公","公爹","老公爹","婆父","婆爹","君舅"],"h,m":["婆婆","婆母","家婆","家娘","姑親","大家","老婆婆","老人婆","大人婆","婆媽","婆母娘","婆子媽","君姑"],"h,f,ob":["伯公父","伯公","伯翁","伯公公","伯祖","婆婆伯"],"h,f,ob,w":["伯婆母","伯婆","姆婆","伯婆婆","伯姆","婆婆伯姆"],"h,f,lb":["叔公父","叔公","叔翁","叔公公","叔祖","婆婆叔"],"h,f,lb,w":["叔婆母","叔婆","嬸婆","嬸婆婆","嬸親","婆婆嬸子"],"h,f,xs":["姑婆母","姑婆","姑婆婆","婆婆姑"],"h,f,xs,h":["姑公父","姑公","姑公公","婆婆姑夫"],"h,m,xb":["舅公父","舅公","舅公公"],"h,m,xb,w":["舅婆母","舅婆","妗婆婆","舅婆婆"],"h,m,xs":["姨婆母","姨婆","姨婆婆"],"h,m,xs,h":["姨公父","姨公","姨公公"],h:["老公","丈夫","先生","夫","男人","新郎","愛爺","夫親","夫君","官人","漢子","老頭子","郎君","相公","夫婿","良人","老公仔","愛人","老伴","那口子","配偶","伴侶","伉儷","卿卿"],"h,ob":["大伯子","大伯兒","大伯兄","伯子","伯仔","伯兄","阿伯","大伯爺","伯爺子","婿伯"],"h,ob,w":["大嬸子","大嬸兒","大叔兄婦","伯兄婦","伯嫂","伯婦","伯姆","姒婦","姒姆","大伯嫂","姆姆","大姆","大伯婦","大伯娘","姐婦","阿姆"],"h,lb":["小叔子","小叔兒","小叔弟","叔子","叔仔","叔弟","阿叔","叔郎","小郎"],"h,lb,w":["小嬸子","小嬸兒","小叔弟婦","叔弟婦","叔嫂","叔婦","叔姆","娣婦","娣姆","小叔婦","嬸嬸","小嬸","小嬸嬸"],"h,[ob|lb]":["伯叔"],"h,xb,w":["妯娌","娣姒","娣姒姊妹","嬸子"],"h,xb,s":["叔侄男"],"h,xb,d":["叔侄女"],"h,os":["大姑子","大姑姐","大姑兒","大姑娘","姑姊","婆姐","婆婆姐","大娘姑"],"h,os,h":["大姑夫","大姑姐夫","大亙子","婆姐夫","婆婆姐夫"],"h,ls":["小姑子","小姑妹","小姑兒","小姑娘","姑妹","婆妹","婆婆妹"],"h,ls,h":["小姑夫","小姑妹夫","小亙子","婆妹夫","婆婆妹夫"],"h,xs":["姑子","夫姑"],"h,xs,h":["姑夫","姑郎"],"h,xs,s":["姑甥"],"h,xs,d":["姑甥女"],"w,f,f,f":["曾祖嶽父","曾祖丈人","太爺丈人","祖爺丈人"],"w,f,f,m":["曾祖嶽母","曾祖丈母","曾祖丈母娘","祖奶丈母娘","太奶丈母娘"],"w,f,m,f":["曾外祖嶽父","曾外祖丈人","祖姥爺丈人","太姥爺丈"],"w,f,m,m":["曾外祖嶽母","曾外祖丈母","曾外祖丈母娘","祖姥丈母娘","太姥丈母娘"],"w,m,f,f":["外曾祖嶽父","外曾祖丈人","祖奶爺丈人","太奶爺丈人","祖姥爺丈人","太姥爺丈人"],"w,m,f,m":["外曾祖嶽母","外曾祖丈母","太奶丈母娘","祖姥丈母娘","太姥丈母娘"],"w,m,m,f":["外曾外祖嶽父","外曾外祖丈人","祖姥爺丈人","太姥爺丈人"],"w,m,m,m":["外曾外祖嶽母","外曾外祖丈母","外曾外祖丈母娘","祖姥丈母娘","太姥丈母娘"],"w,f,f":["祖嶽父","太嶽父","奶嶽父","祖丈人","爺丈人","奶爺丈人","奶丈爺","奶丈人","老丈爺"],"w,f,m":["祖嶽母","太嶽母","奶嶽母","祖丈母","祖丈母娘","奶丈母娘","奶丈姥","奶丈母","老丈姥"],"w,f,ob":["伯嶽父"],"w,f,ob,w":["伯嶽母"],"w,f,lb":["叔嶽父"],"w,f,lb,w":["叔嶽母"],"w,f,f,xb,s&o":["姻伯丈"],"w,f,f,xb,s&o,w":["姻姆"],"w,f,f,xb,s&l":["姻叔丈"],"w,f,f,xb,s&l,w":["姻嬸"],"w,m,f":["外祖嶽父","毑嶽父","外祖丈人爹","外祖丈人","外太嶽父","姥嶽父","姥丈爺","姥丈人","姥丈人爹","老丈爺","姥爺丈人"],"w,m,m":["外祖嶽母","毑嶽母","外祖丈母娘","外祖丈母","外太嶽母","姥嶽母","姥丈姥","姥丈母","姥丈母娘","老丈娘"],"w,f":["嶽父","丈人","老丈人","外父","泰山","外舅","老親爺","丈人爹","老幹爺","丈人公","丈母爺","丈爺","丈爺爹","丈父","嶽老子","老丈杆子","嶽丈","嶽翁","妻公","婦翁","冰翁"],"w,m":["嶽母","丈母","老丈母","外母","泰水","外姑","老親娘","丈人娘","老幹娘","丈人婆","丈母娘","丈姥","丈姥娘","丈姆","嶽母娘","丈母婆","丈姆婆","丈姆娘"],w:["老婆","妻子","媳婦","媳婦兒","太太","妻","女人","新娘","愛姥","妻親","娘子","新娘子","夫人","婆娘","老太婆","內人","內子","內助","賢內助","愛妻","發妻","婆姨","婆子","老婆子","老婆兒","老婆仔","堂客","愛人","老伴","那口子","配偶","伴侶","伉儷","卿卿"],"w,ob":["大舅子","大舅哥","大舅佬","大阿舅","丈人兄","舅哥"],"w,ob,w":["大舅婦","大妗子","大妗兒","大舅姆","大舅兄嫂","大舅嫂","大舅姐","大舅媳婦","丈人嫂"],"w,lb":["小舅子","小舅弟","小舅佬","小阿舅","丈人弟","舅弟"],"w,lb,w":["小舅婦","小妗子","小妗兒","小舅姆","小舅弟婦","小舅嫂","舅弟媳","小舅妹","小舅媳婦"],"w,xb":["舅子","舅佬","妻舅","老婆舅","阿舅","親家舅","舅老倌"],"w,xb,w":["舅嫂","舅婦","舅姆","妻妗","妗仔","妗子","妗兒"],"w,xb,s":["舅侄男"],"w,xb,d":["舅侄女"],"w,os":["大姨子","大姨姐","大姨兒","姨姐"],"w,os,h":["大姨夫","大姨姐夫","襟兄","大尹子"],"w,ls":["小姨子","小姨妹","小茙兒","姨妹","姨仔","姨妹子"],"w,ls,h":["小姨夫","小姨妹夫","小茙夫","襟弟","小尹子"],"w,xs":["姨子","妻姨"],"w,xs,h":["連襟","姨夫","連橋","兩橋","兩喬","姨夫爺","一擔挑","老挑","挑擔","擔兒挑","連襟兒","襟兄弟","友婿","妻尹","婭"],"w,xs,s":["姨甥"],"w,xs,d":["姨甥女"],ob:["哥哥","哥","胞兄","親哥","老哥","依哥","阿哥","家兄","兄長","大佬","元兄","長兄","幾哥"],"ob,w":["嫂子","嫂","嫂嫂","阿嫂","家嫂","兄姊","兄嫂","兄婦","兄妻","幾嫂"],"ob,s":["侄子","侄男","兄子"],"ob,d":["侄女","兄女"],lb:["弟弟","弟","胞弟","親弟","老弟","阿弟","細佬","依弟","小弟","幾弟"],"lb,w":["弟妹","弟媳","弟媳婦","弟媳婦子","弟新婦","老弟嫂"],"lb,s":["侄子","侄男","弟子"],"lb,d":["侄女","弟女"],"xb,s":["侄子","侄男","侄兒","侄兒子","侄","侄仔","阿侄"],"xb,s,w":["侄媳婦","侄媳","侄嫂","侄婦"],"xb,d":["侄女","侄囡","侄女兒","侄閨女"],"xb,d,h":["侄女婿","侄婿","侄郎"],os:["姐姐","姐","胞姐","親姐","阿姐","阿姊","姊仔","家姐","依姐","長姐","幾姐"],"os,h":["姐夫","姐丈","姐婿","姐郎","姊兄","姐夫哥","胞姐夫"],ls:["妹妹","妹","胞妹","親妹","老妹","阿妹","妹兒","妹子","依妹","小妹","幾妹"],"ls,h":["妹夫","妹丈","妹婿","妹郎","妹弟","妹夫子","胞妹夫"],"xs,s":["外甥","甥子","甥男","甥兒","甥兒子","甥","甥仔"],"xs,s,w":["甥媳婦","甥媳","甥嫂","甥婦","甥兒息婦兒"],"xs,s,s":["甥孫","遠甥","彌甥"],"xs,s,d":["甥孫女","遠甥女","彌甥女"],"xs,d":["外甥女","甥女","甥囡","甥女兒","甥閨女"],"xs,d,h":["甥女婿","甥婿","甥郎","甥兒息婿兒"],s:["兒子","男兒","息男","閨男","囝囝","囝男","囝兒","小子","娃子","男親","伢子","長子","次子","幼子","兒","仔","囝","子","阿仔","仔仔","後生","公子","少爺","一世孫"],"s,w":["兒媳","兒媳婦","息婦兒","兒媳婦兒","新婦","新婦囝","心抱","息婦","兒婦","子婦","小婦","少奶奶","少夫人"],"s,w,f":["親家公"],"s,w,f,f&o":["姻伯"],"s,w,f,f&l":["姻叔"],"s,w,m":["親家母"],"s,w,xb":["姻侄","世侄"],"s,w,xb,w":["姻侄媳"],"s,w,xb,s":["姻侄孫"],"s,w,xb,d":["姻侄孫女"],"s,w,xs":["姻侄女"],"s,w,xs,h":["姻侄婿"],"s,w,xs,s":["姻侄外孫"],"s,w,xs,d":["姻侄外孫女"],"s,s":["孫子","孫男","孫男兒","孫兒","長孫","孫仔","孫囝","孫娃子","孫伢子","二世孫"],"s,s,w":["孫媳婦","孫媳","孫婦","孫息婦","孫新婦"],"s,s,s":["曾孫","曾孫男","重孫","重孫子","息仔","三世孫"],"s,s,s,w":["曾孫婦","重孫媳婦"],"s,s,s,s":["玄孫","元孫","膀孫","四世孫"],"s,s,s,s,w":["玄孫媳婦"],"s,s,s,s,s":["來孫","五世孫"],"s,s,s,s,s,w":["來孫媳婦"],"s,s,s,s,s,s":["晜孫","六世孫"],"s,s,s,s,s,s,w":["晜孫媳婦"],"s,s,s,s,s,s,s":["仍孫","礽孫","七世孫"],"s,s,s,s,s,s,s,w":["仍孫媳婦"],"s,s,s,s,s,s,s,s":["雲孫","八世孫"],"s,s,s,s,s,s,s,s,w":["雲孫媳婦"],"s,s,s,s,s,s,s,s,s":["耳孫","遠孫","九世孫"],"s,s,s,s,s,s,s,s,s,w":["耳孫媳婦"],"s,s,s,s,s,s,s,s,s,s":["彌孫","十世孫"],"s,s,s,s,s,s,s,s,s,s,w":["彌孫媳婦"],"s,s,s,s,s,s,s,s,s,s,s":["胎孫","十一世孫"],"s,s,s,s,s,s,s,s,s,s,s,w":["胎孫媳婦"],"s,s,s,s,s,s,s,s,s,s,s,s":["承孫","十二世孫"],"s,s,s,s,s,s,s,s,s,s,s,s,w":["承孫媳婦"],"s,s,s,s,s,s,s,s,s,s,s,d":["承孫女"],"s,s,s,s,s,s,s,s,s,s,s,d,h":["承孫女婿"],"s,s,s,s,s,s,s,s,s,s,d":["胎孫女"],"s,s,s,s,s,s,s,s,s,s,d,h":["胎孫女婿"],"s,s,s,s,s,s,s,s,s,s,d,s":["承外孫"],"s,s,s,s,s,s,s,s,s,s,d,s,w":["承外孫媳婦"],"s,s,s,s,s,s,s,s,s,s,d,d":["承外孫女"],"s,s,s,s,s,s,s,s,s,s,d,d,h":["承外孫女婿"],"s,s,s,s,s,s,s,s,s,d":["彌孫女"],"s,s,s,s,s,s,s,s,s,d,h":["彌孫女婿"],"s,s,s,s,s,s,s,s,s,d,s":["胎外孫"],"s,s,s,s,s,s,s,s,s,d,s,w":["胎外孫媳婦"],"s,s,s,s,s,s,s,s,s,d,d":["胎外孫女"],"s,s,s,s,s,s,s,s,s,d,d,h":["胎外孫女婿"],"s,s,s,s,s,s,s,s,d":["耳孫女"],"s,s,s,s,s,s,s,s,d,h":["耳孫女婿"],"s,s,s,s,s,s,s,s,d,s":["彌外孫"],"s,s,s,s,s,s,s,s,d,s,w":["彌外孫媳婦"],"s,s,s,s,s,s,s,s,d,d":["彌外孫女"],"s,s,s,s,s,s,s,s,d,d,h":["彌外孫女婿"],"s,s,s,s,s,s,s,d":["雲孫女"],"s,s,s,s,s,s,s,d,h":["雲孫女婿"],"s,s,s,s,s,s,s,d,s":["耳外孫"],"s,s,s,s,s,s,s,d,s,w":["耳外孫媳婦"],"s,s,s,s,s,s,s,d,d":["耳外孫女"],"s,s,s,s,s,s,s,d,d,h":["耳外孫女婿"],"s,s,s,s,s,s,d":["仍孫女","礽孫女"],"s,s,s,s,s,s,d,h":["仍孫女婿"],"s,s,s,s,s,s,d,s":["雲外孫"],"s,s,s,s,s,s,d,s,w":["雲外孫媳婦"],"s,s,s,s,s,s,d,d":["雲外孫女"],"s,s,s,s,s,s,d,d,h":["雲外孫女婿"],"s,s,s,s,s,d":["晜孫女"],"s,s,s,s,s,d,h":["晜孫女婿"],"s,s,s,s,s,d,s":["仍外孫"],"s,s,s,s,s,d,s,w":["仍外孫媳婦"],"s,s,s,s,s,d,d":["仍外孫女"],"s,s,s,s,s,d,d,h":["仍外孫女婿"],"s,s,s,s,d":["來孫女"],"s,s,s,s,d,h":["來孫女婿"],"s,s,s,s,d,s":["晜外孫"],"s,s,s,s,d,s,w":["晜外孫媳婦"],"s,s,s,s,d,d":["晜外孫女"],"s,s,s,s,d,d,h":["晜外孫女婿"],"s,s,s,d":["玄孫女","元孫女","膀孫女"],"s,s,s,d,h":["玄孫女婿"],"s,s,s,d,s":["來外孫"],"s,s,s,d,s,w":["來外孫媳婦"],"s,s,s,d,d":["來外孫女"],"s,s,s,d,d,h":["來外孫女婿"],"s,s,d":["曾孫女","重孫女","息女"],"s,s,d,h":["曾孫女婿"],"s,s,d,s":["玄外孫"],"s,s,d,s,w":["玄外孫媳婦"],"s,s,d,d":["玄外孫女"],"s,s,d,d,h":["玄外孫女婿"],"s,d":["孫女","孫女兒","孫囡","孫囡兒","女孫","孫女子"],"s,d,h":["孫女婿","孫婿","孫郎","孫息婿"],"s,d,s":["曾外孫","外息仔"],"s,d,s,w":["曾外孫媳婦"],"s,d,s,s":["曾外曾孫"],"s,d,s,s,w":["曾外曾孫媳婦"],"s,d,s,d":["曾外曾孫女"],"s,d,s,d,h":["曾外曾孫女婿"],"s,d,d":["曾外孫女","外息女"],"s,d,d,h":["曾外孫女婿"],"s,d,d,s":["曾外曾外孫"],"s,d,d,s,w":["曾外曾外孫媳婦"],"s,d,d,d":["曾外曾外孫女"],"s,d,d,d,h":["曾外曾外孫女婿"],d:["女兒","千金","小姐","掌上明珠","息女","閨女","囡囡","囡女","囡兒","乖囡","囡嗯","丫頭","姑娘","妮子","女親","長女","次女","幼女","女","阿女","女女"],"d,h":["女婿","姑爺","姑爺兒","女婿子","女婿兒","兒婿","子婿","息婿","小婿","快婿","郎婿","郎婿子","息婿兒","囝婿","囡婿","東床","半子","甥館","女夫"],"d,h,f":["親家公"],"d,h,f,f&o":["姻伯"],"d,h,f,f&l":["姻叔"],"d,h,m":["親家母"],"d,h,xb":["姻侄","世侄"],"d,h,xb,w":["姻侄媳"],"d,h,xb,s":["姻侄孫"],"d,h,xb,d":["姻侄孫女"],"d,h,xs":["姻侄女"],"d,h,xs,h":["姻侄婿"],"d,h,xs,s":["姻侄外孫"],"d,h,xs,d":["姻侄外孫女"],"d,s":["外孫","外孫子","外孫兒"],"d,s,w":["外孫媳婦","外孫婦","外孫新婦"],"d,s,s":["外曾孫","重外孫","外息仔"],"d,s,s,w":["外曾孫媳婦","外曾孫婦"],"d,s,s,s":["外玄孫","外元孫","外膀孫"],"d,s,s,s,w":["外玄孫媳婦"],"d,s,s,d":["外玄孫女","外元孫女","外膀孫女"],"d,s,s,d,h":["外玄孫女婿"],"d,s,d":["外曾孫女","重外孫女","外息女"],"d,s,d,h":["外曾孫女婿","重外孫女婿"],"d,s,d,s":["外玄外孫"],"d,s,d,s,w":["外玄外孫媳婦"],"d,s,d,d":["外玄外孫女"],"d,s,d,d,h":["外玄外孫女婿"],"d,d":["外孫女","外孫囡","外孫女兒"],"d,d,h":["外孫女婿","外孫婿","外孫郎"],"d,d,s":["外曾外孫","外息仔"],"d,d,s,w":["外曾外孫媳婦"],"d,d,s,s":["外曾外曾孫"],"d,d,s,s,w":["外曾外曾孫媳婦"],"d,d,s,d":["外曾外曾孫女"],"d,d,s,d,h":["外曾外曾孫女婿"],"d,d,d":["外曾外孫女","外息女"],"d,d,d,h":["外曾外孫女婿"],"d,d,d,s":["外曾外曾外孫"],"d,d,d,s,w":["外曾外曾外孫媳婦"],"d,d,d,d":["外曾外曾外孫女"],"d,d,d,d,h":["外曾外曾外孫女婿"],"1,xb,w,xb":["叔眷兄弟"],"1,xb,w,xb,s":["叔眷舅男"],"1,xb,w,xb,d":["叔眷舅女"],"1,xb,w,xs":["叔眷姊妹"],"1,xb,w,xs,s":["叔眷姨男"],"1,xb,w,xs,d":["叔眷姨女"],"1,xb,s":["從男","從子"],"1,xb,s,s":["從孫"],"1,xb,s,s,s":["從曾孫"],"1,xb,s,s,s,s":["從玄孫"],"1,xb,s,w":["從婦"],"1,xb,d":["從女","從子"],"1,xb,d,h":["從婿"],"1,xs,h,xb":["姑姻兄弟"],"1,xs,h,xb,s":["姑姻叔男"],"1,xs,h,xb,d":["姑姻叔女"],"1,xs,h,xs":["姑姻姊妹"],"1,xs,h,xs,s":["姑姻姑男"],"1,xs,h,xs,d":["姑姻姑女"],"1,xs,s,s":["離孫男","離孫子"],"1,xs,s,d":["離孫女"],"0,xb,w,xb":["舅眷兄弟"],"0,xb,w,xb,s":["舅眷舅男"],"0,xb,w,xb,d":["舅眷舅女"],"0,xb,w,xs":["舅眷姊妹"],"0,xb,w,xs,s":["舅眷姨男"],"0,xb,w,xs,d":["舅眷姨女"],"0,xs,h,xb":["姨姻兄弟"],"0,xs,h,xb,s":["姨姻叔男"],"0,xs,h,xb,d":["姨姻叔女"],"0,xs,h,xs":["姨姻姊妹"],"0,xs,h,xs,s":["姨姻姑男"],"0,xs,h,xs,d":["姨姻姑女"],"0,xb,s":["娘家侄子","娘家侄"],"0,xb,s,s":["歸孫男","歸孫子"],"0,xb,s,d":["歸孫女"],"0,xb,d":["娘家侄女"],"0,xs,s":["姨甥","姨甥男","從男","從子"],"0,xs,s,w":["從婦"],"0,xs,d":["姨甥女","從女","從子"],"0,xs,d,h":["從婿"],"0,xs,s,s":["姨甥孫","姨孫","姨甥孫男","姨孫男"],"0,xs,s,d":["姨甥孫女","姨孫女"],"0,xs,d,s":["姨甥外孫","姨外孫","姨甥外孫男","姨外孫男"],"0,xs,d,d":["姨甥外孫女","姨外孫女"]};let t=Object.assign({},{"[f,f|f,m|m,f],[f,m],f":["老太奶爺","祖太奶爺"],"[f,f|f,m|m,f],[f,m],m":["老太奶奶","祖太奶奶"],"[f,m|m,f|m,m],[f,m],f":["老太姥爺","祖太姥爺"],"[f,m|m,f|m,m],[f,m],m":["老太姥姥","祖太姥姥"],"[f|m],[f|m],f":["太老爺"],"[f|m],[f|m],f,ob":["伯太老爺"],"[f|m],[f|m],f,ob,w":["伯太老姥"],"[f|m],[f|m],f,lb":["叔太老爺"],"[f|m],[f|m],f,lb,w":["叔太老姥"],"[f|m],[f|m],f,xs":["姑太老姥"],"[f|m],[f|m],f,xs,h":["姑太老爺"],"[f|m],[f|m],m":["太老姥"],"[f|m],[f|m],m,xb":["舅太老爺"],"[f|m],[f|m],m,xb,w":["舅太老姥"],"[f|m],[f|m],m,xs":["姨太老姥"],"[f|m],[f|m],m,xs,h":["姨太老爺"],"[f,f|f,m|m,f],f":["太奶爺","祖奶爺","祖爺爺"],"[f,f|f,m|m,f],f,ob":["伯太奶爺","太伯奶爺"],"[f,f|f,m|m,f],f,ob,w":["伯太奶奶","太伯奶奶"],"[f,f|f,m|m,f],f,lb":["叔太奶爺","太叔奶爺"],"[f,f|f,m|m,f],f,lb,w":["叔太奶奶","太叔奶奶"],"[f,f|f,m|m,f],f,xs":["姑太奶奶","太姑奶奶"],"[f,f|f,m|m,f],f,xs,h":["姑太奶爺","太姑奶爺"],"[f,f|f,m|m,f],m":["太奶奶","祖奶奶"],"[f,f|f,m|m,f],m,xb":["舅太奶爺","太舅奶爺"],"[f,f|f,m|m,f],m,xb,w":["舅太奶奶","太舅奶奶"],"[f,f|f,m|m,f],m,xs":["姨太奶奶","太姨奶奶"],"[f,f|f,m|m,f],m,xs,h":["姨太奶爺","太姨奶爺"],"[f,m|m,f|m,m],f":["太姥爺","祖姥爺","太毑爺"],"[f,m|m,f|m,m],f,ob":["伯太姥爺","伯叔姥爺"],"[f,m|m,f|m,m],f,ob,w":["伯太姥姥","太伯姥姥"],"[f,m|m,f|m,m],f,lb":["叔太姥爺","太叔姥爺"],"[f,m|m,f|m,m],f,lb,w":["叔太姥姥","太叔姥姥"],"[f,m|m,f|m,m],f,xs":["姑太姥姥","太姑姥姥"],"[f,m|m,f|m,m],f,xs,h":["姑太姥爺","太姑姥爺"],"[f,m|m,f|m,m],m":["太姥姥","祖姥姥","太毑毑","太姥"],"[f,m|m,f|m,m],m,xb":["舅太姥爺","太舅姥爺"],"[f,m|m,f|m,m],m,xb,w":["舅太姥姥","太舅姥姥"],"[f,m|m,f|m,m],m,xs":["姨太姥姥","太姨姥姥"],"[f,m|m,f|m,m],m,xs,h":["姨太姥爺","太姨姥爺"],"[f|m],[f|m],[f|m]":["曾祖輩","祖祖","老太"],"[f|m],f,[f|m]":["阿太"],"[f|m],[f|m]":["祖輩"],"[f|m],f":["老爺"],"[f|m],f,ob":["伯老爺"],"[f|m],f,ob,w":["伯老姥"],"[f|m],f,lb":["叔老爺"],"[f|m],f,lb,w":["叔老姥"],"[f|m],f,xs":["姑老姥"],"[f|m],f,xs,h":["姑老爺"],"[f|m],m":["老姥"],"[f|m],m,xb":["舅老爺"],"[f|m],m,xb,w":["舅老姥"],"[f|m],m,xs":["姨老姥"],"[f|m],m,xs,h":["姨老爺"],"f,f,[f|m]":["曾祖父母"],"f,f,[f,xs|m,xb],s":["舅姑爺爺","舅姑爺"],"f,[f|m]":["祖父母","爺爺奶奶"],"f,[ob|ob,w]":["伯父母"],"f,[lb|lb,w]":["叔父母"],"f,xb,[s|d]":["堂兄弟姐妹","堂姐妹兄弟","從父兄弟姐妹"],"f,[xs|xs,h]":["姑父母"],"f,xs,[s|d]":["姑表兄弟姐妹"],"m,[f|m],f":["老外公","老外爺","老姥爺"],"m,[f|m],m,":["老外婆","老外奶","老姥姥","老姥娘","老嫏娘"],"m,[f|m]":["外祖父母","外公外婆","姥姥姥爺"],"m,f,[f,xs|m,xb],s":["舅姑姥爺"],"m,[xb|xb,w]":["舅父母"],"m,xb,[s|d]":["舅表兄弟姐妹"],"m,[xs|xs,h]":["姨父母"],"m,xs,[s|d]":["姨兄弟姐妹","姨姐妹兄弟","從母兄弟姐妹"],"[f|m]":["父母","爹娘","爹媽","爸媽","爸爸媽媽","父母親","雙親","二親","兩親","二老","高堂"],"[f|m],[f,xs|m,xb],s":["舅姑爸","姑舅爸"],"[f|m],[f,xs|m,xb],s&o,w":["舅姑姆","姑舅姆"],"[f|m],[f,xs|m,xb],s&l,w":["舅姑嬸","姑舅嬸"],"[f|m],[f,xs|m,xb],d":["姑舅娘娘"],"[f|m],m,xs,s":["兩姨爸"],"[f|m],m,xs,s&o,w":["兩姨姆"],"[f|m],m,xs,s&l,w":["兩姨嬸"],"[f|m],m,xs,d":["兩姨娘娘"],"w,[f|m]":["嶽父母","嶽父嶽母","丈人丈母","舅姑"],"w,f,[ob|ob,w]":["伯嶽父母"],"w,f,[lb|lb,w]":["叔嶽父母"],"w,f,[xs|xs,h]":["姑嶽父母"],"w,m,[xb|xb,w]":["舅嶽父母"],"w,m,[xs|xs,h]":["姨嶽父母"],"w,[f,xs|m,xb],d":["姑舅姨子"],"w,[f,xs|m,xb],d,h":["姑舅連襟","姑舅連橋"],"h,[f|m]":["公婆","翁姑","姑翁","姑舅","大家官","公公婆婆","姑章","姑嫜"],"h,f,[ob|ob,w]":["伯公婆"],"h,f,[lb|lb,w]":["叔公婆"],"h,f,[xs|xs,h]":["姑公婆"],"h,m,[xb|xb,w]":["舅公婆"],"h,m,[xs|xs,h]":["姨公婆"],"[ob|lb]":["兄弟","晜弟","親兄弟","同胞兄弟"],"[ob|lb],w":["兄弟媳婦","兄弟婦"],"[os|ls]":["姐妹","親姐妹","同胞姐妹"],"[os|ls],h":["姐妹夫","姊妹婿"],"[xb|xs]":["兄弟姐妹","同胞","同胞兄弟姐妹","手足"],"[ob|os]":["哥哥姐姐"],"[lb|ls]":["弟弟妹妹"],"[ob|ob,w]":["哥哥嫂嫂","兄嫂"],"[f,xb|m,xs],[s|d]":["從兄弟姐妹","從姐妹兄弟"],"[f,xs|m,xb],[s|d]":["表兄弟姐妹","表姐妹兄弟","老表","阿表"],"[f,xs|m,xb],s":["姑舅兄弟","舅姑兄弟"],"[f,xs|m,xb],s&o":["姑舅哥","姑舅哥哥"],"[f,xs|m,xb],s&l":["姑舅弟","姑舅弟弟"],"[f,xs|m,xb],d":["姑舅姊妹","舅姑姊妹"],"[f,xs|m,xb],d&o":["姑舅姐","姑舅姐姐"],"[f,xs|m,xb],d&l":["姑舅妹","姑舅妹妹"],"[f,xs|m,xb],s,s":["姑舅兒子"],"[f,xs|m,xb],s,d":["姑舅女兒"],"[xb|xs],[s|d]":["侄甥"],"xb,[s|d]":["侄子女","侄子侄女"],"xs,[s|d]":["甥子女","外甥子女"],"[w|s|d]":["妻兒","妻小"],"[w|d]":["妻女"],"[s|d]":["子女","兒女","小孩","孩子","孩子們","孩兒","小孩兒","寶寶","寶貝","娃","娃子","兒輩","子輩","細伢","子息","子嗣","崽","幺兒"],"[s|d],[s|d]":["孫輩","孫息","孫枝"],"s,[s|d]":["孫子女"],"d,[s|d]":["外孫子女"],"s#xb,s":["子侄"],"s#s,w":["子媳"],"[s|d]#[s|d],[s|d]":["兒孫","子孫","孫息"],"[s,w|d,h],[f|m]":["親家","兒女親家"],"[s,w|d,h],f":["親家公","親家父","親家翁","親家世翁","姻翁"],"[s,w|d,h],f,f":["太姻翁"],"[s,w|d,h],f,m":["太姻姆"],"[s,w|d,h],f,f,f":["太姻翁"],"[s,w|d,h],f,f,m":["太姻姆"],"[s,w|d,h],f,f,ob":["姻伯翁"],"[s,w|d,h],f,f,ob,w":["姻伯姆"],"[s,w|d,h],f,f,lb":["姻叔翁"],"[s,w|d,h],f,f,lb,w":["姻叔母"],"[s,w|d,h],f,f,xb,s&o":["姻家兄"],"[s,w|d,h],f,f,xb,s&o,w":["姻家兄婦"],"[s,w|d,h],f,f,xb,s&l":["姻家弟"],"[s,w|d,h],f,f,xb,s&l,w":["姻家弟婦"],"[s,w|d,h],f,f,xb,s,s":["姻家侄"],"[s,w|d,h],f,f,xb,s,s,w":["姻家侄婦"],"[s,w|d,h],f,ob":["姻兄"],"[s,w|d,h],f,ob,w":["姻兄婦"],"[s,w|d,h],f,lb":["姻弟"],"[s,w|d,h],f,lb,w":["姻弟婦"],"[s,w|d,h],f,xb,s":["姻侄"],"[s,w|d,h],f,xb,s,w":["姻侄婦"],"[s,w|d,h],m":["親家母","親家婆","親家姆","親姆","姻姆"],"[s,w|d,h],m,ob":["姻仁兄"],"[s,w|d,h],m,ob,w":["姻仁兄婦"],"[s,w|d,h],m,lb":["姻仁弟"],"[s,w|d,h],m,lb,w":["姻仁弟婦"],"[s,w|d,h],[f|m],f":["姻太翁"],"[s,w|d,h],[f|m],m":["姻太姆"]}),r=function(s,f){let x={};for(let d in f){let m=d.match(/\{.+?\}/)[0],b=f[d];for(let f in s[m]){let h=s[m][f],l=d.replace(m,f),o=["h,h","w,w","w,h","h,w"].some((s=>l.includes(s)));if(!o){let s=[];h.forEach((function(f){b.forEach((function(x){x.includes("?")?s.push(x.replace("?",f)):s.push(f+x)}))})),x[l]||(x[l]=t[l]||[]),x[l]=s.concat(x[l])}}}return x},G={};for(let s in M){G[s]={};for(let f in M[s])-1==f.indexOf("]")&&(G[s][f]=M[s][f])}let c={};for(let s in M){c[s]={};for(let f in M[s])f.indexOf("]")>-1&&k(f).forEach((function(x){c[s][x]=M[s][f]}))}t=Object.assign({},t,r(G,w),r(c,w));for(let s in e)t[s]=[].concat(e[s],t[s]||[]);t.o=["passer-by.com","作者"];const n={w:["妻","內","嶽","嶽家","丈人"],h:["夫","外","公","婆家","婆婆"]};let a=new Set(Object.values(t).flat());for(let s in t)if(s.match(/^[fm]/)||s.match(/^[olx][bs]$|^[olx][bs],[^mf]/))for(let f in n){let x=f+","+s;if(s.match(/[fm]/)){let s=x.replace(/,[ol]([sb])(,[wh])?$/,",x$1$2").replace(/(,[sd])&[ol](,[wh])?$/,"$1$2");if(s!=x&&t[s])continue}t[x]||(t[x]=[]);let d=n[f],m=t[s];d.forEach((function(s){m.forEach((function(f){let d=s+f;a.has(d)||t[x].push(d)}))}))}const p=t;let i={},$=Object.assign({},p);function W(s,f){let x={f:["d","s"],m:["d","s"],h:["w",""],w:["","h"],s:["m","f"],d:["m","f"],lb:["os","ob"],ob:["ls","lb"],xb:["xs","xb"],ls:["os","ob"],os:["ls","lb"],xs:["xs","xb"]},d="";if(s.match(/&o$/)?d="&l":s.match(/&l$/)&&(d="&o"),s){s=s.replace(/&[ol\d+]/g,""),f<0&&(s.match(/^w/)?f=1:s.match(/^h/)&&(f=0));let m=[],b=function(f){let m=(","+f+","+s).replace(/,[fhs]|,[olx]b/g,",1").replace(/,[mwd]|,[olx]s/g,",0");m=m.substring(0,m.length-2);let b=s.split(",").reverse(),h=m.split(",").reverse(),l=b.map(((s,f)=>x[s][h[f]])),o=l.join(",");return o+(g(o)?"":d)};return f<0?(m.push(b(1)),m.push(b(0))):m.push(b(f)),m}return[""]}function u(s){let f=s.filter((s=>s==s.replace(/[ol](?=[s|b])/g,"x").replace(/&[ol]/,"")));return s.filter((s=>{let x=s.replace(/[ol](?=[s|b])/g,"x").replace(/&[ol]/,"");return f.includes(s)||s!=x&&!f.includes(x)})).filter(((s,f,x)=>x.indexOf(s)===f))}function g(s){let f={f:1,m:1,s:-1,d:-1},x=s.split(","),d=0;return x.forEach((function(s){let x=s.replace(/&[ol\d]+/,"");d+=f[x]||0})),d}function E(s){let f=[],x=function(s){let f=[];if($[s]){let x=s.replace(/(,[sd])(,[wh])?$/,"$1&o$2"),d=s.replace(/(,[sd])(,[wh])?$/,"$1&l$2");f=$[x]&&$[d]?[x,d]:[s]}return u(f).map((function(s){return $[s][0]}))};if(s.match(/&([\d]+)(,[hw])?$/)){let x=function(s){let f="";const x={1:"大",99:"小"};if(x[s])f=x[s];else{let x=~~(s/10),d=s%10;f=(x?(h[x]+"十").replace("一十","十"):"")+h[d]}return f}(s.match(/&([\d]+)(,[hw])?$/)[1]);if(s=s.replace(/&\d+/g,""),$[s]){let d="";g(s)<3&&!s.match(/[hw],/)?($[s].forEach((function(s){!d&&s.includes("幾")&&(d=s.replace("幾",x))})),d||(d=$[s][0].match(/^[大小]/)?$[s][0].replace(/^[大小]/,x):x+$[s][0])):d=$[s][0],f.push(d)}}else s=s.replace(/&\d+/g,"");if(f.length||(f=x(s)),f.length||(f=x(s=s.replace(/&[ol]/g,""))),f.length||(f=x(s=s.replace(/[ol](b|s)/g,"x$1"))),!f.length){let d=s.replace(/x/g,"l"),m=s.replace(/x/g,"o");f=f.concat(x(m),x(d))}return f}let j=Object.assign({},$,{xb:["兄弟"],xs:["姐妹"]});function y(s,f){let x=s.split(",").map((function(s){let f=s.replace(/&[ol\d]+/,"");return j[f][0]})).join("的");return f&&f>-1&&j[f+","+s]&&(0==f?x="(女性)"+x:1==f&&(x="(男性)"+x)),x}let O={};for(let s in $)$[s].forEach((function(f){void 0===O[f]&&(O[f]=[]),O[f].push(s)}));const S=O;function v(s){(s=s.replace(/之/g,"的").replace(/吾之?(.+)/,"$1").replace(/我的?(.+)/,"$1")).match(/[^娘婆嶽親]家的?(孩子|兒子|女兒)/)&&(s=s.replace(/家的?/,"的"));let f=(s=(s=(s=s.replace(/(舅|姑)+(爸|父|丈|媽|母)?家的?(哥|姐|弟|妹)+/,"$1表$3").replace(/(舅|姑)+(爸|父|丈|媽|母)?家的?/,"$1表")).replace(/(伯|叔)+(父|母)?家的?(哥|姐|弟|妹)+/,"堂$3").replace(/(伯|叔)+(父|母)?家的?/,"堂")).replace(/姨+(爸|父|丈|媽|母)?家的?(哥|姐|弟|妹)+/,"姨$2").replace(/姨+(爸|父|丈|媽|母)?家的?/,"姨")).split("的"),x=[],d=!0;for(;f.length;){let s=f.shift(),h=[],o=[s],M=function(s){m.forEach((f=>{f.arr.forEach((x=>{let d=s.replace(f.exp,x);d!=s&&(o.push(d),M(d))}))}));for(let f in b){let x=s.replace(f,b[f]),d=s.replace(b[f],f);x!=s&&o.push(x),d!=s&&o.push(d)}};M(s);let w=[[],[],[]];o.forEach((function(s){let f=(s=s.replace(/^[尕幺細滿碎晚末尾幼]/,"小")).match(/^[大|小]|^[一|二|三|四|五|六|七|八|九|十]+/);if(f){let x=s.replace(f[0],"幾"),d=s.replace(f[0],""),m=l(f[0]);[x,d,s].forEach((function(s,f){let x=S[s];x&&x.length&&x.forEach((function(x){let d=x.replace(/(,[hw])$/,"&"+m+"$1").replace(/([^hw]+)$/,"$1&"+m);x.match(/^[mf,]+$/)||s.match(/^[從世]/)||w[f].push(d)}))}))}h=h.concat(S[s]||[])})),w.forEach((function(s){h.length||(h=s)})),h.length||(d=!1);let e=[];x.length||(x=[""]),x.forEach((function(s){h.forEach((function(f){e.push(s+(f?","+f:""))}))})),x=e}return d?u(x):[]}function N(s){let{from:f,to:x,sex:d}=s;if(d<0){let s=-1,m=-1;if(f.match(/^,[w1]/)?m=1:f.match(/^,[h0]/)&&(m=0),x.match(/^,[w1]/)?s=1:x.match(/^,[h0]/)&&(s=0),-1==m&&s>-1)d=s;else if(m>-1&&-1==s)d=m;else{if(m!=s)return[];d=m}}let m=P(s.from,d),b=P(s.to,d);if(!m.length||!b.length)return[];let h=[];return m.forEach((function(f){b.forEach((function(x){let m=d,b=","+x;if(b.match(/,([fhs1](&[ol\d]+)?|[olx]b)(&[ol\d]+)?$/)&&(m=1),b.match(/,([mwd0](&[ol\d]+)?|[olx]s)(&[ol\d]+)?$/)&&(m=0),f&&x){let m=s.optimal;if((f.match(/&\d+/)||x.match(/&\d+/))&&(m=!0),m){let m=function(s){let{from:f,to:x,sex:d}=s,m=s.from.split(","),b=s.to.split(",");for(let h=0;h+w?m[h]=m[h].replace(/^[xol]b|^s/,"lb").replace(/^[xol]s|^d/,"ls"):+M<+w&&(m[h]=m[h].replace(/^[xol]b|^s/,"ob").replace(/^[xol]s|^d/,"os")),f=m.slice(h).join(","),x=b.slice(h+1).join(","),d=b[h].match(/^([fhs1](&[ol\d]+)?|[olx]b)(&[ol\d]+)?/)?1:0;else if(s.optimal&&(l=m[h].match(/([xol])[bs]/),o=b[h].match(/([xol])[bs]/),M=l?l[1]:"",w=o?o[1]:"","x"==M||"x"==w)){f=m.slice(h+1).join(","),x=b.slice(h+1).join(","),d=m[h].match(/^([fhs1](&[ol\d]+)?|[olx]b)(&[ol\d]+)?/)?1:0;continue}}break}f=m.slice(h+1).join(","),x=b.slice(h+1).join(","),d=m[h].match(/^([fhs1](&[ol\d]+)?|[olx]b)(&[ol\d]+)?/)?1:0}return{from:f,to:x,sex:d}}({from:f,to:x,sex:d,optimal:s.optimal});f=m.from,x=m.to,d=m.sex}}(x?W(x,d):[""]).forEach((function(s){let x=(s?","+s:"")+(f?","+f:"");h.push({selector:x,sex:m})}))}))})),h}function k(s){let f=[],x={},m=function(s){let b="";if(!x[s]){x[s]=!0;do{b=s;for(let f of d)if((s=s.replace(f.exp,f.str)).includes("#"))return s.split("#").forEach(m),!1}while(b!=s);if(s.match(/,[mwd0](&[ol\d+])?,w|,[hfs1](&[ol\d]+)?,h/))return!1;f.push(s)}};return m(s),f}function P(s,f){if(s.match(/^,/)||(s=","+s),f<0)s.match(/^,[w1]/)?f=1:s.match(/^,[h0]/)&&(f=0);else{if(1==f&&s.match(/^,[h0]/))return[];if(0==f&&s.match(/^,[w1]/))return[]}if(f>-1&&!s.includes(",1")&&!s.includes(",0")&&(s=","+f+s),s.match(/,[mwd0](&[ol\d]+)?,w|,[hfs1](&[ol\d]+)?,h/))return[];let x=k(s).map((function(s){return s.replace(/,[01]/,"").substr(1)}));return u(x)}var C=function(s){"string"==typeof s&&(s=function(s){for(let f of x){let x=s.match(f.exp);if(x)return f.opt(x)}return{}}(s));var f=Object.assign({text:"",target:"",sex:-1,type:"default",reverse:!1,mode:"default",optimal:!1},s);$=function(s){if($=Object.assign({},p),s&&i[s])for(let f in i[s])$[f]=[].concat(i[s][f],p[f]||[]);return $}(f.mode);var d=v(f.text),m=v(f.target);m.length||(m=[""]);var b=[];return d.forEach((function(s){m.forEach((function(x){N({from:s,to:x,sex:f.sex,optimal:f.optimal}).forEach((function(s){(s?P(s.selector,s.sex):[]).forEach((function(x){var d=[x],m=s.sex;f.reverse&&(d=W(x,m),m=x.match(/([fhs1](&[ol\d]+)?|[olx]b)$/)?1:0),"chain"==f.type?d.forEach((function(f){var x=y(f,s.sex);x&&b.push(x)})):"pair"==f.type?(d=W(x,s.sex)).forEach((function(s){var f=function(s,f){let x=[],d=[],m=[];s=s.replace(/&\d+/,""),f=f.replace(/&\d+/,"");let b=s.replace(/([ol])([bs])/,"x$2"),h=f.replace(/([ol])([bs])/,"x$2"),l=s.replace(/&[ol]/,""),M=f.replace(/&[ol]/,"");for(let w in o){let e=w.split("#");if(e.length>1){let t=P(e[0]),r=P(e[1]),G=t.map((function(s){return s.replace(/&[ol\d]+/,"").replace(/([ol])([bs])/,"x$2")})),c=r.map((function(s){return s.replace(/&[ol\d]+/,"").replace(/([ol])([bs])/,"x$2")}));(t.includes(s)&&r.includes(f)||t.includes(f)&&r.includes(s))&&x.push(o[w][0]),(G.includes(b)&&c.includes(h)||G.includes(h)&&c.includes(b))&&d.push(o[w][0]),(G.includes(l)&&c.includes(M)||G.includes(M)&&c.includes(l))&&m.push(o[w][0])}}return x.length||(x=d),x.length||(x=m),x}(x,s);b=b.concat(f)})):d.forEach((function(s){var f=E(s);f.length||(f=E(m+","+s)),b=b.concat(f)}))}))}))}))})),[...new Set(b)]};C.data=$,C.dataCount=Object.keys($).length,C.setMode=function(s,f){i[s]=Object.assign(i[s]||{},f)};const q=C;return f=f.default})())); \ No newline at end of file +!function(s,f){"object"==typeof exports&&"undefined"!=typeof module?module.exports=f():"function"==typeof define&&define.amd?define(f):(s="undefined"!=typeof globalThis?globalThis:s||self).relationship=f()}(this,(function(){"use strict";var s=[{exp:/^(\S+?)(應該|得)?(稱呼|叫|喊)(\S+?)(什麼|啥)??$/,opt:s=>({text:s[4],target:s[1]})},{exp:/^(\S+?)(應該|得)?(如何|怎麼)(稱呼|叫|喊)(\S+?)??$/,opt:s=>({text:s[5],target:s[1]})},{exp:/^(\S+?)是(\S+?)的(誰|什麼|什麼親戚|啥親戚|什麼人)??$/,opt:s=>({text:s[1],target:s[2],type:s[1].indexOf("的")>-1?"default":"chain"})},{exp:/^(\S+?)(應該|得)?管(\S+?)叫(什麼|啥)??$/,opt:s=>({text:s[3],target:s[1]})},{exp:/^(\S+?)(和|與)(\S+?)(之間)?是(什麼|啥)關系??$/,opt:s=>({text:s[1],target:s[3],type:"pair"})},{exp:/^(\S+?)對於(\S+?)是(什麼|啥)關系??$/,opt:s=>({text:s[1],target:s[2],type:"chain"})},{exp:/^(\S+?)(指的)?是(什麼|啥)(意思|關系|親戚關系|輩分|人)??$/,opt:s=>({text:s[1],type:"chain"})},{exp:/^(\S+?)(應該|得)?(稱呼|叫|喊)(什麼|啥)??$/,opt:s=>({text:s[1]})},{exp:/^(\S+?)(應該|得)?(如何|怎麼)(稱呼|叫|喊)??$/,opt:s=>({text:s[1]})},{exp:/^(\S+?)是(誰|什麼|什麼親戚|啥親戚|什麼人|什麼輩分|啥輩分)??$/,opt:s=>({text:s[1],type:s[1].indexOf("的")>-1?"default":"chain"})}];var f=[{exp:/^(.+)&o([^#]+)&l/g,str:"$1$2"},{exp:/^(.+)&l([^#]+)&o/g,str:"$1$2"},{exp:/^(.+)?,o([sb](&\d+)?)([^#]+)&l/g,str:"$1,x$2$4"},{exp:/^(.+)?,l([sb](&\d+)?)([^#]+)&o/g,str:"$1,x$2$4"},{exp:/(,o[sb](&\d+)?)+(,o[sb])(&\d+)?/,str:"$3$4"},{exp:/(,l[sb](&\d+)?)+(,l[sb])(&\d+)?/,str:"$3$4"},{exp:/^(.*,[fh1])(,[olx][sb](&\d+)?)+,[olx]b(.*)$/,str:"$1,xb$4#$1$4"},{exp:/^(.*,[mw0])(,[olx][sb](&\d+)?)+,[olx]s(.*)$/,str:"$1,xs$4#$1$4"},{exp:/(,[fh1])(,[olx][sb](&\d+)?)+,[olx]s/g,str:"$1,xs"},{exp:/(,[mw0])(,[olx][sb](&\d+)?)+,[olx]b/g,str:"$1,xb"},{exp:/^,[olx][sb](&\d+)?,[olx]b(.+)?$/,str:",xb$2#$2"},{exp:/^,[olx][sb](&\d+)?,[olx]s(.+)?$/,str:",xs$2#$2"},{exp:/^,x([sb])$/,str:",o$1#,l$1"},{exp:/m,h/g,str:"f"},{exp:/f,w/g,str:"m"},{exp:/,[xol][sb](&\d+)?(,[mf])/g,str:"$2"},{exp:/,[mf],d(&\d+)/,str:",xs$1"},{exp:/,[mf],d&([ol])/,str:",$1s"},{exp:/,[mf],s(&\d+)/,str:",xb$1"},{exp:/,[mf],s&([ol])/,str:",$1b"},{exp:/^(.*,[fh1]|[xol]b(&\d+)?),[mf],s(.*)$/,str:"$1,xb$3#$1$3"},{exp:/^(.*,[mw0]|[xol]s(&\d+)?),[mf],d(.*)$/,str:"$1,xs$3#$1$3"},{exp:/(,[mw0]|[xol]s(&\d+)?),[mf],s/,str:"$1,xb"},{exp:/(,[fh1]|[xol]b(&\d+)?),[mf],d/,str:"$1,xs"},{exp:/^,[mf],s(.+)?$/,str:",xb$1#,1$1"},{exp:/^,[mf],d(.+)?$/,str:",xs$1#,0$1"},{exp:/,[ds](&[ol\d]+)?,[olx]b(&\d+)/g,str:",s$2"},{exp:/,[ds](&[ol\d]+)?,[olx]s(&\d+)/g,str:",d$2"},{exp:/,[ds]&o,ob/g,str:",s&o"},{exp:/,[ds]&o,os/g,str:",d&o"},{exp:/,[ds]&l,lb/g,str:",s&l"},{exp:/,[ds]&l,ls/g,str:",d&l"},{exp:/,[ds](&[ol\d]+)?,[olx]s(&\d+)?/g,str:",d$2"},{exp:/,[ds](&[ol\d]+)?,[olx]b(&\d+)?/g,str:",s$2"},{exp:/(,[mwd0]|,[olx]s)(&[ol\d]+)?,[ds](&[ol\d]+)?,m/g,str:"$1"},{exp:/(,[mwd0]|,[olx]s)(&[ol\d]+)?,[ds](&[ol\d]+)?,f/g,str:"$1,h"},{exp:/(,[fhs1]|,[olx]b)(&[ol\d]+)?,[ds](&[ol\d]+)?,f/g,str:"$1"},{exp:/(,[fhs1]|,[olx]b)(&[ol\d]+)?,[ds](&[ol\d]+)?,m/g,str:"$1,w"},{exp:/^,[ds],m(.+)?$/,str:",w$1#$1"},{exp:/^,[ds],f(.+)?$/,str:",h$1#$1"},{exp:/,[wh](,[ds])/g,str:"$1"},{exp:/,w,h|,h,w/g,str:""},{exp:/(.+)?\[([^\|]+?)\|([^\[\]]*\|[^\[\]]*)\](.+)?/g,str:"$1$2$4#$1[$3]$4"},{exp:/(.+)?\[([^\[\]\|]+?)\|([^\[\]\|]+?)?\](.+)?/g,str:"$1$2$4#$1$3$4"}],x=[{exp:/^從表/,arr:["從父姑表","從父舅表","從父姨表","從母姑表","從母舅表","從母叔表"]},{exp:/^表表/,arr:["姑表叔表","姑表姑表","姑表舅表","姑表姨表","舅表叔表","舅表姑表","舅表舅表","舅表姨表"]},{exp:/^([夫妻內外]?)表/,arr:["$1姑表","$1舅表"]},{exp:/^([姑舅])表(?=[^伯叔])/,arr:["$1表伯","$1表叔"]},{exp:/^姻/,arr:["姑姻","姨姻","姊妹姻","女姻"]},{exp:/^眷/,arr:["叔眷","舅眷","兄弟眷","男眷"]},{exp:/^親家/,arr:["姊妹姻","兄弟眷"]},{exp:/^([堂表姨]?)([曾高天烈太遠鼻]?)(祖?)([伯叔姑舅姨])/,arr:["$1$4$2$3"]},{exp:/^([曾高天烈太遠鼻]?)祖?王姑/,arr:["姑$1祖母"]},{exp:/^([曾玄元來晜仍雲耳])([侄甥])/,arr:["$2$1"]},{exp:/^外表([伯叔姑舅姨])/,arr:["姑表$1外","舅表$1外"]},{exp:/([堂表姨]?)外甥/,arr:["$1甥"]},{exp:/^([舅叔])([曾玄外]*)孫/,arr:["$1侄$2孫"]},{exp:/^([姨姑])([曾玄外]*)孫/,arr:["$1甥$2孫"]},{exp:/([孫甥侄])$/,arr:["$1男","$1女"]},{exp:/([姑舅姨叔])([孫外]*)([男女])$/,arr:["$1表侄$2$3","$1表甥$2$3"]},{exp:/(.+)父母$/,arr:["$1父","$1母"]},{exp:/(.+)公婆$/,arr:["$1公","$1婆"]},{exp:/祖$/,arr:["祖父"]},{exp:/(新婦|媳)$/,arr:["媳婦"]},{exp:/嫂$/,arr:["兄婦"]},{exp:/女兒$/,arr:["女"]}],d={"晜":"兄","哥":"兄","姐":"姊","侄":"姪","婿":"壻","祖父":"王父","祖母":"王母","孫女婿":"孫婿","甥女婿":"甥婿","侄女婿":"侄婿","孫媳婦":"孫婦","甥媳婦":"甥婦","侄媳婦":"侄婦"};const m=["","一","二","三","四","五","六","七","八","九","十"];function b(s){let f=0;const x={"大":1,"小":99};if(x[s])f=x[s];else{let[x,d=0]=s.replace(/^十/,"一十").split("十").map((s=>m.indexOf(s))).reverse();f=10*d+x}return f}var h={"f#s":["父子"],"m#s":["母子"],"f#d":["父女"],"m#d":["母女"],"h#w":["夫妻"],"ob#lb":["兄弟"],"ob#ls":["兄妹"],"os#ls":["姐妹"],"os#lb":["姐弟"],"w,f#d,h":["翁婿"],"w,m#d,h":["母婿"],"h,f#s,w":["翁媳"],"h,m#s,w":["婆媳"],"f,[f|m]#s,[s|d]":["祖孫"],"m,f#d,[s|d]":["公孫"],"m,m#d,[s|d]":["婆孫"],"f,[ob|ob,w]#[lb|h,lb],[s|d]":["伯侄"],"f,lb#ob,[s|d]":["叔侄"],"f,lb,w#h,ob,[s|d]":["嬸侄"],"f,[xs|xs,h]#[xb|w,xb],[s|d]":["姑侄"],"m,[xb|xb,w]#[xs|h,xs],[s|d]":["舅甥"],"m,[xs|xs,h]#[xs|w,xs],[s|d]":["姨甥"],"f,xb,s&o#f,xb,s&l":["堂兄弟"],"f,xb,s&o#f,xb,d&l":["堂兄妹"],"f,xb,d&o#f,xb,s&l":["堂姐弟"],"f,xb,d&o#f,xb,d&l":["堂姐妹"],"f,xs,s&o#m,xb,s&l":["表兄弟"],"m,xb,s&o#f,xs,s&l":["表兄弟"],"f,xs,s&o#m,xb,d&l":["表兄妹"],"m,xb,s&o#f,xs,d&l":["表兄妹"],"f,xs,d&o#m,xb,d&l":["表姐妹"],"m,xb,d&o#f,xs,d&l":["表姐妹"],"f,xs,d&o#m,xb,s&l":["表姐弟"],"m,xb,d&o#f,xs,s&l":["表姐弟"],"m,xs,s&o#m,xs,s&l":["姨兄弟"],"m,xs,s&o#m,xs,d&l":["姨兄妹"],"m,xs,d&o#m,xs,s&l":["姨姐弟"],"m,xs,d&o#m,xs,d&l":["姨姐妹"],"h,ob,w#h,lb,w":["妯娌"],"w,os,h#w,ls,h":["連襟"],"w,os#ls,h":["襟姐弟"],"w,ls#os,h":["襟兄妹"],"xs,h#w,xb":["郎舅"],"xs,h#w,xs":["郎姨"],"lb,w#h,ob":["伯媳"],"ob,w#h,lb":["叔嫂"],"xb,w#h,xs":["姑嫂"],"d,h,[f|m]#s,w,[f|m]":["兒女親家"]},l={"{G2}":{"f,f,xb":["從祖"],"m,f,xb":["外從祖"]},"{G1}":{"f,xb":["堂","同堂","親堂","從父","叔伯","從"],"f,xs":["姑表","姑家"],"m,xb":["舅表","舅家"],"m,xs":["姨","從母","兩姨","姨表","從"],"f,f,xb,s":["從堂","再從父","遠堂","堂叔伯","叔伯叔伯","再從"],"f,f,xb,d":["堂姑表","從父姑表"],"f,f,xs,s":["姑表叔表"],"f,f,xs,d":["姑表姑表"],"f,m,xb,s":["舅表叔表"],"f,m,xb,d":["舅表姑表"],"f,m,xs,s":["從母叔表"],"f,m,xs,d":["從母姑表"],"m,f,xb,s":["堂舅表","從父舅表"],"m,f,xb,d":["堂姨表","從父姨表"],"m,f,xs,s":["姑表舅表"],"m,f,xs,d":["姑表姨表"],"m,m,xb,s":["舅表舅表"],"m,m,xb,d":["舅表姨表"],"m,m,xs,s":["從母舅表"],"m,m,xs,d":["再從母","姨姨","再從"],"f,f,f,xb,s,s":["三從父","再從堂","遠堂","族","三從"],"m,m,m,xs,d,d":["三從母","三從"],"f,f,f,f,xb,s,s,s":["四從父","三從堂","遠堂","族","四從"],"m,m,m,m,xs,d,d,d":["四從母","四從"],"[f|m],[f|m],[f|m],[f,xs|m,xb],[s|d],[s|d],[s|d]":["重表"],"[f|m],[f|m],[f,xs|m,xb],[s|d],[s|d]":["重表"]},"{G1M}":{"f,ob":["伯"],"f,lb":["叔","仲","季"],"m,xb":["舅"],"f,f,xb,s":["堂","從父","叔伯","從"],"f,f,xb,s&o":["堂伯","從父伯","叔伯伯","從伯"],"f,f,xb,s&l":["堂叔","從父叔","叔伯叔","從叔"],"f,f,f,xb,s,s":["從堂"],"f,f,f,xb,s,s&o":["從堂伯"],"f,f,f,xb,s,s&l":["從堂叔"],"f,f,f,f,xb,s,s,s":["族"],"f,f,xs,s&o":["姑表伯"],"f,f,xs,s&l":["姑表叔"],"f,m,xb,s&o":["舅表伯"],"f,m,xb,s&l":["舅表叔"],"f,m,xs,s&o":["姨伯","從母伯","從伯"],"f,m,xs,s&l":["姨叔","從母叔","從叔"],"m,f,xb,s":["堂舅","從父舅"],"m,f,xs,s":["姑表舅"],"m,m,xb,s":["舅表舅"],"m,m,xs,s":["姨舅","從母舅"],"f,[f|m],[f|m],[f,xs|m,xb],[s|d],[s|d],s&o":["重表伯"],"f,[f|m],[f|m],[f,xs|m,xb],[s|d],[s|d],s&l":["重表叔"],"f,[f|m],[f,xs|m,xb],[s|d],s&o":["重表伯"],"f,[f|m],[f,xs|m,xb],[s|d],s&l":["重表叔"],"m,[f|m],[f|m],[f,xs|m,xb],[s|d],[s|d],s":["重表舅"],"m,[f|m],[f,xs|m,xb],[s|d],s":["重表舅"]},"{G1W}":{"f,xs":["姑"],"m,xs":["姨","姏","茙","荻"],"f,f,xb,d":["堂姑","從父姑"],"f,f,f,xb,s,d":["從堂姑"],"f,f,xs,d":["姑表姑"],"f,m,xb,d":["舅表姑"],"f,m,xs,d":["姨姑","從母姑"],"m,f,xb,d":["堂姨","從父姨"],"m,f,xs,d":["姑表姨"],"m,m,xb,d":["舅表姨"],"m,m,xs,d":["姨姨","從母姨"],"f,[f|m],[f|m],[f,xs|m,xb],[s|d],[s|d],d":["重表姑"],"f,[f|m],[f,xs|m,xb],[s|d],d":["重表姑"],"m,[f|m],[f|m],[f,xs|m,xb],[s|d],[s|d],d":["重表姨"],"m,[f|m],[f,xs|m,xb],[s|d],d":["重表姨"]},"{G0}":{xb:["侄"],"1,xb":["從"],"1,f,xb,s":["再從"],"1,f,f,xb,s,s":["三從"],"h,xb":["叔侄","叔伯"],"w,xb":["舅侄"],xs:["甥","外甥"],"0,xs":["從"],"0,m,xs,d":["再從"],"0,m,m,xs,d,d":["三從"],"h,xs":["姑甥"],"w,xs":["姨甥","襟侄"]},"{M2W}":{"f,f,xb,w":["叔祖眷"],"m,f,xb,w":["叔外祖眷"],"f,m,xb,w":["舅祖眷"],"m,m,xb,w":["舅外祖眷"]},"{M2M}":{"f,f,xs,h":["姑祖姻"],"m,f,xs,h":["姑外祖姻"],"f,m,xs,h":["姨祖姻"],"m,m,xs,h":["姨外祖姻"]},"{M1W}":{"f,xb,w":["叔眷"],"f,f,xb,s,w":["從父叔眷"],"f,f,xs,s,w":["姑表叔眷"],"f,m,xb,s,w":["舅表叔眷"],"f,m,xs,s,w":["姨表叔眷"],"m,xb,w":["舅眷"],"m,f,xb,s,w":["從父舅眷"],"m,f,xs,s,w":["姑表舅眷"],"m,m,xb,s,w":["舅表舅眷"],"m,m,xs,s,w":["姨表舅眷"]},"{M1M}":{"f,xs,h":["姑姻"],"f,f,xb,d,h":["從父姑姻"],"f,f,xs,d,h":["姑表姑姻"],"f,m,xb,d,h":["舅表姑姻"],"f,m,xs,d,h":["姨表姑姻"],"m,xs,h":["姨姻"],"m,f,xb,d,h":["從父姨姻"],"m,f,xs,d,h":["姑表姨姻"],"m,m,xb,d,h":["舅表姨姻"],"m,m,xs,d,h":["姨表姨姻"]},"{M0}":{"xb,w":["兄弟眷"],"xs,h":["姊妹姻"],"w,xb,w":["舅兄弟眷","內兄弟眷"],"w,xs,h":["姨姊妹姻","內姊妹姻"],"h,xb,w":["叔兄弟眷","外兄弟眷"],"h,xs,h":["姑姊妹姻","外姊妹姻"],"f,xb,s,w":["從父兄弟眷"],"f,xb,d,h":["從父姊妹姻"],"f,xs,s,w":["姑表兄弟眷"],"f,xs,d,h":["姑表姊妹姻"],"m,xb,s,w":["舅表兄弟眷"],"m,xb,d,h":["舅表姊妹姻"],"m,xs,s,w":["從母兄弟眷"],"m,xs,d,h":["從母姊妹姻"]},"{M-1}":{"s,w":["男眷","息眷"],"d,h":["女姻","息姻"],"xb,s,w":["侄眷"],"xb,d,h":["侄姻"],"xs,s,w":["甥眷"],"xs,d,h":["甥姻"],"h,xb,s,w":["叔侄眷"],"h,xb,d,h":["叔侄姻"],"h,xs,s,w":["姑甥眷"],"h,xs,d,h":["姑甥姻"],"w,xb,s,w":["舅侄眷"],"w,xb,d,h":["舅侄姻"],"w,xs,s,w":["姨甥眷"],"w,xs,d,h":["姨甥姻"],"f,xb,s,s,w":["堂侄眷"],"f,xb,s,d,h":["堂侄姻"],"f,xb,d,s,w":["堂甥眷"],"f,xb,d,d,h":["堂甥姻"],"f,xs,s,s,w":["姑表侄眷"],"f,xs,s,d,h":["姑表侄姻"],"f,xs,d,s,w":["姑表甥眷"],"f,xs,d,d,h":["姑表甥姻"],"m,xb,s,s,w":["舅表侄眷"],"m,xb,s,d,h":["舅表侄姻"],"m,xb,d,s,w":["舅表甥眷"],"m,xb,d,d,h":["舅表甥姻"],"m,xs,s,s,w":["姨侄眷"],"m,xs,s,d,h":["姨侄姻"],"m,xs,d,s,w":["姨甥眷"],"m,xs,d,d,h":["姨甥姻"]},"{M-2}":{"s,s,w":["孫眷"],"s,d,h":["孫姻"],"d,s,w":["外孫眷"],"d,d,h":["外孫姻"],"xb,s,s,w":["侄孫眷"],"xb,s,d,h":["侄孫姻"],"xb,d,s,w":["侄外孫眷"],"xb,d,d,h":["侄外孫姻"],"xs,s,s,w":["甥孫眷"],"xs,s,d,h":["甥孫姻"],"xs,d,s,w":["甥外孫眷"],"xs,d,d,h":["甥外孫姻"],"h,xb,s,s,w":["叔侄孫眷","叔伯孫眷","叔孫眷"],"h,xb,s,d,h":["叔侄孫姻","叔伯孫姻","叔孫姻"],"h,xb,d,s,w":["叔侄外孫眷","叔伯外孫眷","叔外孫眷"],"h,xb,d,d,h":["叔侄外孫姻","叔伯外孫姻","叔外孫姻"],"h,xs,s,s,w":["姑甥孫眷","姑孫眷"],"h,xs,s,d,h":["姑甥孫姻","姑孫姻"],"h,xs,d,s,w":["姑甥外孫眷","姑外孫眷"],"h,xs,d,d,h":["姑甥外孫姻","姑外孫姻"],"w,xb,s,s,w":["舅侄孫眷","舅孫眷"],"w,xb,s,d,h":["舅侄孫姻","舅孫姻"],"w,xb,d,s,w":["舅侄外孫眷","舅外孫眷"],"w,xb,d,d,h":["舅侄外孫姻","舅外孫姻"],"w,xs,s,s,w":["姨甥孫眷","姨孫眷"],"w,xs,s,d,h":["姨甥孫姻","姨孫姻"],"w,xs,d,s,w":["姨甥外孫眷","姨外孫眷"],"w,xs,d,d,h":["姨甥外孫姻","姨外孫姻"]}},M={"{G2}":["祖父"],"{G2},w":["祖母"],"{G2},s":["父"],"{G2},s,w":["母"],"{G2},s,s":["兄弟"],"{G2},s,s&o":["兄"],"{G2},s,s&l":["弟"],"{G2},s,d":["姊妹"],"{G2},s,d&o":["姊"],"{G2},s,d&l":["妹"],"{G2},s,s,s":["男","子"],"{G2},s,s,d":["女"],"f,f,f,f,f,f,f,f,{G1M}":["鼻祖父"],"f,f,f,f,f,f,f,f,{G1M},w":["鼻祖母"],"f,f,f,f,f,f,f,f,{G1W}":["鼻祖母"],"f,f,f,f,f,f,f,f,{G1W},h":["鼻祖父"],"f,f,f,f,f,f,f,{G1M}":["遠祖父"],"f,f,f,f,f,f,f,{G1M},w":["遠祖母"],"f,f,f,f,f,f,f,{G1W}":["遠祖母"],"f,f,f,f,f,f,f,{G1W},h":["遠祖父"],"f,f,f,f,f,f,{G1M}":["太祖父"],"f,f,f,f,f,f,{G1M},w":["太祖母"],"f,f,f,f,f,f,{G1W}":["姑太祖母"],"f,f,f,f,f,f,{G1W},h":["姑太祖父"],"f,f,f,f,f,{G1M}":["烈祖父"],"f,f,f,f,f,{G1M},w":["烈祖母"],"f,f,f,f,f,{G1W}":["烈祖母"],"f,f,f,f,f,{G1W},h":["烈祖父"],"f,f,f,f,{G1M}":["天祖父"],"f,f,f,f,{G1M},w":["天祖母"],"f,f,f,f,{G1W}":["天祖母"],"f,f,f,f,{G1W},h":["天祖父"],"f,f,f,{G1M}":["高祖父","外曾外曾外毑父"],"f,f,f,{G1M},w":["高祖母","外曾外曾外毑母"],"f,f,f,{G1W}":["高祖母","外曾外曾外毑母"],"f,f,f,{G1W},h":["高祖父","外曾外曾外毑父"],"f,f,m,{G1M}":["高外祖父","外曾外曾毑父"],"f,f,m,{G1M},w":["高外祖母","外曾外曾毑母"],"f,f,m,{G1W}":["高外祖母","外曾外曾毑母"],"f,f,m,{G1W},h":["高外祖父","外曾外曾毑父"],"f,m,f,{G1M}":["曾外曾祖父","外高外毑父"],"f,m,f,{G1M},w":["曾外曾祖母","外高外毑母"],"f,m,f,{G1W}":["曾外曾祖母","外高外毑母"],"f,m,f,{G1W},h":["曾外曾祖父","外高外毑父"],"f,m,m,{G1M}":["曾外曾外祖父","外高毑父"],"f,m,m,{G1M},w":["曾外曾外祖母","外高毑母"],"f,m,m,{G1W}":["曾外曾外祖母","外高毑母"],"f,m,m,{G1W},h":["曾外曾外祖父","外高毑父"],"m,f,f,{G1M}":["外高祖父","曾外曾外毑父"],"m,f,f,{G1M},w":["外高祖母","曾外曾外毑母"],"m,f,f,{G1W}":["外高祖母","曾外曾外毑母"],"m,f,f,{G1W},h":["外高祖父","曾外曾外毑父"],"m,f,m,{G1M}":["外高外祖父","曾外曾祖毑父"],"m,f,m,{G1M},w":["外高外祖母","曾外曾祖毑母"],"m,f,m,{G1W}":["外高外祖母","曾外曾祖毑母"],"m,f,m,{G1W},h":["外高外祖父","曾外曾祖毑父"],"m,m,f,{G1M}":["外曾外曾祖父","高外毑父"],"m,m,f,{G1M},w":["外曾外曾祖母","高外毑母"],"m,m,f,{G1W}":["外曾外曾祖母","高外毑母"],"m,m,f,{G1W},h":["外曾外曾祖父","高外毑父"],"m,m,m,{G1M}":["外曾外曾外祖父","高毑父"],"m,m,m,{G1M},w":["外曾外曾外祖母","高毑母"],"m,m,m,{G1W}":["外曾外曾外祖母","高毑母"],"m,m,m,{G1W},h":["外曾外曾外祖父","高毑父"],"f,f,{G1M}":["?曾祖父","曾?祖父","?太公","太?公","?公太","太?爺","?太爺","?太爺爺","太?爺爺"],"f,f,{G1M},w":["?曾祖母","曾?祖母","?太婆","太?婆","?婆太","太?奶","?太奶","?太奶奶","太?奶奶"],"f,f,{G1W}":["?曾祖母","曾?祖母","?太婆","太?婆","?婆太","太?奶","?太奶","?太奶奶","太?奶奶"],"f,f,{G1W},h":["?曾祖父","曾?祖父","?太公","太?公","?公太","太?爺","?太爺","?太爺爺","太?爺爺"],"f,m,{G1M}":["?曾外祖父","曾外?祖父","?太外公","太外?公","太外?爺","?太外爺","?太外爺爺","太外?爺爺"],"f,m,{G1M},w":["?曾外祖母","曾外?祖母","?太外婆","太外?婆","太外?奶","?太外奶","?太外奶奶","太外?奶奶"],"f,m,{G1W}":["?曾外祖母","曾外?祖母","?太外婆","太外?婆","太外?奶","?太外奶","?太外奶奶","太外?奶奶"],"f,m,{G1W},h":["?曾外祖父","曾外?祖父","?太外公","太外?公","太外?爺","?太外爺","?太外爺爺","太外?爺爺"],"m,f,{G1M}":["?外曾祖父","外曾?祖父","?外太公","外太?公","外太?爺","?外太爺","?外太爺爺","外太?爺爺"],"m,f,{G1M},w":["?外曾祖母","外曾?祖母","?外太婆","外太?婆","外太?奶","?外太奶","?外太奶奶","外太?奶奶"],"m,f,{G1W}":["?外曾祖母","外曾?祖母","?外太婆","外太?婆","外太?奶","?外太奶","?外太奶奶","外太?奶奶"],"m,f,{G1W},h":["?外曾祖父","外曾?祖父","?外太公","外太?公","外太?爺","?外太爺","?外太爺爺","外太?爺爺"],"m,m,{G1M}":["?外曾外祖父","外曾外?祖父","?外太外公","外太外?公","外太外?爺","?外太外爺","?外太外爺爺","外太外?爺爺"],"m,m,{G1M},w":["?外曾外祖母","外曾外?祖母","?外太外婆","外太外?婆","外太外?奶","?外太外奶","?外太外奶奶","外太外?奶奶"],"m,m,{G1W}":["?外曾外祖母","外曾外?祖母","?外太外婆","外太外?婆","外太外?奶","?外太外奶","?外太外奶奶","外太外?奶奶"],"m,m,{G1W},h":["?外曾外祖父","外曾外?祖父","?外太外公","外太外?公","外太外?爺","?外太外爺","?外太外爺爺","外太?外爺爺"],"f,{G1M}":["祖父","公","太?父","奶爺","爺爺","爺"],"f,{G1M},w":["祖母","婆","太?母","奶奶","奶"],"f,{G1W}":["祖母","婆","太?母","奶奶","奶"],"f,{G1W},h":["祖父","公","太?父","奶爺","爺爺","爺"],"m,{G1M}":["外祖父","外公","外爺","外?公","外?祖父","外太?父","太外?父","姥爺","姥公","毑公","毑爺","毑父","嘎公"],"m,{G1M},w":["外祖母","外婆","外奶","外?婆","外?祖母","外太?母","太外?母","姥姥","姥娘","姥婆","毑婆","毑毑","毑母","嘎嘎","嫏嫏","嫏娘","姥"],"m,{G1W}":["外祖母","外婆","外奶","外?婆","外?祖母","外太?母","太外?母","姥姥","姥娘","姥婆","毑婆","毑毑","毑母","嘎嘎","嫏嫏","嫏娘","姥"],"m,{G1W},h":["外祖父","外公","外爺","外?公","外?祖父","外太?父","太外?父","姥爺","姥公","毑公","毑爺","毑父","嘎公"],"f,f,{G1},s&o":["伯祖父","伯爺爺"],"f,f,{G1},s&o,w":["伯祖母","伯奶奶"],"f,f,{G1},s&l":["叔祖父","叔爺爺"],"f,f,{G1},s&l,w":["叔祖母","叔奶奶"],"f,f,{G1},d":["姑祖母","姑奶奶"],"f,f,{G1},d,h":["姑祖父","姑爺爺"],"f,m,{G1},s":["舅祖父","舅爺爺"],"f,m,{G1},s,w":["舅祖母","舅奶奶"],"f,m,{G1},d":["姨祖母","姨奶奶"],"f,m,{G1},d,h":["姨祖父","姨爺爺"],"m,f,{G1},s&o":["伯外祖父","伯外公","伯姥爺"],"m,f,{G1},s&o,w":["伯外祖母","伯外婆","伯姥姥"],"m,f,{G1},s&l":["叔外祖父","叔外公","叔姥爺"],"m,f,{G1},s&l,w":["叔外祖母","叔外婆","叔姥姥"],"m,f,{G1},d":["姑外祖母","姑外婆","姑姥姥"],"m,f,{G1},d,h":["姑外祖父","姑外公","姑姥爺"],"m,m,{G1},s":["舅外祖父","舅外公","舅姥爺"],"m,m,{G1},s,w":["舅外祖母","舅外婆","舅姥姥"],"m,m,{G1},d":["姨外祖母","姨外公","姨姥爺"],"m,m,{G1},d,h":["姨外祖父","姨外婆","姨姥姥"],"{G1M}":["父"],"{G1M},w":["母"],"{G1W}":["母"],"{G1W},h":["父"],"f,{G1},s&o":["伯父","伯伯","伯","大爺"],"f,{G1},s&o,w":["伯母","大娘"],"f,{G1},s&l":["叔父","叔爸","叔叔","叔"],"f,{G1},s&l,w":["叔母","嬸"],"f,{G1},d":["姑母","姑姑","姑媽","姑"],"f,{G1},d,h":["姑父"],"m,{G1},s":["舅父","舅舅","舅爸","舅"],"m,{G1},s,w":["舅母","舅媽"],"m,{G1},d":["姨母","姨姨","姨媽","姨"],"m,{G1},d,h":["姨父","姨爸","姨丈"],"{G1},s":["兄弟"],"{G1},s,w":["兄弟婦"],"{G1},s&o":["哥","兄"],"{G1},s&o,w":["嫂","嫂子","兄婦"],"{G1},s&l":["弟"],"{G1},s&l,w":["弟媳","弟婦"],"{G1},s,s":["侄男","侄子","侄兒"],"{G1},s,s,w":["侄婦"],"{G1},s,s,s":["侄孫男"],"{G1},s,s,s,w":["侄孫婦"],"{G1},s,s,s,s":["侄曾孫男"],"{G1},s,s,s,s,w":["侄曾孫婦"],"{G1},s,s,s,s,s":["侄玄孫男"],"{G1},s,s,s,s,s,w":["侄玄孫婦"],"{G1},s,s,s,s,d":["侄玄孫女"],"{G1},s,s,s,s,d,h":["侄玄孫婿"],"{G1},s,s,d":["侄孫女"],"{G1},s,s,d,h":["侄孫婿"],"{G1},s,s,s,d":["侄曾孫女"],"{G1},s,s,s,d,h":["侄曾孫婿"],"{G1},s,d":["侄女","侄女兒"],"{G1},s,d,h":["侄婿"],"{G1},s,d,s":["侄外孫男","外孫男"],"{G1},s,d,s,w":["侄外孫婦"],"{G1},s,d,d":["侄外孫女","外孫女"],"{G1},s,d,d,h":["侄外孫婿"],"{G1},d":["姐妹"],"{G1},d,h":["姐妹壻"],"{G1},d&o":["姐"],"{G1},d&o,h":["姐夫"],"{G1},d&l":["妹"],"{G1},d&l,h":["妹夫"],"{G1},d,s":["甥男"],"{G1},d,s,w":["甥婦"],"{G1},d,s,s":["甥孫男"],"{G1},d,s,s,w":["甥孫婦"],"{G1},d,s,d":["甥孫女"],"{G1},d,s,d,h":["甥孫婿"],"{G1},d,d":["甥女"],"{G1},d,d,h":["甥婿"],"{G1},d,d,s":["甥外孫男","外孫男"],"{G1},d,d,s,w":["甥外孫婦"],"{G1},d,d,d":["甥外孫女","外孫女"],"{G1},d,d,d,h":["甥外孫婿"],"h,f,{G1M}":["祖公父","祖公","祖翁","奶公"],"h,f,{G1M},w":["祖婆母","祖婆","祖姆","奶婆"],"h,f,{G1W}":["祖婆母","祖婆","祖姆","奶婆"],"h,f,{G1W},h":["祖公父","祖公","祖翁","奶公"],"h,m,{G1M}":["外祖公父","外祖公","外祖翁","姥公"],"h,m,{G1M},w":["外祖婆母","外祖婆","外祖姆","姥婆"],"h,m,{G1W}":["外祖婆母","外祖婆","外祖姆","姥婆"],"h,m,{G1W},h":["外祖公父","外祖公","外祖翁","姥公"],"h,{G1M}":["公父","公公"],"h,{G1M},w":["婆母","婆婆"],"h,{G1W}":["婆母","婆婆"],"h,{G1W},h":["公父","公公"],"h,{G1},s&o":["大伯子","大伯兄"],"h,{G1},s&o,w":["大嬸子","大伯嫂"],"h,{G1},s&l":["小叔子","小叔弟"],"h,{G1},s&l,w":["小嬸子","小叔弟婦"],"h,{G1},s":["伯叔"],"h,{G1},s,w":["妯娌"],"h,{G1},d&o":["大姑子","大姑姐"],"h,{G1},d&o,h":["大姑夫","大姑姐夫"],"h,{G1},d&l":["小姑子","小姑妹"],"h,{G1},d&l,h":["小姑夫","小姑妹夫"],"h,{G1},d":["姑子"],"h,{G1},d,h":["姑夫"],"w,f,{G1M}":["祖嶽父","太?嶽","祖丈人","爺丈人","奶爺丈人"],"w,f,{G1M},w":["祖嶽母","太?嶽母","祖丈母","祖丈母娘","奶丈母娘","奶丈母"],"w,f,{G1W}":["祖嶽母","太?嶽母","祖丈母","祖丈母娘","奶丈母娘","奶丈母"],"w,f,{G1W},h":["祖嶽父","太?嶽父","祖丈人","爺丈人","奶爺丈人"],"w,m,{G1M}":["外祖嶽父","外太?嶽父","太外?嶽父","外祖丈人","姥爺丈人"],"w,m,{G1M},w":["外祖嶽母","外太?嶽母","太外?嶽母","外祖丈母","外祖丈母娘","姥丈母娘","姥丈母"],"w,m,{G1W}":["外祖嶽母","外太?嶽母","太外?嶽母","外祖丈母","外祖丈母娘","姥丈母娘","姥丈母"],"w,m,{G1W},h":["外祖嶽父","外太?嶽父","太外?嶽父","外祖丈人","外爺丈人","姥爺丈人"],"w,{G1M}":["嶽父","丈人","丈人爹"],"w,{G1M},w":["嶽母","丈母","丈母娘"],"w,{G1W}":["嶽母","丈母","丈母娘"],"w,{G1W},h":["嶽父","丈人","丈人爹"],"w,{G1},s&o":["大舅子","大舅兄","舅兄"],"w,{G1},s&o,w":["大舅婦","大舅姆","大舅兄婦","舅兄婦","舅姐","大舅姐","大妗子","大妗兒"],"w,{G1},s&l":["小舅子","小舅弟","舅弟"],"w,{G1},s&l,w":["小舅婦","小舅姆","小舅弟婦","舅弟婦","舅妹","小舅妹","小妗子","小妗兒"],"w,{G1},s":["舅子"],"w,{G1},s,w":["舅嫂"],"w,{G1},d&o":["大姨子","大姨姐","姨姐"],"w,{G1},d&o,h":["大姨夫","大姨姐夫","襟兄","姨兄","大姨哥","大尹子"],"w,{G1},d&l":["小姨子","小姨妹","姨妹"],"w,{G1},d&l,h":["小姨夫","小姨妹夫","襟弟","姨弟","小姨弟","小尹子"],"w,{G1},d":["姨子"],"w,{G1},d,h":["連襟","連橋"],"{G0},s":["男","男兒","兒","子","兒子"],"{G0},s,w":["媳婦","媳","婦"],"{G0},s,s":["孫","孫男","孫子"],"{G0},s,s,w":["孫婦"],"{G0},s,s,s":["曾孫","曾孫男"],"{G0},s,s,s,w":["曾孫婦"],"{G0},s,s,s,s":["玄孫","玄孫男","元孫","元孫男"],"{G0},s,s,s,s,w":["玄孫婦"],"{G0},s,s,s,d":["玄孫女","元孫女"],"{G0},s,s,s,d,h":["玄孫婿"],"{G0},s,s,d":["曾孫女"],"{G0},s,s,d,h":["曾孫婿"],"{G0},s,s,d,s":["玄外孫","玄外孫男"],"{G0},s,s,d,s,w":["玄外孫婦"],"{G0},s,s,d,d":["玄外孫女"],"{G0},s,s,d,d,h":["玄外孫婿"],"{G0},s,d":["孫女"],"{G0},s,d,h":["孫婿"],"{G0},s,d,s":["曾外孫","曾外孫男"],"{G0},s,d,s,w":["曾外孫婦"],"{G0},s,d,s,s":["曾外曾孫","曾外曾孫男"],"{G0},s,d,s,s,w":["曾外曾孫婦"],"{G0},s,d,s,d":["曾外曾孫女"],"{G0},s,d,s,d,h":["曾外曾孫婿"],"{G0},s,d,d":["曾外孫女"],"{G0},s,d,d,h":["曾外孫婿"],"{G0},s,d,d,s":["曾外曾外孫","曾外曾外孫男"],"{G0},s,d,d,s,w":["曾外曾外孫婦"],"{G0},s,d,d,d":["曾外曾外孫女"],"{G0},s,d,d,d,h":["曾外曾外孫婿"],"{G0},d":["女","女兒"],"{G0},d,h":["女婿","婿"],"{G0},d,s":["外孫","外孫男"],"{G0},d,s,w":["外孫婦"],"{G0},d,s,s":["外曾孫","外曾孫男"],"{G0},d,s,s,w":["外曾孫婦"],"{G0},d,s,s,s":["外玄孫","外玄孫男"],"{G0},d,s,s,d":["外玄孫女"],"{G0},d,s,d":["外曾孫女"],"{G0},d,s,d,h":["外曾孫婿"],"{G0},d,s,d,s":["外玄外孫","外玄外孫男"],"{G0},d,s,d,d":["外玄外孫女"],"{G0},d,d":["外孫女"],"{G0},d,d,h":["外孫婿"],"{G0},d,d,s":["外曾外孫","外曾外孫男"],"{G0},d,d,s,w":["外曾外孫婦"],"{G0},d,d,s,s":["外曾外曾孫","外曾外曾孫男"],"{G0},d,d,s,d":["外曾外曾孫女"],"{G0},d,d,d":["外曾外孫女"],"{G0},d,d,d,h":["外曾外孫婿"],"{G0},d,d,d,s":["外曾外曾外孫"],"{G0},d,d,d,d":["外曾外曾外孫女"],"{M2W},xb":["舅祖父"],"{M2W},xb,w":["舅祖母"],"{M2W},xb,s&o":["舅表伯父"],"{M2W},xb,s&o,w":["舅表伯母"],"{M2W},xb,s&l":["舅表叔父"],"{M2W},xb,s&l,w":["舅表叔母"],"{M2W},xb,d":["舅表姑母"],"{M2W},xb,d,h":["舅表姑父"],"{M2W},xs":["姨祖母"],"{M2W},xs,h":["姨祖父"],"{M2W},xs,s&o":["姨伯父"],"{M2W},xs,s&o,w":["姨伯母"],"{M2W},xs,s&l":["姨叔父"],"{M2W},xs,s&l,w":["姨叔母"],"{M2W},xs,d":["姨姑母"],"{M2W},xs,d,h":["姨姑父"],"{M2M},xb":["叔祖父"],"{M2M},xb,w":["叔祖母"],"{M2M},xb,s&o":["堂伯父"],"{M2M},xb,s&o,w":["堂伯母"],"{M2M},xb,s&l":["堂叔父"],"{M2M},xb,s&l,w":["堂叔母"],"{M2M},xb,d":["堂姑母"],"{M2M},xb,d,h":["堂姑父"],"{M2M},xs":["姑祖母"],"{M2M},xs,h":["姑祖父"],"{M2M},xs,s&o":["姑表伯父"],"{M2M},xs,s&o,w":["姑表伯母"],"{M2M},xs,s&l":["姑表叔父"],"{M2M},xs,s&l,w":["姑表叔母"],"{M2M},xs,d":["姑表姑母"],"{M2M},xs,d,h":["姑表姑父"],"{M1W},f":["外祖父"],"{M1W},f,xb,s":["堂舅父"],"{M1W},f,xb,s,w":["堂舅母"],"{M1W},f,xb,d":["堂姨母"],"{M1W},f,xb,d,h":["堂姨父"],"{M1W},f,ob":["伯外祖父"],"{M1W},f,ob,w":["伯外祖母"],"{M1W},f,lb":["叔外祖父"],"{M1W},f,lb,w":["叔外祖母"],"{M1W},f,xs":["姑外祖母"],"{M1W},f,xs,h":["姑外祖父"],"{M1W},f,xs,s":["姑表舅父"],"{M1W},f,xs,s,w":["姑表舅母"],"{M1W},f,xs,d":["姑表姨母"],"{M1W},f,xs,d,h":["姑表姨父"],"{M1W},m":["外祖母"],"{M1W},m,xb":["舅外祖父"],"{M1W},m,xb,w":["舅外祖母"],"{M1W},m,xb,s":["舅表舅父"],"{M1W},m,xb,s,w":["舅表舅母"],"{M1W},m,xb,d":["舅表姨母"],"{M1W},m,xb,d,h":["舅表姨父"],"{M1W},m,xs":["姨外祖母"],"{M1W},m,xs,h":["姨外祖父"],"{M1W},m,xs,s":["姨舅父"],"{M1W},m,xs,s,w":["姨舅母"],"{M1W},m,xs,d":["姨姨母"],"{M1W},m,xs,d,h":["姨姨父"],"{M1W},xb":["舅父"],"{M1W},xb,w":["舅母"],"{M1W},xb,[s|d]":["舅表兄弟姊妹"],"{M1W},xb,s":["舅表兄弟"],"{M1W},xb,s,w":["舅表兄弟婦"],"{M1W},xb,s&o":["舅表兄"],"{M1W},xb,s&o,w":["舅表兄婦"],"{M1W},xb,s&l":["舅表弟"],"{M1W},xb,s&l,w":["舅表弟婦"],"{M1W},xb,s,s":["舅表侄男","侄男"],"{M1W},xb,s,s,w":["舅表侄婦","侄婦"],"{M1W},xb,s,d":["舅表侄女","侄女"],"{M1W},xb,s,d,h":["舅表侄婿","侄婿"],"{M1W},xb,d":["舅表姊妹"],"{M1W},xb,d,h":["舅表姊妹壻"],"{M1W},xb,d&o":["舅表姊"],"{M1W},xb,d&o,h":["舅表姊壻"],"{M1W},xb,d&l":["舅表妹"],"{M1W},xb,d&l,h":["舅表妹壻"],"{M1W},xb,d,s":["舅表甥男","甥男"],"{M1W},xb,d,s,w":["舅表甥婦","甥婦"],"{M1W},xb,d,d":["舅表甥女","甥女"],"{M1W},xb,d,d,h":["舅表甥婿","甥婿"],"{M1W},xs":["姨母"],"{M1W},xs,h":["姨父"],"{M1W},xs,[s|d]":["姨表兄弟姊妹"],"{M1W},xs,s":["姨表兄弟"],"{M1W},xs,s,w":["姨表兄弟婦"],"{M1W},xs,s&o":["姨表兄"],"{M1W},xs,s&o,w":["姨表兄婦"],"{M1W},xs,s&l":["姨表弟"],"{M1W},xs,s&l,w":["姨表弟婦"],"{M1W},xs,s,s":["姨表侄男","侄男"],"{M1W},xs,s,s,w":["姨表侄婦","侄婦"],"{M1W},xs,s,d":["姨表侄女","侄女"],"{M1W},xs,s,d,h":["姨表侄婿","侄婿"],"{M1W},xs,d":["姨表姊妹"],"{M1W},xs,d,h":["姨表姊妹壻"],"{M1W},xs,d&o":["姨表姊"],"{M1W},xs,d&o,h":["姨表姊壻"],"{M1W},xs,d&l":["姨表妹"],"{M1W},xs,d&l,h":["姨表妹壻"],"{M1W},xs,d,s":["姨表甥男","甥男"],"{M1W},xs,d,s,w":["姨表甥婦","甥婦"],"{M1W},xs,d,d":["姨表甥女","甥女"],"{M1W},xs,d,d,h":["姨表甥婿","甥婿"],"{M1M},f":["祖父"],"{M1M},f,xb,s&o":["堂伯父"],"{M1M},f,xb,s&o,w":["堂伯母"],"{M1M},f,xb,s&l":["堂叔父"],"{M1M},f,xb,s&l,w":["堂叔母"],"{M1M},f,xb,d":["堂姑母"],"{M1M},f,xb,d,h":["堂姑父"],"{M1M},f,ob":["伯祖父"],"{M1M},f,ob,w":["伯祖母"],"{M1M},f,lb":["叔祖父"],"{M1M},f,lb,w":["叔祖母"],"{M1M},f,xs":["姑祖母"],"{M1M},f,xs,h":["姑祖父"],"{M1M},f,xs,s&o":["姑表伯父"],"{M1M},f,xs,s&o,w":["姑表伯母"],"{M1M},f,xs,s&l":["姑表叔父"],"{M1M},f,xs,s&l,w":["姑表叔母"],"{M1M},f,xs,d":["姑表姑母"],"{M1M},f,xs,d,h":["姑表姑父"],"{M1M},m":["祖母"],"{M1M},m,xb":["舅祖父"],"{M1M},m,xb,w":["舅祖母"],"{M1M},m,xb,s&o":["舅表伯父"],"{M1M},m,xb,s&o,w":["舅表伯母"],"{M1M},m,xb,s&l":["舅表叔父"],"{M1M},m,xb,s&l,w":["舅表叔母"],"{M1M},m,xb,d":["舅表姑母"],"{M1M},m,xb,d,h":["舅表姑父"],"{M1M},m,xs":["姨祖母"],"{M1M},m,xs,h":["姨祖父"],"{M1M},m,xs,s&o":["姨伯父"],"{M1M},m,xs,s&o,w":["姨伯母"],"{M1M},m,xs,s&l":["姨叔父"],"{M1M},m,xs,s&l,w":["姨叔母"],"{M1M},m,xs,d":["姨姑母"],"{M1M},m,xs,d,h":["姨姑父"],"{M1M},xb":["叔伯父"],"{M1M},xb,w":["叔伯母"],"{M1M},ob":["伯父"],"{M1M},ob,w":["伯母"],"{M1M},lb":["叔父"],"{M1M},lb,w":["叔母"],"{M1M},xb,[s|d]":["叔表兄弟姊妹"],"{M1M},xb,s":["叔表兄弟"],"{M1M},xb,s,w":["叔表兄弟婦"],"{M1M},xb,s&o":["叔表兄"],"{M1M},xb,s&o,w":["叔表兄婦"],"{M1M},xb,s&l":["叔表弟"],"{M1M},xb,s&l,w":["叔表弟婦"],"{M1M},xb,s,s":["叔表侄男","侄男"],"{M1M},xb,s,s,w":["叔表侄婦","侄婦"],"{M1M},xb,s,d":["叔表侄女","侄女"],"{M1M},xb,s,d,h":["叔表侄婿","侄婿"],"{M1M},xb,d":["叔表姊妹"],"{M1M},xb,d,h":["叔表姊妹壻"],"{M1M},xb,d&o":["叔表姊"],"{M1M},xb,d&o,h":["叔表姊壻"],"{M1M},xb,d&l":["叔表妹"],"{M1M},xb,d&l,h":["叔表妹壻"],"{M1M},xb,d,s":["叔表甥男","甥男"],"{M1M},xb,d,s,w":["叔表甥婦","甥婦"],"{M1M},xb,d,d":["叔表甥女","甥女"],"{M1M},xb,d,d,h":["叔表甥婿","甥婿"],"{M1M},xs":["姑母"],"{M1M},xs,h":["姑父"],"{M1M},xs,[s|d]":["姑表兄弟姊妹"],"{M1M},xs,s":["姑表兄弟"],"{M1M},xs,s,w":["姑表兄弟婦"],"{M1M},xs,s&o":["姑表兄"],"{M1M},xs,s&o,w":["姑表兄婦"],"{M1M},xs,s&l":["姑表弟"],"{M1M},xs,s&l,w":["姑表弟婦"],"{M1M},xs,s,s":["姑表侄男","侄男"],"{M1M},xs,s,s,w":["姑表侄婦","侄婦"],"{M1M},xs,s,d":["姑表侄女","侄女"],"{M1M},xs,s,d,h":["姑表侄婿","侄婿"],"{M1M},xs,d":["姑表姊妹"],"{M1M},xs,d,h":["姑表姊妹壻"],"{M1M},xs,d&o":["姑表姊"],"{M1M},xs,d&o,h":["姑表姊壻"],"{M1M},xs,d&l":["姑表妹"],"{M1M},xs,d&l,h":["姑表妹壻"],"{M1M},xs,d,s":["姑表甥男","甥男"],"{M1M},xs,d,s,w":["姑表甥婦","甥婦"],"{M1M},xs,d,d":["姑表甥女","甥女"],"{M1M},xs,d,d,h":["姑表甥婿","甥婿"],"{M0},f":["父"],"{M0},f,f":["祖父"],"{M0},f,f,ob":["伯祖父"],"{M0},f,f,ob,w":["伯祖母"],"{M0},f,f,lb":["叔祖父"],"{M0},f,f,lb,w":["叔祖母"],"{M0},f,f,xs":["姑祖母"],"{M0},f,f,xs,h":["姑祖父"],"{M0},f,m":["祖母"],"{M0},f,m,xb":["舅祖父"],"{M0},f,m,xb,w":["舅祖母"],"{M0},f,m,xs":["姨祖母"],"{M0},f,m,xs,h":["姨祖父"],"{M0},f,ob":["伯父"],"{M0},f,ob,w":["伯母"],"{M0},f,lb":["叔父"],"{M0},f,lb,w":["叔母"],"{M0},f,xb,[s|d]":["叔表兄弟姊妹","叔表姊妹兄弟"],"{M0},f,xb,s":["叔表兄弟"],"{M0},f,xb,s,w":["叔表兄弟婦"],"{M0},f,xb,s&o":["叔表兄"],"{M0},f,xb,s&o,w":["叔表兄婦"],"{M0},f,xb,s&l":["叔表弟"],"{M0},f,xb,s&l,w":["叔表弟婦"],"{M0},f,xb,d":["叔表姊妹"],"{M0},f,xb,d,h":["叔表姊妹壻"],"{M0},f,xb,d&o":["叔表姊"],"{M0},f,xb,d&o,h":["叔表姊壻"],"{M0},f,xb,d&l":["叔表妹"],"{M0},f,xb,d&l,h":["叔表妹壻"],"{M0},f,xs":["姑母"],"{M0},f,xs,h":["姑父"],"{M0},f,xs,[s|d]":["姑表兄弟姊妹","姑表姊妹兄弟"],"{M0},f,xs,s":["姑表兄弟"],"{M0},f,xs,s,w":["姑表兄弟婦"],"{M0},f,xs,s&o":["姑表兄"],"{M0},f,xs,s&o,w":["姑表兄婦"],"{M0},f,xs,s&l":["姑表弟"],"{M0},f,xs,s&l,w":["姑表弟婦"],"{M0},f,xs,d":["姑表姊妹"],"{M0},f,xs,d,h":["姑表姊妹壻"],"{M0},f,xs,d&o":["姑表姊"],"{M0},f,xs,d&o,h":["姑表姊壻"],"{M0},f,xs,d&l":["姑表妹"],"{M0},f,xs,d&l,h":["姑表妹壻"],"{M0},m":["母"],"{M0},m,f":["外祖父"],"{M0},m,f,ob":["伯外祖父"],"{M0},m,f,ob,w":["伯外祖母"],"{M0},m,f,lb":["叔外祖父"],"{M0},m,f,lb,w":["叔外祖母"],"{M0},m,f,xs":["姑外祖母"],"{M0},m,f,xs,h":["姑外祖父"],"{M0},m,m":["外祖母"],"{M0},m,m,xb":["舅外祖父"],"{M0},m,m,xb,w":["舅外祖母"],"{M0},m,m,xs":["姨外祖母"],"{M0},m,m,xs,h":["姨外祖父"],"{M0},m,xb":["舅父"],"{M0},m,xb,w":["舅母"],"{M0},m,xb,[s|d]":["舅表兄弟姊妹","舅表姊妹兄弟"],"{M0},m,xb,s":["舅表兄弟"],"{M0},m,xb,s,w":["舅表兄弟婦"],"{M0},m,xb,s&o":["舅表兄"],"{M0},m,xb,s&o,w":["舅表兄婦"],"{M0},m,xb,s&l":["舅表弟"],"{M0},m,xb,s&l,w":["舅表弟婦"],"{M0},m,xb,d":["舅表姊妹"],"{M0},m,xb,d,h":["舅表姊妹壻"],"{M0},m,xb,d&o":["舅表姊"],"{M0},m,xb,d&o,h":["舅表姊壻"],"{M0},m,xb,d&l":["舅表妹"],"{M0},m,xb,d&l,h":["舅表妹壻"],"{M0},m,xs":["姨母"],"{M0},m,xs,h":["姨父"],"{M0},m,xs,[s|d]":["姨兄弟姊妹","姨姊妹兄弟"],"{M0},m,xs,s":["姨兄弟"],"{M0},m,xs,s,w":["姨兄弟婦"],"{M0},m,xs,s&o":["姨兄"],"{M0},m,xs,s&o,w":["姨兄婦"],"{M0},m,xs,s&l":["姨弟"],"{M0},m,xs,s&l,w":["姨弟婦"],"{M0},m,xs,d":["姨姊妹"],"{M0},m,xs,d,h":["姨姊妹壻"],"{M0},m,xs,d&o":["姨姊"],"{M0},m,xs,d&o,h":["姨姊壻"],"{M0},m,xs,d&l":["姨妹"],"{M0},m,xs,d&l,h":["姨妹壻"],"{M0},xb":["兄弟"],"{M0},xb,w":["兄弟婦"],"{M0},xb&o":["兄"],"{M0},xb&o,w":["兄婦","兄嫂","嫂子"],"{M0},xb&l":["弟"],"{M0},xb&l,w":["弟婦","弟妹"],"{M0},xb,s":["侄男","侄子","侄兒"],"{M0},xb,s,w":["侄婦"],"{M0},xb,d":["侄女"],"{M0},xb,d,h":["侄婿"],"{M0},xs":["姊妹"],"{M0},xs,h":["姊妹壻"],"{M0},xs&o":["姊"],"{M0},xs&o,h":["姊壻","姐夫"],"{M0},xs&l":["妹"],"{M0},xs&l,h":["妹壻","妹夫"],"{M0},xs,s":["甥男"],"{M0},xs,s,w":["甥婦"],"{M0},xs,d":["甥女"],"{M0},xs,d,h":["甥婿"],"{M-1},f":["兄弟"],"{M-1},f&o":["兄"],"{M-1},f&l":["弟"],"{M-1},f,f":["父"],"{M-1},f,f,f":["祖父"],"{M-1},f,f,m":["祖母"],"{M-1},f,f,ob":["伯父"],"{M-1},f,f,ob,w":["伯母"],"{M-1},f,f,lb":["叔父"],"{M-1},f,f,lb,w":["叔母"],"{M-1},f,m":["母"],"{M-1},f,m,f":["外祖父"],"{M-1},f,m,m":["外祖母"],"{M-1},f,xb":["叔兄弟"],"{M-1},f,xb,w":["叔兄弟婦"],"{M-1},f,ob":["叔兄"],"{M-1},f,ob,w":["叔兄婦"],"{M-1},f,lb":["叔弟"],"{M-1},f,lb,w":["叔弟婦"],"{M-1},f,xb,s":["叔男"],"{M-1},f,xb,d":["叔女"],"{M-1},f,xs":["姑姊妹"],"{M-1},f,xs,h":["姑姊妹壻"],"{M-1},f,os":["姑姊"],"{M-1},f,os,h":["姑姊壻"],"{M-1},f,ls":["姑妹"],"{M-1},f,ls,h":["姑妹壻"],"{M-1},f,xs,s":["姑男"],"{M-1},f,xs,d":["姑女"],"{M-1},m":["姊妹"],"{M-1},m&o":["姊"],"{M-1},m&l":["妹"],"{M-1},m,f":["父"],"{M-1},m,f,f":["祖父"],"{M-1},m,f,m":["祖母"],"{M-1},m,m":["母"],"{M-1},m,m,f":["外祖父"],"{M-1},m,m,m":["外祖母"],"{M-1},m,xb":["舅兄弟"],"{M-1},m,xb,w":["舅兄弟婦"],"{M-1},m,ob":["舅兄"],"{M-1},m,ob,w":["舅兄婦"],"{M-1},m,lb":["舅弟"],"{M-1},m,lb,w":["舅弟婦"],"{M-1},m,xb,s":["舅男"],"{M-1},m,xb,d":["舅女"],"{M-1},m,xs":["姨姊妹"],"{M-1},m,xs,h":["姨姊妹壻"],"{M-1},m,os":["姨姊"],"{M-1},m,os,h":["姨姊壻"],"{M-1},m,ls":["姨妹"],"{M-1},m,ls,h":["姨妹壻"],"{M-1},m,xs,s":["姨男"],"{M-1},m,xs,d":["姨女"],"{M-1},xb":["男"],"{M-1},xb,w":["婦"],"{M-1},xb,s":["孫男"],"{M-1},xb,s,w":["孫婦"],"{M-1},xb,d":["孫女"],"{M-1},xb,d,h":["孫婿"],"{M-1},xs":["女"],"{M-1},xs,h":["婿"],"{M-1},xs,s":["外孫男"],"{M-1},xs,s,w":["外孫婦"],"{M-1},xs,d":["外孫女"],"{M-1},xs,d,h":["外孫婿"],"{M-2},f":["男"],"{M-2},f,f&o":["兄"],"{M-2},f,f&l":["弟"],"{M-2},f,m&o":["姊"],"{M-2},f,m&l":["妹"],"{M-2},m":["女"],"{M-2},m,f&o":["兄"],"{M-2},m,f&l":["弟"],"{M-2},m,m&o":["姊"],"{M-2},m,m&l":["妹"],"{M-2},xb":["孫男"],"{M-2},xb,w":["孫婦"],"{M-2},xs":["孫女"],"{M-2},xs,h":["孫婿"]},w={"":["自己","我","俺","吾","本人","在下"],"f,f,f,f,f,f,f,f,f,f,f,f":["先祖父","先太爺","十二世祖"],"f,f,f,f,f,f,f,f,f,f,f,m":["先祖母","先太奶"],"f,f,f,f,f,f,f,f,f,f,f":["始祖父","始太爺","十一世祖"],"f,f,f,f,f,f,f,f,f,f,m":["始祖母","始太奶"],"f,f,f,f,f,f,f,f,f,f":["開祖父","開太爺","十世祖"],"f,f,f,f,f,f,f,f,f,m":["開祖母","開太奶"],"f,f,f,f,f,f,f,f,f":["鼻祖父","鼻太爺","九世祖"],"f,f,f,f,f,f,f,f,m":["鼻祖母","鼻太奶"],"f,f,f,f,f,f,f,f":["遠祖父","遠太爺","八世祖"],"f,f,f,f,f,f,f,m":["遠祖母","遠太奶"],"f,f,f,f,f,f,f":["太祖父","太太爺","七世祖"],"f,f,f,f,f,f,m":["太祖母","太太奶"],"f,f,f,f,f,f":["烈祖父","烈太爺","六世祖"],"f,f,f,f,f,m":["烈祖母","烈太奶"],"f,f,f,f,f":["天祖父","天太爺","五世祖"],"f,f,f,f,m":["天祖母","天太奶"],"f,f,f,f":["高祖父","外曾外曾外毑父","曾曾祖父","祖太公","祖太爺","高太爺","祖太翁","祖太爺爺","四世祖"],"f,f,f,m":["高祖母","外曾外曾外毑母","曾曾祖母","祖太婆","祖太奶","高太奶","祖太姆","祖太奶奶"],"f,f,m,f":["高外祖父","外曾外曾毑父"],"f,f,m,m":["高外祖母","外曾外曾毑母"],"f,m,f,f":["曾外曾祖父","外高外毑父"],"f,m,f,m":["曾外曾祖母","外高外毑母"],"f,m,m,f":["曾外曾外祖父","外高毑父"],"f,m,m,m":["曾外曾外祖母","外高毑母"],"m,f,f,f":["外高祖父","曾外曾外毑父"],"m,f,f,m":["外高祖母","曾外曾外毑母"],"m,f,m,f":["外高外祖父","曾外曾祖毑父"],"m,f,m,m":["外高外祖母","曾外曾祖毑母"],"m,m,f,f":["外曾外曾祖父","高外毑父"],"m,m,f,m":["外曾外曾祖母","高外毑母"],"m,m,m,f":["外曾外曾外祖父","高毑父"],"m,m,m,m":["外曾外曾外祖母","高毑母"],"f,f,f":["曾祖父","曾祖","外曾外毑父","太公","太爺","老太爺","太翁","太爺爺","曾爺爺","佬嗲","祖爺","三世祖"],"f,f,m":["曾祖母","外曾外毑母","太婆","太奶","老太奶","太嬤","太姆","太奶奶","曾奶奶","老娭毑"],"f,m,f":["曾外祖父","曾外祖","外曾毑父","太外公","太外爺","太外翁","太外爺爺"],"f,m,m":["曾外祖母","外曾毑母","太外婆","太外奶","太外嬤","太外姆","太外奶奶"],"m,f,f":["外曾祖父","外曾祖","曾外毑父","外太公","外太爺","外太翁","外太爺爺"],"m,f,m":["外曾祖母","曾外毑母","外太婆","外太奶","外太嬤","外太姆","外太奶奶"],"m,m,f":["外曾外祖父","外曾外祖","曾毑父","外太外公","外太外爺","外太外翁","外太外爺爺","外太姥爺"],"m,m,m":["外曾外祖母","曾毑母","外太外婆","外太外奶","外太外嬤","外太外姆","外太外奶奶","外太姥姥"],"f,f":["爺爺","祖父","奶爺","奶爹","阿爺","阿公","依爺","嗲嗲","爺兒","大父","爺","爺老","爺老子","爺老倌","二世祖"],"f,m":["奶奶","祖母","阿奶","奶娘","阿姆","阿婆","依奶","阿嬤","阿嫲","大母","奶","嫲嫲","婻婻","娭毑","嗯奶","娘姆","媼婆","親婆"],"m,f":["外公","外祖父","姥爺","阿公","外爺","客公","毑父","毑公","姥公","舅家爺","嘎公","嘎爹",,"嘎嘎爹","嘎爺爺","尕公","毑爹","毑爺","外大父","姥爹"],"m,m":["外婆","外祖母","姥姥","阿婆","外奶","客婆","毑母","毑婆","姥婆","舅家婆","嘎嘎","嘎婆","嘎嘎婆","嘎奶奶","尕婆","毑娘","毑毑","外大母","姥娘","阿嬤","阿嫲","外嬤","嫲嫲","好婆","嫏嫏","嫏娘"],"f,f,ob":["伯公","伯祖","伯翁","大爺爺","大嗲","大爺","大公","大阿爺"],"f,f,ob,w":["伯婆","姆婆","大奶奶","伯娭毑"],"f,f,lb":["叔公","叔祖","叔翁","小爺爺","晚公","幺爺","細嗲"],"f,f,lb,w":["叔婆","嬸婆","小奶奶","叔娭毑","晚婆","幺奶"],"f,f,xb":["伯叔祖父","從祖父","幾爺爺","幾大爺","幾嗲","幾爺","幾公"],"f,f,xb,w":["伯叔祖母","從祖母","幾奶奶","幾大娘","幾奶","幾婆"],"f,f,xs":["姑奶奶","祖姑","姑奶","恩婆","姑娭毑"],"f,f,xs,h":["姑爺爺","祖姑丈","恩爹","姑丈公","丈公"],"f,m,xb":["舅爺爺","舅祖","舅爹","太舅父"],"f,m,xb,w":["舅奶奶","妗婆","舅婆","妗奶","太舅母"],"f,m,xs":["姨奶奶","姨奶","姨娭毑"],"f,m,xs,h":["姨爺爺","姨公公","姨爹","姨丈公","丈公"],"m,f,ob":["伯外公","外伯祖","伯外祖","大外公","大姥爺","大外爺"],"m,f,ob,w":["伯外婆","外姆婆","大外婆","大姥姥","大姥奶"],"m,f,lb":["叔外公","外叔祖","叔外祖","小外公","小姥爺","小外爺"],"m,f,lb,w":["叔外婆","外嬸婆","小外婆","小姥姥","嬸姥姥","小姥奶"],"m,f,xb":["堂外祖父","幾外公","幾姥爺","幾外爺"],"m,f,xb,w":["堂外祖母","幾外婆","幾姥姥","幾姥奶","幾外奶","幾姥"],"m,f,xs":["姑外婆","姑婆","恩婆"],"m,f,xs,h":["姑外公","姑公","恩爹","外姑丈公","外丈公"],"m,m,xb":["舅外公","舅公","舅爹"],"m,m,xb,w":["舅外婆","舅婆","妗姥姥","妗姥娘","妗姥","外妗婆"],"m,m,xs":["姨外婆","姨婆"],"m,m,xs,h":["姨外公","姨公","外姨丈公","外丈公"],f:["爸爸","父親","老父親","老爸","阿爸","阿父","阿爹","老竇","爹地","依爹","老爹","老漢","老爺子","老子","牙老子","爸","父","爹","老漢兒","牙老倌","爸比","爹爹","爹啲","一世祖"],"f,ob":["伯父","伯伯","伯爸","伯爺","依伯","世父","大爹","大爸","大爸爸","伯兒","大伯","大爺","大大","阿伯","幾伯","伯"],"f,ob,w":["伯母","伯媽","伯娘","依姆","世母","大娘","大媽","大媽媽","伯婦","大嬤","大姆媽","伯姐","姆"],"f,lb":["叔叔","叔父","叔爸","叔爹","阿叔","叔兒","仲父","季父","叔仔","依叔","小叔","小爹","小爸","幾叔","叔"],"f,lb,w":["嬸嬸","嬸母","嬸媽","嬸娘","阿嬸","嬸兒","仲母","季母","叔婦","依嬸","小嬸","小娘","小媽","幾嬸","嬸","嬸子","家嬸","叔母","叔媽","叔娘","嬸爹","嬢嬢"],"f,xb":["伯叔父","叔伯","幾爸爸","幾爸","幾爹"],"f,xb,w":["伯叔母","幾媽媽","幾媽","幾娘"],"f,xb,s&o":["堂哥","堂阿哥","堂房哥哥","堂房阿哥","叔伯哥哥","叔伯阿哥","堂老兄"],"f,xb,s&o,w":["堂嫂","堂兄嫂"],"f,xb,s&l":["堂弟","堂阿弟","堂房弟弟","堂房阿弟","叔伯弟弟","叔伯老弟","堂老弟"],"f,xb,s&l,w":["堂弟媳","堂弟婦","堂弟妹"],"f,xb,s,s":["堂侄","再從子"],"f,xb,s,s,w":["堂侄媳婦"],"f,xb,s,s,s":["堂侄孫","再從孫"],"f,xb,s,s,s,s":["堂曾孫","再曾孫"],"f,xb,s,s,s,s,s":["堂玄孫","再玄孫"],"f,xb,s,d":["堂侄女"],"f,xb,s,d,h":["堂侄女婿"],"f,xb,d&o":["堂姐","堂阿姐","堂房姐姐","堂房阿姐","叔伯姐姐","叔伯阿姊","堂大姐"],"f,xb,d&o,h":["堂姐夫"],"f,xb,d&l":["堂妹","堂阿妹","堂房妹妹","堂房阿妹","叔伯妹妹","叔伯老妹","堂細妹"],"f,xb,d&l,h":["堂妹夫"],"f,xb,d,s":["堂外甥"],"f,xb,d,s,w":["堂外甥媳婦"],"f,xb,d,d":["堂外甥女"],"f,xb,d,d,h":["堂外甥女婿"],"f,os":["大姑","大姑媽","姑姊","姑嬤"],"f,os,h":["大姑丈","大姑父","大姑爸","恩伯"],"f,ls":["小姑","小姑媽","姑姐","姑妹","姑仔","尕娘","幺姑姐","老姑"],"f,ls,h":["小姑丈","小姑父","小姑爹","恩叔"],"f,xs":["姑媽","姑母","姑姑","恩媽","幾姑","姑","阿姑","嬢嬢","娘娘"],"f,xs,h":["姑丈","姑父","姑爸","恩爸","姑伯","姑爹","姑夫","姑婿","姑郎","亙"],"f,f,xb,s&o":["堂伯"],"f,f,xb,s&o,w":["堂伯母"],"f,f,xb,s&l":["堂叔"],"f,f,xb,s&l,w":["堂嬸"],"f,f,xb,s":["堂伯叔父","堂叔伯","從父"],"f,f,xb,s,w":["堂伯叔母","從母"],"f,f,xb,s,s&o":["從堂兄"],"f,f,xb,s,s&l":["從堂弟"],"f,f,xb,s,s,s":["從堂侄","三從子"],"f,f,xb,s,s,s,s":["從堂侄孫","三從孫"],"f,f,xb,s,s,s,s,s":["從堂侄曾孫","三曾孫"],"f,f,xb,s,s,s,s,s,s":["從堂侄玄孫","三玄孫"],"f,f,xb,d":["堂姑"],"f,f,xb,d,h":["堂姑丈"],"f,f,f,xb":["伯叔曾祖父"],"f,f,f,xb,w":["伯叔曾祖母"],"f,f,f,xb,s":["堂伯叔祖父"],"f,f,f,xb,s,w":["堂伯叔祖母"],"f,f,f,xb,s,s&o":["從伯父"],"f,f,f,xb,s,s&o,w":["從伯母"],"f,f,f,xb,s,s&l":["從叔父"],"f,f,f,xb,s,s&l,w":["從叔母"],"f,f,f,xb,s,s":["從伯叔父","再從父"],"f,f,f,xb,s,s,w":["從伯叔母","再從母"],"f,f,f,xb,s,s,s&o":["族兄"],"f,f,f,xb,s,s,s&l":["族弟"],"f,f,f,xb,s,s,s,s":["族侄","四從子","族子"],"f,f,f,xb,s,s,s,s,s":["族侄孫","四從孫","族孫"],"f,f,f,xb,s,s,s,s,s,s":["族侄曾孫","四曾孫","族曾孫"],"f,f,f,xb,s,s,s,s,s,s,s":["族侄玄孫","四玄孫","族玄孫"],"f,f,f,f,xb":["伯叔高祖父"],"f,f,f,f,xb,w":["伯叔高祖母"],"f,f,f,f,xb,s":["堂伯叔曾祖父"],"f,f,f,f,xb,s,w":["堂伯叔曾祖母"],"f,f,f,f,xb,s,s":["從伯叔祖父"],"f,f,f,f,xb,s,s,w":["從伯叔祖母"],"f,f,f,f,xb,s,s,s&o":["族伯父"],"f,f,f,f,xb,s,s,s&o,w":["族伯母"],"f,f,f,f,xb,s,s,s&l":["族叔父"],"f,f,f,f,xb,s,s,s&l,w":["族叔母"],"f,f,f,f,xb,s,s,s":["族伯叔父","三從父","族父"],"f,f,f,f,xb,s,s,s,w":["族伯叔母","三從母","族母"],m:["媽媽","母親","老母親","老媽","阿媽","阿母","阿娘","老母","媽咪","依媽","老娘","老乸","老媽子","媽子","娘老子","媽","母","娘","阿毑","姆嬤","姆媽","娘親"],"m,ob":["大舅","大舅舅","舅伯","元舅"],"m,ob,w":["大舅媽","大妗","舅嫲"],"m,lb":["小舅","小舅舅","舅仔","舅父仔","尕阿舅","老舅"],"m,lb,w":["小舅媽","小妗","細妗"],"m,xb":["舅舅","舅爸","舅父","舅爹","娘舅","母舅","阿舅","妗公","舅台","幾舅","舅"],"m,xb,w":["舅媽","舅母","舅娘","娘妗","舅妻","舅姆","舅姆媽","舅媳婦","舅婦","舅姥","老妗","妗子","妗妗","妗媽","妗娘","妗母","阿妗","妗門","妗婆仔","妗兒媽","妗","嬢嬢"],"m,os":["大姨","大姨媽","姨嬤"],"m,os,h":["大姨丈","大姨父","大姨爸","姨伯"],"m,ls":["小姨","小姨媽","姨仔","老姨"],"m,ls,h":["小姨丈","小姨父","小姨爹","老姨夫","姨叔"],"m,xs":["姨媽","姨母","姨姨","姨娘","阿姨","幾姨","姨","從母","嬢嬢"],"m,xs,h":["姨丈","姨父","姨爸","姨爹","姨夫","姨婿","姨郎","尹"],"m,f,xb,s":["堂舅"],"m,f,xb,s,w":["堂舅媽"],"m,f,xb,d":["堂姨"],"m,f,xb,d,h":["堂姨丈"],"h,f,f,f":["曾祖公父","曾祖公","太公翁"],"h,f,f,m":["曾祖婆母","曾祖婆","太奶親"],"h,f,m,f":["曾外祖公父","曾外祖公"],"h,f,m,m":["曾外祖婆母","曾外祖婆"],"h,m,f,f":["外曾祖公父","外曾祖公"],"h,m,f,m":["外曾祖婆母","外曾祖婆"],"h,m,m,f":["外曾外祖公父","外曾外祖公"],"h,m,m,m":["外曾外祖婆母","外曾外祖婆"],"h,f,f,f,ob":["伯曾祖公父","伯曾祖公","太伯翁"],"h,f,f,f,ob,w":["伯曾祖婆母","伯曾祖婆","太姆婆"],"h,f,f,f,lb":["叔曾祖公父","叔曾祖公","太叔翁"],"h,f,f,f,lb,w":["叔曾祖婆母","叔曾祖婆","太嬸婆"],"h,f,f,f,xs":["姑曾祖婆母","姑曾祖婆"],"h,f,f,f,xs,h":["姑曾祖公父","姑曾祖婆"],"h,f,f":["祖公父","祖公","祖公公","祖翁","奶公父"],"h,f,m":["祖婆母","祖婆","祖婆婆","奶婆母"],"h,m,f":["外祖公父","毑公父","外祖公","外祖公公","姥公父","姥公"],"h,m,m":["外祖婆母","毑婆母","外祖婆","外祖婆婆","姥婆母","姥婆"],"h,f":["公公","公父","家公","家官","家翁","家爺","翁親","老官","大官","老公公","老人公","大人公","公爹","老公爹","婆父","婆爹","君舅"],"h,m":["婆婆","婆母","家婆","家娘","姑親","大家","老婆婆","老人婆","大人婆","婆媽","婆母娘","婆子媽","君姑"],"h,f,ob":["伯公父","伯公","伯翁","伯公公","伯祖","婆婆伯"],"h,f,ob,w":["伯婆母","伯婆","姆婆","伯婆婆","伯姆","婆婆伯姆"],"h,f,lb":["叔公父","叔公","叔翁","叔公公","叔祖","婆婆叔"],"h,f,lb,w":["叔婆母","叔婆","嬸婆","嬸婆婆","嬸親","婆婆嬸子"],"h,f,xs":["姑婆母","姑婆","姑婆婆","婆婆姑"],"h,f,xs,h":["姑公父","姑公","姑公公","婆婆姑夫"],"h,m,xb":["舅公父","舅公","舅公公"],"h,m,xb,w":["舅婆母","舅婆","妗婆婆","舅婆婆"],"h,m,xs":["姨婆母","姨婆","姨婆婆"],"h,m,xs,h":["姨公父","姨公","姨公公"],h:["老公","丈夫","先生","夫","男人","新郎","愛爺","夫親","夫君","官人","漢子","老頭子","郎君","相公","夫婿","良人","老公仔","愛人","老伴","那口子","配偶","伴侶","伉儷","卿卿"],"h,ob":["大伯子","大伯兒","大伯兄","伯子","伯仔","伯兄","阿伯","大伯爺","伯爺子","婿伯"],"h,ob,w":["大嬸子","大嬸兒","大叔兄婦","伯兄婦","伯嫂","伯婦","伯姆","姒婦","姒姆","大伯嫂","姆姆","大姆","大伯婦","大伯娘","姐婦","阿姆"],"h,lb":["小叔子","小叔兒","小叔弟","叔子","叔仔","叔弟","阿叔","叔郎","小郎"],"h,lb,w":["小嬸子","小嬸兒","小叔弟婦","叔弟婦","叔嫂","叔婦","叔姆","娣婦","娣姆","小叔婦","嬸嬸","小嬸","小嬸嬸"],"h,[ob|lb]":["伯叔"],"h,xb,w":["妯娌","娣姒","娣姒姊妹","嬸子"],"h,xb,s":["叔侄男"],"h,xb,d":["叔侄女"],"h,os":["大姑子","大姑姐","大姑兒","大姑娘","姑姊","婆姐","婆婆姐","大娘姑"],"h,os,h":["大姑夫","大姑姐夫","大亙子","婆姐夫","婆婆姐夫"],"h,ls":["小姑子","小姑妹","小姑兒","小姑娘","姑妹","婆妹","婆婆妹"],"h,ls,h":["小姑夫","小姑妹夫","小亙子","婆妹夫","婆婆妹夫"],"h,xs":["姑子","夫姑"],"h,xs,h":["姑夫","姑郎"],"h,xs,s":["姑甥"],"h,xs,d":["姑甥女"],"w,f,f,f":["曾祖嶽父","曾祖丈人","太爺丈人","祖爺丈人"],"w,f,f,m":["曾祖嶽母","曾祖丈母","曾祖丈母娘","祖奶丈母娘","太奶丈母娘"],"w,f,m,f":["曾外祖嶽父","曾外祖丈人","祖姥爺丈人","太姥爺丈"],"w,f,m,m":["曾外祖嶽母","曾外祖丈母","曾外祖丈母娘","祖姥丈母娘","太姥丈母娘"],"w,m,f,f":["外曾祖嶽父","外曾祖丈人","祖奶爺丈人","太奶爺丈人","祖姥爺丈人","太姥爺丈人"],"w,m,f,m":["外曾祖嶽母","外曾祖丈母","太奶丈母娘","祖姥丈母娘","太姥丈母娘"],"w,m,m,f":["外曾外祖嶽父","外曾外祖丈人","祖姥爺丈人","太姥爺丈人"],"w,m,m,m":["外曾外祖嶽母","外曾外祖丈母","外曾外祖丈母娘","祖姥丈母娘","太姥丈母娘"],"w,f,f":["祖嶽父","太嶽父","奶嶽父","祖丈人","爺丈人","奶爺丈人","奶丈爺","奶丈人","老丈爺"],"w,f,m":["祖嶽母","太嶽母","奶嶽母","祖丈母","祖丈母娘","奶丈母娘","奶丈姥","奶丈母","老丈姥"],"w,f,ob":["伯嶽父"],"w,f,ob,w":["伯嶽母"],"w,f,lb":["叔嶽父"],"w,f,lb,w":["叔嶽母"],"w,f,f,xb,s&o":["姻伯丈"],"w,f,f,xb,s&o,w":["姻姆"],"w,f,f,xb,s&l":["姻叔丈"],"w,f,f,xb,s&l,w":["姻嬸"],"w,m,f":["外祖嶽父","毑嶽父","外祖丈人爹","外祖丈人","外太嶽父","姥嶽父","姥丈爺","姥丈人","姥丈人爹","老丈爺","姥爺丈人"],"w,m,m":["外祖嶽母","毑嶽母","外祖丈母娘","外祖丈母","外太嶽母","姥嶽母","姥丈姥","姥丈母","姥丈母娘","老丈娘"],"w,f":["嶽父","丈人","老丈人","外父","泰山","外舅","老親爺","丈人爹","老幹爺","丈人公","丈母爺","丈爺","丈爺爹","丈父","嶽老子","老丈杆子","嶽丈","嶽翁","妻公","婦翁","冰翁"],"w,m":["嶽母","丈母","老丈母","外母","泰水","外姑","老親娘","丈人娘","老幹娘","丈人婆","丈母娘","丈姥","丈姥娘","丈姆","嶽母娘","丈母婆","丈姆婆","丈姆娘"],w:["老婆","妻子","媳婦","媳婦兒","太太","妻","女人","新娘","愛姥","妻親","娘子","新娘子","夫人","婆娘","老太婆","內人","內子","內助","賢內助","愛妻","發妻","婆姨","婆子","老婆子","老婆兒","老婆仔","堂客","愛人","老伴","那口子","配偶","伴侶","伉儷","卿卿"],"w,ob":["大舅子","大舅哥","大舅佬","大阿舅","丈人兄","舅哥"],"w,ob,w":["大舅婦","大妗子","大妗兒","大舅姆","大舅兄嫂","大舅嫂","大舅姐","大舅媳婦","丈人嫂"],"w,lb":["小舅子","小舅弟","小舅佬","小阿舅","丈人弟","舅弟"],"w,lb,w":["小舅婦","小妗子","小妗兒","小舅姆","小舅弟婦","小舅嫂","舅弟媳","小舅妹","小舅媳婦"],"w,xb":["舅子","舅佬","妻舅","老婆舅","阿舅","親家舅","舅老倌"],"w,xb,w":["舅嫂","舅婦","舅姆","妻妗","妗仔","妗子","妗兒"],"w,xb,s":["舅侄男"],"w,xb,d":["舅侄女"],"w,os":["大姨子","大姨姐","大姨兒","姨姐"],"w,os,h":["大姨夫","大姨姐夫","襟兄","大尹子"],"w,ls":["小姨子","小姨妹","小茙兒","姨妹","姨仔","姨妹子"],"w,ls,h":["小姨夫","小姨妹夫","小茙夫","襟弟","小尹子"],"w,xs":["姨子","妻姨"],"w,xs,h":["連襟","姨夫","連橋","兩橋","兩喬","姨夫爺","一擔挑","老挑","挑擔","擔兒挑","連襟兒","襟兄弟","友婿","妻尹","婭"],"w,xs,s":["姨甥"],"w,xs,d":["姨甥女"],ob:["哥哥","哥","胞兄","親哥","老哥","依哥","阿哥","家兄","兄長","大佬","元兄","長兄","幾哥"],"ob,w":["嫂子","嫂","嫂嫂","阿嫂","家嫂","兄姊","兄嫂","兄婦","兄妻","幾嫂"],"ob,s":["侄子","侄男","兄子"],"ob,d":["侄女","兄女"],lb:["弟弟","弟","胞弟","親弟","老弟","阿弟","細佬","依弟","小弟","幾弟"],"lb,w":["弟妹","弟媳","弟媳婦","弟媳婦子","弟新婦","老弟嫂"],"lb,s":["侄子","侄男","弟子"],"lb,d":["侄女","弟女"],"xb,s":["侄子","侄男","侄兒","侄兒子","侄","侄仔","阿侄"],"xb,s,w":["侄媳婦","侄媳","侄嫂","侄婦"],"xb,d":["侄女","侄囡","侄女兒","侄閨女"],"xb,d,h":["侄女婿","侄婿","侄郎"],os:["姐姐","姐","胞姐","親姐","阿姐","阿姊","姊仔","家姐","依姐","長姐","幾姐"],"os,h":["姐夫","姐丈","姐婿","姐郎","姊兄","姐夫哥","胞姐夫"],ls:["妹妹","妹","胞妹","親妹","老妹","阿妹","妹兒","妹子","依妹","小妹","幾妹"],"ls,h":["妹夫","妹丈","妹婿","妹郎","妹弟","妹夫子","胞妹夫"],"xs,s":["外甥","甥子","甥男","甥兒","甥兒子","甥","甥仔"],"xs,s,w":["甥媳婦","甥媳","甥嫂","甥婦","甥兒息婦兒"],"xs,s,s":["甥孫","遠甥","彌甥"],"xs,s,d":["甥孫女","遠甥女","彌甥女"],"xs,d":["外甥女","甥女","甥囡","甥女兒","甥閨女"],"xs,d,h":["甥女婿","甥婿","甥郎","甥兒息婿兒"],s:["兒子","男兒","息男","閨男","囝囝","囝男","囝兒","小子","娃子","男親","伢子","長子","次子","幼子","兒","仔","囝","子","阿仔","仔仔","後生","公子","少爺","一世孫"],"s,w":["兒媳","兒媳婦","息婦兒","兒媳婦兒","新婦","新婦囝","心抱","息婦","兒婦","子婦","小婦","少奶奶","少夫人"],"s,w,f":["親家公"],"s,w,f,f&o":["姻伯"],"s,w,f,f&l":["姻叔"],"s,w,m":["親家母"],"s,w,xb":["姻侄","世侄"],"s,w,xb,w":["姻侄媳"],"s,w,xb,s":["姻侄孫"],"s,w,xb,d":["姻侄孫女"],"s,w,xs":["姻侄女"],"s,w,xs,h":["姻侄婿"],"s,w,xs,s":["姻侄外孫"],"s,w,xs,d":["姻侄外孫女"],"s,s":["孫子","孫男","孫男兒","孫兒","長孫","孫仔","孫囝","孫娃子","孫伢子","二世孫"],"s,s,w":["孫媳婦","孫媳","孫婦","孫息婦","孫新婦"],"s,s,s":["曾孫","曾孫男","重孫","重孫子","息仔","三世孫"],"s,s,s,w":["曾孫婦","重孫媳婦"],"s,s,s,s":["玄孫","元孫","膀孫","四世孫"],"s,s,s,s,w":["玄孫媳婦"],"s,s,s,s,s":["來孫","五世孫"],"s,s,s,s,s,w":["來孫媳婦"],"s,s,s,s,s,s":["晜孫","六世孫"],"s,s,s,s,s,s,w":["晜孫媳婦"],"s,s,s,s,s,s,s":["仍孫","礽孫","七世孫"],"s,s,s,s,s,s,s,w":["仍孫媳婦"],"s,s,s,s,s,s,s,s":["雲孫","八世孫"],"s,s,s,s,s,s,s,s,w":["雲孫媳婦"],"s,s,s,s,s,s,s,s,s":["耳孫","遠孫","九世孫"],"s,s,s,s,s,s,s,s,s,w":["耳孫媳婦"],"s,s,s,s,s,s,s,s,s,s":["彌孫","十世孫"],"s,s,s,s,s,s,s,s,s,s,w":["彌孫媳婦"],"s,s,s,s,s,s,s,s,s,s,s":["胎孫","十一世孫"],"s,s,s,s,s,s,s,s,s,s,s,w":["胎孫媳婦"],"s,s,s,s,s,s,s,s,s,s,s,s":["承孫","十二世孫"],"s,s,s,s,s,s,s,s,s,s,s,s,w":["承孫媳婦"],"s,s,s,s,s,s,s,s,s,s,s,d":["承孫女"],"s,s,s,s,s,s,s,s,s,s,s,d,h":["承孫女婿"],"s,s,s,s,s,s,s,s,s,s,d":["胎孫女"],"s,s,s,s,s,s,s,s,s,s,d,h":["胎孫女婿"],"s,s,s,s,s,s,s,s,s,s,d,s":["承外孫"],"s,s,s,s,s,s,s,s,s,s,d,s,w":["承外孫媳婦"],"s,s,s,s,s,s,s,s,s,s,d,d":["承外孫女"],"s,s,s,s,s,s,s,s,s,s,d,d,h":["承外孫女婿"],"s,s,s,s,s,s,s,s,s,d":["彌孫女"],"s,s,s,s,s,s,s,s,s,d,h":["彌孫女婿"],"s,s,s,s,s,s,s,s,s,d,s":["胎外孫"],"s,s,s,s,s,s,s,s,s,d,s,w":["胎外孫媳婦"],"s,s,s,s,s,s,s,s,s,d,d":["胎外孫女"],"s,s,s,s,s,s,s,s,s,d,d,h":["胎外孫女婿"],"s,s,s,s,s,s,s,s,d":["耳孫女"],"s,s,s,s,s,s,s,s,d,h":["耳孫女婿"],"s,s,s,s,s,s,s,s,d,s":["彌外孫"],"s,s,s,s,s,s,s,s,d,s,w":["彌外孫媳婦"],"s,s,s,s,s,s,s,s,d,d":["彌外孫女"],"s,s,s,s,s,s,s,s,d,d,h":["彌外孫女婿"],"s,s,s,s,s,s,s,d":["雲孫女"],"s,s,s,s,s,s,s,d,h":["雲孫女婿"],"s,s,s,s,s,s,s,d,s":["耳外孫"],"s,s,s,s,s,s,s,d,s,w":["耳外孫媳婦"],"s,s,s,s,s,s,s,d,d":["耳外孫女"],"s,s,s,s,s,s,s,d,d,h":["耳外孫女婿"],"s,s,s,s,s,s,d":["仍孫女","礽孫女"],"s,s,s,s,s,s,d,h":["仍孫女婿"],"s,s,s,s,s,s,d,s":["雲外孫"],"s,s,s,s,s,s,d,s,w":["雲外孫媳婦"],"s,s,s,s,s,s,d,d":["雲外孫女"],"s,s,s,s,s,s,d,d,h":["雲外孫女婿"],"s,s,s,s,s,d":["晜孫女"],"s,s,s,s,s,d,h":["晜孫女婿"],"s,s,s,s,s,d,s":["仍外孫"],"s,s,s,s,s,d,s,w":["仍外孫媳婦"],"s,s,s,s,s,d,d":["仍外孫女"],"s,s,s,s,s,d,d,h":["仍外孫女婿"],"s,s,s,s,d":["來孫女"],"s,s,s,s,d,h":["來孫女婿"],"s,s,s,s,d,s":["晜外孫"],"s,s,s,s,d,s,w":["晜外孫媳婦"],"s,s,s,s,d,d":["晜外孫女"],"s,s,s,s,d,d,h":["晜外孫女婿"],"s,s,s,d":["玄孫女","元孫女","膀孫女"],"s,s,s,d,h":["玄孫女婿"],"s,s,s,d,s":["來外孫"],"s,s,s,d,s,w":["來外孫媳婦"],"s,s,s,d,d":["來外孫女"],"s,s,s,d,d,h":["來外孫女婿"],"s,s,d":["曾孫女","重孫女","息女"],"s,s,d,h":["曾孫女婿"],"s,s,d,s":["玄外孫"],"s,s,d,s,w":["玄外孫媳婦"],"s,s,d,d":["玄外孫女"],"s,s,d,d,h":["玄外孫女婿"],"s,d":["孫女","孫女兒","孫囡","孫囡兒","女孫","孫女子"],"s,d,h":["孫女婿","孫婿","孫郎","孫息婿"],"s,d,s":["曾外孫","外息仔"],"s,d,s,w":["曾外孫媳婦"],"s,d,s,s":["曾外曾孫"],"s,d,s,s,w":["曾外曾孫媳婦"],"s,d,s,d":["曾外曾孫女"],"s,d,s,d,h":["曾外曾孫女婿"],"s,d,d":["曾外孫女","外息女"],"s,d,d,h":["曾外孫女婿"],"s,d,d,s":["曾外曾外孫"],"s,d,d,s,w":["曾外曾外孫媳婦"],"s,d,d,d":["曾外曾外孫女"],"s,d,d,d,h":["曾外曾外孫女婿"],d:["女兒","千金","小姐","掌上明珠","息女","閨女","囡囡","囡女","囡兒","乖囡","囡嗯","丫頭","姑娘","妮子","女親","長女","次女","幼女","女","阿女","女女"],"d,h":["女婿","姑爺","姑爺兒","女婿子","女婿兒","兒婿","子婿","息婿","小婿","快婿","郎婿","郎婿子","息婿兒","囝婿","囡婿","東床","半子","甥館","女夫"],"d,h,f":["親家公"],"d,h,f,f&o":["姻伯"],"d,h,f,f&l":["姻叔"],"d,h,m":["親家母"],"d,h,xb":["姻侄","世侄"],"d,h,xb,w":["姻侄媳"],"d,h,xb,s":["姻侄孫"],"d,h,xb,d":["姻侄孫女"],"d,h,xs":["姻侄女"],"d,h,xs,h":["姻侄婿"],"d,h,xs,s":["姻侄外孫"],"d,h,xs,d":["姻侄外孫女"],"d,s":["外孫","外孫子","外孫兒"],"d,s,w":["外孫媳婦","外孫婦","外孫新婦"],"d,s,s":["外曾孫","重外孫","外息仔"],"d,s,s,w":["外曾孫媳婦","外曾孫婦"],"d,s,s,s":["外玄孫","外元孫","外膀孫"],"d,s,s,s,w":["外玄孫媳婦"],"d,s,s,d":["外玄孫女","外元孫女","外膀孫女"],"d,s,s,d,h":["外玄孫女婿"],"d,s,d":["外曾孫女","重外孫女","外息女"],"d,s,d,h":["外曾孫女婿","重外孫女婿"],"d,s,d,s":["外玄外孫"],"d,s,d,s,w":["外玄外孫媳婦"],"d,s,d,d":["外玄外孫女"],"d,s,d,d,h":["外玄外孫女婿"],"d,d":["外孫女","外孫囡","外孫女兒"],"d,d,h":["外孫女婿","外孫婿","外孫郎"],"d,d,s":["外曾外孫","外息仔"],"d,d,s,w":["外曾外孫媳婦"],"d,d,s,s":["外曾外曾孫"],"d,d,s,s,w":["外曾外曾孫媳婦"],"d,d,s,d":["外曾外曾孫女"],"d,d,s,d,h":["外曾外曾孫女婿"],"d,d,d":["外曾外孫女","外息女"],"d,d,d,h":["外曾外孫女婿"],"d,d,d,s":["外曾外曾外孫"],"d,d,d,s,w":["外曾外曾外孫媳婦"],"d,d,d,d":["外曾外曾外孫女"],"d,d,d,d,h":["外曾外曾外孫女婿"],"1,xb,w,xb":["叔眷兄弟"],"1,xb,w,xb,s":["叔眷舅男"],"1,xb,w,xb,d":["叔眷舅女"],"1,xb,w,xs":["叔眷姊妹"],"1,xb,w,xs,s":["叔眷姨男"],"1,xb,w,xs,d":["叔眷姨女"],"1,xb,s":["從男","從子"],"1,xb,s,s":["從孫"],"1,xb,s,s,s":["從曾孫"],"1,xb,s,s,s,s":["從玄孫"],"1,xb,s,w":["從婦"],"1,xb,d":["從女","從子"],"1,xb,d,h":["從婿"],"1,xs,h,xb":["姑姻兄弟"],"1,xs,h,xb,s":["姑姻叔男"],"1,xs,h,xb,d":["姑姻叔女"],"1,xs,h,xs":["姑姻姊妹"],"1,xs,h,xs,s":["姑姻姑男"],"1,xs,h,xs,d":["姑姻姑女"],"1,xs,s,s":["離孫男","離孫子"],"1,xs,s,d":["離孫女"],"0,xb,w,xb":["舅眷兄弟"],"0,xb,w,xb,s":["舅眷舅男"],"0,xb,w,xb,d":["舅眷舅女"],"0,xb,w,xs":["舅眷姊妹"],"0,xb,w,xs,s":["舅眷姨男"],"0,xb,w,xs,d":["舅眷姨女"],"0,xs,h,xb":["姨姻兄弟"],"0,xs,h,xb,s":["姨姻叔男"],"0,xs,h,xb,d":["姨姻叔女"],"0,xs,h,xs":["姨姻姊妹"],"0,xs,h,xs,s":["姨姻姑男"],"0,xs,h,xs,d":["姨姻姑女"],"0,xb,s":["娘家侄子","娘家侄"],"0,xb,s,s":["歸孫男","歸孫子"],"0,xb,s,d":["歸孫女"],"0,xb,d":["娘家侄女"],"0,xs,s":["姨甥","姨甥男","從男","從子"],"0,xs,s,w":["從婦"],"0,xs,d":["姨甥女","從女","從子"],"0,xs,d,h":["從婿"],"0,xs,s,s":["姨甥孫","姨孫","姨甥孫男","姨孫男"],"0,xs,s,d":["姨甥孫女","姨孫女"],"0,xs,d,s":["姨甥外孫","姨外孫","姨甥外孫男","姨外孫男"],"0,xs,d,d":["姨甥外孫女","姨外孫女"]};let o=Object.assign({},{"[f,f|f,m|m,f],[f,m],f":["老太奶爺","祖太奶爺"],"[f,f|f,m|m,f],[f,m],m":["老太奶奶","祖太奶奶"],"[f,m|m,f|m,m],[f,m],f":["老太姥爺","祖太姥爺"],"[f,m|m,f|m,m],[f,m],m":["老太姥姥","祖太姥姥"],"[f|m],[f|m],f":["太老爺"],"[f|m],[f|m],f,ob":["伯太老爺"],"[f|m],[f|m],f,ob,w":["伯太老姥"],"[f|m],[f|m],f,lb":["叔太老爺"],"[f|m],[f|m],f,lb,w":["叔太老姥"],"[f|m],[f|m],f,xs":["姑太老姥"],"[f|m],[f|m],f,xs,h":["姑太老爺"],"[f|m],[f|m],m":["太老姥"],"[f|m],[f|m],m,xb":["舅太老爺"],"[f|m],[f|m],m,xb,w":["舅太老姥"],"[f|m],[f|m],m,xs":["姨太老姥"],"[f|m],[f|m],m,xs,h":["姨太老爺"],"[f,f|f,m|m,f],f":["太奶爺","祖奶爺","祖爺爺"],"[f,f|f,m|m,f],f,ob":["伯太奶爺","太伯奶爺"],"[f,f|f,m|m,f],f,ob,w":["伯太奶奶","太伯奶奶"],"[f,f|f,m|m,f],f,lb":["叔太奶爺","太叔奶爺"],"[f,f|f,m|m,f],f,lb,w":["叔太奶奶","太叔奶奶"],"[f,f|f,m|m,f],f,xs":["姑太奶奶","太姑奶奶"],"[f,f|f,m|m,f],f,xs,h":["姑太奶爺","太姑奶爺"],"[f,f|f,m|m,f],m":["太奶奶","祖奶奶"],"[f,f|f,m|m,f],m,xb":["舅太奶爺","太舅奶爺"],"[f,f|f,m|m,f],m,xb,w":["舅太奶奶","太舅奶奶"],"[f,f|f,m|m,f],m,xs":["姨太奶奶","太姨奶奶"],"[f,f|f,m|m,f],m,xs,h":["姨太奶爺","太姨奶爺"],"[f,m|m,f|m,m],f":["太姥爺","祖姥爺","太毑爺"],"[f,m|m,f|m,m],f,ob":["伯太姥爺","伯叔姥爺"],"[f,m|m,f|m,m],f,ob,w":["伯太姥姥","太伯姥姥"],"[f,m|m,f|m,m],f,lb":["叔太姥爺","太叔姥爺"],"[f,m|m,f|m,m],f,lb,w":["叔太姥姥","太叔姥姥"],"[f,m|m,f|m,m],f,xs":["姑太姥姥","太姑姥姥"],"[f,m|m,f|m,m],f,xs,h":["姑太姥爺","太姑姥爺"],"[f,m|m,f|m,m],m":["太姥姥","祖姥姥","太毑毑","太姥"],"[f,m|m,f|m,m],m,xb":["舅太姥爺","太舅姥爺"],"[f,m|m,f|m,m],m,xb,w":["舅太姥姥","太舅姥姥"],"[f,m|m,f|m,m],m,xs":["姨太姥姥","太姨姥姥"],"[f,m|m,f|m,m],m,xs,h":["姨太姥爺","太姨姥爺"],"[f|m],[f|m],[f|m]":["曾祖輩","祖祖","老太"],"[f|m],f,[f|m]":["阿太"],"[f|m],[f|m]":["祖輩"],"[f|m],f":["老爺"],"[f|m],f,ob":["伯老爺"],"[f|m],f,ob,w":["伯老姥"],"[f|m],f,lb":["叔老爺"],"[f|m],f,lb,w":["叔老姥"],"[f|m],f,xs":["姑老姥"],"[f|m],f,xs,h":["姑老爺"],"[f|m],m":["老姥"],"[f|m],m,xb":["舅老爺"],"[f|m],m,xb,w":["舅老姥"],"[f|m],m,xs":["姨老姥"],"[f|m],m,xs,h":["姨老爺"],"f,f,[f|m]":["曾祖父母"],"f,f,[f,xs|m,xb],s":["舅姑爺爺","舅姑爺"],"f,[f|m]":["祖父母","爺爺奶奶"],"f,[ob|ob,w]":["伯父母"],"f,[lb|lb,w]":["叔父母"],"f,xb,[s|d]":["堂兄弟姐妹","堂姐妹兄弟","從父兄弟姐妹"],"f,[xs|xs,h]":["姑父母"],"f,xs,[s|d]":["姑表兄弟姐妹"],"m,[f|m],f":["老外公","老外爺","老姥爺"],"m,[f|m],m,":["老外婆","老外奶","老姥姥","老姥娘","老嫏娘"],"m,[f|m]":["外祖父母","外公外婆","姥姥姥爺"],"m,f,[f,xs|m,xb],s":["舅姑姥爺"],"m,[xb|xb,w]":["舅父母"],"m,xb,[s|d]":["舅表兄弟姐妹"],"m,[xs|xs,h]":["姨父母"],"m,xs,[s|d]":["姨兄弟姐妹","姨姐妹兄弟","從母兄弟姐妹"],"[f|m]":["父母","爹娘","爹媽","爸媽","爸爸媽媽","父母親","雙親","二親","兩親","二老","高堂"],"[f|m],[f,xs|m,xb],s":["舅姑爸","姑舅爸"],"[f|m],[f,xs|m,xb],s&o,w":["舅姑姆","姑舅姆"],"[f|m],[f,xs|m,xb],s&l,w":["舅姑嬸","姑舅嬸"],"[f|m],[f,xs|m,xb],d":["姑舅娘娘"],"[f|m],m,xs,s":["兩姨爸"],"[f|m],m,xs,s&o,w":["兩姨姆"],"[f|m],m,xs,s&l,w":["兩姨嬸"],"[f|m],m,xs,d":["兩姨娘娘"],"w,[f|m]":["嶽父母","嶽父嶽母","丈人丈母","舅姑"],"w,f,[ob|ob,w]":["伯嶽父母"],"w,f,[lb|lb,w]":["叔嶽父母"],"w,f,[xs|xs,h]":["姑嶽父母"],"w,m,[xb|xb,w]":["舅嶽父母"],"w,m,[xs|xs,h]":["姨嶽父母"],"w,[f,xs|m,xb],d":["姑舅姨子"],"w,[f,xs|m,xb],d,h":["姑舅連襟","姑舅連橋"],"h,[f|m]":["公婆","翁姑","姑翁","姑舅","大家官","公公婆婆","姑章","姑嫜"],"h,f,[ob|ob,w]":["伯公婆"],"h,f,[lb|lb,w]":["叔公婆"],"h,f,[xs|xs,h]":["姑公婆"],"h,m,[xb|xb,w]":["舅公婆"],"h,m,[xs|xs,h]":["姨公婆"],"[ob|lb]":["兄弟","晜弟","親兄弟","同胞兄弟"],"[ob|lb],w":["兄弟媳婦","兄弟婦"],"[os|ls]":["姐妹","親姐妹","同胞姐妹"],"[os|ls],h":["姐妹夫","姊妹婿"],"[xb|xs]":["兄弟姐妹","同胞","同胞兄弟姐妹","手足"],"[ob|os]":["哥哥姐姐"],"[lb|ls]":["弟弟妹妹"],"[ob|ob,w]":["哥哥嫂嫂","兄嫂"],"[f,xb|m,xs],[s|d]":["從兄弟姐妹","從姐妹兄弟"],"[f,xs|m,xb],[s|d]":["表兄弟姐妹","表姐妹兄弟","老表","阿表"],"[f,xs|m,xb],s":["姑舅兄弟","舅姑兄弟"],"[f,xs|m,xb],s&o":["姑舅哥","姑舅哥哥"],"[f,xs|m,xb],s&l":["姑舅弟","姑舅弟弟"],"[f,xs|m,xb],d":["姑舅姊妹","舅姑姊妹"],"[f,xs|m,xb],d&o":["姑舅姐","姑舅姐姐"],"[f,xs|m,xb],d&l":["姑舅妹","姑舅妹妹"],"[f,xs|m,xb],s,s":["姑舅兒子"],"[f,xs|m,xb],s,d":["姑舅女兒"],"[xb|xs],[s|d]":["侄甥"],"xb,[s|d]":["侄子女","侄子侄女"],"xs,[s|d]":["甥子女","外甥子女"],"[w|s|d]":["妻兒","妻小"],"[w|d]":["妻女"],"[s|d]":["子女","兒女","小孩","孩子","孩子們","孩兒","小孩兒","寶寶","寶貝","娃","娃子","兒輩","子輩","細伢","子息","子嗣","崽","幺兒"],"[s|d],[s|d]":["孫輩","孫息","孫枝"],"s,[s|d]":["孫子女"],"d,[s|d]":["外孫子女"],"s#xb,s":["子侄"],"s#s,w":["子媳"],"[s|d]#[s|d],[s|d]":["兒孫","子孫","孫息"],"[s,w|d,h],[f|m]":["親家","兒女親家"],"[s,w|d,h],f":["親家公","親家父","親家翁","親家世翁","姻翁"],"[s,w|d,h],f,f":["太姻翁"],"[s,w|d,h],f,m":["太姻姆"],"[s,w|d,h],f,f,f":["太姻翁"],"[s,w|d,h],f,f,m":["太姻姆"],"[s,w|d,h],f,f,ob":["姻伯翁"],"[s,w|d,h],f,f,ob,w":["姻伯姆"],"[s,w|d,h],f,f,lb":["姻叔翁"],"[s,w|d,h],f,f,lb,w":["姻叔母"],"[s,w|d,h],f,f,xb,s&o":["姻家兄"],"[s,w|d,h],f,f,xb,s&o,w":["姻家兄婦"],"[s,w|d,h],f,f,xb,s&l":["姻家弟"],"[s,w|d,h],f,f,xb,s&l,w":["姻家弟婦"],"[s,w|d,h],f,f,xb,s,s":["姻家侄"],"[s,w|d,h],f,f,xb,s,s,w":["姻家侄婦"],"[s,w|d,h],f,ob":["姻兄"],"[s,w|d,h],f,ob,w":["姻兄婦"],"[s,w|d,h],f,lb":["姻弟"],"[s,w|d,h],f,lb,w":["姻弟婦"],"[s,w|d,h],f,xb,s":["姻侄"],"[s,w|d,h],f,xb,s,w":["姻侄婦"],"[s,w|d,h],m":["親家母","親家婆","親家姆","親姆","姻姆"],"[s,w|d,h],m,ob":["姻仁兄"],"[s,w|d,h],m,ob,w":["姻仁兄婦"],"[s,w|d,h],m,lb":["姻仁弟"],"[s,w|d,h],m,lb,w":["姻仁弟婦"],"[s,w|d,h],[f|m],f":["姻太翁"],"[s,w|d,h],[f|m],m":["姻太姆"]}),e=function(s,f){let x={};for(let d in f){let m=d.match(/\{.+?\}/)[0],b=f[d];for(let f in s[m]){let h=s[m][f],l=d.replace(m,f);if(!["h,h","w,w","w,h","h,w"].some((s=>l.includes(s)))){let s=[];h.forEach((function(f){b.forEach((function(x){x.includes("?")?s.push(x.replace("?",f)):s.push(f+x)}))})),x[l]||(x[l]=o[l]||[]),x[l]=s.concat(x[l])}}}return x},t={};for(let s in l){t[s]={};for(let f in l[s])-1==f.indexOf("]")&&(t[s][f]=l[s][f])}let r={};for(let s in l){r[s]={};for(let f in l[s])f.indexOf("]")>-1&&O(f).forEach((function(x){r[s][x]=l[s][f]}))}o=Object.assign({},o,e(t,M),e(r,M));for(let s in w)o[s]=[].concat(w[s],o[s]||[]);o.o=["passer-by.com","作者"];const G={w:["妻","內","嶽","嶽家","丈人"],h:["夫","外","公","婆家","婆婆"]};let c=new Set(Object.values(o).flat());for(let s in o)if(s.match(/^[fm]/)||s.match(/^[olx][bs]$|^[olx][bs],[^mf]/))for(let f in G){let x=f+","+s;if(s.match(/[fm]/)){let s=x.replace(/,[ol]([sb])(,[wh])?$/,",x$1$2").replace(/(,[sd])&[ol](,[wh])?$/,"$1$2");if(s!=x&&o[s])continue}o[x]||(o[x]=[]);let d=G[f],m=o[s];d.forEach((function(s){m.forEach((function(f){let d=s+f;c.has(d)||o[x].push(d)}))}))}var n=o;let a={},p=Object.assign({},n);function i(s,f){let x={f:["d","s"],m:["d","s"],h:["w",""],w:["","h"],s:["m","f"],d:["m","f"],lb:["os","ob"],ob:["ls","lb"],xb:["xs","xb"],ls:["os","ob"],os:["ls","lb"],xs:["xs","xb"]},d="";if(s.match(/&o$/)?d="&l":s.match(/&l$/)&&(d="&o"),s){s=s.replace(/&[ol\d+]/g,""),f<0&&(s.match(/^w/)?f=1:s.match(/^h/)&&(f=0));let m=[],b=function(f){let m=(","+f+","+s).replace(/,[fhs]|,[olx]b/g,",1").replace(/,[mwd]|,[olx]s/g,",0");m=m.substring(0,m.length-2);let b=s.split(",").reverse(),h=m.split(",").reverse(),l=b.map(((s,f)=>x[s][h[f]])),M=l.join(",");return M+(W(M)?"":d)};return f<0?(m.push(b(1)),m.push(b(0))):m.push(b(f)),m}return[""]}function $(s){let f=s.filter((s=>s==s.replace(/[ol](?=[s|b])/g,"x").replace(/&[ol]/,"")));return s.filter((s=>{let x=s.replace(/[ol](?=[s|b])/g,"x").replace(/&[ol]/,"");return f.includes(s)||s!=x&&!f.includes(x)})).filter(((s,f,x)=>x.indexOf(s)===f))}function W(s){let f={f:1,m:1,s:-1,d:-1},x=s.split(","),d=0;return x.forEach((function(s){let x=s.replace(/&[ol\d]+/,"");d+=f[x]||0})),d}function u(s){let f=[],x=function(s){let f=[];if(p[s]){let x=s.replace(/(,[sd])(,[wh])?$/,"$1&o$2"),d=s.replace(/(,[sd])(,[wh])?$/,"$1&l$2");f=p[x]&&p[d]?[x,d]:[s]}return $(f).map((function(s){return p[s][0]}))};if(s.match(/&([\d]+)(,[hw])?$/)){let x=function(s){let f="";const x={1:"大",99:"小"};if(x[s])f=x[s];else{let x=~~(s/10),d=s%10;f=(x?(m[x]+"十").replace("一十","十"):"")+m[d]}return f}(s.match(/&([\d]+)(,[hw])?$/)[1]);if(s=s.replace(/&\d+/g,""),p[s]){let d="";W(s)<3&&!s.match(/[hw],/)?(p[s].forEach((function(s){!d&&s.includes("幾")&&(d=s.replace("幾",x))})),d||(d=p[s][0].match(/^[大小]/)?p[s][0].replace(/^[大小]/,x):x+p[s][0])):d=p[s][0],f.push(d)}}else s=s.replace(/&\d+/g,"");if(f.length||(f=x(s)),f.length||(f=x(s=s.replace(/&[ol]/g,""))),f.length||(f=x(s=s.replace(/[ol](b|s)/g,"x$1"))),!f.length){let d=s.replace(/x/g,"l"),m=s.replace(/x/g,"o");f=f.concat(x(m),x(d))}return f}let g=Object.assign({},p,{xb:["兄弟"],xs:["姐妹"]});function E(s,f){let x=s.split(",").map((function(s){let f=s.replace(/&[ol\d]+/,"");return g[f][0]})).join("的");return f&&f>-1&&g[f+","+s]&&(0==f?x="(女性)"+x:1==f&&(x="(男性)"+x)),x}let j={};for(let s in p)p[s].forEach((function(f){void 0===j[f]&&(j[f]=[]),j[f].push(s)}));let S=function(s){let{from:f,to:x,sex:d}=s,m=s.from.split(","),b=s.to.split(",");for(let h=0;h+o?m[h]=m[h].replace(/^[xol]b|^s/,"lb").replace(/^[xol]s|^d/,"ls"):+w<+o&&(m[h]=m[h].replace(/^[xol]b|^s/,"ob").replace(/^[xol]s|^d/,"os")),f=m.slice(h).join(","),x=b.slice(h+1).join(","),d=b[h].match(/^([fhs1](&[ol\d]+)?|[olx]b)(&[ol\d]+)?/)?1:0;else if(s.optimal&&(l=m[h].match(/([xol])[bs]/),M=b[h].match(/([xol])[bs]/),w=l?l[1]:"",o=M?M[1]:"","x"==w||"x"==o)){f=m.slice(h+1).join(","),x=b.slice(h+1).join(","),d=m[h].match(/^([fhs1](&[ol\d]+)?|[olx]b)(&[ol\d]+)?/)?1:0;continue}}break}f=m.slice(h+1).join(","),x=b.slice(h+1).join(","),d=m[h].match(/^([fhs1](&[ol\d]+)?|[olx]b)(&[ol\d]+)?/)?1:0}return{from:f,to:x,sex:d}};function y(s){(s=s.replace(/之/g,"的").replace(/吾之?(.+)/,"$1").replace(/我的?(.+)/,"$1")).match(/[^娘婆嶽親]家的?(孩子|兒子|女兒)/)&&(s=s.replace(/家的?/,"的"));let f=(s=(s=(s=s.replace(/(舅|姑)+(爸|父|丈|媽|母)?家的?(哥|姐|弟|妹)+/,"$1表$3").replace(/(舅|姑)+(爸|父|丈|媽|母)?家的?/,"$1表")).replace(/(伯|叔)+(父|母)?家的?(哥|姐|弟|妹)+/,"堂$3").replace(/(伯|叔)+(父|母)?家的?/,"堂")).replace(/姨+(爸|父|丈|媽|母)?家的?(哥|姐|弟|妹)+/,"姨$2").replace(/姨+(爸|父|丈|媽|母)?家的?/,"姨")).split("的"),m=[],h=!0;for(;f.length;){let s=f.shift(),l=[],M=[s],w=function(s){x.forEach((f=>{f.arr.forEach((x=>{let d=s.replace(f.exp,x);d!=s&&(M.push(d),w(d))}))}));for(let f in d){let x=s.replace(f,d[f]),m=s.replace(d[f],f);x!=s&&M.push(x),m!=s&&M.push(m)}};w(s);let o=[[],[],[]];M.forEach((function(s){let f=(s=s.replace(/^[尕幺細滿碎晚末尾幼]/,"小")).match(/^[大|小]|^[一|二|三|四|五|六|七|八|九|十]+/);if(f){let x=s.replace(f[0],"幾"),d=s.replace(f[0],""),m=b(f[0]);[x,d,s].forEach((function(s,f){let x=j[s];x&&x.length&&x.forEach((function(x){let d=x.replace(/(,[hw])$/,"&"+m+"$1").replace(/([^hw]+)$/,"$1&"+m);x.match(/^[mf,]+$/)||s.match(/^[從世]/)||o[f].push(d)}))}))}l=l.concat(j[s]||[])})),o.forEach((function(s){l.length||(l=s)})),l.length||(h=!1);let e=[];m.length||(m=[""]),m.forEach((function(s){l.forEach((function(f){e.push(s+(f?","+f:""))}))})),m=e}return h?$(m):[]}function O(s){let x=[],d={},m=function(s){let b="";if(!d[s]){d[s]=!0;do{b=s;for(let x of f)if((s=s.replace(x.exp,x.str)).includes("#"))return s.split("#").forEach(m),!1}while(b!=s);if(s.match(/,[mwd0](&[ol\d+])?,w|,[hfs1](&[ol\d]+)?,h/))return!1;x.push(s)}};return m(s),x}function N(s,f){if(s.match(/^,/)||(s=","+s),f<0)s.match(/^,[w1]/)?f=1:s.match(/^,[h0]/)&&(f=0);else{if(1==f&&s.match(/^,[h0]/))return[];if(0==f&&s.match(/^,[w1]/))return[]}if(f>-1&&!s.includes(",1")&&!s.includes(",0")&&(s=","+f+s),s.match(/,[mwd0](&[ol\d]+)?,w|,[hfs1](&[ol\d]+)?,h/))return[];let x=O(s).map((function(s){return s.replace(/,[01]/,"").substr(1)}));return $(x)}let v=p,k=function(f){"string"==typeof f&&(f=function(f){for(let x of s){let s=f.match(x.exp);if(s)return x.opt(s)}return{}}(f));let x=Object.assign({text:"",target:"",sex:-1,type:"default",reverse:!1,mode:"default",optimal:!1},f);v=function(s){if(p=Object.assign({},n),s&&a[s])for(let f in a[s])p[f]=[].concat(a[s][f],n[f]||[]);return p}(x.mode);let d=y(x.text),m=y(x.target);m.length||(m=[""]);let b=[];return d.forEach((function(s){m.forEach((function(f){(function(s){let{from:f,to:x,sex:d}=s;if(d<0){let s=-1,m=-1;if(f.match(/^,[w1]/)?m=1:f.match(/^,[h0]/)&&(m=0),x.match(/^,[w1]/)?s=1:x.match(/^,[h0]/)&&(s=0),-1==m&&s>-1)d=s;else if(m>-1&&-1==s)d=m;else{if(m!=s)return[];d=m}}let m=N(s.from,d),b=N(s.to,d);if(!m.length||!b.length)return[];let h=[];return m.forEach((function(f){b.forEach((function(x){let m=d,b=","+x;if(b.match(/,([fhs1](&[ol\d]+)?|[olx]b)(&[ol\d]+)?$/)&&(m=1),b.match(/,([mwd0](&[ol\d]+)?|[olx]s)(&[ol\d]+)?$/)&&(m=0),f&&x){let m=s.optimal;if((f.match(/&\d+/)||x.match(/&\d+/))&&(m=!0),m){let m=S({from:f,to:x,sex:d,optimal:s.optimal});f=m.from,x=m.to,d=m.sex}}(x?i(x,d):[""]).forEach((function(s){let x=(s?","+s:"")+(f?","+f:"");h.push({selector:x,sex:m})}))}))})),h})({from:s,to:f,sex:x.sex,optimal:x.optimal}).forEach((function(s){(s?N(s.selector,s.sex):[]).forEach((function(f){let d=[f],m=s.sex;x.reverse&&(d=i(f,m),m=f.match(/([fhs1](&[ol\d]+)?|[olx]b)$/)?1:0),"chain"==x.type?d.forEach((function(f){let x=E(f,s.sex);x&&b.push(x)})):"pair"==x.type?(d=i(f,s.sex),d.forEach((function(s){let x=function(s,f){let x=[],d=[],m=[];s=s.replace(/&\d+/,""),f=f.replace(/&\d+/,"");let b=s.replace(/([ol])([bs])/,"x$2"),l=f.replace(/([ol])([bs])/,"x$2"),M=s.replace(/&[ol]/,""),w=f.replace(/&[ol]/,"");for(let o in h){let e=o.split("#");if(e.length>1){let t=N(e[0]),r=N(e[1]),G=t.map((function(s){return s.replace(/&[ol\d]+/,"").replace(/([ol])([bs])/,"x$2")})),c=r.map((function(s){return s.replace(/&[ol\d]+/,"").replace(/([ol])([bs])/,"x$2")}));(t.includes(s)&&r.includes(f)||t.includes(f)&&r.includes(s))&&x.push(h[o][0]),(G.includes(b)&&c.includes(l)||G.includes(l)&&c.includes(b))&&d.push(h[o][0]),(G.includes(M)&&c.includes(w)||G.includes(w)&&c.includes(M))&&m.push(h[o][0])}}return x.length||(x=d),x.length||(x=m),x}(f,s);b=b.concat(x)}))):d.forEach((function(s){let f=u(s);f.length||(f=u(m+","+s)),b=b.concat(f)}))}))}))}))})),[...new Set(b)]};return k.data=v,k.dataCount=Object.keys(v).length,k.setMode=function(s,f){a[s]=Object.assign(a[s]||{},f)},k})); diff --git a/gulpfile.js b/gulpfile.js index 2306438..b3c9abb 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -1,21 +1,72 @@ -const fs = require('fs'); const gulp = require('gulp'); const rename = require("gulp-rename"); const cht = require('gulp-cht'); +const rollup = require('rollup'); +const terser = require('@rollup/plugin-terser'); +const pkg = require('./package'); -gulp.task('mini', () => { +// copyright +var repository = pkg.repository.url.replace(/(.+)(:\/\/.+)\.git$/,'https$2'); +var now = new Date(); +var date = (new Date(now.getTime()-now.getTimezoneOffset()*60000)).toISOString().substr(0,10); +var banner = `/*! + * ${pkg.name} v${pkg.version} + * ${pkg.description} + * ${pkg.homepage} + * + * Copyright (c) 2016-present, ${pkg.author} + * + * Released under the ${pkg.license} License + * ${repository} + * + * Created on: ${date} + */`; + +gulp.task('build', () => { + return rollup.rollup({ + input: './src/relationship.js', + plugins: [ + terser() + ] + }).then(bundle => { + return bundle.write({ + file: './dist/relationship.min.js', + format: 'umd', + name: 'relationship', + banner + }); + }); +}); + +gulp.task('mode', () => { + return rollup.rollup({ + input: './src/relationship-mode.js', + plugins: [ + terser() + ] + }).then(bundle => { + return bundle.write({ + file: './dist/relationship-mode.min.js', + format: 'umd', + name: 'relationshipMode', + }); + }); +}); + +gulp.task('localization', () => { // gulp.src('./index.html') // .pipe(cht()) // .pipe(rename("zh-HK.html")) // .pipe(gulp.dest("./")); - gulp.src('dist/relationship-mode.min.js') - .pipe(cht()) - .pipe(rename("relationship-mode.zh-HK.min.js")) - .pipe(gulp.dest('dist/')) - - return gulp.src('dist/relationship.min.js') - .pipe(cht()) - .pipe(rename("relationship.zh-HK.min.js")) + return gulp.src([ + 'dist/relationship.min.js', + 'dist/relationship-mode.min.js', + ]).pipe(cht()) + .pipe(rename(function(path) { + path.basename = path.basename.replace('.min','.zh-HK.min'); + })) .pipe(gulp.dest('dist/')) }); + +gulp.task('default', gulp.series(['build', 'mode', 'localization'])) diff --git a/package-lock.json b/package-lock.json index 2627038..6052f86 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,21 +9,12 @@ "version": "1.2.3", "license": "MIT", "devDependencies": { + "@rollup/plugin-terser": "^0.4.0", "gulp": "^4.0.2", "gulp-cht": "^2.0.20", "gulp-rename": "^2.0.0", - "tape": "^5.3.1", - "webpack": "^5.74.0", - "webpack-cli": "^4.10.0" - } - }, - "node_modules/@discoveryjs/json-ext": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz", - "integrity": "sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==", - "dev": true, - "engines": { - "node": ">=10.0.0" + "rollup": "^3.18.0", + "tape": "^5.3.1" } }, "node_modules/@jridgewell/gen-mapping": { @@ -75,251 +66,41 @@ "dev": true }, "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.15", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.15.tgz", - "integrity": "sha512-oWZNOULl+UbhsgB51uuZzglikfIKSUBO/M9W2OfEjn7cmqoAiCgmv9lyACTUacZwBz0ITnJ2NqjU8Tx0DHL88g==", + "version": "0.3.17", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz", + "integrity": "sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==", "dev": true, "dependencies": { - "@jridgewell/resolve-uri": "^3.0.3", - "@jridgewell/sourcemap-codec": "^1.4.10" + "@jridgewell/resolve-uri": "3.1.0", + "@jridgewell/sourcemap-codec": "1.4.14" } }, - "node_modules/@types/eslint": { - "version": "8.4.6", - "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.4.6.tgz", - "integrity": "sha512-/fqTbjxyFUaYNO7VcW5g+4npmqVACz1bB7RTHYuLj+PRjw9hrCwrUXVQFpChUS0JsyEFvMZ7U/PfmvWgxJhI9g==", + "node_modules/@rollup/plugin-terser": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/@rollup/plugin-terser/-/plugin-terser-0.4.0.tgz", + "integrity": "sha512-Ipcf3LPNerey1q9ZMjiaWHlNPEHNU/B5/uh9zXLltfEQ1lVSLLeZSgAtTPWGyw8Ip1guOeq+mDtdOlEj/wNxQw==", "dev": true, "dependencies": { - "@types/estree": "*", - "@types/json-schema": "*" - } - }, - "node_modules/@types/eslint-scope": { - "version": "3.7.4", - "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.4.tgz", - "integrity": "sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==", - "dev": true, - "dependencies": { - "@types/eslint": "*", - "@types/estree": "*" - } - }, - "node_modules/@types/estree": { - "version": "0.0.51", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.51.tgz", - "integrity": "sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==", - "dev": true - }, - "node_modules/@types/json-schema": { - "version": "7.0.11", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz", - "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==", - "dev": true - }, - "node_modules/@types/node": { - "version": "18.7.15", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.7.15.tgz", - "integrity": "sha512-XnjpaI8Bgc3eBag2Aw4t2Uj/49lLBSStHWfqKvIuXD7FIrZyMLWp8KuAFHAqxMZYTF9l08N1ctUn9YNybZJVmQ==", - "dev": true - }, - "node_modules/@webassemblyjs/ast": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.1.tgz", - "integrity": "sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw==", - "dev": true, - "dependencies": { - "@webassemblyjs/helper-numbers": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1" - } - }, - "node_modules/@webassemblyjs/floating-point-hex-parser": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.1.tgz", - "integrity": "sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ==", - "dev": true - }, - "node_modules/@webassemblyjs/helper-api-error": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.1.tgz", - "integrity": "sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg==", - "dev": true - }, - "node_modules/@webassemblyjs/helper-buffer": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.1.tgz", - "integrity": "sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA==", - "dev": true - }, - "node_modules/@webassemblyjs/helper-numbers": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.1.tgz", - "integrity": "sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ==", - "dev": true, - "dependencies": { - "@webassemblyjs/floating-point-hex-parser": "1.11.1", - "@webassemblyjs/helper-api-error": "1.11.1", - "@xtuc/long": "4.2.2" - } - }, - "node_modules/@webassemblyjs/helper-wasm-bytecode": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.1.tgz", - "integrity": "sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q==", - "dev": true - }, - "node_modules/@webassemblyjs/helper-wasm-section": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.1.tgz", - "integrity": "sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg==", - "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-buffer": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1", - "@webassemblyjs/wasm-gen": "1.11.1" - } - }, - "node_modules/@webassemblyjs/ieee754": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.1.tgz", - "integrity": "sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ==", - "dev": true, - "dependencies": { - "@xtuc/ieee754": "^1.2.0" - } - }, - "node_modules/@webassemblyjs/leb128": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.1.tgz", - "integrity": "sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw==", - "dev": true, - "dependencies": { - "@xtuc/long": "4.2.2" - } - }, - "node_modules/@webassemblyjs/utf8": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.1.tgz", - "integrity": "sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ==", - "dev": true - }, - "node_modules/@webassemblyjs/wasm-edit": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.1.tgz", - "integrity": "sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA==", - "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-buffer": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1", - "@webassemblyjs/helper-wasm-section": "1.11.1", - "@webassemblyjs/wasm-gen": "1.11.1", - "@webassemblyjs/wasm-opt": "1.11.1", - "@webassemblyjs/wasm-parser": "1.11.1", - "@webassemblyjs/wast-printer": "1.11.1" - } - }, - "node_modules/@webassemblyjs/wasm-gen": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.1.tgz", - "integrity": "sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA==", - "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1", - "@webassemblyjs/ieee754": "1.11.1", - "@webassemblyjs/leb128": "1.11.1", - "@webassemblyjs/utf8": "1.11.1" - } - }, - "node_modules/@webassemblyjs/wasm-opt": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.1.tgz", - "integrity": "sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw==", - "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-buffer": "1.11.1", - "@webassemblyjs/wasm-gen": "1.11.1", - "@webassemblyjs/wasm-parser": "1.11.1" - } - }, - "node_modules/@webassemblyjs/wasm-parser": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.1.tgz", - "integrity": "sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA==", - "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-api-error": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1", - "@webassemblyjs/ieee754": "1.11.1", - "@webassemblyjs/leb128": "1.11.1", - "@webassemblyjs/utf8": "1.11.1" - } - }, - "node_modules/@webassemblyjs/wast-printer": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.1.tgz", - "integrity": "sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg==", - "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.11.1", - "@xtuc/long": "4.2.2" - } - }, - "node_modules/@webpack-cli/configtest": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-1.2.0.tgz", - "integrity": "sha512-4FB8Tj6xyVkyqjj1OaTqCjXYULB9FMkqQ8yGrZjRDrYh0nOE+7Lhs45WioWQQMV+ceFlE368Ukhe6xdvJM9Egg==", - "dev": true, - "peerDependencies": { - "webpack": "4.x.x || 5.x.x", - "webpack-cli": "4.x.x" - } - }, - "node_modules/@webpack-cli/info": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-1.5.0.tgz", - "integrity": "sha512-e8tSXZpw2hPl2uMJY6fsMswaok5FdlGNRTktvFk2sD8RjH0hE2+XistawJx1vmKteh4NmGmNUrp+Tb2w+udPcQ==", - "dev": true, - "dependencies": { - "envinfo": "^7.7.3" + "serialize-javascript": "^6.0.0", + "smob": "^0.0.6", + "terser": "^5.15.1" + }, + "engines": { + "node": ">=14.0.0" }, "peerDependencies": { - "webpack-cli": "4.x.x" - } - }, - "node_modules/@webpack-cli/serve": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-1.7.0.tgz", - "integrity": "sha512-oxnCNGj88fL+xzV+dacXs44HcDwf1ovs3AuEzvP7mqXw7fQntqIhQ1BRmynh4qEKQSSSRSWVyXRjmTbZIX9V2Q==", - "dev": true, - "peerDependencies": { - "webpack-cli": "4.x.x" + "rollup": "^2.x || ^3.x" }, "peerDependenciesMeta": { - "webpack-dev-server": { + "rollup": { "optional": true } } }, - "node_modules/@xtuc/ieee754": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", - "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", - "dev": true - }, - "node_modules/@xtuc/long": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", - "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", - "dev": true - }, "node_modules/acorn": { - "version": "8.8.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.0.tgz", - "integrity": "sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w==", + "version": "8.8.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz", + "integrity": "sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==", "dev": true, "bin": { "acorn": "bin/acorn" @@ -328,40 +109,6 @@ "node": ">=0.4.0" } }, - "node_modules/acorn-import-assertions": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz", - "integrity": "sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw==", - "dev": true, - "peerDependencies": { - "acorn": "^8" - } - }, - "node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "dev": true, - "peerDependencies": { - "ajv": "^6.9.1" - } - }, "node_modules/ansi-colors": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-1.1.0.tgz", @@ -580,14 +327,14 @@ } }, "node_modules/array.prototype.every": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/array.prototype.every/-/array.prototype.every-1.1.3.tgz", - "integrity": "sha512-vWnriJI//SOMOWtXbU/VXhJ/InfnNHPF6BLKn5WfY8xXy+NWql0fUy20GO3sdqBhCAO+qw8S/E5nJiZX+QFdCA==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/array.prototype.every/-/array.prototype.every-1.1.4.tgz", + "integrity": "sha512-Aui35iRZk1HHLRAyF7QP0KAnOnduaQ6fo6k1NVWfRc0xTs2AZ70ytlXvOmkC6Di4JmUs2Wv3DYzGtCQFSk5uGg==", "dev": true, "dependencies": { "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.0", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", "is-string": "^1.0.7" }, "engines": { @@ -622,10 +369,16 @@ } }, "node_modules/async-each": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz", - "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==", - "dev": true + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.6.tgz", + "integrity": "sha512-c646jH1avxr+aVpndVMeAfYw7wAa6idufrlN3LPA4PmKS0QEGp6PIC9nwz0WQkkvBGAMEki3pFdtxaF39J9vvg==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ] }, "node_modules/async-settle": { "version": "1.0.0", @@ -769,41 +522,16 @@ "node": ">=0.10.0" } }, - "node_modules/browserslist": { - "version": "4.21.3", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.3.tgz", - "integrity": "sha512-898rgRXLAyRkM1GryrrBHGkqA5hlpkV5MhtZwg9QXeiyLUYs2k00Un05aX5l2/yJIOObYKOpS2JNo8nJDE7fWQ==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - } - ], - "dependencies": { - "caniuse-lite": "^1.0.30001370", - "electron-to-chromium": "^1.4.202", - "node-releases": "^2.0.6", - "update-browserslist-db": "^1.0.5" - }, - "bin": { - "browserslist": "cli.js" - }, - "engines": { - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" - } - }, "node_modules/buffer-equal": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/buffer-equal/-/buffer-equal-1.0.0.tgz", - "integrity": "sha512-tcBWO2Dl4e7Asr9hTGcpVrCe+F7DubpmqWCTbj4FHLmjqO2hIaC383acQubWtRJhdceqs5uBHs6Es+Sk//RKiQ==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/buffer-equal/-/buffer-equal-1.0.1.tgz", + "integrity": "sha512-QoV3ptgEaQpvVwbXdSO39iqPQTCxSF7A5U99AxbHYqUdCizL/lH2Z0A2y6nbZucxMEOtNyZfG2s6gsVugGpKkg==", "dev": true, "engines": { - "node": ">=0.4.0" + "node": ">=0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/buffer-from": { @@ -854,22 +582,6 @@ "node": ">=0.10.0" } }, - "node_modules/caniuse-lite": { - "version": "1.0.30001390", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001390.tgz", - "integrity": "sha512-sS4CaUM+/+vqQUlCvCJ2WtDlV81aWtHhqeEVkLokVJJa3ViN4zDxAGfq9R8i1m90uGHxo99cy10Od+lvn3hf0g==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/caniuse-lite" - } - ] - }, "node_modules/chokidar": { "version": "2.1.8", "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", @@ -893,15 +605,6 @@ "fsevents": "^1.2.7" } }, - "node_modules/chrome-trace-event": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", - "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", - "dev": true, - "engines": { - "node": ">=6.0" - } - }, "node_modules/class-utils": { "version": "0.3.6", "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", @@ -1020,41 +723,6 @@ "node": ">= 0.10" } }, - "node_modules/clone-deep": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", - "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", - "dev": true, - "dependencies": { - "is-plain-object": "^2.0.4", - "kind-of": "^6.0.2", - "shallow-clone": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/clone-deep/node_modules/is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", - "dev": true, - "dependencies": { - "isobject": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/clone-deep/node_modules/kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/clone-stats": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-1.0.0.tgz", @@ -1117,12 +785,6 @@ "color-support": "bin.js" } }, - "node_modules/colorette": { - "version": "2.0.19", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.19.tgz", - "integrity": "sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==", - "dev": true - }, "node_modules/commander": { "version": "2.20.3", "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", @@ -1157,13 +819,10 @@ } }, "node_modules/convert-source-map": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz", - "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==", - "dev": true, - "dependencies": { - "safe-buffer": "~5.1.1" - } + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", + "dev": true }, "node_modules/copy-descriptor": { "version": "0.1.1", @@ -1190,35 +849,6 @@ "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", "dev": true }, - "node_modules/cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "dev": true, - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/cross-spawn/node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, "node_modules/d": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/d/-/d-1.0.1.tgz", @@ -1229,15 +859,6 @@ "type": "^1.0.1" } }, - "node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "dependencies": { - "ms": "2.0.0" - } - }, "node_modules/decamelize": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", @@ -1257,26 +878,28 @@ } }, "node_modules/deep-equal": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-2.0.5.tgz", - "integrity": "sha512-nPiRgmbAtm1a3JsnLCf6/SLfXcjyN5v8L1TXzdCmHrXJ4hx+gW/w1YCcn7z8gJtSiDArZCgYtbao3QqLm/N1Sw==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-2.2.0.tgz", + "integrity": "sha512-RdpzE0Hv4lhowpIUKKMJfeH6C1pXdtT1/it80ubgWqwI3qpuxUBpC1S4hnHg+zjnuOoDkzUtUCEEkG+XG5l3Mw==", "dev": true, "dependencies": { - "call-bind": "^1.0.0", - "es-get-iterator": "^1.1.1", - "get-intrinsic": "^1.0.1", - "is-arguments": "^1.0.4", - "is-date-object": "^1.0.2", - "is-regex": "^1.1.1", + "call-bind": "^1.0.2", + "es-get-iterator": "^1.1.2", + "get-intrinsic": "^1.1.3", + "is-arguments": "^1.1.1", + "is-array-buffer": "^3.0.1", + "is-date-object": "^1.0.5", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.2", "isarray": "^2.0.5", - "object-is": "^1.1.4", + "object-is": "^1.1.5", "object-keys": "^1.1.1", - "object.assign": "^4.1.2", - "regexp.prototype.flags": "^1.3.0", - "side-channel": "^1.0.3", - "which-boxed-primitive": "^1.0.1", + "object.assign": "^4.1.4", + "regexp.prototype.flags": "^1.4.3", + "side-channel": "^1.0.4", + "which-boxed-primitive": "^1.0.2", "which-collection": "^1.0.1", - "which-typed-array": "^1.1.2" + "which-typed-array": "^1.1.9" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -1310,9 +933,9 @@ } }, "node_modules/define-properties": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz", - "integrity": "sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.0.tgz", + "integrity": "sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==", "dev": true, "dependencies": { "has-property-descriptors": "^1.0.0", @@ -1339,10 +962,13 @@ } }, "node_modules/defined": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz", - "integrity": "sha512-Y2caI5+ZwS5c3RiNDJ6u53VhQHv+hHKwhkI1iHvceKUHw9Df6EK2zRLfjejRgMuCuxK7PfSWIMwWecceVvThjQ==", - "dev": true + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.1.tgz", + "integrity": "sha512-hsBd2qSVCRE+5PmNdHt1uzyrFu5d3RwmFDKzyNZMFq/EwDNJF7Ee5+D5oEKF0hU6LhtoUF1macFvOe4AskQC1Q==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, "node_modules/detect-file": { "version": "1.0.0", @@ -1399,12 +1025,6 @@ "node": ">=0.10.0" } }, - "node_modules/electron-to-chromium": { - "version": "1.4.241", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.241.tgz", - "integrity": "sha512-e7Wsh4ilaioBZ5bMm6+F4V5c11dh56/5Jwz7Hl5Tu1J7cnB+Pqx5qIF2iC7HPpfyQMqGSvvLP5bBAIDd2gAtGw==", - "dev": true - }, "node_modules/end-of-stream": { "version": "1.4.4", "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", @@ -1414,31 +1034,6 @@ "once": "^1.4.0" } }, - "node_modules/enhanced-resolve": { - "version": "5.10.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.10.0.tgz", - "integrity": "sha512-T0yTFjdpldGY8PmuXXR0PyQ1ufZpEGiHVrp7zHKB7jdR4qlmZHhONVM5AQOAWXuF/w3dnHbEQVrNptJgt7F+cQ==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.2.4", - "tapable": "^2.2.0" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/envinfo": { - "version": "7.8.1", - "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.8.1.tgz", - "integrity": "sha512-/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw==", - "dev": true, - "bin": { - "envinfo": "dist/cli.js" - }, - "engines": { - "node": ">=4" - } - }, "node_modules/error-ex": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", @@ -1449,34 +1044,44 @@ } }, "node_modules/es-abstract": { - "version": "1.20.2", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.20.2.tgz", - "integrity": "sha512-XxXQuVNrySBNlEkTYJoDNFe5+s2yIOpzq80sUHEdPdQr0S5nTLz4ZPPPswNIpKseDDUS5yghX1gfLIHQZ1iNuQ==", + "version": "1.21.1", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.21.1.tgz", + "integrity": "sha512-QudMsPOz86xYz/1dG1OuGBKOELjCh99IIWHLzy5znUB6j8xG2yMA7bfTV86VSqKF+Y/H08vQPR+9jyXpuC6hfg==", "dev": true, "dependencies": { + "available-typed-arrays": "^1.0.5", "call-bind": "^1.0.2", + "es-set-tostringtag": "^2.0.1", "es-to-primitive": "^1.2.1", "function-bind": "^1.1.1", "function.prototype.name": "^1.1.5", - "get-intrinsic": "^1.1.2", + "get-intrinsic": "^1.1.3", "get-symbol-description": "^1.0.0", + "globalthis": "^1.0.3", + "gopd": "^1.0.1", "has": "^1.0.3", "has-property-descriptors": "^1.0.0", + "has-proto": "^1.0.1", "has-symbols": "^1.0.3", - "internal-slot": "^1.0.3", - "is-callable": "^1.2.4", + "internal-slot": "^1.0.4", + "is-array-buffer": "^3.0.1", + "is-callable": "^1.2.7", "is-negative-zero": "^2.0.2", "is-regex": "^1.1.4", "is-shared-array-buffer": "^1.0.2", "is-string": "^1.0.7", + "is-typed-array": "^1.1.10", "is-weakref": "^1.0.2", "object-inspect": "^1.12.2", "object-keys": "^1.1.1", "object.assign": "^4.1.4", "regexp.prototype.flags": "^1.4.3", - "string.prototype.trimend": "^1.0.5", - "string.prototype.trimstart": "^1.0.5", - "unbox-primitive": "^1.0.2" + "safe-regex-test": "^1.0.0", + "string.prototype.trimend": "^1.0.6", + "string.prototype.trimstart": "^1.0.6", + "typed-array-length": "^1.0.4", + "unbox-primitive": "^1.0.2", + "which-typed-array": "^1.1.9" }, "engines": { "node": ">= 0.4" @@ -1486,19 +1091,20 @@ } }, "node_modules/es-get-iterator": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/es-get-iterator/-/es-get-iterator-1.1.2.tgz", - "integrity": "sha512-+DTO8GYwbMCwbywjimwZMHp8AuYXOS2JZFWoi2AlPOS3ebnII9w/NLpNZtA7A0YLaVDw+O7KFCeoIV7OPvM7hQ==", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/es-get-iterator/-/es-get-iterator-1.1.3.tgz", + "integrity": "sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==", "dev": true, "dependencies": { "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.0", - "has-symbols": "^1.0.1", - "is-arguments": "^1.1.0", + "get-intrinsic": "^1.1.3", + "has-symbols": "^1.0.3", + "is-arguments": "^1.1.1", "is-map": "^2.0.2", "is-set": "^2.0.2", - "is-string": "^1.0.5", - "isarray": "^2.0.5" + "is-string": "^1.0.7", + "isarray": "^2.0.5", + "stop-iteration-iterator": "^1.0.0" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -1510,11 +1116,19 @@ "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", "dev": true }, - "node_modules/es-module-lexer": { - "version": "0.9.3", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.9.3.tgz", - "integrity": "sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==", - "dev": true + "node_modules/es-set-tostringtag": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz", + "integrity": "sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.1.3", + "has": "^1.0.3", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } }, "node_modules/es-to-primitive": { "version": "1.2.1", @@ -1581,67 +1195,6 @@ "es6-symbol": "^3.1.1" } }, - "node_modules/escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/eslint-scope": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", - "dev": true, - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "dev": true, - "dependencies": { - "estraverse": "^5.2.0" - }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/esrecurse/node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", - "dev": true, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/events": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", - "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", - "dev": true, - "engines": { - "node": ">=0.8.x" - } - }, "node_modules/expand-brackets": { "version": "2.1.4", "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", @@ -1660,6 +1213,15 @@ "node": ">=0.10.0" } }, + "node_modules/expand-brackets/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, "node_modules/expand-brackets/node_modules/define-property": { "version": "0.2.5", "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", @@ -1734,6 +1296,12 @@ "node": ">=0.10.0" } }, + "node_modules/expand-brackets/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, "node_modules/expand-tilde": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz", @@ -1825,33 +1393,12 @@ "node": ">= 0.10" } }, - "node_modules/fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true - }, - "node_modules/fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true - }, "node_modules/fast-levenshtein": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-1.1.4.tgz", "integrity": "sha512-Ia0sQNrMPXXkqVFt6w6M1n1oKo3NfKs+mvaV811Jwir7vAk9a6PVV9VPYf6X3BU97QiLEmuW3uXH9u87zDFfdw==", "dev": true }, - "node_modules/fastest-levenshtein": { - "version": "1.0.16", - "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz", - "integrity": "sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==", - "dev": true, - "engines": { - "node": ">= 4.9.1" - } - }, "node_modules/file-uri-to-path": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", @@ -1875,16 +1422,16 @@ } }, "node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", + "integrity": "sha512-jvElSjyuo4EMQGoTwo1uJU5pQMwTW5lS1x05zzfJuTIyLR3zwO27LYrxNg+dlvKpGOuGy/MzBdXh80g0ve5+HA==", "dev": true, "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" }, "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, "node_modules/findup-sync": { @@ -2069,9 +1616,9 @@ "dev": true }, "node_modules/get-intrinsic": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.2.tgz", - "integrity": "sha512-Jfm3OyCxHh9DJyc28qGk+JmfkpO41A4XkneDSujN9MDXrm4oDKdHvndhZ2dN94+ERNfkYJWDclW6k2L/ZGHjXA==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.0.tgz", + "integrity": "sha512-L049y6nFOuom5wGyRc3/gdTLO94dySVKRACj1RmJZBQXlbTMhtNIgkWkUHq+jYmZvKf14EW1EoJnnjbmoHij0Q==", "dev": true, "dependencies": { "function-bind": "^1.1.1", @@ -2179,12 +1726,6 @@ "node": ">= 0.10" } }, - "node_modules/glob-to-regexp": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", - "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", - "dev": true - }, "node_modules/glob-watcher": { "version": "5.0.5", "resolved": "https://registry.npmjs.org/glob-watcher/-/glob-watcher-5.0.5.tgz", @@ -2233,6 +1774,21 @@ "node": ">=0.10.0" } }, + "node_modules/globalthis": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz", + "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==", + "dev": true, + "dependencies": { + "define-properties": "^1.1.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/glogg": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/glogg/-/glogg-1.0.2.tgz", @@ -2245,6 +1801,18 @@ "node": ">= 0.10" } }, + "node_modules/gopd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.1.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/graceful-fs": { "version": "4.2.10", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", @@ -2362,15 +1930,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, "node_modules/has-property-descriptors": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", @@ -2383,6 +1942,18 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/has-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", + "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/has-symbols": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", @@ -2467,25 +2038,6 @@ "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", "dev": true }, - "node_modules/import-local": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", - "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", - "dev": true, - "dependencies": { - "pkg-dir": "^4.2.0", - "resolve-cwd": "^3.0.0" - }, - "bin": { - "import-local-fixture": "fixtures/cli.js" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", @@ -2509,12 +2061,12 @@ "dev": true }, "node_modules/internal-slot": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.3.tgz", - "integrity": "sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==", + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.5.tgz", + "integrity": "sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==", "dev": true, "dependencies": { - "get-intrinsic": "^1.1.0", + "get-intrinsic": "^1.2.0", "has": "^1.0.3", "side-channel": "^1.0.4" }, @@ -2590,6 +2142,20 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-array-buffer": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.2.tgz", + "integrity": "sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.0", + "is-typed-array": "^1.1.10" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-arrayish": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", @@ -2643,9 +2209,9 @@ "dev": true }, "node_modules/is-callable": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.4.tgz", - "integrity": "sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w==", + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", "dev": true, "engines": { "node": ">= 0.4" @@ -2655,9 +2221,9 @@ } }, "node_modules/is-core-module": { - "version": "2.10.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.10.0.tgz", - "integrity": "sha512-Erxj2n/LDAZ7H8WNJXd9tw38GYM3dv8rk8Zcs+jJuxYTW7sozH+SS8NtrSjVL1/vpLvWi1hxy96IzjJ3EHTJJg==", + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.11.0.tgz", + "integrity": "sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==", "dev": true, "dependencies": { "has": "^1.0.3" @@ -2925,15 +2491,15 @@ } }, "node_modules/is-typed-array": { - "version": "1.1.9", - "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.9.tgz", - "integrity": "sha512-kfrlnTTn8pZkfpJMUgYD7YZ3qzeJgWUn8XfVYBARc4wnmNOmLbmuuaAs3q5fvB0UJOn6yHAKaGTPM7d6ezoD/A==", + "version": "1.1.10", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.10.tgz", + "integrity": "sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==", "dev": true, "dependencies": { "available-typed-arrays": "^1.0.5", "call-bind": "^1.0.2", - "es-abstract": "^1.20.0", "for-each": "^0.3.3", + "gopd": "^1.0.1", "has-tostringtag": "^1.0.0" }, "engines": { @@ -3034,32 +2600,6 @@ "node": ">=0.10.0" } }, - "node_modules/jest-worker": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", - "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", - "dev": true, - "dependencies": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - }, - "engines": { - "node": ">= 10.13.0" - } - }, - "node_modules/json-parse-even-better-errors": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", - "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", - "dev": true - }, - "node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true - }, "node_modules/json-stable-stringify-without-jsonify": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", @@ -3177,27 +2717,6 @@ "node": ">=0.10.0" } }, - "node_modules/loader-runner": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", - "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", - "dev": true, - "engines": { - "node": ">=6.11.5" - } - }, - "node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/make-iterator": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/make-iterator/-/make-iterator-1.0.1.tgz", @@ -3282,12 +2801,6 @@ "node": ">=0.10.0" } }, - "node_modules/merge-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", - "dev": true - }, "node_modules/micromatch": { "version": "3.1.10", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", @@ -3358,27 +2871,6 @@ "node": ">=0.10.0" } }, - "node_modules/mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "dev": true, - "dependencies": { - "mime-db": "1.52.0" - }, - "engines": { - "node": ">= 0.6" - } - }, "node_modules/minimatch": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", @@ -3392,10 +2884,13 @@ } }, "node_modules/minimist": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", - "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==", - "dev": true + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, "node_modules/mixin-deep": { "version": "1.3.2", @@ -3434,12 +2929,6 @@ "node": ">=0.10.0" } }, - "node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true - }, "node_modules/mute-stdout": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/mute-stdout/-/mute-stdout-1.0.1.tgz", @@ -3450,9 +2939,9 @@ } }, "node_modules/nan": { - "version": "2.16.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.16.0.tgz", - "integrity": "sha512-UdAqHyFngu7TfQKsCBgAA6pWDkT8MAO7d0jyOecVhN5354xbLqdn8mV9Tat9gepAupm0bt2DbeaSC8vS52MuFA==", + "version": "2.17.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.17.0.tgz", + "integrity": "sha512-2ZTgtl0nJsO0KQCjEpxcIr5D+Yv90plTitZt9JBfQvVJDS5seMl3FOvsh3+9CoYWXf/1l5OaZzzF6nDm4cagaQ==", "dev": true, "optional": true }, @@ -3524,24 +3013,12 @@ "node": ">=0.10.0" } }, - "node_modules/neo-async": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", - "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", - "dev": true - }, "node_modules/next-tick": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.1.0.tgz", "integrity": "sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==", "dev": true }, - "node_modules/node-releases": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.6.tgz", - "integrity": "sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==", - "dev": true - }, "node_modules/normalize-package-data": { "version": "2.5.0", "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", @@ -3554,6 +3031,15 @@ "validate-npm-package-license": "^3.0.1" } }, + "node_modules/normalize-package-data/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, "node_modules/normalize-path": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", @@ -3670,9 +3156,9 @@ } }, "node_modules/object-inspect": { - "version": "1.12.2", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz", - "integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==", + "version": "1.12.3", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", + "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==", "dev": true, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -3816,42 +3302,6 @@ "node": ">=0.10.0" } }, - "node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true, - "engines": { - "node": ">=6" - } - }, "node_modules/parse-filepath": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/parse-filepath/-/parse-filepath-1.0.2.tgz", @@ -3912,12 +3362,15 @@ "dev": true }, "node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", + "integrity": "sha512-yTltuKuhtNeFJKa1PiRzfLAU5182q1y4Eb4XCJ3PBqyzEDkAZRzBrKKBct682ls9reBVHf9udYLN5Nd+K1B9BQ==", "dev": true, + "dependencies": { + "pinkie-promise": "^2.0.0" + }, "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, "node_modules/path-is-absolute": { @@ -3929,15 +3382,6 @@ "node": ">=0.10.0" } }, - "node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true, - "engines": { - "node": ">=8" - } - }, "node_modules/path-parse": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", @@ -3979,12 +3423,6 @@ "node": ">=0.10.0" } }, - "node_modules/picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", - "dev": true - }, "node_modules/pify": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", @@ -4015,18 +3453,6 @@ "node": ">=0.10.0" } }, - "node_modules/pkg-dir": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", - "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", - "dev": true, - "dependencies": { - "find-up": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/posix-character-classes": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", @@ -4072,15 +3498,6 @@ "pump": "^2.0.0" } }, - "node_modules/punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", - "dev": true, - "engines": { - "node": ">=6" - } - }, "node_modules/randombytes": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", @@ -4117,35 +3534,10 @@ "node": ">=0.10.0" } }, - "node_modules/read-pkg-up/node_modules/find-up": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", - "integrity": "sha512-jvElSjyuo4EMQGoTwo1uJU5pQMwTW5lS1x05zzfJuTIyLR3zwO27LYrxNg+dlvKpGOuGy/MzBdXh80g0ve5+HA==", - "dev": true, - "dependencies": { - "path-exists": "^2.0.0", - "pinkie-promise": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/read-pkg-up/node_modules/path-exists": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", - "integrity": "sha512-yTltuKuhtNeFJKa1PiRzfLAU5182q1y4Eb4XCJ3PBqyzEDkAZRzBrKKBct682ls9reBVHf9udYLN5Nd+K1B9BQ==", - "dev": true, - "dependencies": { - "pinkie-promise": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", "dev": true, "dependencies": { "core-util-is": "~1.0.0", @@ -4356,18 +3748,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/resolve-cwd": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", - "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", - "dev": true, - "dependencies": { - "resolve-from": "^5.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/resolve-dir": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz", @@ -4381,15 +3761,6 @@ "node": ">=0.10.0" } }, - "node_modules/resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, "node_modules/resolve-options": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/resolve-options/-/resolve-options-1.1.0.tgz", @@ -4427,6 +3798,36 @@ "node": ">=0.12" } }, + "node_modules/rollup": { + "version": "3.18.0", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.18.0.tgz", + "integrity": "sha512-J8C6VfEBjkvYPESMQYxKHxNOh4A5a3FlP+0BETGo34HEcE4eTlgCrO2+eWzlu2a/sHs2QUkZco+wscH7jhhgWg==", + "dev": true, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=14.18.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/rollup/node_modules/fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, "node_modules/safe-buffer": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", @@ -4442,31 +3843,18 @@ "ret": "~0.1.10" } }, - "node_modules/schema-utils": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", - "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", + "node_modules/safe-regex-test": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz", + "integrity": "sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==", "dev": true, "dependencies": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - }, - "engines": { - "node": ">= 10.13.0" + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.3", + "is-regex": "^1.1.4" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true, - "bin": { - "semver": "bin/semver" + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/semver-greatest-satisfied-range": { @@ -4482,9 +3870,9 @@ } }, "node_modules/serialize-javascript": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz", - "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.1.tgz", + "integrity": "sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==", "dev": true, "dependencies": { "randombytes": "^2.1.0" @@ -4523,48 +3911,6 @@ "node": ">=0.10.0" } }, - "node_modules/shallow-clone": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", - "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", - "dev": true, - "dependencies": { - "kind-of": "^6.0.2" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/shallow-clone/node_modules/kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true, - "engines": { - "node": ">=8" - } - }, "node_modules/side-channel": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", @@ -4579,6 +3925,12 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/smob": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/smob/-/smob-0.0.6.tgz", + "integrity": "sha512-V21+XeNni+tTyiST1MHsa84AQhT1aFZipzPpOFAVB8DkHzwJyjjAmt9bgwnuZiZWnIbMo2duE29wybxv/7HWUw==", + "dev": true + }, "node_modules/snapdragon": { "version": "0.8.2", "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", @@ -4648,6 +4000,15 @@ "node": ">=0.10.0" } }, + "node_modules/snapdragon/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, "node_modules/snapdragon/node_modules/define-property": { "version": "0.2.5", "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", @@ -4722,6 +4083,12 @@ "node": ">=0.10.0" } }, + "node_modules/snapdragon/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, "node_modules/source-map": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", @@ -4957,6 +4324,18 @@ "node": ">=0.10.0" } }, + "node_modules/stop-iteration-iterator": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/stop-iteration-iterator/-/stop-iteration-iterator-1.0.0.tgz", + "integrity": "sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ==", + "dev": true, + "dependencies": { + "internal-slot": "^1.0.4" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/stream-exhaust": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/stream-exhaust/-/stream-exhaust-1.0.2.tgz", @@ -4993,14 +4372,14 @@ } }, "node_modules/string.prototype.trim": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.6.tgz", - "integrity": "sha512-8lMR2m+U0VJTPp6JjvJTtGyc4FIGq9CdRt7O9p6T0e6K4vjU+OP+SQJpbe/SBmRcCUIvNUnjsbmY6lnMp8MhsQ==", + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.7.tgz", + "integrity": "sha512-p6TmeT1T3411M8Cgg9wBTMRtY2q9+PNy9EV1i2lIXUN/btt763oIfxwN3RR8VU6wHX8j/1CFy0L+YuThm6bgOg==", "dev": true, "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.1.4", - "es-abstract": "^1.19.5" + "es-abstract": "^1.20.4" }, "engines": { "node": ">= 0.4" @@ -5010,28 +4389,28 @@ } }, "node_modules/string.prototype.trimend": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.5.tgz", - "integrity": "sha512-I7RGvmjV4pJ7O3kdf+LXFpVfdNOxtCW/2C8f6jNiW4+PQchwxkCDzlk1/7p+Wl4bqFIZeF47qAHXLuHHWKAxog==", + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz", + "integrity": "sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==", "dev": true, "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.1.4", - "es-abstract": "^1.19.5" + "es-abstract": "^1.20.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/string.prototype.trimstart": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.5.tgz", - "integrity": "sha512-THx16TJCGlsN0o6dl2o6ncWUsdgnLRSA23rRE5pyGBw/mLr3Ej/R2LaqCtgP8VNMGZsvMWnf9ooZPyY2bHvUFg==", + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz", + "integrity": "sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==", "dev": true, "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.1.4", - "es-abstract": "^1.19.5" + "es-abstract": "^1.20.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -5061,21 +4440,6 @@ "node": ">=0.10.0" } }, - "node_modules/supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" - } - }, "node_modules/supports-preserve-symlinks-flag": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", @@ -5098,25 +4462,16 @@ "es6-symbol": "^3.1.1" } }, - "node_modules/tapable": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", - "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", - "dev": true, - "engines": { - "node": ">=6" - } - }, "node_modules/tape": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/tape/-/tape-5.6.0.tgz", - "integrity": "sha512-LyM4uqbiTAqDgsHTY0r1LH66yE24P3SZaz5TL3mPUds0XCTFl/0AMUBrjgBjUclvbPTFB4IalXg0wFfbTuuu/Q==", + "version": "5.6.3", + "resolved": "https://registry.npmjs.org/tape/-/tape-5.6.3.tgz", + "integrity": "sha512-cUDDGSbyoSIpdUAqbqLI/r7i/S4BHuCB9M5j7E/LrLs/x/i4zeAJ798aqo+FGo+kr9seBZwr8AkZW6rjceyAMQ==", "dev": true, "dependencies": { - "array.prototype.every": "^1.1.3", + "array.prototype.every": "^1.1.4", "call-bind": "^1.0.2", - "deep-equal": "^2.0.5", - "defined": "^1.0.0", + "deep-equal": "^2.2.0", + "defined": "^1.0.1", "dotignore": "^0.1.2", "for-each": "^0.3.3", "get-package-type": "^0.1.0", @@ -5125,18 +4480,21 @@ "has-dynamic-import": "^2.0.1", "inherits": "^2.0.4", "is-regex": "^1.1.4", - "minimist": "^1.2.6", - "object-inspect": "^1.12.2", + "minimist": "^1.2.7", + "object-inspect": "^1.12.3", "object-is": "^1.1.5", "object-keys": "^1.1.1", - "object.assign": "^4.1.3", - "resolve": "^2.0.0-next.3", + "object.assign": "^4.1.4", + "resolve": "^2.0.0-next.4", "resumer": "^0.0.0", - "string.prototype.trim": "^1.2.6", + "string.prototype.trim": "^1.2.7", "through": "^2.3.8" }, "bin": { "tape": "bin/tape" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/tape/node_modules/resolve": { @@ -5157,9 +4515,9 @@ } }, "node_modules/terser": { - "version": "5.15.0", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.15.0.tgz", - "integrity": "sha512-L1BJiXVmheAQQy+as0oF3Pwtlo4s3Wi1X2zNZ2NxOB4wx9bdS9Vk67XQENLFdLYGCK/Z2di53mTj/hBafR+dTA==", + "version": "5.16.5", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.16.5.tgz", + "integrity": "sha512-qcwfg4+RZa3YvlFh0qjifnzBHjKGNbtDo9yivMqMFDy9Q6FSaQWSB/j1xKhsoUFJIqDOM3TsN6D5xbrMrFcHbg==", "dev": true, "dependencies": { "@jridgewell/source-map": "^0.3.2", @@ -5174,40 +4532,6 @@ "node": ">=10" } }, - "node_modules/terser-webpack-plugin": { - "version": "5.3.6", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.6.tgz", - "integrity": "sha512-kfLFk+PoLUQIbLmB1+PZDMRSZS99Mp+/MHqDNmMA6tOItzRt+Npe3E+fsMs5mfcM0wCtrrdU387UnV+vnSffXQ==", - "dev": true, - "dependencies": { - "@jridgewell/trace-mapping": "^0.3.14", - "jest-worker": "^27.4.5", - "schema-utils": "^3.1.1", - "serialize-javascript": "^6.0.0", - "terser": "^5.14.1" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.1.0" - }, - "peerDependenciesMeta": { - "@swc/core": { - "optional": true - }, - "esbuild": { - "optional": true - }, - "uglify-js": { - "optional": true - } - } - }, "node_modules/through": { "version": "2.3.8", "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", @@ -5363,6 +4687,20 @@ "integrity": "sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==", "dev": true }, + "node_modules/typed-array-length": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.4.tgz", + "integrity": "sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "is-typed-array": "^1.1.9" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/typedarray": { "version": "0.0.6", "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", @@ -5506,41 +4844,6 @@ "yarn": "*" } }, - "node_modules/update-browserslist-db": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.7.tgz", - "integrity": "sha512-iN/XYesmZ2RmmWAiI4Z5rq0YqSiv0brj9Ce9CfhNE4xIW2h+MFxcgkxIzZ+ShkFPUkjU3gQ+3oypadD3RAMtrg==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - } - ], - "dependencies": { - "escalade": "^3.1.1", - "picocolors": "^1.0.0" - }, - "bin": { - "browserslist-lint": "cli.js" - }, - "peerDependencies": { - "browserslist": ">= 4.21.0" - } - }, - "node_modules/uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dev": true, - "dependencies": { - "punycode": "^2.1.0" - } - }, "node_modules/urix": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", @@ -5669,165 +4972,6 @@ "node": ">=0.10.0" } }, - "node_modules/watchpack": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", - "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", - "dev": true, - "dependencies": { - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.1.2" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/webpack": { - "version": "5.74.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.74.0.tgz", - "integrity": "sha512-A2InDwnhhGN4LYctJj6M1JEaGL7Luj6LOmyBHjcI8529cm5p6VXiTIW2sn6ffvEAKmveLzvu4jrihwXtPojlAA==", - "dev": true, - "dependencies": { - "@types/eslint-scope": "^3.7.3", - "@types/estree": "^0.0.51", - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/wasm-edit": "1.11.1", - "@webassemblyjs/wasm-parser": "1.11.1", - "acorn": "^8.7.1", - "acorn-import-assertions": "^1.7.6", - "browserslist": "^4.14.5", - "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.10.0", - "es-module-lexer": "^0.9.0", - "eslint-scope": "5.1.1", - "events": "^3.2.0", - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.2.9", - "json-parse-even-better-errors": "^2.3.1", - "loader-runner": "^4.2.0", - "mime-types": "^2.1.27", - "neo-async": "^2.6.2", - "schema-utils": "^3.1.0", - "tapable": "^2.1.1", - "terser-webpack-plugin": "^5.1.3", - "watchpack": "^2.4.0", - "webpack-sources": "^3.2.3" - }, - "bin": { - "webpack": "bin/webpack.js" - }, - "engines": { - "node": ">=10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependenciesMeta": { - "webpack-cli": { - "optional": true - } - } - }, - "node_modules/webpack-cli": { - "version": "4.10.0", - "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-4.10.0.tgz", - "integrity": "sha512-NLhDfH/h4O6UOy+0LSso42xvYypClINuMNBVVzX4vX98TmTaTUxwRbXdhucbFMd2qLaCTcLq/PdYrvi8onw90w==", - "dev": true, - "dependencies": { - "@discoveryjs/json-ext": "^0.5.0", - "@webpack-cli/configtest": "^1.2.0", - "@webpack-cli/info": "^1.5.0", - "@webpack-cli/serve": "^1.7.0", - "colorette": "^2.0.14", - "commander": "^7.0.0", - "cross-spawn": "^7.0.3", - "fastest-levenshtein": "^1.0.12", - "import-local": "^3.0.2", - "interpret": "^2.2.0", - "rechoir": "^0.7.0", - "webpack-merge": "^5.7.3" - }, - "bin": { - "webpack-cli": "bin/cli.js" - }, - "engines": { - "node": ">=10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "4.x.x || 5.x.x" - }, - "peerDependenciesMeta": { - "@webpack-cli/generators": { - "optional": true - }, - "@webpack-cli/migrate": { - "optional": true - }, - "webpack-bundle-analyzer": { - "optional": true - }, - "webpack-dev-server": { - "optional": true - } - } - }, - "node_modules/webpack-cli/node_modules/commander": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", - "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", - "dev": true, - "engines": { - "node": ">= 10" - } - }, - "node_modules/webpack-cli/node_modules/interpret": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-2.2.0.tgz", - "integrity": "sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw==", - "dev": true, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/webpack-cli/node_modules/rechoir": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.7.1.tgz", - "integrity": "sha512-/njmZ8s1wVeR6pjTZ+0nCnv8SpZNRMT2D1RLOJQESlYFDBvwpTA4KWJpZ+sBJ4+vhjILRcK7JIFdGCdxEAAitg==", - "dev": true, - "dependencies": { - "resolve": "^1.9.0" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/webpack-merge": { - "version": "5.8.0", - "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.8.0.tgz", - "integrity": "sha512-/SaI7xY0831XwP6kzuwhKWVKDP9t1QY1h65lAFLbZqMPIuYcD9QAW4u9STIbU9kaJbPBB/geU/gLr1wDjOhQ+Q==", - "dev": true, - "dependencies": { - "clone-deep": "^4.0.1", - "wildcard": "^2.0.0" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/webpack-sources": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", - "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", - "dev": true, - "engines": { - "node": ">=10.13.0" - } - }, "node_modules/which": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", @@ -5878,17 +5022,17 @@ "dev": true }, "node_modules/which-typed-array": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.8.tgz", - "integrity": "sha512-Jn4e5PItbcAHyLoRDwvPj1ypu27DJbtdYXUa5zsinrUx77Uvfb0cXwwnGMTn7cjUfhhqgVQnVJCwF+7cgU7tpw==", + "version": "1.1.9", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.9.tgz", + "integrity": "sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA==", "dev": true, "dependencies": { "available-typed-arrays": "^1.0.5", "call-bind": "^1.0.2", - "es-abstract": "^1.20.0", "for-each": "^0.3.3", + "gopd": "^1.0.1", "has-tostringtag": "^1.0.0", - "is-typed-array": "^1.1.9" + "is-typed-array": "^1.1.10" }, "engines": { "node": ">= 0.4" @@ -5897,12 +5041,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/wildcard": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.0.tgz", - "integrity": "sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw==", - "dev": true - }, "node_modules/wrap-ansi": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", @@ -5970,12 +5108,6 @@ } }, "dependencies": { - "@discoveryjs/json-ext": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz", - "integrity": "sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==", - "dev": true - }, "@jridgewell/gen-mapping": { "version": "0.3.2", "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", @@ -6016,266 +5148,32 @@ "dev": true }, "@jridgewell/trace-mapping": { - "version": "0.3.15", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.15.tgz", - "integrity": "sha512-oWZNOULl+UbhsgB51uuZzglikfIKSUBO/M9W2OfEjn7cmqoAiCgmv9lyACTUacZwBz0ITnJ2NqjU8Tx0DHL88g==", + "version": "0.3.17", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz", + "integrity": "sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==", "dev": true, "requires": { - "@jridgewell/resolve-uri": "^3.0.3", - "@jridgewell/sourcemap-codec": "^1.4.10" + "@jridgewell/resolve-uri": "3.1.0", + "@jridgewell/sourcemap-codec": "1.4.14" } }, - "@types/eslint": { - "version": "8.4.6", - "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.4.6.tgz", - "integrity": "sha512-/fqTbjxyFUaYNO7VcW5g+4npmqVACz1bB7RTHYuLj+PRjw9hrCwrUXVQFpChUS0JsyEFvMZ7U/PfmvWgxJhI9g==", + "@rollup/plugin-terser": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/@rollup/plugin-terser/-/plugin-terser-0.4.0.tgz", + "integrity": "sha512-Ipcf3LPNerey1q9ZMjiaWHlNPEHNU/B5/uh9zXLltfEQ1lVSLLeZSgAtTPWGyw8Ip1guOeq+mDtdOlEj/wNxQw==", "dev": true, "requires": { - "@types/estree": "*", - "@types/json-schema": "*" + "serialize-javascript": "^6.0.0", + "smob": "^0.0.6", + "terser": "^5.15.1" } }, - "@types/eslint-scope": { - "version": "3.7.4", - "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.4.tgz", - "integrity": "sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==", - "dev": true, - "requires": { - "@types/eslint": "*", - "@types/estree": "*" - } - }, - "@types/estree": { - "version": "0.0.51", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.51.tgz", - "integrity": "sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==", - "dev": true - }, - "@types/json-schema": { - "version": "7.0.11", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz", - "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==", - "dev": true - }, - "@types/node": { - "version": "18.7.15", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.7.15.tgz", - "integrity": "sha512-XnjpaI8Bgc3eBag2Aw4t2Uj/49lLBSStHWfqKvIuXD7FIrZyMLWp8KuAFHAqxMZYTF9l08N1ctUn9YNybZJVmQ==", - "dev": true - }, - "@webassemblyjs/ast": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.1.tgz", - "integrity": "sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw==", - "dev": true, - "requires": { - "@webassemblyjs/helper-numbers": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1" - } - }, - "@webassemblyjs/floating-point-hex-parser": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.1.tgz", - "integrity": "sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ==", - "dev": true - }, - "@webassemblyjs/helper-api-error": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.1.tgz", - "integrity": "sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg==", - "dev": true - }, - "@webassemblyjs/helper-buffer": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.1.tgz", - "integrity": "sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA==", - "dev": true - }, - "@webassemblyjs/helper-numbers": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.1.tgz", - "integrity": "sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ==", - "dev": true, - "requires": { - "@webassemblyjs/floating-point-hex-parser": "1.11.1", - "@webassemblyjs/helper-api-error": "1.11.1", - "@xtuc/long": "4.2.2" - } - }, - "@webassemblyjs/helper-wasm-bytecode": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.1.tgz", - "integrity": "sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q==", - "dev": true - }, - "@webassemblyjs/helper-wasm-section": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.1.tgz", - "integrity": "sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-buffer": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1", - "@webassemblyjs/wasm-gen": "1.11.1" - } - }, - "@webassemblyjs/ieee754": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.1.tgz", - "integrity": "sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ==", - "dev": true, - "requires": { - "@xtuc/ieee754": "^1.2.0" - } - }, - "@webassemblyjs/leb128": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.1.tgz", - "integrity": "sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw==", - "dev": true, - "requires": { - "@xtuc/long": "4.2.2" - } - }, - "@webassemblyjs/utf8": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.1.tgz", - "integrity": "sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ==", - "dev": true - }, - "@webassemblyjs/wasm-edit": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.1.tgz", - "integrity": "sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-buffer": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1", - "@webassemblyjs/helper-wasm-section": "1.11.1", - "@webassemblyjs/wasm-gen": "1.11.1", - "@webassemblyjs/wasm-opt": "1.11.1", - "@webassemblyjs/wasm-parser": "1.11.1", - "@webassemblyjs/wast-printer": "1.11.1" - } - }, - "@webassemblyjs/wasm-gen": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.1.tgz", - "integrity": "sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1", - "@webassemblyjs/ieee754": "1.11.1", - "@webassemblyjs/leb128": "1.11.1", - "@webassemblyjs/utf8": "1.11.1" - } - }, - "@webassemblyjs/wasm-opt": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.1.tgz", - "integrity": "sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-buffer": "1.11.1", - "@webassemblyjs/wasm-gen": "1.11.1", - "@webassemblyjs/wasm-parser": "1.11.1" - } - }, - "@webassemblyjs/wasm-parser": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.1.tgz", - "integrity": "sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-api-error": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1", - "@webassemblyjs/ieee754": "1.11.1", - "@webassemblyjs/leb128": "1.11.1", - "@webassemblyjs/utf8": "1.11.1" - } - }, - "@webassemblyjs/wast-printer": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.1.tgz", - "integrity": "sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.11.1", - "@xtuc/long": "4.2.2" - } - }, - "@webpack-cli/configtest": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-1.2.0.tgz", - "integrity": "sha512-4FB8Tj6xyVkyqjj1OaTqCjXYULB9FMkqQ8yGrZjRDrYh0nOE+7Lhs45WioWQQMV+ceFlE368Ukhe6xdvJM9Egg==", - "dev": true, - "requires": {} - }, - "@webpack-cli/info": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-1.5.0.tgz", - "integrity": "sha512-e8tSXZpw2hPl2uMJY6fsMswaok5FdlGNRTktvFk2sD8RjH0hE2+XistawJx1vmKteh4NmGmNUrp+Tb2w+udPcQ==", - "dev": true, - "requires": { - "envinfo": "^7.7.3" - } - }, - "@webpack-cli/serve": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-1.7.0.tgz", - "integrity": "sha512-oxnCNGj88fL+xzV+dacXs44HcDwf1ovs3AuEzvP7mqXw7fQntqIhQ1BRmynh4qEKQSSSRSWVyXRjmTbZIX9V2Q==", - "dev": true, - "requires": {} - }, - "@xtuc/ieee754": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", - "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", - "dev": true - }, - "@xtuc/long": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", - "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", - "dev": true - }, "acorn": { - "version": "8.8.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.0.tgz", - "integrity": "sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w==", + "version": "8.8.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz", + "integrity": "sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==", "dev": true }, - "acorn-import-assertions": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz", - "integrity": "sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw==", - "dev": true, - "requires": {} - }, - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "dev": true, - "requires": {} - }, "ansi-colors": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-1.1.0.tgz", @@ -6443,14 +5341,14 @@ "dev": true }, "array.prototype.every": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/array.prototype.every/-/array.prototype.every-1.1.3.tgz", - "integrity": "sha512-vWnriJI//SOMOWtXbU/VXhJ/InfnNHPF6BLKn5WfY8xXy+NWql0fUy20GO3sdqBhCAO+qw8S/E5nJiZX+QFdCA==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/array.prototype.every/-/array.prototype.every-1.1.4.tgz", + "integrity": "sha512-Aui35iRZk1HHLRAyF7QP0KAnOnduaQ6fo6k1NVWfRc0xTs2AZ70ytlXvOmkC6Di4JmUs2Wv3DYzGtCQFSk5uGg==", "dev": true, "requires": { "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.0", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", "is-string": "^1.0.7" } }, @@ -6473,9 +5371,9 @@ } }, "async-each": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz", - "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==", + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.6.tgz", + "integrity": "sha512-c646jH1avxr+aVpndVMeAfYw7wAa6idufrlN3LPA4PmKS0QEGp6PIC9nwz0WQkkvBGAMEki3pFdtxaF39J9vvg==", "dev": true }, "async-settle": { @@ -6592,22 +5490,10 @@ "to-regex": "^3.0.1" } }, - "browserslist": { - "version": "4.21.3", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.3.tgz", - "integrity": "sha512-898rgRXLAyRkM1GryrrBHGkqA5hlpkV5MhtZwg9QXeiyLUYs2k00Un05aX5l2/yJIOObYKOpS2JNo8nJDE7fWQ==", - "dev": true, - "requires": { - "caniuse-lite": "^1.0.30001370", - "electron-to-chromium": "^1.4.202", - "node-releases": "^2.0.6", - "update-browserslist-db": "^1.0.5" - } - }, "buffer-equal": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/buffer-equal/-/buffer-equal-1.0.0.tgz", - "integrity": "sha512-tcBWO2Dl4e7Asr9hTGcpVrCe+F7DubpmqWCTbj4FHLmjqO2hIaC383acQubWtRJhdceqs5uBHs6Es+Sk//RKiQ==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/buffer-equal/-/buffer-equal-1.0.1.tgz", + "integrity": "sha512-QoV3ptgEaQpvVwbXdSO39iqPQTCxSF7A5U99AxbHYqUdCizL/lH2Z0A2y6nbZucxMEOtNyZfG2s6gsVugGpKkg==", "dev": true }, "buffer-from": { @@ -6649,12 +5535,6 @@ "integrity": "sha512-4nhGqUkc4BqbBBB4Q6zLuD7lzzrHYrjKGeYaEji/3tFR5VdJu9v+LilhGIVe8wxEJPPOeWo7eg8dwY13TZ1BNg==", "dev": true }, - "caniuse-lite": { - "version": "1.0.30001390", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001390.tgz", - "integrity": "sha512-sS4CaUM+/+vqQUlCvCJ2WtDlV81aWtHhqeEVkLokVJJa3ViN4zDxAGfq9R8i1m90uGHxo99cy10Od+lvn3hf0g==", - "dev": true - }, "chokidar": { "version": "2.1.8", "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", @@ -6675,12 +5555,6 @@ "upath": "^1.1.1" } }, - "chrome-trace-event": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", - "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", - "dev": true - }, "class-utils": { "version": "0.3.6", "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", @@ -6778,34 +5652,6 @@ "integrity": "sha512-KLLTJWrvwIP+OPfMn0x2PheDEP20RPUcGXj/ERegTgdmPEZylALQldygiqrPPu8P45uNuPs7ckmReLY6v/iA5g==", "dev": true }, - "clone-deep": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", - "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", - "dev": true, - "requires": { - "is-plain-object": "^2.0.4", - "kind-of": "^6.0.2", - "shallow-clone": "^3.0.0" - }, - "dependencies": { - "is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", - "dev": true, - "requires": { - "isobject": "^3.0.1" - } - }, - "kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "dev": true - } - } - }, "clone-stats": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-1.0.0.tgz", @@ -6856,12 +5702,6 @@ "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==", "dev": true }, - "colorette": { - "version": "2.0.19", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.19.tgz", - "integrity": "sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==", - "dev": true - }, "commander": { "version": "2.20.3", "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", @@ -6893,13 +5733,10 @@ } }, "convert-source-map": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz", - "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.1" - } + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", + "dev": true }, "copy-descriptor": { "version": "0.1.1", @@ -6923,28 +5760,6 @@ "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", "dev": true }, - "cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "dev": true, - "requires": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "dependencies": { - "which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "requires": { - "isexe": "^2.0.0" - } - } - } - }, "d": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/d/-/d-1.0.1.tgz", @@ -6955,15 +5770,6 @@ "type": "^1.0.1" } }, - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, "decamelize": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", @@ -6977,26 +5783,28 @@ "dev": true }, "deep-equal": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-2.0.5.tgz", - "integrity": "sha512-nPiRgmbAtm1a3JsnLCf6/SLfXcjyN5v8L1TXzdCmHrXJ4hx+gW/w1YCcn7z8gJtSiDArZCgYtbao3QqLm/N1Sw==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-2.2.0.tgz", + "integrity": "sha512-RdpzE0Hv4lhowpIUKKMJfeH6C1pXdtT1/it80ubgWqwI3qpuxUBpC1S4hnHg+zjnuOoDkzUtUCEEkG+XG5l3Mw==", "dev": true, "requires": { - "call-bind": "^1.0.0", - "es-get-iterator": "^1.1.1", - "get-intrinsic": "^1.0.1", - "is-arguments": "^1.0.4", - "is-date-object": "^1.0.2", - "is-regex": "^1.1.1", + "call-bind": "^1.0.2", + "es-get-iterator": "^1.1.2", + "get-intrinsic": "^1.1.3", + "is-arguments": "^1.1.1", + "is-array-buffer": "^3.0.1", + "is-date-object": "^1.0.5", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.2", "isarray": "^2.0.5", - "object-is": "^1.1.4", + "object-is": "^1.1.5", "object-keys": "^1.1.1", - "object.assign": "^4.1.2", - "regexp.prototype.flags": "^1.3.0", - "side-channel": "^1.0.3", - "which-boxed-primitive": "^1.0.1", + "object.assign": "^4.1.4", + "regexp.prototype.flags": "^1.4.3", + "side-channel": "^1.0.4", + "which-boxed-primitive": "^1.0.2", "which-collection": "^1.0.1", - "which-typed-array": "^1.1.2" + "which-typed-array": "^1.1.9" }, "dependencies": { "isarray": { @@ -7023,9 +5831,9 @@ "dev": true }, "define-properties": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz", - "integrity": "sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.0.tgz", + "integrity": "sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==", "dev": true, "requires": { "has-property-descriptors": "^1.0.0", @@ -7043,9 +5851,9 @@ } }, "defined": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz", - "integrity": "sha512-Y2caI5+ZwS5c3RiNDJ6u53VhQHv+hHKwhkI1iHvceKUHw9Df6EK2zRLfjejRgMuCuxK7PfSWIMwWecceVvThjQ==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.1.tgz", + "integrity": "sha512-hsBd2qSVCRE+5PmNdHt1uzyrFu5d3RwmFDKzyNZMFq/EwDNJF7Ee5+D5oEKF0hU6LhtoUF1macFvOe4AskQC1Q==", "dev": true }, "detect-file": { @@ -7096,12 +5904,6 @@ } } }, - "electron-to-chromium": { - "version": "1.4.241", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.241.tgz", - "integrity": "sha512-e7Wsh4ilaioBZ5bMm6+F4V5c11dh56/5Jwz7Hl5Tu1J7cnB+Pqx5qIF2iC7HPpfyQMqGSvvLP5bBAIDd2gAtGw==", - "dev": true - }, "end-of-stream": { "version": "1.4.4", "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", @@ -7111,22 +5913,6 @@ "once": "^1.4.0" } }, - "enhanced-resolve": { - "version": "5.10.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.10.0.tgz", - "integrity": "sha512-T0yTFjdpldGY8PmuXXR0PyQ1ufZpEGiHVrp7zHKB7jdR4qlmZHhONVM5AQOAWXuF/w3dnHbEQVrNptJgt7F+cQ==", - "dev": true, - "requires": { - "graceful-fs": "^4.2.4", - "tapable": "^2.2.0" - } - }, - "envinfo": { - "version": "7.8.1", - "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.8.1.tgz", - "integrity": "sha512-/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw==", - "dev": true - }, "error-ex": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", @@ -7137,50 +5923,61 @@ } }, "es-abstract": { - "version": "1.20.2", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.20.2.tgz", - "integrity": "sha512-XxXQuVNrySBNlEkTYJoDNFe5+s2yIOpzq80sUHEdPdQr0S5nTLz4ZPPPswNIpKseDDUS5yghX1gfLIHQZ1iNuQ==", + "version": "1.21.1", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.21.1.tgz", + "integrity": "sha512-QudMsPOz86xYz/1dG1OuGBKOELjCh99IIWHLzy5znUB6j8xG2yMA7bfTV86VSqKF+Y/H08vQPR+9jyXpuC6hfg==", "dev": true, "requires": { + "available-typed-arrays": "^1.0.5", "call-bind": "^1.0.2", + "es-set-tostringtag": "^2.0.1", "es-to-primitive": "^1.2.1", "function-bind": "^1.1.1", "function.prototype.name": "^1.1.5", - "get-intrinsic": "^1.1.2", + "get-intrinsic": "^1.1.3", "get-symbol-description": "^1.0.0", + "globalthis": "^1.0.3", + "gopd": "^1.0.1", "has": "^1.0.3", "has-property-descriptors": "^1.0.0", + "has-proto": "^1.0.1", "has-symbols": "^1.0.3", - "internal-slot": "^1.0.3", - "is-callable": "^1.2.4", + "internal-slot": "^1.0.4", + "is-array-buffer": "^3.0.1", + "is-callable": "^1.2.7", "is-negative-zero": "^2.0.2", "is-regex": "^1.1.4", "is-shared-array-buffer": "^1.0.2", "is-string": "^1.0.7", + "is-typed-array": "^1.1.10", "is-weakref": "^1.0.2", "object-inspect": "^1.12.2", "object-keys": "^1.1.1", "object.assign": "^4.1.4", "regexp.prototype.flags": "^1.4.3", - "string.prototype.trimend": "^1.0.5", - "string.prototype.trimstart": "^1.0.5", - "unbox-primitive": "^1.0.2" + "safe-regex-test": "^1.0.0", + "string.prototype.trimend": "^1.0.6", + "string.prototype.trimstart": "^1.0.6", + "typed-array-length": "^1.0.4", + "unbox-primitive": "^1.0.2", + "which-typed-array": "^1.1.9" } }, "es-get-iterator": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/es-get-iterator/-/es-get-iterator-1.1.2.tgz", - "integrity": "sha512-+DTO8GYwbMCwbywjimwZMHp8AuYXOS2JZFWoi2AlPOS3ebnII9w/NLpNZtA7A0YLaVDw+O7KFCeoIV7OPvM7hQ==", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/es-get-iterator/-/es-get-iterator-1.1.3.tgz", + "integrity": "sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==", "dev": true, "requires": { "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.0", - "has-symbols": "^1.0.1", - "is-arguments": "^1.1.0", + "get-intrinsic": "^1.1.3", + "has-symbols": "^1.0.3", + "is-arguments": "^1.1.1", "is-map": "^2.0.2", "is-set": "^2.0.2", - "is-string": "^1.0.5", - "isarray": "^2.0.5" + "is-string": "^1.0.7", + "isarray": "^2.0.5", + "stop-iteration-iterator": "^1.0.0" }, "dependencies": { "isarray": { @@ -7191,11 +5988,16 @@ } } }, - "es-module-lexer": { - "version": "0.9.3", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.9.3.tgz", - "integrity": "sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==", - "dev": true + "es-set-tostringtag": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz", + "integrity": "sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==", + "dev": true, + "requires": { + "get-intrinsic": "^1.1.3", + "has": "^1.0.3", + "has-tostringtag": "^1.0.0" + } }, "es-to-primitive": { "version": "1.2.1", @@ -7252,51 +6054,6 @@ "es6-symbol": "^3.1.1" } }, - "escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", - "dev": true - }, - "eslint-scope": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", - "dev": true, - "requires": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - } - }, - "esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "dev": true, - "requires": { - "estraverse": "^5.2.0" - }, - "dependencies": { - "estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true - } - } - }, - "estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", - "dev": true - }, - "events": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", - "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", - "dev": true - }, "expand-brackets": { "version": "2.1.4", "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", @@ -7312,6 +6069,15 @@ "to-regex": "^3.0.1" }, "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, "define-property": { "version": "0.2.5", "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", @@ -7371,6 +6137,12 @@ "is-data-descriptor": "^0.1.4", "kind-of": "^5.0.0" } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true } } }, @@ -7454,30 +6226,12 @@ "time-stamp": "^1.0.0" } }, - "fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true - }, - "fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true - }, "fast-levenshtein": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-1.1.4.tgz", "integrity": "sha512-Ia0sQNrMPXXkqVFt6w6M1n1oKo3NfKs+mvaV811Jwir7vAk9a6PVV9VPYf6X3BU97QiLEmuW3uXH9u87zDFfdw==", "dev": true }, - "fastest-levenshtein": { - "version": "1.0.16", - "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz", - "integrity": "sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==", - "dev": true - }, "file-uri-to-path": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", @@ -7498,13 +6252,13 @@ } }, "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", + "integrity": "sha512-jvElSjyuo4EMQGoTwo1uJU5pQMwTW5lS1x05zzfJuTIyLR3zwO27LYrxNg+dlvKpGOuGy/MzBdXh80g0ve5+HA==", "dev": true, "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" } }, "findup-sync": { @@ -7650,9 +6404,9 @@ "dev": true }, "get-intrinsic": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.2.tgz", - "integrity": "sha512-Jfm3OyCxHh9DJyc28qGk+JmfkpO41A4XkneDSujN9MDXrm4oDKdHvndhZ2dN94+ERNfkYJWDclW6k2L/ZGHjXA==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.0.tgz", + "integrity": "sha512-L049y6nFOuom5wGyRc3/gdTLO94dySVKRACj1RmJZBQXlbTMhtNIgkWkUHq+jYmZvKf14EW1EoJnnjbmoHij0Q==", "dev": true, "requires": { "function-bind": "^1.1.1", @@ -7735,12 +6489,6 @@ "unique-stream": "^2.0.2" } }, - "glob-to-regexp": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", - "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", - "dev": true - }, "glob-watcher": { "version": "5.0.5", "resolved": "https://registry.npmjs.org/glob-watcher/-/glob-watcher-5.0.5.tgz", @@ -7780,6 +6528,15 @@ "which": "^1.2.14" } }, + "globalthis": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz", + "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==", + "dev": true, + "requires": { + "define-properties": "^1.1.3" + } + }, "glogg": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/glogg/-/glogg-1.0.2.tgz", @@ -7789,6 +6546,15 @@ "sparkles": "^1.0.0" } }, + "gopd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "dev": true, + "requires": { + "get-intrinsic": "^1.1.3" + } + }, "graceful-fs": { "version": "4.2.10", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", @@ -7879,12 +6645,6 @@ "get-intrinsic": "^1.1.1" } }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, "has-property-descriptors": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", @@ -7894,6 +6654,12 @@ "get-intrinsic": "^1.1.1" } }, + "has-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", + "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==", + "dev": true + }, "has-symbols": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", @@ -7956,16 +6722,6 @@ "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", "dev": true }, - "import-local": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", - "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", - "dev": true, - "requires": { - "pkg-dir": "^4.2.0", - "resolve-cwd": "^3.0.0" - } - }, "inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", @@ -7989,12 +6745,12 @@ "dev": true }, "internal-slot": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.3.tgz", - "integrity": "sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==", + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.5.tgz", + "integrity": "sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==", "dev": true, "requires": { - "get-intrinsic": "^1.1.0", + "get-intrinsic": "^1.2.0", "has": "^1.0.3", "side-channel": "^1.0.4" } @@ -8048,6 +6804,17 @@ "has-tostringtag": "^1.0.0" } }, + "is-array-buffer": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.2.tgz", + "integrity": "sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.0", + "is-typed-array": "^1.1.10" + } + }, "is-arrayish": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", @@ -8089,15 +6856,15 @@ "dev": true }, "is-callable": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.4.tgz", - "integrity": "sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w==", + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", "dev": true }, "is-core-module": { - "version": "2.10.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.10.0.tgz", - "integrity": "sha512-Erxj2n/LDAZ7H8WNJXd9tw38GYM3dv8rk8Zcs+jJuxYTW7sozH+SS8NtrSjVL1/vpLvWi1hxy96IzjJ3EHTJJg==", + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.11.0.tgz", + "integrity": "sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==", "dev": true, "requires": { "has": "^1.0.3" @@ -8284,15 +7051,15 @@ } }, "is-typed-array": { - "version": "1.1.9", - "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.9.tgz", - "integrity": "sha512-kfrlnTTn8pZkfpJMUgYD7YZ3qzeJgWUn8XfVYBARc4wnmNOmLbmuuaAs3q5fvB0UJOn6yHAKaGTPM7d6ezoD/A==", + "version": "1.1.10", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.10.tgz", + "integrity": "sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==", "dev": true, "requires": { "available-typed-arrays": "^1.0.5", "call-bind": "^1.0.2", - "es-abstract": "^1.20.0", "for-each": "^0.3.3", + "gopd": "^1.0.1", "has-tostringtag": "^1.0.0" } }, @@ -8366,29 +7133,6 @@ "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", "dev": true }, - "jest-worker": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", - "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", - "dev": true, - "requires": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - } - }, - "json-parse-even-better-errors": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", - "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", - "dev": true - }, - "json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true - }, "json-stable-stringify-without-jsonify": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", @@ -8484,21 +7228,6 @@ "strip-bom": "^2.0.0" } }, - "loader-runner": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", - "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", - "dev": true - }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "requires": { - "p-locate": "^4.1.0" - } - }, "make-iterator": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/make-iterator/-/make-iterator-1.0.1.tgz", @@ -8566,12 +7295,6 @@ } } }, - "merge-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", - "dev": true - }, "micromatch": { "version": "3.1.10", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", @@ -8629,21 +7352,6 @@ } } }, - "mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", - "dev": true - }, - "mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "dev": true, - "requires": { - "mime-db": "1.52.0" - } - }, "minimatch": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", @@ -8654,9 +7362,9 @@ } }, "minimist": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", - "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==", + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", "dev": true }, "mixin-deep": { @@ -8689,12 +7397,6 @@ } } }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true - }, "mute-stdout": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/mute-stdout/-/mute-stdout-1.0.1.tgz", @@ -8702,9 +7404,9 @@ "dev": true }, "nan": { - "version": "2.16.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.16.0.tgz", - "integrity": "sha512-UdAqHyFngu7TfQKsCBgAA6pWDkT8MAO7d0jyOecVhN5354xbLqdn8mV9Tat9gepAupm0bt2DbeaSC8vS52MuFA==", + "version": "2.17.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.17.0.tgz", + "integrity": "sha512-2ZTgtl0nJsO0KQCjEpxcIr5D+Yv90plTitZt9JBfQvVJDS5seMl3FOvsh3+9CoYWXf/1l5OaZzzF6nDm4cagaQ==", "dev": true, "optional": true }, @@ -8763,24 +7465,12 @@ } } }, - "neo-async": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", - "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", - "dev": true - }, "next-tick": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.1.0.tgz", "integrity": "sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==", "dev": true }, - "node-releases": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.6.tgz", - "integrity": "sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==", - "dev": true - }, "normalize-package-data": { "version": "2.5.0", "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", @@ -8791,6 +7481,14 @@ "resolve": "^1.10.0", "semver": "2 || 3 || 4 || 5", "validate-npm-package-license": "^3.0.1" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + } } }, "normalize-path": { @@ -8883,9 +7581,9 @@ } }, "object-inspect": { - "version": "1.12.2", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz", - "integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==", + "version": "1.12.3", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", + "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==", "dev": true }, "object-is": { @@ -8993,30 +7691,6 @@ "lcid": "^1.0.0" } }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "requires": { - "p-limit": "^2.2.0" - } - }, - "p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true - }, "parse-filepath": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/parse-filepath/-/parse-filepath-1.0.2.tgz", @@ -9062,10 +7736,13 @@ "dev": true }, "path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", + "integrity": "sha512-yTltuKuhtNeFJKa1PiRzfLAU5182q1y4Eb4XCJ3PBqyzEDkAZRzBrKKBct682ls9reBVHf9udYLN5Nd+K1B9BQ==", + "dev": true, + "requires": { + "pinkie-promise": "^2.0.0" + } }, "path-is-absolute": { "version": "1.0.1", @@ -9073,12 +7750,6 @@ "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", "dev": true }, - "path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true - }, "path-parse": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", @@ -9111,12 +7782,6 @@ "pinkie-promise": "^2.0.0" } }, - "picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", - "dev": true - }, "pify": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", @@ -9138,15 +7803,6 @@ "pinkie": "^2.0.0" } }, - "pkg-dir": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", - "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", - "dev": true, - "requires": { - "find-up": "^4.0.0" - } - }, "posix-character-classes": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", @@ -9186,12 +7842,6 @@ "pump": "^2.0.0" } }, - "punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", - "dev": true - }, "randombytes": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", @@ -9220,33 +7870,12 @@ "requires": { "find-up": "^1.0.0", "read-pkg": "^1.0.0" - }, - "dependencies": { - "find-up": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", - "integrity": "sha512-jvElSjyuo4EMQGoTwo1uJU5pQMwTW5lS1x05zzfJuTIyLR3zwO27LYrxNg+dlvKpGOuGy/MzBdXh80g0ve5+HA==", - "dev": true, - "requires": { - "path-exists": "^2.0.0", - "pinkie-promise": "^2.0.0" - } - }, - "path-exists": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", - "integrity": "sha512-yTltuKuhtNeFJKa1PiRzfLAU5182q1y4Eb4XCJ3PBqyzEDkAZRzBrKKBct682ls9reBVHf9udYLN5Nd+K1B9BQ==", - "dev": true, - "requires": { - "pinkie-promise": "^2.0.0" - } - } } }, "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", "dev": true, "requires": { "core-util-is": "~1.0.0", @@ -9408,15 +8037,6 @@ "supports-preserve-symlinks-flag": "^1.0.0" } }, - "resolve-cwd": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", - "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", - "dev": true, - "requires": { - "resolve-from": "^5.0.0" - } - }, "resolve-dir": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz", @@ -9427,12 +8047,6 @@ "global-modules": "^1.0.0" } }, - "resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", - "dev": true - }, "resolve-options": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/resolve-options/-/resolve-options-1.1.0.tgz", @@ -9463,6 +8077,24 @@ "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", "dev": true }, + "rollup": { + "version": "3.18.0", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.18.0.tgz", + "integrity": "sha512-J8C6VfEBjkvYPESMQYxKHxNOh4A5a3FlP+0BETGo34HEcE4eTlgCrO2+eWzlu2a/sHs2QUkZco+wscH7jhhgWg==", + "dev": true, + "requires": { + "fsevents": "~2.3.2" + }, + "dependencies": { + "fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "dev": true, + "optional": true + } + } + }, "safe-buffer": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", @@ -9478,23 +8110,17 @@ "ret": "~0.1.10" } }, - "schema-utils": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", - "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", + "safe-regex-test": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz", + "integrity": "sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==", "dev": true, "requires": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.3", + "is-regex": "^1.1.4" } }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - }, "semver-greatest-satisfied-range": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/semver-greatest-satisfied-range/-/semver-greatest-satisfied-range-1.1.0.tgz", @@ -9505,9 +8131,9 @@ } }, "serialize-javascript": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz", - "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.1.tgz", + "integrity": "sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==", "dev": true, "requires": { "randombytes": "^2.1.0" @@ -9542,38 +8168,6 @@ } } }, - "shallow-clone": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", - "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", - "dev": true, - "requires": { - "kind-of": "^6.0.2" - }, - "dependencies": { - "kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "dev": true - } - } - }, - "shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "requires": { - "shebang-regex": "^3.0.0" - } - }, - "shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true - }, "side-channel": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", @@ -9585,6 +8179,12 @@ "object-inspect": "^1.9.0" } }, + "smob": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/smob/-/smob-0.0.6.tgz", + "integrity": "sha512-V21+XeNni+tTyiST1MHsa84AQhT1aFZipzPpOFAVB8DkHzwJyjjAmt9bgwnuZiZWnIbMo2duE29wybxv/7HWUw==", + "dev": true + }, "snapdragon": { "version": "0.8.2", "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", @@ -9601,6 +8201,15 @@ "use": "^3.1.0" }, "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, "define-property": { "version": "0.2.5", "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", @@ -9660,6 +8269,12 @@ "is-data-descriptor": "^0.1.4", "kind-of": "^5.0.0" } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true } } }, @@ -9903,6 +8518,15 @@ } } }, + "stop-iteration-iterator": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/stop-iteration-iterator/-/stop-iteration-iterator-1.0.0.tgz", + "integrity": "sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ==", + "dev": true, + "requires": { + "internal-slot": "^1.0.4" + } + }, "stream-exhaust": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/stream-exhaust/-/stream-exhaust-1.0.2.tgz", @@ -9936,36 +8560,36 @@ } }, "string.prototype.trim": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.6.tgz", - "integrity": "sha512-8lMR2m+U0VJTPp6JjvJTtGyc4FIGq9CdRt7O9p6T0e6K4vjU+OP+SQJpbe/SBmRcCUIvNUnjsbmY6lnMp8MhsQ==", + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.7.tgz", + "integrity": "sha512-p6TmeT1T3411M8Cgg9wBTMRtY2q9+PNy9EV1i2lIXUN/btt763oIfxwN3RR8VU6wHX8j/1CFy0L+YuThm6bgOg==", "dev": true, "requires": { "call-bind": "^1.0.2", "define-properties": "^1.1.4", - "es-abstract": "^1.19.5" + "es-abstract": "^1.20.4" } }, "string.prototype.trimend": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.5.tgz", - "integrity": "sha512-I7RGvmjV4pJ7O3kdf+LXFpVfdNOxtCW/2C8f6jNiW4+PQchwxkCDzlk1/7p+Wl4bqFIZeF47qAHXLuHHWKAxog==", + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz", + "integrity": "sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==", "dev": true, "requires": { "call-bind": "^1.0.2", "define-properties": "^1.1.4", - "es-abstract": "^1.19.5" + "es-abstract": "^1.20.4" } }, "string.prototype.trimstart": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.5.tgz", - "integrity": "sha512-THx16TJCGlsN0o6dl2o6ncWUsdgnLRSA23rRE5pyGBw/mLr3Ej/R2LaqCtgP8VNMGZsvMWnf9ooZPyY2bHvUFg==", + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz", + "integrity": "sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==", "dev": true, "requires": { "call-bind": "^1.0.2", "define-properties": "^1.1.4", - "es-abstract": "^1.19.5" + "es-abstract": "^1.20.4" } }, "strip-ansi": { @@ -9986,15 +8610,6 @@ "is-utf8": "^0.2.0" } }, - "supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - }, "supports-preserve-symlinks-flag": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", @@ -10011,22 +8626,16 @@ "es6-symbol": "^3.1.1" } }, - "tapable": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", - "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", - "dev": true - }, "tape": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/tape/-/tape-5.6.0.tgz", - "integrity": "sha512-LyM4uqbiTAqDgsHTY0r1LH66yE24P3SZaz5TL3mPUds0XCTFl/0AMUBrjgBjUclvbPTFB4IalXg0wFfbTuuu/Q==", + "version": "5.6.3", + "resolved": "https://registry.npmjs.org/tape/-/tape-5.6.3.tgz", + "integrity": "sha512-cUDDGSbyoSIpdUAqbqLI/r7i/S4BHuCB9M5j7E/LrLs/x/i4zeAJ798aqo+FGo+kr9seBZwr8AkZW6rjceyAMQ==", "dev": true, "requires": { - "array.prototype.every": "^1.1.3", + "array.prototype.every": "^1.1.4", "call-bind": "^1.0.2", - "deep-equal": "^2.0.5", - "defined": "^1.0.0", + "deep-equal": "^2.2.0", + "defined": "^1.0.1", "dotignore": "^0.1.2", "for-each": "^0.3.3", "get-package-type": "^0.1.0", @@ -10035,14 +8644,14 @@ "has-dynamic-import": "^2.0.1", "inherits": "^2.0.4", "is-regex": "^1.1.4", - "minimist": "^1.2.6", - "object-inspect": "^1.12.2", + "minimist": "^1.2.7", + "object-inspect": "^1.12.3", "object-is": "^1.1.5", "object-keys": "^1.1.1", - "object.assign": "^4.1.3", - "resolve": "^2.0.0-next.3", + "object.assign": "^4.1.4", + "resolve": "^2.0.0-next.4", "resumer": "^0.0.0", - "string.prototype.trim": "^1.2.6", + "string.prototype.trim": "^1.2.7", "through": "^2.3.8" }, "dependencies": { @@ -10060,9 +8669,9 @@ } }, "terser": { - "version": "5.15.0", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.15.0.tgz", - "integrity": "sha512-L1BJiXVmheAQQy+as0oF3Pwtlo4s3Wi1X2zNZ2NxOB4wx9bdS9Vk67XQENLFdLYGCK/Z2di53mTj/hBafR+dTA==", + "version": "5.16.5", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.16.5.tgz", + "integrity": "sha512-qcwfg4+RZa3YvlFh0qjifnzBHjKGNbtDo9yivMqMFDy9Q6FSaQWSB/j1xKhsoUFJIqDOM3TsN6D5xbrMrFcHbg==", "dev": true, "requires": { "@jridgewell/source-map": "^0.3.2", @@ -10071,19 +8680,6 @@ "source-map-support": "~0.5.20" } }, - "terser-webpack-plugin": { - "version": "5.3.6", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.6.tgz", - "integrity": "sha512-kfLFk+PoLUQIbLmB1+PZDMRSZS99Mp+/MHqDNmMA6tOItzRt+Npe3E+fsMs5mfcM0wCtrrdU387UnV+vnSffXQ==", - "dev": true, - "requires": { - "@jridgewell/trace-mapping": "^0.3.14", - "jest-worker": "^27.4.5", - "schema-utils": "^3.1.1", - "serialize-javascript": "^6.0.0", - "terser": "^5.14.1" - } - }, "through": { "version": "2.3.8", "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", @@ -10213,6 +8809,17 @@ "integrity": "sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==", "dev": true }, + "typed-array-length": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.4.tgz", + "integrity": "sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "is-typed-array": "^1.1.9" + } + }, "typedarray": { "version": "0.0.6", "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", @@ -10329,25 +8936,6 @@ "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", "dev": true }, - "update-browserslist-db": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.7.tgz", - "integrity": "sha512-iN/XYesmZ2RmmWAiI4Z5rq0YqSiv0brj9Ce9CfhNE4xIW2h+MFxcgkxIzZ+ShkFPUkjU3gQ+3oypadD3RAMtrg==", - "dev": true, - "requires": { - "escalade": "^3.1.1", - "picocolors": "^1.0.0" - } - }, - "uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dev": true, - "requires": { - "punycode": "^2.1.0" - } - }, "urix": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", @@ -10456,107 +9044,6 @@ } } }, - "watchpack": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", - "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", - "dev": true, - "requires": { - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.1.2" - } - }, - "webpack": { - "version": "5.74.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.74.0.tgz", - "integrity": "sha512-A2InDwnhhGN4LYctJj6M1JEaGL7Luj6LOmyBHjcI8529cm5p6VXiTIW2sn6ffvEAKmveLzvu4jrihwXtPojlAA==", - "dev": true, - "requires": { - "@types/eslint-scope": "^3.7.3", - "@types/estree": "^0.0.51", - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/wasm-edit": "1.11.1", - "@webassemblyjs/wasm-parser": "1.11.1", - "acorn": "^8.7.1", - "acorn-import-assertions": "^1.7.6", - "browserslist": "^4.14.5", - "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.10.0", - "es-module-lexer": "^0.9.0", - "eslint-scope": "5.1.1", - "events": "^3.2.0", - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.2.9", - "json-parse-even-better-errors": "^2.3.1", - "loader-runner": "^4.2.0", - "mime-types": "^2.1.27", - "neo-async": "^2.6.2", - "schema-utils": "^3.1.0", - "tapable": "^2.1.1", - "terser-webpack-plugin": "^5.1.3", - "watchpack": "^2.4.0", - "webpack-sources": "^3.2.3" - } - }, - "webpack-cli": { - "version": "4.10.0", - "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-4.10.0.tgz", - "integrity": "sha512-NLhDfH/h4O6UOy+0LSso42xvYypClINuMNBVVzX4vX98TmTaTUxwRbXdhucbFMd2qLaCTcLq/PdYrvi8onw90w==", - "dev": true, - "requires": { - "@discoveryjs/json-ext": "^0.5.0", - "@webpack-cli/configtest": "^1.2.0", - "@webpack-cli/info": "^1.5.0", - "@webpack-cli/serve": "^1.7.0", - "colorette": "^2.0.14", - "commander": "^7.0.0", - "cross-spawn": "^7.0.3", - "fastest-levenshtein": "^1.0.12", - "import-local": "^3.0.2", - "interpret": "^2.2.0", - "rechoir": "^0.7.0", - "webpack-merge": "^5.7.3" - }, - "dependencies": { - "commander": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", - "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", - "dev": true - }, - "interpret": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-2.2.0.tgz", - "integrity": "sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw==", - "dev": true - }, - "rechoir": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.7.1.tgz", - "integrity": "sha512-/njmZ8s1wVeR6pjTZ+0nCnv8SpZNRMT2D1RLOJQESlYFDBvwpTA4KWJpZ+sBJ4+vhjILRcK7JIFdGCdxEAAitg==", - "dev": true, - "requires": { - "resolve": "^1.9.0" - } - } - } - }, - "webpack-merge": { - "version": "5.8.0", - "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.8.0.tgz", - "integrity": "sha512-/SaI7xY0831XwP6kzuwhKWVKDP9t1QY1h65lAFLbZqMPIuYcD9QAW4u9STIbU9kaJbPBB/geU/gLr1wDjOhQ+Q==", - "dev": true, - "requires": { - "clone-deep": "^4.0.1", - "wildcard": "^2.0.0" - } - }, - "webpack-sources": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", - "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", - "dev": true - }, "which": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", @@ -10598,25 +9085,19 @@ "dev": true }, "which-typed-array": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.8.tgz", - "integrity": "sha512-Jn4e5PItbcAHyLoRDwvPj1ypu27DJbtdYXUa5zsinrUx77Uvfb0cXwwnGMTn7cjUfhhqgVQnVJCwF+7cgU7tpw==", + "version": "1.1.9", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.9.tgz", + "integrity": "sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA==", "dev": true, "requires": { "available-typed-arrays": "^1.0.5", "call-bind": "^1.0.2", - "es-abstract": "^1.20.0", "for-each": "^0.3.3", + "gopd": "^1.0.1", "has-tostringtag": "^1.0.0", - "is-typed-array": "^1.1.9" + "is-typed-array": "^1.1.10" } }, - "wildcard": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.0.tgz", - "integrity": "sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw==", - "dev": true - }, "wrap-ansi": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", diff --git a/package.json b/package.json index d8bee0c..0273c56 100644 --- a/package.json +++ b/package.json @@ -22,16 +22,16 @@ "url": "https://github.com/mumuy/relationship/issues" }, "devDependencies": { + "@rollup/plugin-terser": "^0.4.0", "gulp": "^4.0.2", "gulp-cht": "^2.0.20", "gulp-rename": "^2.0.0", - "tape": "^5.3.1", - "webpack": "^5.74.0", - "webpack-cli": "^4.10.0" + "rollup": "^3.18.0", + "tape": "^5.3.1" }, "scripts": { "test": "node test/index.js", - "build": "webpack && gulp mini && npm run test" + "build": "gulp && npm run test" }, "homepage": "https://passer-by.com/relationship/", "directories": { diff --git a/src/relationship.js b/src/relationship.js index 809c6aa..681ce10 100644 --- a/src/relationship.js +++ b/src/relationship.js @@ -1,14 +1,16 @@ import {getOptions} from './module/options'; import {getSelectors,mergeSelector,selector2id} from './module/selector'; import {reverseId,getItemsById,getChainById,getPairsById} from './module/id'; -import {setModeData,getModeData,modeData as _data} from './module/mode'; +import {setModeData,getModeData,modeData} from './module/mode'; + +let _data = modeData; // 对外方法 -var relationship = function (parameter){ +let relationship = function (parameter){ if(typeof parameter =='string'){ parameter = getOptions(parameter); } - var options = Object.assign({ + let options = Object.assign({ text:'', // 目标对象:目标对象的称谓汉字表达,称谓间用‘的’字分隔 target:'', // 相对对象:相对对象的称谓汉字表达,称谓间用‘的’字分隔,空表示自己 sex:-1, // 本人性别:0表示女性,1表示男性 @@ -18,12 +20,12 @@ var relationship = function (parameter){ optimal:false // 最短关系:计算两者之间的最短关系 },parameter); _data = getModeData(options.mode); - var from_selectors = getSelectors(options.text); - var to_selectors = getSelectors(options.target); + let from_selectors = getSelectors(options.text); + let to_selectors = getSelectors(options.target); if(!to_selectors.length){ to_selectors = ['']; } - var result = []; //匹配结果 + let result = []; //匹配结果 // console.log('[selectors]',from_selectors,to_selectors); from_selectors.forEach(function(from_selector){ to_selectors.forEach(function(to_selector){ @@ -34,11 +36,11 @@ var relationship = function (parameter){ optimal:options.optimal }).forEach(function(data){ // console.log('[data]',from_selector,to_selector,options.optimal,data); - var ids = data?selector2id(data['selector'],data['sex']):[]; + let ids = data?selector2id(data['selector'],data['sex']):[]; // console.log('[ids]',data['selector'],data['sex'],ids); ids.forEach(function(id){ - var temps = [id]; - var sex = data['sex']; + let temps = [id]; + let sex = data['sex']; if(options.reverse){ temps = reverseId(id,sex); if(id.match(/([fhs1](&[ol\d]+)?|[olx]b)$/)){ @@ -49,7 +51,7 @@ var relationship = function (parameter){ } if(options.type=='chain'){ temps.forEach(function(id){ - var item = getChainById(id,data['sex']); + let item = getChainById(id,data['sex']); if(item){ result.push(item); } @@ -57,12 +59,12 @@ var relationship = function (parameter){ }else if(options.type=='pair'){ temps = reverseId(id,data['sex']); temps.forEach(function(r_id){ - var pairs = getPairsById(id,r_id); + let pairs = getPairsById(id,r_id); result = result.concat(pairs); }); }else{ temps.forEach(function(id){ - var items = getItemsById(id); + let items = getItemsById(id); if(!items.length){ items = getItemsById(sex+','+id); } diff --git a/webpack.config.js b/webpack.config.js deleted file mode 100644 index 9b05ca8..0000000 --- a/webpack.config.js +++ /dev/null @@ -1,62 +0,0 @@ -var path = require('path'); -var webpack = require('webpack'); -const TerserJSPlugin = require('terser-webpack-plugin'); -const pkg = require('./package'); - -var repository = pkg.repository.url.replace(/(.+)(:\/\/.+)\.git$/,'https$2'); -var now = new Date(); -var date = (new Date(now.getTime()-now.getTimezoneOffset()*60000)).toISOString().substr(0,10); -var copyright = `${pkg.name} v${pkg.version} -${pkg.description} -${pkg.homepage} - -Copyright (c) 2016-present, ${pkg.author} - -Released under the ${pkg.license} License -${repository} - -Created on: ${date}`; - -module.exports = [ - { - mode: 'production', - entry: './src/relationship.js', - output: { - path: path.resolve(__dirname,'dist'), - filename: 'relationship.min.js', - globalObject: 'this', - library: 'relationship', - libraryTarget: 'umd', - libraryExport:'default' - }, - plugins: [ - new webpack.BannerPlugin(copyright) - ], - optimization: { - minimizer: [ - new TerserJSPlugin({ - extractComments: false - }), - ] - } - }, - { - mode: 'production', - entry:'./src/relationship-mode.js', - output: { - path: path.resolve(__dirname,'dist'), - filename: 'relationship-mode.min.js', - globalObject: 'this', - library: 'relationshipMode', - libraryTarget: 'umd', - libraryExport:'default' - }, - optimization: { - minimizer: [ - new TerserJSPlugin({ - extractComments: false - }), - ] - } - } -];