Commit ee9029d7 authored by Tachibana's avatar Tachibana

ndyd

parent b63b8bb6
No preview for this file type
--2pick Maintenance Utility
c13959997={}
Duel.LoadScript("c13959997.lua")
tpu=c13959997
cl=c13959996
local cc=13959995
local this=_G["c"..cc]
function this.initial_effect(c)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_QUICK_O)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE|EFFECT_FLAG_SET_AVAILABLE|EFFECT_FLAG_CANNOT_DISABLE|EFFECT_FLAG_CANNOT_INACTIVATE|EFFECT_FLAG_CANNOT_NEGATE|EFFECT_FLAG_DAMAGE_STEP|EFFECT_FLAG_DAMAGE_CAL|EFFECT_FLAG_UNCOPYABLE)
e1:SetRange(LOCATION_DECK|LOCATION_HAND|LOCATION_MZONE|LOCATION_SZONE|LOCATION_GRAVE|LOCATION_REMOVED)
e1:SetOperation(this.op1)
c:RegisterEffect(e1)
end
function this.displayOnField(tp,g1,g2)
local cg1=Group.CreateGroup()
local cg2=Group.CreateGroup()
local ct1={}
local ct2={}
for k,v in pairs(g1) do
if k>10 then break end
local c=Duel.CreateToken(tp,v)
if k<=5 then
Duel.MoveToField(c,tp,tp,LOCATION_MZONE,POS_FACEUP_ATTACK,false,1<<(k-1))
else
Duel.MoveToField(c,tp,tp,LOCATION_SZONE,POS_FACEUP,false,1<<(k-6))
end
cg1:AddCard(c)
ct1[c]=v
end
for k,v in pairs(g2) do
if k>10 then break end
local c=Duel.CreateToken(tp,v)
if k<=5 then
Duel.MoveToField(c,tp,1-tp,LOCATION_MZONE,POS_FACEUP_ATTACK,false,1<<(k-1))
else
Duel.MoveToField(c,tp,1-tp,LOCATION_SZONE,POS_FACEUP,false,1<<(k-6))
end
cg2:AddCard(c)
ct2[c]=v
end
return cg1,cg2,ct1,ct2
end
function this.op1(e,tp)
local ml,el,mat,eat=tpu.loadCardList(false,true)
Debug.Message("已从c13959996.lua加载卡表")
Debug.Message("主卡组数量:"..#ml)
Debug.Message("额外卡组数量:"..#el)
local quit=false
while not quit do
local opts={}
for i=0,8 do
opts[i+1]=aux.Stringid(cc,i)
end
local option=Duel.SelectOption(tp,table.unpack(opts))
if option==0 then
tpu.writeList(tpu.toList(tpu.toSet(ml)),"2pick/cardlist.main.txt")
tpu.writeList(tpu.toList(tpu.toSet(el)),"2pick/cardlist.extra.txt")
elseif option==1 then
ml=tpu.loadList("2pick/cardlist.main.txt")
el=tpu.loadList("2pick/cardlist.extra.txt")
elseif option==2 then
tpu.writeList(tpu.toList(tpu.loadSet(cl.BlackList)),"2pick/blacklist.txt")
elseif option==3 then
cl.BlackList=tpu.dumpSet(tpu.toSet(tpu.loadList("2pick/blacklist.txt")))
elseif option==4 then
tpu.writeList(tpu.toList(tpu.loadSet(cl.BanList)),"2pick/banlist.txt")
elseif option==5 then
cl.BanList=tpu.dumpSet(tpu.toSet(tpu.loadList("2pick/banlist.txt")))
elseif option==6 then
Debug.Message("正在刷新卡表……")
local nml={}
local nel={}
local nmat={}
local neat={}
for i=10000,99999999 do
local cc,ca,ctype=Duel.ReadCard(i,CARDDATA_CODE,CARDDATA_ALIAS,CARDDATA_TYPE)
if cc then
local dif=cc-ca
local real=0
if dif>-10 and dif<10 then
real=ca
else
real=cc
end
local at=0
if ctype&TYPE_TOKEN==0 then
if ctype&(TYPE_FUSION|TYPE_SYNCHRO|TYPE_XYZ|TYPE_LINK)>0 then
at=neat
else
at=nmat
end
if not at[real] then
at[real]={}
end
at[real][#at[real]+1]=cc
end
end
end
local bldelCount=0
local blldelCount=0
local ms=tpu.toSet(ml)
local es=tpu.toSet(el)
local bs=tpu.loadSet(cl.BanList)
local bls=tpu.loadSet(cl.BlackList)
local mdelta={}
local edelta={}
tpu.initSet(ms)
tpu.initSet(es)
tpu.initSet(bs)
tpu.initSet(bls)
for k,_ in pairs(nmat) do
nml[#nml+1]=k
if not ms:contains(k) then
mdelta[#mdelta+1]=k
else
ms:del(k)
end
end
for k,_ in pairs(neat) do
nel[#nel+1]=k
if not es:contains(k) then
edelta[#edelta+1]=k
else
es:del(k)
end
end
for _,v in pairs(tpu.toList(ms)) do
if bs:contains(v) then
bs:del(v)
bldelCount=bldelCount+1
end
if bls:contains(v) then
bls:del(v)
blldelCount=blldelCount+1
end
end
for _,v in pairs(tpu.toList(es)) do
if bs:contains(v) then
bs:del(v)
bldelCount=bldelCount+1
end
if bls:contains(v) then
bls:del(v)
blldelCount=blldelCount+1
end
end
Debug.Message("卡表扫描已完成")
Debug.Message("主卡组数量:"..#nml)
Debug.Message("额外卡组数量:"..#nel)
Debug.Message("主卡组新增:"..#mdelta)
Debug.Message("额外卡组新增:"..#edelta)
Debug.Message("主卡组删除:"..#tpu.toList(ms))
Debug.Message("额外卡组删除:"..#tpu.toList(es))
Debug.Message("黑名单删除:"..blldelCount)
Debug.Message("禁卡表删除:"..bldelCount)
if Duel.SelectYesNo(tp,aux.Stringid(cc,9)) then
Debug.Message("请选择需要加入黑名单的卡片")
local ct=1
local delta={}
table.move(mdelta,1,#mdelta,1,delta)
table.move(edelta,1,#edelta,#delta+1,delta)
while ct<=#delta do
local disp={}
table.move(delta,ct,ct+9,1,disp)
local cg1,_,ct1,_=this.displayOnField(tp,disp,{})
local sel=cg1:Select(tp,0,10,nil)
sel:ForEach(function(c)bls:add(ct1[c])end)
ct=ct+10
Duel.Exile(cg1,REASON_RULE)
end
Debug.Message("请选择需要加入禁卡表的卡片")
ct=1
while ct<=#delta do
local disp={}
table.move(delta,ct,ct+9,1,disp)
local cg1,_,ct1,_=this.displayOnField(tp,disp,{})
local sel=cg1:Select(tp,0,10,nil)
sel:ForEach(function(c)bs:add(ct1[c])end)
ct=ct+10
Duel.Exile(cg1,REASON_RULE)
end
else
tpu.writeList(mdelta,"2pick/delta.main.txt")
tpu.writeList(edelta,"2pick/delta.extra.txt")
Debug.Message("新增卡表已输出,请自行编辑黑名单和禁卡表")
end
ml=nml
el=nel
mat=nmat
eat=neat
cl.BlackList=tpu.dumpSet(bls)
cl.BanList=tpu.dumpSet(bs)
elseif option==7 then
local fml={}
local fel={}
tpu.initSet(fml)
tpu.initSet(fel)
for _,v in pairs(ml) do
for _,v2 in pairs(mat[v]) do
fml:add(v2)
end
end
for _,v in pairs(el) do
for _,v2 in pairs(eat[v]) do
fel:add(v2)
end
end
cl.Main=tpu.dumpSet(fml)
cl.Extra=tpu.dumpSet(fel)
local f=io.open("2pick/c13959996.lua","w")
f:write(this.template)
f:write("this.Main=\""..cl.Main.."\"\n")
f:write("this.Extra=\""..cl.Extra.."\"\n")
f:write("this.BlackList=\""..cl.BlackList.."\"\n")
f:write("this.BanList=\""..cl.BanList.."\"\n")
f:flush()
f:close()
elseif option==8 then
quit=true
end
end
end
this.template="--2pick Card List\n\nlocal cc=13959996\nlocal this=_G[\"c\"..cc]\n\nfunction this.initial_effect(c)\n\nend\n\n"
--2pick Card List
local cc=13959996
local this=_G["c"..cc]
function this.initial_effect(c)
end
this.Main="10000000A1A2B10A1A2B20A1A2B40B80B90CA360A5A6A7A8A9B72A3A4A8C400A1A2A3A4A5A6A7A8A9B10A1A2A3A4A5A6A7A8A9B20A1A2A4A5A8B783D600A1A2A3A4A5A6A8A9B19B20A1A2C801A6A7A8A9B10A2A4A5A6A7A9B20D12614E24317D6986D8593E3004A5A6A7A8B10A1A4A5A6A7B22A4A8C2958D5717D840D45474E5587D60427C81C9180E7001A2A3A4A5A6A7A9B10A1A3A5A9B29C1151C456E8000A1A2A3A7A8B14A5B20A1A2A3A4A5A6A7B320B7A8D9001A2A3A4A5A6A7A8A9B10A5A8A9B20A1A2A3B30A1A2A3A4A5A6A7A9B40C7168F108001A2A3A4A7B10E10717D3067D7149D8318E31855D2124E50096D8145E63855E71001A2A3A4A5A6B12A3A4A5A6A8A9B20A3D4036B44A8A9B57B63A9D8757E82251D9126E94329F200010B20B80B90A9C110C212A3C520C655C866A7D2894D4849D9545E12103E20000B11A2A3B21A2B31A2B41A2B51A2B61A2B71A2B82B92C102D1011A2A3B21A2B31B41D2013A4B23A4B34B44E36520D80B9627E48192E62698E75411E82757D6023F312660D5429E21588E3312D52095E6974D75182E89794F424147E41498D9150E5143C6559E76868E85110D9311E93654D7636F50186C355C5300D684C9340E30913D2969D7981D8007E60119E84050E91919D8400F61200B222E42488E51797E67321E91144D8416F700003B30C201A9B24A5A6A7B34A5A6A7A9B40B70A1A2A4A5A6A8C318D5656E12320D9350E23472E31333D6540D952D53491D5153D9529E89972F802915A6D5153D9984E13327E2946D33828E52583D9908E60121E75327D7309F900048B51A2A3A4D1000A1A2A3A4A5A6A7A8A9B10A2A3A5C111D2000A1A2A3A4A5A6A8D3000A1A2A3D4000A1A2A3A4A5A6A7A8A9B10A3A4A7A8B21A2A3A6A7A8A9B30A3A4A5A6A7D5000A1A2A3A4A5A6A7B10D6000A1A2A3A4A5A6B11A3A4D7000A1A2A3A4A5D8000A1A2A3A4A7A9B10A1D9000A1A2A4A5A6A7A8A9B10A1A4E10000A1A2A3A4A5A6A7A8B10D9000E20000A1A2A3A4A5A8D5955D8224E30000A1A2A3A4A5A6E40000A1A3E63799D9992A4A5A8A9E70000A1A2A3A4A5A6A7A9B10A2A3D1759D9723E81040E92251G1012154C887E21521D515D47543E50415D2544E66358D7666D9680E74235E82056E91375F10000A1A2A3A4A5A6AA10A1A2AA2A4A7A8A9B10A1A2A3A41A2A3AA51A2B6A98C2908D9820E1001A2A3A4A5A9B18B218B5A6A9AA31A2A6B41B50A6A7A87C90C201A2A3B21A2A3A4C3000A1A6A7A8A9B13AA27B34B91C105B23B33A5B71A5D401A2A3C5000A1A3A4A5A6A7A9B10A2A3A5A6AA21AB11D2101A2A3C201A2A3C5718D80C36371E59464E63040D7052E8137D93246F20003A4A5B3A4A5A6A7A8A9B101AA1A2C21418D4103C934D8035E310A1A2A3A4A5A6B2355D4702E50655E60714D4180E7737D87364F3000A1A2A3A4A5A6A7A8B2671D58A9C17977E210A183BA2A3A4A5A6A7A8A9B21A2A5B4436D7848E66199E73345D5683E84280E90349D8951F40001B1A2B101AA1A21B4A6A7A8A9B201A4B3A4A6B34A5C1001A2A4A5C101A3C201C701A2D26487D880C9811E34258D9455E48373D9436E5001C1400A1A2A3A4A5A6A7A8B11A2A3A4A5A6A7A8B20A1A2A3A4A5B31A2A3A4A5B55A7A8A9B61A2A3A4A5A6A7A8A9B70A1B89B90A3A4A5A7A8A9C500A2A5A6A7A8A9B10B21A2A3A4A5A6A8D8071E60577E71117D5049E81610E9109C32A868F50001A2A3A4A6A7A8A9B11A2A4A6A7A8AA20A1A2A5A6A7A8B30A2A5A6A7A9B40A1A2B6B12A4A5A629C7A8B8758E1281D4611C8522D9357E56339E7683D93137D6936F60001A2A4A5B11B21A3B41A3C9969E1001A7A9B21A3A5A6C3567E37481E62742E78191E82713D5347E99941F700001A2A3A4A5A6A7A8A9B10A1A7A8A9AA20A1B4A5B11A2A7A8C5261E1001B12C1438D4098E22335E41041D3119D7708E55663D9079E60174D1845E93047F800001A2A3A4A5A9B11A2A3A4A5A6B50A1A2A3A4A5A6A7A8A9B60A1A2A3A4A5A6D1343E13722C953D9473C616E2001A2A3A5B51A3C7244E30996D4972E4001A3A4A5B61A2B71C5050D620D51647E68731C825E7243C7465E81272F9001A21A2A3B3A4A5A6A7A8B14A6B8584E1001A3C3700E2018B20C5569E54712D8188E61740E7001C111A2A3A9B20C5962D847D87744G2001000A1A2A3A4A5A6A7A8A9B10A1A2A3A5A6A7A8A9D3000A1A2A4A6A7A8A9B13A4A5A8B20A1A2A3A9D4000A1A2A3A4A5A6A8B10A1A8B24D5000A1A2A3A4A5A6A7A8A9B14A8B20A1A2A3A8B38D6001A2A4A5A6A9B10A1A2A3B20A1A2D7000A1B10A1B20A1A2A5A6B30A1A2B41B99D8000A1A2A3A4A5A6A7B10A1A3A4A5A6B21A2A3A4A7A8A9B30A1A2C43C9008B12A3A4B32A3A4A5A9B40A2A3A4A5A7A8A9B50A6B60A7C100A1E10002A3A4A5A6A7B11A2A3A4A5A6B21A2A3A4A5A6A7B31A2A3A4A5A6A7A8D1000A1A2A3A4A5A7A8A9B10A5A6A7D3000A1A2A5A8A9B10A1A5B55D4000A1A2A3B11A2A3A4A5A6B40D6000A1A2A3B20A1A2A3A5D8000A1A2A3D9000A1A2A3A4B10A1B20A1A2A3A4B60E21072D4000A1A2A3A4A5B10A1A2A3D5000A1A2A3A4A5A6A7A8A9D6000A1B10A1A2A3B20A1A2A3A4A5A6A7A8D7012D8000A1A2A3A4B14D9001A3A4B10A1A4A8A9B20A2B33A5A6B40A2A3B70A1A3C400E30000A1A2A3A4A5A6A7A8A9B20D1001A2A3A4A5A6D2000A1A2A3A4B10A1A2A3A5D3000A1A2A6B10A1A2A3A5A6D4000A1A2A3A4A5A6D5000A1A2A3A4A8B20A1A2A3D6000A1A2A4B10A1D7000A1A2A3A4A5A6A7A8B15B20A1A2A3A4A5B50A1A2B60A2D8000A1A2A3A4A5A6D9000A1A2A3A4A5A6A7A8A9E40001A2A3A4A5A6A7A8A9B60B70D1000A4A6A7B10D2000B11A2A3B20A1A2A3A4A5A6B40A1A2A4B50D3000A1A2B10A1A2A3A4A5A6B20A1A2A3D4000A2B11A2A3A4A5A6A7A8A9B20A1A2A3B30A1A2A3A4B40A1A2A3A4B60B80A1A2A3A4A5A6A7A8D5000B10A1A2A3A4A5A6A7B20A1B40A1A5A8B50A1D7000A1A3B50A1A2A3A4A5D8001A2A3A4A5A6A7A8A9B10A5A8B20A1A2A3A4A5A6A7B30A2A3B40A8B50A1A2E50000A1A2A3A4A5A6B10A1A2D1010A1A2A3B30A1D3000A1A2A3A4A5A6A8D4001A2A3A4B10D6000A1A3A4A5A6A7A8A9B10A1A2A3A4A5D7781D8000A1A2A3B11A2A3B30D9000A1A2B20B30E60010A5B30D1000A1A2A3A8B20A1B30A1D2001A2A3A4A5B10A1A2A3A5B20B30A3B40A1A3B50A3B60D3001A2A3A4A5B10A1B50B60A1D5000A1A3B11A2A3A4B50A1A2A3A4B60A1A2A3D6000A1A2A3B20A1A2A3D8001A2A4A5B10A1E70001A2A3A4A5B10B20A2A3D1500D6263D9734E80001A2B10A1A2A3A4A5A7B20B50A1A2D1001A2A3D3001A2A3A4A5A8B10A1A2A3A4A5B80A1A2A5B90E97275F100002A3E10009D7532E29233E43771D6024D8078E52769D3292E60911E71659D4035E81376D214C3332E96873D7543F206212E13463D5894D6615E35475E47206D927D520B3117D5007E62393E75533E89247E92422D6376D8909D9841F300000A1A2A3A4A5A8A9B14B25C105B12C205A9D1112C600B66E24546E32865D8068E69277E709C85638E98280F408276E23762E35193D6646E44060E51640E67005D9386E70447D2242E82652D895D93482F503902D8268E10878E24259D5049E38374E41409E71621E80477F600382D7053E218B4008E4319C4061E70770D8601E94768D7630F735388E43620D455D55462E60674D6474E8431E800777E1505C7939E22541D9151E36042E454C63633E7123D83044F923641D7849E30501D1061E40613E50294D111C3226D8919E65761E77245E80373D6778D9604G3002461E26402E32689D5077D9848E46291D8472E69066E73850E90893D3792F1182C40300E5120D66204C648E71876D3832D9332E93642F210191D5230E20032D4603E35258E41004D7801E50922F301895E13278D4457D6346D7419E61027D4097E86503E91185F409151E29800E38207E4018D55953E74291D8040D977D82075C262D6638E92423F504844E13663D8809E21194D2325E32663D770D56444D98C7146D82837E99884F604200E11090E2589C6450D9812E47631E50422E62809E76474E83298D5271E94209F708425E1589D23605D887D58665E60677D1956D4602C881F821299E39120E46680E51202E90468D3596F903402E23256E35001E44422D5283E55608D9634C995A8E65201E72452D4207E97673G4000000A1A2A3A5A6A8B10A1A2A3A4A5A8A9B21A2A3A4A5A7A8A9B30A1A2A3A5A6A7B55A6A7A8A9B66B97A8A9C100A1A2A3A4A5A6A7A8A9B10B30A1A2A3A4A9B40A1A5A6A7A8A9B50A1A2A3C301A2A3A4A5B51A2A3A4A5A6A7A8A9B60A1A2A3A4A5A6A7A8A9B70A2B80A1A2A3A4A5A9B90A1A2A3A4A5A6C451A2A3A4A5A6A7A8A9B60A1B74C501A2A3A4A5A6A9B10A1A2B31A2A3A4A5A6A7B56A7A8A9B60A1A2A3C601A2A4A5A7B57C781A2A3A4A5A6A7A8A9D1041A2A3A4A5A6A7A8A9B50C430D5031E10001A2B46B58B75B81A2B96A9C106A8B10B20B45A7A8B50B61C210A2A7B36A8B42A4B55A7D5067E25912E37717E47624E55212D7297E60001A2A3A4A5A7A8A9B10A1A4A5A6A8A9E87893D8859D9428E94090C74E105623E24483E40007B13D1001A2A3A4A5A6A7A8C448D6794D8099E52693D4221E69843E81608E98496F212201D4060E35211E55590D8627E61867E89852E91024F309486E15573D8794E42283D352C4682E5851D70001A7B10A3A6A9B22A5A8B31E86013E91920D3464F430063E57896E62257D3695D4864D6224D9229E70845D2500F505685D6878D7213D9651E12825D3016D7422E31242D2163D6035E41657E50855D3285D8127A8E68951E75467F602126D4710E13029D8326E24296D5090E44902E77495F700001A2A3A4A5B22A3A4A5A6A7A8A9C102A3A4A5A7A8D1000D2066D3000D8569E29426E30606D1897D3538D5698E45409D910D5311C6848D9024E63299E71222D2491D8250E85765E99437F800101A2A3A4A5A6A7A8B10A1A2B26B41B72A7A8A9B80A1A4A6B91A9C219D1271A2C729B31A2A3A4A5A6A7A8A9B40A1A3A4A5A6A7A9B50A2A6A8A9B60A1A2A3A4A5A6A7C800E12659D6688C857E24019E39621E51496E78871E82493D3228D6190C469E98066A7F920218E34922D6691E43837E57440E77074E8130C3497D9021G5000041A2A3A6A7B50A1A2B60A4A5A6A7C113A4B25B61A2A3B71C240A1A2A3A4A5B51A2A3C320A1A2A3A4B30A1A2B51A2A3A4A8B61A2A4C400A1A2A9B10A1B90A1C541A2A3A7A8A9B50A5C600B10B20A1A2A3B61A6A7A8C720A2A4A6A8B40A2A4A6A8D13B2000A1B10A1A2B20A1E13468E23985D5844E33525E42735E52462E66114E79028E83304C728E90429F103313E46890E50365B71D5568E69262E73384D5429D7750E80041D7079F248873E5329C6925D9703A4E70885D418D86412E94090F303296D5240D8295E10033D3433D7640E27215E3292C5853E41821E67030E81252C421D3415E9051C4083D7015F401633E15147A8A9B50A1A2A3A4A5A6A7A8A9B60A1A4A5A6A7A8A9B71A2A3A4A5A6A7D9596E47747D9853E52043D8892E62014E71265D5415E80588E95787F502037D7080E10988E20842D1027E43940D5291E52258D5120E7341C4615C99C6074E82767E95052F605085D9017E10297D3529E29801E53824D8249E67446D817D84835E93423F710054D7011D945D21123C392E34813E44417E54711D8127E67889E71991E92576F800838D833A81E20147E39054E48542E54426E6457C6454E71676D3611A2A3A4A5A6A7A8B20A1B34A5A6A7A8A9B40A2A3A5A7A8A9B50E93860D4048F935204D6370D9448E41690E51532E60641D508D78426E81690G6001002A3A4A5A7B10A1A2A4A5A6C119D3979D8155E20923D1142D4176E63001A2A3A5A6A7A8B10A2A3A4B31D7089E80001A2A3A4A5A6A7B11A2A3A5A6A8B20A3A4A5A6A8B32A3A4A5F101078A9B80A1C105A7A9B15B25B49B53A7B65B73A5A6A7A8A9B80A1A2A3A4D2000A1A2A3A4A5A6B10A1A2D4200A2A4A6A8B10A2A4A6A8B20A4A6A8B30A2A4B40A2C400A2A4A6A8B10A2A6C600A2A4A6A8B10A2A4A6A8B22A4D5000A4A8B10A6B20A6B30A2A4A6C100A2A4A6B10D7100A1A2A3A4A5A9B10A1A2A3A4A7D8100E11820E30002A6A8A9B10A1D5253E46511E50001A2A3A4A5A7D7341E60001A3A4A5A6A7D1010E70000A2D8681A2A3E88701E91953D7610F200000A1A4A5A6A7A8D9941E22645D3761D6786D7556D9315E41441D6527E55173C442E61341D8841D9385E72453D8116D9989F306932D8000E13112D7140E29071E53197E60142D6810C944E7760D92422F400000A1A2A3A4A6A7A8A9B10A1A2A4A5A8A9B21A2A3A4A5A6B30A2A3A5A6A9B40A1A5A6A7A8A9B50A1A2A4A5A6A7A8A9B60B71A2A3D4809E28514E30187D5215D7822E4289D69012E710A775D5472E80084E94704F509093E16630E50875D6849E87243D9042F616620D7334E2004C5614E32144D8212E74846D8947E84346E93254D772E708652E19140C802E20314D5505E51086D9958E62927D8387E80318E96157F802689E25874D8633E32845E49715E86617D9337E917B516C8077D9564F906241D9657E23472E40215D3770D6849D7147E56455D8382E60120C351D4437E70158D104C2957E84449E90348G70002A3A4A5A7A8A9B10A1C10000A1A2A3A4A5A6A7A8A9D6131E20000B10B20B40B50B60B70B80B90C100B10B20C210B20B30B40C410D1204D9000A1B10C230E30600A1D1010B20B30B40B50B70B80B90C110B20B30D3000D5010B20A1A2A3B30B40B50C100A1B20B90C200B10B20C310B20C410A1B20B30B40B50B80B90C500B10B20B30B40B50B60B70E45014E52477D5000B10B20B30B50E60810B20B30B40B50B60B70A1A2A3B80A1A2A3D1030B80C120A1B50B60B70A1B80B90C200B10A1A2A3B20C310B20A1B40B50A1B60B70B80B90C400B20A1B30B40B50B60B80B90C500C610B20B30B50C800B10B20D3599E78030E86528E92736F10476D15745E29783E32130E41718E70970D8486E83908D5260D9532C677E92817D4258D7110F201174E14465E28908E36839D8333E41370C941D3896E57342D9470E64592D6660E85476D6057F313545D5396E22533D8157E30916E58176E63041E75316E90179D3207F415895D8744E27333E41953D4133D9108E65972D9113E75251E84499E90535D4901F502671D9503E11156E21642E30001D5588C764D6995E40705E59367E73739E89298E97059D808E601919E1063C6743E26381E39150C2C43265D972A53E53779D5904D8803E63375E79043E88543F706537E20747D2185E32278D3394E87975F810268D310C4387E41097C166D619B86D57780E71506D4674E96384F932494E46349D8378E55766D6906E68114E79378E85575D8746E9464F8000338D1002A3A4A5A9B10A1D4001A2A3A5A6A7A9B12A5D5001A2A3A4A5A6A7A8A9B10A1A2A3A4A5D6001A2A3A4A5A8A9B10A1A2D7001A2A3A4A5B11A2A3A4A5A6D8001A2A3A4A9B10A1A2E10001A2A3A4A7D154C6001A2A3A4A5A6A7A8A9B10A1A2A3A8A9B20A1A2E2450C7138E36057E4528D60565D3928E94166D6222F106132D8166E14794E38630E44506A7E58397E61786D8997E75965E80762D9187E90572F205590E10764D4905E35309C577D6002E46479D9921E52559D445D6676D71561E82103F302224E18842D9762E22364D5492E3916D4107C753D72968D8582C992F407024E26196E30390D8874E44733C902D6701E5204D74999D8530E82591D6927D9208E91580F511384D7177E51923D8867E63744E85765E90133D1904D7560F605135E21798E31392D4367E54201D8572E78554E98739F710707D2704D3102A3A4A5A6A7A8A9D6735E24123D843D34600A1A2A3A4A5A6A7A8A9B10A1A2A3A4D9764E43376E52707C938D6904E89533F803791D7108A9D9562E16758E28179E37926E42395E59369E65703E91691D5832F914778E37875E40556E54366E60169D112C4575E88391E93198G90001A2A3A4A5A6A7A8A9B10A1C12345D9586E24706D5379D8307E36557E41767E59929E86954D9195F113101E39516E53590C634D9413E62134D3116E749C8087C2751D6123E90082F211362E21310E30407A8E52988D4117E75188E80589E9294E301729D2550D7353E10321D2169E27348E37371E53570D7125E62568E84334E94153F406822E20830D635D39119E41018E51302E62747E74136D6824E89718F501924D2505D5896D8728E23799E3925D78592E80308E90644D4506D6712F605133E12721D3556D9755E36995E42774C889E5724D6438C5973D7590E71102D3561E80539E9506E700943E33961D7320E40112D8583E63315E71459F801646D574C8608E14508E27717D8680E44995D618C7532E70120D7898E85332E91131F932396E43114E59563C742C85D80975H20003027C527D7374E32555D6055E50865D6760D7949E60230D5322C549E73910E9101E100000B37C200A2A4A6A8B23A5A7A9B33A5A6A7A8A9B40C300A1A2A3A4A5A6A7A8A9B10A1A2A3A4A5A6A7A8A9B20A1A2A3A4A5A6A7A8A9B30A1A2A3A4A5A6A7A8A9B40A1A2A3A4A5A6A7A8A9B50A1A2A3A4A5B97C417A9B21A3A5A7A9B31C501A2A4A6A8B10A2A4A6A7A8A9B20A1D1223E27343D9614E37754D8923E40382E54092D5904E74189E88127E91720D3924F200000A1A2A3A4A5A6A7A8A9B10D1255E10570D6608E28463E46864E64508E77376C860E81581D5786E92186F315854D8029E45391D9913E51153D8953E68763E74520E94040F403123D9757E19926E24878D6176C907E36034D8745E47641E50925D7551E70500D4741D519E501450E13882E22190D9766E37097E41432D6916E5403D79538E84712D6572E90515C784F612097D8081E24263E30765D8610E44748E54247E63556E7935D86759F700531E20928D1759C928A9D7787E35371E45268D7792E58643E65952E73176E81762D8863E97524D9347F802187E22520E31168D8380E4239C8593D9090E55340D8318E62918E71001E8870D9016C9496F920083E32152D6251D9559E51752D764D60340E710C85997D9253E9841F1007444E11044D5833E2065D51146C977E6266D70956D4344D6084E82832D8856F105106E42671D3940E55323D9309E79143E8022E208154E19755E2975D37481D9280E50202D1800D4443E63083E96383C502D7224F30625D23861E326C40051D346C7810E50571D1206E62970D4070D8442E7678C7582E90858D640E400040A1A2A3A4A5A6A7A8A9B51A2A3A4E10100A1A2B30A1A2A3A4A5A6B40A1A6D4674D7692E20702E38286E41617D946D52275D4943E66326E81146D8686D918D95657D6848F502796D7589E20095A6C101A2A3A4A5A6A7A8A9B10A1A2A3A4A5A6A7A8A9B20A1A2A3A4A5A6A7A8A9B30A1A2A3A4A5A6A7A8A9B40A1A2A3A4A5A6A7A8A9B50A1A2A3A4A5A6B61A2A3A4A5A6A7A8A9B70A6A7A8A9B80A1A4A5A6A7A8A9B90A1A2A3A4A5A6C239B40A1A2A3A4A5A6A7A8A9B50D2601D4779E46416E58682E65445E76077E8562D93977D7117D8948F607304E15956E20076D3008E36650E48584E63205E72573E86473E98716F702241E15135E44288E67650D8554E70260C839D2453E85144E90410F817254E30679D1848D4870E40375D3307D4576A7E704B9581E87179D8494E93603F900719D8319E24381E54587E6767D70285D7828E84400D5407E99001G2000230B40B50B60B70B80B90C800D7085D9013E11689E20907D6707E4038C140AB6459D7978E56710E73844D6135E82163E91345C647F100101A3A5A7A9B11A3A5A7A9B21A3E23627E34079D8839E47147E59429E71591D4866E80094E98672F200001A2A3C403D1001A2A3C101A2C201B34D2001A2A3A4A5C101A2C201D5600E11622D9822E27683E30001A2A3A4A5A6A7A8D1001D2001C101E80001A2A3A4A5A6A7A9B10A1D1001C301D2001F318971E39232E46472E59980E71016D3487D7815E82087D6234E98665F404675E19772E20202E31243E46869E54453E79888E93811D9034C463F50266D12237C406E30212D7443D9270E55834E67609E86618D7018D9918F600001A3A5A6A7A8A9B10A1A3A5A6B26A7A8A9B30A3C101A2A3A4A5A6B13A4A5A6A7A8C201A2A4A6A7A9B11A8A9B21A2D9617E10082D7205E24373D8574E34473E57402E62014D498C6164F702055E3734D47316D8199E51868D4505E65132E90789D6548F802010D4410E12068E29942E35145D7504E42126C214E55882E65492D6836D9904E73798D848D88900F900598E10685D6281E23081E33016E5440C831C9079E91179D3208D6376G3000001B30B40B70B90C110B20B50B60B70B80C200C300A1A2A6A7B10A1A2A3A4A5A6A7A8D2292D4001A2A3A4A5A6A7A8A9B10A9B30A1A2A3A4B50D8320E15896E20408E32273E51413E64604D8051E87070E93604F115241D603B808D8924E22036E4238C7658E60024D186C6823D8060E71610F205979E12990D3239E20533C863E34094E65313C594D738C9426E70035D4061E82832D9281E96404D7235D9957F303072D9606E14220E23812D7298E31400D365D77425C694D9054E84666F401839B40D8872E21244D4603E31858D4538E40062C231D2438E59650E69398E71572D477D99963F516703E35429D6866E57835D8733E62407D994D71046E81825D7624E9348E615409D9206E26223D787D35815D9291E4438D59124E81456D9697F70081C1465E1506D20856E40893E56165E6209D70284C34C1716E82705D4496E92058F837054E42445D6921E50421D1033D7661E69735E93227D8021D9727F90019D12837D5499E24608D7545B67E50192E6042C5037E79249G4010609D9092C261E25620D7078E37702E40093E50692E62258D8492E7147C3068E82387E94653A4D6228C499F101897D3628D4865E28274E31534D7081E40059D168D50026D4052D8464E75232E81936D4846E94033F207889D921D12820D46B8047E21739D4830E68052E85858E91651D4108D9458F300001A2A3A4A5A6A7A8A9B10A1A2A3A4A5A6A7B21B31A2A3A4A5B80A2A4A6A8A9B96E10020D1372C595D7029E26617E48204C62B804E62891E82602D4095E93683F413299D9823E25055D9467E32029D3920A1D5369E49083F506253D8238E21754E30661E45464E57335E62456A7B60A2A5A6A8B70A1A3A5A9B80A1A3A4A5A6D6654E73625E90232F60565D10207C31C1934E21460D3598E35329D9891E43836D4634E58418E61486D8830E73894E8169D94698F701235D7869E21709D5825E31391C453E93135F83611C8456E45628E57466E61088E74630F903843D7044E19805E20410E40422E96659G5005816E34083E50038E67275E90294F109950E1717D23082C713E40659D8255E63248C979D6510E71661D3686F206027E1011D21249E31813D6056E44515D7218E5268C9669E62697E74141E80974E90459F311006E34372D9070E43017C280D5186E77819E97880F401880D7406C643E15052C161E2230D35080E51383C652E60258E7033D84449E94711F518020E24823E31465D3642D8345E42642E51951E73054D8802E998D607552E14410D846D29622E42998D3346E52259C655D4671E69282F700114D4359E16180E26386D7454D890D33157E50986E69732E71826D3409D4450E88011D9292E95273D6442F800447E11989E24484E33572E4136C5518D7467E57246C977E66285E80422D2881F908748E20413D4653E314B5625E55164C749E64547E88873G6016357E22485D411D34577E46205E57276E77387E82117C229D4285E99457F118970E20084E57485E8045C5991E9149C4151F202165D5777E32916D6560D7713E54876D7572D939D70847E85557C788E93219F302107C522D8721E45570E76390D8150E81750E926D400609E12047E20373E39287E8201D93435D5087F509612E17393E33075D4688E57451E66878E70480D7155E86849F638543E40671D7858E55293E69055E74724F701483D4411D8437E1330D22601D5158E32909E73909D5203E81870F800000A4B11A7D1000A1A2A3A4A5A6A7A8A9B10A1A2A3A4A5A6A7D2000B13A7B20A1A2D3000A2A6A8A9B12A9B23A9B30A9B40A1D5001A5A7A8A9B10A1A3A5A6A7A8D6000A1A2A5A6A7A8A9B10A2A3A4A5B22A3A4A5A6B36A8B47A9B52A3A4B60A2A3A4A5A6A7A9B70A4A6A8B82A3A4A5D7000D8001A2A3A4A6A7A9B11A2E12001A3A4B15A6A7A8A9B20D6002A3A8B11A3A5A6A7A8B21A3D8000A1A2A3A4A5A7A9B10A2A5A6A7A9B20A2A3A5A6A7A8A9B30A2A5A6B71A2A3A4A5A6D9007A8A9B10A1A2A3A4A5A6A7A8A9B21A2A3A4A5A6A8E20001A2A3A4D1000A1A2A4A5A6A7A8A9B10A2A6A7A8A9B21A2A3A4A5D2005A6A7A8A9C796D4000A1A2A3A4A5A6A7E34022E41274D2483D5680E64586D6984E73574E85836D9158F9012B2560D5245E14168E20296E31058D2788E4423D510B6670E64762E76414E93374G7001740D4302E12990E24795E36706E53506D4370E62594D8117E94595F103517D7590E25110D6980E32350E43874E57996E74286D8262E82739D9308E91436D6937D8001F204311D7573E17742E43130E79764E88416E9285E32323C4313E31568E40877E52108D4732E83110F407330D8609E12542D5516D6701E39792E50400E91571F503418E20594D7047E41267C563E51B61302D4031E81098E9860E618634E32240D57C42961E55513E60735D4101E71321E99122F705190E44077E50191D6115E62803D9400E70341E80618D2503D4944E96375D999E813661E21104D7272C903E3661D63269D9883E70033C337D7771E95597F911549B50D8365C963E2265C3575D7359E44249D6124E67615E70830D1137D8707D9109E80138E93919D5943G8002611D3512E1664D31913D9390E53106C763E62325D6831F106077C42D12535D5467D8128E20197D1403D4263E39785E43906E51978E74796E83605E90303D4325B5E201945E34578E65983E70534D9543E84902D86C97833F300000A1A2A3A4A5A6A7A8D2003D3001A2A3A4A5A6A7D619B93D15003A5A7A8A9B10A1D6000A1A2A7D7000A1A2A6A7A8D8001A2A3A4A5A9D9000A1A3A4A7A8B10E20000A1A2A3D1000A2A3A4A5A6D2001D5165D6000A1A2A3E3249B833E48537C939E55718D7177D8902E63749D9508E78427E88296C927F423537D7869D9121E3014D50915E65301E70714E86799E93337F506708E1070D29976E34130E46905E53439E63545D5527D6710E70310D3958D7986E93329D6933F601770D4635E17139E30501D439C7168E43791D5123D9820E51380D4932E74152E92962F711704D5905E25004E41524E54338E70951F806532E1864D59794E65322D8394E77100C602E84172E90974F927782D9131E33734E57126E66434E85331E90150G9013526E21114E3036D47353E54481E6250C5501A2B72A4A6A7A8A9B82A6A8A9B90A1A8C600A1A2A3A4A8A9B11A2A3A4E87919D8922E92121F107423E14773D6732E39104E414B3457D6185E55212E69993E72562D7818E85231D9613F216198C967E23325D8350C529E4048C6354E53591E6176C7084E80589F303524D675C7554E11166E30706E53756D4228BC74928E80133D9368F400787D1950D2771E15459D7188E24328E32356C790D6665E77860E8263D91031C334F508346E37493E49364E517C7055D87993E90752C905D6581F601381D3180E12557D6929B41D8570E28180E4201C9320C9C50040D4737E66221E87169E92206F71090C446C6911D9112E24053D6552E35721E62407E95530F802344D764D26127E34183D8323E43091E63101D553C7611E76529E88389F904964D5795E13783E2036D34351E4495C7751D8642E51323E75188E81935E96433D9161H30000200B20B31A6B40C450B60C500B10D5000A5B10B20E12506D3000A5B10A5B20A5B30B40A5C902E42158E68120D9398E79770E90452F106950E13682D4823E23142D6992D7518E31474E55789E70981E90809D642E208479E13599E21870D7494E30789E41314D3636E6686D7001B176D6969E99166F303854D892D12361D4994E25729D8508E34522D8466E41772D8744E53551E660C82214E92583D8342D9511F411385E26226E35145E50531D1366D9350E61781D4153E88793E92798D4314F500113D2181E25991E31525D2390D7973D9496E48775E52375D3000A1A3A9B10A1A2C101A2A3A4A5A6A8A9C201A3A5A7A9B11A3A4D6001A2A3A4A5B11A2C807A8B20D8001A2A3A4A5A6A8A9B11A3C37D62585C67D75681E85393D7695F600344D3688D6547D8985E43162D425C6525E50147D3113D5537E83373F700005A6A7A8B10A1A2A3A4A5A6B22A3A5A6A7A8A9B30A1A2A4C49C7994E2077C808D70156D8711E8576C6387E94966F811116E29071E34988E45999E60696E88983F907810E14564D5572E22149D9786E36186E6468C8774E79619E96652G1000575D2402E34919D6355D8159E42659D4787E53337D404C9809E61682D6283E76103D7447F102447E1207C8030E22090A1E3667D73519D5914D804B212E81711D9536F222701E42786D5780D7589E81980E92357D635E300001A2A3A4A6A9B11A2D3283D5911E14549E28739E4241D513B3051E6426D74201E83545F423101E34645E40046C542D3476D4249D7217E56110E61282D695C7372C949E72884D6755D7025E80215E9764E516413E25442E31170D3704E48215C814E50470D3716D4054D7782E60081E71902E88572F60805D15285E29407E43613E7573C7606E83874E92182F706048D832C9826E1055C2840E33941E55044D9689E64353A4C700D6317D8112E72684E85398D6629F812496E26057D8916D9185E34488E49106E55260E63912E87905A6E90399D3528F904181E30787E44175E75743E80955D6288D7274E91800G2012841A2D3448D5116E22366E36866E4467D56070E61744D2913D5885E86564F104431E1439D20116E34638E46097E64201E76662E80819D1268F202803D7100E31618D3746E40937D7099E68901D9855E71987D4490E81491E95838D6881D8781F305461E14730E3859C9440E44688D9062E54768E60466D2575E91566C631D3580F422602E37102E41317D563D52818E65539E72237D6434C603E85518E91822F539892E41773D2011D3380D8609E57233E66831D9498E88805F600024D3633E19583E23004D6733E63969E71443D9370E87071E96942F703716D51C10364E23153E44558E50341C510D4886E61286D4863D8230E87239F80747B846D9211E25095D8001A2C635E35363D679D41045E54013E64B72833D5265E87445F904921A2A3A4A5B31A2A3A4D7538E12040C371A2A6A7A8A9B80A1D8479D9136E33942E65616E8689D99573G300267C8376E15627D7655E22867E31674D4646E41277E57951E62423D4647D6139E93439F103459E12041D4323E45233E78416E84167C236F200001A2A4A5B50A2A3A8A9B60A1A2A3A4A5A6A7A8A9B70A1C100A1A2A3A4A6A7C251A2A3A4A5A6A7A8E12663E25925E44944D5030D8692E52803D6280E80639D2498E96432D8291F300669C810D2407E10001A2A3A4A6A7A8A9B15A6A7A8A9B23A4A5A8C100A1A2A3A4B50A1A2A3A4A5A6A7C200A1A3A4A5A7B14A5A6B50A1A2A3A4A5A6C300A2A3A5A6A7A9B12B50A1B75C501A2A3A4A5A6A9B10C600A1A2A3A4A6A7D4479D8980E23657D7029E30001A2A3A4A5A6A7A8B15A9B20A1A2A3A4A5A6A7A8A9B30A1A2A4A8B48B50A2A3A5A7A8B61A3A4A5A6A7A8B70A1A4A5A6A8A9B80A2A4A7A8A9B90A1A4C100B50A2A3A5A6A7A8A9B60A3A4C201A2A4A5B11A2A6A7B21A2C301A2A3A4A5A6B23B50C400A1A2A3A4A5A6A7A8A9B11A2C501A2A3A4A9B12C601A2D1100A1A2A3A4A5B10A1C354C551A2A3A4A5A6A8B61A2A3D4269C568C650A9B69B72D9001A2A7A9B11A3B31A3B41A3E40001A2A3A4A5A6A7A8B13A4D7467E50001A2A4A5A6B13A4A5A6A7A8A9D1001A3A4E65932E74560A1A2A3A4A6A7E93090D6948F400001A2A3A4A5B17A8A9B37C100A1A2A3A4A5A6A7A8A9B10A1A2A3A4A6A7A8A9C200A1A2A3A4A5B10B22B54A5A6A7A8A9C300A1A2B10A1A2B20A2B50A1A2A3A4A5B60A1A2A3C401A2A4A5B13A5B20A1A2A3A4A7A8A9B30A1A3B50A1A2A3A4A6A7A8A9B60A1A2A4B70A1A2A3A4A5C501A2A3A4A5A6A7A8B19B20B50A1A2A4A5A6C601A2A3A4A5A6B51A2A3A4A5A6A7C701A2A3A4A5B11B51A2A3A4A5A6A7A8A9B60C801A2A3A4A5A6A7A8B50A1A2A3A4A5B60C900A1A2A3A4A5B51A2A3A4A5A6A7D1001A2A3A4A5B50A1A2A3A4A5A6A7A8C200A1A2A3A4C301A2A3A4A5A6B10A2A4A5A6A7B20A1A2C401A2A3A4A5A6A7A8A9B10A1B50C601A2A3A4A5B25A6A7A8B50A1A2A3A4B74A5A6A7A8A9B80A1A2A3A4D3500A1A2A3A4A5A6A7A8A9B10A2A3D5001A2A3A4A5A6A7A8A9E13638E20078D3043E38666E53260D5338E60840E91462F500001A2A3A4A5B11A2B20B50C100A1A2A3A4A5A6A7A8A9B10A1A2A3A4A5A6A7A8B20A1A2A3C200A1A2A3A4A6A7A8A9B10A3A6C301A2A3A4A6C400A1A2A3A4A5A6C501A2A3B10B33A4C801A2A3A4A9B10A1A2C911B21B55B81A2A8D1000A1A2A7B11A6A7C201A3A6B50A2A4B60C301A2A3A4A5A6B10A1C401A2A3A4A5A6B31A2A3D2001A2A3A5A6A7A8B10A1A2A3A4A5A7B22A3C301A2A3B11A4C400A1A2A3A4A5B11A2A3A4C501A3A5A7A9B11C601A2A3A4A5A7A8A9B10A1A2A3C800B10D8719E37328E43890D5259E50694D1032F609093C262E11061E21868D2465E369C55493D6832E65663E95750F700000A1A2A3A7A8A9B10A1A2A3A6B20A2A4A9B30A4A5A7A8A9B40A1A2A3A4A5A6A7A8A9B50A2A3A4A5A6A7A8A9B60A1A2A3A4A5A6A7A8A9B70A1A2A3A4A5A6A7A8A9B80A1A8A9B90A1A2A3A4A5A6A7A8A9C100A1A2A3A6B20A1A2A3A4A5A6A7A8B31A3A5A6A8A9B41A2A3A4A5A7B70A4A5A6A7A8B80A1A6A7A9B90A1A2A3A5A6A8A9C201A2A4A5A6A7A8A9B10A1C300A1A2A3A4A5A6A9B14A5A6A7A8A9B20A1A2A3A4A5A6A7A8A9B30A1A2A3A8A9B40A1A2A3B62A5B79B80A3A9B99C400A1A3A4A5A6A7A8A9B11A4A5B21A2A3A4A5A6C501A2A3A4C650A1A2A3A4A5A6A7A8A9C701A2A3A4A5A6B13A4A5A6A7A8A9B20A1A2A3A4A5A6A7B32A4A5A6A8A9B40A1A2A3A4A5A6A7A8A9B50A1A2A4A5A6A7A8A9B60A1A2A3A4A5A6A7A8A9B78A9B80A1A2A3B92A3A4C900A1A2A3A4A5A6A7A8A9B10A1A2A3A4A5A6A8A9B20A1A2A3A4A5A6A7A8A9B30A1A2A3A4A6B42A4A5A6A7B90A1A2A3A4A5A6A7A8D1003A4A5A6A7A8B10A1A2A3A4A5A6B21A2A3B4A66A7A8A9B70A3A4A5A6A7A8A9B80A1C120A1C315A6A7A8A9B20A1A2A5A6A7A8A9B30A1A5A6A7A8A9B40A1A2A3A4A5B59B60A1A2A3A5A7A8A9B70A1A2A3A4A5A7A8B95A7A8C400A1A2A4A5A6A7A8B10A1A2A5A6A7B21A2A3A4A5A6A7A8B30A1A2A3A4A5A6E10901A2A3A4A5A6A7A9B10A3B20A1A4D1004A5A6A7A8B10C101A6A7A8A9B10A2C401A3A4A5A6A8A9B10C501A2A3A4A5A6A7C601A3C701A2A4E25002C271E31070D4439D7664E46252E50025E67325E73528D6734E82437D4505F81441D23832E33230D7653E46209E66130E75961D8931E83834F900648D4024D7039E11264E45211E50246D1077D226D70665D1095D7496E81008G40002B2992D4470E10534D6756E22290D6662D9630E5259D79868E88136E93683F100324D3656E24316E30561D7269E43852D9830E60055E72284E87685E93084F206604E2200D30233D6961E42278D4455E50214D1483D7001E67821E8069D90067D3667D4855F302287E1737C8086E20307D5937E34692E51849D8408E65442E70473D9489F419588E42949D9261E60239C851E71458D5451D9658E87429E92631D6660F501310A1D7039E22216E36276E41863D5235E50857D9295E66435D8403E72613F611551D4289C910E20088D7841E46691E59866E64411E80482D8023E90519D4160D5290F707034E10660D7238E21681E43446E61062C841D7865E73082E96454F815282E22850E30502D4619D8437E53266E84015E98052F906152E23554D538D3058C3456D978D59756E61968D6096D8834E95106G5011819D4241E27493E35481D7880E50257D2053D8588C857D9553E73065E89369F100834D565D12613E25879D9241E46019D9085E83584C853E91415D5612D9656F209994E15622E20244D4440E55456D9350E61759D2428D8887E72499E82433F307484E16708E22812D9581E30871E4077C6968E6537D71948E94356F419032E29292E48319E64895E80699D6099D7920D8287E9275C4087D8188F514096E37251C860D9880E44402D6670E61352D3539D5537E7275C7420E95518F60069D18217C486E29124E31584D8627E45105E7660D86187A8E99C712107E26888E3512D6031C2283E70983E81051D7450E98491F80032B511D3249E15783D7848D8851E42855D8254E66404E70016E84610F906693E11108E50025D6022E60413E75813E84222E98832G6006208E10310D6907E21814D9076E3242C3786D9163E42004C825D5450D6926E6005A8B10C209C728D88082E92504D9130C620F100154D7810E11775D830C9641E21917E51751E83881D7051E97902F205132E11150E24040D7804E39585E47316E61276D2024E7449C8828E80194E9090E304921E18200E22312D6160D8300E31074E50300D2429D4007A8E61633D8606E76145D8044C213F405256E15522E26778E3300D42179E58063E68556E72900E8368C4016E92575D9284F5213A459D3152D7535E39330E53319E60997D2627D5699D9343E7444C7931E84821D6443E9803E607978E14113E23431D5827D9203E30403D7374E43046E68118E87247E90018D3940D4815F704180D8764E17258E30805D3451D4924D6723D7092E50412E95102F809777E2106B538E34155D82C49933E68108E70345E94320F904469E16401E3034C1229D5434E56512E70611D5314E95273G7007105E1074C1715E21315E42505D3180E53871D5344E61511E83210F101832D4630E15575C973D9142E20512E32349E5284D60778D8514D9670E7252D95861D8732F209439E31841E41623D3151E56135C334E65642D7041F300735D85C10367D3348C786D8031E22745D747D4202C9495E51133E64101E83714E90589B90F406863E12656E21075E33748D6476E44964D5295E57534E69904E78723E80144F507488E11832E20316D422D34148E57626E61138D4005A6A7A8A9B10A4A5A6A7A8A9B20A3A4A5B31A7A9B42A7A8B51A4A6A7C200A1A2A3A4A5A6A7A8A9B10A1A2A3A4A5A6A7A8A9B20A1A2A3A4A5A6A7A8A9B30A1A2A3A4A5A6A7C305A8A9B14A7A8B20A3A5A6A9B35A6B41A2A3A8A9B54A5C401A2A3A4A5A6A7A8A9B10A1A2A8A9B20A2A5A6A8B51A2A3A4A5A6C504A5A6A7A8A9B10A1A2A3A4A5A7A8B21A2A3A6A7A8A9B31A4A5A6B41A2A3A4A5A9B51A2A4A5A9B63A5A7A9B70A1C608A9B10A1A2A3A4A5C702B65B77C809B10A1A2A3A4A5A6A7A8A9B20A1A2A5A8A9B30A2A3A4A5A7A8A9B40A1A5A6A7A8A9B52A3C901A2A3A4A5A6A7A8A9B10A1A2A3A4A5A6A7A8B20A1E76645E80756D2948F620434D6500E30732E75138D9169E84215E94547F721209E3196D42478D4402D5740C919E5068B912D2990E80349D1520E92478D8171D9519F803172C970D6313E12118E20550D9468E4434D69028E90974F900001A2A3A4A5A6B20A9B92A3A4A5A6A7A8A9C199D1000E31734E53640D5049D7847E70940D883D84162C331E91342G8007744E33121A2A3A4A5D5986E41940D9541C934E53381D7522F10071C7923D9772E16136E20068D4994E42739D3903E67722E73725D9121E9470C9696F203732E10374E47752E5890D65153D7552E75183D7918E80762D9717E96564D9233F318146E25384E31564E63525D9349E83368E95123F411870D2161D833D30673E45524E50736D9905E6170C8214E79725E80590E91199D2752F517737E20918D2377D5760D8901E32954D8445E52107E62933D8567E72779D6155E89847E90361F601126D6913E43567E67773E70435D9204E80149D277D95361D9854F723936D82C30226D7148E42075E5465C7297E61908E77931E83169D4726F814750D5069E34303D7163E44957D8158E91741D8779F91471C6461C526E42059D3357E55728E60450E73775D5369E81606D2356D8538E92735D9506G9000945D4808D605D15A9325E24589E33131D7517E41729E91951D436E109382E11158D8197E2064C2311E31963E53655E63598D8895E75982E80960D345C5163D8539E91307F229392E38953D9728E46582E56679E60991D1576E71553D5698D6790E84521E99733F303359E43610E57122E73426E87565D9320E92286D9168F432962D9590E40937E54112E68724F505816D7162E26584E31794D7362E4901D52864E64736E81190F618799E48965E72388D4352E80372E95323D9564F701395D3254E11336D2330D9977E2721D30727D2186E51093A4D3577E61138D5115E74685D8366F806198E17919E29561E38559E5011C3199E90958D2082D7277F900763D5966E10367D3299E56951E67326E78267E80304D4786D7731E96157H40003819D5099D6873A5A7A9B81A2A9B90D8450A5B65C541A2A4A5A6A9B50A1A2A3A4A5A6A8A9B60A1A2A3C609B12B26B30B41A3A6A7A8A9B50A5A6B74A7B80A3A8B94A7C721A5B34A6C809B11B25D9014A5C154A8B60A2A4A6A8B70A8B81A4A7B90A3A6C207A8B36A7A8B40A1A5C322B86C401C510A2A6B20A4B59B60B83A5A7A9B91A3C625A7B31A3A5A7B69E12727E28305E44918A9D8324E61558E89744F110009E33511E40448D3123E55554D9926E60226D4421E72183D398C7746E89917E96604F200834D4620E13117D7358E25398D7329D819D30018E40595E52269D3382D68C67580E79770F318957D928D20754E43749D8946E50910D199C2445E64916E71092D4923E83551D4720BB7124E92714D8073F410110D838D2268C8851E41990E50317D3765E65719E73581F502912E16623E22482E42825A6E5337C5959E75313E8065C3194E91390D313E605147D7210E19741C825E33297D4253E40057A8A9D256D59562E63548D6140E72993E8622D95128F703222C393E2687D32515D6921D7112E71118F81094C665C7915D825D26495E30387D8625E44552E54824E67519E84383E94584F907115E16023E21545C744E33924D7767E41889D5356E71261D5243C574E91587D8517G1002238D6930E39846E44418E61625E77745E89128E904A784D1257D7056D8335F113025D4306E28647E39112E41943D2615E58734E60533B95E72955D5645E81774D2875E97012F201386C555E18256E24658E30939D4315E49545E69771F30270C6080D7269E29458E56845A6D9411E67003E82147D6308E92891D6436D8771F403766E10651D820B852E20027D2426D6869E31329E40148C817D2341E56841D852A79E70137D5424E82598C64D93640D689E510920E46B54273E62624E87307D9166F613948E2088B959D8550E39001E8871E705642E22932D9254E35184E41922E53322E62634D7843E77B82653D474C8781E9849E803903E30887E50466D5169D8121D9700E67019E72150F902352E16534E25941D696C7278E30553D3425E40225D9033E52656E78142G200110C2073D6475D9836E15635E23223D4143D9847E35044A5E52439D5234E6964D71342D9445E82363F10001A2A3A4A5A6A7A8A9B10A1A2A3A4A5A6B21A2A3A4A5A6A7A8A9B30A1A2A3A4A5A6A9B42A3A5A6A7A8A9B51C108A9B10B51A2A3A4A5A6A9B60A1A2A3A4A5D10434E2009B14A7A8A9C201A2A3A4A5A6A7A8C300A1A2A3A4A5A6A7A8A9B11A2A3A4A5A6A7A8A9B20A1A3A4A5A6A7A8A9B30B41A4C9512E43067D9850E55488D636D67046E72465D5079E99039F233477D7854D9546E56406E7096D80216F303365D620C9337E1000A1A2A3A4A5A6A7A8B10A1C4669E28171E38879E48802E52091D85C64257C374E705B8577E86471D8271E91240D451E41001A2B10A1C8084E25831D9678E31843E44868E61852D3414D9671E72002F502956E17468E2828D34368C84D41548D2842D8470E51040E62690E77802D8427E9068C1472D2719D34B6828D8242D9677F600274E25254E47539E64989D839D71151D9662E82609D5062F703248D9949E13844E37833E76855C960E90071D3609F829885E51643E68711E74792D8636E80485D3273E99204F901635D8201E21475D5441E40404D1100D5701E56963E69214E94702G3002864D4235E11492D4054D7476E34264E40603E61293E96270F114901E38260E40791D7039E75027C858E91636F218406E25434E30671D7273E41495E50041D6007E62273D6605D8675F316238D8266E3086C2022E40443D1600D811D52213D427C645C9262E78076E83478F405287E11769D3875D7563E22537D6903E34803D6049E52193D5065E64884E76205E87744F500484D9019E13897E28009E30283D4808E43777E7063C3231D5579D7607E80269D2229D3400D6926E98843F641473D2620D4025E58697E61068D4494E7330D94075C481C650D7559D8897F708041C640D9490E11255D4890D6289E22862E30887D9056E48308E51755E6658A9D85278E91861D3530D7906F803845E13459E39002E41694D5801E57222E8680C9633E98403F905751D6884E12676E2470D30492E59432E73174E94202G4000001A2A3A4A5A7A8A9B11A2A5A7A8A9C101A2D1003A4A5A6A7A8A9B10A3A4A5A6A7A8D9443E26393D8461E4099C6281E52074E72894D3668E88292E95762F125452E33040D9064E61893D3252E7407C8886D9224E82827D6624E90146F203504D9392E21928D3284D7727E36692E50812D6816E73680E87299E97127F308317E30098D488C5251E41034E52516E64077C207E94295D7496F40873D24095E30454D6472E40058E51698E6672D72639E81227D7250F50854C9898E19536E36921E84775D6426E95286F612603E32120D5489E40691D4529E56450B91E6015C3232D5365E76200E80819D2448D6185D9688F702857E10391D6890D7069E29197E4060D62290D3025C696E71289E89585E90889D2253F800181E11425E22037E3989D60890D5098E74522D7690E83600C830D7817E91812F901281E10027D3552E20699D8016E35634E44304D7065E54628D6694E68459C687G5010690E23678D5640E33006E41488D2329D5866E64756E72394D8193E82499F103815E18716E21025E33463E41013C844D8985E59319E78472E84165E95443F206713E15225E21020D2299E47637E82603D3341D6019F305419E11864D3724C993E54718D8284E83307D826E410988E25051D651D39263E50218D2224D683C8027C54D62639D7446E83489E9095C6268F50066D31624E47649E84727D6855E91967D3005C826F620686E44898E51298D3036D9520E62855D6710D7991E74286E88586F702014C357D5025E11266E25480E30592E46801A2A3A4A5A6A7A8A9B10A1A2A8A9B51A2A3A4A5A6A7A8A9B64A5A6A8B70A1A3E78242C932E96834D9901F801022D3070D9008E12361E36982E69829E71897D48B638C7457E85288E94482D5206D8858F906428D9477E39611C841E43123C516D5685D8430E50291D5628E60523E74017E85838D6603G6005939D8667D9906E31686D5545D7213E44841E52429E60017D6477E83111C380D9249F104361E1269D28076E30346D6942E4116C5256E59582E69154E73679E81000F232525D7548D9604E47282C516E53216D9438E63076E70000A1A2A3D1408D2804E90741D1010D4982F303688E37945E63422E72010E8410B403C672F404281E11259E25662D7957E35376E48938E57856E61247E74915D954D80475F500985D2013C744D8640E34755E52140E64088D5218E71052D2756D6366E89034F606977D9443E13515E47144E52477D6406D7337D9709E60187D8237F700124D1379E10683D8686E96664F809548E20049D1314D617D33854E48859E64967E74015E97277D8368F910446D8794E24949D5518E4209D55770E61802D7601E84349D6414A5A6A7A8A9B20A1E99905G7013502E21196D5270D7714E30842E60154C347E75569D7318E84486F106439E11934E20245D1070D6872D8571E50851E71541E85546E98668F217354E22536AC6949D8077E33801E47413E64717E74077E95267D7616F319141E2017C5505E46782C845C9B9310E55498E60060E72349E93199F40489C8488E15292E32275D5107D6247D9573E53433D7347D9126E74172D5363E80070D2043F500000A1A3A5A7A9B11A3A5B25A8B30A1A3C501D4322D7260D9999E10001A4A7B10A3A6B22A5A8B32A5A8B41A4A6B50B88B95A6A7A8A9C100C201A3A5A7A9B11A3A5A7A9B29B39B41A3A5A7B50B65A6A9B73C303A7C402D1101A2C919E20013D9357E30021A2A6A7B31A2A5B40A2A4A5A8B50B61A2C134A6A8B40A3A4A5A7B51A3A7A9B61E50003A4A5A6A7A8D1100A2A3A7B11A5B20A4D2431D4018C352D6396D8785E6629D70003D1269D7900A2A4A6B10A4A8D8901A3A4A9B12A4A5A6B22A6B30A2A6B99D9901E80003C345E91001A2A3A4A5A6A7A8A9B10D4192C939D6607D8771A6C941F606319E58964E60516D4723E79935E87766E93640D5416D9948F705572E28740E31128E41109E54278E66694E78083E9091C5344F810543D9246E26112D9960E40168E52924A5E6063C3787E70325D9985E82565C774E97376F922711D9865E42531E61808D3370E85614D6555G8015771D7809E32131E48590D9769E7253D86335E92532D4997F10585C828C9103E15277E30397D5190E44509C778D8828E50362D2161E79391F202661D6762C94D10156D4588D6773E29808E52330E76469F305365D8134E10593E33324E43627E55999D6796D7738E65709E72950D861D81268F411996E21595D2921D7163E39321E44114D5393D7192E53776E61764D8330E8423D9037C7555F505422E19867E31733D9234E46368E68432E7085C6971D9379E82558D8176E96760F605591E1205D33301D6108E42904D9353E53261D9020E75364E80970D6504E9446E700891E12195D6139C527E37767D95C42406E66543D8179E70333E83998F800175E14566E29461E68994F934760E40337D8935E64966D788D76825G9003308C716E10598E33797D6338E4633C812D6301C4413E80532D2032D8914E94491F127943E40998D4107E54689D8617E8855D91560F20010C4190E17579D8300E3662C8328E49907E51811D8578E67971E75969E9256C6203F306994E1121C562D28340E66157E70026D4988D5719E89190E94035D8568C90E41482C7509E30782E41499E60512D9105E77180D9374F511705D4333E22489E51909E63947E75521E87034C396F600724E33574E45921E55592E69730E74183E80980D1811D4352F702428E21904D9312E52795E71608E85720E91927A8F808196E14180E23708D6746E33312D8105E79995E81766D5567D8191F905576E1081C9798E30315D6169E41059E59355E64567D6326C595E80185D619D98907H50005218C633D6660D8300E32342E45299E74392C522D8320C509E88247C36E10422D22883E39096E40163E52549D5385E64989E76820D9591E85950D6558F213848D5517D8101A2A3A4A5A6A7A8A9B10A1A2A3A4A5A6A7A8A9B20A1A2A3A4A5A6A7A8A9B30A1A2A3A4A5A6A7A8A9B40A9B50C201A2A3A4A5A6A7A8A9B10B20A1A2A3A4C305B10A5B20A5B30A5B40A5B50A5B60B70B80C480C505B10A5B20A5B30B75B80A5B90A5A9C605B10A5B20A5B30A5B75B80A5B90E20105B35B40D1105B10A5B20A5B30A5C200A5B10A5B20A5B30E43722E59460E6221C3751E75295D7973E87060E92967F304345E19138E23155E54944E66775E71210D726D83626F400231D7691E12166D8970E26119D7388E33147E57953E70982D4354E82813D5594E91121F501121D644D2212C7144E3103C2786E46208D8657E54729E84941E93156F604950E13779D5578D9462E21530E75040D884D84552E90129D2511D6588F702124D5071E12728E20316D5996E32780E55B66506E81944D5356E97682F810455E20852D3978E47759E63093D6755E7128D93987D6944F901852D3514E13601D6353E20465E30991D3533D9127E47142E51359D7346G1020079D3024D8231E43053C243D7350E53997E85303E91138D7887D9515F119924E24303D6152E92573D4046D6174C805F205763D8046E25407D7866D8280E32472E54277C980E6490C7887E75027E82878F30393D16684E24455E3471C5426D9637E45461E51302D5346E65514D9889E71017E91183D4546F402177C908D5049E12776E35705E49743E52091E74037E81927D2758F510279E31505D4754D769D49976E54871D5725E62916D6770E89188F606429E16747D7185E30558D2798D8941E44030E70553E84157D6645E97825F701885D6604E17541E28779E73900D985D82995D6039E90181F808422E14159E27737E3693C8385E49216E52507D5378D8200C306E65604D893E912531D6032C853E25772E33043D4376E45556E62254E76476E87571E93760G2022648E35300D8272C441A2E40216E6415C8432E77741E83044D5072E90844D7679D8461F101615D5192E12003E21290D8900E40003E55219D8283D9691E76579E82715E98054F20687D22372D8131E40819D8570E63685D5835E77807E86175E96675F30799D19752E23207E39733E40274C444D6240E50806D4896E67652E70835D827D94047F404456E17194E30902E4497D67217E81437E96105D7105F500000A7A8A9B10A1A2A3A4A5A6A7B20A1A2A3D1000A1A2A3A4D2000C677D3000C575D4000E110B2994D8793E34264D985D5013B973D1211E71838D5195D687D80001A3D4282D9809E9518E601736E24755D8687E48457E5750D65542E75689E84508F702748E14670E38610E68103E86469E92430F800428E17046E23314D4910E33089D4429D8896E40267C598D653B880E5665D60176D9807E75873E8597E900000C379D4476E13738D803D27340E45066D7044E62804D3531E71673C944D7572E8175F3025096D7855E39326E46408E54833E63039E77251E90623D4821F100061E12492D6300D9267E29443E36004E43898E52590D3481E62898D7658E80020D3600D4342D639D93261D9020F208660E39672E41226E5155B824D424C7892E65336D6486E74132E91093D3545F303460D9998E18263E34471E41729D7303E63708E75573E8223C8413F408006E17695E61122D6826E85634E90455D3204F503015E19297E27835E30069D5814E40729E50467E67095D9894E73406D7438E81214D2587D6134F606874E10653D647C816B293E20899D3827D4265E56677E66449E70497D8698E93416F701001A2A4A5A6A7A8B10A1A2A3A4A6A9B20A1A2A3A4A7B30C259D235C3001A2A3A4A5A6A7A8B13D7001A2A3A4A5A7A8A9B13A4A5E11001A2A3A4A9B10A1A2A3A4D3014D656D24621E3478D6159D76525D8229E97637D8001A2A3D9001A2A3A4A5B12A6A8A9B20A1B32A3A5A6A7A8A9B40A3A7A8B52A3F804307E19028C808E28396D9412E30602D2650D9837E42431E55409E60621D5474E71273E8481D90795F921056D7679E32291D6268E44920E56001E82768D9821E9521F4031490E40221C484E5694C9040E88068E94821D8121F100561D9233E12932E35423E49433E61401E75023D8050E85227E99839F239282E41725D8491E50060D7392E66211E83059D9683E97661F306223E20860D6448E38958E40229C80C3893E51224D9696E60049E74642E8492C7923E9384E407825E15063E23935E46813D7022E51023D5435C664D8867E84652D5355E90275D3213D7620F507222E12827D4594E20292D5057D7349D9134E37489D9105E63536D9495E781A613D9801E82424E91086F615781E20698D9413E31665C834D5862E4695D52250D8815E6615D93926F700519D4216D6054E47648D9427E62426D6667E72065D3234E9217E807656E13225E28837E44990E60010E78498E80296E95237D987E903668E12977D3680E27180E36498E41203D81A20D59865E65929E74237D6796D7057E8296F5001420D8284E10259D3285D4050E34079E46718D9722E51920E63681C751D791D72170E99248F100740D6249E17418D9278E36228E44522E54048E68550E9829E204071E10709E26153C821E41609E56016E62310E71628D7252E89183E91359F312487E21970D6322E37339E43236D8096D9375E51724E75684F401221E10871D5564D6843E24270D8242C811E44629E61064D5441E88859E96220F501446E38156E4990D50921D3602E6499C668C7161D9674E73346E86621D9254E91586D9882F608151D911D10595E23480D4610AD73611E90251D1901D6885F702233D4856D5473E13623E25117E35315D7443E42055D9927E58589E61792D2976D3552D6177E73067D649D84832D7576E94644F818463E21894D4220E38342E70497D5323D8038A9E85348F92689D36191E48544E69226E76207E82698D5014E91637D7110D8462G6001930D3780E43446A7D9970E51648D2205D8749C888E6466D74358E9226C4445F105047E11151D9752E20475E32807E61953D412C6150E74248E96385D8785F209279E23084E40989D6017E52810D6517E60110E8232C3725D6179E94501F308388E21639E39050E42351D3672D6071E50972E64287D9281E87350E99890F401775D330D10040D251D21754D7559E33456E5210C41C60688D1575F50082D11382D4812D8311E24813D6564E32632D5497E62619E70271D4543D7312E85883D8755E94520D7272F605802D6928E11470D9314C778E41453D7086D9609E73480D5280E81873F704140E13174C552E2432D46202D7793E69674E73577E84842D9759F804361D9158E18977E24871D7051E30749D9613E40658E56951E89B94757D7896F907986E16805E20308D1677E31015E48373E7558D80148D1417D4514E93276A7D5655G7006589E19473E30525D6718C82D43986D6845D7293E62206D9605E93995F103969D8202E15864D6033A4E35971D9487E43342E60136E82235F201737E38939E46528E61568E70476D2170D4196E8014C1778D8708F300000A1A2A3A4A5A6A7A8B16A7A8B21A4A6D5373D8711E12333D9935E20001A2A3B11A2E30001A2A3A4A5A6B10A1A2A3E46400D8141E54389D5219E84901F405307D9948E16183E21866D5061E33966E41100E58399E70761D3560E82479E96978F523313E43573D9932E512B4544E68840E79381E8500B212F605303E10714D7178E24336E3020B503E47597E62975D6212E90191F722593D8570A1E31460D4012E53602E61191D9391E74843D7714E82164D4563E93869D502E80210D15601E23578D7484E31349D5716D6546D9750E44634E69175E82509F902193C462E16305E35140E53380D882C980D62537E70721E95165D6334G800031D12107C707D5506D6954E54262E62306D6722E71123D4572E92907D8303F116537E20309E31925D2856D9128C997E53103E65765D9731E7857D8294C5394D798D92742D9906F206034E42947E57569D8899E68433E70977D2005E97729F314394E24930D914D30108E46901E63151D9990E74502C719E83100E92024F400390D6094E19204E21530E41120D6973E53942E6183C4739E71134D5908D7767E94728F51097C8520E31587D8870E43073D9532E51308D4959E69561E77036E82979D9739F604027D7704E16392D892D21589D8539E41905E55504D7303E85438E95102D6829F753372E60121E75978E86132D7301E93369F807980E18411E20853D7995E31685E43503D4135E51034E61941E73391F911105E21041D4378E32615A6E47797E81727D4738D8903E90362C631D6430G901497C9082E23523E42331D8135E53232D4773D7152C953E70329E8650E123937E4184D5629B966E60188E85998E97169F228631E35795D7154E51766D8334E77750E81822C922E90628D7550D801E305593E12550E32125E44077E64406D8956E71387E80081D3041D5322D8357E92529F419719E32181D8930A1E63312D4593E82302E90397D6924F509952E14116E46528C797E60625D26B3768E75539D7547E93925F604521D51C16123E40711D4958E50656E87381E95933D9355C57E707204D8927E18521E2394C4555E3663D41415D4639E5022B328D5122E62399E78096E84896D5059D9370E93705D7187F808784E11955E20352E34564D9761E51535E988D90062C5358D7935E11557D3418D9307E51714D7503E65151E75920E83499D840G60002001A2A3A6A7D4971E18643E33398D7599E71928D213D80151D2869F102563E50501A2A3A4A5A6A7A8A9B18B25B33A4B40A5A7A8A9B50A1C601A2A3A4A5A6A7A8A9B41A2B98C721A2A3A4A6B98C801A2A3A4A5A6B10A1A2A3A5A7A9B22C901A2A3A4A5A6B31A2A3A4A6D1001A2A3A4A5A6B31A2A3A4C101A2A3A4A5A6A7A8B96A7A8A9C201A2A3A4A5A6B96A7A8A9C301A2A3A4A5B51A2A3A4A7C401A2A3A4A5B21A2A3C501A4B51A2A3A4C601A2A3A4A5A6B21A2A3A4C701A3A4A5A6A7A8A9B10A1B61A2A3A4A5C901A3A4A5A6A7A8A9B10D2001A2A3A4A5A9B10A1A2A3A4A5A6A7C301A2A3A4A5A6B21A2A3C601A2A3A4B10A1C701A2C811D9901A2A3A4A5A9B10A1A2A4A5A6A9B23A4A5A7B32A6A9B42A3A4E61788D2470D8186E87739F202749E22213C582D371C6558D8941D9110E34913E46171E58960F303688D6104E12997D6373E49525E65591D9732E75194E91791D8723D967B954F406591E10769D7395E31417D3216D4101B89E48701E61077E70713D3572E82781F508057E14625D9422E30944D4585E49248E51528E77362E89682F600126D6759E1630D21361D7999E43553A4E66820D8166E75348E81103D2203E94662F709218E15406D8396E28397E41115D3819E5533C801C9087E64581E7601E802233D6437E22251E32978E62676D6277E76124D9050E80471D4672F912752E30169E42444D4809D6968E50180D3118C949D4556E67717E90740D9392G1000000A1A2A3A4A5A6B10A1B30A1A2E11311D9812E27400E3114C2879C94D44390D9315C68D68510E89209F12401C7349E32951E56777D9609E60289D6988E73621D5706E81383E90918F201220E115C31400E54509D7789D8740E69611E83655D460E314842D8483E20914E3894D70518C95D80658E91302D7885F405855E11502E20130D213C488D41708E54890D9246E65001D6310D8779E72381E8016C8417F505339E25276D8025D9473E38782E57074E83217D7183E92395F606250E13388E22107D3148E32317D9289E50133D4098D6650E77004D9541E92648F705417E2122D37116E40673E57117E64082E77313E8850D91132F802346D7040E18176E31093E40587D4784E50482D4111E6304C4793E84774F901281E12252E36647E48106E62135D5407D8753E76639G2007535E15408A9D7867E22479D3839E3182C4800D8047E54060D579D98216F107612C981E13340E21A5438E4884D54416E61698E71834E80201D8962E93699F200001A2A3A4A5B23A4B33B40B54C831D1001C847D2019E10001A2A3A4C247E56492E65044E71284D9055C666F306203E12469D5111E25062D7910E37487E40868E70023D6646D9337E83431E93472D7231F403074D5028E11042E20419E34031D7430C709E72614D3983D6197C815E81203D7836E99965F514770E28292E30723E43393E6844D87693F60554D23659E32427D3180E45025E51957E71448E81049E94833F701967D6865E29173E42651E53201E62898D588D82218D4717E93020F829077E34295C72C5876E49088E50093D791D67251D8900E78208E86670E92347D3810D5219D6588D9696F950604D3041D7424E62630D6332D8263E7941D80542E91886G3009228E12333D4935D8036C132E31396D5430E49052E53267D6220E60238E92423D986E102017E1717D20904D5616E42001D4961E62310D6095E75639D6202E84227E93536C879F20631D11608E23260C467D4564D7401E33638E51695D3763D7623D9351E74863F300440D307C8047E23539E56631E62460E7436D91643D4872F413494E32835D408D42604E68625E77921E85233D7632E92244F509474E1548B678D6460E28891E3603D45455C861E71750D341D83431E95262F626024E30268D3694E44830E65606C875E76256D785D8038A9C9843E95531F703130E17421E216C30624D7050E41331D519C9102E89924F804637C806D6265E21877E45230E51864D4005E75853E81033D3999F90406D41210D2761D5693D8258E56833E72571D7008E92027D5093G4002884D512D14615E25981E34255D8662E43465D7146E61284D3868F107820E16319E45892E54377E60836D1630D3367E7578C8424C868E84058D7086F202399D3620D7696E38008E62809D8668E71667D4292E80356D3880F300001A2A3A4A5A6A7A9B11A3A5A6A7A8A9B20A1A7D6248C59D19467E25438E35804A5E42551E73401D9261C430E8003C2839D9297E98890F400161E28736D944D37633E42155E50427E96451F500000D1875D87C11793D4622E38655E50682E76557D94C91429D419E605089E27453E31466E59851E62453E81263C432E97231C431F71156D26269E30881D4090C921E49612E51286D2646D3157C988D6282E65016E88463F800000B16B42A6A7A8A9B56B60A1A2A3A4A5A6A7A8B74B83A5D1562D253C6765E15084E3224D67422E92035D8834F910482E26005E4106D52266E61254E73287C456D7888E8706D90807G5000000B64A5D1001A3A4A5A8B10A1A2A3A4A6A7A8A9B20A2A3A4A5A9B30A2A3A4A5E10001A2A3A4A5A6A7A8A9B10A1A2A3A4A5A7B20B32A4A6A8B40A8B51A9B60A2A5A9B77A8A9B80A1A2A3A6A7A8A9B90A1A2A3A4A5A9C105A7A8B10A1A2A4A8A9B20A1A2A4A5A6A7A9B30A1C201A2A3A4A5A6A7A8A9B10A1A2C314A5A6C501A2A4A6A8B10A9B20A1A2A4A6A8B30A2B46A7A8A9B52A6A8A9B61A2A4B77A8A9B80A1A2A3A5A6A7D1001A2A3A4A5A6A7A8A9B22A6D7789E20001A2A3A4A5A6A7A8B10A1A2A3A9B20A1A2A3A4A5A6B44A5A6A7A8A9B51A2A3A4A5A6A7A8A9B60A4A5A6A7A8A9B70A1A2A9B80A2A4A6A8B90A5A6A7A8A9C100A1A2A3A4A5A7A8A9B10A1A2A3A5A7A9B32A3A4A5A6A7A8A9B40A1A2A3A4A5A6B51A2A3A4A5A6A7A8A9B60A1A2A8A9B70A1A3A5A7A8A9B80A1A2A6A8A9B90A1A2A3A4C210A1A2A3A4A5A6B22D5250D6212E30006A7A8A9B10A1A2A3A4A5A6A7A8A9B20A1A2A3A4A7A8A9B33A4A5A6A7A8A9B40A1A2A3A4A5A6A7A8A9B50A1A2A3A4A5A6A7A8B69B70A1A2A3A4A5A6A7A8A9B80A6A7A8A9B90C108A9B10A1A2A3A4A5A6A7A8A9B20A1A2A3A4D1001A3A5A7A9B11A3A4A5E40001A2A3A4A5A6A7A8B18A9B20A1A2A3A4A5A7A8A9B30A1A2A4A8B40A3A4A5A6A8B50A1D6521E50001A2A3A4A5A6A7A8A9B10A1A3A7A8A9B20A1A2A3A4A5A6A7A8A9B30A1A2A3A4A5A6A7A8A9B40A1A2A3A4A5A6A7A9B51A3A5A7A9B65A7A8A9B70A1A3A5A7B91A2A3A4A5A6A7A9C101A2A4A5B13A4A5A6A7A8A9B20A1A3A5A7A9B31A9B41A2A3A4A5A6A7A8A9B51A3A5A7A9B76A7A8A9B81A3A5A7A9B91A3A5A7A9C211A2A3A4A5A6A7A8A9B20A1B31A2A3A4A5A8B41A4A7B50B63D6481D9999E60001A2A3A4A5A6B13A4A5A6A7A9B20A1A2A3A4A5A6A7A8A9B30A1A2A3A4A5A6A7A9B40A1A2A3A4A5A6A7A8A9B50A1A2A3A4A5A6A7A9B60A2D4143E70009B10A1D1001A2A3A4A5A6B12A5A8B20A7B30A1A2A7B40A1A2A3A4A6A7A9B50A1A2A3A4A5A6A7A8B60A1A2A3A4A6A7A8A9B70A1A2A3A4A5A6B83A4A7A8B92A3A8A9C100A1A2A5A6A7A8A9B10B58A9D2000A1A2A3A4A5A6A7A8A9B10A1A2A3A4A6A7A8A9B20A1A2A3A4A5A6A7A8A9B30A2A3A4A5A6A7A8A9B40A1A2A3A4A5A6A8A9B50A1A2A3A4A5A6A7A8A9B60A1A2D3001D4000D9854E80011A2A4A6B21B42A3A5A6A7A8A9B50A1A2A4A5A6A7A8E90001A3A5A7A9B11A3A5A7A9B21A3A5B58A9B61A2A3A4A5A6A7A8A9B70A1A2A3F100616E24425E49697E50219D6847E69794E92027D3366D5959D6094F236257BC40384D7798E60293D8179E77087E82484D7621F303664E14286E31686D8781E42096E57623E67484E84019C188E93205D6880F403020D606D22840E30834E4078C6452E50690D8948E71349D2618D5294D9980E96056F500515D3206E18099E2938B71D49080E6178D70596E89010E91858F612386C454E22692D3423E46587E59181E64792E81983D5470D7442F703851E37274E43242E58454E9928E801012E10489E24822E30223E44845D8811E72270D7963D8864E99613F953423D475C7473D9844E61085E76795E84457E93085G6022706E66482E73051E84673E94973F100045D4644E27916E4221C9377E6912D71432E92538D4206F200210E14679E5096D62416E8343C8028E90900F31034D22203E31855A6D7215E62965E78485E80357D6380E95299D9653B75F407907E13481E36257E51379D7138C407E99018F500065E16792D8841E26672E40884E60000A1A2E70171D4418E94927F602787D4523D7691E12323A7A8D9901A2A3A4A5A6B13A4A5A6A7A8A9E25883E61678D8900E72569D5911D7701A2A3A4A5A8A9B10A1A2A3A4D8901A2A3A4A5A6A7A8B16A7A8A9B20A2E90411F707058E12593D9324C533E22103D7115D9231E33743E40005D2250E50703D2837E62372D5023D8175E88016D9970F809920E15913D6282E35946D6598E53752E65880F911000A1A2A3A4D2000A3D3801A6A9B10A5A6A8B20A2D5001A2A3A4A5A8A9B10A1A2A3A4A5A7A8B23A5A7A8A9B30A2D855D26224D7994E38505E47414C913E57584E70385D3070E84907D9694E94718G7007102E37924D8874E45174C745D8711D9542E50396E95270F100549D5242E11213D3830E20578E3443C6033E59705E69062E96946F211766D8327E23587D5377D7834E32306D4805D7709E49508E67333E70095D3917E84107C908D559C7533F300516E10848D4110D6075E28336E3059C1360E71383D8104E81587D5964F40720D36768E41435D3336D5676E561C64807D6547D8948E83216D9919E94157F503139E11500E26112E319B2912E47370E59101E86735F616300E29977E30339E46312D709D75300E88478E92580D6066F723438D4379E44384D8760E50322D4901D7079E75894D9172F808837E20935D9249E31115D559D41515F901914E22702E34141E49763E51831D211C5331D7315D9180E64209D8069E87302C611E9227F8001309D5187D7326E18709E24506E45685D9471E54593D7622E73522D7936D8978E87897F120130E40974D4350E59562E67124E70903D1737E82934D4115E91243C756D9168F215963E23137D6653E46154E58355E80530E99524F30480A13E34074D9286E53324E6211C6996E71799E92533D5509D6778F400115D1546D6755E27465E50517D6353E62976D4358D8459E73226D7598E9042E50209C5803E16705E3254C5320E40058A9D3408E9683E601507E25727E38985E58728E61341D3748E70547E88135F722455E62510D9900E74379E86330F809475E11206D2773D5132C401D9554E23957D9754E33958E46917E60936E70276D5140E81649B50F90729D28540E33343D7720E41332E50538D7925E63107E89981G9000994D3792E1008C5963E23354D5477E35382D857C9982E42950E72185E91732D330E105797D9764E12325E22763D3138E40098A9D5169E55991E62969D4989D7267E70403D479C6131E81753E925B6160F207766E11541D7334E28245E30391E43722C953D7929D874D57165E70537D9219E93721D6555F303178D4426D746D13735D9869E20362D7790E51984E80702D1150F402394D8987E48290E52756D5834D6283E88544E92187F512157E26976D9337C567E37999E42930E50259D3552E72024C169D9761E84564D551D99136F601001A2A3E10326E32396D3792E69405E7870D80031E91901D5704D6006A7A8A9B12C601C906B10A3A5A6A7A9B20B31A3A4A5A6A7A8B41A2A3A4A7A8B51A2A3A4A5A6A7A8A9B60A1A3F700783E11728E23159D4380E50536B46E61020D4158E80745E9239B699F811710D5951E31560D2741D8592C761E46323E65139D8555E84162E90967D3315F90577D2184D31927D3858D7550E54399E75751E82329E92868H70000776E26064E43345D6172E50374D4514E74904E83592C723D4224D9580E95154A5F101178D9009E17860E22149D4586E38455E47689E56946B97E68345E80284D7958E94827D529E21574D22318D6289E31910D8111E45411E5445D61145E71583D8545E84332E98454F30340C7656E29348E33910D5319E42110D4351D5785E55994E68879E897A815E91588F406920E10002E22863D3794E4562D56282D8081E73293D9321E91682D3141F546737E60957D4929D9684E95331F624184D8672E30741E45913E55556E68285E76581E925D700001A2A3A4A5A6A7A8A9B10A1A2A3A4A5D3416E11847E44296E6131D81052A3A4A5E91313D7118F80743D21187D8912E32512E4129D56343E61343D5988E75955E9711C9775F903634D8596E14287D6046D7315E2142C4884E3411C9418E46699D8327E50698E69517E75131G1000106A7A8A9B10D2019D7216E15787E200A1A2A3A4A5A8B25A6A7A8A9B31A2A3A5A6A7A8A9B45C36835D9903E44499E60915D8263D9715E71546D4418E98407F100000A1A3B15A7A9B20A1A2A7A8B31A2A3A5A7D6375D7816E33680E72240D5527E81155E97066F200730D3602D7871D9500E18746E33859E49758E559C72951D502C8040D9983E80811D3180F315423E31215D305D40250D1529D4451D5905D8837E53388E86411E95725F400001A2A4A5A6A7B13A4A5A6A7A8A9B20A1A3A5A6A9B32A3A4A5A6A7A9B41A4A7B52A3A4A5D7486D8082E11377D3901D5349D7170E22989E38011E42223E53557D9017C861E66592E90127F50545D19605E21025D333C5232E3114D41986D4954E55408E64150C252E78874E87526E95845F614230D742D25222E45242E50854AC2522E92913D6014F703785D5144E1149C7923E34607D6213E46462E59912E82404D6742E97713D9173F80418D21687D9750E3277D61848D3024D7500E70152E80877F923655E30383D4924E50093E71554D8434E83925B9C5676G200041D147C22087D9628E43279D4448E53645D6560E60415E76281E83436E90076F129804E42276D4675E50572E71665E81263E92100F204747E37166E5792C8771E69672E78479E83691D7557E91078C412D9832F302403E18602E28962E32074E45736E55272C441E70114F402001A4A7D3299D4101A3A7A9B19B21A3A5A7A9B31A3A5D5967D6001A3A7B13A5A7B21A3A5A7B39B51A3A5B63D9000A5B10A5B20A5B30A5B50A5B60A5B70A5B80A5B90C135B40B50A5B60A5B70A5B80A5C200E10060B70B80B90C180C220B30B40C380C420B30B40B50B60C610B40B50B60B70B80C700B10B20B60B70D1010B20B30B40B50B60B70B80B90C100B10B20C210B20B40B50B60B70B80B90C300B10B30B40B60B80C400B20B30B50B70C520B30A1B50B60B70B90C600B10B20B30C730A1B40B50B60B70D2110B20B30B50B60B70B80B90C200B10B20B30B40B50B60C310B30B50C72C3000E26662D9240E39556E43568D6038E53068E90637D1806D7366D8838D9000B10F502414E20073E37897E49351E54862E63071D6043E75145E80321D9042F621670E30549D1243D4965E48577C61B810E57739E77437E8133E700231D8264D9014E10085D4226C392C461D7433E67833E72445E9373E819261E37335E42870D5813E55441D9417E81007D3039D5174E92473F903645E13666D576D29454E30878D2673E57245E89439E92744G3001017E18302E26394E40500D544C8641E5060C1941D5622E61465E79365E81602F125233E30445D4081A2D6204E46473D8972E76465D8098E92600D3552D9638F205001A2A3A4A5B10A1A2A3A4D6827E13494D6412D9648E302B9437E40432E62676E71204D5815E87067F304257E18863E33463E56503D9475E60025E7976D98797F405179E14375D7207E22829D8497E31236E68603E741C81154F507661E11233E34250E44866E51138D8460E67374E74678D5650D8229E94093D741C9290F616671E25877D8505E32127E42296A7D8243E52465E65146E80966E9217C4478D8349F702909E29209E34821D632D52131E76643D8008D9005E83043D7254F810864E20802D8446E37870E53830E60462D6096E72164D9377E81652E91874D9015F906480E11410D5051E2745D41492D770D77033D9030E88674G4003290E10769E29853E3341D5310D63034D4212D9667E7724D93656D4021D5602D792E100225E15234D7290E22412E30411D1780D7509E48483E53887E91528C942F202664D3495E10057D8258E70067D7583E98287F311226E29404E35036E64659D7458E88798F402414E14885D6026E26895E31740D908B492E40055E5307C8486E887D509280E19184E2945D30899E76482D8720E80251D2050E9013C1968F605254E11888E27016E37266E40994D1045D4400E57662E65651E77422A3A4A5A6A7E94807F701381E13516D5061D7840E28028E30899E41494E62582E8431D98297F823665D5788E39123E41885D5897D8038E50403D2097C810D4609E75003D9881E91384D323E923978D6274E52447E6001C8065E76215E83881G500772D14062E25112E41269D3725E59201E64463E78585E81613F105429D9441E16619E2044D30221D2317E41056E53328D7704E62696E80828E90122D5825D8893F209824E14390E20074D3115E49652E52099E6150D85069E92259F304793E47539E56564E61204D3626D4199D6958E72290D5465D6965E90004D2615F40107D1475C7459E21661D5043C320E34695E48086E57624E87237C47D98415D9502F500286E24092D5309E39614E59356E60629E82395F622824D372D3579D40000B50A1A2A3A4A6A7D1000A1A2A3A4A5A6D6000A1A2A3A4A5A6A7A8A9B10A1A2A3A4A5B20A1A2A3A7A8C131A2A7A8B50A1A2A3A4A5A6A7A8A9B64A5A6A8A9B70A3A4A5A6A9B80A1A2A3A6A7A8A9B90A1A3A4A7A8A9C200A1A2A3A4A5A6A7A8A9B10A1A2A3A4A5B50A1A2A3A4A5A7A8A9B60A1A2A3A4A5A6A7A8A9B70C300A1A2A3A4A6A8A9B10A1A2A3A4A5A6A7A8A9B20A1A2A3A4A5A6A8A9B30A1A2A3C401A2A3A5A6A8B10A2A3A5A6A8B20A2A3A4A5C507B10A5B20A1B39B40A1A2A3A4A6A7A9B51A2A3B60C600A1A2A3A4A5A6A7A8A9B10A1A2A3A4A5A6A7B21A7A8C700A1A5A6A8A9B10A1A2A3A4A5A6A7A8A9B20A1A2A3A4A5C801B50A1A3C900A1A2A3A5A6A7B10A3A4A5B50A1A3A4A5A7A8A9B60A1A3A4A5A7A8A9B70A1E52080D547D60578D52C72051D3220D5029E90317F702749E13017D9089E2887D3135C2622D3063E45607D904D6264D75867E82277F830094D3426E50803E78039E84822D6890D8208D9523F901113D2998E17088E37826D93C44053D6257E53262E67082E87257E91479G6004142E2840C9419E39636E45757E52811E66541E75810E80032F103404C675C94D21001A2A3A4A5B11A2A3A4A5B33A4A5A6A7A8A9B40A2A3A4A5A6A7A8A9B52A3A4E36345D7276C614E4732D7062C253D84692F202610D3291D9339E11194D4441D8313C643E24717E32340D640D5614D97408F305638E21376E4581C8260E53872E75976E82116D4284F403456D7432E16959E36988E42347C616D6915E59806E73843F500786E12652D5293E20646E32077AC9047E43119E73247E87747D9546F614003E34149E41981D7978E50663E60409E83171F704943D542D14458E21030D2334C44C8962E51255D4619E63417D6706E75123E82778E92184D4549D8740F806714E12113E30505E48240E62289D5611E71889E95648F902476D8448D9279E22029D5842E30964E72801E86005E90617G700132C7920E13169E27445E36039E44671E60848E84837D7109E98449F116346E21851E33792D5531E4344D50143D2542D3811F207191E1912D29910E35086E52217E97908F330185D560C6644E60173D3314D719D72241D9481E87463F402960D6972E11244D4722E21977D8945E32167E49773E54922D6781E62146E91079D8348F505534E11331D5704E22571D7210E38567D9547E42832E58536E61728D5204D8553E81312D4012D5513A4F600660D3950D8643E22396D5948E42288E79716F700000C1A2A341A7BA4A5A6A7A8B2002A3A4A5A7A8A9B10A1D5263A4D7002A3A6A7B10A1A4A9B22A4A5A6A7A8B31A7B44A5A7A8B52A7B66A7A8A9B80C701A2A3A4A5A6A7D9000A1A2A3A4A5A6A7A8A9E10579D4963E23643D5300A1A2A3A4A5A6A7A8A9B10D9300E32113E54169C944A5D7301A2E65001A2A3A4A5A6A7A8B10A1B20A1B30A1B40A1B50A1E78835E83947D4203E97992F826734D7521E40540D1719D7678D8740E59858E64539E76207F901552E10045E36940E72406E94337D8771D906F8004197D9994E10363E2006D33100E5147C3598AD60096D3197E80961D2039F11875D21572E61361C960E7703D84733E93831A2F202553E11862E31355E43409E66168E74190D5321F310590D6184E48934D9103E55370D8521E64470E71393E87742E91364F402798E1921D22252D3643E47174E5138D74168E86968F50740C9901E2509B10C7720D878D40593D3464E52773D6320E64023E74395D7570E86116F610936D3627E21186D5592E36495D7313E4030C2798E51105D8564E61338A9D3366D5705E8571D906B7395F700060D6415E48366E51195E65160E80140D3370D5392E92195D4994F811937E35747E45026E59567E61134D4369D8119C776E72731F910579E2180C2939E33589D6551E42513D9372E84772D6941E90927G902349D59098E68663E72916E80761D6452E94383F106360D9599E26789E3375D4843D55167E61790D9622E76962D8930E82538D5500F205581D6750E2915D34734E5734D79397F306385E23590D4191E33300D5209D7169E5043D71897E83919D7392F400597D2185D7975D9334E18153C928E41381D4933D7365E73793E91903F514956E23365E31196D868B761E44790E55535E69173E71449D5620E80323F613121E29370E36594E49195E9770C8395F703905D7116E18768E24755E57784D9367C861E66336E77187E83880D5958E94767D6561D8060F814787D6536E44764E50798D2326D3073D6792E61914D397C7938D8386E70141D5176C526E90560F905468E183C22118E65360D7395D8632E72330D9666E97591H80019195E33124D6543E45583E75749F101899D2359E41055C480D3954E61395D3754D8720E86010E90753D3355A6D6387F204957D8158C323E30510D3946D4301D7445E44114E50185C319D4726E80737C944F304126E12545D6585E35817E44569D697D52158E67387D8942E8143E402389E1569D41106E57744E76891E85722E95985F513550E29459E38728E49379E51130D5062C116D9548E60728D6312E7630C7258E8240C4548F600490D4091A2E2132B422D7281E30522D7190E51316E78380E81226F701178E23580D7721E41828D4121E58812E69747E70678D6622E8366D94697F801743D2524E11661D3021E25553E31552C721D9052C25D63132E85284C324D7714C952F908502E1563D21533D5836E55168D9027E65043E78111E87696G1000000A1A2A6B16A7C306D1016D2000A1A2A3A4A5A6A7A8B16B80A1A2A3A4A5A6D3000A1A2A3A4A5A6A7A8B13A4A5A6A7A8B21A3A4A5A6A7A8B31C100D4000A1A2A3A4A5A6A7A8A9B10D5000A2A3A4A5A6A7B11A2A6A8A9B20A1A2A3A4A6A8B71A2A4A5A6A7A8A9D6010B90A1D7006B13A4A7B90A1A2D8001A2A3A5A6A7A8A9B70A1A2B99D9021A2A3A5E10001A2A3A4A6A7A8A9B10A1A2A7A8B21A2A5A6D1000C100A1A2A3A4A5A6A7B10A1A2A3A4A5A6A8B20A1A2A3A4A5A6A7A8A9B36A7D2000A1A2A3A4A6A7B10A2A4A5A6B20A1A2A3A4A9B30A1A2A3A4A5A6A7B40A1A2A4A5A6A7A8A9B51A2A6A7A8A9B60A1A2A4A5A6A7A9B72A3A5A8A9B80A2A5A6A8A9D3001A2A4A5D4000A1A2A3A4A6A7A8A9B10A1A2A3A4A5A6A7A8A9B20A1D5000A1A2A3A4A5A6A7B10A2A3A4A5A7A8A9B20A2A3A7A8A9B32A3A4A5A8A9B43A4A5A6A8A9B51A2A3A5A7A8A9B60A1A2A3A4A6A7A8B70D6000A1A2A3A4A5A6A7A8A9B10A1A2A3A4A5A6A7A8A9B20A1A2A3A4A5A6A7A8A9B30A1A2A3A4A5A6A7A8A9B40A1A2A3A4A5A6A7D7000A2A5A6D8000A1A2A3A6A7A8A9B10A1A2A3A4A5A6A7A8B21A2A3A4A5A6A8A9B30A1A2A3A4A5A6A9B41A2A3A4A5A6A7A9B50A2A3A4A5A7A8A9B60A1A2A3A5D9000A1A4B72A4E20001C140D1000A1A2A3A4A6A7A8A9B10A1A2A3A4A5A7A8A9B20A1A2A3A4A5D2000A1A2A3A4A6A7A8A9B11A2A3A4A5A6A7A8A9B20A1A2A3A4A6A7A8A9B30A1A3A4A5A6A7A8A9B40A3A6A7A8A9B50A1A4A5A6A8D3000A1A2A3A4A5A6A7B13A4A5A6A7A8B20A1A2A3C34C4000A1A2A3A4A5A8A9B10A1A2A3A4A5A6A7A8A9B20A1A2A3A4A5B31A2A3A4A5D5002A3A4D6000A1A2A3A4B70D7000A1A2A3A4A5A6A7A8A9B10A1A2A3A4A5A6A7A8A9B20A1A2A3A4A5A6A7A8A9B30A1A2A3A4A5A6A7A8D8001A2A3A5A6B10A1A2A4A5C112D9000E30001A2D1000A1D2000A1D3003A4D4001A2A3A5A6A7A8A9B10A1A2A5A6A7A8A9B23A4B83D5001A2A3A4C362D8000A1A2C234D9001E40000A1A2A3A4A5A6A7A8A9B10A1A2A3A4A5A6A7A8A9B20A1A2A3A4A5A6A7A8A9B30A2A3A4A5A6A8A9B40A1A2A3A4A5A6A8A9B50A2A3A4A5A6A7A8A9B60A1A4A5A6A7A8A9D1000A1A2A3A4A5A7A8B10A1A2A3A4A6A7A8A9B20A1A3A5A6A8A9B33A4A5A6A8B41A2A3A5A6A7A8A9B50A1A2A3A4A5A6A7A8A9B60A1A2A3A4A5A6A9B70A1A2A3D2000A1A2A3A4A5A6A7A9B10A1A2D3000A1A4D4004A5A6A7A8B15A6A7B21A2A3A5B33A4D5004A5A7A8D6000A1A2A5A7A8A9B10A1A2A3A4A5A7A8A9B24A7A9B30A2A3A4A5A6A9D7000A1A3A5B13B90D8001A2A3A4A5B10A2A4A6A7A8A9B20A5A6A7A8A9B30A1A2A7D9000A1A2A3A4A5A6A7A8A9B10A1A2B90A1A2E50000A2A3A4A6A7B50A3B71D1000A2A6D2000A1A2A3A5A6A8B71A2A3B90D3000A1A2A3A7A8A9B10D4001A2A4D5000D6000A2A3B71D7004A5A6C455C959D8001A2A5D9524E60002A3A4A9B10A4B71B90D1000A1D2003A4A5A6A7A8A9B10A1A2A3D6751E78880E81000C900B97A8A9F105204D8658D9178E19816E28478E46288E67171E71949D2176A7D34B9446E91584D3865F210420D8874E23446E31742E4921D54059E63643D9231E75020C309D8754E9306E306186C586E1171D21206D5903E32143D6148E44070C637E54330E80218D3947D4993D5346D6177F426505E34470D9173A4E43745E70373D1108E80460D1818D322C9939E92226F510157E24756C977E58967E63416E70454D1633E87028E99449F601517E16639D8817E427C61951D5333E70445D4782E86058F752019D346C5371D6897D9748E77047E82101C376D8994E91932F810441D6475E20689D3360D5063E43628D6636E63068D6673E73903E81839E96370C771F907872E13510D9143E2327D33259E51640D4378E62318E74607D7953E85784D712D92475D4591G2003859D5435C56D12319D6179D910D35781E45034E50203D2602E65276E85295C619E9709B10A1A2A4A5A6A7A8A9B20A1A2A3A4A5A6A7A8A9B33C9401F103466D8372E12775D4013D6191E34632E40600E62616E76812E99284F204231A3A4A5A6A7A8A9B40A1A2A3A4A5A6B52A3B60A1A2A3A4A5A6A7A8A9D6000A1A2A3A4B20A3A4A5A6A8A9B30A3A5A7A8A9B41A3A5A6B50A1A4A5A6A7A8B86A7A8A9B90A1A3A4D7000A5A6A7A8A9E13171E21000A1A2A3A4A5A6B11A2A3D4001A3B17A9B20B47B56A8B60A1A2B80A2C444C646D8494A8A9C500A2A3A6A7A9B10A1A2A3A5A7A9B20B62A3A4A5A6A7A9B70A1A2A3C600A1A2A4A5A6A7A8B10A2A3A4A5A6A7A8A9B20A1A2A3A4A5A6A7A8A9B38E43738E55872D7671C940E60502D3578C74D70047E93134F301904E15772D9644E21037D4105C312E3522D40056E61206E77606E82815D5847D6016F40199C4868E19869E22049D8674E3121C2018D4071E52993D8280E66274E82194E96097D8947F51996D29174E42267E56058E62802E79942E93786F627406E33308D9107E42348E70878D140D85480E93042C917D7428F705573E32705D8277E42611D4076E5702D60689D8499E73292E91472C88E818645E21760D8051E32464E41979D390D78489E88408E96870F913020E46847E56214E62242E71335D7464E94509D9629G3011277A8E21423D7236E32858D5296D9608C729E48208E54225E61014E94004F102080D4731D7873D8603E16692E33491D5907E6565C661D90280D5035D9011F203672E1183D25447D8073E35263D633B601D9739E41722E58273E66006B92D9557E72895D4244E86340D9866E93307D5594F301414D3851E19610E26048E47294E70323E92426D504E407038E14006E38826E43619D6909E61421D4209D7607E77829F500096E12285D8674E3769D44697D6647E50869D4231D5666A7E84898F602069D4828E29030E75475D8433E82209C725F705073E15234E2133C5008E46708D7250E64718A9C996E78600F812099E28288E31356E4771D80087C473D7306F903521E28661E57459E65310A1D8380D952D80492D2270D6578E91690D4646G400623D12625E46493E55227E80938A9F103702E17021E25619E33008D6000E4337D71830D3492D7693F206435E11599D8527E20251E57639B40C883E68896E74024E85623E90642D8614F313685E27329E35863D9249E41431E61420E7145D85264D8461D9640E97023F404797E25220D8023E30165C950E42536E51804D3939E72026D8195E82694D8827E91298F504242E23092E30620D6654D9520E4126D50200E65800D9017E92800F613836E20194E36823E40866E50463D3834E73417D7654E86841E96266F71389D31222E40193D7429D9824E54430E64038D9941E78110E915B4011F808313E12868D4897D6244E24601E3333C4865E45628D7656E51250E69738E7449C7802E99094F903021D5691E14462D6669E26738E32271E5780D62466D5420D8490E70821D6088E90171G5008676E28288E32782D4450E55821E60248D6822E80048C444C55C7012F101097C228D3922E19159E2558D36114D8716E66216F215458E2996D39662E55550E9136E306040D9439E10252D3220E25774D6399D7820E46853E52446D9414E60035E74678E99281F431040E46833D8931E57355E63083E75641E89096E97611F505315E19211E20851E41675E55787E62745E90798D524C793E602018D5684E36437D8822D9257E46474E51167E68449E73903D84B9527B5D82655F704698D5804D9845E18645E42772E54829E63457D764D71019D5486E87173F800949D2526D8813E1705D21180D7713E39825E40608D7157E52291D4214E62791E76417E93201F914562E36485E4079D67160E70321E91529G6013171D6245E39057E49351E60749D2400E88138D979E100785E20751A2D4104E33013E57908E70989D4055E88410E96216D7239D8326F209650E23870D9493E77379E81779D798E308219E18356E21248D5573B96D7225D967D4636D61354E77375D9342E95581D6750F401517E21986E3186D42081D5415D9372E66163E74024E83512D9182E9148C8013F509711E16889E41496D7356E55018D9484E69121E78200E85274F605184D7583E13346E2794D43777E52646E86671E90572F742443E58915E67655E78566E80027D4733F801871D4246E21010D5114C483D7882E40720E52702E68952E71614C95D85905D9202F915847E37530E52477E62245D773D76918E8851B864E97073G7008374E10442E25064E43568D6457D7074C161E52196E6701D74380E90001A2A3A4A5A6A7B15D1930F102774D6146E12784D8301E48330E51205D625D70768E9957E209160E10505E46309E55382D7460D9933E88189E92536D4988F303357D435D13164D9876E21742D2377A8E40664D7365E50908E6823D90067C798F430304C998E68732E73172D5570E81592D3942E97553F511987D4539E23462D6784E35691E57188E64352C935D7063E71563E88741F602890D8852D9391E14611E21407D2767D4166E330B9778E49699E69904E85879F742943E56343E65315D9556E72572D4234E96900D8440F800375D4365E19421E35759D685B938E44926E5161D80531E90143F902575E10978D7187E31906E4435D73893D8805D9586E88305E90236D58B7872G8032368C456E6072C9166C597E71625D8306E86137D9103E95331F123329E32637E4959D76533E90453C790D7162F204302D526B593E10105E2710D34365D6094E40808C999D1506E64978A9E79736E83496D9295F301393C833D5978D7361E16955E32693E41502E58139E61177D329C9727E7932D92300F409165E12339D3677E2266D35542C69C8982E53933E72456E82761E94120C899F504133E13608E40324D4390E52992D9132F610708D6795D9463E43173E50530E67504E71720E85329D6573D767D93151D6724F724332D8507E3112C3579E53985D7791D971D60522E74734E89641F800001A2A3A4A5A6A7A8A9E19587E45345E51326E75132E80000A1A2A3A4A5A7C120A1C223A7B30F901771E23963D8798E35103E40154D6420A5A6A7A8E58576E75532D9991E89706E96322G9015998D9964E3700D40386D1555E55154E86566E91579C772F10971D11398D3320E27526E32148E72051E81134C369D5742D9982E90953D4033F208725E11486E22931D6534E35196E52153A7D8225C906E64428E72878F312388E20376D6990E33528E55716E62180E86122E97517D9912F405199E23971E4575C8140E50409E62956D3537E84053E93368D4469D584E51260D21713D9919E38537E47299E5148C8090E63150D7993E71015F609515E17515E21922D8781E31139B40A1A2A3A4A5A6E4854D62401C736E7776D98120F707961E18302D9143E2398D31911D2524D9383E43495E70167D4530E8197C5779D9152E92713F801755E10518D8984E32901E82100D3517E93715D9996F904598E14395E28517C7C43723A4E59682E74904E87208E97728H9000988D11152D9393E20065C780E75978F122655E35989E47755E56158E61770E73539D9822F200789E19263E38142D9723E4367B945D6973D7311E63923E8399E30160C3176D7777E11614E2529D30453A4D7190E51981D7090E61010C289D5482E74791E84300E97998F407382E11554D85C32163D4657C926E40725D4325E52877E64188E70931D460D88465F500169D2999D6641D8760E19313E57975E6100D76781E82719E92429D700E616316E40901D2597D354D54356E69991E73413E9157E724272D7556E40329B30D3290D847D6207C4875E88081E90253F807199E10762D2044D4668E35938E44184D6359E61137E73992D6561E85155D7783F908427E25163D8333E34570E51921E60358D3488D5652E7866D80792G1020571D7843E6362D70115D8716E9991E107093E10378E23920E33740D513D48083E52256A7A8E82675D8343BD231901E50514D8852E6351C9402E83212E99846F345518D9449E50799D1370E92974F405870D7982E20254D2370E38994E49144C532E5181D68551E82773F500017D1248D5214E12835E30236D4476E54542D9748E6135D80102D4698D8074E95718D6726D7389D8270D938E607976E23717E42007D6304E50245D4806E62792D3373D5064D8401E77585E91605D7229F711547D2985D8579E31841E40879D2238E54175E796C81589D2219E98373F800273E12341D9979E22647E31066E42653E62578D4689D9203E70448F903221D563C7707E32350D9608E46859E53000D7038E69909E7735D85515D9718E96584G2001300E1964D35412D9899E43888E53608E65772E79625E80692D4010E92092D9232F12051C5819E42169E70894D6681E82447F200612D4263E19931E23430C641E46806E66279F300891E27802E45028D6415E53449D96C65601D985D73006D7303D9223E91084D4653F408984D9659E11493D8590E21852E35533E50185E81084F510265D2625D497C8817E34075D6468E59258E62411E72371E86237E95545C643D7893F607427C91C9670E10868E4485D50018D2813E67214E76637D769D93205F719314E20564D3496D9410E31455D6188E46535E55808E67273E73018E84374F807548E21268D6944E41002D723D54392E68896E70717B8D81099D7027E90308F900001A2A3A4A5A6A7A8A9B11A2A3A4A5A6A7A8A9B20D1944E19429E24317E32860D3195E44626E58307E64816E70404E8235D98610G300002A3C100C307B24A5B30C405B12A7B25C520A1A2C699D13676D4827D6201D8428E20401D3479E31067E78761E85839D7299F10001A2A3A7B11A4A8A9B20A2A4A6A7A9B30C4632D7608D8297C433E24273E30021D8457E49655E51201E69863E87568E91801F211810B36D7231E20472D1206C33C4848E36220D8626E60132E7502D94869D8460F30001A2A7A8A9B10A1A2A3A4A5A6A7A8C2695E32803E43894C91C6024E56623E6190C8494D9354E77803E82620E94164D6832F41993D2162D31518C862D7091E45074D9450E51636E69007E73606F504463D6862D7434E42102D3806D555D53943D4166E81434E95154D9951F60004B19B443E55221D703D62626D5266E71934E84009F708824D9215E15853D7133E24592E30409D534C8004E47864D9093E51476D4402E75296E88854F816465E30681E50652E717C82364D9755E92436D5605F90000A1A3A4B406E12845D354D20420C745D7067E46239E66624D9023E83867G400127C4268E16752E22093D966D42337D6012E68856E73244D9037E81496E92230D6018C25B616F11399C9974E36469E41712D2993D5021A2C683E56050E60895D3677E8365B877D534C7078E92409F203886E12438D5860E20427D4458E30224E43005E53609D6039E83662F303232C87D17736E31452D350D44242E50039E65540E74859D7247E81039D8754E95649F412545D5058D8111E25169E31029D2298E46564E54495E63200E84482F535485D8053E53671E61645D8601E73223E85852E99451F620082D2638D6050E34433E56263E62235D4694D6032D7532E75535E81654D9206C635E93857F703021E16515E30900D9788E66498E70493D2232D3007E84213E93422F801854D4055D7487E20406D1366D987D45226E53057D511D61297E78265E86282F919024E33468D7430E40436D4637E50218E73028E82447E97874G5004025E26693D7497E34141E51344D425D81386D3785D4054E90813D6437F132338E66228E74353D8994E92919D4279F204084D9656E14051D8695E20856E31062D599C8394E45544E54840E65975E75432B40E80001A6B11A2A4A6A7A8B24D1259D6165D8024E91684F308449E26659E52218E60850D2816E76428E95761F40040C1059D3418E40946D3805D8692E51366D7011E66842E72621D962D92061F500396D3687D4778D7060E11642D5060D9486E3721D61280D8112F600067D338D12049D4612E21257E37655D8658E42274E58967E64204E76943D9145E97223F701283E14077E27991E35217E44531E50695E6193D72051E84434D8410D9089F81215C6395E25679E33645C83D41282E86782D8876F905259E20682D3441D9069E43058E53557D6346E6126D74848E90456D3388G60001A2A3A4A5A6A7A8A9B10A9B20B5454D8713E12004D5976E26108E3356D51150D5137E73342E99959F100333E42517D6814D8285E56729E62588D3807E82448F214561D6229D8085E2164C3501D7613E35275D9878E8664C7685F300057E16857E31676D505D45188E52326D5986E63153E7706C8317E83838D4007D5345E99967F404912E20087D7353D8622E33300D4581E57619D8440E62121E70883D4800F501677E40B53688E61011D5487E70609E94609D580C8015F606246E22984E31852E43568E53775E6558D77818E82430E93371D9830F700602D4018C974D8940E29612E33134E46083E65646E7699D82886D9758E928D802306E51799D7854E64811E72283D5080E90582D1787F907086E14272D5510E30127D8777C986E45958D7648E65364D7123E81563G7000273D1138E17120E21916D3549D4987E36149E64649E77563E91969D3037F112505E20394D7906E48796E5126B365E68905D9186E73708E82396D968E20537D11663D9708E32518D4686E40270E68402F316367D7530E42942E60116D2768E85276E96380F42784D33739D9308C806E4376D52817E66438C712E8752E518132E20701D6666D99C65997D7736E70038D4404E84500D8916E90747A8F612389D6504D7181E23219E31303D7162E42679D8103E51498D723D87912D8360E97447C678F705809E29135E38431E50534E83659E95930F803170C64C6240D9599E11903E43505E54941E6492D85363E96503F904474E1914D22283D3414D6515E40434D7705D9165C80D70833D3387E8352D97309G8020526D2050D4118E45062D9038C915E69388E75147D6754E93548D73D126725E39712E43165D7766E53934D40A550D9737E62021C242D9343E7927E204536E25108D9575E34196D9899E52586D9197E63709D6377E73947E80324D7529E99011F300000B10B30B40D1010B20B30B40B50B60C564D2010B20B30B40B50B60B70B80D3010B20E1539D36111D8152E58303E60333E71278C95C4133E80593E995D4114B4735E27577E31356D4877D7424D9949E44741D6407E56117D733D8939D94543D5314F52718D35702E52723D5327E70539E82704D5345E96596F600003A4A5E10001A2A3A4A5A6B10A1A2D795D43358D5731D9372E66339E72567F700941D7192E19226E45000E53320E77036E80137D7535E92570D5934F804359D6751E18516E27725E47704E50929E64751D5920D7329E81931D4569E91840D8173F904974D5B18572E31003D5722E54106C375D6134E7998D99181G9000107B51D2135D4583C752E13397E30164E49589E50989E64191E70951D5257E92624F10052A7A9B66B72A5A8B80A1A3A4A5A6C209B12A3A4A5A7B22A3A4B33A4A5A6A7A9B76A9B82A5B90A1A2A3A5A7C305A7B10A3A6A8B20A2A5A7B30A2A6A9B41C501A3A4A5A7A9B10A1A2A4A5A7A9B21A2A5C803A5A7B10A1A2D50062D7310E62753E71160D3029D7923E85129D8141D9322F212922D4782E34526E43014D9638E5982D61403D6988E74184E84890E9398E311109D5585E28137E30325E42953D8756E51431D7565E65553E97762F414168E23156D6088C834D7357D9730E56344D8769F510761D7131D8961E2083C3325E32708E43666E50630E81584E90524D4764D7615F600001A2A3A4A5B10B99E28747E34927E41328D5428E57399D9159E68578E74361D5356E90140F721536E33359D5427E45551D7800E85935D8587D9342E92080D5159F861526D5167E77698E85917E90852D792C9504F902789E13726E27991E40363D6920E5766D95595D961G"
this.Extra="10000030D2346D361A2A3A4B70A1A5A6A7C427C607B10A1A2A3A4A5A7B23A4A5A6C802A3B11A3D3000A1A2A3A9B12A3B23D40267E7008B12A4A6A7D8010A1B32A3D9011A2A3A4A6A7B24A5A6A7A8A9B38E108005A6B11A2A3E13037B69E51005E71007A8A9B10A1A7B22A4D4010B47B58A9B64F200855E20015D1015D2015B25B35B45E48389F365322E83554D9142F406322E43957A8F526791E47580E52026F613952E69138E78778F700212B20A1A3B30A1A3A8B41B73A7E55984F817524F900014B47A9D1014D2007D4011A2A5A6A9B20A4A5B31A2D5008A9B11D6007A8A9B10A5D7006D8005A6A8D9003B12A3E10009E20006A7C352E60419D9990A1A3A6A7E70008B11C912G1039171F1006B111A2A3A4A5B21A2A3A4B31A2B5A61A2A4B7C13003A4B24B35A6B40B99C125A9B42A3A4A5A6A7A9B50B70A7D5002A8B11A4A7A8A9B20E2104A5C204E270236F3009B10A1C220A3A4C98059F40011B3A4A5A6A7B20A1A2B30A1A2C1021C1223E5002C1419B36A7A8A9B40B56E6016A8B20E5002A3A4A5A7A8B10A1A6B2550E10448D6241E22979E4005D6001A3A5A7A8A9B10A1A2A3A5A6A7A8A9B20A1A2A3A4A5A6C605A6C902D7001A2A5C251C501E60006C201A3D46785E74673F700012A4A5A6E1006D38489E4075D90356F800006A7A8B10A7A8A9B20E2011A2A3D4022B31B41B51E9002A9B1678E5011D69228E7101A2A3A4A5B52D9001F2001021A2A3A4A5D3003A5B10A2A6A9B24A8D4020A1A2A3A5A6D5010A1A2A3A5A6D6008D7040D8008A9B12A7A8A9B20A5B33A5D9041A6B57A8B62E10041A2A3A4A5A6A7A8B50A1A3A5A6D1020A1A2A4A5A9D3003A4A6A7B13A4B20A1B56D4020C404D5000D6010A1A2A3D8004C201D9030A1B50A1E23931D4020A1D5010A1D6030A1A2A3A4D8010A1A2A5D9002A5A7A8B12A6B27B30A1A4C401E30010A1A2B21A2D1000B10A1A2A3D2020A1A2A3D3003A4A5B14D4010A1A2A3A4B20D5010A1A5D6020A1D7011A2A3A4D8010A1A2A3A4A5E40010A1A2A3A5B50A1D1001A2A3A5D2030A1A2D3030D4001A3B51A2A3D5030A1D7010A1A2A3D8031A5E50020A1A2D1020A1A3D3010D4000A8D6020A1A2D8020A1A2A3D9010A1B31E60012A6D1010A1D3020A1B51D5002B70A1D6010A1A2A5D8015A6E70011A2E80030A1A2D1010C875D3020A1F100001E29293F219047F300007C101A9B15D1001D7878E45678F421694E50071E9315C6261F533811F615446E32096E52643E78870F744567F948099E86807G3030280F108445E17073E43275E83454F22368D93158F331639F452889D5674F529466E36606E74687F722870E35899E56293F803864E57930F995824G4000004A7A9B16A7B20A6B34B60A1A2A3A4A5C135A6A7A8C306A7B71B86A7A8B97C507A8B38A9B55B64C603A6A8D1051E10003B13A4B47A8A9B63C115B94A5C215A6B37D7402E60006B12A3B20F12158D40001A4A5A6A8B11A2A4A5A6A7A8A9B20A1D2010E52862F225239E6714E306092E65823E70004B37B40F577226F6746D700006A7A8A9B21B30A1A2C101D2000F800109B92D1726A7A8B30B48B55E12471E2001D7805E970113G5000044A5A8A9B55A6A7A8C254A5A6A7A8A9B60C337A8A9B40A1A7A8A9B55A7A9C420A1A2C540A4A6C625B30B70C730A2E28680E8649D92394F16510E232745D7615E40238D8594E91624F46123A4E561463F61110D27227E61378F844566E62758E73622A3A4A5A6A7A8A9B30A2B41F914410E39229E89522G6001001A6A9B13C509D6416E37007E51717E63004A9B23E80008A9B10A9B21A2A7A9B30A1D1016A7F101076A7C101A3B41A7B85D2013D4620D5012A4B22A4A8B38C108D7106A7A8B15A6A8A9E14248E30001A3A4A5A7B12A3A4E51001E60009E72067E95942A3F21413D59549F304628E9384E400005B13A7B20A7A8A9B31A4A7A8B43A4B53B61A2A3B74A5A6E1882E507828E27176F643334E91074F86814F70006C16362E20030C200A1C300C400B30D9130E31000A1A2B60C100A1B40B50B60D2000A1C740D5000C110A1B30B50B60B70B80C300B30B40C470C600B10E55040B60E60940D1010B20B40A1A2B60B70C330C410B70C640B60B70C900B70A1B90D2090F35088D77751E82973F412721F548456F739335E45969E60003E75525F881964F994645G8001001A6A7A8D4008B10A1A3A4A6A7D6006A7D7006A7A8A9B10D8005A6A7A8E10005A6D3090D6014A5A6A7F239909E8513E326736E86170F511599D4525E5932E61629B30D66161F713100A1F832779E97163F963306D7507G9048328E66538D812E204398E61966F324993E33131E55597E69609F45387D8619E684740F747827F891310F92816D74580H20100210A2A4A6A8B21B31C356A7A8A9B60A1A2A3A4A5A6A7A8A9B70A1A2A3A4A5A6A7A8A9B80A1A2A3A4A5A6A7A8A9B90A1A2A3A4A5A6F248754E65095F343502E66274A5E74351F563387F61963D65527F785975F91298F1044178E65189F113684D707D23811E40872E75632E87631F200905E23277D5115E49921E9638E313376F410150A1A5A6A7A8E35914F501505E16908E20081A2A3A4A5A6A7A8A9B90A3A4A7A8A9C100B57A8A9B60B71A2A3A4A5B82A3B97A8A9C200B11A2A3A4A5A6A7A8A9B20A1A2A3A4A5A6A7A8A9B30A1A2A3A4A5A6A7A8D1304F858819E87175F91144D47653G203790D61412E70401E93873F100125A7A9E10647E60245F200161D237D30141A2B61E80101B61F423493F510667E93417F600017A8A9B20A2A4B32C107A8A9B10A1A2C212A3A4A5A6A7E38495E53490F804644E58242E62454F900219D8820E53211G3000010B20B50B60B80C100B30B40B90C210B20B30C303A4A5A8A9B19B50D4011A2A3A4A5A6A7A8B20A1E85002F187256F204029E2421D32295F338098E61526F454876F545031F603403E49496E56668E72629E8215C9428E93634F732205E76077E90299F874409F935886E71061E95346A7A8D8625G403771D7234D94258F11269E221808F300019B90A2A4E61622F484270D7411F550676E62458A9B61A3A7A9B72A4A6A7A8B82F672164E96097F701066E99107F842059E82256F943456G504891E119460E32288E65047E9690E200959F30830D41652E66484E73678F472513F586143F655502E82811F725326E93414F853045E62681F904894E58491G609443C6328F211048E68488E73196F304459E26541D9679F443791E5637E556950E63200E93852F65273D92769F801099D2003D3001D5002A3A4A6B12A4D6003A4B11A6A7A8A9B20A1A7A9B30A7A9B40A1A2A3A4A5A6B50A1A5A7B68B71A3A7B80D7010D8000A5A8B10A3D9000A1A2A3A4B97A8A9E16000B10A2A4A9B20A2D8006A8B11A3A4A8B21A4B31A3A4D9000A1A2A3A4A5A6B20A7E21003B11A3A4A5B20D2001A2A3A4B10E47978F949946E73555G7069566F134689F240101F315304E37596E46636F43001E548199E52504E65379F66877D93363F72236E873305G8016193F150174E68762F240337E90705F302000A1A2E15000A1A2A4A6B12A3D6006A8D7003A4A5D8000A6A7A8D9002A5A6A9E21001D2000D3000A1A2D5000A1D6004A5E46136F400508E224D57636D93363F6392C77304F776350E81003F912357E6663D81598G9065571A3B80A1A3A4A5A7B92A7A9C605A6A7B10A5E71332E85954E95552F143726F208536E96344F343734E57687C956F455728E79265F515122E52709E6282E669359F765339E8414E929832E81921H30000440C505C620A5B50D3035B45B55D5016B25D7110E10480D3035E86349F100551E18200E94529F286474F40496D39101F553005A6A8C110C215D6006A7A8A9B10D8007F604579D7616E74956E91817F700001A2A3A4B17A8A9B20A1A4E41334C503E57127C396F822527E64377G1111109E3836E226177F300000A7E13405E20433E39260E4857D85077D6180F437713F563350F632536F801517E33038A9E97444F919988E24889G2003338A9F224143F302078E55828F446630D8765A6E85271F519092E30043E59361F615065D7464E46477F751480D2319E75808F904926A7A8A9B30A5E12373A4A5E2267D86898E95007C276G3026283F129626E58448E98837F200006B25A6A7A9B30B51A4A5A6A7B73C105A8A9E2931D36860F310010A1A2A3A4B20A1A2A9B30A1C158A9B60A1C209B10A1A2A3C507B11C605E30009B10A1A2A3A4A6A7A8B33A6B49B56B60B72A3B83A6B92A3A5A6A7A8A9C101A2A3A4A5A6A7A8A9B10B54B61C206A7A8B10B31C300B19B20C410A3C505A6A7A8C603A4A5A6D1106A7A8A9C557A9B60D9003A4B21A3A5A7E40009B10E50007A8A9B10A1A2B20A1A2A3D1005E74565E80000A1D8888F400006A7A8A9B10A1A2A3A4A5B33A5C206A7A8A9B20C303A4A5A6B13A4A5A6C403A6A7A8A9B10A1A6A7B25A6B32A5A6A7C509B10A1A2A3A4A5A6A7A8B24A6C607A8A9B10A1A2A7B36C706A7A8A9B10B47C809B10A1A2A3A4A5A8C906A7A8A9B10B39D1006A7A8A9B10A1B35C307A8A9B13C606A7A8A9B10B20B55A6A7A8A9E13279E67872F500006A7A8A9B10A3A4A5A6B41B51A2A3A4C205B11A2A4A5C305A7A8A9B10A1C407A8A9C601A2A3A5A9B11A2A3A4A5A6A7A8B20C805A6A7A8C901B33B47B54B83D1205B56A8C307A8A9C407A9B11A3A5A7A9B21A3D2009C406A7E41430E6494D74806F652635E6982D91040D8022F700004A5A6B23A8B33A6B51B82A3A4A5A6C104A5B29B30A4A7B68B71A2A3A9B82A3A4A5A8B94A7C200A3C307A8B10A1A2A3B34A5A6A7B44A5A6A7A8A9B50A2A3A4A5A6A7A9B60A7B72A3A4A8B84A5A6A7A8C412A3A6A8A9B27A8C707A8A9B10A1A2B28A9B30A1A7B70A1A2A3A4A5A6A7B84A5A6A7A8A9C800A1C917B35A7A8A9B40A1A3B66B99D1000A1A2A9B17A8A9B20B60A1A2A3A4A5B71A2C100A1A2A3A4A5A6A7A8A9B10A1A2C323A4B48A9B76A9B94C403B14A9B20A9E10908B11A2A5A6A7A8B22A8D1001A3A9C102A3A4A5B13A4C402A7E76843D9875F897356F909817E18636E64637E72299G4031284E86406F109611E16027F29238E408491E72920F755994F848821E6020E945480E74462E89413G507053E187185F252119F306215E34193F44583E606858F752363E72782F809262E77582F952884D63E6076683F256625F346532F407615E2509C9703F556781F609518F757171E68783E76089E9218E841733E57073E98537F953371G7038993E57012C743F129797E64373E92109F261776E79508F337327E54507F414347E21579E40988E74917E91810F542782E64001A2A3A4B11A2A3B21A2A6A7A8A9B30A2A4A5A6B41A3A4A5A6A9B50A2A3A5A8C302A3A4A7B10A3A5A6B24B31A2A3A4A7A8A9B44A5A6A7B50A1A3C400B13A4A5A6A7B21A3A4A7A9B30A1A2B57A8A9C501A2A3B16A9B20A4A5B30A2A3A7A9B40A6A7A8B50A3A6A7A8B60A1A2A4A6A8C601A2A3A4A5A6A7B16C701C801A2A3A4A5A6A7A8B23A4A6A7B36B42A3A4B50A1C919E8046E649320E63536E75907D8339F79662E818794E80706F900011A2A3A4A5A6A7B30C62B999E10722E26346D766D72500E93923G8026562E30232F14632C8100E80759F250531E73745E8844E342335E54937F406364E95396F502358F694052F904695E7065F9030163E64822F139935F272762F317553F402797E75024D7584F512984E28955F622156E6653E752820E65958F823987E7233D80350E9465E964797E72129E87164E98992H40006884A5A6A7D8180C460C543A7A8B57B98C605B27B45B51A3A4B78B86B91A3C700A2A4A6D9016C152A6B73A5B99C202A5A9B42A4B86C414B91C514A8B26B45B95A7C629C709E80312F101111E39997E73854E9153E216089E51688F390147D1316F418351E24929F509732E29384F636712E69071F854197F908371E39228G103668E147577F209827A8E32647E48270F302052D9158E73230D5811F436536E62083A4D3181A2F517789C968E44074E78483F659072E7084D85633F721210E9255E999284G200011A2A3A4A5A6E10017A8A9B20B37A8B44C105A6B57A8D10604E2114A7A8A9C211C310B31A4D60203D6000F216237E30449E91297F31009E421606F566602E89641F632209F717221E52141F80258A9D10973F90468F3047672F202238E28023F366227E78048E85557D7895F490025F735670F886072E92408A9F925870E32460G4000006B10A3A6D1001A2B11A2E35031E556C97050F155002F23206E311445E73896F405066E78599F505297D8094A5D9529F78086E852429G5002991E14450E37489F170821F215453E31177A8E98492F349196E79225F420955E62149F500495E33023F627618E55875F742626D6813B31A2A3A4A5A6A7A8A9F815891D9647F91250F6132282E95773F241344E70004E8897E354113F4362D560404D4044C888F696593F724542E59931E72449F871387E8231D95036F935289E47713G7017574E9881E158777E63170F29591E349116E63932E87961E95382F421985F500019B21A3C101A3A4A7C381C503A5A7D1000A1A2A3A4A5A6A7A8A9B10A1C112D6081E10000B72A5A6A7A8B81A4B90A2C101A3A7B11A5A9B22A9C222A4A5A7B31A3A5A7B52A4B60A2B80C300C666D1000A3C551D2001D4896C966D7001D9999E20001A3A5A7B15D2011E30001A2A3A4A5A6A7A8A9B12A3A5A6A7A8A9B20A3A4A5B30B51A2A3A4A8A9B67B72A3B93A6C100A1A2A3A4A5A6A7A8A9B11A2A3A4B30A1A2A3B48A9B63A5A7A8A9B70A1C782C962D1962D5000B20D9500C999E48001E50001A2B10A2A4A5A7B20D1000C105E70100C200C300C400C500C600D8905A7B13A8A9B28B33A4A5D9028C719C900A8E80001A5E90005A6A8A9B11A2C893D1200B99C477C533C666C788C822B55C911D4444D8772A3A4A5F611119E74738F737087E9823E805931F910940E46130E6100F8009503E63985D8378F156348F285768F370501F424886F589580F608796F736598D9166E91583F815792E91960F905153E28529E95978D6569G9032236F105782E21795E4353D61188E95710F202162C331E21191F352945E89523F407319E56901E922D513164E97193F678559F725936F816630E20233E47524E68263F97565G50006661E65971E91196F14629E218211A2A3A4A5A6A7A8A9C365C410B20B30B40B50B60B70C535B40A5B50A5B60A5B70C640A5B50A5B60A5B70E20110A5B20A5B30E37654E60683E77355D8554E82757F321796F41348D3010A1A2D49881F588353F608164E69347F750868D6327E89693E93215F907446E54680G1011872F28859E447164E76410E97409F543904E70882F735257E77272E88412F828629F960178G2031567F119435E45422F323874E31012E52005F500001A2A3A4A5A6E58805E80000A2A4F615248E39377E53092E87916E98008F709508E11246G3054164E87962E9481E244294E62004E9790E315891E25667E34641E89254F413628E51824F539634F68615E701003A9B15A7B25A6A8A9C457D3009B10A1A2D7006B10A1A2E11005A6A7A8D4009E99017B25B41F950487E81499G402805D48462E82269F178659E91698F358015E66836F401832F541900F622031E35100F702678E19828E52875D7758G5067058F171412F24387D85840F470553F615891F727845F863245E88045F935416G600127D51086F14808E292140F337500F413937F532353F638325E55675F768355F832966E40427F907389E10167G7031794E43117F157964F282724D8064F300009B10A1A2A3A4A5A9B20A2A3A5A7A8E14798E20004A5A6A7A8A9B10A3E30007A8A9B14A5E40001F450198E77163F594700F707471E2618F8004362E58134E69384E74177F1014C47549F21478D93343F332301F468105E81572F504745E28964F600555D1383E72736E99500F712976E20904F811192E20923E59575F901502G9036972E71624F123194E70782F208943E55742F479050F531356D7380F627393E42500D4128F765225E71339F822133E43383E59086F934749E69392H60002004A5A8E25883F110982D93C50510A1A3A4A5A6A9B20A2B30A5A6A7A8B41A2A3A4A6C610A1A2A3A4A5A6A7A8A9B20A1A2A3A4A5A6B31C731A2A3A4A6C807A8A9B14A6A8B20A1C917A8A9B20D1011A2A3A5A6A7C121A3A4A5A7A8C321A2A3A4A8A9C411A2C502A3C611A2A3A4A5C731A2A3A4A6A7A8C902D2311A2A3A4A5A6C605A6A7A8A9C801A2A3D9906A7B17A8B21B31A3A7B41A5E81553E95675F21033D37530E79710E92055F303245F493189F634565E45181F800381F992105C364G1000040A1F204971E45672D8471E72280F307542E44030E99402F50044A5E641818E5656D65245F728808F82103D88819G2000467E70231F111090F200006A7B21A2E42678F47535E517849E41668E60742F624486F709239F84176D73545F941499G3101919E80841F261835E88573A4F364266F410069E22098E65535F503850D4681E19819E33837F612442F731062E46411E67246F813056E7204F4245689E76752F300008B10A2A4B22A3A4A5A6A8A9B30E32231F414267E54614E63828F514892E54883E99569F635042E55485E89404F800015A7A8A9B20A1A2A3A4A5A6B43A4A5B50A1A2A3A4A5A7A8A9B80A1A2A4E10000E80894F966519G5001006B15B27B37E10018A9B22B42A5A6A7B54A6A7B71A2A3A4A5A6B84A5B96A7A8C100A1B15A6A7B32C200C512A4A5A6A7B33A5A7A9B41A3A4A5B54B60A3B88D1010A1A2A3A4A6A9B21A3A4A5A7E20009B14A5A6A7A8B50B61A2A3B73A4A5A6A7A8B92A3A4C106B21A2A3A4A5A6A7A8A9B30A1B47A8A9B50B63A4A5A6A7B83A4A5C217A8A9B20A1D9288E30001A2A3A4A5B25A6B59B60A1A2A3A4A5A6A7A8B81A2A3A4A5C107E40009B10A1A2A3A4A5A6A7B26B33B41A2E50014A5A6B61A2A3A4B79B81A3A5A7A8A9C106A8B10A2B32A4A6A8B61A2A4A6A8A9B70A2A3A4C200A2A4A6A8A9B22A3A4A5A6A7A8A9B30B53A5A7A9B61A2E60007A8A9B10A1A2A8B38E73002A3A4A5E80018A9B41A4B53E90002A4A6A8B10A2A4A6A8B20A2A4A6A7A8A9B30A1A2A3A4A5A6A7A8A9B40A1A2A3A4A5A6A7A8A9B50A1A2A3A4A5A6A7F11113D70459D2015F285459F301952D5468E30383E98390F536818E63871F676461E8731E711558E41786A7D9035F884091D580E961683G6011101D5185E2300B650F141736E65755F226132D715D35877F393507F403530F506689E23544E47759E60003F619907A8A9B10A1A2B20A1E77706A7B89D8909B10A1A2A3A4A5B21E98383F818682E63374E70733E89139F912001D3800A2A3A4A8B13B30D5000A6A7B16A9B20A4A6B31A3E70002D6526G7030233E73561E98114F173574F231737F508932E56500D7908E98234F647362E6208D80512F712104E97569F865534F904682E26903E85943G8084557F124775F295149F319538E96121F40573D31965F507541E97372F618157E79595F745629F836428F934651E87122G9031175E58960E69911E73023F121954E70557F394324F461394F514125F610924E91902D6005B10A1C901A3A4A8B18B21A3B32B45A6B50B62F757518F83839D40739E785D946549H70219023E52926F369116F583986E97485F681994F709488E71599E80151F875686F902743E13714E80824G10206A7B30B50A1A2A3C68247E95768F100002A4B23A5A9B30A4A6A8E59974E66481F384012F400008A9B11A2B22A4A8B30B40A3A5A6F594310F612253D6908E28381F791814F921856E4917F2006609E64891F167543F218246E28247E72462F330894D6818E78329F402010A3A6B69D4137A9B43D6041A3A5D9105B10E10050C100B10B20B30B40B50B90C390C400B10C730B40B50B80D1130B40B50A2A3B60B70B80B90A1C200C350B70B90C410B40B60B90C500B10B80C800D2010A1C140E3511E529749F664875F813401E69010E96720F924435D6163E59823E71064G3079836F205006A7A8A9E85669D9035F309655E41839D5237D7079F445448E52089E83491F539069E80471F639099E59078E67937F887236F91448D444C64868G4009824F157028E63487D8099F294676F371660E93852F416224F506079E67889E83607D6817E93218F689476F703140E11057E52631F80763D22425E60293E89525E92653F937659E74229E97493G5083197F119040E47529F215744E53697E86621F326861E67227E80687F402014E33814E52921F574498F620895E40055D1008D6024A5B50A1A2A3A4A5A6A7A9B60A1A2A3A4A5A6A7A8A9B70A1A2A3A4A5C123B35C305A7B27C400A4A7A9B14A7A9B21A6C500A2A6A8A9B11A2A6A7A8A9B22A8B32A4A5A6A7A8B45A8B50A4A5C618A9B20A3A4A5A6C707B32B44C800B52A4C904A8A9B11A2B52A6B62B72E76192F779210E97046F82066D40616F906310E23050E3748D88594E91898G6067258F121006A7A8A9B10B41B50A1E45142F232522E63644F31534D59406E72778F419637E71944F524506E47525E89815F614340E85519F774528F815942E33149E91401F913983E37326G70365C58170E75360E92311F102944F205367F307161E34267F506119F610772E31175D7979E56797E93536F7009B11A3B7029B43B70E25299E77765B77E8726D99846F967790G8084378F144171E56759F225596D9193F41112D37364A5F512663F625448F734254E78375F876707F917791G9016563F130389E94594F206925E29522E66769F559912F606837E56239F747096F84540D64860F985120H80032567E71763E86070D8625F108118E17527E59717F321197F516007E32587F666118E96379F727036E64541E73359E96456F889750E96940F949182G1001002A3A4A5A6A7A8A9B10A3A4A5A7A8D2009B10A1A2A3A4A5A7D3009B10A1A2A9B20A2A9B30C500D5001A8A9B10A3A4A5A7B25A7B73D6000A1A2A3A4A5A7A8A9B11D7000A1A2A3A4A5A7A8A9B10A2A5A6D8000A4B10A1A2D9000A1A2A3A4A5A6A7A8A9B10A1A2A3A4A5A6A7A8A9B20A4E11001A2A3A4A5A6A7A8A9B10A1A2C109B17A9B31A2A3A4A5D2005A8A9B11A3A7A8A9B25A6A7A8B38A9B43B50A3A4A5B63A8B70A1A4A6A7B81A7D3000A3A6A7D4005D5008A9B11A6B21A4A5A6B30A1A6A7B40A1A2A7B50A4A6B65A9D7001A3A4D8004A5B19B20A7B37A8B40A8B51A6B64D9002A3B71A3B90E20000A2A3C646D1005B16D2005B10B25B32B41A2A4A5B52A3A7D3008A9B10A1A2A9D4006A7B26A7A8A9B30A6D5000A1D8000A4A7A8A9B13D9001E30000A3A4D2002D3000A2A5D4004B13A4B20A1A2D7000A1A2A3D9000E40031A7B47D1006A9B15B22A4A7B30A1A2A7A9B40A4B67A8B74D2008D3002A3A5A7D4000A1A2A9B10A8A9B24A8B30A1A2D5000A1A2A3A6A9B11D6003A4A6B16B20A1A2A3A5A6A8B31A7A8B40A1A2D7002A7A9B10A1A2D8009B11A3A5B21A2A3A4B33A8A9E50001A5B51A2D1001A3A4A5D2004A7B70D3004A5A6D4000D6001D7000A1A2D8000A3A4D9000A1A2A3A4A5A6A7A8A9E60000A1A5A6A7A8B11A2A3A5D1005D2000A1A2E81001A2A3F122844E97327F330115F566151F612598E5596E769387F846453F927732E83656D620D97228G2044279B80E9701A2A3A4A5A6A7A8B13B30A1A2A4A5A6E197831F204232B54A5A6A7A8A9D6005A6A7A8B21A2A7B31A2A4A6B40A2A4A7A8A9B52B92D7001A2A3A4E21007A8A9B10D4006B24A5A7A8B30A1A2A3A5A6A8A9B40A1A2A3A4A5A6A8B54A5A9B65B79D8492A6A7C501A4A5A8B14A6B21B68C603A9B11B30A1A2A3A4F308875E15403F566662F633039E97249F734805F944432E56492G310162D21692E52482F27462D83063F519853E31441F656563F743222E55611F810690E66861E7138E994433G4013237A8E25439E40113E58253F121193D4261F224627E43274E71823F305651F401683E17082E33295F569886F63720D64085E87358F766279F815190F91308C961D88419G5004150F115440E21942F216896E43784E52081E89965A6F507811E28209E45073E51711F61192D84223E92042D6777F908279D9450G602351D66372E99788F11007D37485E48577E54370E64529D5817F221741E38081E40887E74272F331741E46643F520461E32744F60395D76862F750474F805855E48580F92301C6989E38484E43389G7054946E90008A9B10A1A2A3A4F116928E82127D8910F259077F327776F460579F600001A2E3963E746184E51584F871125F911394G8000953E21907D510D33975E9344B706F120966E77324F234821F305705F406570F581108F643579F722973E53594D4763F820235E80006A9C111C210A2A3F942504D6421A2A3G9112729E94103F238128F310929F474727D7759F516305E44521F642993F856523E70349F907227H90036274E50480E787C98780F126061D916D40980E62951F207654E4198E307498F448279F512490E3187D55947E79153E90303A4F61682D60762D4857E73288F726340F809975E84403F953320D7527G1034681F135480E40491F272072D9700F336701E97409F420202E99077F557476F61357E895091F949988E98119B20A1G2015800E5573E361635D2073F519087F661479F72381D70064E81606F892239F900010E18648E3977F300315B29B99C420C513D84621F10016A7B21A8C8839E57004F30003A4A5D53691E79652F483212D522D9094E503294E68288F657021F713837E29065E30230F854893E77990E96655F90002F4119480F207108E53655D9633F380860F515289E66432F626871E4441D77445F905343E42656E77269B70G5040215F113856E44193E69481F239444E523C80002B13B20F372220F442074E53143E63814E74755E86586E93471F515058E26884F685352F793022F952802E92081G60011A2A3A4A5A6A7A8C29574E8555E150936D7835E7996E220350F334243E4146D80700D1979F471335F53271D92102F864105E97184G7007933F165977E70107F204936E73514F300502E83507F403510E89701F520532E3964D84719F661969E77329F792247F836203F973962G8012938E95162F127546F39945E452268F502113A4A5D6199E58751F600001A2A6A7A8B11A2E10007A8E30720D7386E42179F7311D88196E927491E78921G9011763F10056B60A7B70A1A7C200A1A2A4A7A8B11B20A5A6A8B30A2A8B41A6B78B81A4A8B94C300A1A2B14A5B24A9B37B60C808B13D11753D5354F267150A1F469936F551425E85850F600006E66430F724761D6621F916754E37842H"
this.BlackList="12029400A1G3959995A8H20100301A2A3A5A6A7A9B10A1A3A4A5A7A8A9B21A2A3A5A6A7A9B30A1A3A4A5A7A8A9B41A2A3A5A6A7A9B50A1A3A4A5A7A8A9B61A2A3A5A6A7A9B70A1A3A4A5A7A8A9B81A2A3A5A6A7A9B90A1A3A4A5C417A9B21A3A5A7A9B31H"
this.BanList="10200520G110001A2C111A2B21A2B31B41A2B51D1002A3A4A5A9B18B25B50A6A7B90C201A2A3B21A2A3A4C301C401A2A3C501A2B11D2101A2A3A4E40001B11C201D1001A2A4B21C103C201E82001E97101A2A3A4A5B11A2A3A9B20B52F2019010E28001A3D9019E40001A2A3A4A5A6A7A8A9B10A1A2A3A5B50A1B60B70E66000A1A2A3B10A1A2A5B20A1A2A3D8001A2A5B10A1A5A6G4000021A2A3A4A5A6A7A8A9B30A1A2A3A4A6A7B55A6A7A8A9B60A1A2A3A4A5A6B97A8A9C100A1A2A3A4A5A6A7A8A9B10B30A1A2A3A4A5A6A7A8A9B40A1A5A6A7A8A9B50A1A2A3C351A2A3A4A5A6A7A8A9B60A1A2A3A4A5A6A7A8A9B70A1A2B80A1A2A3A4A5A6A7A8A9B90A1A2A3A4A5A6A7C451A2A3A4A5A6A7A8A9B60A1C531A2A3A4A5A6A7A8A9F141001A2A3A4A5A6A7A8F800110G5000490A1F873611A2A3A4A5A6A7A8B20A1A2A3A4A5A6A7A8A9B30A2A4A5A6A7A8A9B40A1A2A3A5A7A8A9B50G6101175A6A7A8A9B80A1A2A3A4A5D2000A1A2A3A4A5A6B10A1A2A3D4200A2A4A6A8B10A2A4A6A8B20A4A6A8B30A2A4B40A2D7117A8E30001A2A3A4A5A6A7A8A9B11A2A3A4G7061070C330C660B70G8001001A2A3A4A5A6A7A8A9B10A1D4001A2A3A5A6A7A8A9B10A1A2A3A4A5A6A7D5001A2A3A4A5A6A7A8A9B10A1A2A3A4A5D6001A2A3A4A5A6A7A8A9B10A1A2D7001A2A3A4A5A6A7A8A9B10A1A2A3A4A5A6D8001A2A3A4A5A6A7A8A9B10A1A2E16001A2A3A4A5A6A7A8A9B10A1A2A3A4A5A6A7A8A9H22230001A2A3A4A5A6A7C141A2B61D1001D2001C101E80001A2A3A4A5A6A7A9B10A1C101B61C999D1001C301D2001G6812003A4B17A8A9B20E21000A1A2A3A4A5A6A7A8A9B10A1A2A3A4A5A6A7A8A9B20A1A2A3A4A5C999H33310001A2A3A4A6A7A8A9B10A1A2A3A4A5A6A7A8A9B20A1A2A3A4A5A6A8A9B30A1C600A1A2A3A4A5A6A7E40004A5A6A7A8A9B10A4E50001A2A4A5A6A7A9B10A1A2A3A4A5A6A7A8A9B20A1A2A3D1001A3A4F500911B21D1301A2A3A4A5A6A7A8A9B10A1D2001A2A3A5A6A7A8A9B10A1A2A3A4A5A7B22A3C314F701009G7564001A2A3A4A5A6A7A8A9B10A1A2A3A4A5A6A7A8A9B20A1A2A3A4A5A6A7A8A9B30A1A2A4A5A6A7A9B41A2A3A4A6A7A9B50A1A2A3A5A8C200A1A2A3A4A5A6A7A8A9B10A1A2A3A4A5A6A7A8A9B20A1A2A3A4A5A6A7A8A9B30A1A2A3A4A5A6A7C302A5B13A4A6B23B31C400A1A2A3A4A5A6A7A8A9B10A1A2A3A4A5A6A7A8A9B20A1A2A3A4A5A6A7A8A9B30A1A2B51A2A3A4A5A6A7A8A9C512A9B29B52B69C601A2A3A4A5A6A7A8A9B10A1A2A3A4A5A6C777C801A2A3A4A5A6A7A8A9B10A1A2A3A4A5A6A7A8A9B20A1A2A3A4A5A6A7A8A9B30A1A2A3A4A5A6A7A8A9B40A1A2A3A4A5A6A7A8A9B50A1A2A3C901A2A3A4A5A6A7A8A9B10A1A2A3A4A5A6A7A8A9B20A1A2H44000001A2A3A4A5A6A7A8A9B10A1A2A3A5A6A7A8A9G7500000A1A3A5A7A9B11A3A5A9B21A3A5A8B30A1A3C101A3A4D1002A5A6A7A8A9B10A1E50008D1000C124E79908H50218216G7320001A2A3A4A5A6A7A8A9B10A1A2A3E30001A2A3A4A5A6A7A8A9B10A1A2A3A4A5H62200001A2A3A4A5A6A7B21A2A3A4D1001G4800046A7A8A9B50A1A2A3A4A5A6A7A8A9B60A1A2A3A4A5A6B74B85G5001004B15A6E10060A2A5A9B71A2A3A4A5A6A7A8A9B80A1A2C201A2A3A4A5A6A7A8A9B10A1A2C501A2A4A6A8B10A2A4A5A6A7A9B20A1B79B80A1A2A3A4E30075A6A7A8A9B80A1A2A3A4A5A6A7A8A9B90H710200A1A2A3A4A5A6A7B25A6A7A8A9B30A1A2A3A5A6A7A8A9B45B50A1A2A3E2404127G3205001A2A3A4A5A6A7A8A9B10A1A2A3A4G77001A2A3A4A5A6A7A8A9B11A3C25299C300A1A2A3A4A5A6A7A8A9B10E65001A2A3A4A5A6A7A8B10B20A1B30A1B40B50E77765H81002083A4E48015B29B30A3G2204252H9310002B20G"
--2pick utilities
c13959996={}
Duel.LoadScript("c13959996.lua")
local cc=13959997
local this=_G["c"..cc]
function this.initial_effect(c)
end
function this.loadList(fname)
local result={}
local ct=1
for l in io.lines(fname) do
if l:sub(1,1)~="#" and tonumber(l) then
result[ct]=tonumber(l)
ct=ct+1
end
end
return result
end
function this.writeList(t,fname)
local f=io.open(fname,"w")
f:write(table.concat(t,"\n"))
f:flush()
f:close()
end
function this.toSet(t)
local result={}
for _,v in pairs(t) do
local cur=result
for i=1,#tostring(v) do
local c=tostring(v):sub(i,i)
if not cur[tonumber(c)] then
cur[tonumber(c)]={}
end
cur=cur[tonumber(c)]
if i==#tostring(v) then
cur[10]=true
end
end
end
return result
end
function this.toList(s)
local result={}
this.stol(s,result,"")
return result
end
function this.stol(s,t,prefix)
for i=0,9 do
if s[i] then
this.stol(s[i],t,prefix..i)
end
end
if s[10] then
t[#t+1]=tonumber(prefix)
end
end
function this.stostr(s)
local a="a"
local result=""
for i=0,9 do
if s[i] then
result=result..i
result=result..this.stostr(s[i])
result=result..")"
end
end
if s[10] then
result=result.."-"
end
return result
end
function this.dumpSet(s)
local result=this.stostr(s)
local cpr=""
local ct=0
local A="A"
for i=1,#result do
if result:sub(i,i)~=")" then
if ct~=0 then
cpr=cpr..string.char(A:byte()+ct-1)
ct=0
end
if result:sub(i,i)~="-" then
cpr=cpr..result:sub(i,i)
end
else
ct=ct+1
end
end
if ct~=0 then
cpr=cpr..string.char(A:byte()+ct-1)
end
return cpr
end
function this.loadSet(str)
local result={}
local stack={result}
local sp=1
for i=1,#str do
local c=str:sub(i,i)
local A=("A"):byte()
if c:byte()>=A then
stack[sp][10]=true
sp=sp-(c:byte()-A+1)
else
stack[sp][tonumber(c)]={}
stack[sp+1]=stack[sp][tonumber(c)]
sp=sp+1
end
end
return result
end
function this.contains(s,op)
local sop=tostring(op)
local cur=s
local found=false
for i=1,#sop do
if cur[tonumber(sop:sub(i,i))] then
cur=cur[tonumber(sop:sub(i,i))]
else
break
end
if i==#sop and cur[10] then
found=true
end
end
return found
end
function this.add(s,op)
local sop=tostring(op)
local cur=s
for i=1,#sop do
if not cur[tonumber(sop:sub(i,i))] then
cur[tonumber(sop:sub(i,i))]={}
end
cur=cur[tonumber(sop:sub(i,i))]
if i==#sop then
cur[10]=true
end
end
end
function this.del(s,op)
if not this.contains(s,op) then return end
local stack={s}
local sp=1
local sop=tostring(op)
for i=1,#sop do
stack[sp+1]=stack[sp][tonumber(sop:sub(i,i))]
sp=sp+1
end
stack[sp][10]=nil
while sp>1 do
local isEmpty=true
for i=0,10 do
if stack[sp][i] then
isEmpty=false
break
end
end
if isEmpty then
stack[sp-1][tonumber(sop:sub(sp-1,sp-1))]=nil
sp=sp-1
else
break
end
end
end
function this.initSet(s)
s.contains=this.contains
s.add=this.add
s.del=this.del
end
function this.loadCardList(useBanList,ignoreBlackList)
local cl=c13959996
local mainList=this.toList(this.loadSet(cl.Main))
local extraList=this.toList(this.loadSet(cl.Extra))
local ml={}
local el={}
local mat={}
local eat={}
for _,v in pairs(mainList) do
local ca=Duel.ReadCard(v,CARDDATA_ALIAS)
if not ca then
Debug.Message("警告!卡片"..v.."不存在,卡表可能需要更新!")
ca=0
end
local dif=ca-v
local real=0
if dif>-10 and dif<10 then
real=ca
else
real=v
end
if not mat[real] then
mat[real]={}
end
mat[real][#mat[real]+1]=v
end
for _,v in pairs(extraList) do
local ca=Duel.ReadCard(v,CARDDATA_ALIAS)
if not ca then
Debug.Message("警告!卡片"..v.."不存在,卡表可能需要更新!")
ca=0
end
local dif=ca-v
local real=0
if dif>-10 and dif<10 then
real=ca
else
real=v
end
if not eat[real] then
eat[real]={}
end
eat[real][#eat[real]+1]=v
end
local bl=this.loadSet(cl.BanList)
local bll=this.loadSet(cl.BlackList)
this.initSet(bl)
this.initSet(bll)
for k,_ in pairs(mat) do
if (ignoreBlackList or not bll:contains(k)) and (not useBanList or not bl:contains(k)) then
ml[#ml+1]=k
end
end
for k,_ in pairs(eat) do
if (ignoreBlackList or not bll:contains(k)) and (not useBanList or not bl:contains(k)) then
el[#el+1]=k
end
end
return ml,el,mat,eat
end
\ No newline at end of file
--Design/Image/Script: wyykak
c13959997={}
Duel.LoadScript("c13959997.lua")
local cc=13959998
local this=_G["c"..cc]
local rerollc={76815942,17994645,55863245,44155002,68319538,7391448,75326861,34408491,24221808,87460579,40939228,21123811}
this.maincount=40
this.extracount=20
this.useBanList=true
this.CardList={}
function this.initial_effect(c)
if not this.gc then
this.gc=true
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_CONTINUOUS)
e1:SetCode(EVENT_PHASE_START|PHASE_DRAW)
e1:SetCondition(this.con)
e1:SetOperation(this.op)
Duel.RegisterEffect(e1,0)
local es1=Effect.CreateEffect(c)
es1:SetType(EFFECT_TYPE_FIELD)
es1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
es1:SetCode(EFFECT_SKIP_DP)
es1:SetTargetRange(1,1)
es1:SetCondition(this.con1)
Duel.RegisterEffect(es1,0)
local es2=es1:Clone()
es2:SetCode(EFFECT_SKIP_SP)
es2:SetCondition(this.con2)
Duel.RegisterEffect(es2,0)
local es3=es2:Clone()
es3:SetCode(EFFECT_SKIP_M1)
Duel.RegisterEffect(es3,0)
local es6=es1:Clone()
es6:SetCode(EFFECT_CANNOT_BP)
es6:SetCondition(this.con3)
Duel.RegisterEffect(es6,0)
local es7=es2:Clone()
es7:SetCode(EFFECT_CANNOT_ACTIVATE)
es7:SetValue(aux.TRUE)
Duel.RegisterEffect(es7,0)
local es8=Effect.CreateEffect(c)
es8:SetType(EFFECT_TYPE_FIELD)
es8:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE|EFFECT_FLAG_IGNORE_RANGE)
es8:SetTargetRange(0xff,0xff)
es8:SetCode(EFFECT_DISABLE)
es8:SetCondition(this.con4)
Duel.RegisterEffect(es8,0)
local es9=es7:Clone()
es9:SetCondition(this.con5)
Duel.RegisterEffect(es9,0)
end
end
function this.con1()
return this.isTag and ({false,true,false,true,true})[Duel.GetTurnCount()]
end
function this.con2()
return this.isTag and ({true,true,true,true})[Duel.GetTurnCount()]
end
function this.con3()
return this.isTag and ({true,true,true,true,true})[Duel.GetTurnCount()]
end
function this.con4()
return this.isPicking
end
function this.con5()
return Duel.GetCurrentPhase()==PHASE_DRAW and (Duel.GetTurnCount()==1 or (this.isTag and Duel.GetTurnCount()==3))
end
function this.con()
return Duel.GetTurnCount()==1 or (this.isTag and Duel.GetTurnCount()==3)
end
function this.seed()
local g=Group.CreateGroup()
local gt={}
for i=0,15 do
local c=Duel.CreateToken(0,10000)
gt[c]=i
g:AddCard(c)
end
Duel.SendtoDeck(g,0,0,REASON_RULE)
local result=0
for i=0,7 do
result=result+(gt[g:RandomSelect(0,1):GetFirst()]<<(4*i))
end
Duel.Exile(g,REASON_RULE)
g:DeleteGroup()
return result
end
function this.seed2()
local result=0
for i=0,31 do
result=result+(Duel.TossCoin(0,1)<<i)
end
return result
end
function this.seed3()
local result=0
local g=Duel.GetFieldGroup(0,0xff,0xff):RandomSelect(0,8)
local ct={}
local c=g:GetFirst()
for i=0,7 do
ct[c]=i
c=g:GetNext()
end
for i=0,10 do
result=result+(ct[g:RandomSelect(0,1):GetFirst()]<<(3*i))
end
g:DeleteGroup()
return result&0xffffffff
end
function this.op(e,tp)
this.isPicking=true
if Duel.GetTurnCount()==1 then
math.randomseed(this.seed3())
end
Duel.Exile(Duel.GetFieldGroup(0,LOCATION_DECK|LOCATION_EXTRA|LOCATION_HAND,LOCATION_DECK|LOCATION_EXTRA|LOCATION_HAND),REASON_RULE)
if Duel.GetTurnCount()==1 then
this.isTag=Duel.SelectYesNo(0,aux.Stringid(cc,8))
if Duel.SelectYesNo(0,aux.Stringid(cc,2)) then
Debug.Message("字段限制解除")
this.setOverride()
end
if Duel.SelectYesNo(0,aux.Stringid(cc,4)) then
Debug.Message("种族限制解除")
this.raceOverride()
end
if Duel.SelectYesNo(0,aux.Stringid(cc,5)) then
Debug.Message("属性限制解除")
this.attrOverride()
end
if Duel.SelectYesNo(0,aux.Stringid(cc,9)) then
Debug.Message("仪式强化已启用")
this.ritualEnhance(e:GetHandler())
end
if Duel.SelectYesNo(0,aux.Stringid(cc,14)) then
if Duel.SelectYesNo(0,aux.Stringid(13959997,0)) then
this.maincount=Duel.AnnounceLevel(0,1,10)*10
end
if Duel.SelectYesNo(0,aux.Stringid(13959997,1)) then
this.extracount=Duel.AnnounceLevel(0,1,10)*10
end
this.useBanList=Duel.SelectYesNo(0,aux.Stringid(13959997,2))
end
this.option=Duel.SelectOption(0,aux.Stringid(cc,0),aux.Stringid(cc,1),aux.Stringid(cc,6),aux.Stringid(cc,7),aux.Stringid(cc,11),aux.Stringid(cc,10))
local n=0
if this.option==0 then
Debug.Message("本局决斗使用2pick规则")
this.f=function() this.twopick(this.maincount,this.extracount) end
elseif this.option==1 then
Debug.Message("本局决斗使用自定义轮抽规则(类MTG)")
Duel.Hint(0,HINT_SELECTMSG,aux.Stringid(cc,3))
n=Duel.AnnounceLevel(0,2,12)
this.f=function() this.custompick(this.maincount,this.extracount,n) end
elseif this.option==2 then
Debug.Message("本局决斗使用无竞争n选1规则")
Duel.Hint(0,HINT_SELECTMSG,aux.Stringid(cc,3))
n=Duel.AnnounceLevel(0,2,12)
this.f=function() this.npick(this.maincount,this.extracount,n) end
elseif this.option==3 then
Debug.Message("本局决斗使用整组2pick规则")
Duel.Hint(0,HINT_SELECTMSG,aux.Stringid(cc,3))
n=Duel.AnnounceLevel(0,1,10)
this.f=function() this.twopickn(this.maincount,this.extracount,n) end
elseif this.option==4 then
Debug.Message("本局决斗使用全随机规则")
this.f=function() this.fullrandom(this.maincount,this.extracount) end
elseif this.option==5 then
Debug.Message("本局决斗使用20张场上轮选规则")
Duel.Hint(0,HINT_SELECTMSG,aux.Stringid(cc,3))
n=Duel.AnnounceLevel(0)
this.f=function() this.fpick(this.maincount,this.extracount,n) end
end
end
this.f()
Duel.ConfirmCards(0,Duel.GetFieldGroup(0,LOCATION_DECK,0))
Duel.ConfirmCards(1,Duel.GetFieldGroup(1,LOCATION_DECK,0))
Duel.ShuffleDeck(0)
Duel.ShuffleDeck(1)
Duel.ShuffleExtra(0)
Duel.ShuffleExtra(1)
if not this.isTag or Duel.GetTurnCount()==5 then
this.isPicking=false
end
if Duel.GetTurnCount()==1 then
Duel.Draw(0,5,REASON_RULE)
else
Duel.Draw(0,4,REASON_RULE)
end
Duel.Draw(1,5,REASON_RULE)
this.reroll(0)
this.reroll(1)
this.isPicking=false
Duel.ResetTimeLimit(0)
Duel.ResetTimeLimit(1)
end
function this.cardGen(from,count)
local g=Group.CreateGroup()
for i=1,count do
g:AddCard(Duel.CreateToken(0,CardList[from][math.random(1,#CardList[from])]))
end
return g
end
function this.ccGen(from,count)
if not this.CardList.Main then
local ml,el,mat,eat=c13959997.loadCardList(this.useBanList)
this.CardList.Main=ml
this.CardList.Extra=el
this.CardList.MainAliasTable=mat
this.CardList.ExtraAliasTable=eat
end
local g={}
for i=1,count do
local temp=this.CardList[from][math.random(1,#this.CardList[from])]
local at=this.CardList[from.."AliasTable"]
if #at[temp]>1 then
g[i]=at[temp][math.random(1,#at[temp])]
else
g[i]=temp
end
end
return g
end
function this.ccSelect(g,tp)
local cg=Group.CreateGroup()
for k,v in pairs(g) do
local c=Duel.CreateToken(tp,v)
c:RegisterFlagEffect(cc,0,0,0,k)
cg:AddCard(c)
end
local result
if #cg>1 then
result=cg:Select(tp,1,1,nil):GetFirst()
else
result=cg:GetFirst()
end
table.remove(g,result:GetFlagEffectLabel(cc))
cg:DeleteGroup()
return result
end
function this.twopick(mainc,extrac)
local count=0
while count<mainc do
local g=this.ccGen("Main",2)
local tp=count%2
local c=this.ccSelect(g,tp)
local c1=c
local c2=Duel.CreateToken(1-tp,g[1])
Duel.SendtoDeck(c1,tp,0,REASON_RULE)
Duel.SendtoDeck(c2,1-tp,0,REASON_RULE)
-- Duel.ConfirmCards(tp,c1)
Duel.ConfirmCards(1-tp,c2)
count=count+1
end
count=0
while count<extrac do
local g=this.ccGen("Extra",2)
local tp=count%2
local c=this.ccSelect(g,tp)
local c1=c
local c2=Duel.CreateToken(1-tp,g[1])
Duel.SendtoDeck(c1,tp,0,REASON_RULE)
Duel.SendtoDeck(c2,1-tp,0,REASON_RULE)
-- Duel.ConfirmCards(tp,c1)
Duel.ConfirmCards(1-tp,c2)
count=count+1
end
end
function this.custompick(mainc,extrac,packc)
local count=0
local packs={}
local packnum=8*mainc//packc
if mainc%packc~=0 then packnum=packnum+1 end
for i=1,packnum do
packs[i]=this.ccGen("Main",packc)
end
local cp=1
while count<mainc do
local tp=0
while #packs[cp]==0 do
if cp==packnum then
cp=1
else
cp=cp+1
end
end
local c1=this.ccSelect(packs[cp],tp)
while #packs[cp]==0 do
if cp==packnum then
cp=1
else
cp=cp+1
end
end
local c2=this.ccSelect(packs[cp],1-tp)
Duel.SendtoDeck(c1,tp,0,REASON_RULE)
Duel.SendtoDeck(c2,1-tp,0,REASON_RULE)
-- Duel.ConfirmCards(tp,c1)
-- Duel.ConfirmCards(1-tp,c2)
count=count+1
if cp==packnum then
cp=1
else
cp=cp+1
end
end
count=0
packs={}
packnum=8*extrac//packc
if extrac%packc~=0 then packnum=packnum+1 end
for i=1,packnum do
packs[i]=this.ccGen("Extra",packc)
end
cp=1
while count<extrac do
local tp=0
while #packs[cp]==0 do
if cp==packnum then
cp=1
else
cp=cp+1
end
end
local c1=this.ccSelect(packs[cp],tp)
while #packs[cp]==0 do
if cp==packnum then
cp=1
else
cp=cp+1
end
end
local c2=this.ccSelect(packs[cp],1-tp)
Duel.SendtoDeck(c1,tp,0,REASON_RULE)
Duel.SendtoDeck(c2,1-tp,0,REASON_RULE)
-- Duel.ConfirmCards(tp,c1)
-- Duel.ConfirmCards(1-tp,c2)
count=count+1
if cp==packnum then
cp=1
else
cp=cp+1
end
end
end
function this.setOverride()
Card.IsSetCard=aux.TRUE
Card.IsPreviousSetCard=aux.TRUE
Card.IsFusionSetCard=aux.TRUE
Card.IsLinkSetCard=aux.TRUE
Card.IsOriginalSetCard=aux.TRUE
end
function this.raceOverride()
Card.IsRace=function(c) return c and c:IsType(TYPE_MONSTER) end
Card.IsLinkRace=function(c) return c and c:IsType(TYPE_MONSTER) end
Card.GetRace=function(c) if c and c:IsType(TYPE_MONSTER) then return RACE_ALL end return nil end
Card.GetLinkRace=function(c) if c and c:IsType(TYPE_MONSTER) then return RACE_ALL end return nil end
Card.GetOriginalRace=function(c) if c and c:GetOriginalType()&TYPE_MONSTER>0 then return RACE_ALL end return nil end
end
function this.attrOverride()
Card.IsAttribute=function(c) return c and c:IsType(TYPE_MONSTER) end
Card.IsFusionAttribute=function(c) return c and c:IsType(TYPE_MONSTER) end
Card.IsLinkAttribute=function(c) return c and c:IsType(TYPE_MONSTER) end
Card.GetAttribute=function(c) if c and c:IsType(TYPE_MONSTER) then return 0x7f end return nil end
Card.GetFusionAttribute=function(c) if c and c:IsType(TYPE_MONSTER) then return 0x7f end return nil end
Card.GetLinkAttribute=function(c) if c and c:IsType(TYPE_MONSTER) then return 0x7f end return nil end
Card.GetOriginalAttribute=function(c) if c and c:GetOriginalType()&TYPE_MONSTER>0 then return 0x7f end return nil end
end
function this.ritualEnhance(c)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_ADD_TYPE)
e1:SetValue(TYPE_RITUAL)
e1:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE|EFFECT_FLAG_IGNORE_RANGE)
e1:SetTargetRange(0xff,0xff)
e1:SetTarget(function(e,c1) return c1:GetOriginalType()&TYPE_MONSTER==TYPE_MONSTER end)
Duel.RegisterEffect(e1,0)
local e2=aux.AddRitualProcUltimate(c,
function(c1,e,tp) return c1==e:GetHandler() end,
Card.GetLevel,
"Greater",
LOCATION_HAND,
nil,
nil)
e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetRange(LOCATION_HAND)
e2:SetDescription(aux.Stringid(cc,13))
local reg=Effect.CreateEffect(c)
reg:SetType(EFFECT_TYPE_FIELD|EFFECT_TYPE_GRANT)
reg:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE|EFFECT_FLAG_IGNORE_RANGE)
reg:SetTargetRange(0xff,0xff)
reg:SetTarget(function(e,c1) return c1:GetOriginalType()&(TYPE_RITUAL|TYPE_MONSTER)==(TYPE_RITUAL|TYPE_MONSTER) end)
reg:SetLabelObject(e2)
Duel.RegisterEffect(reg,0)
end
function this.npick(mainc,extrac,n)
local count=0
while count<mainc do
local g1=this.ccGen("Main",n)
local g2=this.ccGen("Main",n)
local c1=this.ccSelect(g1,0)
local c2=this.ccSelect(g2,1)
Duel.SendtoDeck(c1,0,0,REASON_RULE)
Duel.SendtoDeck(c2,1,0,REASON_RULE)
-- Duel.ConfirmCards(0,c1)
-- Duel.ConfirmCards(1,c2)
count=count+1
end
count=0
while count<extrac do
local g1=this.ccGen("Extra",n)
local g2=this.ccGen("Extra",n)
local c1=this.ccSelect(g1,0)
local c2=this.ccSelect(g2,1)
Duel.SendtoDeck(c1,0,0,REASON_RULE)
Duel.SendtoDeck(c2,1,0,REASON_RULE)
-- Duel.ConfirmCards(0,c1)
-- Duel.ConfirmCards(1,c2)
count=count+1
end
end
function this.fSelect(tp,g1,g2)
local cg1,cg2=this.displayOnField(tp,g1,g2)
local cg=Group.CreateGroup(cg1,cg2)
if cg1:IsContains(cg:Select(tp,1,1,nil):GetFirst()) then
Duel.Exile(cg2,REASON_RULE)
cg2:DeleteGroup()
cg:DeleteGroup()
return cg1
else
Duel.Exile(cg1,REASON_RULE)
cg1:DeleteGroup()
cg:DeleteGroup()
return cg2
end
end
function this.displayOnField(tp,g1,g2)
local cg1=Group.CreateGroup()
local cg2=Group.CreateGroup()
local ct1={}
local ct2={}
for k,v in pairs(g1) do
if k>10 then break end
local c=Duel.CreateToken(tp,v)
if k<=5 then
Duel.MoveToField(c,tp,tp,LOCATION_MZONE,POS_FACEUP_ATTACK,false,1<<(k-1))
else
Duel.MoveToField(c,tp,tp,LOCATION_SZONE,POS_FACEUP,false,1<<(k-6))
end
cg1:AddCard(c)
ct1[c]=v
end
for k,v in pairs(g2) do
if k>10 then break end
local c=Duel.CreateToken(tp,v)
if k<=5 then
Duel.MoveToField(c,tp,1-tp,LOCATION_MZONE,POS_FACEUP_ATTACK,false,1<<(k-1))
else
Duel.MoveToField(c,tp,1-tp,LOCATION_SZONE,POS_FACEUP,false,1<<(k-6))
end
cg2:AddCard(c)
ct2[c]=v
end
return cg1,cg2,ct1,ct2
end
function this.twopickn(mainc,extrac,n)
local count=0
while count<mainc do
local g11=this.ccGen("Main",n)
local g12=this.ccGen("Main",n)
local g21=this.ccGen("Main",n)
local g22=this.ccGen("Main",n)
local c1=this.fSelect(0,g11,g12)
Duel.SendtoDeck(c1,0,0,REASON_RULE)
local c2=this.fSelect(1,g21,g22)
Duel.SendtoDeck(c2,1,0,REASON_RULE)
-- Duel.ConfirmCards(0,c1)
-- Duel.ConfirmCards(1,c2)
count=count+n
end
count=0
while count<extrac do
local g11=this.ccGen("Extra",n)
local g12=this.ccGen("Extra",n)
local g21=this.ccGen("Extra",n)
local g22=this.ccGen("Extra",n)
local c1=this.fSelect(0,g11,g12)
Duel.SendtoDeck(c1,0,0,REASON_RULE)
local c2=this.fSelect(1,g21,g22)
Duel.SendtoDeck(c2,1,0,REASON_RULE)
-- Duel.ConfirmCards(0,c1)
-- Duel.ConfirmCards(1,c2)
count=count+n
end
end
function this.fpick(mainc,extrac,n)
local change=function(c,ct,from)
local ncc=this.ccGen(from,1)[1]
ct[c]=ncc
c:SetEntityCode(ncc,true)
end
local count=0
local reroll={}
reroll[0]=n
reroll[1]=n
local rerollCard={}
rerollCard[0]=Duel.CreateToken(0,rerollc[reroll[0]])
rerollCard[1]=Duel.CreateToken(1,rerollc[reroll[1]])
Duel.SendtoHand(rerollCard[0],0,REASON_RULE)
Duel.SendtoHand(rerollCard[1],1,REASON_RULE)
Duel.MoveToField(rerollCard[0],0,0,LOCATION_MZONE,POS_FACEUP_ATTACK,false,1<<5)
Duel.MoveToField(rerollCard[1],1,1,LOCATION_MZONE,POS_FACEUP_ATTACK,false,1<<5)
local g1=this.ccGen("Main",10)
local g2=this.ccGen("Main",10)
local cg1,cg2,ct1,ct2=this.displayOnField(0,g1,g2)
local tp=0
local rerolled=false
while count<mainc do
local sg=Duel.GetFieldGroup(tp,LOCATION_MZONE|LOCATION_SZONE,LOCATION_MZONE|LOCATION_SZONE)
if rerollCard[1-tp] then
sg:RemoveCard(rerollCard[1-tp])
end
if rerollCard[tp] and rerolled then
sg:RemoveCard(rerollCard[tp])
end
local sc=sg:Select(tp,1,1,nil):GetFirst()
if sc==rerollCard[tp] then
cg1:ForEach(change,ct1,"Main")
cg2:ForEach(change,ct2,"Main")
rerolled=true
reroll[tp]=reroll[tp]-1
if reroll[tp]==0 then
Duel.Exile(rerollCard[tp],REASON_RULE)
rerollCard[tp]=nil
else
rerollCard[tp]:SetEntityCode(rerollc[reroll[tp]],true)
end
else
if ct1[sc] then
Duel.SendtoDeck(Duel.CreateToken(tp,ct1[sc]),tp,0,REASON_RULE)
change(sc,ct1,"Main")
else
Duel.SendtoDeck(Duel.CreateToken(tp,ct2[sc]),tp,0,REASON_RULE)
change(sc,ct2,"Main")
end
if tp==1 then
count=count+1
end
tp=1-tp
rerolled=false
end
end
cg1:ForEach(change,ct1,"Extra")
cg2:ForEach(change,ct2,"Extra")
tp=0
count=0
rerolled=false
while count<extrac do
local sg=Duel.GetFieldGroup(tp,LOCATION_MZONE|LOCATION_SZONE,LOCATION_MZONE|LOCATION_SZONE)
if rerollCard[1-tp] then
sg:RemoveCard(rerollCard[1-tp])
end
if rerollCard[tp] and rerolled then
sg:RemoveCard(rerollCard[tp])
end
local sc=sg:Select(tp,1,1,nil):GetFirst()
if sc==rerollCard[tp] then
cg1:ForEach(change,ct1,"Extra")
cg2:ForEach(change,ct2,"Extra")
rerolled=true
reroll[tp]=reroll[tp]-1
if reroll[tp]==0 then
Duel.Exile(rerollCard[tp],REASON_RULE)
rerollCard[tp]=nil
else
rerollCard[tp]:SetEntityCode(rerollc[reroll[tp]],true)
end
else
if ct1[sc] then
Duel.SendtoDeck(Duel.CreateToken(tp,ct1[sc]),tp,0,REASON_RULE)
change(sc,ct1,"Extra")
else
Duel.SendtoDeck(Duel.CreateToken(tp,ct2[sc]),tp,0,REASON_RULE)
change(sc,ct2,"Extra")
end
if tp==1 then
count=count+1
end
tp=1-tp
rerolled=false
end
end
Duel.Exile(Duel.GetFieldGroup(0,LOCATION_MZONE|LOCATION_SZONE,LOCATION_MZONE|LOCATION_SZONE),REASON_RULE)
end
function this.fullrandom(mainc,extrac)
for i=0,1 do
Duel.SelectYesNo(i,aux.Stringid(cc,15))
local mg=Group.CreateGroup()
local eg=Group.CreateGroup()
for _,v in pairs(this.ccGen("Main",mainc)) do
mg:AddCard(Duel.CreateToken(i,v))
end
Duel.SendtoDeck(mg,i,0,REASON_RULE)
for _,v in pairs(this.ccGen("Extra",extrac)) do
eg:AddCard(Duel.CreateToken(i,v))
end
Duel.SendtoDeck(eg,i,0,REASON_RULE)
mg:DeleteGroup()
eg:DeleteGroup()
Duel.SelectYesNo(i,aux.Stringid(cc,15))
end
end
function this.reroll(tp)
local ct=3
while ct>0 and Duel.SelectYesNo(tp,aux.Stringid(cc,12)) do
local g=Duel.GetFieldGroup(tp,LOCATION_HAND,0)
Duel.SendtoDeck(g,tp,0,REASON_RULE)
Duel.ShuffleDeck(tp)
Duel.Draw(tp,#g-1,REASON_RULE)
ct=ct-1
end
end
\ No newline at end of file
--平安时代的歌仙-小·町
local m=20100501
local cm=_G["c"..m]
Duel.LoadScript("c20100000.lua")
function cm.initial_effect(c)
aux.AddCodeList(c,20100500)
C9.KomachiMonster(c,m)
local e1=Effect.CreateEffect(c)
e1:SetProperty(EFFECT_FLAG_DELAY)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e1:SetCode(EVENT_SPSUMMON_SUCCESS)
e1:SetCost(cm.cost)
e1:SetTarget(cm.tg)
e1:SetCountLimit(1,m+2)
e1:SetLabel(0)
e1:SetOperation(cm.op)
c:RegisterEffect(e1)
local e2=e1:Clone()
e2:SetCode(EVENT_SUMMON_SUCCESS)
c:RegisterEffect(e2)
end
function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
e:SetLabel(100)
if chk==0 then return true end
end
function cm.costfilter(c)
return c:IsSetCard(0x3c92) and c:IsType(TYPE_MONSTER) and c:IsAbleToGraveAsCost() and not c:IsCode(m)
end
function cm.tg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then
if e:GetLabel()~=100 then return false end
e:SetLabel(0)
return Duel.IsExistingMatchingCard(cm.costfilter,tp,LOCATION_DECK,0,1,nil) and Duel.IsExistingTarget(Card.IsCode,tp,0,LOCATION_MZONE,1,nil,20100500)
end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
local g=Duel.SelectMatchingCard(tp,cm.costfilter,tp,LOCATION_DECK,0,1,1,nil)
Duel.SendtoGrave(g,REASON_COST)
g:KeepAlive()
e:SetLabelObject(g)
end
function cm.op(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_OPPO)
local sg0=Duel.SelectMatchingCard(tp,Card.IsCode,tp,0,LOCATION_MZONE,1,1,nil,20100500)
if #sg0==0 then return end
local tc=sg0:GetFirst()
if not tc:IsImmuneToEffect(e) then
local gc=e:GetLabelObject():GetFirst()
local m=_G["c"..gc:GetCode()]
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_SINGLE)
e3:SetCode(EFFECT_CHANGE_TYPE)
e3:SetValue(TYPE_MONSTER+TYPE_EFFECT)
e3:SetReset(C9.S_Reset)
tc:RegisterEffect(e3,true)
local he=m.huyuurei_effect
he:SetReset(C9.S_Reset)
tc:RegisterEffect(he)
--splimit
local e5=Effect.CreateEffect(c)
e5:SetType(EFFECT_TYPE_FIELD)
e5:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e5:SetRange(LOCATION_MZONE)
e5:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
e5:SetTargetRange(0,1)
e5:SetReset(C9.S_Reset)
e5:SetTarget(function(e,c) return not c:IsRace(RACE_PSYCHO) end)
local e6=e5:Clone()
e6:SetCode(EFFECT_CANNOT_SUMMON)
tc:RegisterEffect(e5)
tc:RegisterEffect(e6)
local id=gc:GetOriginalCode()
tc:RegisterFlagEffect(id,C9.S_Reset,EFFECT_FLAG_CLIENT_HINT,1,0,aux.Stringid(id,0))
end
end
\ No newline at end of file
--困窘零落的船夫-小·町
local m=20100502
local cm=_G["c"..m]
Duel.LoadScript("c20100000.lua")
function cm.initial_effect(c)
aux.AddCodeList(c,20100500)
--huyuurei_effect
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetDescription(aux.Stringid(m,0))
e1:SetCategory(CATEGORY_SEARCH+CATEGORY_TOHAND)
e1:SetRange(LOCATION_MZONE)
e1:SetCountLimit(1)
e1:SetProperty(EFFECT_FLAG_BOTH_SIDE)
e1:SetCondition(function (e,tp) return tp~=e:GetHandlerPlayer() end)
e1:SetTarget(cm.tg)
e1:SetOperation(cm.op)
cm.huyuurei_effect=e1
C9.KomachiMonster(c,m)
end
function cm.filter(c)
return c:IsSetCard(0x3c92) and c:IsAbleToHand() and c:IsType(TYPE_MONSTER)
end
function cm.tg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(cm.filter,tp,LOCATION_DECK,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK)
end
function cm.op(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,cm.filter,tp,LOCATION_DECK,0,1,1,nil)
if g:GetCount()>0 then
Duel.SendtoHand(g,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g)
end
end
\ No newline at end of file
--三途河的引路人-小·町
local m=20100504
local cm=_G["c"..m]
Duel.LoadScript("c20100000.lua")
function cm.initial_effect(c)
aux.AddCodeList(c,20100500)
--huyuurei_effect
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetDescription(aux.Stringid(m,0))
e1:SetCategory(CATEGORY_SEARCH+CATEGORY_TOHAND)
e1:SetRange(LOCATION_MZONE)
e1:SetCountLimit(1)
e1:SetProperty(EFFECT_FLAG_BOTH_SIDE)
e1:SetCondition(function (e,tp) return tp~=e:GetHandlerPlayer() end)
e1:SetTarget(cm.tg)
e1:SetOperation(cm.op)
cm.huyuurei_effect=e1
C9.KomachiMonster(c,m)
end
function cm.filter(c)
return c:IsAbleToHand() and c:IsType(TYPE_SPELL+TYPE_TRAP) and aux.IsCodeListed(c,20100500)
end
function cm.tg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(cm.filter,tp,LOCATION_DECK,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK)
end
function cm.op(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,cm.filter,tp,LOCATION_DECK,0,1,1,nil)
if g:GetCount()>0 then
Duel.SendtoHand(g,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g)
end
end
\ No newline at end of file
--川雾里的摆渡人-小·町
local m=20100506
local cm=_G["c"..m]
Duel.LoadScript("c20100000.lua")
function cm.initial_effect(c)
aux.AddCodeList(c,20100500)
--huyuurei_effect
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_QUICK_O)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetDescription(aux.Stringid(m,0))
e1:SetRange(LOCATION_MZONE)
e1:SetCountLimit(1)
e1:SetProperty(EFFECT_FLAG_BOTH_SIDE)
e1:SetCondition(function (e,tp) return tp~=e:GetHandlerPlayer() end)
e1:SetTarget(cm.tg)
e1:SetOperation(cm.op)
cm.huyuurei_effect=e1
C9.KomachiMonster(c,m)
end
function cm.GetFartherSequence(c,h) --获取c距离h最远的区域并返回序号,没有的场合返回false
local tp=h:GetControler()
local seq1=c:GetSequence()
local seq2=h:GetSequence()
local p=(seq1>seq2) and 1 or -1
for i = 2+2*p,seq1+p,-p do
if Duel.CheckLocation(tp,LOCATION_MZONE,i) then return i end
end
return false
end
function cm.GetCloserSequence(c,h) --获取c距离h最远的区域并返回序号,没有的场合返回false
local tp=h:GetControler()
local seq1=c:GetSequence()
local seq2=h:GetSequence()
local p=(seq1>seq2) and 1 or -1
for i = seq2+p, seq1-p,p do
if Duel.CheckLocation(tp,LOCATION_MZONE,i) then return i end
end
return false
end
function cm.tg(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
local closer=Duel.IsExistingMatchingCard(cm.GetCloserSequence,c:GetControler(),LOCATION_MZONE,0,1,c,c)
local farther=Duel.IsExistingMatchingCard(cm.GetFartherSequence,c:GetControler(),LOCATION_MZONE,0,1,c,c)
if chk==0 then return closer or farther end
local a=0
if not closer then a=1 end
if closer and farther and Duel.SelectOption(tp,aux.Stringid(m,1),aux.Stringid(m,2))==1 then a=1 end
e:SetLabel(a)
end
function cm.opfilter(c)
return c:GetSequence()<=4
end
function cm.GetDistance(c,h)
return math.abs(c:GetSequence()-h:GetSequence())
end
function cm.op(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if not c:IsRelateToEffect(e) then return end
local op=e:GetLabel()
local p=c:GetControler()
local mg=Duel.GetMatchingGroup(cm.opfilter,p,LOCATION_MZONE,0,c)
if #mg==0 then return end
if op==0 then
while #mg>0 do
local tc=mg:GetMinGroup(cm.GetDistance,c):GetFirst()
local seq=cm.GetCloserSequence(tc,c)
if seq then
Duel.MoveSequence(tc,seq)
end
mg:RemoveCard(tc)
end
end
if op==1 then
while #mg>0 do
local tc=mg:GetMaxGroup(cm.GetDistance,c):GetFirst()
local seq=cm.GetFartherSequence(tc,c)
if seq then
Duel.MoveSequence(tc,seq)
end
mg:RemoveCard(tc)
end
end
end
\ No newline at end of file
--江户气质的死神-小·町
local m=20100508
local cm=_G["c"..m]
Duel.LoadScript("c20100000.lua")
function cm.initial_effect(c)
aux.AddCodeList(c,20100500)
--huyuurei_effect
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_UPDATE_ATTACK)
e1:SetRange(LOCATION_MZONE)
e1:SetTargetRange(LOCATION_MZONE,0)
e1:SetTarget(cm.htg)
e1:SetValue(-2000)
cm.huyuurei_effect=e1
C9.KomachiMonster(c,m)
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e3:SetCode(EVENT_PRE_DAMAGE_CALCULATE)
e3:SetRange(LOCATION_MZONE)
e3:SetOperation(cm.cost)
c:RegisterEffect(e3)
--Change types
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_F)
e2:SetCode(EVENT_BATTLED)
e2:SetProperty(EFFECT_FLAG_DAMAGE_STEP)
e2:SetRange(LOCATION_MZONE)
e2:SetCondition(cm.con)
e2:SetOperation(cm.op)
c:RegisterEffect(e2)
end
function cm.htg(e,c)
return math.abs(e:GetHandler():GetSequence()-c:GetSequence())==1
end
function cm.con(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if not c:IsRelateToBattle() then return false end
local bt=c:GetBattleTarget()
if not bt or bt:IsCode(20100500) then return false end
return bt:IsRelateToBattle() and not c:IsStatus(STATUS_BATTLE_DESTROYED)
end
function cm.cost(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local at=c:GetBattleTarget()
if at and not at:IsCode(20100500) then
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_INDESTRUCTABLE_BATTLE)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e1:SetValue(1)
e1:SetReset(RESET_PHASE+PHASE_DAMAGE)
at:RegisterEffect(e1)
end
end
function cm.op(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local bt=c:GetBattleTarget()
if not c:IsRelateToBattle() or not bt:IsRelateToBattle() then return end
if not bt:IsImmuneToEffect(e) then
if bt:IsType(TYPE_EFFECT) then bt:ReplaceEffect(20100500,C9.S_Reset) end
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_SET_ATTACK_FINAL)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e1:SetValue(0)
e1:SetReset(C9.S_Reset)
bt:RegisterEffect(e1,true)
local e2=e1:Clone()
e2:SetCode(EFFECT_SET_DEFENSE_FINAL)
bt:RegisterEffect(e2,true)
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_SINGLE)
e3:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e3:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e3:SetRange(LOCATION_MZONE)
e3:SetCode(EFFECT_CHANGE_CODE)
e3:SetValue(20100500)
e3:SetReset(C9.S_Reset)
bt:RegisterEffect(e3,true)
end
end
--引渡灵魂的舵手-小·町
local m=20100510
local cm=_G["c"..m]
Duel.LoadScript("c20100000.lua")
function cm.initial_effect(c)
aux.AddCodeList(c,20100500)
--huyuurei_effect
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_CANNOT_ATTACK)
e1:SetRange(LOCATION_MZONE)
e1:SetTargetRange(LOCATION_MZONE,0)
e1:SetTarget(cm.htg)
cm.huyuurei_effect=e1
C9.KomachiMonster(c,m)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetCategory(CATEGORY_DESTROY+CATEGORY_DAMAGE)
e2:SetRange(LOCATION_MZONE)
e2:SetCountLimit(1,m+1)
e2:SetTarget(cm.tg)
e2:SetOperation(cm.op)
c:RegisterEffect(e2)
end
function cm.htg(e,c)
return math.abs(e:GetHandler():GetSequence()-c:GetSequence())==1
end
function cm.tg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(Card.IsCode,tp,0,LOCATION_MZONE,1,nil,20100500) end
local hg=Duel.GetMatchingGroup(Card.IsCode,tp,0,LOCATION_MZONE,nil,20100500)
Duel.SetOperationInfo(0,CATEGORY_DESTROY,hg,hg:GetCount(),0,0)
Duel.SetOperationInfo(0,CATEGORY_DAMAGE,nil,0,1-tp,#hg*1500)
end
function cm.op(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local hg=Duel.GetMatchingGroup(Card.IsCode,tp,0,LOCATION_MZONE,nil,20100500)
if #hg>0 then
local dc=Duel.Destroy(hg,REASON_EFFECT)
if dc>0 then
Duel.BreakEffect()
Duel.Damage(1-tp,dc*1500,REASON_EFFECT)
end
end
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetCode(EFFECT_CANNOT_SUMMON)
e1:SetLabel(tp)
e1:SetTargetRange(1,0)
e1:SetTarget(function(e,c,sump,sumtype,sumpos,targetp,se)
if targetp and targetp~=e:GetLabel() then return false end
return not c:IsRace(RACE_PSYCHO)
end)
e1:SetReset(C9.E_Reset)
Duel.RegisterEffect(e1,tp)
local e2=e1:Clone()
e2:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
Duel.RegisterEffect(e2,tp)
end
\ No newline at end of file
--彼远端的领航者-小·町
local m=20100512
local cm=_G["c"..m]
Duel.LoadScript("c20100000.lua")
function cm.initial_effect(c)
aux.AddCodeList(c,20100500)
--huyuurei_effect
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetRange(LOCATION_MZONE)
e1:SetTargetRange(LOCATION_MZONE,0)
e1:SetCode(EFFECT_UNRELEASABLE_SUM)
e1:SetTarget(cm.htg)
e1:SetValue(1)
cm.huyuurei_effect=e1
C9.KomachiMonster(c,m)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetRange(LOCATION_MZONE)
e2:SetCategory(CATEGORY_DESTROY+CATEGORY_DAMAGE)
e2:SetProperty(EFFECT_FLAG_CARD_TARGET)
e2:SetCountLimit(1,m+1)
e2:SetTarget(cm.tg)
e2:SetOperation(cm.op)
c:RegisterEffect(e2)
end
function cm.htg(e,c)
return math.abs(e:GetHandler():GetSequence()-c:GetSequence())==1
end
function cm.filter(c,tp,x1,y1)
if c:IsLocation(LOCATION_FZONE) then return false end
local x,y=C9.GetCoordinate(c,tp)
return (math.abs(x-x1)+math.abs(y-y1))==1
end
function cm.tg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsCode(20100500) and chkc:IsControler(1-tp) and chkc:IsCanBeEffectTarget(e) and chkc:IsLocation(LOCATION_MZONE) end
if chk==0 then return Duel.IsExistingTarget(Card.IsCode,tp,0,LOCATION_MZONE,1,nil,20100500) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TARGET)
local sh=Duel.SelectTarget(tp,Card.IsCode,tp,0,LOCATION_MZONE,1,1,nil,20100500)
local x,y=C9.GetCoordinate(sh:GetFirst(),tp)
local ng=Duel.GetMatchingGroup(cm.filter,tp,0,LOCATION_ONFIELD,nil,tp,x,y)
ng:Merge(sh)
Duel.SetOperationInfo(0,CATEGORY_DESTROY,ng,ng:GetCount(),0,0)
Duel.SetOperationInfo(0,CATEGORY_DAMAGE,nil,0,1-tp,800)
end
function cm.op(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local hc=Duel.GetFirstTarget()
C9.RE_Check(hc,e)
local x,y=C9.GetCoordinate(hc,tp)
local ng=Duel.GetMatchingGroup(cm.filter,tp,0,LOCATION_ONFIELD,nil,tp,x,y)
ng:Merge(hc)
if Duel.Destroy(ng,REASON_EFFECT)>0 then
Duel.BreakEffect()
Duel.Damage(1-tp,800,REASON_EFFECT)
end
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetCode(EFFECT_CANNOT_SUMMON)
e1:SetLabel(tp)
e1:SetTargetRange(1,0)
e1:SetTarget(function(e,c,sump,sumtype,sumpos,targetp,se)
if targetp and targetp~=e:GetLabel() then return false end
return not c:IsRace(RACE_PSYCHO)
end)
e1:SetReset(C9.E_Reset)
Duel.RegisterEffect(e1,tp)
local e2=e1:Clone()
e2:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
Duel.RegisterEffect(e2,tp)
end
\ No newline at end of file
--浮·生·尽·头·皆·小·町
local m=20100514
local cm=_G["c"..m]
Duel.LoadScript("c20100000.lua")
function cm.initial_effect(c)
aux.AddCodeList(c,20100500)
--to grave
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_TOGRAVE)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCountLimit(1,m+EFFECT_COUNT_CODE_OATH)
e1:SetOperation(cm.activate)
c:RegisterEffect(e1)
--sp from GY
local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_FIELD)
e4:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e4:SetCode(m)
e4:SetRange(LOCATION_FZONE)
e4:SetTargetRange(1,0)
c:RegisterEffect(e4)
--cannot be target
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e2:SetCode(EFFECT_INDESTRUCTABLE_EFFECT)
e2:SetRange(LOCATION_FZONE)
e2:SetCondition(cm.idcon)
e2:SetValue(1)
c:RegisterEffect(e2)
local e3=e2:Clone()
e3:SetCode(EFFECT_CANNOT_BE_EFFECT_TARGET)
c:RegisterEffect(e3)
end
function cm.filter(c)
return c:IsSetCard(0x3c92) and c:IsAbleToGrave()
end
function cm.activate(e,tp,eg,ep,ev,re,r,rp)
if not e:GetHandler():IsRelateToEffect(e) then return end
local g=Duel.GetMatchingGroup(cm.filter,tp,LOCATION_DECK,0,nil)
if g:GetCount()>0 and Duel.SelectYesNo(tp,aux.Stringid(m,0)) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
local sg=g:Select(tp,1,1,nil)
Duel.SendtoGrave(sg,REASON_EFFECT)
end
end
function cm.idcon(e)
return Duel.IsExistingMatchingCard(Card.IsCode,e:GetHandlerPlayer(),0,LOCATION_MZONE,1,nil,20100500)
end
\ No newline at end of file
--地狱『无间之狭间』
local m=20100516
local cm=_G["c"..m]
Duel.LoadScript("c20100000.lua")
function cm.initial_effect(c)
aux.AddCodeList(c,20100500)
--to grave
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCountLimit(1,m+EFFECT_COUNT_CODE_OATH)
e1:SetOperation(cm.activate)
c:RegisterEffect(e1)
end
function cm.GetAdjacentZone(c,op)
if not c:IsLocation(LOCATION_ONFIELD) then return nil end
local zone=0
local seq=c:GetSequence()
if seq>4 then return nil end
if seq>0 then zone=zone | 2^(seq-1) end
if seq<4 then zone=zone | 2^(seq+1) end
if c:IsLocation(LOCATION_SZONE) then zone=zone<<8 end
if op then zone=zone<<16 end
return zone
end
function cm.activate(e,tp,eg,ep,ev,re,r,rp)
local tpl=Duel.GetTurnPlayer()
local ct=2
if tpl==tp then ct=3 end
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_MUST_USE_MZONE)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetTargetRange(0,1)
e1:SetLabel(tp)
e1:SetValue(cm.frcval)
e1:SetReset(C9.E_Reset,ct)
Duel.RegisterEffect(e1,tp)
end
function cm.frcval(e,c,fp,rp,r)
local p=e:GetLabel()
if rp==p then return 0xffffff end
local hg=Duel.GetMatchingGroup(Card.IsCode,p,0,LOCATION_MZONE,nil,20100500)
if #hg==0 then return 0xffffffff end
local zone=0
local hc=hg:GetFirst()
local a,b=false,false
while hc do
local z1=cm.GetAdjacentZone(hc,true)
zone=zone | z1
local seq=hc:GetSequence()
if seq>0 and Duel.CheckLocation(1-p,LOCATION_MZONE,seq-1) then a=true end
if seq<4 and Duel.CheckLocation(1-p,LOCATION_MZONE,seq+1) then b=true end
hc=hg:GetNext()
end
if a or b then
return zone | 0x600060
else
return 0xffffffff
end
end
\ No newline at end of file
--魂符『魂之游戏』
local m=20100517
local cm=_G["c"..m]
Duel.LoadScript("c20100000.lua")
function cm.initial_effect(c)
aux.AddCodeList(c,20100500)
--act in hand
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_TRAP_ACT_IN_HAND)
e1:SetCondition(function(e)
return Duel.GetFieldGroupCount(e:GetHandlerPlayer(),LOCATION_EXTRA,0)==0
end)
c:RegisterEffect(e1)
--move
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_ACTIVATE)
e2:SetCode(EVENT_FREE_CHAIN)
e2:SetCategory(CATEGORY_DISABLE)
e2:SetProperty(EFFECT_FLAG_CARD_TARGET)
e2:SetTarget(cm.tg)
e2:SetOperation(cm.op)
c:RegisterEffect(e2)
end
function cm.tg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsControler(1-tp) and chkc:IsCode(20100500) end
if chk==0 then return Duel.IsExistingTarget(Card.IsCode,tp,0,LOCATION_MZONE,1,nil,20100500)
and Duel.GetLocationCount(1-tp,LOCATION_MZONE,PLAYER_NONE,0)>0
end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TARGET)
local sg=Duel.SelectTarget(tp,Card.IsCode,tp,0,LOCATION_MZONE,1,1,nil,20100500)
end
function cm.dfilter(c,seq1,seq2)
if c:IsDisabled() or c:IsType(TYPE_NORMAL) then return false end
return C9.IsBetween(c:GetSequence(),seq1,seq2)
end
function cm.op(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget()
if not tc:IsRelateToEffect(e) or Duel.GetLocationCount(1-tp,LOCATION_MZONE,PLAYER_NONE,0)<1 then return end
if tc:IsImmuneToEffect(e) then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOZONE)
local s=Duel.SelectDisableField(tp,1,0,LOCATION_MZONE,0)
local nseq=math.log(s,2)-16
local seq1=tc:GetSequence()
Duel.MoveSequence(tc,nseq)
local seq2=tc:GetSequence()
if seq1~=seq2 then
Duel.BreakEffect()
local dg=Duel.GetMatchingGroup(cm.dfilter,tp,0,LOCATION_MZONE,nil,seq1,seq2)
local nc=dg:GetFirst()
while nc do
local e1=Effect.CreateEffect(tc)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_DISABLE)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e1:SetReset(C9.S_Reset)
nc:RegisterEffect(e1)
local e2=e1:Clone()
e2:SetCode(EFFECT_DISABLE_EFFECT)
e2:SetValue(RESET_TURN_SET)
nc:RegisterEffect(e2)
if nc:IsType(TYPE_TRAPMONSTER) then
local e3=e1:Clone()
e3:SetCode(EFFECT_DISABLE_TRAPMONSTER)
nc:RegisterEffect(e3)
end
nc=dg:GetNext()
end
end
end
--死符『区别死者之镰』
local m=20100518
local cm=_G["c"..m]
Duel.LoadScript("c20100000.lua")
function cm.initial_effect(c)
aux.AddCodeList(c,20100500)
--Destroy
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_ACTIVATE)
e2:SetCode(EVENT_FREE_CHAIN)
e2:SetCategory(CATEGORY_DESTROY)
e2:SetProperty(EFFECT_FLAG_CARD_TARGET)
e2:SetCountLimit(1,m+EFFECT_COUNT_CODE_OATH)
e2:SetTarget(cm.tg)
e2:SetOperation(cm.op)
c:RegisterEffect(e2)
end
function cm.filter2(c,tp,x1,y1,distance)
if c:IsLocation(LOCATION_FZONE) then return false end
local x,y=C9.GetCoordinate(c,tp)
return (math.abs(x-x1)+math.abs(y-y1))==distance
end
function cm.filter1(c,tp,distance)
if not c:IsCode(20100500) then return false end
local x,y=C9.GetCoordinate(c,tp)
return Duel.IsExistingMatchingCard(cm.filter2,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,c,tp,x,y,distance)
end
function cm.tg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return end
if chk==0 then return Duel.IsExistingTarget(cm.filter1,tp,0,LOCATION_MZONE,1,nil,tp,2) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TARGET)
local sh=Duel.SelectTarget(tp,cm.filter1,tp,0,LOCATION_MZONE,1,1,nil,tp,2)
local x,y=C9.GetCoordinate(sh:GetFirst(),tp)
local dg=Duel.GetMatchingGroup(cm.filter2,tp,0,LOCATION_ONFIELD,sh:GetFirst(),tp,x,y,2)
Duel.SetOperationInfo(0,CATEGORY_DESTROY,dg,dg:GetCount(),0,0)
end
function cm.op(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget()
C9.RE_Check(tc,e)
local x,y=C9.GetCoordinate(tc,tp)
local dg=Duel.GetMatchingGroup(cm.filter2,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,tc,tp,x,y,2)
local dg1=Duel.GetMatchingGroup(cm.filter2,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,tc,tp,x,y,1)
if #dg>0 and Duel.Destroy(dg,REASON_EFFECT)>2 and #dg1>0 and Duel.SelectYesNo(tp,aux.Stringid(m,0)) then
Duel.Destroy(dg1,REASON_EFFECT)
end
end
--魂符『生魂流离之镰』
local m=20100519
local cm=_G["c"..m]
Duel.LoadScript("c20100000.lua")
function cm.initial_effect(c)
aux.AddCodeList(c,20100500)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET+EFFECT_FLAG_DAMAGE_STEP)
e1:SetCountLimit(1,m+EFFECT_COUNT_CODE_OATH)
e1:SetTarget(cm.tg)
e1:SetOperation(cm.op)
c:RegisterEffect(e1)
end
function cm.tg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return C9.SetCardCheck(chkc,0x3c92) and chkc:IsControler(tp) end
if chk==0 then return Duel.IsExistingTarget(C9.SetCardCheck,tp,LOCATION_MZONE,0,1,nil,0x3c92) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TARGET)
Duel.SelectTarget(tp,C9.SetCardCheck,tp,LOCATION_MZONE,0,1,1,nil,0x3c92)
if Duel.GetFieldGroupCount(e:GetHandlerPlayer(),LOCATION_EXTRA,0)==0 and e:IsHasType(EFFECT_TYPE_ACTIVATE) then
Duel.SetChainLimit(function (e,ep,tp) return tp==ep end)
end
end
function cm.actcon(e)
local c=e:GetHandler()
return (Duel.GetAttacker()==c or Duel.GetAttackTarget()==c) and e:GetOwnerPlayer()==e:GetHandlerPlayer()
end
function cm.aop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
c:RegisterFlagEffect(m,C9.SE_Reset,0,1)
end
function cm.op(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget()
local c=e:GetHandler()
C9.RE_Check(tc,e)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_UPDATE_ATTACK)
e1:SetReset(C9.SE_Reset)
e1:SetValue(1400)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD)
e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e2:SetCode(EFFECT_CANNOT_ACTIVATE)
e2:SetRange(LOCATION_MZONE)
e2:SetTargetRange(0,1)
e2:SetCondition(cm.actcon)
e2:SetValue(1)
e2:SetReset(C9.SE_Reset)
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_SINGLE)
e3:SetCode(EFFECT_PIERCE)
e3:SetReset(C9.SE_Reset)
local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_SINGLE)
e4:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e4:SetRange(LOCATION_MZONE)
e4:SetCode(EFFECT_EXTRA_ATTACK_MONSTER)
e4:SetValue(2)
e4:SetReset(C9.SE_Reset)
local e5=Effect.CreateEffect(c)
e5:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e5:SetCode(EVENT_ATTACK_ANNOUNCE)
e5:SetRange(LOCATION_MZONE)
e5:SetOperation(cm.aop)
e5:SetReset(C9.SE_Reset)
local e6=Effect.CreateEffect(c)
e6:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_SINGLE)
e6:SetCode(EVENT_PRE_BATTLE_DAMAGE)
e6:SetRange(LOCATION_MZONE)
e6:SetCondition(function (e,tp,eg,ep,ev,re,r,rp) return e:GetHandler():GetFlagEffect(m)==3 end)
e6:SetOperation(function (e,tp,eg,ep,ev,re,r,rp) Duel.ChangeBattleDamage(ep,ev+2000) end)
e6:SetReset(C9.SE_Reset)
C9.RegisterEffect_Batch(tc,e1,e2,e3,e4,e5,e6)
end
--脱魂的仪式
local m=20100520
local cm=_G["c"..m]
Duel.LoadScript("c20100000.lua")
function cm.initial_effect(c)
aux.AddCodeList(c,20100500)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCategory(CATEGORY_CONTROL)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCountLimit(1,m+EFFECT_COUNT_CODE_OATH)
e1:SetTarget(cm.tg)
e1:SetOperation(cm.op)
c:RegisterEffect(e1)
end
function cm.filter1(c,tp)
local seq=c:GetSequence()
return c:IsCode(20100500) and Duel.IsExistingMatchingCard(cm.filter2,tp,0,LOCATION_MZONE,2,c,seq)
end
function cm.filter2(c,seq)
if c:GetSequence()>4 then return false end
return math.abs(c:GetSequence()-seq)==1
end
function cm.tg(e,tp,eg,ep,ev,re,r,rp,chk)
local hg=Duel.GetMatchingGroup(cm.filter1,tp,0,LOCATION_MZONE,nil,tp)
local tc=hg:GetFirst()
local cg=Group.CreateGroup()
while tc do
local ng=Duel.GetMatchingGroup(cm.filter2,tp,0,LOCATION_MZONE,tc,tc:GetSequence())
cg:Merge(ng)
tc=hg:GetNext()
end
local ccg=cg:FilterCount(Card.IsControlerCanBeChanged,nil)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE,tp,LOCATION_REASON_CONTROL)>0 and #hg>0 and ccg>0 end
Duel.SetOperationInfo(0,CATEGORY_CONTROL,cg,1,0,0)
end
function cm.op(e,tp,eg,ep,ev,re,r,rp)
local cz=Duel.GetLocationCount(tp,LOCATION_MZONE,tp,LOCATION_REASON_CONTROL)
local hg=Duel.GetMatchingGroup(cm.filter1,tp,0,LOCATION_MZONE,nil,tp)
if #hg*cz<1 then return end
local tc=hg:GetFirst()
local cg=Group.CreateGroup()
while tc do
local ng=Duel.GetMatchingGroup(cm.filter2,tp,0,LOCATION_MZONE,tc,tc:GetSequence())
cg:Merge(ng)
tc=hg:GetNext()
end
local ccg=cg:Filter(Card.IsControlerCanBeChanged,nil)
local ct=math.min(#ccg,cz)
if ct>0 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_CONTROL)
local scg=ccg:Select(tp,1,ct,nil)
Duel.GetControl(scg,tp)
end
end
\ No newline at end of file
--投钱『隔夜钱』
local m=20100521
local cm=_G["c"..m]
Duel.LoadScript("c20100000.lua")
function cm.initial_effect(c)
aux.AddCodeList(c,20100500)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH)
e1:SetCountLimit(1,m+EFFECT_COUNT_CODE_OATH)
e1:SetCost(cm.cost)
e1:SetTarget(cm.tg)
e1:SetOperation(cm.op)
c:RegisterEffect(e1)
end
function cm.cfilter(c)
return aux.IsCodeListed(c,20100500) and c:IsAbleToGraveAsCost()
end
function cm.sfilter(c)
return aux.IsCodeListed(c,20100500) and c:IsAbleToHand()
end
function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(cm.cfilter,tp,LOCATION_ONFIELD+LOCATION_HAND,0,1,e:GetHandler()) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
local sg=Duel.SelectMatchingCard(tp,cm.cfilter,tp,LOCATION_ONFIELD+LOCATION_HAND,0,1,1,e:GetHandler())
Duel.SendtoGrave(sg,REASON_COST)
end
function cm.tg(e,tp,eg,ep,ev,re,r,rp,chk)
local g=Duel.GetMatchingGroup(cm.sfilter,tp,LOCATION_DECK+LOCATION_GRAVE,0,nil)
if chk==0 then return g:GetClassCount(Card.GetCode)>1 end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,2,tp,LOCATION_DECK+LOCATION_GRAVE)
if Duel.GetFieldGroupCount(e:GetHandlerPlayer(),LOCATION_EXTRA,0)==0 and e:IsHasType(EFFECT_TYPE_ACTIVATE) then
Duel.SetChainLimit(function(e,rp,tp) return tp==rp or not e:GetHandler():IsType(TYPE_MONSTER) end)
end
end
function cm.op(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetMatchingGroup(aux.NecroValleyFilter(cm.sfilter),tp,LOCATION_DECK+LOCATION_GRAVE,0,nil)
if g:GetClassCount(Card.GetCode)<2 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local tg1=g:Select(tp,1,1,nil)
g:Remove(Card.IsCode,nil,tg1:GetFirst():GetCode())
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local tg2=g:Select(tp,1,1,nil)
tg1:Merge(tg2)
Duel.SendtoHand(tg1,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,tg1)
end
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment