توضیحات پودمان[نمایش] [ویرایش] [تاریخچه] [پاکسازی]
در شبکه‌های اجتماعی
وی‌کی P3185   FALSE
لایو ژورنال P3258   FALSE
لایو ژورنال Q219523   FALSE
Career.Habr.com Q4299813   FALSE
My World@Mail.Ru Q4299858   FALSE
اودنوکلاسنیکی P5163   FALSE
بلاگر Q171186   FALSE
فیس‌بوک P2013   FALSE
فیس‌بوک P4003   FALSE
لینکداین P2035   FALSE
لینکداین P6634   FALSE
لینکداین P4264   FALSE
LiveInternet Q4043051   FALSE
مای‌اسپیس Q40629   FALSE
مای‌اسپیس P3265   FALSE
سینا ویبو P3579   FALSE
تلگرام P3789   FALSE
تلگرام Q15616276   FALSE
تامبلر Q384060   FALSE
توییتر P2002   FALSE
متن آثار
Digital Library of Armenian Literature P9528   FALSE
samlib.ru Q17195344   FALSE
پروژه گوتنبرگ P2034   FALSE
proza.ru Q4380129   FALSE
stihi.ru Q4442644   FALSE
fan.lib.ru Q17300505   FALSE
نگاره، ویدئو و صدا
اپل موزیک P2850   FALSE
بندکمپ P3283   FALSE
دیزر P2722   FALSE
دیزر P2723   FALSE
دیزر P2724   FALSE
فلیکر P3267   FALSE
گوگل پلی میوزیک P4198   FALSE
اینستاگرام P2003   FALSE
لست.اف‌ام P3192   FALSE
میکس‌کلاود Q6883832   FALSE
Musopen P2338   FALSE
PromoDj Q17117201   FALSE
روتیوب Q372827   FALSE
sound clud P3040   FALSE
sound clud Q568769   FALSE
اسپاتیفای P1902   FALSE
تیک‌تاک (شبکه اجتماعی) P7085   FALSE
ویمیو Q156376   FALSE
ویمیو P4015   FALSE
ياندکس میوزیک P1553   FALSE
ياندکس میوزیک P2819   FALSE
یوتیوب P2397   FALSE
یوتیوب Q866   FALSE
وبگاه‌های موضوعی
ՀՀ ԳԱԱ P5212   FALSE
Հայաստանի գրողների միություն P9606   FALSE
Հայաստանի կոմպոզիտորների միություն P9628   FALSE
Հանրային ռադիոյի արխիվ P9631   FALSE
ՀՄԴ-9 P493   FALSE
ՀՄԴ-9-ԿՄ P1692   FALSE
ՀՄԴ-10 P494   FALSE
ՀՄԴ-10-ԿՄ P4229   FALSE
ChEMBL P592   FALSE
DiseasesDB P557   FALSE
Drugbank P715   FALSE
eMedicine P673   FALSE
Foundational Model of Anatomy P1402   FALSE
GeneReviews P668   FALSE
GeoNames P1566   FALSE
Wikimapia P7678   FALSE
ГВР P884   FALSE
گیت‌هاب P2037   FALSE
گوگل اسکالر P1960   FALSE
HomoloGene P593   FALSE
IUPHAR P595   FALSE
JPL Small-Body Database P716   FALSE
ICPC 2 P667   FALSE
KEGG P665   FALSE
بایگانی تاریخچه ریاضیات مک‌تیوتر P1563   FALSE
MalaCards P1583   FALSE
پروژه تبارشناسی ریاضیات P549   FALSE
zbMATH Open Database P1556   FALSE
All-Russian Mathematical Portal P4252   FALSE
MedlinePlus P604   FALSE
NCI P1395   FALSE
NCI Thesaurus P1748   FALSE
Neurolex P696   FALSE
OMIM P492   FALSE
Open Hub P1972   FALSE
شناسهٔ آزاد پژوهشگران و نویسندگان P496   FALSE
PDB P638   FALSE
PubMed Health P653   FALSE
RefSeq P637   FALSE
RefSeq RNA P639   FALSE
ریسرچر آی‌دی P1053   FALSE
اسکوپوس P1153   FALSE
استراکچرا P2418   FALSE
Terminologia Anatomica 98 P1323   FALSE
UNII P652   FALSE
Vaccine Ontology P1928   FALSE
VIOLIN P1925   FALSE
ՀՀ Ազգային ժողով P5213   FALSE
INSEE P374   FALSE
Верховна рада P3391   FALSE
Герои страны P2943   FALSE
declarator.org P1883   FALSE
Եվրախորհրդարան P1186   FALSE
Բրիտանիայի խորհրդարան P1996   FALSE
Ռիկստագ P1214   FALSE
Слово i Дiло P7282   FALSE
Русская армия в Великой войне P6737   FALSE
ЧЕСНО P7145   FALSE
08euro.Ru P7111   FALSE
100 бомбардиров P6632   FALSE
247Sports P7397   FALSE
365chess P3314   FALSE
90minut P3605   FALSE
90minut P7453   FALSE
ACB (խաղացող) P3525   FALSE
ACB (մարզիչ) P6297   FALSE
AIC P6319   FALSE
All Blacks P3645   FALSE
ARRS P3653   FALSE
AS.com P3427   FALSE
ATP P536   FALSE
Barbarian F.C. P4493   FALSE
Baseball-Reference.com P1825   FALSE
Baseball-Reference.com (բացի MLB) P1826   FALSE
Basketball-Reference.com (խաղացող) P2685   FALSE
Basketball-Reference.com (մարզիչ) P4718   FALSE
Basketball-Reference.com (խաղացող) P4561   FALSE
Basketball-Reference.com (մարզիչ) P4720   FALSE
Basketball-Reference.com (Ջի-Լիգա) P4744   FALSE
Basketball-Reference.com (Եվրոպա) P4790   FALSE
BDFA P6188   FALSE
BDFutbol P3655   FALSE
BDFutbol P7488   FALSE
Beachsoccer.ru P6253   FALSE
Beach Volleyball Database P2800   FALSE
biathlon.com.ua P6386   FALSE
BoxRec P1967   FALSE
BSRussia P6252   FALSE
BWF P2729   FALSE
BWFbadminton.com P3620   FALSE
CanadaSoccer.com P7459   FALSE
Chess DB P1440   FALSE
Chess Games P1665   FALSE
Chess Tempo P3315   FALSE
College Football HoF P3044   FALSE
CQ Ranking P1541   FALSE
CQ Ranking P2709   FALSE
CUP2002.RU P7112   FALSE
Curlingzone.com P3556   FALSE
CycleBase P4508   FALSE
Cycling Archives P1409   FALSE
Diamond League P3923   FALSE
DraftExpress P3533   FALSE
Driver Database P3684   FALSE
Dynamomania.com P7395   FALSE
EFC P4475   FALSE
Elite Football P7343   FALSE
Elite Prospects (խաղացող) P2481   FALSE
Elite Prospects (մարզիչ) P4319   FALSE
ENARD P3958   FALSE
England Football Online (խաղացող) P6331   FALSE
England Football Online (խաղացող) P6330   FALSE
englandstats.com P7608   FALSE
EPCR P3666   FALSE
ESBL P4042   FALSE
EspritBleu P4050   FALSE
ESPN.com P3571   FALSE
ESPNFC.com P3681   FALSE
ESPNscrum P858   FALSE
eu-football.info (խաղացող) P3726   FALSE
eu-football.info P7435   FALSE
eu-football.info (մարզիչ) P7463   FALSE
eu-football.info P7492   FALSE
Euro04.Ru P7113   FALSE
Eurobasket.com (խաղացող) P3527   FALSE
Eurobasket.com (մարզիչ) P6865   FALSE
Eurohockey.com P2601   FALSE
EuroLeague (խաղացող) P3536   FALSE
EuroLeague (մարզիչ) P6866   FALSE
European Athletics P3766   FALSE
eWRC-results.com P3927   FALSE
FaroeSoccer (խաղացող) P6627   FALSE
FaroeSoccer (մարզիչ) P6628   FALSE
FEI P3111   FALSE
FIBT P2991   FALSE
FIL P2990   FALSE
FIS (դահուկներով մրցավազք) P2773   FALSE
FIS (դահուկավազք) P2772   FALSE
FIS (ֆրիսթայլ) P2774   FALSE
FIS (դահուկացատկ) P2775   FALSE
FIS (դահուկային բիաթլոն) P2776   FALSE
FIS (սնոուբորդ) P2777   FALSE
FIS (տելեմարկ) P6669   FALSE
FISA P2091   FALSE
FlashScore.com P7460   FALSE
FootballDatabase.eu P3537   FALSE
FootballDatabase.eu P7351   FALSE
FootballFacts.ru P3660   FALSE
FootballFacts.ru P7358   FALSE
footofeminin.fr P4262   FALSE
ForaDeJogo (խաղացող) P3046   FALSE
ForaDeJogo (մարզիչ) P3661   FALSE
ForaDeJogo P7412   FALSE
FSkate.ru P6624   FALSE
Fussballdaten.de P3538   FALSE
Fussballdaten.de P7495   FALSE
Futbolme P7399   FALSE
FIE P2423   FALSE
FIG P2696   FALSE
FINA P3408   FALSE
Germany06.Ru P7652   FALSE
Global Poker Index P3564   FALSE
Goratings P2805   FALSE
Gracenote P4397   FALSE
Handball123 P7002   FALSE
Hockey-Reference.com P3598   FALSE
hockeyDB P2602   FALSE
IAT P2780   FALSE
IAT P2778   FALSE
IAT P2779   FALSE
IBU P2459   FALSE
ICF P3689   FALSE
iDNES.cz P3663   FALSE
IFJ P4559   FALSE
IFSC P3690   FALSE
ISSF P2730   FALSE
ISU P2694   FALSE
IT’S RUGBY P3769   FALSE
ITF P599   FALSE
ITRA P3584   FALSE
ITTF P1364   FALSE
ITU P3604   FALSE
IWF P3667   FALSE
IWRP P4504   FALSE
J.League (խաղացող) P3565   FALSE
J.League (մարզիչ) P4048   FALSE
JudoInside P2767   FALSE
Juwra.com P3949   FALSE
K League P3053   FALSE
Kicker.de P6615   FALSE
L’Équipe P3665   FALSE
lapreferente.com P7359   FALSE
LevskiSofia.info (խաղացող) P6411   FALSE
LevskiSofia.info (մարզիչ) P6410   FALSE
LFB P4382   FALSE
LFH P4289   FALSE
LFP P3683   FALSE
LNH P4192   FALSE
LNV P4281   FALSE
LongSwimsDB P7232   FALSE
Mémoire du cyclisme P4516   FALSE
MLB P3541   FALSE
MLS P2398   FALSE
MotoGP.com P3928   FALSE
National Football Teams.com P2574   FALSE
National Wrestling Hall of Fame P6688   FALSE
NFL P3539   FALSE
Olympic Channel P5815   FALSE
OnsOranje P5158   FALSE
PlusLiga P7551   FALSE
Pro Football Hall of Fame P6930   FALSE
Pro-Football-Reference.com (խաղացող) P3561   FALSE
Pro-Football-Reference.com (մարզիչ) P6836   FALSE
ProCyclingStats P1663   FALSE
racing-reference P3048   FALSE
Rallye-info.com P3930   FALSE
RealGM P3957   FALSE
Red Bull P3883   FALSE
Reprezentacija.rs P3908   FALSE
Rivals.com P7339   FALSE
Rollerstory.net P7146   FALSE
Romanian Soccer P6399   FALSE
Rugby League Project P6881   FALSE
Sambafoot P3668   FALSE
Sherdog P2818   FALSE
ShorttrackOnLine.info P3693   FALSE
ski-db.com P3619   FALSE
Soccerbase (խաղացող) P2193   FALSE
Soccerbase (դատավոր) P7465   FALSE
Soccerbase (մարզիչ) P2195   FALSE
Soccerbase P7454   FALSE
soccerdonna.de P4381   FALSE
Soccerway P2369   FALSE
Soccerway P6131   FALSE
Soccerway P7494   FALSE
Speedskatingbase.eu P2350   FALSE
SpeedSkatingNews.info P3694   FALSE
SpeedskatingResults.com P4314   FALSE
SpeedSkatingStats P3695   FALSE
Sportbox.ru P4421   FALSE
sports.md P6401   FALSE
Sports-Reference.com P1447   FALSE
Sports-Reference.com (քոլեջ) P3696   FALSE
Sports-Reference.com (մարզիչ) P4751   FALSE
StadiumDB P5288   FALSE
Strava P5283   FALSE
svenskfotboll.se P1238   FALSE
Swimrankings.net P2640   FALSE
SwimSwam P4315   FALSE
Taekwondo Data P2987   FALSE
teams.by P6321   FALSE
teams.by P7490   FALSE
The Hendon Mob P6146   FALSE
Peakbagger P7278   FALSE
playmarkerstats.com (խաղացող) P3047   FALSE
playmarkerstats.com (մարզիչ) P6316   FALSE
playmarkerstats.com (դատավոր) P6315   FALSE
playmarkerstats.com P7280   FALSE
playmarkerstats.com P7493   FALSE
TheSports.org P4391   FALSE
THW Kiel P4263   FALSE
Tilastopaja P3882   FALSE
Tilastopaja P3884   FALSE
Track and Field Statistics P3924   FALSE
Track and Field Statistics P3925   FALSE
Transfermarkt (դատավոր) P3699   FALSE
Transfermarkt (խաղացող) P2446   FALSE
Transfermarkt (մարզիչ) P2447   FALSE
Transfermarkt P7223   FALSE
Transfermarkt P7455   FALSE
TuttoCalciatori.Net (խաղացող) P7036   FALSE
TuttoCalciatori.Net (մարզիչ) P7035   FALSE
UIPM P2726   FALSE
UltraSignup P3585   FALSE
Vesti.kz P6215   FALSE
Voetbalstats P5742   FALSE
World Athletics P1146   FALSE
World Curling Tour P3556   FALSE
WorldCup10.Ru P7115   FALSE
worldfootball.net (խաղացող) P2020   FALSE
worldfootball.net (դատավոր) P6314   FALSE
worldfootball.net P7287   FALSE
worldfootball.net P7441   FALSE
WorldofVolley P5789   FALSE
WorldReferee.com P7436   FALSE
WorldSBK.com P4076   FALSE
WSOP P3554   FALSE
X Games P4893   FALSE
Спорт-страна.ру P6416   FALSE
Ադրիատիկ լիգա P6850   FALSE
ԱԽԼ P3522   FALSE
Աղեղնաձգության համաշխարհային ֆեդերացիա P3010   FALSE
ԱՄՆ օլիմպիական կոմիտե P4063   FALSE
Առագաստանավային սպորտի միջազգային ֆեդերացիա P2804   FALSE
Ավստրալիայի օլիմպիական կոմիտե P3682   FALSE
ԲԿՄԱ P6613   FALSE
ԲՆ P6940   FALSE
Բրազիլիայի օլիմպիական կոմիտե P4060   FALSE
Բրիտանական օլիմպիական ասոցիացիա P4490   FALSE
Բունդեսլիգա P5057   FALSE
Գերմանական ուլտրամարաթոնյան ասոցիացիա P2162   FALSE
Գերմանական ֆուտբոլային միություն P4023   FALSE
Գերմանիայի օլիմպիական մարզական համադաշնություն P4053   FALSE
Դանիայի ֆուտբոլի միություն P6109   FALSE
ԵՎԿ P3725   FALSE
Եվրոհանդբոլ P3573   FALSE
Թագավորական Բելգիայի ֆուտբոլային ասոցիացիա P2823   FALSE
Էստոնական ֆուտբոլային միություն P3659   FALSE
ԹՖՖ (խաղացող) P2448   FALSE
ԹՖՖ (դատավոր) P7405   FALSE
ԹՖՖ (մարզիչ) P2449   FALSE
Լատվիայի օլիմպիական կոմիտե P2593   FALSE
Իսլանդիայի ֆուտբոլի ասոցիացիա P6495   FALSE
Իսրայելի ֆուտբոլային ասոցիացիա P3748   FALSE
Իտալիայի աթլետիկայի ֆեդերացիա P3446   FALSE
Իտալիայի աթլետիկայի ֆեդերացիա P7364   FALSE
Լեհաստանի աթլետիկայի ասոցիացիա P5075   FALSE
ԽՖՄ P3577   FALSE
Կանադայի օլիմպիական կոմիտե P4054   FALSE
ԿԽԼ P3652   FALSE
Կյոռլինգի համաշխարհային ֆեդերացիա P3557   FALSE
ՌՄՖԱ P6320   FALSE
Համագործակցության խաղեր P4548   FALSE
Համագործակցության խաղեր 2006 P5716   FALSE
Համագործակցության խաղեր 2014 P6953   FALSE
Համաշխարհային խաղեր P4588   FALSE
Հոկեյի փառքի սրահ P3567   FALSE
Ղրիմի ֆուտբոլային միություն P6318   FALSE
Մարզական Ռուսաստան P6421   FALSE
Միասնական պայքարի աշխարհ P2727   FALSE
Միացյալ լիգա ՎՏԲ P6732   FALSE
ՄՊԿ P7550   FALSE
ՄՕԿ P3171   FALSE
Ռուսաստանի թեթև աթլետիկա P5077   FALSE
Նոր Զելանդիայի օլիմպիական կոմիտե P4056   FALSE
Նորվեգիայի ֆուտբոլի ասոցիացիա P3936   FALSE
Նորվեգիայի հանդբոլի ասոցիացիա P3700   FALSE
Շվեդիայի օլիմպիական կոմիտե P2323   FALSE
ՇՖՄ P3049   FALSE
Չեխիայի ֆուտբոլի առաջնություն P7451   FALSE
Չեխիայի ֆուտբոլի ասոցիացիա P3050   FALSE
Պրեսբոլ P6311   FALSE
ՌԲՄ P6387   FALSE
ՌԲՖ P6975   FALSE
ՌԲՖ P6994   FALSE
ՌԳՀԴ P3622   FALSE
ՌԴՄԴ P6598   FALSE
ՌԼԴՍՖ P6825   FALSE
ՌՆՖ P5969   FALSE
ՌՇՖ P4994   FALSE
ՌՊԼ (խաղացող) P4417   FALSE
ՌՊԼ (համագործող) P6312   FALSE
ՌՊԼ (դատավոր) P6313   FALSE
Ռուսական բիաթլոն P5771   FALSE
Ռուսական բիաթլոն P5772   FALSE
Ռուսական հոկեյ P6154   FALSE
Ռուսաստանի ֆուտբոլի ազգային հավաքական P6317   FALSE
Ռուսաստանի ֆուտբոլի մրցավարներ P6701   FALSE
Սլովակիայի ֆուտբոլի առաջնություն P7530   FALSE
ՈւԵՖԱ P2276   FALSE
ՈւԵՖԱ P7360   FALSE
ՈւԵՖԱ P7361   FALSE
ՈւՊԼ P7362   FALSE
ՈւՊՖԼ P7423   FALSE
ՈւՖԱ P3662   FALSE
Սպորտը Ուրալում P6388   FALSE
Օդեսայի ֆուտբոլ P6415   FALSE
ՖԱԼ P7265   FALSE
ՖԻԲԱ P3542   FALSE
ՖԻԴԵ P1440   FALSE
ՖԻՖԱ P1469   FALSE
Ֆրանսիայի դահուկների ֆեդերացիա P6612   FALSE
ՖՖՖ P4886   FALSE
ՖՖՖ P4883   FALSE
Armenian Cinema ID P5218   FALSE
AFDb P3351   FALSE
آل مووی P1562   FALSE
آل مووی P2019   FALSE
آل‌میوزیک P1728   FALSE
آل‌میوزیک P1729   FALSE
آل‌میوزیک P1730   FALSE
آل‌میوزیک P1994   FALSE
آلوسینه P1265   FALSE
آلوسینه P1266   FALSE
آلوسینه P1267   FALSE
AniDB P5646   FALSE
AniDB P5648   FALSE
AniDB P5649   FALSE
انیمه نیوز نتورک P1982   FALSE
انیمه نیوز نتورک P1983   FALSE
انیمه نیوز نتورک P1984   FALSE
انیمه نیوز نتورک P1985   FALSE
باکس آفیس موجو P1237   FALSE
Česko-Slovenská filmová databáze P2529   FALSE
Česko-Slovenská filmová databáze P2605   FALSE
بانک اطلاعات فیلم دانمارک P2626   FALSE
دیسکوجی‌اس P1953   FALSE
دیسکوجی‌اس P1954   FALSE
دیسکوجی‌اس P1955   FALSE
دیسکوجی‌اس P2206   FALSE
فیلم‌افینیتی P480   FALSE
Filmportal P2639   FALSE
انسایکلوپیدیا متالوم P1952   FALSE
انسایکلوپیدیا متالوم P1989   FALSE
انسایکلوپیدیا متالوم P2721   FALSE
IAFD P3869   FALSE
بانک اطلاعات اینترنتی برادوی P1217   FALSE
بانک اطلاعات اینترنتی برادوی P1218   FALSE
بانک اطلاعات اینترنتی برادوی P1219   FALSE
بانک اطلاعات اینترنتی برادوی P1220   FALSE
بانک اطلاعات اینترنتی فیلم‌ها P345   FALSE
پروژه بین‌المللی کتابخانه نت‌های موسیقی P839   FALSE
Kinopoisk P2604   FALSE
متاکریتیک P1712   FALSE
مترولیریکس P2624   FALSE
MovieMeter P1969   FALSE
موزیک‌برینز P434   FALSE
موزیک‌برینز P435   FALSE
موزیک‌برینز P436   FALSE
Penthouse P6290   FALSE
پروژه گوتنبرگ P1938   FALSE
Rate Your Music P5404   FALSE
راتن تومیتوز P1258   FALSE
Animator.ru P1934   FALSE
Animator.ru P5770   FALSE
فهرست مدون فیلم‌های بلند توسط بنیاد فیلم آمریکا P3593   FALSE
Internet Speculative Fiction Database P1233   FALSE
Internet Speculative Fiction Database P1234   FALSE
Internet Speculative Fiction Database P1235   FALSE
Internet Speculative Fiction Database P1239   FALSE
RKDartists P650   FALSE
RKDimages P350   FALSE
ECARTICO P2915   FALSE
OCLC P243   FALSE
Behind The Voice Actors P4965   FALSE
CPC-Power P4847   FALSE
IGN P5385   FALSE
GameRankings P4769   FALSE
GameSpot P5494   FALSE
Gaming-History P4806   FALSE
Giant Bomb P5247   FALSE
Guardiana P4710   FALSE
Hall of Light P4671   FALSE
KLOV P2858   FALSE
Lemon 64 P4816   FALSE
MobyGames P1933   FALSE
MobyGames P4773   FALSE
MobyGames P5360   FALSE
Ready64 P4916   FALSE
Redump P5290   FALSE
VGMdb P5659   FALSE
World of Spectrum P4705   FALSE
ՀԱՊ P5210   FALSE
Flags of the World P3089   FALSE
پروژه فهرست آزاد P998   FALSE
The Peerage P4638   FALSE
hush.am P9607   FALSE
بنگاه داده یک گور بیاب P535   FALSE
gravsted.dk P4359   FALSE
JewAge P4116   FALSE
WikiTree P2949   FALSE
WeRelate P4159   FALSE
Rodovid P1185   FALSE
لغتنامه‌ها و دایره المعارف‌ها
Armeniapedia P9629   FALSE
Հայազգ P9511   FALSE
AV Production P9020   FALSE
Աստվածաշնչյան Q4086271   FALSE
Ավստրալական կենսագրական P1907   FALSE
Բաշկիրական P4211   FALSE
Բերեզինա Q19217220   FALSE
Բրիտանիկա (9-րդ) Q20096917   FALSE
Բրիտանիկա (11-րդ) Q867541   FALSE
Բրիտանիկա (օնլայն) P1417   FALSE
Բրիտանիկա (12-րդ) Q15987490   FALSE
Բրոքհաուս P5019   FALSE
Բրոքհաուսի և Եփրոնի Q602358   FALSE
Բրոքհաուսի և Եփրոնի փոքր Q19180675   FALSE
Գտանակագիտական Q4263804   FALSE
Գրականական համառոտ Q4239850   FALSE
Վ. Դալի Q1970746   FALSE
Դասական հնությունների իրական բառարան Q30059240   FALSE
Ժամանակակից Ուկրաինայի P4613   FALSE
Իտալացիների կենսագրական բառարան P1986   FALSE
Լարուսի P6058   FALSE
Լենտապեդիա Q17290934   FALSE
Լիտվական մարզային P6504   FALSE
Կանադական P5395   FALSE
Կինոսոզվեզդիե P6741   FALSE
Կյուրեղի և Մեթոդիոսի Q4091875   FALSE
Կրուգոսվետ P6385   FALSE
Կրուգոսվետ Q2627728   FALSE
Համառոտ հրեական P1438   FALSE
Հանրագիտարանային բառապաշար Q4532135   FALSE
Հրեական Բրոքհաուսի և Եփրոնի Q4173137   FALSE
Ձախ ափը P6980   FALSE
Մեծ կատալոնական P1296   FALSE
Մեծ Յուժակովի Q4091878   FALSE
Մեծ նորվեգական P4342   FALSE
Մեծ ռուսական P2924   FALSE
Մեծ սովետական (1 հրտ.) Q20078554   FALSE
Միշտ կողկս… P6596   FALSE
Նոր Q19190511   FALSE
Շվեդական կենսագրական P3217   FALSE
Շվեյցարական կենսագրական P902   FALSE
Շվեյցարական պատմական (օնլայն) P886   FALSE
Ռիմանի երաժշտական Q27680201   FALSE
Ռուսական կենսագրական Q1960551   FALSE
Ռուսաստանի կայսրության աշխարհագրական և վիճակագրական Q4135594   FALSE
ՌԻԱ տեղեկանք P6081   FALSE
Սիտինի ռազմական Q4114391   FALSE
Տեխնիկական (1 հրտ.) Q20078551   FALSE
Վիպերսոն P6384   FALSE
ՏԱՍՍ հանրագիտարան Q63985075   FALSE
ՏԱՍՍ տեղեկանք P6219   FALSE
Ուելսական կենսագրական P1648   FALSE
Ուղղափառ Q2498180   FALSE
Ուղղափառ P5002   FALSE
Ուղղափառ աստվածաբանական Q19211082   FALSE
Օքսֆորդի կենսագրական P1415   FALSE
XX դարի ռուս գրողների կենսագրական-մատենագիտական բառարան Q42068474   FALSE
Allgemeine Deutsche Biographie Q590208   FALSE
American Cycl. (1879) Q19077875   FALSE
American Med. Biogr. (1920) Q19037977   FALSE
American National Biography P4823   FALSE
Appletons' (1887—1901) Q12912667   FALSE
BBLD P2580   FALSE
Catholic (1907—13) Q302556   FALSE
Catholic (1997—…) P3241   FALSE
Dictionary of Music and Musicians Q16011749   FALSE
Dictionary of National Biography Q15987216   FALSE
Dictionary of National Biography (1st suppl.) Q16014700   FALSE
Dictionary of National Biography (2nd suppl.) Q16014697   FALSE
History of Parliament P1614   FALSE
Infernal (6e éd.) Q20961706   FALSE
MESH ID P486   FALSE
Munzinger P1285   FALSE
New International Q20089963   FALSE
Notable Names Database P1263   FALSE
Treccani P3365   FALSE
Universalis P3219   FALSE
Деловой Петербург P7475   FALSE
Деловой Петербург P7529   FALSE
Ліга.Досье P6210   FALSE
Россия-Культура P6739   FALSE
طبقه‌بندی
Avibase P2026   FALSE
CMS P6033   FALSE
eBird P3444   FALSE
EOL P830   FALSE
GBIF P846   FALSE
iNaturalist P3151   FALSE
NCBI P685   FALSE
Neotropical Birds P6047   FALSE
IRMNG P5055   FALSE
ITIS TSN P815   FALSE
SeaLifeBase P6018   FALSE
WoRMS P850   FALSE
کنترل استاندارد
ՀԳՀԳ P8833   FALSE
Հայ գիրք P9398   FALSE
BAV P1017   FALSE
BIBSYS P1015   FALSE
BNC P1273   FALSE
BNE P950   FALSE
BNF P268   FALSE
BPN P651   FALSE
CALIS P270   FALSE
CBDB P497   FALSE
CiNii P271   FALSE
CONOR P1280   FALSE
DNB P1292   FALSE
Disease Ontology P699   FALSE
EGAXA P1309   FALSE
GND P227   FALSE
GTAA P1741   FALSE
ICCU P396   FALSE
ISNI P213   FALSE
LCCN P244   FALSE
LOC P1144   FALSE
LNB P1368   FALSE
Mérimée P380   FALSE
Microsoft P6366   FALSE
NCL P1048   FALSE
NDL P349   FALSE
NLC P1213   FALSE
NKC P691   FALSE
NLA P409   FALSE
NLG P3348   FALSE
NLR P1003   FALSE
NLP P1695   FALSE
NSK P1375   FALSE
NTA P1006   FALSE
NSZL P951   FALSE
NUKAT P1207   FALSE
PTBNP P1005   FALSE
РГБ P947   FALSE
LIBRIS P906   FALSE
SUDOC P269   FALSE
VIAF P214   FALSE
ULAN P245   FALSE
ИРБИС-НБУВ P7148   FALSE
РГАЛИ P6752   FALSE
РГБ P1973   FALSE

-- Localizable part
-- Please, note, that labels to various sites and cataloges are taken from Wikidata (i.e. Wikidata label)
require('strict')

local linksPrefix = ''
local project = 'ویکی‌پدیا'
local categoryTemplateEmpty = project .. ':قالب خالی «پیوندهای بیرونی»'
local categoryWithWikimediaCommons = project .. ':Վիքիպահեստի հղումներով հոդվածներ'
local templateLink = 'داده‌های_کتابخانه‌ای'

local group1Label = '[[' .. linksPrefix .. 'شبکه اجتماعی|در شبکه‌های اجتماعی]]'
local group2Label = 'متن آثار'
local group3Label = 'نگاره، ویدئو و صدا'
local group4Label = 'وبگاه‌های موضوعی'
local group5Label = 'لغتنامه‌ها و دایره المعارف‌ها'
local group6Label = 'طبقه‌بندی'
local group7Label = '[[' .. linksPrefix .. 'کنترل از طریق مرجع|کنترل استاندارد]]'

-- The language codes that should be always displayed even if they have normal rank and claim with another language and prefferered rank exists
local preferredLanguage = 'Q8785'; -- armenian

local templateColorName = 'գույն';
-- some project have "named" colors, defined by templates
local function colorByTitle( frame, colorTitle )
	local templateName = 'գույն/' .. colorTitle;
	local templateTitle = mw.title.makeTitle( 'Template', templateName );
	if ( templateTitle == nil or not templateTitle.exists ) then
		return false;
	end
	return frame:expandTemplate{ title = templateName };
end

local dictionaries = {
-- Բառարաններ և հանրագիտարաններ
	{ id = 'P9629',			title = 'Armeniapedia',				linkF = function( id ) return 'http://www.armeniapedia.org/index.php?curid=' .. id .. '/'; end, },
	{ id = 'P9511',			title = 'Հայազգ',				linkF = function( id ) return 'http://am.hayazg.info/index.php?curid=' .. id .. '/'; end, },
	{ id = 'P9020',			title = 'AV Production',				linkF = function( id ) return 'https://avproduction.am/?ln=am&page=person&id=' .. id; end },
	{ id = 'Q4086271',		title = 'Աստվածաշնչյան',				project = 'ruwikisource',	projectCode = 's:' },
	{ id = 'P1907',			title = 'Ավստրալական կենսագրական',		linkF = function ( id ) return 'http://adb.anu.edu.au/biography/' .. id .. ''; end },
	{ id = 'P4211',			title = 'Բաշկիրական',			linkF = function ( id ) return 'http://башкирская-энциклопедия.рф/index.php/component/content/article/' .. id; end, },
    { id = 'Q19217220',		title = 'Բերեզինա',				project = 'ruwikisource',	projectCode = 's:' },
	{ id = 'Q20096917',		title = 'Բրիտանիկա (9-րդ)',				project = 'enwikisource',	projectCode = 'wikisource:' },
	{ id = 'Q867541',		title = 'Բրիտանիկա (11-րդ)',			project = 'enwikisource',	projectCode = 'wikisource:' },
	{ id = 'P1417',			title = 'Բրիտանիկա (օնլայն)',			linkF = function ( id ) return 'https://www.britannica.com/'.. id; end},
	{ id = 'Q15987490',		title = 'Բրիտանիկա (12-րդ)',				project = 'enwikisource',	projectCode = 'wikisource:' },
	{ id = 'P5019',			title = 'Բրոքհաուս',					linkF = function ( id ) return 'https://brockhaus.de/ecs/enzy/article/'.. id; end},
	{ id = 'Q602358',		title = 'Բրոքհաուսի և Եփրոնի',				project = 'ruwikisource',	projectCode = 's:' },			
	{ id = 'Q19180675',		title = 'Բրոքհաուսի և Եփրոնի փոքր',			project = 'ruwikisource',	projectCode = 's:' },
	{ id = 'Q4263804',		title = 'Գտանակագիտական', },
	{ id = 'Q4239850',		title = 'Գրականական համառոտ' },
	{ id = 'Q1970746',		title = 'Վ. Դալի',					project = 'ruwikisource',	projectCode = 's:' },
	{ id = 'Q30059240',		title = 'Դասական հնությունների իրական բառարան',			project = 'ruwikisource',	projectCode = 's:' },
	{ id = 'P4613',			title = 'Ժամանակակից Ուկրաինայի',		linkF = function ( id ) return 'http://esu.com.ua/search_articles.php?id=' .. id; end, },
	{ title = 'Իտալացիների կենսագրական բառարան',	 id='P1986',	 linkF = function( id ) return 'https://treccani.it/enciclopedia/' .. id .. '_(Dizionario_Biografico)' end },
	{ id = 'P6058',		    title = 'Լարուսի',                       linkF = function  (id)  return 'https://www.larousse.fr/encyclopedie/' .. id end, },
	{ id = 'Q17290934',		title = 'Լենտապեդիա',				project = 'ruwikisource',	projectCode = 's:' },
	{ id = 'P6504',			title = 'Լիտվական մարզային',				linkF = function ( id ) return 'http://www.lse.lt/index.php?' .. id; end, },
	{ id = 'P5395',			title = 'Կանադական',				linkF = function ( id ) return 'https://www.thecanadianencyclopedia.ca/en/article/' .. id .. '/'; end, },
    { id = 'P6741',			title = 'Կինոսոզվեզդիե',				linkF = function( id ) return 'http://www.kinosozvezdie.ru/actors/' .. id .. '/' .. id .. '.html'; end },
	{ id = 'Q4091875',		title = 'Կյուրեղի և Մեթոդիոսի', },
	{ id = 'P6385',			title = 'Կրուգոսվետ',				linkF = function ( id ) return 'https://www.krugosvet.ru/enc/' .. id; end, },
	--исключение для нетипичных адресов типа node/39767
	{ id = 'Q2627728',		title = 'Կրուգոսվետ' },
	{ id = 'P1438',			title = 'Համառոտ հրեական',				linkF = function ( id ) return 'https://eleven.co.il/article/' .. id; end, },
	{ id = 'Q4532135',		title = 'Հանրագիտարանային բառապաշար',		project = 'ruwikisource',	projectCode = 's:' },
	{ id = 'Q4173137',		title = 'Հրեական Բրոքհաուսի և Եփրոնի',		project = 'ruwikisource',	projectCode = 's:' },
    { id = 'P6980',			title = 'Ձախ ափը',			linkF = function( id ) return 'https://lb.ua/file/' .. id; end },
	{ id = 'P1296',			title = 'Մեծ կատալոնական',			linkF = function ( id ) return 'https://www.enciclopedia.cat/ec-gec-' .. id .. '.xml' end },
	{ id = 'Q4091878',		title = 'Մեծ Յուժակովի',			project = 'ruwikisource',	projectCode = 's:' },
	{ id = 'P4342',			title = 'Մեծ նորվեգական',			linkF = function ( id ) return 'https://snl.no/' .. id; end, },
    { id = 'P2924',			title = 'Մեծ ռուսական',				linkF = function ( id ) return 'https://bigenc.ru/text/' .. id; end, },
	{ id = 'Q20078554',		title = 'Մեծ սովետական (1 հրտ.)',		project = 'ruwikisource',	projectCode = 's:' },
    { id = 'P6596',			title = 'Միշտ կողկս…',				linkF = function( id ) return 'http://a-tremasov.ru/' .. id; end },
	{ id = 'Q19190511',		title = 'Նոր',			project = 'ruwikisource',	projectCode = 's:' },
	{ id = 'P3217',			title = 'Շվեդական կենսագրական',				linkF = function ( id ) return 'https://sok.riksarkivet.se/sbl/Presentation.aspx?id=' .. id; end, },
	{ id = 'P902',			title = 'Շվեյցարական կենսագրական',				linkF = function ( id ) return 'http://www.hls-dhs-dss.ch/textes/f/F' .. id .. '.php'; end, },
	{ id = 'P886',			title = 'Շվեյցարական պատմական (օնլայն)',	linkF = function ( id ) return 'http://www.e-lir.ch/e-LIR___Lexicon.' .. id .. '.450.0.html'; end, },
	{ id = 'Q27680201',		title = 'Ռիմանի երաժշտական',			project = 'ruwikisource',	projectCode = 's:' },
	{ id = 'Q1960551',		title = 'Ռուսական կենսագրական',			project = 'ruwikisource',	projectCode = 's:'	},
	{ id = 'Q4135594',		title = 'Ռուսաստանի կայսրության աշխարհագրական և վիճակագրական',	project = 'ruwikisource',	projectCode = 's:' },
    { id = 'P6081',			title = 'ՌԻԱ տեղեկանք',					linkF = function( id ) return 'https://ria.ru/spravka/00000000/' .. id .. '.html'; end },
	{ id = 'Q4114391',		title = 'Սիտինի ռազմական',				project = 'ruwikisource',	projectCode = 's:' },
	{ id = 'Q20078551',		title = 'Տեխնիկական (1 հրտ.)',				project = 'ruwikisource',	projectCode = 's:' },
    { id = 'P6384',			title = 'Վիպերսոն',				linkF = function( id ) return 'http://viperson.ru/people/' .. id; end },
	{ id = 'Q63985075',		title = 'ՏԱՍՍ հանրագիտարան', },
    { id = 'P6219',			title = 'ՏԱՍՍ տեղեկանք',			linkF = function( id ) return 'https://tass.ru/info/' .. id; end },
	{ id = 'P1648',			title = 'Ուելսական կենսագրական',		linkF = function ( id ) return 'http://yba.llgc.org.uk/en/' .. id .. '.html' end, },
	{ id = 'Q2498180',		title = 'Ուղղափառ', },
	{ id = 'P5002',			title = 'Ուղղափառ',			linkF = function ( id ) return 'http://www.pravenc.ru/text/' .. id .. '.html'; end, },
	{ id = 'Q19211082',		title = 'Ուղղափառ աստվածաբանական',		project = 'ruwikisource',	projectCode = 's:' },
	{ id = 'P1415',			title = 'Օքսֆորդի կենսագրական',			linkF = function( id ) return 'https://doi.org/10.1093/ref:odnb/' .. id; end, },
	{ id = 'Q42068474',		title = 'XX դարի ռուս գրողների կենսագրական-մատենագիտական բառարան',	project = 'ruwikisource',	projectCode = 's:' },
	{ id = 'Q590208',		title = 'Allgemeine Deutsche Biographie',		project = 'dewikisource',	projectCode = 's:de:' },
	{ id = 'Q19077875',		title = 'American Cycl. (1879)',		project = 'enwikisource',	projectCode = 'wikisource:' },
	{ id = 'Q19037977',		title = 'American Med. Biogr. (1920)',		project = 'enwikisource',	projectCode = 'wikisource:' },
	{ id = 'P4823',			title = 'American National Biography',		linkF = function ( id ) return 'https://doi.org/10.1093/anb/9780198606697.article.'.. id; end},
	{ id = 'Q12912667',		title = 'Appletons\' (1887—1901)',				project = 'enwikisource',	projectCode = 'wikisource:' },
	{ id = 'P2580',			title = 'BBLD',							linkF = function ( id ) return 'https://bbld.de/' .. id; end, },
	{ id = 'Q302556',		title = 'Catholic (1907—13)',				project = 'enwikisource',	projectCode = 'wikisource:' },
	{ id = 'P3241',			title = 'Catholic (1997—…)',			linkF = function ( id ) return 'http://www.newadvent.org/cathen/'.. id .. '.htm'; end},
    { id = 'Q16011749',     title = 'Dictionary of Music and Musicians',    project = 'enwikisource',       projectCode = 'wikisource:'},
	{ id = 'Q15987216',		title = 'Dictionary of National Biography',		project = 'enwikisource',	projectCode = 'wikisource:' },
	{ id = 'Q16014700',		title = 'Dictionary of National Biography (1st suppl.)', project = 'enwikisource', projectCode = 'wikisource:' },
	{ id = 'Q16014697',		title = 'Dictionary of National Biography (2nd suppl.)', project = 'enwikisource', projectCode = 'wikisource:' },
	{ id = 'P1614',			title = 'History of Parliament',				linkF = function ( id ) return 'http://www.historyofparliamentonline.org/volume/' .. id; end, },
	{ id = 'Q20961706',		title = 'Infernal (6e éd.)',				project = 'frwikisource',	projectCode = 's:fr:' },
    { id = 'P486',			title = 'MESH ID',			linkF = function( id ) return 'https://meshb.nlm.nih.gov/record/ui?ui=' .. id; end },
    { id = 'P1285',			title = 'Munzinger',			linkF = function( id ) return 'http://www.munzinger.de/search/go/document.jsp?id=' .. id; end },
	{ id = 'Q20089963',		title = 'New International',				project = 'enwikisource',	projectCode = 'wikisource:' },
    { id = 'P1263',			title = 'Notable Names Database',				linkF = function( id ) return 'http://nndb.com/people/' .. id; end },
	{ id = 'P3365',			title = 'Treccani',					linkF = function( id ) return 'http://www.treccani.it/enciclopedia/'.. id; end},
	{ id = 'P3219',			title = 'Universalis',				linkF = function ( id ) return 'https://www.universalis.fr/encyclopedie/' .. id  .. '/'; end, },
    { id = 'P7475',			title = 'Деловой Петербург',			linkF = function( id ) return 'http://whoiswho.dp.ru/cart/person/' .. id; end },
    { id = 'P7529',			title = 'Деловой Петербург',			linkF = function( id ) return 'http://whoiswho.dp.ru/cart/company/' .. id; end },
    { id = 'P6210',			title = 'Ліга.Досье',				linkF = function( id ) return 'https://file.liga.net/' .. id; end },
	{ id = 'P6739',			title = 'Россия-Культура',				linkF = function( id ) return 'https://tvkultura.ru/person/show/person_id/' .. id .. '/'; end, },
	}

-- Feel free to correct labels and categories, or add/remove sources here
-- Non-localizable part (not need to localize )
local moduleNavbox = require('Module:Navbox')

local titleBasedLinks = { ['Q602358'] = true, ['Q17290934'] = true, ['Q1960551'] = true }

local p = {}

local function dlalLink( id )	return 'https://digilib.aua.am/am/-/library/' .. id; end
local function bavLink( id )	return 'http://viaf.org/processed/BAV%7C' .. id; end
local function bibsysLink( id )	return 'http://ask.bibsys.no/ask/action/result?cmd=&kilde=biblio&cql=bs.autid+%3D+' .. id .. '&feltselect=bs.autid'; end
local function bncLink( id )	return 'http://cantic.bnc.cat/registres/CUCId/' .. id; end
local function bneLink( id )	return 'http://catalogo.bne.es/uhtbin/authoritybrowse.cgi?action=display&authority_id=' .. id; end
local function bnfLink( id )	return 'http://catalogue.bnf.fr/ark:/12148/cb' .. id; end
local function boxofficemojoLink( id )	return 'http://www.boxofficemojo.com/movies/?id=' .. id .. '.htm'; end
local function bpnLink( id )	return 'http://www.biografischportaal.nl/persoon/' .. id; end
local function calisLink( id )	return 'http://opac.calis.edu.cn/aopac/ajsp/detail.jsp?actionfrom=1&actl=CAL++' .. id; end
local function cbdbLink( id )	return 'http://db1.ihp.sinica.edu.tw/cbdbc/cbdbkmeng?~~AAA' .. id; end
local function ciniiLink( id )	return 'http://ci.nii.ac.jp/author/' .. id; end
local function conorLink( id )	return 'http://www.cobiss.si/scripts/cobiss?command=DISPLAY&base=CONOR&rid=' .. id; end
local function doLink( id )	return 'http://www.disease-ontology.org/?id=' .. id; end
local function gtaaLink( id )	return 'http://data.beeldengeluid.nl/gtaa/' .. id; end
local function commonsWikimediaLink( id )	return ':commons:Category:' .. id; end
local function egaxaLink( id )	return 'http://viaf.org/processed/EGAXA%7Cvtls' .. id; end


local function fanLibRuLink( id )
	local firstChar = mw.ustring.sub( id, 1, 1 );
	return 'http://fan.lib.ru/' .. firstChar .. '/' .. id .. '/';
end

local function flickrLink( id )	return 'https://www.flickr.com/' .. id; end
local function hushLink( id )	return 'https://hush.am/index.php?route=product/hush&grave_id=' .. id; end
local function findagraveLink( id )	return 'http://www.findagrave.com/cgi-bin/fg.cgi?page=gr&GRid=' .. id; end
local function dnbLink( id )	return 'http://d-nb.info/' .. id; end
local function gndLink( id )	return 'http://d-nb.info/gnd/' .. id; end
local function ibdbPersonLink( id )	return 'http://www.ibdb.com/person.php?id=' .. id; end
local function ibdbProductionLink( id )	return 'http://www.ibdb.com/production.php?id=' .. id; end
local function ibdbShowLink( id )	return 'http://www.ibdb.com/show.php?id=' .. id; end
local function ibdbVenueLink( id )	return 'http://www.ibdb.com/venue.php?id=' .. id; end
local function isfdbAuthorLink( id )	return 'http://www.isfdb.org/cgi-bin/ea.cgi?' .. id; end
local function isfdbPublicationLink( id )	return 'http://www.isfdb.org/cgi-bin/pl.cgi?' .. id; end
local function isfdbSeriesLink( id )	return 'http://www.isfdb.org/cgi-bin/pe.cgi?' .. id; end
local function isfdbPublisherLink( id )	return 'http://www.isfdb.org/cgi-bin/publisher.cgi?' .. id; end
local function imslpLink( id )	return 'http://imslp.org/wiki/' .. string.gsub( id, ' ', '_' ); end

local function imdbLink( id )
	if string.match( id, '^ch' ) then
		return 'http://www.imdb.com/character/' .. id;
	end
	if string.match( id, '^co' ) then
		return 'http://www.imdb.com/company/' .. id;
	end
	if string.match( id, '^nm' ) then
		return 'http://www.imdb.com/name/' .. id;
	end
	if string.match( id, '^tt' ) then
		return 'http://www.imdb.com/title/' .. id;
	end

	return false
end

local function isniLink( id )
	id = id:gsub( '[ %-]', '' ):upper();
	return 'http://isni-url.oclc.nl/isni/' .. id;
end

local function lccnLink( id )
	return 'http://id.loc.gov/authorities/' .. id;
end

local function locLink( id )
	return 'https://lccn.loc.gov/' .. id;
end
local function lastfmLink( id )
	return 'https://www.last.fm/music/' .. id;
end

local function iccuLink( id )
	id = id:gsub( '\\\\', '%5C' ):upper();
	return 'http://opac.sbn.it/opacsbn/opac/iccu/scheda_authority.jsp?bid=' .. id;
end

local function lnbLink( id )	return 'http://viaf.org/processed/LNB%7CLNC10-' .. id; end
local function rgaliLink( id )	return 'http://rgali.ru/obj/' .. id .. '?lc=ru'; end
local function rslLink0( id )	return 'http://aleph.rsl.ru/F?func=direct-set&l_base=xall&doc_number=' .. id; end
local function merimeeLink( id ) return false	end
local function microsoftLink( id )	return 'https://academic.microsoft.com/#/detail/' .. id; end
local function mixcloudLink( id )	return 'https://mixcloud.com/' .. id .. '/'; end
local function naukaUkrLink( id )	return 'http://irbis-nbuv.gov.ua/ASUA/' .. id; end
local function nclLink( id )	return 'http://aleweb.ncl.edu.tw/F/?func=accref&acc_sequence=' .. id; end
local function ndlLink( id )	return 'http://id.ndl.go.jp/auth/ndlna/' .. id; end
local function nlcLink( id )	return false	end
local function nliLink( id )	return 'http://a20.libnet.ac.il/F?func=find-b&REQUEST=' .. id .. '&find_code=SYS&local_base=NNL10'; end
local function nkcLink( id )	return 'http://aut.nkp.cz/' .. id; end
local function nlaLink( id ) 	return 'http://nla.gov.au/anbd.aut-an' .. id; end
local function nlrLink( id ) 	return 'http://alephnew.bibnat.ro:8991/F?func=find-b&request=' .. id .. '000354872&find_code=SYS&adjacent=Y&local_base=NLR10' end
local function nszlLink( id )	return 'http://viaf.org/processed/NSZL%7C' .. id; end
local function nskLink( id )	return 'http://viaf.org/processed/NSK%7C' .. id; end
local function ntaLink( id )	return 'http://data.bibliotheken.nl/id/thes/p' .. id; end
local function nukatLink( id )	return 'http://viaf.org/processed/NUKAT%7C' .. id; end


local function orcidLink( id )
	id = id:gsub( '[ %-]', '' ):upper();
	return 'http://orcid.org/' .. id; end


local function declaratorLink( id )	return 'http://declarator.org/person/' .. id .. '/'; end
local function gutenbergLink( id )	return 'https://gutenberg.org/ebooks/' .. id; end
local function promodjLink( id )	return 'http://promodj.com/' .. id; end
local function prozaRuLink( id )	return 'http://proza.ru/avtor/' .. id; end
local function ptbnpLink( id )	return 'http://viaf.org/processed/PTBNP%7C' .. id; end
local function rkdArtistsLink( id )	return 'https://rkd.nl/nl/explore/artists/' .. id; end
local function rkdImagesLink( id )	return 'http://explore.rkd.nl/en/images/' .. id; end
local function rodovidLink( id )	return 'http://ru.rodovid.org/wk/Person:' .. id; end
local function rottentomatoesLink( id )	return 'http://www.rottentomatoes.com/' .. id; end
local function rslLink( id )	return 'http://aleph.rsl.ru/F?func=find-b&find_code=SYS&adjacent=Y&local_base=RSL11&request=' .. id; end

local function rutubeLink( id )
	if string.match( id, '^%d+$' ) then
		return 'http://rutube.ru/video/persion/' .. id .. '/';
	end
	return 'http://' .. id .. '.rutube.ru/';
end

local function samlibRuLink( id )
	local firstChar = mw.ustring.sub( id, 1, 1 );
	return 'http://samlib.ru/' .. firstChar .. '/' .. id .. '/';
end

local function kohaLink( id )	return 'http://armunicat.nla.am/cgi-bin/koha/opac-authoritiesdetail.pl?authid=' .. id; end
local function haygirqLink( id )	return 'http://haygirk.nla.am/cgi-bin/koha/opac-detail.pl?biblionumber=' .. id; end
local function ucacrLink( id )	return 'http://tert.nla.am/cgi-bin/koha/opac-detail.pl?biblionumber=' .. id; end
local function selibrLink( id )	return 'http://libris.kb.se/auth/' .. id; end
local function stihiRuLink( id )	return 'http://stihi.ru/avtor/' .. id; end
local function sudocLink( id )	return 'http://www.idref.fr/' .. id; end
local function ulanLink( id )	return 'http://www.getty.edu/vow/ULANFullDisplay?find=&role=&nation=&subjectid=' .. id; end
local function vimeoLink( id )	return 'https://vimeo.com/' .. id; end
local function viafLink( id )	return 'http://viaf.org/viaf/' .. id; end
local function tiktokLink( id )	return 'https://www.tiktok.com/@' .. id; end
local function youtubeLink( id )	return 'https://youtube.com/' .. id; end
local function youtubeLinkLong( id )  return 'https://youtube.com/channel/' .. id; end
local function worldcatLink( id )	return 'https://www.worldcat.org/identities/containsVIAFID/' .. id; end

local function renderLabel( params )
	if type( params ) == 'string' then
		return params;
	end

	local id = params[ 1 ];
	local default = params[ 2 ];

	if #params >= 3 then
		local label = params[ 3 ];
		local link = mw.wikibase.sitelink( id );
		if ( link ~= nil ) then
			return '[[' .. link .. '|' .. label .. ']]';
		end
		local title = mw.wikibase.label( id ) or default;
		return '<span title="' .. title .. '" style="border-bottom: 1px dotted; cursor: help;">' .. label .. '</span>'
	end

	return mw.wikibase.label( id ) or default;
end

local socialNetworkProperties = {
-- Սոցիալական ցանցեր
	{ { 'Q116933', 'ВКонтакте' },   	'P3185',		function( id ) return 'https://vk.com/' .. id; end },
	{ { 'Q219523', 'Живой журнал' },	'P3258',		function( id ) return 'http://' .. id .. '.livejournal.com/'; end },
	{ { 'Q219523', 'Живой журнал' },	'Q219523',		function( id ) return 'http://' .. id .. '.livejournal.com/'; end },
	{ { 'Q4299813', 'Мой круг' },		'Q4299813',		function( id ) return 'http://' .. id .. '.moikrug.ru/'; end },
	{ { 'Q4299858', 'Мой мир' },		'Q4299858',		function( id ) return 'http://my.mail.ru/' .. id; end },
	{ { 'Q1123836', 'Одноклассники' },	'P5163',		function( id ) return 'https://ok.ru/' .. id; end },
	{ { 'Q171186', 'Blogger' },   		'Q171186',		function( id ) return 'http://' .. id .. '.blogspot.com' end },
	{ { 'Q355', 'Facebook' }, 		   	'P2013',		function( id ) return 'https://www.facebook.com/' .. id; end },
	{ { 'Q355', 'Facebook' }, 		   	'P4003',		function( id ) return 'https://www.facebook.com/pages/' .. id; end },
	{ { 'Q213660', 'LinkedIn' },		'P2035',		function( id ) return id; end },
	{ { 'Q213660', 'LinkedIn' },		'P6634',		function( id ) return 'https://www.linkedin.com/in/' .. id .. '/'; end },
	{ { 'Q213660', 'LinkedIn' },		'P4264',		function( id ) return 'https://www.linkedin.com/company/' .. id .. '/'; end },
	{ { 'Q4043051', 'LiveInternet' },	'Q4043051',		function( id ) return 'http://www.liveinternet.ru/users/' .. id; end },
	{ { 'Q40629', 'MySpace' },			'Q40629',		function( id ) return 'https://myspace.com/' .. id; end },
	{ { 'Q40629', 'MySpace' },			'P3265',		function( id ) return 'https://myspace.com/' .. id; end },
	{ { 'Q92526', 'Sina Weibo' },		'P3579',		function( id ) return 'https://weibo.com/' .. id; end },
	{ { 'Q15616276', 'Telegram' },		'P3789',		function( id ) return 'https://t.me/' .. id; end },
	{ { 'Q15616276', 'Telegram' },		'Q15616276',	function( id ) return 'https://t.me/' .. id; end },
	{ { 'Q384060', 'Tumblr' },			'Q384060',		function( id ) return 'http://' .. id .. '.tumblr.com/'; end },
	{ { 'Q918', 'Twitter' },			'P2002',		function( id ) return 'https://twitter.com/' .. id; end },
}

local textsProperties = {
-- Ստեղծագործություններիի տեքստ
	{ { 'Q106615110', 'Հայ մատենագրութեան թուանշային գրադարան' },	'P9528',	dlalLink },
	{ { 'Q17195344', 'Журнал «Самиздат»' },	'Q17195344',	samlibRuLink },
	{ { 'Q22673', 'Գուտենբերգ նախագիծ' },	'P2034',		gutenbergLink },
	{ { 'Q4380129', 'Проза.ру' },			'Q4380129',		prozaRuLink },
	{ { 'Q4442644', 'Стихи.ру' },			'Q4442644',		stihiRuLink },
	{ { 'Q17300505', 'Lib.Ru/Фантастика' },	'Q17300505',	fanLibRuLink },
}

local labelAllocine = { 'Q31165', 'AlloCine' };
local labelAnimeNewsNetwork = { 'Q220509', 'Anime News Network' };
local labelDeezer = { 'Q602243', 'Deezer' };
local labelDiscogs = { 'Q504063', 'Discogs' };
local labelIBDb = { 'Q31964', 'Internet Broadway Database' };
local labelISFDb = { 'Q2629164', 'Internet Speculative Fiction Database' };
local labelMusicBrainz = { 'Q14005', 'MusicBrainz' };
local labelEncyclopaediaMetallum = { 'Q938726', 'Encyclopaedia Metallum' };
local labelYandexMusic = { 'Q4537983', 'Яндекс.Музыка' };
local labelYouTube = { 'Q866', 'YouTube' };
local labelTikTok = { 'Q48938223', 'TikTok' };

local contentHostingProperties = {
-- Ֆոտո, վիդեո և աուդիո
	{ { 'Q20056642', 'Apple Music' },	'P2850',		function( id ) return 'https://itunes.apple.com/am/artist/' .. id; end,	false },
	{ { 'Q545966', 'Bandcamp' },	'P3283',		function( id ) return 'https://' .. id .. '.bandcamp.com'; end },
	{ labelDeezer,					'P2722',		function( id ) return 'https://www.deezer.com/artist/' .. id; end,	false },
	{ labelDeezer,					'P2723',		function( id ) return 'https://www.deezer.com/album/' .. id; end, 	false },
	{ labelDeezer,					'P2724',		function( id ) return 'https://www.deezer.com/track/' .. id; end, 	false },
	{ { 'Q103204', 'Flickr' },		'P3267',		flickrLink,		false },
	{ { 'Q3238917', 'Google Play Music' },	'P4198',		function( id ) return 'https://play.google.com/store/music/artist?id=' .. id; end,	false },
	{ { 'Q209330', 'Instagram' },	'P2003',		function( id ) return 'https://instagram.com/' .. id; end,	false },
	{ { 'Q183718', 'Last.fm' },		'P3192',		lastfmLink,		false },
	{ { 'Q6883832', 'Mixcloud' },	'Q6883832',		mixcloudLink,	false },
	{ { 'Q2572292', 'Musopen' },	'P2338',		function( id ) return 'https://musopen.org/composer/' .. id .. '/'; end,	false },
	{ { 'Q17117201', 'PROMODJ' },	'Q17117201',	promodjLink,	false },
	{ { 'Q372827', 'Rutube' },		'Q372827',		rutubeLink,		false },
	{ { 'Q568769', 'SoundCloud' },		'P3040',		function( id ) return 'http://soundcloud.com/' .. id .. '/'; end,	false },
	{ { 'Q568769', 'SoundCloud' },		'Q568769',		function( id ) return 'http://soundcloud.com/' .. id .. '/'; end,	false },
	{ { 'Q689141', 'Spotify' },		'P1902',		function( id ) return 'https://open.spotify.com/artist/' .. id; end,	false },
	{ labelTikTok,			'P7085',		tiktokLink,	false },
	{ { 'Q156376', 'Vimeo' },			'Q156376',		vimeoLink,		false },
	{ { 'Q156376', 'Vimeo' },			'P4015',		vimeoLink,		false },
	{ labelYandexMusic,		'P1553',		function( id ) return 'https://music.yandex.com/artist/' .. id; end,	false },
	{ labelYandexMusic,		'P2819',		function( id ) return 'https://music.yandex.com/album/' .. id; end,	false },
	{ labelYouTube,			'P2397',		youtubeLinkLong,	false },
	{ labelYouTube,			'Q866',			youtubeLink,	false },
}

local themeProfilesProperties = {
	-- Թեմատիկ կայքեր. գիտություն և տեխնիկա
	{ 'ՀՀ ԳԱԱ',		'P5212',	function( id ) return 'https://www.sci.am/membersview.php?id=' .. id; end },
	{ 'Հայաստանի գրողների միություն',		'P9606',	function( id ) return 'http://wua.am/$1/' .. id; end },
	{ 'Հայաստանի կոմպոզիտորների միություն',		'P9628',	function( id ) return 'http://composers.am/?p=' .. id; end },
	{ 'Հանրային ռադիոյի արխիվ',		'P9631',	function( id ) return 'http://armradioarchive.am/ar/' .. id; end },
	{ 'ՀՄԴ-9',		'P493',	function( id ) return 'http://www.icd9data.com/getICD9Code.ashx?icd9=' .. id; end },
	{ 'ՀՄԴ-9-ԿՄ',		'P1692',	function( id ) return 'http://icd9cm.chrisendres.com/index.php?action=search&srchtext=' .. id; end },
	{ 'ՀՄԴ-10',		'P494',	function( id ) return 'http://apps.who.int/classifications/icd10/browse/2016/en#/' .. id; end },
	{ 'ՀՄԴ-10-ԿՄ',		'P4229',	function( id ) return 'https://icdcodelookup.com/icd-10/codes/' .. id; end },
	{ 'ChEMBL',		'P592',		function( id ) return 'https://www.ebi.ac.uk/chembl/compound/inspect/' .. id; end },
	{ 'DiseasesDB',		'P557',		function( id ) return 'http://www.diseasesdatabase.com/ddb' .. id .. '.htm'; end },
	{ 'Drugbank',		'P715',		function( id ) return 'https://www.drugbank.ca/drugs/DB' .. id; end },
	{ 'eMedicine',		'P673',		function( id ) return 'http://emedicine.medscape.com/article/' .. id; end },
	{ 'Foundational Model of Anatomy',		'P1402',		function( id ) return 'http://purl.org/sig/ont/fma/fma' .. id; end },
	{ 'GeneReviews',		'P668',	function( id ) return 'https://www.ncbi.nlm.nih.gov/books/' .. id; end },
	{ 'GeoNames',		'P1566',	function( id ) return 'https://www.geonames.org/' .. id; end },
	{ 'Wikimapia',		'P7678',	function( id ) return 'http://wikimapia.org/' .. id; end },
	{ 'ГВР',		'P884',   	function( id ) return 'http://verum.wiki/index.php?claster=gvr&q=' .. id; end },
	{ { 'Q364', 'GitHub ' }, 	'P2037',	function( id ) return 'https://github.com/' .. id; end },
	{ { 'Q494817', 'Google Scholar' },			'P1960',	function( id ) return 'https://scholar.google.com/citations?user=' .. id; end },
	{ 'HomoloGene',		'P593',	function( id ) return 'https://www.ncbi.nlm.nih.gov/homologene?term=' .. id; end },
	{ 'IUPHAR',			'P595',	function( id ) return 'https://www.guidetopharmacology.org/GRAC/LigandDisplayForward?ligandId=' .. id; end },
	{ { 'Q4026990', 'JPL Small-Body Database' },'P716',	function( id ) return 'https://ssd.jpl.nasa.gov/sbdb.cgi?sstr=' .. id; end },
	{ 'ICPC 2',		'P667',	function( id ) return 'https://www.hetop.eu/hetop/3CGP/en/?rr=CIP_D_' .. id; end },
	{ 'KEGG',		'P665',	function( id ) return 'https://www.kegg.jp/entry/' .. id; end },
	{ { 'Q547473', 'MacTutor' },		'P1563',	function( id ) return 'http://www-history.mcs.st-andrews.ac.uk/Biographies/' .. id .. '.html'; end },
	{ 'MalaCards',		'P1583',	function( id ) return 'https://www.malacards.org/card/' .. id; end },
	{ { 'Q829984', 'Mathematics Genealogy Project' },	'P549',	function( id ) return 'https://genealogy.math.ndsu.nodak.edu/id.php?id=' .. id; end },
	{ { 'Q18241050', 'zbMATH' },			'P1556',	function( id ) return 'https://www.zbmath.org/authors/?q=ai:' .. id; end },
	{ { 'Q4330205', 'Math-Net.ru' },		'P4252',	function( id ) return 'http://www.mathnet.ru/rus/person' .. id; end },
	{ 'MedlinePlus',		'P604',		function( id ) return 'https://medlineplus.gov/ency/article/' .. id .. '.htm'; end },
	{ 'NCI',		'P1395',	function( id ) return 'https://www.cancer.gov/cancertopics/types/' .. id; end },
	{ 'NCI Thesaurus ',		'P1748',	function( id ) return 'https://ncit.nci.nih.gov/ncitbrowser/ConceptReport.jsp?dictionary=NCI%20Thesaurus&code=' .. id; end },
	{ 'Neurolex',		'P696',	function( id ) return 'http://neurolex.org/wiki/' .. id; end },
	{ 'OMIM',		'P492',	function( id ) return 'https://omim.org/entry/' .. id; end },
	{ { 'Q124688', 'Open Hub ' },			'P1972',	function( id ) return 'https://www.openhub.net/p/' .. id; end },
	{ { 'Q51044', 'ORCID' },		'P496',		orcidLink },
	{ 'PDB',		'P638',		function( id ) return 'https://www.rcsb.org/structure/' .. id; end },
	{ 'PubMed Health',		'P653',		function( id ) return 'https://www.ncbi.nlm.nih.gov/pubmedhealth/' .. id; end },
	{ 'RefSeq',		'P637',		function( id ) return 'https://www.ncbi.nlm.nih.gov/protein/' .. id; end },
	{ 'RefSeq RNA',		'P639',		function( id ) return 'http://www.ncbi.nlm.nih.gov/nuccore/' .. id; end },
	{ { 'Q7315186', 'ResearcherID' },			'P1053',	function( id ) return 'http://www.researcherid.com/rid/' .. id; end },
	{ { 'Q371467', 'Scopus' },			'P1153',	function( id ) return 'http://www.scopus.com/authid/detail.url?authorId=' .. id; end },
	{ { 'Q1061861', 'Structurae' },			'P2418',	function( id ) return 'http://structurae.de/personen/' .. id; end },
	{ 'Terminologia Anatomica 98',		'P1323',	function( id ) return 'https://tools.wmflabs.org/wikidata-externalid-url/?p=1323&url_prefix=https:%2F%2Fwww.unifr.ch%2Fifaa%2FPublic%2FEntryPage%2FTA98%20Tree%2FEntity%20TA98%20EN%2F&url_suffix=%20Entity%20TA98%20EN.htm&id=' .. id; end },
	{ 'UNII',		'P652',	function( id ) return 'https://fdasis.nlm.nih.gov/srs/unii/' .. id; end },
	{ 'Vaccine Ontology',		'P1928',	function( id ) return 'http://www.ontobee.org/browser/rdf.php?o=VO&iri=http://purl.obolibrary.org/obo/$1' .. id; end },
	{ 'VIOLIN',		'P1925',	function( id ) return 'http://www.violinet.org/vaxquery/vaccine_detail.php?c_vaccine_id=' .. id; end },

	-- Թեմատիկ կայքեր. քաղաքականություն
	{ 'ՀՀ Ազգային ժողով',				'P5213',	function( id ) return 'http://www.parliament.am/deputies.php?sel=details&ID=' .. id; end },
	{ 'INSEE', 'P374', function( id ) return 'https://www.insee.fr/fr/statistiques/2011101?geo=COM-' .. id .. ''; end },
	{ 'Верховна рада',				'P3391',	function( id ) return 'http://itd.rada.gov.ua/mps/info/page/' .. id; end },
	{ 'Герои страны',				'P2943',	function( id ) return 'http://www.warheroes.ru/hero/hero.asp?Hero_id=' .. id; end },
	{ { 'Q20035614', 'Декларатор' },	'P1883',	declaratorLink },
	{ 'Եվրախորհրդարան',				'P1186',	function( id ) return 'http://www.europarl.europa.eu/meps/en/' .. id; end },
	{ 'Բրիտանիայի խորհրդարան',		'P1996',	function( id ) return 'http://www.parliament.uk/biographies/' .. id; end },
	{ 'Ռիկստագ',				'P1214',	function( id ) return 'http://data.riksdagen.se/personlista/?iid=' .. id .. '&utformat=html'; end },
	{ 'Слово i Дiло',			'P7282',	function( id ) return 'https://www.slovoidilo.ua/persony/' .. id; end },
	{ 'Русская армия в Великой войне',	'P6737',	function( id ) return 'http://www.grwar.ru/persons/persons.html?id=' .. id; end },
	{ 'ЧЕСНО',					'P7145',	function( id ) return 'https://www.chesno.org/politician/' .. id .. '/'; end },

	-- Թեմատիկ կայքեր. սպորտ
	{ '08euro.Ru',						'P7111',	function( id ) return 'http://www.08euro.ru/teams/' .. id .. '.shtml'; end },
	{ '100 бомбардиров',				'P6632',	function( id ) return 'http://100bombardirov.ru/ru/player/' .. id .. '.htm'; end },
	{ '247Sports',			'P7397',	function( id ) return 'https://247sports.com/Player/' .. id; end },
	{ '365chess',			'P3314',	function( id ) return 'http://www.365chess.com/players/' .. id; end },
	{ '90minut',			'P3605',	function( id ) return 'http://www.90minut.pl/kariera.php?id=' .. id; end },
	{ '90minut',			'P7453',	function( id ) return 'http://www.90minut.pl/skarb.php?id_klub=' .. id; end },
	{ 'ACB (խաղացող)',				'P3525',	function( id ) return 'http://www.acb.com/jugador.php?id=' .. id; end },
	{ 'ACB (մարզիչ)',				'P6297',	function( id ) return 'http://www.acb.com/entrenador.php?id=' .. id; end },
	{ 'AIC',				'P6319',	function( id ) return 'https://aic.football.it/scheda/' .. id; end },
	{ 'All Blacks',					'P3645',	function( id ) return 'http://stats.allblacks.com/asp/profile.asp?ABID=' .. id; end },
	{ 'ARRS',				'P3653',	function( id ) return 'https://more.arrs.run/runner/' .. id; end },
	{ 'AS.com',				'P3427',	function( id ) return 'http://resultados.as.com/resultados/ficha/deportista/' .. id; end },
	{ 'ATP',				'P536',		function( id ) return 'https://www.atptour.com/en/players/-/' .. id .. '/overview'; end },
	{ 'Barbarian F.C.',				'P4493',	function( id ) return 'http://www.barbarianfc.co.uk/archive/profile/' .. id; end },
	{ 'Baseball-Reference.com',			'P1825',	function( id ) return 'https://www.baseball-reference.com/players/' .. id .. '.html' end },
	{ 'Baseball-Reference.com (բացի MLB)',	'P1826',	function( id ) return 'https://www.baseball-reference.com/register/player.fcgi?id=' .. id; end },
	{ 'Basketball-Reference.com (խաղացող)',		'P2685',	function( id ) return 'https://www.basketball-reference.com/players/' .. id .. '.html' end },
	{ 'Basketball-Reference.com (մարզիչ)',		'P4718',	function( id ) return 'https://www.basketball-reference.com/coaches/' .. id .. '.html' end },
	{ 'Basketball-Reference.com (խաղացող)',		'P4561',	function( id ) return 'https://www.basketball-reference.com/wnba/players/' .. id .. '.html' end },
	{ 'Basketball-Reference.com (մարզիչ)',		'P4720',	function( id ) return 'https://www.basketball-reference.com/wnba/coaches/' .. id .. '.html' end },
	{ 'Basketball-Reference.com (Ջի-Լիգա)',	'P4744',	function( id ) return 'https://www.basketball-reference.com/gleague/players/' .. id .. '.html' end },
	{ 'Basketball-Reference.com (Եվրոպա)',	'P4790',	function( id ) return 'https://www.basketball-reference.com/euro/players/' .. id .. '.html' end },
	{ 'BDFA',			'P6188',	function( id ) return 'https://bdfa.com.ar/jugadores-' .. id .. '.html'; end },
	{ 'BDFutbol',				'P3655',	function( id ) return 'http://www.bdfutbol.com/en/j/j' .. id .. '.html'; end },
	{ 'BDFutbol',				'P7488',	function( id ) return 'https://www.bdfutbol.com/en/e/e' .. id .. '.html'; end },
	{ 'Beachsoccer.ru',					'P6253',	function( id ) return 'http://www.beachsoccer.ru/players/player' .. id .. '/'; end },
	{ 'Beach Volleyball Database',		'P2800',	function( id ) return 'http://www.bvbinfo.com/player.asp?ID=' .. id; end },
	{ 'biathlon.com.ua',				'P6386',	function( id ) return 'https://www.biathlon.com.ua/profile.php?id=' .. id .. '&lang=rus'; end },
	{ 'BoxRec',				'P1967',	function( id ) return 'http://boxrec.com/boxer/' .. id; end },
	{ 'BSRussia',			'P6252',	function( id ) return 'http://bsrussia.com/profiles/persons/' .. id; end },
	{ 'BWF',				'P2729',	function( id ) return 'https://bwf.tournamentsoftware.com/player-profile/' .. id; end },
	{ 'BWFbadminton.com',			'P3620',	function( id ) return 'https://bwfbadminton.com/player/' .. id; end },
	{ 'CanadaSoccer.com',				'P7459',	function( id ) return 'https://canadasoccer.com/?pid=' .. id .. '&t=profile'; end },
	{ 'Chess DB',				'P1440',	function( id ) return 'https://chess-db.com/public/pinfo.jsp?id=' .. id; end },
	{ 'Chess Games',			'P1665',	function( id ) return 'http://www.chessgames.com/perl/chessplayer?pid=' .. id; end },
	{ 'Chess Tempo',			'P3315',	function( id ) return 'https://chesstempo.com/gamedb/player/' .. id; end },
	{ 'College Football HoF',			'P3044',	function( id ) return 'https://footballfoundation.org/hof_search.aspx?hof=' .. id; end },
	{ 'CQ Ranking',				'P1541',	function( id ) return 'https://cqranking.com/men/asp/gen/rider.asp?riderid=' .. id; end },
	{ 'CQ Ranking',				'P2709',	function( id ) return 'https://cqranking.com/women/asp/gen/rider.asp?riderid=' .. id; end },
	{ 'CUP2002.RU',				'P7112',	function( id ) return 'http://www.cup2002.ru/' .. id .. '.shtml'; end },
	{ 'Curlingzone.com',				'P3556',	function( id ) return 'http://www.curlingzone.com/player.php?playerid=' .. id; end },
	{ 'CycleBase',					'P4508',	function( id ) return 'https://www.cyclebase.nl/?lang=en&page=renner&id=' .. id; end },
	{ 'Cycling Archives',				'P1409',	function( id ) return 'http://www.cyclingarchives.com/coureurfiche.php?coureurid=' .. id; end },
	{ 'Diamond League',					'P3923',	function( id ) return 'https://www.diamondleague.com/athletes/' .. id .. '.html'; end },
	{ 'DraftExpress',					'P3533',	function( id ) return 'http://www.draftexpress.com/profile/' .. id .. '/'; end },
	{ 'Driver Database',				'P3684',	function( id ) return 'https://www.driverdb.com/drivers/' .. id .. '/'; end },
	{ 'Dynamomania.com',				'P7395',	function( id ) return 'http://dynamomania.com/player/' .. id .. '-a'; end },
	{ 'EFC',			'P4475',	function( id ) return 'https://www.eurofencing.info/competitions/fencers/case:fencer/licence:' .. id; end },
	{ 'Elite Football',				'P7343',	function( id ) return 'http://www.elitefootball.com/player/-/' .. id; end },
	{ 'Elite Prospects (խաղացող)',		'P2481',	function( id ) return 'http://www.eliteprospects.com/player.php?player=' .. id; end },
	{ 'Elite Prospects (մարզիչ)',		'P4319',	function( id ) return 'http://www.eliteprospects.com/staff.php?staff=' .. id; end },
	{ 'ENARD',					'P3958',	function( id ) return 'http://infoenard.org.ar/' .. id; end },
	{ 'England Football Online (խաղացող)','P6331',	function( id ) return 'http://www.englandfootballonline.com/TeamPlyrsBios/Players' .. id .. '.html'; end },
	{ 'England Football Online (խաղացող)','P6330',	function( id ) return 'http://www.englandfootballonline.com/TeamMgr/Mgr_' .. id .. '.html'; end },
	{ 'englandstats.com',				'P7608',	function( id ) return 'https://www.englandstats.com/players.php?pid=' .. id; end },
	{ 'EPCR',				'P3666',	function( id ) return 'https://www.epcrugby.com/player?PlayGuid=' .. id; end },
	{ 'ESBL',				'P4042',	function( id ) return 'http://www.esbl.ee/biograafia/' .. id; end },
	{ 'EspritBleu',					'P4050',	function( id ) return 'http://espritbleu.franceolympique.com/espritbleu/athletes/' .. id .. '.php'; end },
	{ 'ESPN.com',				'P3571',	function( id ) return 'http://www.espn.com/mlb/player/stats/_/id/' .. id; end },
	{ 'ESPNFC.com',					'P3681',	function( id ) return 'http://www.espnfc.com/player/' .. id; end },
	{ 'ESPNscrum',				'P858',		function( id ) return 'http://en.espn.co.uk/statsguru/rugby/player/' .. id .. '.html'; end },
	{ 'eu-football.info (խաղացող)',		'P3726',	function( id ) return 'http://eu-football.info/_player.php?id=' .. id; end },
	{ 'eu-football.info',				'P7435',	function( id ) return 'https://eu-football.info/_referee.php?id=' .. id; end },
	{ 'eu-football.info (մարզիչ)',		'P7463',	function( id ) return 'https://eu-football.info/_manager.php?id=' .. id; end },
	{ 'eu-football.info',				'P7492',	function( id ) return 'https://eu-football.info/_match.php?id=' .. id; end },
	{ 'Euro04.Ru',				'P7113',	function( id ) return 'http://www.euro04.ru/teams/' .. id .. '.shtml'; end },
	{ 'Eurobasket.com (խաղացող)',			'P3527',	function( id ) return 'http://www.eurobasket.com/player.asp?PlayerID=' .. id; end },
	{ 'Eurobasket.com (մարզիչ)',		'P6865',	function( id ) return 'http://www.eurobasket.com/coach.asp?CoachID=' .. id; end },
	{ 'Eurohockey.com',				'P2601',	function( id ) return 'http://www.eurohockey.com/player/' .. id .. '-.html'; end },
	{ 'EuroLeague (խաղացող)',			'P3536',	function( id ) return 'https://www.euroleague.net/competition/players/showplayer?pcode=' .. id; end },
	{ 'EuroLeague (մարզիչ)',			'P6866',	function( id ) return 'https://www.euroleague.net/competition/coaches/showcoach?pcode=' .. id; end },
	{ 'European Athletics',				'P3766',	function( id ) return 'http://www.european-athletics.org/athletes/group=' .. id .. '/index.html'; end },
	{ 'eWRC-results.com',				'P3927',	function( id ) return 'https://www.ewrc-results.com/profile/' .. id; end },
	{ 'FaroeSoccer (խաղացող)',					'P6627',	function( id ) return 'http://www.faroesoccer.com/player.php?playerID=' .. id; end },
	{ 'FaroeSoccer (մարզիչ)',					'P6628',	function( id ) return 'http://www.faroesoccer.com/coach.php?coachID=' .. id; end },
	{ 'FEI',				'P3111',	function( id ) return 'https://data.fei.org/Person/Performance.aspx?personfeiid=' .. id; end },
    { 'FIBT',	           'P2991',	function( id ) return 'http://www.ibsf.org/en/athletes/athlete/' .. id; end }, 
    { 'FIL',	               'P2990',	function( id ) return 'https://www.fil-luge.org/en/athletes/' .. id; end }, 
    { 'FIS (դահուկներով մրցավազք)',	                 'P2773',	function( id ) return 'https://www.fis-ski.com/DB/general/athlete-biography.html?sectorcode=CC&competitorid=' .. id; end }, 
	{ 'FIS (դահուկավազք)',			'P2772',	function( id ) return 'https://www.fis-ski.com/DB/general/athlete-biography.html?sectorcode=AL&competitorid=' .. id; end },
	{ 'FIS (ֆրիսթայլ)',					'P2774',	function( id ) return 'https://www.fis-ski.com/DB/general/athlete-biography.html?sectorcode=FS&competitorid=' .. id; end },
	{ 'FIS (դահուկացատկ)',					'P2775',	function( id ) return 'https://www.fis-ski.com/DB/general/athlete-biography.html?sectorcode=JP&competitorid=' .. id; end },
	{ 'FIS (դահուկային բիաթլոն)',					'P2776',	function( id ) return 'https://www.fis-ski.com/DB/general/athlete-biography.html?sectorcode=NK&competitorid=' .. id; end },
	{ 'FIS (սնոուբորդ)',			'P2777',	function( id ) return 'https://www.fis-ski.com/DB/general/athlete-biography.html?sectorcode=SB&competitorid=' .. id; end },
	{ 'FIS (տելեմարկ)',			'P6669',	function( id ) return 'https://www.fis-ski.com/DB/general/athlete-biography.html?sectorcode=TM&competitorid=' .. id; end },
	{ 'FISA',			'P2091',	function( id ) return 'http://www.worldrowing.com/athletes/athlete/' .. id .. '/'; end },
	{ 'FlashScore.com',			'P7460',	function( id ) return 'https://www.flashscore.com/match/' .. id; end },
	{ 'FootballDatabase.eu',			'P3537',	function( id ) return 'https://www.footballdatabase.eu/en/player/details/' .. id; end },
	{ 'FootballDatabase.eu',			'P7351',	function( id ) return 'https://www.footballdatabase.eu/en/club/team/' .. id; end },
	{ 'FootballFacts.ru',			'P3660',	function( id ) return 'http://footballfacts.ru/players/' .. id; end },
	{ 'FootballFacts.ru',			'P7358',	function( id ) return 'http://footballfacts.ru/clubs/' .. id; end },
	{ 'footofeminin.fr',			'P4262',	function( id ) return 'http://www.statsfootofeminin.fr/joueur.php?joueur=' .. id; end },
	{ 'ForaDeJogo (խաղացող)',				'P3046',	function( id ) return 'https://www.foradejogo.net/player.php?player=' .. id; end },
	{ 'ForaDeJogo (մարզիչ)',			'P3661',	function( id ) return 'https://www.foradejogo.net/manager.php?manager=' .. id; end },
	{ 'ForaDeJogo',					'P7412',	function( id ) return 'https://www.foradejogo.net/team.php?team=' .. id; end },
	{ 'FSkate.ru',				'P6624',	function( id ) return 'http://www.fskate.ru/skaters/' .. id .. '.html'; end },
	{ 'Fussballdaten.de',			'P3538',	function( id ) return 'https://www.fussballdaten.de/person/' .. id .. '/'; end },
	{ 'Fussballdaten.de',			'P7495',	function( id ) return 'https://www.fussballdaten.de/vereine/' .. id .. '/'; end },
	{ 'Futbolme',				'P7399',	function( id ) return 'https://futbolme.com/jugador.php?id=' .. id; end },
	{ 'FIE',			'P2423',	function( id ) return 'https://fie.org/athletes/' .. id; end },
	{ 'FIG',		'P2696',	function( id ) return 'http://www.gymnastics.sport/site/athletes/bio_detail.php?id=' .. id .. '&type=licence'; end },
	{ 'FINA',		'P3408',	function( id ) return 'https://www.fina.org/athletes/' .. id; end },
	{ 'Germany06.Ru',					'P7652',	function( id ) return 'http://www.germany06.ru/teams/' .. id .. '.shtml'; end },
	{ 'Global Poker Index',				'P3564',	function( id ) return 'http://www.globalpokerindex.com/poker-players/' .. id; end },
	{ 'Goratings',				'P2805',	function( id ) return 'http://www.goratings.org/players/' .. id .. '.html'; end },
	{ 'Gracenote',				'P4397',	function( id ) return 'https://www.paralympic.org/asp/redirect/ipc.asp?page=athletebio&personid=' .. id; end },
	{ 'Handball123',					'P7002',	function( id ) return 'https://www.handball123.com/player/' .. id .. '.html' end },
	{ 'Hockey-Reference.com',			'P3598',	function( id ) return 'http://www.hockey-reference.com/players/' .. id .. '.html' end },
	{ 'hockeyDB',						'P2602',	function( id ) return 'http://www.hockeydb.com/ihdb/stats/pdisplay.php?pid=' .. id; end },
	{ 'IAT',					'P2780',	function( id ) return 'https://www.iat.uni-leipzig.de/datenbanken/dbdiving/daten.php?id_sportler=' .. id; end },
	{ 'IAT',					'P2778',	function( id ) return 'https://www.iat.uni-leipzig.de/datenbanken/dbtriathlon/daten.php?spid=' .. id; end },
	{ 'IAT',					'P2779',	function( id ) return 'https://www.iat.uni-leipzig.de/datenbanken/dbgwh/daten.php?spid=' .. id; end },
    { 'IBU',	              'P2459',	function( id ) return 'https://biathlonresults.com/?IBUId=' .. id; end },
    { 'ICF',	                  'P3689',	function( id ) return 'https://www.canoeicf.com/athlete/' .. id; end },
	{ 'iDNES.cz',			'P3663',	function( id ) return 'https://fotbal.idnes.cz/databanka.aspx?t=hrac&id=' .. id; end },
	{ 'IFJ',			'P4559',	function( id ) return 'https://www.ijf.org/judoka/' .. id; end },
	{ 'IFSC',			'P3690',	function( id ) return 'http://www.ifsc-climbing.org/index.php?option=com_ifsc&view=athlete&id=' .. id; end },
	{ 'ISSF',			'P2730',	function( id ) return 'https://www.issf-sports.org/athletes/athlete.ashx?personissfid=' .. id; end },
	{ 'ISU',			'P2694',	function( id ) return 'http://www.isuresults.com/bios/isufs' .. id.. '.htm'; end },
	{ 'IT’S RUGBY',						'P3769',	function( id ) return 'http://www.itsrugby.co.uk/player_' .. id .. '.html'; end },
	{ 'ITF',				'P599',	function( id ) return 'https://www.itftennis.com/procircuit/players/player/profile.aspx?playerid=' .. id; end },
	{ 'ITRA',				'P3584',	function( id ) return 'http://itra.run/community/' .. id; end },
	{ 'ITTF',				'P1364',	function( id ) return 'http://results.ittf.link/index.php?option=com_fabrik&view=details&formid=99&rowid=' .. id; end },
	{ 'ITU',				'P3604',	function( id ) return 'http://www.triathlon.org/athletes/profile/' .. id; end },
	{ 'IWF',				'P3667',	function( id ) return 'http://www.iwf.net/results/athletes/?athlete=&id=' .. id; end },
	{ 'IWRP',				'P4504',	function( id ) return 'http://iwrp.net/?view=contestant&id_zawodnik=' .. id; end },
	{ 'J.League (խաղացող)',				'P3565',	function( id ) return 'https://data.j-league.or.jp/SFIX04/?player_id=' .. id; end },
	{ 'J.League (մարզիչ)',				'P4048',	function( id ) return 'https://data.j-league.or.jp/SFIX07/?staff_id=' .. id; end },
	{ 'JudoInside',						'P2767',	function( id ) return 'https://www.judoinside.com/judoka/' .. id .. '/'; end },
	{ 'Juwra.com',				'P3949',	function( id ) return 'http://www.juwra.com/' .. id .. '.html'; end },
	{ 'K League',				'P3053',	function( id ) return 'http://www.kleague.com/en/content/playersearch?playercode=' .. id; end },
	{ 'Kicker.de',				'P6615',	function( id ) return 'http://www.kicker.de/' .. id .. '/vereinsspieler_profil.html'; end },
	{ 'L’Équipe',				'P3665',	function( id ) return 'https://www.lequipe.fr/Football/FootballFicheJoueur' .. id .. '.html'; end },
	{ 'lapreferente.com',				'P7359',	function( id ) return 'https://www.lapreferente.com/J' .. id .. '/.html'; end },
	{ 'LevskiSofia.info (խաղացող)',		'P6411',	function( id ) return 'https://levskisofia.info/player/' .. id .. '/'; end },
	{ 'LevskiSofia.info (մարզիչ)',		'P6410',	function( id ) return 'https://levskisofia.info/coach/' .. id .. '/'; end },
	{ 'LFB',					'P4382',	function( id ) return 'http://www.basketlfb.com/' .. id; end },
	{ 'LFH',					'P4289',	function( id ) return 'http://www.handlfh.org/joueuse/' .. id .. '/'; end },
	{ 'LFP',					'P3683',	function( id ) return 'https://www.ligue1.com/joueur/' .. id; end },
	{ 'LNH',					'P4192',	function( id ) return 'https://www.lnh.fr/joueurs/' .. id; end },
	{ 'LNV',					'P4281',	function( id ) return 'http://www.lnv.fr/joueurs/' .. id .. '/v.html'; end },
	{ 'LongSwimsDB',					'P7232',	function( id ) return 'https://db.marathonswimmers.org/p/' .. id .. '/'; end },
	{ 'Mémoire du cyclisme',			'P4516',	function( id ) return 'http://www.memoire-du-cyclisme.eu/pelotons/coureurs.php?c=' .. id; end },
	{ 'MLB',					'P3541',	function( id ) return 'https://www.mlb.com/player/' .. id; end },
	{ 'MLS',					'P2398',	function( id ) return 'https://www.mlssoccer.com/players/' .. id; end },
	{ 'MotoGP.com',						'P3928',	function( id ) return 'http://www.motogp.com/en/riders/' .. id; end },
	{ 'National Football Teams.com',	'P2574',	function( id ) return 'http://www.national-football-teams.com/player/' .. id .. '.html'; end },
	{ 'National Wrestling Hall of Fame',	'P6688',	function( id ) return 'https://nwhof.org/stillwater/champions-database/#type=cdb&wrestler=' .. id; end },
	{ 'NFL',							'P3539',	function( id ) return 'http://www.nfl.com/player/wd/' .. id .. '/profile'; end },
	{ 'Olympic Channel',				'P5815',	function( id ) return 'https://www.olympicchannel.com/athletes/detail/' .. id; end },
	{ 'OnsOranje',						'P5158',	function( id ) return 'https://www.onsoranje.nl/teams/' .. id; end },
	{ 'PlusLiga',						'P7551',	function( id ) return 'http://www.plusliga.pl/players/id/' .. id .. '.html'; end },
	{ 'Pro Football Hall of Fame',		'P6930',	function( id ) return 'https://www.profootballhof.com/players/' .. id .. '/'; end },
	{ 'Pro-Football-Reference.com (խաղացող)',		'P3561',	function( id ) return 'https://www.pro-football-reference.com/players/' .. id .. '.htm' end },
	{ 'Pro-Football-Reference.com (մարզիչ)',		'P6836',	function( id ) return 'https://www.pro-football-reference.com/coaches/' .. id .. '.htm' end },
	{ 'ProCyclingStats',				'P1663',	function( id ) return 'https://www.procyclingstats.com/rider/' .. id; end },
	{ 'racing-reference',				'P3048',	function( id ) return 'http://www.racing-reference.info/driver/' .. id; end },
	{ 'Rallye-info.com',				'P3930',	function( id ) return 'http://www.rallye-info.com/driverprofile.asp?driver=' .. id; end },
    { 'RealGM',							'P3957',	function( id ) return 'http://basketball.realgm.com/player/wd/Summary/' .. id .. ''; end },
	{ 'Red Bull',						'P3883',	function( id ) return 'https://www.redbull.com/int-en/athlete/' .. id; end },
	{ 'Reprezentacija.rs',				'P3908',	function( id ) return 'http://www.reprezentacija.rs/' .. id .. '/#content'; end },
	{ 'Rivals.com',						'P7339',	function( id ) return 'https://n.rivals.com/content/prospects/' .. id; end },
	{ 'Rollerstory.net',				'P7146',	function( id ) return 'https://www.rollerstory.net/skater.php?id=' .. id; end },
	{ 'Romanian Soccer',				'P6399',	function( id ) return 'http://www.romaniansoccer.ro/players/' .. id .. '/'; end },
	{ 'Rugby League Project',			'P6881',	function( id ) return 'https://www.rugbyleagueproject.org/' .. id .. '.html'; end },
	{ 'Sambafoot',						'P3668',	function( id ) return 'http://www.sambafoot.com/en/players/' .. id .. '.html' end },
	{ 'Sherdog',						'P2818',	function( id ) return 'https://www.sherdog.com/fighter/' .. id; end },
	{ 'ShorttrackOnLine.info',			'P3693',	function( id ) return 'http://www.shorttrackonline.info/skaterbio.php?id=' .. id; end },
	{ 'ski-db.com',						'P3619',	function( id ) return 'https://www.ski-db.com/db/profiles/' .. id .. '.php'; end },
	{ 'Soccerbase (խաղացող)',				'P2193',	function( id ) return 'https://www.soccerbase.com/players/player.sd?player_id=' .. id; end },
	{ 'Soccerbase (դատավոր)',				'P7465',	function( id ) return 'https://www.soccerbase.com/referees/referee.sd?referee_id=' .. id; end },
	{ 'Soccerbase (մարզիչ)',			'P2195',	function( id ) return 'https://www.soccerbase.com/managers/manager.sd?manager_id=' .. id; end },
	{ 'Soccerbase',						'P7454',	function( id ) return 'https://www.soccerbase.com/teams/team.sd?team_id=' .. id; end },
	{ 'soccerdonna.de',					'P4381',	function( id ) return 'https://www.soccerdonna.de/wiki/pedia/profil/spieler_' .. id .. '.html'; end },
	{ 'Soccerway',						'P2369',	function( id ) return 'https://int.soccerway.com/players/-/' .. id .. '/' end },
	{ 'Soccerway',						'P6131',	function( id ) return 'https://int.soccerway.com/teams/wd/wd/' .. id .. '/' end },
	{ 'Soccerway',						'P7494',	function( id ) return 'https://int.soccerway.com/matches/0000/00/00/-/-/-/-/' .. id; end },
	{ 'Speedskatingbase.eu',			'P2350',	function( id ) return 'http://www.speedskatingbase.eu/?section=skaters&subsection=skater&skaterid=' .. id; end },
	{ 'SpeedSkatingNews.info',			'P3694',	function( id ) return 'http://www.speedskatingnews.info/en/data/skater/' .. id .. '/'; end },
	{ 'SpeedskatingResults.com',		'P4314',	function( id ) return 'http://speedskatingresults.com/index.php?p=17&s=' .. id; end },
	{ 'SpeedSkatingStats',				'P3695',	function( id ) return 'http://www.speedskatingstats.com/index.php?file=skater&code=' .. id; end },
	{ 'Sportbox.ru',					'P4421',	function( id ) return 'http://news.sportbox.ru/Vidy_sporta/' .. id; end },
	{ 'sports.md',						'P6401',	function( id ) return 'http://moldova.sports.md/' .. id .. '/'; end },
--	{ 'Sports.ru',						'P4408',	function( id ) return 'https://www.sports.ru/tags/' .. id; end },
	{ 'Sports-Reference.com',			'P1447',	function( id ) return 'http://www.sports-reference.com/olympics/athletes/' .. id .. '.html' end },
	{ 'Sports-Reference.com (քոլեջ)',			'P3696',	function( id ) return 'https://www.sports-reference.com/cbb/players/' .. id .. '.html' end },
	{ 'Sports-Reference.com (մարզիչ)',			'P4751',	function( id ) return 'https://www.sports-reference.com/cbb/coaches/' .. id .. '.html' end },
	{ 'StadiumDB',						'P5288',	function( id ) return 'http://stadiumdb.com/stadiums/' .. id; end },
	{ 'Strava',							'P5283',	function( id ) return 'https://www.strava.com/pros/' .. id; end },
	{ 'svenskfotboll.se',				'P1238',	function( id ) return 'https://www.svenskfotboll.se/spelarfakta/' .. id .. '/'; end },
	{ 'Swimrankings.net',				'P2640',	function( id ) return 'https://www.swimrankings.net/index.php?page=athleteDetail&athleteId=' .. id; end },
	{ 'SwimSwam',						'P4315',	function( id ) return 'https://swimswam.com/bio/' .. id .. '/'; end },
	{ 'Taekwondo Data',					'P2987',	function( id ) return 'http://www.taekwondodata.com/' .. id .. '.html'; end },
	{ 'teams.by',						'P6321',	function( id ) return 'http://www.teams.by/player/info/' .. id; end },
	{ 'teams.by',						'P7490',	function( id ) return 'http://www.teams.by/club-' .. id .. '/'; end },
	{ 'The Hendon Mob',					'P6146',	function( id ) return 'http://pokerdb.thehendonmob.com/player.php?n=' .. id; end },
	{ 'Peakbagger',						'P7278',	function( id ) return 'https://www.peakbagger.com/climber/climber.aspx?cid=' .. id; end },
	{ 'playmarkerstats.com (խաղացող)',	'P3047',	function( id ) return 'https://www.thefinalball.com/player.php?id=' .. id end },
	{ 'playmarkerstats.com (մարզիչ)',	'P6316',	function( id ) return 'http://www.thefinalball.com/coach.php?id=' .. id end },
	{ 'playmarkerstats.com (դատավոր)',	'P6315',	function( id ) return 'http://www.thefinalball.com/arbitro.php?id=' .. id end },
	{ 'playmarkerstats.com',			'P7280',	function( id ) return 'http://www.playmakerstats.com/equipa.php?id=' .. id end },
	{ 'playmarkerstats.com',			'P7493',	function( id ) return 'http://www.playmakerstats.com/jogo.php?id=' .. id end },
	{ 'TheSports.org',					'P4391',	function( id ) return 'http://www.the-sports.org/t-spf' .. id .. '.html'; end },
	{ 'THW Kiel',						'P4263',	function( id ) return 'http://archiv.thw-handball.de/thw/sp_' .. id .. '.htm'; end },
	{ 'Tilastopaja',					'P3882',	function( id ) return 'https://www.tilastopaja.eu/db/at.php?Sex=2&ID=' .. id; end },
	{ 'Tilastopaja',					'P3884',	function( id ) return 'https://www.tilastopaja.eu/db/at.php?Sex=1&ID=' .. id; end },
	{ 'Track and Field Statistics',		'P3924',	function( id ) return 'http://trackfield.brinkster.net/Profile.asp?ID=' .. id .. '&Gender=W'; end },
	{ 'Track and Field Statistics',		'P3925',	function( id ) return 'http://trackfield.brinkster.net/Profile.asp?ID=' .. id .. '&Gender=M'; end },
	{ 'Transfermarkt (դատավոր)',			'P3699',	function( id ) return 'https://www.transfermarkt.com/transfermarkt/profil/schiedsrichter/' .. id; end },
	{ 'Transfermarkt (խաղացող)',			'P2446',	function( id ) return 'https://www.transfermarkt.com/transfermarkt/profil/spieler/' .. id; end },
	{ 'Transfermarkt (մարզիչ)',			'P2447',	function( id ) return 'https://www.transfermarkt.com/transfermarkt/profil/trainer/' .. id; end },
	{ 'Transfermarkt',					'P7223',	function( id ) return 'https://www.transfermarkt.co.uk/-/startseite/verein/' .. id; end },
	{ 'Transfermarkt',					'P7455',	function( id ) return 'https://www.transfermarkt.co.uk/-/index/spielbericht/' .. id; end },
	{ 'TuttoCalciatori.Net (խաղացող)',	'P7036',	function( id ) return 'https://www.tuttocalciatori.net/' .. id; end },
	{ 'TuttoCalciatori.Net (մարզիչ)',	'P7035',	function( id ) return 'https://www.tuttocalciatori.net/allenatori/' .. id .. '-'; end },
	{ 'UIPM',							'P2726',	function( id ) return 'http://www.uipmworld.org/athlete/' .. id; end },
	{ 'UltraSignup',					'P3585',	function( id ) return 'https://ultrasignup.com/results_participant.aspx?' .. id; end },
	{ 'Vesti.kz',						'P6215',	function( id ) return 'http://vesti.kz/player/' .. id .. '/' end },
	{ 'Voetbalstats',					'P5742',	function( id ) return 'https://voetbalstats.nl/spelernedxi.php?persid=' .. id; end },
	{ 'World Athletics',				'P1146',	function( id ) return 'https://www.worldathletics.org/athletes/-/' .. id; end },
	{ 'World Curling Tour',				'P3556',	function( id ) return 'http://www.worldcurl.com/player.php?playerid=' .. id; end },
	{ 'WorldCup10.Ru',					'P7115',	function( id ) return 'http://www.worldcup10.ru/commands/' .. id .. '.shtml'; end },
	{ 'worldfootball.net (խաղացող)',		'P2020',	function( id ) return 'http://www.worldfootball.net/player_summary/' .. id .. '/' end },
	{ 'worldfootball.net (դատավոր)',		'P6314',	function( id ) return 'https://www.worldfootball.net/referee_summary/' .. id .. '/' end },
	{ 'worldfootball.net',				'P7287',	function( id ) return 'https://www.worldfootball.net/teams/' .. id .. '/' end },
	{ 'worldfootball.net',				'P7441',	function( id ) return 'https://www.worldfootball.net/competition/' .. id .. '/' end },
	{ 'WorldofVolley',					'P5789',	function( id ) return 'http://www.worldofvolley.com/wov-community/players/' .. id .. '.html'; end },
	{ 'WorldReferee.com',				'P7436',	function( id ) return 'https://worldreferee.com/referee/' .. id; end },
	{ 'WorldSBK.com',					'P4076',	function( id ) return 'http://www.worldsbk.com/en/rider/' .. id; end },
	{ 'WSOP',							'P3554',	function( id ) return 'https://www.wsop.com/players/profile/?playerID=' .. id; end },
	{ 'X Games',						'P4893',	function( id ) return 'http://www.xgames.com/athletes/' .. id; end },
	{ 'Спорт-страна.ру',				'P6416',	function( id ) return 'http://sport-strana.ru/' .. id .. '/'; end },
	{ 'Ադրիատիկ լիգա',				'P6850',	function( id ) return 'https://www.aba-liga.com/player.php?id=' .. id; end },
	{ 'ԱԽԼ',							'P3522',	function( id ) return 'http://www.nhl.com/ice/player.htm?id=' .. id; end },
	{ 'Աղեղնաձգության համաշխարհային ֆեդերացիա',	'P3010',	function( id ) return 'https://worldarchery.org/athlete/' .. id; end },
	{ 'ԱՄՆ օլիմպիական կոմիտե',		'P4063',	function( id ) return 'https://www.teamusa.org/Athletes/' .. id; end },
	{ 'Առագաստանավային սպորտի միջազգային ֆեդերացիա',	'P2804',	function( id ) return 'https://site-isaf.soticcloud.net/biog?memberid=' .. id; end },
	{ 'Ավստրալիայի օլիմպիական կոմիտե',	'P3682',	function( id ) return 'http://corporate.olympics.com.au/athlete/' .. id; end },
	{ 'ԲԿՄԱ',	                        'P6613',	function( id ) return 'http://cska.ru/person/' .. id; end },
	{ 'ԲՆ',							'P6940',	function( id ) return 'http://pro-box.ru/boksyery/' .. id .. '/'; end },
	{ 'Բրազիլիայի օլիմպիական կոմիտե',	'P4060',	function( id ) return 'https://www.cob.org.br/pt/atletas/' .. id; end },
	{ 'Բրիտանական օլիմպիական ասոցիացիա',		'P4490',	function( id ) return 'https://www.teamgb.com/athletes/' .. id; end },
	{ 'Բունդեսլիգա',						'P5057',	function( id ) return 'https://www.liquimoly-hbl.de/en/import/players/' .. id .. '/'; end },
	{ 'Գերմանական ուլտրամարաթոնյան ասոցիացիա',		'P2162',	function( id ) return 'http://statistik.d-u-v.org/getresultperson.php?runner=' .. id; end },
	{ 'Գերմանական ֆուտբոլային միություն',		'P4023',	function( id ) return 'https://datencenter.dfb.de/en/profile/' .. id; end },
	{ 'Գերմանիայի օլիմպիական մարզական համադաշնություն',	'P4053',	function( id ) return 'https://www.teamdeutschland.de/de/athleten/detail/a_action/show/a_athletes/' .. id .. '.html'; end },
	{ 'Դանիայի ֆուտբոլի միություն',		'P6109',	function( id ) return 'https://www.dbu.dk/landshold/landsholdsdatabasen/PlayerInfo/' .. id; end },
	{ 'ԵՎԿ',							'P3725',	function( id ) return 'https://www.cev.eu/PlayerDetail.aspx?PlayerID=' .. id; end },
	{ 'Եվրոհանդբոլ',							'P3573',	function( id ) return 'http://www.eurohandball.com/player/' .. id; end },
	{ 'Թագավորական Բելգիայի ֆուտբոլային ասոցիացիա',	'P2823',	function( id ) return 'http://static.belgianfootball.be/project/publiek/jrinteren/speler_' .. id .. '.htm'; end },
	{ 'Էստոնական ֆուտբոլային միություն',		'P3659',	function( id ) return 'http://jalgpall.ee/voistlused/player/' .. id; end },
	{ 'ԹՖՖ (խաղացող)',					'P2448',	function( id ) return 'https://www.tff.org/Default.aspx?pageId=526&kisiID=' .. id; end },
	{ 'ԹՖՖ (դատավոր)',					'P7405',	function( id ) return 'https://www.tff.org/Default.aspx?pageID=531&hakemID=' .. id; end },
	{ 'ԹՖՖ (մարզիչ)',					'P2449',	function( id ) return 'https://www.tff.org/Default.aspx?pageID=527&antID=' .. id; end },
	{ 'Լատվիայի օլիմպիական կոմիտե',		'P2593',	function( id ) return 'http://olimpiade.lv/en/olympic-athletes/' .. id; end },
	{ 'Իսլանդիայի ֆուտբոլի ասոցիացիա',	'P6495',	function( id ) return 'https://www.ksi.is/mot/leikmadur/$PlayerDetails/Games/?leikmadur=' .. id; end },
	{ 'Իսրայելի ֆուտբոլային ասոցիացիա',		'P3748',	function( id ) return 'http://www.football.org.il/players/player/?player_id=' .. id; end },
	{ 'Իտալիայի աթլետիկայի ֆեդերացիա',	'P3446',	function( id ) return 'http://www.fidal.it/atleta_one.php?t=' .. id; end },
	{ 'Իտալիայի աթլետիկայի ֆեդերացիա',	'P7364',	function( id ) return 'http://www.fidal.it/societa/-/' .. id; end },
	{ 'Լեհաստանի աթլետիկայի ասոցիացիա',	'P5075',	function( id ) return 'http://www.domtel-sport.pl/statystykaLA/personal.php?page=profile&nr_zaw=' .. id; end },
	{ 'ԽՖՄ',							'P3577',	function( id ) return 'http://hns-cff.hr/en/players/' .. id .. '/-/'; end },
	{ 'Կանադայի օլիմպիական կոմիտե',		'P4054',	function( id ) return 'http://olympic.ca/team-canada/' .. id .. '/'; end },
	{ 'ԿԽԼ',							'P3652',	function( id ) return 'https://www.khl.ru/players/' .. id .. '/' end },
	{ 'Կյոռլինգի համաշխարհային ֆեդերացիա',	'P3557',	function( id ) return 'http://results.worldcurling.org/Person/Details/' .. id; end },	{ 'ՌՄՖԱ',							'P6320',	function( id ) return 'http://amfr.ru/persons/' .. id .. '/'; end },
	{ 'Համագործակցության խաղեր',				'P4548',	function( id ) return 'https://thecgf.com/results/athletes/' .. id; end },
    { 'Համագործակցության խաղեր 2006',			'P5716',	function( id ) return 'http://m2006.thecgf.com/Participants/Participants?ID=' .. id; end },
	{ 'Համագործակցության խաղեր 2014',			'P6953',	function( id ) return 'http://g2014results.thecgf.com/athlete/-/' .. id .. '/'; end },
	{ 'Համաշխարհային խաղեր',					'P4588',	function( id ) return 'https://www.theworldgames.org/results#athlete=:' .. id; end },
	{ 'Հոկեյի փառքի սրահ',			'P3567',	function( id ) return 'https://www.hhof.com/LegendsOfHockey/jsp/SearchPlayer.jsp?player=' .. id; end },
	{ 'Ղրիմի ֆուտբոլային միություն',		'P6318',	function( id ) return 'https://www.cfu2015.com/players/' .. id .. '/'; end },
	{ 'Մարզական Ռուսաստան',				'P6421',	function( id ) return 'https://infosport.ru/person/' .. id; end },
	{ 'Միասնական պայքարի աշխարհ',		'P2727',	function( id ) return 'https://www.iat.uni-leipzig.de/datenbanken/dbwrestling/daten.php?spid=' .. id; end },
	{ 'Միացյալ լիգա ՎՏԲ',				'P6732',	function( id ) return 'http://www.vtb-league.com/ru/player/' .. id .. '/'; end },
	{ 'ՄՊԿ',							'P7550',	function( id ) return 'https://www.paralympic.org/' .. id; end },
	{ 'ՄՕԿ',							'P3171',	function( id ) return 'https://www.olympic.org/' .. id; end },	{ 'Ռուսաստանի թեթև աթլետիկա',							'P5077',	function( id ) return 'http://sport.rusathletics.com/AthleteProfile/' .. id; end },
	{ 'Նոր Զելանդիայի օլիմպիական կոմիտե',		'P4056',	function( id ) return 'http://www.olympic.org.nz/athletes/' .. id .. '/'; end },
	{ 'Նորվեգիայի ֆուտբոլի ասոցիացիա',		'P3936',	function( id ) return 'https://www.fotball.no/fotballdata/person/profil/?fiksId=' .. id; end },
	{ 'Նորվեգիայի հանդբոլի ասոցիացիա',		'P3700',	function( id ) return 'https://handballold.nif.no/Statistikk_Landskamper.asp?SpillerId=' .. id; end },
	{ 'Շվեդիայի օլիմպիական կոմիտե',		'P2323',	function( id ) return 'http://sok.se/idrottare/idrottare/' .. id .. '.html'; end },
	{ 'ՇՖՄ',	                        'P3049',	function( id ) return 'https://www.scottishfa.co.uk/players/?pid=' .. id; end },
	{ 'Չեխիայի ֆուտբոլի առաջնություն',		'P7451',	function( id ) return 'http://en.fortunaliga.cz/hrac/' .. id .. '-'; end },
	{ 'Չեխիայի ֆուտբոլի ասոցիացիա',	'P3050',	function( id ) return 'http://nv.fotbal.cz/reprezentace/reprezentace-a/statistiky/viewstat3.asp?name=' .. id; end },
	{ 'Պրեսբոլ',						'P6311',	function( id ) return 'https://www.pressball.by/footballstat/' .. id .. '/'; end },
	{ 'ՌԲՄ',							'P6387',	function( id ) return 'http://biathlonrus.com/team/main/' .. id .. '/'; end },
	{ 'ՌԲՖ',							'P6975',	function( id ) return 'http://rusboxing.ru/prof-box/boxers/' .. id .. '/'; end },
	{ 'ՌԲՖ',							'P6994',	function( id ) return 'http://rusboxing.ru/calendar/boxers/' .. id .. '/'; end },
	{ 'ՌԳՀԴ',	                        'P3622',	function( id ) return 'http://www.rusbandy.ru/gamer/' .. id .. '/'; end },
	{ 'ՌԴՄԴ',							'P6598',	function( id ) return 'https://flgr-results.ru/?ActivePage=Profile&RusCode=' .. id; end },
	{ 'ՌԼԴՍՖ',							'P6825',	function( id ) return 'http://www.fgssr.ru/Sport/UI/Page/PersonList/PersonPage.aspx?personid=' .. id; end },
	{ 'ՌՆՖ',							'P5969',	function( id ) return 'https://russiabasket.ru/players/' .. id; end },
	{ 'ՌՇՖ',							'P4994',	function( id ) return 'http://ratings.ruchess.ru/people/' .. id; end },
	{ 'ՌՊԼ (խաղացող)',					'P4417',	function( id ) return 'https://premierliga.ru/players/' .. id; end },
	{ 'ՌՊԼ (համագործող)',				'P6312',	function( id ) return 'https://premierliga.ru/staff/staff_' .. id .. '.html'; end },
	{ 'ՌՊԼ (դատավոր)',					'P6313',	function( id ) return 'https://premierliga.ru/rfpl/arbitr/arbitr_' .. id .. '.html'; end },
	{ 'Ռուսական բիաթլոն',				'P5771',	function( id ) return 'http://base.biathlonrus.com/athlete/card/id/' .. id; end },
	{ 'Ռուսական բիաթլոն',				'P5772',	function( id ) return 'http://base.biathlonrus.com/coach/card/id/' .. id; end },
	{ 'Ռուսական հոկեյ',				'P6154',	function( id ) return 'http://r-hockey.ru/player.asp?TXT=' .. id; end },
	{ 'Ռուսաստանի ֆուտբոլի ազգային հավաքական',		'P6317',	function( id ) return 'http://www.rusteam.permian.ru/players/' .. id .. '.html'; end },
	{ 'Ռուսաստանի ֆուտբոլի մրցավարներ',		'P6701',	function( id ) return 'http://referee.ru/arbitrator/' .. id .. '.html'; end },
	{ 'Սլովակիայի ֆուտբոլի առաջնություն',	'P7530',	function( id ) return 'http://fortunaliga.sk/hrac/' .. id .. '-'; end },
	{ 'ՈւԵՖԱ',							'P2276',	function( id ) return 'http://ru.uefa.com/teamsandplayers/players/player=' .. id .. '/profile/index.html'; end },
	{ 'ՈւԵՖԱ',							'P7360',	function( id ) return 'https://ru.uefa.com/teamsandplayers/coaches/coach=' .. id .. '/profile/index.html'; end },
	{ 'ՈւԵՖԱ',							'P7361',	function( id ) return 'https://ru.uefa.com/teamsandplayers/teams/club=' .. id .. '/profile/index.html'; end },
	{ 'ՈւՊԼ',							'P7362',	function( id ) return 'https://upl.ua/ru/people/view/' .. id; end },
	{ 'ՈւՊՖԼ',							'P7423',	function( id ) return 'http://pfl.ua/players/' .. id; end },
    { 'ՈւՖԱ',	                        'P3662',	function( id ) return 'https://footpass.ffu.ua/players/' .. id .. '/' end },
	{ 'Սպորտը Ուրալում',					'P6388',	function( id ) return 'http://sportufo.ru/index.php?option=com_content&view=article&id=' .. id; end },
	{ 'Օդեսայի ֆուտբոլ',				'P6415',	function( id ) return 'http://football.odessa.ua/person/?' .. id; end },
	{ 'ՖԱԼ',							'P7265',	function( id ) return 'http://1fnl.ru/players/' .. id; end },
	{ 'ՖԻԲԱ',							'P3542',	function( id ) return 'http://archive.fiba.com/pages/eng/fa/p/rpp//q//pid/' .. id .. '/_//players.html' end },
	{ 'ՖԻԴԵ',							'P1440',	function( id ) return 'https://ratings.fide.com/card.phtml?event=' .. id; end },
	{ 'ՖԻՖԱ',							'P1469',	function( id ) return 'https://static.fifa.com/fifa-tournaments/players-coaches/people=' .. id .. '/index.html'; end },
	{ 'Ֆրանսիայի դահուկների ֆեդերացիա',	'P6612',	function( id ) return 'http://www.ffs.fr/biathlon/competitions/fiche-individuelle?licence=' .. id; end },
	{ 'ՖՖՖ',	                        'P4886',	function( id ) return 'https://www.fff.fr/equipes-de-france/toutes-les-joueuses/fiche-joueuse/' .. id .. '-wd' end },
	{ 'ՖՖՖ',	                        'P4883',	function( id ) return 'https://www.fff.fr/equipes-de-france/tous-les-joueurs/fiche-joueur/' .. id .. '-wd' end },

	-- Թեմատիկ կայքեր. աուդիո և վիդեո
	{ 'Armenian Cinema ID',							'P5218',	function( id ) return 'https://www.arm-cinema.am/am/' ..  id .. '.html'; end },
    { 'AFDb',	'P3351',	function( id ) return 'http://www.adultfilmdatabase.com/actor.cfm?actorid=' .. id .. ''; end },
	{ { 'Q477809', 'AllMovie' },	'P1562',	function(id) return 'http://www.allmovie.com/movie/' .. id; end },
	{ { 'Q477809', 'AllMovie' },	'P2019',	function(id) return 'http://www.allmovie.com/artist/' .. id; end },

	{ { 'Q31181', 'AllMusic' },		'P1728',	function(id) return 'http://www.allmusic.com/artist/' .. id; end },
	{ { 'Q31181', 'AllMusic' },		'P1729',	function(id) return 'http://www.allmusic.com/album/' .. id; end },
	{ { 'Q31181', 'AllMusic' },		'P1730',	function(id) return 'http://www.allmusic.com/song/' .. id; end },
	{ { 'Q31181', 'AllMusic' },		'P1994',	function(id) return 'http://www.allmusic.com/composition/' .. id; end },

	{ labelAllocine,	'P1265',	function(id) return 'http://www.allocine.fr/film/fichefilm_gen_cfilm=' .. id .. '.html'; end },
	{ labelAllocine,	'P1266',	function(id) return 'http://www.allocine.fr/personne/fichepersonne_gen_cpersonne=' .. id .. '.html'; end },
	{ labelAllocine,	'P1267',	function(id) return 'http://www.allocine.fr/series/ficheserie_gen_cserie=' .. id .. '.html'; end },

    { 'AniDB',	'P5646',	function( id ) return 'https://anidb.net/perl-bin/animedb.pl?show=anime&aid=' .. id .. ''; end },
    { 'AniDB',	'P5648',	function( id ) return 'https://anidb.net/perl-bin/animedb.pl?show=character&charid=' .. id .. ''; end },
    { 'AniDB',	'P5649',	function( id ) return 'https://anidb.net/perl-bin/animedb.pl?show=creator&creatorid=' .. id .. ''; end },

	{ labelAnimeNewsNetwork,	'P1982',	function(id) return 'http://www.animenewsnetwork.com/encyclopedia/people.php?id=' .. id; end },
	{ labelAnimeNewsNetwork,	'P1983',	function(id) return 'http://www.animenewsnetwork.com/encyclopedia/company.php?id=' .. id; end },
	{ labelAnimeNewsNetwork,	'P1984',	function(id) return 'http://www.animenewsnetwork.com/encyclopedia/manga.php?id=' .. id; end },
	{ labelAnimeNewsNetwork,	'P1985',	function(id) return 'http://www.animenewsnetwork.com/encyclopedia/anime.php?id=' .. id; end },

	{ { 'Q223142', 'Box Office Mojo' },	'P1237',	boxofficemojoLink },

	{ { 'Q3561957', 'ČSFD' },	'P2529',	function(id) return 'http://www.csfd.cz/film/' .. id; end },
	{ { 'Q3561957', 'ČSFD' },	'P2605',	function(id) return 'http://www.csfd.cz/tvurce/' .. id; end },
	{ { 'Q16323348', 'DNF' },	'P2626',	function(id) return 'https://www.dfi.dk/viden-om-film/filmdatabasen/person/' .. id; end },

	{ labelDiscogs,	'P1953',	function(id) return 'http://www.discogs.com/artist/' .. id; end },
	{ labelDiscogs,	'P1954',	function(id) return 'http://www.discogs.com/master/' .. id; end },
	{ labelDiscogs,	'P1955',	function(id) return 'http://www.discogs.com/label/' .. id; end },
	{ labelDiscogs,	'P2206',	function(id) return 'http://www.discogs.com/release/' .. id; end },

	{ { 'Q2638147', 'FilmAffinity' },			'P480',		function(id) return 'http://www.filmaffinity.com/en/film' .. id .. '.html' end },
	{ 'Filmportal', 'P2639',	function( id ) return 'https://www.filmportal.de/' .. id .. ''; end },
	{ labelEncyclopaediaMetallum,				'P1952',	function(id) return 'https://www.metal-archives.com/bands//' .. id; end },
	{ labelEncyclopaediaMetallum,				'P1989',	function(id) return 'https://www.metal-archives.com/artists//' .. id; end },
	{ labelEncyclopaediaMetallum,				'P2721',	function(id) return 'http://www.metal-archives.com/release.php?id=' .. id; end },
	{ 'IAFD',	'P3869',	function( id ) return 'http://www.iafd.com/person.rme/perfid=' .. id .. '/gender=f'; end },
	{ labelIBDb,								'P1217',	ibdbVenueLink },
	{ labelIBDb,								'P1218',	ibdbProductionLink },
	{ labelIBDb,								'P1219',	ibdbShowLink },
	{ labelIBDb,								'P1220',	ibdbPersonLink },
	{ { 'Q37312', 'Internet Movie Database' },						'P345',		imdbLink },
	{ { 'Q523660', 'International Music Score Library Project' },	'P839',		imslpLink },
	{ { 'Q2389071', 'КиноПоиск' },				'P2604',	function( id ) return 'https://www.kinopoisk.ru/name/' .. id .. '/'; end },
	{ { 'Q150248', 'Metacritic' },				'P1712',	function( id ) return 'http://www.metacritic.com/' .. id; end },
	{ { 'Q6824428', 'MetroLyrics' },				'P2624',	function( id ) return 'http://www.metrolyrics.com/' .. id .. '.html'; end },
	{ { 'Q2158761', 'MovieMeter' },				'P1969',	function( id ) return 'https://www.moviemeter.nl/director/' .. id; end },
	{ labelMusicBrainz,							'P434',		function( id ) return 'https://musicbrainz.org/artist/' .. id; end },
	{ labelMusicBrainz,							'P435',		function( id ) return 'https://musicbrainz.org/work/' .. id; end },
	{ labelMusicBrainz,							'P436',		function( id ) return 'https://musicbrainz.org/release-group/' .. id; end },
	{ 'Penthouse',	'P6290',	function( id ) return 'https://penthousegold.com/models/' .. id .. '.html'; end },
	{ { 'Q22673', 'Project Gutenberg' },		'P1938',	function(id) return 'https://gutenberg.org/ebooks/author/' .. id; end },
	{ 'Rate Your Music',							'P5404',	function( id ) return 'https://rateyourmusic.com/artist/' .. id .. ''; end },
	{ { 'Q105584', 'Rotten Tomatoes' },			'P1258',	rottentomatoesLink },
	{ { 'Q4066284', 'Аниматор.ру' },			'P1934',	function(id) return 'http://www.animator.ru/db/?p=show_film&fid=' .. id; end },
	{ { 'Q4066284', 'Аниматор.ру' },			'P5770',	function(id) return 'http://www.animator.ru/db/?p=show_person&pid=' .. id; end },
	{ { 'Q7713473', 'AFI' },					'P3593',	function(id) return 'https://catalog.afi.com/Catalog/moviedetails/' .. id; end },

	-- Թեմատիկ կայքեր. գրականություն
	{ labelISFDb,	'P1233',	isfdbAuthorLink },
	{ labelISFDb,	'P1234',	isfdbPublicationLink },
	{ labelISFDb,	'P1235',	isfdbSeriesLink },
	{ labelISFDb,	'P1239',	isfdbPublisherLink },

	{ { 'Q17299517', 'RKDartists' },	'P650',		rkdArtistsLink },
	{ { 'Q17299580', 'RKDimages' },		'P350',		rkdImagesLink },

	{ { 'Q24694883', 'ECARTICO' },	'P2915',	function(id) return 'http://www.vondel.humanities.uva.nl/ecartico/persons/' .. id; end },
	{ 'OCLC',	'P243',	function( id ) return 'https://www.worldcat.org/oclc/' .. id .. ''; end },

	-- Թեմատիկ կայքեր. վիդեոխաղեր
	{ 'Behind The Voice Actors','P4965',	function( id ) return 'http://www.behindthevoiceactors.com/video-games/' .. id; end },
	{ 'CPC-Power',				'P4847',	function( id ) return 'http://www.cpc-power.com/index.php?page=detail&num=' .. id; end },
    { 'IGN',					'P5385',	function( id ) return 'http://ign.com/games/' .. id .. ''; end },
	{ 'GameRankings',			'P4769',	function( id ) return 'http://www.gamerankings.com/-/' .. id .. '-/index.html'; end },
    { 'GameSpot',				'P5494',	function( id ) return 'https://www.gamespot.com/' .. id .. ''; end },
	{ 'Gaming-History',			'P4806',	function( id ) return 'https://www.arcade-history.com/?page=detail&id=' .. id; end },
	{ 'Giant Bomb',				'P5247',	function( id ) return 'https://www.giantbomb.com/wd/' .. id .. '/'; end },
	{ 'Guardiana',				'P4710',	function( id ) return 'https://www.guardiana.net/?game_id=' .. id; end },
	{ 'Hall of Light',			'P4671',	function( id ) return 'http://hol.abime.net/' ..id; end },
	{ 'KLOV',					'P2858',	function( id ) return 'http://www.arcade-museum.com/game_detail.php?game_id=' .. id; end },
	{ 'Lemon 64',				'P4816',	function( id ) return 'http://www.lemon64.com/?game_id=' .. id; end },
	{ 'MobyGames',				'P1933',	function( id ) return 'https://www.mobygames.com/game/' .. id; end },
    { 'MobyGames',	  			'P4773',	function( id ) return 'http://www.mobygames.com/company/' .. id .. ''; end },
 	{ 'MobyGames',				'P5360',	function( id ) return 'https://www.mobygames.com/game-group/' .. id; end },
	{ 'Ready64',				'P4916',	function( id ) return 'http://ready64.org/giochi/scheda_gioco/id/' .. id .. '/'; end },
	{ 'Redump',					'P5290',	function( id ) return 'http://redump.org/disc/' .. id .. '/'; end },
	{ 'VGMdb',					'P5659',	function( id ) return 'https://vgmdb.net/product/' .. id .. ''; end },
	{ 'World of Spectrum',		'P4705',	function( id ) return 'https://www.worldofspectrum.org/infoseekid.cgi?id=' .. id; end },

	-- Թեմատիկ կայքեր. այլ
	{ 'ՀԱՊ',		'P5210',	function( id ) return 'http://www.gallery.am/en/database/item/' .. id; end },
 	{ 'Flags of the World',		'P3089',	function( id ) return 'http://flagspot.net/flags/' .. id .. '.html'; end },
	{ { 'Q41226', 'Open Directory Project' },	'P998',		function ( id )	return 'https://curlie.org/' .. id; end },
	{ 'The Peerage',	'P4638',	function( id ) return 'https://tools.wmflabs.org/wikidata-externalid-url/?p=4638&url_prefix=http://www.thepeerage.com/&id=' .. id .. ''; end },

	{ { 'Q106777822', 'hush.am' },				'P9607',		hushLink },
	{ { 'Q63056', 'Find a Grave' },				'P535',		findagraveLink },
 	{ 'gravsted.dk',	'P4359',	function( id ) return 'https://www.gravsted.dk/person.php?navn=' .. id; end },
 	{ 'JewAge',			'P4116',	function( id ) return 'http://www.jewage.org/wiki/ru/Profile:' .. id; end },
 	{ 'WikiTree',		'P2949',	function( id ) return 'https://www.wikitree.com/wiki/' .. id; end },
 	{ 'WeRelate',		'P4159',	function( id ) return 'http://www.werelate.org/wiki/Person:' .. id; end },
 	{ { 'Q649227', 'Родовод' },					'P1185',	rodovidLink },	
	
}

local taxons = {
 	{ 'Avibase',		'P2026',	function( id ) return 'https://avibase.bsc-eoc.org/species.jsp?avibaseid=' .. id; end },
 	{ 'CMS',			'P6033',	function( id ) return 'https://www.cms.int/en/species/' .. id; end },
 	{ 'eBird',			'P3444',	function( id ) return 'https://ebird.org/species/' .. id; end },
 	{ 'EOL',			'P830',		function( id ) return 'https://eol.org/pages/' .. id; end },
 	{ 'GBIF',			'P846',		function( id ) return 'https://www.gbif.org/species/' .. id; end },
 	{ 'iNaturalist',	'P3151',	function( id ) return 'https://www.inaturalist.org/taxa/' .. id; end },
 	{ 'NCBI',			'P685',		function( id ) return 'https://www.ncbi.nlm.nih.gov/Taxonomy/Browser/wwwtax.cgi?mode=Info&id=' .. id; end },
 	{ 'Neotropical Birds',	'P6047',	function( id ) return 'https://neotropical.birds.cornell.edu/Species-Account/nb/species/' .. id; end },
 	{ 'IRMNG',			'P5055',	function( id ) return 'http://www.irmng.org/aphia.php?p=taxdetails&id=' .. id; end },
 	{ 'ITIS TSN',		'P815',		function( id ) return 'https://www.itis.gov/servlet/SingleRpt/SingleRpt?search_topic=TSN&search_value=' .. id; end },
 	{ 'SeaLifeBase',	'P6018',	function( id ) return 'https://www.sealifebase.ca/Summary/SpeciesSummary.php?id=' .. id; end },
 	{ 'WoRMS',			'P850',		function( id ) return 'http://www.marinespecies.org/aphia.php?p=taxdetails&id=' .. id; end },
}

local authorityControl = {
	{ { 'Q101537013', 'Հայաստանի գրադարանների համահավաք գրացուցակ', 'ՀԳՀԳ' },					'P8833',		kohaLink, },
	{ { 'Q105429169', 'Հայ գիրք գրադարանային գրացուցակ', 'Հայ գիրք'},					'P9398',		haygirqLink, },
	{ { 'Q213678', 'Bibliotheca Apostolica Vaticana', 'BAV' },				'P1017',	bavLink, },
	{ { 'Q4584301', '', 'BIBSYS' },							'P1015', 	bibsysLink, },
	{ { 'Q1200925', 'Biblioteca de Catalunya', 'BNC' },						'P1273',	bncLink, },
	{ { 'Q750403', 'Biblioteca Nacional de España', 'BNE' },				'P950', 	bneLink, },
	{ { 'Q193563', 'Bibliothèque nationale de France', 'BNF' }, 			'P268', 	bnfLink, },
	{ { 'Q1868372', 'Biografisch Portaal', 'BPN' },					'P651',		bpnLink, },
	{ { 'Q9384291', '中国高等教育文献保障系统', 'CALIS' },					'P270', 	calisLink, },
	{ { 'Q17299677', 'China Biographical Database Project', 'CBDB' },		'P497', 	cbdbLink, },
	{ { 'Q10726338', 'Citation Information by NII', 'CiNii' },				'P271', 	ciniiLink, },
	{ { 'Q16744133', 'CONOR', 'CONOR' },					'P1280',	conorLink, },
	{ { 'Q27302', 'Deutsche Nationalbibliothek', 'DNB' },					'P1292', 	dnbLink, },
	{ { 'Q5282129', 'Disease Ontology' },	'P699',	doLink },
	{ { 'Q501851', 'مكتبة الإسكندرية الجديدة', 'EGAXA' },					'P1309', 	egaxaLink, },
	{ { 'Q36578', 'Gemeinsame Normdatei', 'GND' },					'P227', 	gndLink, },
	{ { 'Q19366588', 'Gemeinsamer Thesaurus für audiovisuelle Archive', 'GTAA' },	'P1741',	gtaaLink, },
	{ { 'Q3803707', 'Istituto Centrale per il Catalogo Unico', 'ICCU' },	'P396', 	iccuLink, },
	{ { 'Q423048', 'International Standard Name Identifier', 'ISNI' },		'P213',		isniLink, },
	{ { 'Q620946', 'Library of Congress Control Number', 'LCCN' },			'P244',		lccnLink, },
	{ { 'Q13219454', 'Library of Congress Control Number', 'LOC' },			'P1144',	locLink, },
	{ { 'Q1133733', 'Latvijas Nacionālā bibliotēka', 'LNB' },				'P1368',	lnbLink, },
	{ { 'Q809830', 'Base Mérimée', 'Mérimée' },				'P380',		merimeeLink, },
	{ { 'Q28136779', 'Microsoft Academic', 'Microsoft' },			'P6366',	microsoftLink, },

	{ { 'Q618340', '國家圖書館 (中華民國)', 'NCL' },							'P1048', 	nclLink, },
	{ { 'Q477675', '国立国会図書館', 'NDL' },								'P349',		ndlLink, },
	{ { 'Q732353', '中国国家图书馆', 'NLC' },								'P1213', 	nlcLink, },
-- NLI numbers seems unstable
	{ { 'Q1967876', 'Národní knihovna České republiky', 'NKC' },			'P691',		nkcLink, },
	{ { 'Q623578', 'National Library of Australia', 'NLA' }, 				'P409',		nlaLink, },
	{ { 'Q1467610', 'Αναγνωριστικό Καθιερωμένων από τον Κατάλογο Καθιερωμένων Όρων της Εθνικής Βιβλιοθήκης της Ελλάδος', 'NLG' },	'P3348',	function(id) return 'http://nlg.okfn.gr/resource/authority/record' .. id; end, },
	{ { 'Q622012', 'Biblioteca Națională a României', 'NLR' }, 				'P1003',	nlrLink, },
	{ { 'Q856423', 'Polska Biblioteka Narodowa', 'NLP' }, 					'P1695',	function(id) return 'http://mak.bn.org.pl/cgi-bin/KHW/makwww.exe?BM=01&IM=04&NU=01&WI=' .. id; end, },
	{ { 'Q631375', 'Nacionalna i sveučilišna knjižnica u Zagrebu', 'NSK' },	'P1375',	nskLink, },
	{ { 'Q1526131', 'Koninklijke Bibliotheek', 'NTA' },						'P1006',	ntaLink, },
	{ { 'Q1063819', 'Országos Széchényi Könyvtár', 'NSZL' },				'P951',		nszlLink, },
	{ { 'Q11789729', 'Narodowy Uniwersalny Katalog Centralny', 'NUKAT' },	'P1207',	nukatLink, },
	{ { 'Q245966', 'Biblioteca Nacional de Portugal', 'PTBNP' },			'P1005',	ptbnpLink, },
	{ { 'Q1048694', 'Российская государственная библиотека', 'РГБ' },		'P947', 	rslLink, },
	{ { 'Q953058', 'Kungliga biblioteket', 'LIBRIS' },						'P906',		selibrLink, },
	{ { 'Q2597810', 'Système universitaire de documentation', 'SUDOC' },	'P269',		sudocLink, },
	{ { 'Q54919', 'Virtual International Authority File', 'VIAF' },			'P214',		viafLink, },
	{ { 'Q2494649', 'Union List of Artist Names', 'ULAN' },					'P245',		ulanLink, },
	{ { 'Q65212904', 'Наука України', 'ИРБИС-НБУВ' },						'P7148',	naukaUkrLink, },
	{ { 'Q2860429', 'Российский государственный архив литературы и искусства', 'РГАЛИ' },	'P6752',		rgaliLink, },
	{ { 'Q1048694', 'Российская государственная библиотека', 'РГБ' },	'P1973',		rslLink0, },
}

local authorityControlExt = {
	{ { 'Q846596', 'WorldCat Identities', 'WorldCat VIAF' },'P214',    worldcatLink, },
}

local function getQualifierSingleValue( statement, qualifierName )
	if (statement ~= nil
			and statement.qualifiers ~= nil
			and statement.qualifiers[qualifierName] ~= nil) then

		for qualifierIndex, qualifier in pairs( statement.qualifiers[qualifierName] ) do
			if (qualifier.datavalue ~= nil
					and qualifier.datavalue.type ~= nil
					and qualifier.datavalue.value ~= nil) then

				if ( qualifier.datavalue.type == "monolingualtext" ) then
					return qualifier.datavalue.value.text;
				end
				if ( qualifier.datavalue.type == "string" ) then
					return qualifier.datavalue.value;
				end
				if ( qualifier.datavalue.type == "wikibase-entityid" ) then
					return qualifier.datavalue.value.id;
				end
				mw.log( 'Unknown qualifier type: ' .. qualifier.datavalue.type )
				return qualifier.datavalue.value;

			end
		end

	end
	return nil;
end

local function getQualifierValues( statement, qualifierName )
	local result = {}
	if (statement ~= nil
			and statement.qualifiers ~= nil
			and statement.qualifiers[qualifierName] ~= nil) then
		local qualifiers = statement.qualifiers[qualifierName];
		for _, qualifier in pairs( qualifiers ) do
			if (qualifier.datavalue ~= nil
				and qualifier.datavalue.type ~= nil
				and qualifier.datavalue.value ~= nil) then

				if ( qualifier.datavalue.type == "string" ) then
					result[ #result + 1 ] = qualifier.datavalue.value;
				elseif ( qualifier.datavalue.type == "wikibase-entityid" ) then
					result[ #result + 1 ] = qualifier.datavalue.value.id;
				else
					mw.log( 'Unknown qualifier type: ' .. qualifier.datavalue.type );
					result[ #result + 1 ] = qualifier.datavalue.value;
				end
			end
		end
	end
	return result;
end

local function filterByRank( resourceDatas )
	-- itemId, languages. rank = rank

	local hasPreffered = false;
	for index, resourceData in pairs(resourceDatas) do
		if ( resourceData.rank == 'preferred' ) then
			hasPreffered = true;
		end
	end

	if (not hasPreffered) then
		return resourceDatas;
	end

	local result = {};
	for index, resourceData in pairs(resourceDatas) do
		if ( resourceData.rank == 'preferred' or contains(resourceData.languages, preferredLanguage) ) then
			table.insert(result, resourceData);
		end
	end

	return result;
end

local function collectLinks( configuration, elementId )

	local moduleLanguages
	if ( mw.title.makeTitle( 'Module', 'Languages' ).exists
			and mw.title.makeTitle( 'Module', 'Languages/data' ).exists
			and mw.title.makeTitle( 'Module', 'Wikidata/Language-codes' ).exists) then
		moduleLanguages = require('Module:Languages');
	else
		moduleLanguages = false;
	end

	--Create rows
	local elements = {}
	local data = {}


	local item = mw.wikibase.getEntity( elementId )
	if item == nil or item.claims == nil then
		return elements
	end

	if ( item.claims['P553'] ~= nil ) then
		local claim = item.claims['P553']
		for _, statement in pairs( claim ) do
			if (statement ~= nil) then
				-- profile ID
				local rank = statement.rank or 'normal';
				if ( rank ~= 'deprecated' ) then
					local itemId = getQualifierSingleValue( statement, 'P554' );
					if (itemId ~= nil) then
						-- language
						local languages = getQualifierValues( statement, 'P407' );
						local resourceId = statement.mainsnak.datavalue.value.id;
						if (data[resourceId] == nil) then
							data[resourceId] = {};
						end
						table.insert( data[resourceId], { itemId = itemId, languages = languages, rank = rank} );
					end
				end
			end
		end
	end

	for _, params in pairs( configuration ) do
		local resourceId = params[2]

		local claim = item.claims[ resourceId ]
		if ( claim ) then
			for _, statement in pairs( claim ) do
				local rank = statement.rank or 'normal';
				if ( rank ~= 'deprecated' and statement.mainsnak.datavalue) then
					local itemId = statement.mainsnak.datavalue.value;
					local languages = getQualifierValues( statement, 'P407' );
					if (data[resourceId] == nil) then
						data[resourceId] = {};
					end
					table.insert( data[resourceId], { itemId = itemId, languages = languages, rank = rank} );
				end
			end
		end
	end

	for resourceId, resourceDatas in pairs( data ) do
		data[resourceId] = filterByRank( resourceDatas );
	end

	local hasNonOptionalLinks = false

	for _, params in pairs( configuration ) do
		local resourceId = params[2]
		local optional = params[5] or false;

		local resourceDatas = data[resourceId];
		if resourceDatas ~= nil then
			if ( not optional ) then
				hasNonOptionalLinks = true
			end

			local resourceLabel = renderLabel( params[1] );
			local firstChar = mw.ustring.sub( resourceLabel, 1, 1 );
			local separateDesign = firstChar == '[' or firstChar == '<';

			local html = '';
			if ( separateDesign ) then
				html = html .. resourceLabel .. ':&nbsp;';
			end

			local preitemId
			for index, resourceData in pairs(resourceDatas) do
				local itemId = resourceData.itemId;
				if index == 2 then
					--даёт возможность поставить id из одного свойства в разные ссылки
					if itemId == preitemId then
						break
					end
				end

				local languages = resourceData.languages;
				local link = params[3] ( itemId );
				local linkFirstChar;
				local interwiki;
				if ( link ) then
					linkFirstChar = mw.ustring.sub( link, 1, 1 );
					interwiki = linkFirstChar == ':'
				end
				if ( separateDesign ) then
					if ( index ~= 1 ) then
						html = html .. ',&nbsp;'
					end
					if ( link ) then
						if ( interwiki ) then
							html = html .. '[[' .. link .. '|' .. itemId .. ']]';
						else
							html = html .. '[' .. link .. ' ' .. itemId .. ']';
						end
					else
						html = html .. itemId;
					end
				else
					if ( index ~= 1 ) then
						html = html .. ' · '
					end
					if ( link ) then
						if ( interwiki ) then
							html = html .. '[[' .. link .. '|' .. resourceLabel .. ']]';
						else
							html = html .. '[' .. link .. ' ' .. resourceLabel .. ']';
						end
					else
						-- it should not happen
						html = html .. resourceLabel .. ':&nbsp;' .. itemId;
					end

					if ( moduleLanguages ) then
						if ( languages ~= nil and #languages > 0 ) then
							for langIndex, language in pairs(languages) do
								html = html .. '&nbsp;' .. moduleLanguages.getRefHtml( language )
							end
						end
					end
				end
				preitemId = resourceData.itemId;
			end
			if ( #params >= 4 and params[4] ) then
				html = html .. '[[رده:' .. params[4] .. ']]'
			end
			table.insert( elements, html )
		end
	end

	if ( not hasNonOptionalLinks ) then
		return {}
	end

	return elements
end

local function collectDictionaryLinks( elementId )
	--Create rows
	local elements = {}

	local item = mw.wikibase.getEntity( elementId );
	if ( item == nil or item.claims == nil) then
		return elements
	end

	local sourceToElementLinks = {};

	local claim = item.claims['P1343']
	if ( claim ) then
		for _, statement in pairs( claim ) do
			if (statement ~= nil) then
				local rank = statement.rank or 'normal';
				if ( rank ~= 'deprecated' ) then
					local resourceId = statement.mainsnak.datavalue.value.id;
					local languages = getQualifierValues( statement, 'P407' );

					-- Wikisource link ?
					local entityId = getQualifierSingleValue( statement, 'P805' ) or getQualifierSingleValue( statement, 'P248' );
					if ( entityId ) then
						if (sourceToElementLinks[resourceId] == nil) then
							sourceToElementLinks[resourceId] = {};
						end
						table.insert( sourceToElementLinks[resourceId], { entityId = entityId, languages = languages, rank = rank } );
					end

					-- URL to encyclopedia
					local url = getQualifierSingleValue( statement, 'P953' );
					if (url == nil) then
						-- no longer recommend, but widely used
						url = getQualifierSingleValue( statement, 'P854' ); 
					end
					if ( url ~= nil ) then
						if (sourceToElementLinks[resourceId] == nil) then
							sourceToElementLinks[resourceId] = {};
						end
						table.insert( sourceToElementLinks[resourceId], { url = url, languages = languages, rank = rank } );
					end
				end
			end
		end
	end

	for _, description in pairs( dictionaries ) do
		if ( description.linkF ) then
			local claim = item.claims[ description.id ];
			if ( claim ) then
				for _, statement in pairs( claim ) do
					local rank = statement.rank or 'normal';
					if ( rank ~= 'deprecated' and statement.mainsnak.datavalue) then
						local value = statement.mainsnak.datavalue.value;
						local url = description.linkF( value );
						local languages = getQualifierValues( statement, 'P407' );
						if ( sourceToElementLinks[description.id] == nil) then
							sourceToElementLinks[description.id] = {};
						end
						table.insert( sourceToElementLinks[description.id], { url = url, languages = languages, rank = rank} );
					end
				end
			end
		end
	end

	local html = '';
	for _, description in pairs( dictionaries ) do
		local links = sourceToElementLinks[ description.id ];
		if ( links ) then
			for _, link in pairs( links ) do
				if ( link.url ) then
					table.insert( elements, '[' .. link.url .. ' ' .. description.title .. ']' );
				end

				if ( link.entityId ) then
					local sitelink = mw.wikibase.getSitelink( link.entityId, description.project );
					if ( sitelink ) then
						table.insert( elements, '[[' ..  description.projectCode .. sitelink .. '|' .. description.title .. ']]' );
					end
				end
			end
		end
	end

	return elements
end

local function contains( tableStructure, value )
	if ( tableStructure == nil or value == nil) then
		return true;
	end
	for index, line in pairs( tableStructure ) do
		if ( line == value ) then
			return true;
		end
	end
	return false;
end

function p.render( frame )
	local colorArg = '';
	local elementId = nil;
	if ( frame ~= nil ) then
		local parentArgs = frame:getParent().args
		colorArg = parentArgs[templateColorName] or parentArgs['color'] or parentArgs[1] or '';
		if parentArgs['d'] and parentArgs['d'] ~= '' then
			elementId = string.upper( parentArgs['d'] );
		end
		if ( colorArg ~= '' ) then
			local firstChar = mw.ustring.sub( colorArg, 1, 1 );
			if ( firstChar ~= '#' ) then
				local byTemplate = colorByTitle( frame, colorArg );
				if ( byTemplate ) then
					colorArg = byTemplate;
				end
			end
		end
	end

	local navboxData = {
		name  = 'External links',
		navboxclass = 'navbox ruwikiArticleExternalLinksTable',
		bodyclass = 'hlist',
	};
	if colorArg and colorArg ~= '' then
		navboxData.groupstyle = 'background: ' .. colorArg .. ';';
	end

	local rowIndex = 1;

	local socialNetworksElements = collectLinks( socialNetworkProperties, elementId );
	if ( #socialNetworksElements > 0 ) then
		navboxData['group' .. rowIndex] = group1Label;
		navboxData['list' .. rowIndex] = table.concat( socialNetworksElements , ' · ' );
		rowIndex = rowIndex + 1;
	end

	local textsElements = collectLinks( textsProperties, elementId );
	if ( #textsElements > 0 ) then
		navboxData['group' .. rowIndex] = group2Label;
		navboxData['list' .. rowIndex] = table.concat( textsElements , ' · ' );
		rowIndex = rowIndex + 1;
	end

	local contentHostingElements = collectLinks( contentHostingProperties, elementId );
	if ( #contentHostingElements > 0 ) then
		navboxData['group' .. rowIndex] = group3Label;
		navboxData['list' .. rowIndex] = table.concat( contentHostingElements , ' · ' );
		rowIndex = rowIndex + 1;
	end

	local themeProfilesElements = collectLinks( themeProfilesProperties, elementId );
	if ( #themeProfilesElements > 0 ) then
		navboxData['group' .. rowIndex] = group4Label;
		navboxData['list' .. rowIndex] = table.concat( themeProfilesElements , ' · ' );
		rowIndex = rowIndex + 1;
	end

	local dictionaryElements = collectDictionaryLinks( elementId );
	if ( #dictionaryElements > 0 ) then
		navboxData['group' .. rowIndex] = group5Label;
		navboxData['list' .. rowIndex] = table.concat( dictionaryElements , ' · ' );
		rowIndex = rowIndex + 1;
	end

	local taxElements = collectLinks( taxons, elementId );
	if ( #taxElements > 0 ) then
		navboxData['group' .. rowIndex] = group6Label;
		navboxData['list' .. rowIndex] = table.concat( taxElements , ' · ' );
		rowIndex = rowIndex + 1;
	end

local authorityControlElements = collectLinks( authorityControl, elementId );
	local authorityControlExtElements = collectLinks( authorityControlExt, elementId );
	if ( #authorityControlElements > 0 ) then
		navboxData['group' .. rowIndex] = group7Label;
		if ( #authorityControlExtElements > 0 ) then
			navboxData['list' .. rowIndex] = table.concat( authorityControlElements , ' · ' ) .. ' · ' .. table.concat( authorityControlExtElements , ' · ' );
		else
			navboxData['list' .. rowIndex] = table.concat( authorityControlElements , ' · ' );
		end
		if ( #authorityControlElements > 5 ) then
			navboxData['group' .. rowIndex] = nil;
			package.loaded['Module:Navbox'] = nil;
local templateStyles = frame:extensionTag{ name = 'templatestyles', args = { src = 'الگو:Navbox/styles.css' } };
			local collapsibleNavbox = require('Module:Navbox')._navbox( { title = group7Label, list1 = navboxData['list' .. rowIndex],
				border = 'subgroup', navbar = 'plain', state = 'collapsed', titleclass = 'ts-navbox-plaintitle', bodyclass = 'authoritycontrol',
				titlestyle = navboxData.groupstyle } );
			navboxData['list' .. rowIndex] = templateStyles .. collapsibleNavbox;
		end
		rowIndex = rowIndex + 1;
	end

	if ( rowIndex == 1 ) then
		if ( mw.title.getCurrentTitle().namespace == 0 ) then
			return '[[رده:' .. categoryTemplateEmpty .. ']]';
		end
	else
		if navboxData['group1'] then
			navboxData['group1'] = '<div style="padding: 0px 0px 0px 18px; width: 100%;"><div style="float: right;">' ..
				frame:expandTemplate{ title = 'tnavbar-view', args = { templateLink } } .. '</div>&nbsp;&nbsp;' ..
				navboxData['group1'] .. '</div>';
		else
			navboxData['group1'] = '<div style="padding: 0px 0px 0px 0px; width: 100%;">' ..
				frame:expandTemplate{ title = 'tnavbar-view', args = { templateLink } } .. '</div>';
		end
	end

	local navbox = moduleNavbox._navbox( navboxData )
	return navbox
end

local function renderDocumentationCategory( links )
	local result = '';

	for _, params in pairs( links ) do
		local resourceLabel = renderLabel( params[ 1 ] or params.title );
		local resourceId = params[ 2 ] or params.id;
		local category = params[ 4 ];
		local optional;
		if ( params[ 5 ] or false ) then
			optional = 'TRUE';
		else
			optional = 'FALSE';
		end
	
		result = result .. '| ' .. resourceLabel .. '\n';
		if string.match( resourceId, '^P' ) then
			result = result .. '| [[:d:Property:' .. resourceId .. '|' .. resourceId .. ']]\n';
		elseif string.match( resourceId, '^Q' ) then
			result = result .. '| [[:d:' .. resourceId .. '' .. '|' .. resourceId .. ']]\n';
		else
			result = result .. '| &nbsp; \n';
		end

		if ( category ~= nil and category ~= false ) then
			result = result .. '| [[:رده:' .. category .. '|' .. category .. ']]\n';
		else
			result = result .. '| &nbsp; \n';
		end
		result = result .. '| ' .. optional .. '\n';
		result = result .. '|-\n';
	end

	return result;
end

function p.renderDocumentation()
	local result = ''
	result = result .. '|-\n';
	result = result .. '! colspan=4 | ' .. group1Label .. '\n';
	result = result .. '|-\n';
	result = result .. renderDocumentationCategory( socialNetworkProperties );
	result = result .. '|-\n';
	result = result .. '! colspan=4 | ' .. group2Label .. '\n';
	result = result .. '|-\n';
	result = result .. renderDocumentationCategory( textsProperties );
	result = result .. '|-\n';
	result = result .. '! colspan=4 | ' .. group3Label .. '\n';
	result = result .. '|-\n';
	result = result .. renderDocumentationCategory( contentHostingProperties );
	result = result .. '|-\n';
	result = result .. '! colspan=4 | ' .. group4Label .. '\n';
	result = result .. '|-\n';
	result = result .. renderDocumentationCategory( themeProfilesProperties );
	result = result .. '|-\n';
	result = result .. '! colspan=4 | ' .. group5Label .. '\n';
	result = result .. '|-\n';
	result = result .. renderDocumentationCategory( dictionaries );
	result = result .. '|-\n';
	result = result .. '! colspan=4 | ' .. group6Label .. '\n';
	result = result .. '|-\n';
	result = result .. renderDocumentationCategory( taxons );
	result = result .. '|-\n';
	result = result .. '! colspan=4 | ' .. group7Label .. '\n';
	result = result .. '|-\n';
	result = result .. renderDocumentationCategory( authorityControl );
	return result;
end

return p