Wikipedia sowiki https://so.wikipedia.org/wiki/Bogga_Hore MediaWiki 1.47.0-wmf.21 first-letter Media Special Talk User User talk Wikipedia Wikipedia talk File File talk MediaWiki MediaWiki talk Template Template talk Help Help talk Category Category talk Portal Portal talk TimedText TimedText talk Module Module talk Event Event talk Wacbuudhan Abgaal 0 9660 309774 307552 2026-09-27T00:44:21Z Abdirizak maslah muhudiin 47243 /* Sarakiisha */ 309774 wikitext text/x-wiki Beesha '''Wacbuudhan Abgaal''' ({{lang-so|Wacbuudhan}}, {{lang-en|Wacbudhan}}) waa beel ka mid ah 9ka Abgaal Cismaan waana midka ugu tiro badan oo ugu dhul wayn. {{Infobox ethnic group | group = Wacbudhan | flag = [[File:Hirshabeelle.png | thumb | 60px]] [[File:Flag of Mogadishu, Somalia.svg | thumb | 60px | right]] | region1 = {{flagcountry|Somalia}} | langs = [[Somali language|Somali]], [[Arabic]], | rels = [[Islam]] | related-c = [[Harti]], [[Waceysle]], [[Mudulood]], iyo beelaha kale ee beesha [[Hawiye]].}} ==Meelahay dagto== Beesha waxayna degtaa Xamar oo Wacbudhan asal u leh iyo Shabellaha Dheexe oo ay ka dagaan 8/10 degmo waana qabiilka ugu tiro badan oo Shabellaha Dhexe dago. Waxey kaloo dagaan Shabellaha Hoose sida magaloyinka Marka, Baraawe, Afgooye iyo magalooyin badan. Ethiopia waxey ka dagaan Deganada Somalida ee Ethiopia oo loo yaqaano DDS oo degmoyinka kala ah Iimeey iyo Liben Zone. Kenya waxey ka dagaan Deganada Somalida ee Kenya oo kala ah Gobolka Wajir. Gobolka Wajir waxaa dago Reer Mataan laf ka mid ah oo la dhaho Maxamud, Samatar iyo Macow Mataan oo maanta la qaaran ah beesha Dagodia oo gobolka Wajir u badan. Waxey kala degaan Jubbada Dhexe iyo Jubbada Hoose qeybo ka mid ah. ==Sidey u kala baxdo== Beesha waxay u kala baxdaa 4 jufo oo waa weyn waxayna kala yihiin: 1-Danweyne Wacbudhan 2- Doole Wacbudhan 3- Kabaale Wacbudhan 4- hartacaso wacbudhan * Abgaal ** Wacbudhan ***Danweyne ****Yonis Danweyne *****Maxamed Yonis *****Muuse maalin *****Muuse maalin    *  Cumar maalin       *Cubeyd maalin      * Kurtumoow *****Aadan Yonis *****Gafoow yonis *****Xuseen Yonis ******Sahal Koraye ******Xeyle sahal ******Koshin sahal ******Maxamud sahal ******Diirshe sahal ******Farah sahal ******Ahmed sahal *****Galmaax Yonis ******Cumar Galmaax *******Celi Cumar ********Cosoble Celi ********Xasan-Gaab Celi ********Shige Celi ********Cali Celi ********Ibraahim Celi ********Geesaweyn Celi *******Reer Mataan ********Bariise Mataan ********Diinle Mataan ********Duliye Mataan ******Yusuf Galmaax *******Wehliye Muuse *******Maxamed Muuse *******Birkaanle ********Tuuryar ********Dhiblaawe Tuuryar ********Suubiye Tuuryar *******Soomane ********Absuge Soomane ********Arwaaq Soomane ********Fiise Soomane ********Maalinle Soomane ********Faarax Soomane ********Geedi Soomane ********Xasan-Cariif Soomane ******Cabdulle Galmaax *******Cumar Fool *******Faarax Shige *******Cigaal Gacal *******Kuusow Cumar *******Cadow Dhere *******Dudeey Macalin *******Cumar Suubiye *******cumar Agoon ***Doole Wacbudhan ****Daauud *****[[Isaaq]] Dauud ******Calooley *******Qubeys *******Dhigbil *******Cali dhigbil ********Cumar Dhigbil *********Xalfooy Cumar *********Muuse Cumar **********Ciroole Muuse ***********Cabdi ciroole ***********Adam Ciroole ***********Cabdiraxman Ciroole ***********Gashaan Ciroole ***********Gacal Ciroole ***********Cali Ciroole ***********Dabaleeb Ciroole **********Cali Muuse ***********Adam Cali ***********Suufi Cali ***********Dhagafiiq Cali ***********Cismaan Cali ***********Macallim Cali ***********Cabdalle Cali **********Idiris Muuse *********Yoocaale Cumar ********Cali Dhigbil ******Cali Isaaq ******Soomane Isaaq ******Cabdulle Isaaq *****Yusuf Dauud ******Cabdulle Yusuf *******Muuse Cabdulle ********Aadan Muuse *********Sugwaay Adan *********Sangaab Muuse ********Ibraahim maxaa dheere ********Roobsuge muuse ******Cabdalle-Yar ***Kabaale Wacbudhan ****Saleeban Muse *****Roobsuge Saleeban *****Qoorsal Saleeban ******Aadan Maxamed ******Goley *******Afrax-Maxad-Yar *******Aruuris ****Xeyle Muse *****Idiris Yabarow ******Cabdalle Idiris ******Dhegayare Idiris *******Jibriil *****Calaacul ******Maanweyn Calaacul ******Maxaa Cade ******Ali Sabuul ******Ilkagaduud. ******hartacaso wacbudhan ******Tolwayne hartacaso ******Jimcaale cabdi ******cabdi xaayow ******Yabadhaal hartacaso ==Dadka ugu caansan== Wacbuudhan Abgaal waa beesha ugu badan tiro ahaan hadana qabata Gudoomiyaha Gobolka [[Banaadir]]. ===Siyaasiinta=== * Nur Xasan Xusen (Nur Adde) * Sheekh MuuSe(Cabdulle Cood) * Genaral Jilacow *Wasiir Eng Axmadey Sh. Xassan *Siyaasi Xuseen Xassan(Xuseen Dheere) *Siyaasi Senator Muse Sudi Yalaxow *Siyaasi Gudoomiye Cumar Finish *Siyaasi Hon Bashir moallim Ali Hassan *Siyaasi Ahmed Ali mohamed (Ahmed Sakin) *Siyaasi Gudoomiye Axmed Meyre Makaran *Siyaasi Amb. Maxamed Cali America * Siyaasi Axmed Maxamed Neegar * Siyaasi Cabdiraxmaan Kooli *Siyaasi Gudoomiye Jeneral Muungaab *Siyaasi Gudoomiye Sh Yusuf Madaale *Siyaasi Xildhibaan Yuusuf Kabaale *Siyaasi Gudoomiye Axmed Daaci *Siyaasi Cabdullahi Sheikh Hassan *Siyaasi cabdiraxman Cumar Cisman Eng-Yarisow *Siyaasi Ambasador Jamal Xaaji Axmed *Siyaasi Omar Abdullahi ( Qoryooley ) *Siyaasi Sheikh Cali Sheekh Muuse( Ex Gudoomiyihi [[Jowhar|JowHar]] *Siyaasi Sh Yusuf Haji Nor *Siyaasi Xildhibaan Xasan Saney Barre. *Siyaasi Xildhiban Carabow *Siyaasi Xildhibaan Ruqiyo Abshir Nuur *Siyaasi xildhibaan Mino Xasan Shibis *Siyaasi Shador Xaaji Shadoor *Siyaasi xildhibaan Xuseen Caraale * Siyaasi Xildhibaan Sh Maxamed Maxamud *Siyaasi Cabdicasiis cali ibraahim (Cabdicasiis Xildhibaan) *siyaasi xildhibaan Cismaan Xaadoole ===Faanka iyo Sugaanta=== *Abwaan Maxamed Gacal Xaayow *Abwaan Cabdulle Raage Taraawiil *Laashin Cabdulle macalin Cagoole *Abwaan Faarax Gololeey *Abwaan Xuseen Sh Axmed Kadare *Abwaan Cabdiqadir Sanka *Fanaanad Binti Cumar Gacal *Fanaanad Xabiibo Xasan Tooxow *Fanaan Bashiir Xuseen *Fanaan Xaawo Kiin *Fanaanad Ikraan Caraale *Fanaanad Amal Aragsan *Fanaan Fowsiyo Fanka *Fanaan Axmed kaafi AK *Fanaan Khadar Keeyow ===Sarakiisha=== *General abukar gacal mudey *General Cali Maxamed Cali (Cali Shariif) * General Caaqil aweys elmy * General Sh Nuur Maxamed Shiiqa Jowhar * cornel maxamed nuur ( baarqab) * Cornel. Cabdisalaan Naxar (cornel Xabe) *Cornel Eng. Maxamed Nuur Cambuurre *General Axmed Jilacow Cadow(Godka Jilacow) *General Hassan Maxamed Hussein (Mungaab) *General Ibrahim Moalim abdulllahi joqof *General Cismaan Xaadoole *G/lle Dhexe Mukhtaar Cabdulle Nuur *Generaal Cali Calasow *Generaal Axmed sheikh caddow nuur *Generaal Maxamed Xuseen Axmed wadan (G.N.Dhaxaaye) * General Ibraahim Maxamed *Generaal Mohamuud Xaaji Cali *G/sare Shuceyb Nuur Cambuure *Gaashaanle sare Ali cabduqadir Cali (Cali yare) *Gaashaanle sare Qondhe Nuur *G/Dhexe Abukar Cali Maxamed Abukar Boonow * General Maxamed Maxamud Saney *Gaashaanle Yaasin Geedi Suubiye *Gaashaanle Jilacow Maxamed Gacal *Gaashanle Eng. C/qaadir Maxamed Nuur Cambuure *Gaashaanle Yuusuf Cumar Makaraan (yaanyo) * ===Aqoonyahanada=== *Prof. Abdirahmaan Abdullahi Baadiyow *Ganacsade Eng. Liban Mohamed Nur Ambure *Prof. Mohamed Osoble Mohamud( prof Osoble) *Prof Marooko *Prof. Arabow Ibrahim Nur *Prof. Muhudin Hassan Yabarow (Prof Yabarow) *Garyaqaan Dr. Yasin Haji Ambure Gudoomiyaha Hay'adda ACORDO *Dr ABDULLAHI Ali Qoryooley *Dr Ahmed ALI Abdullahi (LEGAALE) *Dr. Hassan Mohamed Sheikh (Bayaan) *Col. Mohamed Nur Baarqab (Maareyihii Som.Tex) *Drs. Mariam Abdulkadir Mohamed Nur Ambure *Dr Sh Eng Ahmed Omar Alasow *Sh Mohamed Kulmiye Axmed *Mr. Mohamed Diini Mohamed Nuur (Aqoon yahaan bartay Ganacsiga iyo Dhaqaalaha) * Xuseen Ibraahim Maxamud (Alxaaji) * Dr Mohamed Morroco * Dr Hassan Muhudin Hassan * ENG Mohamed Abshir Nur * ENG Abdirahman Yusuf Bocor * Eng Zakariye Cumar Makaraan *Dr. Yasin Ahmed Osman Milkiilaha Nootaayada Al-Aamin *Shiikh Dr Mohamed Omar Makaran aqoonyahan ku takhasusay shareecada islaamka iyo caafimaadka *Marwo Sabah Nur Hassan Xubin ka ah Ganacsatada Dalka USA, Kenya, Saudi Arabia, Uganda & Somalia ===Wariyeyaasha === Aamino muuse weheliye ( ma aha wacbuudhan) * Bashir Ali Shire * Biibto * Mohamed Muhiadin Ali *Hassan Mohamed Mohamud Fanax * Al Axmed * Xuurshe *Jeeri * Abdirahman Hudeyfi * Mohamed Daauud (Yuumbi) * Mohamed Abdulle Siidi * Abdiaziz Hassan Golf Yare * Shadoor * Nur Hassan Nur Buqaari. *Abdijibar Yusuf Bocor * Hussein abdulle mohamed * Abdullahi kulmiye cadow *Abdikamil yusuf mohamud # Zakariye Axmed Muse * Mohamed Omar Mohamoud (Baakaay) *Abdullahi Moh'ed (Abdullahi Daacad) *Suleiman Haji Ahmed Rage *Kiin Cumar Makaraan ===Dhaqatiirta=== * Dr Mohamed Abukar Sheik Nor ( Dr Aayaha . * Dr Mohamed Ali Sheik Mohamud (Dr Macsaro) * Dr Adnan Ahmed Shire(Dr shire) * Dr Abdullahi Ali Mohamud ( Qoryoley ) * Dr. Abdullaahi Husein * Dr.JAlaaludiin * Dr.Noradin Legaale * Dr.Jimcaale * Dr.Adnaan Abudllahi Hussein * Dr. Hassan Mohamed Nur * Dr.Hassan Xaayow * Dr Xeydar Cali Raage *Dr. Zakarie Osman Adow profssorka. * Dr Abdullahi Maxamud Salax * Dr Abdiwali Yusuf Bocor * Dr Abdullahi Sheikh Hassan (Ciro) * Dr Abdullahi nor buubshe ( cadani) * Dr Abdullahi nur omar ( Dr. Guraash ) * Dr Nur omar warsame ( Dr. Sheekh Nur ) * Dr Abdirahman nur omar ( Dr Ag ) * Dr Muhuadin Omar Mataan (Dr matan) * Dr Axmed Ali uley (Axmed young) c97s7gihnz8qy7sdupbymas6eho8lyc 309775 309774 2026-09-27T00:45:19Z Abdirizak maslah muhudiin 47243 /* Siyaasiinta */ 309775 wikitext text/x-wiki Beesha '''Wacbuudhan Abgaal''' ({{lang-so|Wacbuudhan}}, {{lang-en|Wacbudhan}}) waa beel ka mid ah 9ka Abgaal Cismaan waana midka ugu tiro badan oo ugu dhul wayn. {{Infobox ethnic group | group = Wacbudhan | flag = [[File:Hirshabeelle.png | thumb | 60px]] [[File:Flag of Mogadishu, Somalia.svg | thumb | 60px | right]] | region1 = {{flagcountry|Somalia}} | langs = [[Somali language|Somali]], [[Arabic]], | rels = [[Islam]] | related-c = [[Harti]], [[Waceysle]], [[Mudulood]], iyo beelaha kale ee beesha [[Hawiye]].}} ==Meelahay dagto== Beesha waxayna degtaa Xamar oo Wacbudhan asal u leh iyo Shabellaha Dheexe oo ay ka dagaan 8/10 degmo waana qabiilka ugu tiro badan oo Shabellaha Dhexe dago. Waxey kaloo dagaan Shabellaha Hoose sida magaloyinka Marka, Baraawe, Afgooye iyo magalooyin badan. Ethiopia waxey ka dagaan Deganada Somalida ee Ethiopia oo loo yaqaano DDS oo degmoyinka kala ah Iimeey iyo Liben Zone. Kenya waxey ka dagaan Deganada Somalida ee Kenya oo kala ah Gobolka Wajir. Gobolka Wajir waxaa dago Reer Mataan laf ka mid ah oo la dhaho Maxamud, Samatar iyo Macow Mataan oo maanta la qaaran ah beesha Dagodia oo gobolka Wajir u badan. Waxey kala degaan Jubbada Dhexe iyo Jubbada Hoose qeybo ka mid ah. ==Sidey u kala baxdo== Beesha waxay u kala baxdaa 4 jufo oo waa weyn waxayna kala yihiin: 1-Danweyne Wacbudhan 2- Doole Wacbudhan 3- Kabaale Wacbudhan 4- hartacaso wacbudhan * Abgaal ** Wacbudhan ***Danweyne ****Yonis Danweyne *****Maxamed Yonis *****Muuse maalin *****Muuse maalin    *  Cumar maalin       *Cubeyd maalin      * Kurtumoow *****Aadan Yonis *****Gafoow yonis *****Xuseen Yonis ******Sahal Koraye ******Xeyle sahal ******Koshin sahal ******Maxamud sahal ******Diirshe sahal ******Farah sahal ******Ahmed sahal *****Galmaax Yonis ******Cumar Galmaax *******Celi Cumar ********Cosoble Celi ********Xasan-Gaab Celi ********Shige Celi ********Cali Celi ********Ibraahim Celi ********Geesaweyn Celi *******Reer Mataan ********Bariise Mataan ********Diinle Mataan ********Duliye Mataan ******Yusuf Galmaax *******Wehliye Muuse *******Maxamed Muuse *******Birkaanle ********Tuuryar ********Dhiblaawe Tuuryar ********Suubiye Tuuryar *******Soomane ********Absuge Soomane ********Arwaaq Soomane ********Fiise Soomane ********Maalinle Soomane ********Faarax Soomane ********Geedi Soomane ********Xasan-Cariif Soomane ******Cabdulle Galmaax *******Cumar Fool *******Faarax Shige *******Cigaal Gacal *******Kuusow Cumar *******Cadow Dhere *******Dudeey Macalin *******Cumar Suubiye *******cumar Agoon ***Doole Wacbudhan ****Daauud *****[[Isaaq]] Dauud ******Calooley *******Qubeys *******Dhigbil *******Cali dhigbil ********Cumar Dhigbil *********Xalfooy Cumar *********Muuse Cumar **********Ciroole Muuse ***********Cabdi ciroole ***********Adam Ciroole ***********Cabdiraxman Ciroole ***********Gashaan Ciroole ***********Gacal Ciroole ***********Cali Ciroole ***********Dabaleeb Ciroole **********Cali Muuse ***********Adam Cali ***********Suufi Cali ***********Dhagafiiq Cali ***********Cismaan Cali ***********Macallim Cali ***********Cabdalle Cali **********Idiris Muuse *********Yoocaale Cumar ********Cali Dhigbil ******Cali Isaaq ******Soomane Isaaq ******Cabdulle Isaaq *****Yusuf Dauud ******Cabdulle Yusuf *******Muuse Cabdulle ********Aadan Muuse *********Sugwaay Adan *********Sangaab Muuse ********Ibraahim maxaa dheere ********Roobsuge muuse ******Cabdalle-Yar ***Kabaale Wacbudhan ****Saleeban Muse *****Roobsuge Saleeban *****Qoorsal Saleeban ******Aadan Maxamed ******Goley *******Afrax-Maxad-Yar *******Aruuris ****Xeyle Muse *****Idiris Yabarow ******Cabdalle Idiris ******Dhegayare Idiris *******Jibriil *****Calaacul ******Maanweyn Calaacul ******Maxaa Cade ******Ali Sabuul ******Ilkagaduud. ******hartacaso wacbudhan ******Tolwayne hartacaso ******Jimcaale cabdi ******cabdi xaayow ******Yabadhaal hartacaso ==Dadka ugu caansan== Wacbuudhan Abgaal waa beesha ugu badan tiro ahaan hadana qabata Gudoomiyaha Gobolka [[Banaadir]]. ===Siyaasiinta=== * Nur Xasan Xusen (Nur Adde) * Sheekh MuuSe(Cabdulle Cood) *Wasiir Eng Axmadey Sh. Xassan *Siyaasi Xuseen Xassan(Xuseen Dheere) *Siyaasi Senator Muse Sudi Yalaxow *Siyaasi Gudoomiye Cumar Finish *Siyaasi Hon Bashir moallim Ali Hassan *Siyaasi Ahmed Ali mohamed (Ahmed Sakin) *Siyaasi Gudoomiye Axmed Meyre Makaran *Siyaasi Amb. Maxamed Cali America * Siyaasi Axmed Maxamed Neegar * Siyaasi Cabdiraxmaan Kooli *Siyaasi Gudoomiye Jeneral Muungaab *Siyaasi Gudoomiye Sh Yusuf Madaale *Siyaasi Xildhibaan Yuusuf Kabaale *Siyaasi Gudoomiye Axmed Daaci *Siyaasi Cabdullahi Sheikh Hassan *Siyaasi cabdiraxman Cumar Cisman Eng-Yarisow *Siyaasi Ambasador Jamal Xaaji Axmed *Siyaasi Omar Abdullahi ( Qoryooley ) *Siyaasi Sheikh Cali Sheekh Muuse( Ex Gudoomiyihi [[Jowhar|JowHar]] *Siyaasi Sh Yusuf Haji Nor *Siyaasi Xildhibaan Xasan Saney Barre. *Siyaasi Xildhiban Carabow *Siyaasi Xildhibaan Ruqiyo Abshir Nuur *Siyaasi xildhibaan Mino Xasan Shibis *Siyaasi Shador Xaaji Shadoor *Siyaasi xildhibaan Xuseen Caraale * Siyaasi Xildhibaan Sh Maxamed Maxamud *Siyaasi Cabdicasiis cali ibraahim (Cabdicasiis Xildhibaan) *siyaasi xildhibaan Cismaan Xaadoole ===Faanka iyo Sugaanta=== *Abwaan Maxamed Gacal Xaayow *Abwaan Cabdulle Raage Taraawiil *Laashin Cabdulle macalin Cagoole *Abwaan Faarax Gololeey *Abwaan Xuseen Sh Axmed Kadare *Abwaan Cabdiqadir Sanka *Fanaanad Binti Cumar Gacal *Fanaanad Xabiibo Xasan Tooxow *Fanaan Bashiir Xuseen *Fanaan Xaawo Kiin *Fanaanad Ikraan Caraale *Fanaanad Amal Aragsan *Fanaan Fowsiyo Fanka *Fanaan Axmed kaafi AK *Fanaan Khadar Keeyow ===Sarakiisha=== *General abukar gacal mudey *General Cali Maxamed Cali (Cali Shariif) * General Caaqil aweys elmy * General Sh Nuur Maxamed Shiiqa Jowhar * cornel maxamed nuur ( baarqab) * Cornel. Cabdisalaan Naxar (cornel Xabe) *Cornel Eng. Maxamed Nuur Cambuurre *General Axmed Jilacow Cadow(Godka Jilacow) *General Hassan Maxamed Hussein (Mungaab) *General Ibrahim Moalim abdulllahi joqof *General Cismaan Xaadoole *G/lle Dhexe Mukhtaar Cabdulle Nuur *Generaal Cali Calasow *Generaal Axmed sheikh caddow nuur *Generaal Maxamed Xuseen Axmed wadan (G.N.Dhaxaaye) * General Ibraahim Maxamed *Generaal Mohamuud Xaaji Cali *G/sare Shuceyb Nuur Cambuure *Gaashaanle sare Ali cabduqadir Cali (Cali yare) *Gaashaanle sare Qondhe Nuur *G/Dhexe Abukar Cali Maxamed Abukar Boonow * General Maxamed Maxamud Saney *Gaashaanle Yaasin Geedi Suubiye *Gaashaanle Jilacow Maxamed Gacal *Gaashanle Eng. C/qaadir Maxamed Nuur Cambuure *Gaashaanle Yuusuf Cumar Makaraan (yaanyo) * ===Aqoonyahanada=== *Prof. Abdirahmaan Abdullahi Baadiyow *Ganacsade Eng. Liban Mohamed Nur Ambure *Prof. Mohamed Osoble Mohamud( prof Osoble) *Prof Marooko *Prof. Arabow Ibrahim Nur *Prof. Muhudin Hassan Yabarow (Prof Yabarow) *Garyaqaan Dr. Yasin Haji Ambure Gudoomiyaha Hay'adda ACORDO *Dr ABDULLAHI Ali Qoryooley *Dr Ahmed ALI Abdullahi (LEGAALE) *Dr. Hassan Mohamed Sheikh (Bayaan) *Col. Mohamed Nur Baarqab (Maareyihii Som.Tex) *Drs. Mariam Abdulkadir Mohamed Nur Ambure *Dr Sh Eng Ahmed Omar Alasow *Sh Mohamed Kulmiye Axmed *Mr. Mohamed Diini Mohamed Nuur (Aqoon yahaan bartay Ganacsiga iyo Dhaqaalaha) * Xuseen Ibraahim Maxamud (Alxaaji) * Dr Mohamed Morroco * Dr Hassan Muhudin Hassan * ENG Mohamed Abshir Nur * ENG Abdirahman Yusuf Bocor * Eng Zakariye Cumar Makaraan *Dr. Yasin Ahmed Osman Milkiilaha Nootaayada Al-Aamin *Shiikh Dr Mohamed Omar Makaran aqoonyahan ku takhasusay shareecada islaamka iyo caafimaadka *Marwo Sabah Nur Hassan Xubin ka ah Ganacsatada Dalka USA, Kenya, Saudi Arabia, Uganda & Somalia ===Wariyeyaasha === Aamino muuse weheliye ( ma aha wacbuudhan) * Bashir Ali Shire * Biibto * Mohamed Muhiadin Ali *Hassan Mohamed Mohamud Fanax * Al Axmed * Xuurshe *Jeeri * Abdirahman Hudeyfi * Mohamed Daauud (Yuumbi) * Mohamed Abdulle Siidi * Abdiaziz Hassan Golf Yare * Shadoor * Nur Hassan Nur Buqaari. *Abdijibar Yusuf Bocor * Hussein abdulle mohamed * Abdullahi kulmiye cadow *Abdikamil yusuf mohamud # Zakariye Axmed Muse * Mohamed Omar Mohamoud (Baakaay) *Abdullahi Moh'ed (Abdullahi Daacad) *Suleiman Haji Ahmed Rage *Kiin Cumar Makaraan ===Dhaqatiirta=== * Dr Mohamed Abukar Sheik Nor ( Dr Aayaha . * Dr Mohamed Ali Sheik Mohamud (Dr Macsaro) * Dr Adnan Ahmed Shire(Dr shire) * Dr Abdullahi Ali Mohamud ( Qoryoley ) * Dr. Abdullaahi Husein * Dr.JAlaaludiin * Dr.Noradin Legaale * Dr.Jimcaale * Dr.Adnaan Abudllahi Hussein * Dr. Hassan Mohamed Nur * Dr.Hassan Xaayow * Dr Xeydar Cali Raage *Dr. Zakarie Osman Adow profssorka. * Dr Abdullahi Maxamud Salax * Dr Abdiwali Yusuf Bocor * Dr Abdullahi Sheikh Hassan (Ciro) * Dr Abdullahi nor buubshe ( cadani) * Dr Abdullahi nur omar ( Dr. Guraash ) * Dr Nur omar warsame ( Dr. Sheekh Nur ) * Dr Abdirahman nur omar ( Dr Ag ) * Dr Muhuadin Omar Mataan (Dr matan) * Dr Axmed Ali uley (Axmed young) ckb6br13t8tkpx5w9mon7u1uigwnve1 Template:Bar box 10 10849 309748 115628 2026-09-26T17:34:50Z Isma4l 41797 309748 wikitext text/x-wiki <includeonly><div class="barbox {{#switch:{{{float|}}}|left=floatleft|right=floatright}}" style="font-size:88%;overflow-x:auto;display:table;padding:0.4em;border:{{{border_width|1}}}px solid silver;width:{{{width|auto}}};background:{{{background-color|var(--background-color-neutral-subtle,white)}}};color:inherit;margin:{{#ifeq:{{{float|}}}|center|0 auto}}"> <table style="text-align:left; border-collapse:collapse; width:100%;"> {{#if:{{{title|}}}| <caption style="font-weight:bold;color:var(--color-base,#202122);background:{{{titlebar|none}}}">{{{title}}}</caption> }} <tr style="height:4px;"> <th scope="col" {{#if:{{{left2|}}}||colspan="2"}} style="padding:0 4px; text-align:left;">{{{left1|}}}</th> {{#if:{{{left2|}}}| <th scope="col" style="padding:0 4px; text-align:right;">{{{left2}}}</th> }} <td style="width:{{{barwidth|100px}}};"></td> <th scope="col" {{#if:{{{right2|}}}||colspan="2"}} style="padding:0 4px; width:1em; text-align:right;">{{{right1|}}}</th> {{#if:{{{right2|}}}| <th scope="col" style="padding:0 4px; text-align:right;">{{{right2}}}</th> }} </tr> {{{bars|}}} {{#if:{{{caption|}}}| <tr><td colspan="5" style="padding:5px; text-align:left;">{{{caption}}}</td></tr> }} </table> </div>{{#switch: {{{float|}}} | left = | right = | #default={{main other|[[Category:Pages using bar box without float left or float right|{{#switch:{{{width|auto}}}|auto|=Ω|#default=}}{{PAGENAME}}]]}}}}</includeonly><noinclude> {{documentation}} </noinclude> 1gdl9y5rrt1uercfsl0trqkci3fut00 Fadhigaab 0 28449 309735 280283 2026-09-26T16:45:23Z ~2026-52006-15 47580 ..... 309735 wikitext text/x-wiki Tuulada fadhigaab.... waxay woqooyi bari kaga beegan tahay '''degmada garadag.''' Waxa koonfur ka xiga degmada [[sincarro]] oo u jirta 24km '''fadhigaab''', waxana dega beesha, [[biciide]], gaar ahaan [[Axmed Faarax|axmed faarax]] iyo '', Degmada waxa ay Hodan kutahay xoolaha waa mid kamid ah sayladihii ugu waaweynaa dawladii soomaaliya. Waa goob taariikhdu xusayso iyadoo lagu xasuusto inay kaqayb qaadatay halgankii SNM. Waana goobtii lagu jebiyay Ciidamadii kacaanka saomalia oo uu hogaaminyay siyaad barre . ```((laasdhagax))``` waa halkii lagu jebiyay ciidankiii haystay qaybta gobolka sanaag iyadoo goobtaas waxyeelo badan kasoo gaadhay labada dhinacba ugu dambaynna lagu jebeiyey ciidankii faqashta .... . Qurbajoogta dadka degan Fadhigaab ayaa wada, dedaal ay ku horu marinayan magaalada Sida dhisidda goobo waxbarasho caafimaad ceelal biyood iyo kaabista dadka danyarta ah. Waxay leedahay khayraad dabiici ah Waxa ku haboon dhaqashada meesiyada kala duwan ee xoolaha waxay leedahay dhul beereed ku haboon tacabka klnoocyadiisa kala duwan Dadkeeda caanka ah ama taariikh da leh Waxa kamid ah 1:. FAAHIYE MIRE IBRAAHIN OO ahaa Suldaan garyaqaan halgamaa 2): axmed aadan Cali goodir Lataliye madaxweyne ahaan siyaasi caan ah OO aqoonyahan ah dalka marxalado badan kala Madaxdhaqameedka deegaanka 3) cawil cabdi ayax furre Waa aasaasaha xarunta MCH fadhigaaB 4) abdi cabdillaahi dayaxweerar Safiirkii somaliland ee UK 2017-2024 alle miisaanka xasanaadka haw saaro (4) muuse fardaale ibraahim aasaasaha iyo mamulaha dugsida h/dhexe iftin sidoo kale waxa ka mid ah dadka ugu san waxa ka mid siciid maxamed adan goodir oo ah ganacsade ku nool wadanka debadisa, ismaaciil Baxar oo ahaa odayaashii wakhtigooda geliyay horumarinta magaalada, waxa sidoo kale maal masood iyo maskaxba geliyey horumarka magaalada Yusuf Geedxamar oo kaalin muuqata ka qaatay dhisidda dugsigii ugu horreeyey ee ay Fadhigaab yeelato. qhp7kx6zrrthtfjd8ofps57dw30voxs 309739 309735 2026-09-26T17:08:18Z Isma4l 41797 Wuxuu dib u noqay badalkii uu sameeyay [[Special:Contributions/~2026-52006-15|~2026-52006-15]] ([[User talk:~2026-52006-15|wadahadal]]) kuna celiyay badalkii ka danbeeyay oo sameeyay [[User:~2025-57301-4|~2025-57301-4]] 280283 wikitext text/x-wiki Tuulada fadhigaab.... waxay woqooyi bari kaga beegan tahay '''degmada garadag.''' Waxa koonfur ka xiga degmada [[sincarro]] oo u jirta 24km '''fadhigaab''', waxana dega beesha, [[biciide]], gaar ahaan [[Axmed Faarax|axmed faarax]] iyo '', Degmada waxa ay Hodan kutahay xoolaha waa mid kamid ah sayladihii ugu waaweynaa dawladii soomaaliya. Waa goob taariikhdu xusayso iyadoo lagu xasuusto inay kaqayb qaadatay halgankii SNM. Waana goobtii lagu jebiyay Ciidamadii Faqashta. ```((laasdhagax))``` waa halkii lagu jebiyay Faqashta. qurbajoogta dadka degan degmada aya wada, dedaal ay ku horu marinayan degmadoda. waa magaalada 2aad ama 3aad ee ugu dadka badan '''Degmada Garadag'''. Dadkeeda caanka ah ama taariikh da leh Waxa kamid ah 1:. ((FAAHIYE MIRE IBRAAHIN ))OO ahaa Suldaan garyaqaan halgamaa 2: (( axmed aadan Cali goodir)). Lataliye madaxweyne ahaan siyaasi caan ah OO aqoonyahan ah dalka marxalado badan kala Soo dabaashay 3: dadka ugu caan san waxa ka mid siciid maxamed adan goodir oo ah ganacsade ku nool wadanka debadisa, ismaaciil Baxar oo ahaa odayaashii wakhtigooda geliyay horumarinta magaalada, waxa sidoo kale maal masood iyo maskaxba geliyey horumarka magaalada Yusuf Geedxamar oo kaalin muuqata ka qaatay dhisidda dugsigii ugu horreeyey ee ay Fadhigaab yeelato. dct1wmnwy7ixmln6sj0u8oukjzw912w 309740 309739 2026-09-26T17:19:45Z Isma4l 41797 309740 wikitext text/x-wiki {{Infobox settlement | name = | utc_offset = +3 | established_date = | area_total_km2 = | population_as_of = 2002<ref>{{Cite web |author=unicef |date=September 2002 |url=https://www.fsnau.org/downloads/Sanaag%20Survey%20-%20May%202002.pdf |title=SANAAG REGION NUTRITION SURVEY REPORT |accessdate=2021-07-11 |archive-date=2021-07-11 |archive-url=https://web.archive.org/web/20210711080102/https://www.fsnau.org/downloads/Sanaag%20Survey%20-%20May%202002.pdf |url-status=dead }}</ref> | population_footnotes = | population_total = 3000 | population_density_km2 = | leader_name = Faahiye mire (suldaan) | time_zone = [[East Africa Time|Waqtiga Bariga Afrika|EAT]] | coordinates = {{coord|9|40|02.0|N|47|00|59.3|E|region:SO|display=inline}} | elevation_footnotes = | elevation_m = | elevation_ft = | website = | footnotes = | established_title = | pushpin_label_position = right | leader_title = | subdivision_name3 = [[Sanaag]] | subdivision_type3 = [[Administrative divisions of Somalia|Gobol]] | subdivision_name2 = [[Garadag]] | subdivision_type2 = [[Administrative divisions of Somalia|Degmo]] | subdivision_name1 = [[Somaliland]] | subdivision_type1 = Dhulka sheegta | subdivision_name = {{flag|Somalia}} | subdivision_type = Wadan | pushpin_caption = Goobta Somalia | other_name = | pushpin_map =Somalia#Somaliland | caption = | image_size = | image = | type = Tuulo | native_name = | official_name = Fadhi gaab }} '''Fadhi gaab''' waa tuulo ku taalla [[Garadag|Degmada Gar-adag]] ee [[Sanaag]] ee [[Somaliland]].<ref>{{Cite web|title=The Impact of Drought on Protection Concerns in IDP Sites: Fadhi Gab IDP Settlement, Gar-adag District, Sanaag Region, Somaliland - February 2018 - Somalia|url=https://reliefweb.int/report/somalia/impact-drought-protection-concerns-idp-sites-fadhi-gab-idp-settlement-gar-adag|access-date=2021-07-30|website=ReliefWeb|language=en}}</ref> ==Sidoo kale eeg== {{Portal|Somalia}} {{Portal|Somaliland}} == Tixraacyo == {{Reflist}} {{Gumud}} fsvdq7lekabblfr9gdgj5nexassvat9 Begedi 0 30278 309734 305686 2026-09-26T16:06:33Z ~2026-51820-56 47579 /* */ 309734 wikitext text/x-wiki BEGEDI: *TAARIIKDA EE BEEL WEYNTA BAGEDI *Beesha bagedi waa beel kamid ah beelaha asalka ee ku abtirsada odeyga aw digil oo ah adeyga kasoo faracmeen qabaa ilada leysku yiraahdo hada Digil & Mirifle *Odeyga aw Digil wuxuu dhalay kuna abtirsada todobo odey oo kala ah *Abaasaad *Quraawane *QURIILE *Abaa Abaa *Sidaasi darteed odey Maadd DIGIL waxa uu dhalay 2 isku hooyo ah *0 , CALEEMOW MAAD DIGIL *MAXAMED MAAD DIGIL MAXAMED MAAD DIGIL WUXUU DHALAY 4 CARUUR *'''1 , Aba Saad''' *'''2 , Abaa Abaa''' *'''3 , Abaajibil''' *'''4 , Quraawane''' == Isirika Beelaha Begedi == Isirka beesha bagedi waxey galaan cadow Mirifle oo wada dageen deegaanada shableeda hoose. Bagedigu waa beel ay boqortooyo wadaag ahayen beelaha geledi oo muddo aad udheer xukumeysa barta iyo koonfurta [[soomaaliya]] kadib market jabiyeen boqortooyadii ajuuraan iyo hiraab ee katalin jirtay waayo hore koonfurta soomaaliya Bagedi waa beel kucaan ah ladirika shisheeyaha iyo gumeysi diidka , inkastoo Aan labuunbuuninin sida beelaha kale ee soomaaliyeed . Bagedi iyo geledi oo ah ilmo adeero (digil) waxey Daris iyo boqortoyo wadaag ahaayeen muddo aad utiro badan. Sidoo kale waa dad ku caan ah wax soosaarka dalka aanan waligood gacan hoorsan laguna yaqaan dad shaqeysta oo karti leh Bagediga waxa uu ku abtirsada cadow Mirifle == Dadka Iyo Deegaanada Beelaha Begedi == Dadka begedi oo sida aan horey u soo tilmaamayba ku abuurmay dan iyosida awoowyaasheynah sheegeen deegaan wadaag ayaa waxay ka kooban yihiin 12 beelood oo ku aroora afar isir. Walow aan si dhab ah loo ogayn sidii loo soo kala horeeyay ayaa hadana waxaa jira astaamo aad u muuqda oo aan la dafiri karin oo ka muuqda degmada Awdheegle sida magacyada qadiimiga ah,Qabuuraha iyo caado dhaqameedyada,waxayna si guud iyo si gaar ahba ay u cabirayaan in degmadan Awdheegle la deganaa ka hor soo galidii diinta islaamka geyiga Soomaaliyeed. Magacan begedi oo u muuqda magac micno ahaan loo ekaysiiyay carabi ayaa hadan waxa uu magacan yahay magac Soomaali ah loona yaqiinay deegaanka beesha begedi,waxa uuna tilmaan u ahaa barwaaqada ALAH ku maneystay beesha cid kasta oo aragtaa in ayan aragti kaga BOGAN karin nicmada taal dhalka reer BOGODI oo la micno ah INDHO DARAANDAR ama ASHQARAAR . [[Hal Abuur|halka]] degmada Awdheegle gobolka Shabeelaha hoose ay tahay deegaan iyo degmo reer begedi ay ku dhan yihiin,iyadoo sidoo kalena ay degaan degmooyinka Buurhakaba,Afgooye,Qoryooleey,Marko iyo Baraawe, Sablaale, kunturwaarey,Janaale, Baardheere,Jowhar waxaa intaa dheer caasimada magaalada muqdisho gobolka banaadir iyo caasimada kumeelgaarka ahee KoonfurGalbeed magaalada Baydhabo. Dadka begedigu waa dad isugu jira Beeraaleey,Xoolo dhaqato,Ganacsato iyo Xirfadlayaal sumcad iyo maamuusba ku dhex leh sokeeye iyo shisheeye,deris iyo ood wadaag,waana dad nabadeed aad u adadag xiliyada ay taagan yihiin duruufaha adag sida dagaalada,abaaraha,cudurada iyo aafooyinka dabeecadu keento. Dhulkan baaxada intaan la eg misna barwaaqada ahayaa waxa uu beeshu ku sababay iska war hayn la'aan meelaha qaar iyo mararka qaar sababta in reero ka mid ah beesha begedi ay ku biiraan reero ay oodwadaag yihiin,beelaha ay beesha begedi reero ka mid ahi ay ku biireen waxaa kamid ah l beesha sedaxda buurood amaba beesha EELAAY,Geledi,Gare,, iyo Tuni. == Beesha Bagedi == -Beesha Quraawane ayaa iyaguna waxay ku qaaraan yihiin beesha GELEDI(7-Digil),Sidoo kale ayaa beesha Quraawane waxay dhalasho wadaag la tahay beelaha laysku yiraahdo LIKA CADOW MIRIFLE oo ay ku abtirsadaan 6 beelood oo kala ah Yantaar,Barbaare,Helede,Quraawane,Daawane iyo Goorlabe,lixdan beelood ayaa hada ku kala abtirsada beelo ka gedisan sida beelaha Yantaar ee Mirifle,Barbaare 5Caleen,Helede Eelaay,Quraawane Begedi,Daawane Eelaay,Goorlabe Abgaal. == Sida saxda ah Abtirka Beesha waa == Qabiilka Begedi / Beesha Begedi waa beel kamid ah Beelaha aslaka ah ee ku abtirsada Odeyga AW-DIGIL, oo ah odeyga ey kasoo farcamee Qabaa’ilada lesku yiraahdo Hada Digil & Mirifle. Beel weynta Begedi ama Bagadi waxay u qeybsantaa sida soo socota: 1) Quraawane 2) quriile 3) abaasaad 4) quriile 5) reer maclin 6) reer Cumar Makaraan Cilmiile Maxaad Kheyre ( waxee dhaqan iyo deegaan wadaag yihiin Bagadi waxaana Hooyo u ah Quriile iyaguna waa jajeele Gugundhabe) 3sodplo8m4pqt6k2yev9fjyw2r9kq4e 309736 309734 2026-09-26T16:57:59Z Isma4l 41797 Wuxuu dib u noqay badalkii uu sameeyay [[Special:Contributions/~2026-51820-56|~2026-51820-56]] ([[User talk:~2026-51820-56|wadahadal]]) kuna celiyay badalkii ka danbeeyay oo sameeyay [[User:~2026-45734-10|~2026-45734-10]] 305686 wikitext text/x-wiki BEGEDI: *TAARIIKDA EE BEEL WEYNTA BAGEDI *Beesha bagedi waa beel kamid ah beelaha asalka ee ku abtirsada odeyga aw digil oo ah adeyga kasoo faracmeen qabaa ilada leysku yiraahdo hada Digil & Mirifle *Odeyga aw Digil wuxuu dhalay kuna abtirsada todobo odey oo kala ah *Abaasaad *Quraawane *QURIILE *Reer Cumur Makaraan Cilmiile Maxaad Kheyre ( jajeele reer wabar ) *Sidaasi darteed odey Maadd DIGIL waxa uu dhalay 2 isku hooyo ah *0 , CALEEMOW MAAD DIGIL *MAXAMED MAAD DIGIL MAXAMED MAAD DIGIL WUXUU DHALAY 4 CARUUR *'''1 , QURAAWANE( Israel asal ahaan)''' *'''2 , ABAASAAD ( Bagadi mad reiwing)''' *'''3 , quriile ( bagadi mad reiwing)''' *'''4 , Reer cumar Makaraan Cilmiile Maxaad Kheyre ( waxaa dhashay hooyo caashoow oo Qoriile ah deegaankooda waa Deeganweenaha 14 guri ugu yaalo Mubaarak Awdheegle )''' == Isirika Beelaha Begedi == Isirka beesha bagedi waxey galaan cadow Mirifle oo wada dageen deegaanada shableeda hoose. Bagedigu waa beel ay boqortooyo wadaag ahayen beelaha geledi oo muddo aad udheer xukumeysa barta iyo koonfurta [[soomaaliya]] kadib market jabiyeen boqortooyadii ajuuraan iyo hiraab ee katalin jirtay waayo hore koonfurta soomaaliya Bagedi waa beel kucaan ah ladirika shisheeyaha iyo gumeysi diidka , inkastoo Aan labuunbuuninin sida beelaha kale ee soomaaliyeed . Bagedi iyo geledi oo ah ilmo adeero (digil) waxey Daris iyo boqortoyo wadaag ahaayeen muddo aad utiro badan. Sidoo kale waa dad ku caan ah wax soosaarka dalka aanan waligood gacan hoorsan laguna yaqaan dad shaqeysta oo karti leh Bagediga waxa uu ku abtirsada cadow Mirifle == Dadka Iyo Deegaanada Beelaha Begedi == Dadka begedi oo sida aan horey u soo tilmaamayba ku abuurmay dan iyosida awoowyaasheynah sheegeen deegaan wadaag ayaa waxay ka kooban yihiin 12 beelood oo ku aroora afar isir. Walow aan si dhab ah loo ogayn sidii loo soo kala horeeyay ayaa hadana waxaa jira astaamo aad u muuqda oo aan la dafiri karin oo ka muuqda degmada Awdheegle sida magacyada qadiimiga ah,Qabuuraha iyo caado dhaqameedyada,waxayna si guud iyo si gaar ahba ay u cabirayaan in degmadan Awdheegle la deganaa ka hor soo galidii diinta islaamka geyiga Soomaaliyeed. Magacan begedi oo u muuqda magac micno ahaan loo ekaysiiyay carabi ayaa hadan waxa uu magacan yahay magac Soomaali ah loona yaqiinay deegaanka beesha begedi,waxa uuna tilmaan u ahaa barwaaqada ALAH ku maneystay beesha cid kasta oo aragtaa in ayan aragti kaga BOGAN karin nicmada taal dhalka reer BOGODI oo la micno ah INDHO DARAANDAR ama ASHQARAAR . [[Hal Abuur|halka]] degmada Awdheegle gobolka Shabeelaha hoose ay tahay deegaan iyo degmo reer begedi ay ku dhan yihiin,iyadoo sidoo kalena ay degaan degmooyinka Buurhakaba,Afgooye,Qoryooleey,Marko iyo Baraawe, Sablaale, kunturwaarey,Janaale, Baardheere,Jowhar waxaa intaa dheer caasimada magaalada muqdisho gobolka banaadir iyo caasimada kumeelgaarka ahee KoonfurGalbeed magaalada Baydhabo. Dadka begedigu waa dad isugu jira Beeraaleey,Xoolo dhaqato,Ganacsato iyo Xirfadlayaal sumcad iyo maamuusba ku dhex leh sokeeye iyo shisheeye,deris iyo ood wadaag,waana dad nabadeed aad u adadag xiliyada ay taagan yihiin duruufaha adag sida dagaalada,abaaraha,cudurada iyo aafooyinka dabeecadu keento. Dhulkan baaxada intaan la eg misna barwaaqada ahayaa waxa uu beeshu ku sababay iska war hayn la'aan meelaha qaar iyo mararka qaar sababta in reero ka mid ah beesha begedi ay ku biiraan reero ay oodwadaag yihiin,beelaha ay beesha begedi reero ka mid ahi ay ku biireen waxaa kamid ah l beesha sedaxda buurood amaba beesha EELAAY,Geledi,Gare,, iyo Tuni. == Beesha Bagedi == -Beesha Quraawane ayaa iyaguna waxay ku qaaraan yihiin beesha GELEDI(7-Digil),Sidoo kale ayaa beesha Quraawane waxay dhalasho wadaag la tahay beelaha laysku yiraahdo LIKA CADOW MIRIFLE oo ay ku abtirsadaan 6 beelood oo kala ah Yantaar,Barbaare,Helede,Quraawane,Daawane iyo Goorlabe,lixdan beelood ayaa hada ku kala abtirsada beelo ka gedisan sida beelaha Yantaar ee Mirifle,Barbaare 5Caleen,Helede Eelaay,Quraawane Begedi,Daawane Eelaay,Goorlabe Abgaal. == Sida saxda ah Abtirka Beesha waa == Qabiilka Begedi / Beesha Begedi waa beel kamid ah Beelaha aslaka ah ee ku abtirsada Odeyga AW-DIGIL, oo ah odeyga ey kasoo farcamee Qabaa’ilada lesku yiraahdo Hada Digil & Mirifle. Beel weynta Begedi ama Bagadi waxay u qeybsantaa sida soo socota: 1) Quraawane 2) quriile 3) abaasaad 4) quriile 5) reer maclin 6) reer Cumar Makaraan Cilmiile Maxaad Kheyre ( waxee dhaqan iyo deegaan wadaag yihiin Bagadi waxaana Hooyo u ah Quriile iyaguna waa jajeele Gugundhabe) 8dack7lodurjhdjyfq0im10x5gc4ysv 309737 309736 2026-09-26T16:59:04Z Isma4l 41797 Hagaajiyay kana saaray kuwa aan tixraac laheen 309737 wikitext text/x-wiki Beesha bagedi waa beel kamid ah beelaha asalka ee ku abtirsada odeyga aw digil oo ah adeyga kasoo faracmeen qabaa ilada leysku yiraahdo hada Digil & Mirifle {{Farac| |group = Begedi<br />بغيدي |image = |poptime = |region1 = {{flagcountry|Somalia}} {{flagcountry|Ethiopia}} {{flagcountry|Kenya}} |langs = {{flag|Somalia}} [[Af-Maay]] iyo [[File:Flag of the Arab League.svg|20px|border|]] [[Carabi]] |rels = [[Islaam|Islaam]] |flag=}} == Dadka Iyo Deegaanada == Dadka begedi oo sida aan horey u soo tilmaamayba ku abuurmay dan iyosida awoowyaasheynah sheegeen deegaan wadaag ayaa waxay ka kooban yihiin 12 beelood oo ku aroora afar isir. Walow aan si dhab ah loo ogayn sidii loo soo kala horeeyay ayaa hadana waxaa jira astaamo aad u muuqda oo aan la dafiri karin oo ka muuqda degmada Awdheegle sida magacyada qadiimiga ah,Qabuuraha iyo caado dhaqameedyada,waxayna si guud iyo si gaar ahba ay u cabirayaan in degmadan Awdheegle la deganaa ka hor soo galidii diinta islaamka geyiga Soomaaliyeed. Magacan begedi oo u muuqda magac micno ahaan loo ekaysiiyay carabi ayaa hadan waxa uu magacan yahay magac Soomaali ah loona yaqiinay deegaanka beesha begedi,waxa uuna tilmaan u ahaa barwaaqada. [[Hal Abuur|halka]] degmada Awdheegle gobolka Shabeelaha hoose ay tahay deegaan iyo degmo reer begedi ay ku dhan yihiin,iyadoo sidoo kalena ay degaan degmooyinka Buurhakaba,Afgooye,Qoryooleey,Marko iyo Baraawe, Sablaale, kunturwaarey,Janaale, Baardheere,Jowhar waxaa intaa dheer caasimada magaalada muqdisho gobolka banaadir iyo caasimada kumeelgaarka ahee Koonfur Galbeed magaalada Baydhabo. Dadka begedigu waa dad isugu jira Beeraaleey,Xoolo dhaqato,Ganacsato iyo Xirfadlayaal sumcad iyo maamuusba ku dhex leh sokeeye iyo shisheeye,deris iyo ood wadaag,waana dad nabadeed aad u adadag xiliyada ay taagan yihiin duruufaha adag sida dagaalada,abaaraha,cudurada iyo aafooyinka dabeecadu keento. Dhulkan baaxada intaan la eg misna barwaaqada ahayaa waxa uu beeshu ku sababay iska war hayn la'aan meelaha qaar iyo mararka qaar sababta in reero ka mid ah beesha begedi ay ku biiraan reero ay oodwadaag yihiin,beelaha ay beesha begedi reero ka mid ahi ay ku biireen waxaa kamid ah l beesha sedaxda buurood amaba beesha eelaay,Geledi,Gare,, iyo Tuni. ==Tixraac== {{Reflist}} {{Gumud}} n9u49q8gsg661ryaz41sowyc77uygde 309738 309737 2026-09-26T16:59:49Z Isma4l 41797 La ilaaliyay "[[Begedi]]": Gelinta qoraal aan [[Wikipedia:Xaqiijin|Tixraac]] laheen (adeegsanaya [[:metawikimedia:User:Isma4l/AdminInspector.js|AdminInspector]]) ([Wax ka badal=​U ogolow kaliya isticmaalayaasha la xaqiijiyay] (aan xad lahayn) [Wareeji=​U ogolow kaliya isticmaalayaasha la xaqiijiyay] (aan xad lahayn)) 309737 wikitext text/x-wiki Beesha bagedi waa beel kamid ah beelaha asalka ee ku abtirsada odeyga aw digil oo ah adeyga kasoo faracmeen qabaa ilada leysku yiraahdo hada Digil & Mirifle {{Farac| |group = Begedi<br />بغيدي |image = |poptime = |region1 = {{flagcountry|Somalia}} {{flagcountry|Ethiopia}} {{flagcountry|Kenya}} |langs = {{flag|Somalia}} [[Af-Maay]] iyo [[File:Flag of the Arab League.svg|20px|border|]] [[Carabi]] |rels = [[Islaam|Islaam]] |flag=}} == Dadka Iyo Deegaanada == Dadka begedi oo sida aan horey u soo tilmaamayba ku abuurmay dan iyosida awoowyaasheynah sheegeen deegaan wadaag ayaa waxay ka kooban yihiin 12 beelood oo ku aroora afar isir. Walow aan si dhab ah loo ogayn sidii loo soo kala horeeyay ayaa hadana waxaa jira astaamo aad u muuqda oo aan la dafiri karin oo ka muuqda degmada Awdheegle sida magacyada qadiimiga ah,Qabuuraha iyo caado dhaqameedyada,waxayna si guud iyo si gaar ahba ay u cabirayaan in degmadan Awdheegle la deganaa ka hor soo galidii diinta islaamka geyiga Soomaaliyeed. Magacan begedi oo u muuqda magac micno ahaan loo ekaysiiyay carabi ayaa hadan waxa uu magacan yahay magac Soomaali ah loona yaqiinay deegaanka beesha begedi,waxa uuna tilmaan u ahaa barwaaqada. [[Hal Abuur|halka]] degmada Awdheegle gobolka Shabeelaha hoose ay tahay deegaan iyo degmo reer begedi ay ku dhan yihiin,iyadoo sidoo kalena ay degaan degmooyinka Buurhakaba,Afgooye,Qoryooleey,Marko iyo Baraawe, Sablaale, kunturwaarey,Janaale, Baardheere,Jowhar waxaa intaa dheer caasimada magaalada muqdisho gobolka banaadir iyo caasimada kumeelgaarka ahee Koonfur Galbeed magaalada Baydhabo. Dadka begedigu waa dad isugu jira Beeraaleey,Xoolo dhaqato,Ganacsato iyo Xirfadlayaal sumcad iyo maamuusba ku dhex leh sokeeye iyo shisheeye,deris iyo ood wadaag,waana dad nabadeed aad u adadag xiliyada ay taagan yihiin duruufaha adag sida dagaalada,abaaraha,cudurada iyo aafooyinka dabeecadu keento. Dhulkan baaxada intaan la eg misna barwaaqada ahayaa waxa uu beeshu ku sababay iska war hayn la'aan meelaha qaar iyo mararka qaar sababta in reero ka mid ah beesha begedi ay ku biiraan reero ay oodwadaag yihiin,beelaha ay beesha begedi reero ka mid ahi ay ku biireen waxaa kamid ah l beesha sedaxda buurood amaba beesha eelaay,Geledi,Gare,, iyo Tuni. ==Tixraac== {{Reflist}} {{Gumud}} n9u49q8gsg661ryaz41sowyc77uygde Template:Collapsed infobox section begin 10 31850 309744 288451 2026-09-26T17:27:59Z Isma4l 41797 309744 wikitext text/x-wiki <templatestyles src="Collapsed infobox section begin/styles.css"/> <includeonly>{{#if:{{{div|}}}|</div>}}{{#if:{{{td|}}}|<td>}}</td></tr> <tr><td colspan="{{#if:{{{columns|}}}|{{{columns}}}|2}}"> {| class="cisb-table {{Collapsed infobox section begin/cont|transcludesection=class |cont={{{cont|{{{last|}}}}}}}} {{#if:{{{expand|}}}| |mw-collapsed}} mw-collapsible" {{#if:{{{collapsetext|}}}|data-collapsetext="{{{collapsetext|}}}"}} {{#if:{{{expandtext|}}}|data-expandtext="{{{expandtext|}}}"}} style="{{{style|}}};" |- ! class="cisb-header" colspan="{{#if:{{{columns|}}}|{{{columns}}}|2}}" style="{{{titlestyle|}}};" | <div class="cisb-title">{{{1|Further information}}}</div> |- class="cisb-content-row" {{Collapsed infobox section begin/cont|transcludesection=embed}} </tr>{{#if:{{{div|}}}|<div>}}</includeonly><noinclude> {{documentation}} <!-- Add categories to the /doc subpage, interwikis to Wikidata, not here --> </noinclude> 6hzyq1zb1fuv5cqezf7h2o0apf4ouxt Template:Tree chart/start 10 42045 309747 279880 2026-09-26T17:32:27Z Isma4l 41797 309747 wikitext text/x-wiki <table class="tree-chart" style="border-spacing: 0px; border-collapse: separate; {{#switch: {{{align|}}} |left = float: left; |right = float: right; |center = margin: 0 auto; |#default = }} {{{style|}}}"><noinclude> {{Tree chart/end}} {{documentation}} </noinclude> khxmk3q51k86fasxt0qzrcuiiyil8hc William Kentridge 0 45473 309776 296791 2026-09-27T11:38:17Z ~2026-51875-57 47587 309776 wikitext text/x-wiki {{Infobox artist | name = William Kentridge | image = William Kentridge (2025) (cropped).jpg | image_size = | alt = | caption = William Kentridge oo jooga [[Folkwang Museum]], [[Essen]] sanadka 2025 | birth_name = | birth_date = {{birth date and age|df=yes|1955|04|28}} | birth_place = [[Johannesburg]], South Africa | death_date = <!-- {{Death date and age|df=yes|YYYY|MM|DD|YYYY|MM|DD}} --> | death_place = | nationality = | spouse = Anne Stanwix | children = 3 | field = | training = [[Jaamacadda Witwatersrand]] iyo Hay'adda Farshaxanka ee Johannesburg | known_for = [[Daabacaadda]], [[sawirro]], iyo [[animation|filimada dhaqdhaqaaqa leh]] | movement = | works = | patrons = | awards = | elected = | website = <!-- {{URL|Example.com}} --> }} '''William Kentridge''' (wuxuu dhashay 28 Abriil 1955) waa farshaxane Koonfur Afrikaan ah oo si fiican loogu yaqaan daabacadiisa, sawirradiisa, iyo filimaantiisa firfircoon . Waxa si gaar ah loogu xusay taxane filimaan gacmeed lagu sawiray oo uu soo saaray intii lagu jiray 1990-meeyadii, oo lagu dhisay sawir-qaadista, samaynta tirtiridda iyo isbeddelka, iyo duubista mar kale. Waxa uu u sii wadaa hawshan si taxadar leh, isaga oo isbeddel kasta ku siinaya sawirka rubuc ilbiriqsi ilaa laba ilbiriqsi wakhtiga shaashadda. Hal sawir ayaa sidan loo beddeli doonaa oo loo duubi doonaa ilaa dhamaadka muuqaalka. Sawirradan palimpsest -u eg ayaa markii dambe lala soo bandhigay filimada sida qaybo farshaxan oo la dhammeeyey. ==Nolosha hore iyo shaqada== Kentridge wuxuu ku dhashay Johannesburg 1955 wuxuu u dhashay Sydney Kentridge iyo Felicia Geffen , qoys Yuhuudi ah. Labaduba waxay ahaayeen u doodeyaal (qareenno) oo wakiil ka ahaa dadka la takooray nidaamka midab-takoorka Wuxuu wax ku bartay Dugsiga King Edward VII ee Houghton, Johannesburg. Wuxuu muujiyay ballan-qaad faneed aad u weyn tan iyo yaraantiisii, wuxuuna bilaabay inuu casharro ku qaato dhuxusha isagoo siddeed jir ah Sannadkii 2016, waxa laga yaabaa inuu noqday fanaankii ugu horreeyay ee haysta buug-yaraha raisonné oo si gaar ah ugu go'ay dhallintiisa Waxa uu shahaadada Bachelor of Arts in Politics and African Studies ka qaatay Jaamacadda Witwatersrand ka dibna shahaado Fine Arts ah oo uu ka qaatay Mu’asasada Farshaxanka ee Johannesburg. Horraantii 1980-meeyadii, wuxuu wax ku bartay mime iyo masraxa L' École Internationale de Théâtre Jacques Lecoq ee Paris . Markii hore waxa uu rajaynayay in uu noqdo jilaa , laakiin waxa uu yidhi ka dib: "Nasiib ayaan u yeeshay in aan dugsiga masraxa ka ogaaday in aan aad ugu xunahay jilaanimada la igu soo koobay fannaanka, aniguna waan la nabadgalay. Intii u dhaxaysay 1975 iyo 1991, waxa uu ku jilay oo hagayay Shirkadda Tiyaatarka Junction Avenue ee Johannesburg. Sanadihii 1980-meeyadii, wuxuu ka shaqeeyay filimaanta telefishinka iyo taxane isagoo ah agaasime faneed . ==Tixraac== [https://archive.org/details/contemporaryafri00kasf Farshaxanka casriga ah ee Afrika] [https://www.goodman-gallery.com/artists/william-kentridge William Kentridge oo jooga Goodman Gallery] {{Wayback|url=https://www.goodman-gallery.com/artists/william-kentridge |date=20220419140958 }} [http://www.metmuseum.org/collections/metcollects/archive/the-refusal-of-time William Kentridge: Diidmada Waqtiga ee Matxafka Farshaxanka ee Metropolitan] bdk7n14u82s4wkp1ni2gggnz4ixi2s5 Template:Requested move 10 53313 309718 2026-09-26T13:03:49Z Isma4l 41797 /* */ 309718 wikitext text/x-wiki <includeonly>{{ {{{|safesubst:}}}require subst|template=Requested move |{{safesubst:#invoke:requested move|main}} }}</includeonly><noinclude> {{documentation}} <!-- Categories go on the /doc subpage, and interwikis go on Wikidata. --> </noinclude> j2pxitll6ka3wp2a7d5fztdtiuhqeoh Module:Requested move 828 53314 309719 2026-09-26T13:05:36Z Isma4l 41797 Abuuray 309719 Scribunto text/plain -- This module implements {{requested move}}. -- Load necessary modules local getArgs = require('Module:Arguments').getArgs local tableTools = require('Module:TableTools') local yesno = require('Module:Yesno') local mRedirect = require('Module:Redirect') -- Set static values local defaultNewPagename = '?' -- Name of new pages that haven't been specified local p = {} -------------------------------------------------------------------------------- -- Helper functions -------------------------------------------------------------------------------- local function err(msg, numargs, reason, count) -- Generates a wikitext error message local commented = '<!-- {{subst:requested move|' if count ~= 1 then commented = commented .. 'new1=' end commented = commented .. numargs[1]['new'] for i = 2,count do commented = commented .. string.format('|current%i=%s', i, (numargs[i]['current'] or '')) commented = commented .. string.format('|new%i=%s', i, (numargs[i]['new'] or '')) end if reason then commented = commented .. '|reason=' .. reason end commented = commented .. '}} -->' return string.format('{{error|%s}}', msg) .. commented end local function validateTitle(page, paramName, paramNum) -- Validates a page name, and if it is valid, returns true and the title -- object for that page. If it is not valid, returns false and the -- appropriate error message. -- Check for a small subset of characters that cannot be used in MediaWiki -- titles. For the full set of restrictions, see -- [[Wikipedia:Page name#Technical restrictions and limitations]]. This is -- also covered by the invalid title check, but with this check we can give -- a more specific error message. local invalidChar = page:match('[#<>%[%]|{}]') if invalidChar then local msg = 'Calaamad aan ansax ahayn "' .. invalidChar .. '" ayaa laga helay barafka "' .. paramName .. paramNum .. '" parameter' return false, msg end -- Get the title object. This also checks for invalid titles that aren't -- covered by the previous check. local titleObj = mw.title.new(page) if not titleObj then local msg = 'Cinwaan aan ansax ahayn ayaa laga dhex helay cabbirka "' .. paramName .. paramNum .. '"; hubi [[Wikipedia:Page name#' .. 'Technical restrictions and limitations|calaamadaha aan ansaxa ahayn]]' return false, msg end -- Check for interwiki links. Titles with interwikis make valid title -- objects, but cannot be created on the local wiki. local interwiki = titleObj.interwiki if interwiki and interwiki ~= '' then local msg = 'Cinwaan aan ansax ahayn ayaa laga dhex helay cabbirka "' .. paramName .. paramNum .. '"; wuxuu leeyahay [[Help:Interwiki linking|Hordhaca interwiki]] "' .. titleObj.interwiki .. ':"' return false, msg end return true, titleObj end -------------------------------------------------------------------------------- -- Validate title entry point (used at [[Template:RMassist/core]]) -------------------------------------------------------------------------------- function p.validateTitle(frame) local value = frame.args[1] local validTitle, currentTitle = validateTitle(value or '', '1', '') if not validTitle then -- If invalid, the second parameter is the error message. return currentTitle end return 'yes' end -------------------------------------------------------------------------------- -- Confirm protection levels (used at [[Template:Requested move/dated]]) -------------------------------------------------------------------------------- function p.protected(frame) local args = getArgs(frame, {parentOnly = true}) if args.protected then local levels = mw.title.new(args.protected).protectionLevels local levelMove = levels['move'] and levels['move'][1] local levelEdit = levels['edit'] and levels['edit'][1] local levelCreate = levels['create'] and levels['create'][1] if levelMove == 'sysop' or levelEdit == 'sysop' or levelEdit == 'editprotected' or levelCreate == 'sysop' then return 'sysop' elseif levelMove == 'templateeditor' or levelEdit == 'templateeditor' or levelCreate == 'templateeditor' then return 'templateeditor' end end end -------------------------------------------------------------------------------- -- Main function -------------------------------------------------------------------------------- function p.main(frame) ---------------------------------------------------------------------------- -- Initialise variables and preprocess the arguments ---------------------------------------------------------------------------- local args = getArgs(frame, {parentOnly = true}) local title = mw.title.getCurrentTitle() --[[ -- To iterate over the current1, new1, current2, new2, ... arguments -- we get an array of tables sorted by number and compressed so that -- it can be traversed with ipairs. The table format looks like this: -- { -- {current = x, new = y, num = 1}, -- {current = z, new = q, num = 2}, -- ... -- } -- The "num" field is used to correctly preserve the number of the parameter -- that was used, in case users skip any numbers in the invocation. -- -- The current1 parameter is a special case, as it does not need to be -- specified. To avoid clashes with later current parameters, we need to -- add it to the args table manually. -- -- Also, we allow the first positional parameter to be an alias for the -- new1 parameter, so that the syntax for the old templates -- {{requested move}} and {{move-multi}} will both be supported. -- -- The "multi" variable tracks whether we are using the syntax previously -- produced by {{requested move}}, or the syntax previously produced by -- {{move-multi}}. For the former, multi is false, and for the latter it is -- true. --]] if not args.current1 then args.current1 = title.subjectPageTitle.prefixedText end -- Find the first new page title, if specified, and keep a record of the -- prefix used to make it; the prefix will be used later to make error -- messages. local firstNewParam if args.new1 then firstNewParamPrefix = 'new' elseif args[1] then args.new1 = args[1] firstNewParamPrefix = '' else firstNewParamPrefix = '' end -- Build the sorted argument table. local argsByNum = {} for k, v in pairs(args) do k = tostring(k) local prefix, num = k:match('^(%l*)([1-9][0-9]*)$') if prefix == 'current' or prefix == 'new' then num = tonumber(num) local subtable = argsByNum[num] or {} subtable[prefix] = v subtable.num = num argsByNum[num] = subtable end end argsByNum = tableTools.compressSparseArray(argsByNum) -- Calculate the number of arguments and whether we are dealing with a -- multiple nomination. local argsByNumCount = #argsByNum local multi = (argsByNumCount >= 2) --[[ -- Validate new params. -- This check ensures we don't have any absent new parameters, and that -- users haven't simply copied in the values from the documentation page. --]] if multi then for i, t in ipairs(argsByNum) do local new = t.new local num = t.num if not new or new == 'New title for page ' .. tostring(num) then argsByNum[i].new = defaultNewPagename end end else local new = argsByNum[1].new if not new or new == 'NewName' then argsByNum[1].new = defaultNewPagename end end ---------------------------------------------------------------------------- -- Error checks ---------------------------------------------------------------------------- -- Subst check if not mw.isSubsting() then local lb = mw.text.nowiki('{{') local rb = mw.text.nowiki('}}') local msg = '<strong class="error">' .. 'Haddan qaab-dhismeedkan waa in la [[Wikipedia:Template substitution|beddelaa (subst)];' .. ' ku beddel %srequested move%s adeegsiga %ssubst:requested move%s' .. '</strong>' msg = string.format(msg, lb, rb, lb, rb) return msg end -- Check we are on a talk page if not title.isTalkPage then local msg = '[[Template:Requested move]] waa in lagu isticmaalo bogga wadahadalka (TALKSPACE), tusaale ahaan, [[%s:%s]]' msg = string.format(msg, mw.site.namespaces[title.namespace].talk.name, title.text) return err(msg, argsByNum, args.reason, argsByNumCount) end -- Check the arguments local currentDupes, newDupes = {}, {} for i, t in ipairs(argsByNum) do local current = t.current local new = t.new local num = t.num local validCurrent local currentTitle local subjectSpace -- Check for invalid or missing currentn parameters -- This check must come first, as mw.title.new will give an error if -- it is given invalid input. if not current then local msg = 'Cabbirka "current%d" waa maqan yahay;' .. ' fadlan ku dar ama tirtir cabbirka "new%d"' msg = string.format(msg, num, num) return err(msg, argsByNum, args.reason, argsByNumCount) end -- Get the currentn title object, and check for invalid titles. This check -- must come before the namespace and existence checks, as they will -- produce script errors if the title object doesn't exist. validCurrent, currentTitle = validateTitle(current, 'current', num) if not validCurrent then -- If invalid, the second parameter is the error message. local msg = currentTitle return err(msg, argsByNum, args.reason, argsByNumCount) end -- Category namespace check subjectSpace = mw.site.namespaces[currentTitle.namespace].subject.id if subjectSpace == 14 then local msg = '[[Template:Requested move]] looguma talagelin qaybaha (categories),' .. ' eeg [[Wikipedia:Categories for discussion]]' return err(msg, argsByNum, args.reason, argsByNumCount) -- File namespace check elseif subjectSpace == 6 then local msg = '[[Template:Requested move]] looguma talagelin faylasha;' .. ' eeg [[Wikipedia:Moving a page#Moving a file page]]' .. ' (oo la beddelkeeda isticmaal [[Template:Rename media]])' return err(msg, argsByNum, args.reason, argsByNumCount) -- Draft and User namespace check elseif subjectSpace == 2 or subjectSpace == 118 then local msg = '[[Template:Requested move]] looguma talagelin in laga guuro meelaha qabyo-qoraalka ah ama isticmaalaha.' .. '<br>Haddii aad rabto inaad soo gudbiso qabyo-qoraalkaaga si loo eego, ku dar <code>{{tlf|subst:submit}}</code>' .. 'xagga sare ee bogga.' .. '<br>Haddii kale, eeg tilmaamaha [[Help:How to move a page]].' .. '<br>Haddii aadan adigu dhaqaajin karin, eeg [[Wikipedia:Requested moves#Requesting technical moves|Codsashada dhaqaaqyada farsamada]].' return err(msg, argsByNum, args.reason, argsByNumCount) end -- Request to move a single page must be placed on that page's talk, or the page it redirects to if not multi and args.current1 ~= title.subjectPageTitle.prefixedText then local idealpage = mw.title.new(args.current1).talkPageTitle local rtarget = mRedirect.getTarget(idealpage) if rtarget == title.prefixedText then multi = true else local msg = 'Codsiga ah in la guuro hal bog waa in lagu rakibaa bogga wadahadalka ee boggaas ama bogga uu ku sii leexiyo (redirect)' return err(msg, argsByNum, args.reason, argsByNumCount) end end -- Check for non-existent titles. if not currentTitle.exists then local msg = 'Waa inaad abuurtaa [[:%s]] ka hor intaanad codsan in la guuro' msg = string.format(msg, current) return err(msg, argsByNum, args.reason, argsByNumCount) end -- Check for duplicate current titles -- We know the id isn't zero because we have already checked for -- existence. local currentId = currentTitle.id if currentDupes[currentId] then local msg = 'Waxaa la helay cinwaan labanlaab ah ("' .. currentTitle.prefixedText .. '"); lama guurin karo hal bog oo loo kala qaadayo laba meelood oo kala duwan' return err(msg, argsByNum, args.reason, argsByNumCount) else currentDupes[currentId] = true end -- Check for invalid new titles. This check must come before the -- duplicate title check for new titles, as it will produce a script -- error if the title object doesn't exist. local validNew, newTitle = validateTitle( new, multi and 'new' or firstNewParamPrefix, num ) if not validNew then -- If invalid, the second parameter is the error message. local msg = newTitle return err(msg, argsByNum, args.reason, argsByNumCount) end -- Check for duplicate new titles. -- We can't use the page_id, as new pages might not exist, and therefore -- multiple pages may have an id of 0. Use the prefixedText as a -- reasonable fallback. We also need to check that we aren't using the -- default new page name, as we don't want it to be treated as a duplicate -- page if more than one new page name has been omitted. local newPrefixedText = newTitle.prefixedText if newPrefixedText ~= defaultNewPagename then if newDupes[newPrefixedText] then local msg = 'Waxaa la helay cinwaan labanlaab ah ("' .. newTitle.prefixedText .. '"); lama guurin karo laba bog oo kala duwan isla meeshaas' return err(msg, argsByNum, args.reason, argsByNumCount) else newDupes[newPrefixedText] = true end end end ---------------------------------------------------------------------------- -- Check for page protection ---------------------------------------------------------------------------- local highestProtection = '' local protectedTitle = '' -- Checking page protection requires use of .protectionLevels(), one of the -- "expensive" parser functions, which stop working after 500 uses total. -- Without some limit set, this starts breaking near 250 distinct titles. local titleLimit = 80 local titlesChecked = 0 local titles = {} -- Consolidate duplicate titles (i.e., when moving A to B and B to C) for i = 1,argsByNumCount do titles[mw.title.new(argsByNum[i]['current'])] = true titles[mw.title.new(argsByNum[i]['new'])] = true end -- Check each title t, while ignoring the "true" value for t, _ in pairs(titles) do if titlesChecked < titleLimit then local levels = t.protectionLevels titlesChecked = titlesChecked + 1 local levelMove = levels['move'] and levels['move'][1] local levelEdit = levels['edit'] and levels['edit'][1] local levelCreate = levels['create'] and levels['create'][1] if levelMove == 'sysop' or levelEdit == 'sysop' or levelEdit == 'editprotected' or levelCreate == 'sysop' then highestProtection = 'sysop' protectedTitle = tostring(t) break elseif levelMove == 'templateeditor' or levelEdit == 'templateeditor' or levelCreate == 'templateeditor' then highestProtection = 'templateeditor' protectedTitle = tostring(t) end else -- End the "for" loop if the titleLimit is reached break end end ---------------------------------------------------------------------------- -- Generate the heading ---------------------------------------------------------------------------- -- For custom values of |heading=, use those. -- For |heading=no, |heading=n, etc., don't include a heading. -- Otherwise use the current date as a heading. local heading = args.heading or args.header local useHeading = yesno(heading, heading) if heading and useHeading == heading then heading = '== ' .. heading .. ' ==\n\n' elseif useHeading == false then heading = '' else local lang = mw.language.getContentLanguage() local headingDate = lang:formatDate('j F Y') heading = '== Codsiga guuritaanka ' .. headingDate .. ' ==\n\n' end ---------------------------------------------------------------------------- -- Build the {{requested move/dated}} invocation ---------------------------------------------------------------------------- local rmd = {} rmd[#rmd + 1] = '{{requested move/dated' if multi then rmd[#rmd + 1] = '|multiple=yes' rmd[#rmd + 1] = '\n|current1=' .. argsByNum[1].current end --[[ -- The first new title. This is used both by single and by multi; for single -- it is the only parameter used. For single the parameter name is the first -- positional parameter, and for multi the parameter name is "new1". --]] local new1param = multi and 'new1=' or '' rmd[#rmd + 1] = '|' .. new1param .. argsByNum[1].new -- Add more arguments for multi. if multi then for i = 2, argsByNumCount do local t = argsByNum[i] local numString = tostring(i) local current = t.current local new = t.new rmd[#rmd + 1] = '|current' .. numString .. '=' .. current rmd[#rmd + 1] = '|new' .. numString .. '=' .. new end end -- Highest page protection (if admin or template-editor) if highestProtection == 'sysop' or highestProtection == 'templateeditor' then rmd[#rmd + 1] = '|protected=' .. protectedTitle end -- Pass through demo=yes to the if args.demo ~= nil then rmd[#rmd + 1] = '|demo=' rmd[#rmd + 1] = args.demo end -- The old multi template always has a bar before the closing curly -- braces, so we will do that too. if multi then rmd[#rmd + 1] = '|' end rmd[#rmd + 1] = '}}' rmd = table.concat(rmd) ---------------------------------------------------------------------------- -- Generate the list of links to the pages to be moved ---------------------------------------------------------------------------- local linkList = {} for i, t in ipairs(argsByNum) do local current = t.current local new = t.new local msg = '\n%s[[:%s]] → ' if new ~= defaultNewPagename then msg = msg .. '{{no redirect|%s}}' else msg = msg .. '%s' end local item = string.format( msg, multi and '* ' or '', -- Don't make a list for single page moves. current, new ) linkList[#linkList + 1] = item end linkList = table.concat(linkList) ---------------------------------------------------------------------------- -- Reason and talk blurb ---------------------------------------------------------------------------- -- Reason local reason = args.reason or args[2] or 'Fadlan halkan ku qor sababta aad u jeedinayso in la guuro.' reason = '– ' .. reason if yesno(args.sign or args.sig or args.signature or 'unspecified', not reason:match("~~~$")) then reason = reason .. ' ~~~~' end -- Talk blurb local talk = '' if yesno(args.talk, true) then talk = frame:expandTemplate{title = 'Requested move/talk'} end ---------------------------------------------------------------------------- -- Assemble the output ---------------------------------------------------------------------------- -- The old templates start with a line break, so we will do that too. local ret = string.format( '\n%s%s\n%s%s%s%s', heading, rmd, linkList, multi and '\n' or ' ', reason, talk ) return ret end return p 8ff0o2ib1vm1azfqy46h35kapv8pnkq 309727 309719 2026-09-26T13:22:49Z Isma4l 41797 309727 Scribunto text/plain -- This module implements {{requested move}}. -- Load necessary modules local getArgs = require('Module:Arguments').getArgs local tableTools = require('Module:TableTools') local yesno = require('Module:Yesno') local mRedirect = require('Module:Redirect') -- Set static values local defaultNewPagename = '?' -- Name of new pages that haven't been specified local p = {} -------------------------------------------------------------------------------- -- Helper functions -------------------------------------------------------------------------------- local function err(msg, numargs, reason, count) -- Generates a wikitext error message local commented = '<!-- {{subst:requested move|' if count ~= 1 then commented = commented .. 'new1=' end commented = commented .. numargs[1]['new'] for i = 2,count do commented = commented .. string.format('|current%i=%s', i, (numargs[i]['current'] or '')) commented = commented .. string.format('|new%i=%s', i, (numargs[i]['new'] or '')) end if reason then commented = commented .. '|reason=' .. reason end commented = commented .. '}} -->' return string.format('{{error|%s}}', msg) .. commented end local function validateTitle(page, paramName, paramNum) -- Validates a page name, and if it is valid, returns true and the title -- object for that page. If it is not valid, returns false and the -- appropriate error message. -- Check for a small subset of characters that cannot be used in MediaWiki -- titles. For the full set of restrictions, see -- [[Wikipedia:Page name#Technical restrictions and limitations]]. This is -- also covered by the invalid title check, but with this check we can give -- a more specific error message. local invalidChar = page:match('[#<>%[%]|{}]') if invalidChar then local msg = 'Calaamad aan ansax ahayn "' .. invalidChar .. '" ayaa laga helay barafka "' .. paramName .. paramNum .. '" parameter' return false, msg end -- Get the title object. This also checks for invalid titles that aren't -- covered by the previous check. local titleObj = mw.title.new(page) if not titleObj then local msg = 'Cinwaan aan ansax ahayn ayaa laga dhex helay cabbirka "' .. paramName .. paramNum .. '"; hubi [[Wikipedia:Page name#' .. 'Technical restrictions and limitations|calaamadaha aan ansaxa ahayn]]' return false, msg end -- Check for interwiki links. Titles with interwikis make valid title -- objects, but cannot be created on the local wiki. local interwiki = titleObj.interwiki if interwiki and interwiki ~= '' then local msg = 'Cinwaan aan ansax ahayn ayaa laga dhex helay cabbirka "' .. paramName .. paramNum .. '"; wuxuu leeyahay [[Help:Interwiki linking|Hordhaca interwiki]] "' .. titleObj.interwiki .. ':"' return false, msg end return true, titleObj end -------------------------------------------------------------------------------- -- Validate title entry point (used at [[Template:RMassist/core]]) -------------------------------------------------------------------------------- function p.validateTitle(frame) local value = frame.args[1] local validTitle, currentTitle = validateTitle(value or '', '1', '') if not validTitle then -- If invalid, the second parameter is the error message. return currentTitle end return 'yes' end -------------------------------------------------------------------------------- -- Confirm protection levels (used at [[Template:Requested move/dated]]) -------------------------------------------------------------------------------- function p.protected(frame) local args = getArgs(frame, {parentOnly = true}) if args.protected then local levels = mw.title.new(args.protected).protectionLevels local levelMove = levels['move'] and levels['move'][1] local levelEdit = levels['edit'] and levels['edit'][1] local levelCreate = levels['create'] and levels['create'][1] if levelMove == 'sysop' or levelEdit == 'sysop' or levelEdit == 'editprotected' or levelCreate == 'sysop' then return 'sysop' elseif levelMove == 'templateeditor' or levelEdit == 'templateeditor' or levelCreate == 'templateeditor' then return 'templateeditor' end end end -------------------------------------------------------------------------------- -- Main function -------------------------------------------------------------------------------- function p.main(frame) ---------------------------------------------------------------------------- -- Initialise variables and preprocess the arguments ---------------------------------------------------------------------------- local args = getArgs(frame, {parentOnly = true}) local title = mw.title.getCurrentTitle() --[[ -- To iterate over the current1, new1, current2, new2, ... arguments -- we get an array of tables sorted by number and compressed so that -- it can be traversed with ipairs. The table format looks like this: -- { -- {current = x, new = y, num = 1}, -- {current = z, new = q, num = 2}, -- ... -- } -- The "num" field is used to correctly preserve the number of the parameter -- that was used, in case users skip any numbers in the invocation. -- -- The current1 parameter is a special case, as it does not need to be -- specified. To avoid clashes with later current parameters, we need to -- add it to the args table manually. -- -- Also, we allow the first positional parameter to be an alias for the -- new1 parameter, so that the syntax for the old templates -- {{requested move}} and {{move-multi}} will both be supported. -- -- The "multi" variable tracks whether we are using the syntax previously -- produced by {{requested move}}, or the syntax previously produced by -- {{move-multi}}. For the former, multi is false, and for the latter it is -- true. --]] if not args.current1 then args.current1 = title.subjectPageTitle.prefixedText end -- Find the first new page title, if specified, and keep a record of the -- prefix used to make it; the prefix will be used later to make error -- messages. local firstNewParam if args.new1 then firstNewParamPrefix = 'new' elseif args[1] then args.new1 = args[1] firstNewParamPrefix = '' else firstNewParamPrefix = '' end -- Build the sorted argument table. local argsByNum = {} for k, v in pairs(args) do k = tostring(k) local prefix, num = k:match('^(%l*)([1-9][0-9]*)$') if prefix == 'current' or prefix == 'new' then num = tonumber(num) local subtable = argsByNum[num] or {} subtable[prefix] = v subtable.num = num argsByNum[num] = subtable end end argsByNum = tableTools.compressSparseArray(argsByNum) -- Calculate the number of arguments and whether we are dealing with a -- multiple nomination. local argsByNumCount = #argsByNum local multi = (argsByNumCount >= 2) --[[ -- Validate new params. -- This check ensures we don't have any absent new parameters, and that -- users haven't simply copied in the values from the documentation page. --]] if multi then for i, t in ipairs(argsByNum) do local new = t.new local num = t.num if not new or new == 'New title for page ' .. tostring(num) then argsByNum[i].new = defaultNewPagename end end else local new = argsByNum[1].new if not new or new == 'NewName' then argsByNum[1].new = defaultNewPagename end end ---------------------------------------------------------------------------- -- Error checks ---------------------------------------------------------------------------- -- Subst check if not mw.isSubsting() then local lb = mw.text.nowiki('{{') local rb = mw.text.nowiki('}}') local msg = '<strong class="error">' .. 'Haddan qaab-dhismeedkan waa in la [[Wikipedia:Template substitution|beddelaa];' .. ' ku beddel %srequested move%s adeegsiga %ssubst:requested move%s' .. '</strong>' msg = string.format(msg, lb, rb, lb, rb) return msg end -- Check we are on a talk page if not title.isTalkPage then local msg = '[[Template:Requested move]] waa in lagu isticmaalo bogga wadahadalka, tusaale ahaan, [[%s:%s]]' msg = string.format(msg, mw.site.namespaces[title.namespace].talk.name, title.text) return err(msg, argsByNum, args.reason, argsByNumCount) end -- Check the arguments local currentDupes, newDupes = {}, {} for i, t in ipairs(argsByNum) do local current = t.current local new = t.new local num = t.num local validCurrent local currentTitle local subjectSpace -- Check for invalid or missing currentn parameters -- This check must come first, as mw.title.new will give an error if -- it is given invalid input. if not current then local msg = 'Cabbirka "current%d" waa maqan yahay;' .. ' fadlan ku dar ama tirtir cabbirka "new%d"' msg = string.format(msg, num, num) return err(msg, argsByNum, args.reason, argsByNumCount) end -- Get the currentn title object, and check for invalid titles. This check -- must come before the namespace and existence checks, as they will -- produce script errors if the title object doesn't exist. validCurrent, currentTitle = validateTitle(current, 'current', num) if not validCurrent then -- If invalid, the second parameter is the error message. local msg = currentTitle return err(msg, argsByNum, args.reason, argsByNumCount) end -- Category namespace check subjectSpace = mw.site.namespaces[currentTitle.namespace].subject.id if subjectSpace == 14 then local msg = '[[Template:Requested move]] looguma talagelin qaybaha (categories),' .. ' eeg [[Wikipedia:Categories for discussion]]' return err(msg, argsByNum, args.reason, argsByNumCount) -- File namespace check elseif subjectSpace == 6 then local msg = '[[Template:Requested move]] looguma talagelin faylasha;' .. ' eeg [[Wikipedia:Moving a page#Moving a file page]]' .. ' (oo la beddelkeeda isticmaal [[Template:Rename media]])' return err(msg, argsByNum, args.reason, argsByNumCount) -- Draft and User namespace check elseif subjectSpace == 2 or subjectSpace == 118 then local msg = '[[Template:Requested move]] looguma talagelin in laga guuro meelaha qabyo-qoraalka ah ama isticmaalaha.' .. '<br>Haddii aad rabto inaad soo gudbiso qabyo-qoraalkaaga si loo eego, ku dar <code>{{tlf|subst:submit}}</code>' .. 'xagga sare ee bogga.' .. '<br>Haddii kale, eeg tilmaamaha [[Help:How to move a page]].' .. '<br>Haddii aadan adigu dhaqaajin karin, eeg [[Wikipedia:Requested moves#Requesting technical moves|Codsashada dhaqaaqyada farsamada]].' return err(msg, argsByNum, args.reason, argsByNumCount) end -- Request to move a single page must be placed on that page's talk, or the page it redirects to if not multi and args.current1 ~= title.subjectPageTitle.prefixedText then local idealpage = mw.title.new(args.current1).talkPageTitle local rtarget = mRedirect.getTarget(idealpage) if rtarget == title.prefixedText then multi = true else local msg = 'Codsiga ah in la guuro hal bog waa in lagu rakibaa bogga wadahadalka ee boggaas ama bogga uu ku sii leexiyo (redirect)' return err(msg, argsByNum, args.reason, argsByNumCount) end end -- Check for non-existent titles. if not currentTitle.exists then local msg = 'Waa inaad abuurtaa [[:%s]] ka hor intaanad codsan in la guuro' msg = string.format(msg, current) return err(msg, argsByNum, args.reason, argsByNumCount) end -- Check for duplicate current titles -- We know the id isn't zero because we have already checked for -- existence. local currentId = currentTitle.id if currentDupes[currentId] then local msg = 'Waxaa la helay cinwaan labanlaab ah ("' .. currentTitle.prefixedText .. '"); lama guurin karo hal bog oo loo kala qaadayo laba meelood oo kala duwan' return err(msg, argsByNum, args.reason, argsByNumCount) else currentDupes[currentId] = true end -- Check for invalid new titles. This check must come before the -- duplicate title check for new titles, as it will produce a script -- error if the title object doesn't exist. local validNew, newTitle = validateTitle( new, multi and 'new' or firstNewParamPrefix, num ) if not validNew then -- If invalid, the second parameter is the error message. local msg = newTitle return err(msg, argsByNum, args.reason, argsByNumCount) end -- Check for duplicate new titles. -- We can't use the page_id, as new pages might not exist, and therefore -- multiple pages may have an id of 0. Use the prefixedText as a -- reasonable fallback. We also need to check that we aren't using the -- default new page name, as we don't want it to be treated as a duplicate -- page if more than one new page name has been omitted. local newPrefixedText = newTitle.prefixedText if newPrefixedText ~= defaultNewPagename then if newDupes[newPrefixedText] then local msg = 'Waxaa la helay cinwaan labanlaab ah ("' .. newTitle.prefixedText .. '"); lama guurin karo laba bog oo kala duwan isla meeshaas' return err(msg, argsByNum, args.reason, argsByNumCount) else newDupes[newPrefixedText] = true end end end ---------------------------------------------------------------------------- -- Check for page protection ---------------------------------------------------------------------------- local highestProtection = '' local protectedTitle = '' -- Checking page protection requires use of .protectionLevels(), one of the -- "expensive" parser functions, which stop working after 500 uses total. -- Without some limit set, this starts breaking near 250 distinct titles. local titleLimit = 80 local titlesChecked = 0 local titles = {} -- Consolidate duplicate titles (i.e., when moving A to B and B to C) for i = 1,argsByNumCount do titles[mw.title.new(argsByNum[i]['current'])] = true titles[mw.title.new(argsByNum[i]['new'])] = true end -- Check each title t, while ignoring the "true" value for t, _ in pairs(titles) do if titlesChecked < titleLimit then local levels = t.protectionLevels titlesChecked = titlesChecked + 1 local levelMove = levels['move'] and levels['move'][1] local levelEdit = levels['edit'] and levels['edit'][1] local levelCreate = levels['create'] and levels['create'][1] if levelMove == 'sysop' or levelEdit == 'sysop' or levelEdit == 'editprotected' or levelCreate == 'sysop' then highestProtection = 'sysop' protectedTitle = tostring(t) break elseif levelMove == 'templateeditor' or levelEdit == 'templateeditor' or levelCreate == 'templateeditor' then highestProtection = 'templateeditor' protectedTitle = tostring(t) end else -- End the "for" loop if the titleLimit is reached break end end ---------------------------------------------------------------------------- -- Generate the heading ---------------------------------------------------------------------------- -- For custom values of |heading=, use those. -- For |heading=no, |heading=n, etc., don't include a heading. -- Otherwise use the current date as a heading. local heading = args.heading or args.header local useHeading = yesno(heading, heading) if heading and useHeading == heading then heading = '== ' .. heading .. ' ==\n\n' elseif useHeading == false then heading = '' else local lang = mw.language.getContentLanguage() local headingDate = lang:formatDate('j F Y') heading = '== Codsiga guuritaanka ' .. headingDate .. ' ==\n\n' end ---------------------------------------------------------------------------- -- Build the {{requested move/dated}} invocation ---------------------------------------------------------------------------- local rmd = {} rmd[#rmd + 1] = '{{requested move/dated' if multi then rmd[#rmd + 1] = '|multiple=yes' rmd[#rmd + 1] = '\n|current1=' .. argsByNum[1].current end --[[ -- The first new title. This is used both by single and by multi; for single -- it is the only parameter used. For single the parameter name is the first -- positional parameter, and for multi the parameter name is "new1". --]] local new1param = multi and 'new1=' or '' rmd[#rmd + 1] = '|' .. new1param .. argsByNum[1].new -- Add more arguments for multi. if multi then for i = 2, argsByNumCount do local t = argsByNum[i] local numString = tostring(i) local current = t.current local new = t.new rmd[#rmd + 1] = '|current' .. numString .. '=' .. current rmd[#rmd + 1] = '|new' .. numString .. '=' .. new end end -- Highest page protection (if admin or template-editor) if highestProtection == 'sysop' or highestProtection == 'templateeditor' then rmd[#rmd + 1] = '|protected=' .. protectedTitle end -- Pass through demo=yes to the if args.demo ~= nil then rmd[#rmd + 1] = '|demo=' rmd[#rmd + 1] = args.demo end -- The old multi template always has a bar before the closing curly -- braces, so we will do that too. if multi then rmd[#rmd + 1] = '|' end rmd[#rmd + 1] = '}}' rmd = table.concat(rmd) ---------------------------------------------------------------------------- -- Generate the list of links to the pages to be moved ---------------------------------------------------------------------------- local linkList = {} for i, t in ipairs(argsByNum) do local current = t.current local new = t.new local msg = '\n%s[[:%s]] → ' if new ~= defaultNewPagename then msg = msg .. '{{no redirect|%s}}' else msg = msg .. '%s' end local item = string.format( msg, multi and '* ' or '', -- Don't make a list for single page moves. current, new ) linkList[#linkList + 1] = item end linkList = table.concat(linkList) ---------------------------------------------------------------------------- -- Reason and talk blurb ---------------------------------------------------------------------------- -- Reason local reason = args.reason or args[2] or 'Fadlan halkan ku qor sababta aad u jeedinayso in la guuro.' reason = '– ' .. reason if yesno(args.sign or args.sig or args.signature or 'unspecified', not reason:match("~~~$")) then reason = reason .. ' ~~~~' end -- Talk blurb local talk = '' if yesno(args.talk, true) then talk = frame:expandTemplate{title = 'Requested move/talk'} end ---------------------------------------------------------------------------- -- Assemble the output ---------------------------------------------------------------------------- -- The old templates start with a line break, so we will do that too. local ret = string.format( '\n%s%s\n%s%s%s%s', heading, rmd, linkList, multi and '\n' or ' ', reason, talk ) return ret end return p lw79uvw6gzakj66hst3n437e1yp5ion 309728 309727 2026-09-26T13:24:47Z Isma4l 41797 309728 Scribunto text/plain -- This module implements {{requested move}}. -- Load necessary modules local getArgs = require('Module:Arguments').getArgs local tableTools = require('Module:TableTools') local yesno = require('Module:Yesno') local mRedirect = require('Module:Redirect') -- Set static values local defaultNewPagename = '?' -- Name of new pages that haven't been specified local p = {} -------------------------------------------------------------------------------- -- Helper functions -------------------------------------------------------------------------------- local function err(msg, numargs, reason, count) -- Generates a wikitext error message local commented = '<!-- {{subst:requested move|' if count ~= 1 then commented = commented .. 'new1=' end commented = commented .. numargs[1]['new'] for i = 2,count do commented = commented .. string.format('|current%i=%s', i, (numargs[i]['current'] or '')) commented = commented .. string.format('|new%i=%s', i, (numargs[i]['new'] or '')) end if reason then commented = commented .. '|reason=' .. reason end commented = commented .. '}} -->' return string.format('{{error|%s}}', msg) .. commented end local function validateTitle(page, paramName, paramNum) -- Validates a page name, and if it is valid, returns true and the title -- object for that page. If it is not valid, returns false and the -- appropriate error message. -- Check for a small subset of characters that cannot be used in MediaWiki -- titles. For the full set of restrictions, see -- [[Wikipedia:Page name#Technical restrictions and limitations]]. This is -- also covered by the invalid title check, but with this check we can give -- a more specific error message. local invalidChar = page:match('[#<>%[%]|{}]') if invalidChar then local msg = 'Calaamad aan ansax ahayn "' .. invalidChar .. '" ayaa laga helay barafka "' .. paramName .. paramNum .. '" parameter' return false, msg end -- Get the title object. This also checks for invalid titles that aren't -- covered by the previous check. local titleObj = mw.title.new(page) if not titleObj then local msg = 'Cinwaan aan ansax ahayn ayaa laga dhex helay cabbirka "' .. paramName .. paramNum .. '"; hubi [[Wikipedia:Page name#' .. 'Technical restrictions and limitations|calaamadaha aan ansaxa ahayn]]' return false, msg end -- Check for interwiki links. Titles with interwikis make valid title -- objects, but cannot be created on the local wiki. local interwiki = titleObj.interwiki if interwiki and interwiki ~= '' then local msg = 'Cinwaan aan ansax ahayn ayaa laga dhex helay cabbirka "' .. paramName .. paramNum .. '"; wuxuu leeyahay [[Help:Interwiki linking|Hordhaca interwiki]] "' .. titleObj.interwiki .. ':"' return false, msg end return true, titleObj end -------------------------------------------------------------------------------- -- Validate title entry point (used at [[Template:RMassist/core]]) -------------------------------------------------------------------------------- function p.validateTitle(frame) local value = frame.args[1] local validTitle, currentTitle = validateTitle(value or '', '1', '') if not validTitle then -- If invalid, the second parameter is the error message. return currentTitle end return 'yes' end -------------------------------------------------------------------------------- -- Confirm protection levels (used at [[Template:Requested move/dated]]) -------------------------------------------------------------------------------- function p.protected(frame) local args = getArgs(frame, {parentOnly = true}) if args.protected then local levels = mw.title.new(args.protected).protectionLevels local levelMove = levels['move'] and levels['move'][1] local levelEdit = levels['edit'] and levels['edit'][1] local levelCreate = levels['create'] and levels['create'][1] if levelMove == 'sysop' or levelEdit == 'sysop' or levelEdit == 'editprotected' or levelCreate == 'sysop' then return 'sysop' elseif levelMove == 'templateeditor' or levelEdit == 'templateeditor' or levelCreate == 'templateeditor' then return 'templateeditor' end end end -------------------------------------------------------------------------------- -- Main function -------------------------------------------------------------------------------- function p.main(frame) ---------------------------------------------------------------------------- -- Initialise variables and preprocess the arguments ---------------------------------------------------------------------------- local args = getArgs(frame, {parentOnly = true}) local title = mw.title.getCurrentTitle() --[[ -- To iterate over the current1, new1, current2, new2, ... arguments -- we get an array of tables sorted by number and compressed so that -- it can be traversed with ipairs. The table format looks like this: -- { -- {current = x, new = y, num = 1}, -- {current = z, new = q, num = 2}, -- ... -- } -- The "num" field is used to correctly preserve the number of the parameter -- that was used, in case users skip any numbers in the invocation. -- -- The current1 parameter is a special case, as it does not need to be -- specified. To avoid clashes with later current parameters, we need to -- add it to the args table manually. -- -- Also, we allow the first positional parameter to be an alias for the -- new1 parameter, so that the syntax for the old templates -- {{requested move}} and {{move-multi}} will both be supported. -- -- The "multi" variable tracks whether we are using the syntax previously -- produced by {{requested move}}, or the syntax previously produced by -- {{move-multi}}. For the former, multi is false, and for the latter it is -- true. --]] if not args.current1 then args.current1 = title.subjectPageTitle.prefixedText end -- Find the first new page title, if specified, and keep a record of the -- prefix used to make it; the prefix will be used later to make error -- messages. local firstNewParam if args.new1 then firstNewParamPrefix = 'new' elseif args[1] then args.new1 = args[1] firstNewParamPrefix = '' else firstNewParamPrefix = '' end -- Build the sorted argument table. local argsByNum = {} for k, v in pairs(args) do k = tostring(k) local prefix, num = k:match('^(%l*)([1-9][0-9]*)$') if prefix == 'current' or prefix == 'new' then num = tonumber(num) local subtable = argsByNum[num] or {} subtable[prefix] = v subtable.num = num argsByNum[num] = subtable end end argsByNum = tableTools.compressSparseArray(argsByNum) -- Calculate the number of arguments and whether we are dealing with a -- multiple nomination. local argsByNumCount = #argsByNum local multi = (argsByNumCount >= 2) --[[ -- Validate new params. -- This check ensures we don't have any absent new parameters, and that -- users haven't simply copied in the values from the documentation page. --]] if multi then for i, t in ipairs(argsByNum) do local new = t.new local num = t.num if not new or new == 'New title for page ' .. tostring(num) then argsByNum[i].new = defaultNewPagename end end else local new = argsByNum[1].new if not new or new == 'NewName' then argsByNum[1].new = defaultNewPagename end end ---------------------------------------------------------------------------- -- Error checks ---------------------------------------------------------------------------- -- Subst check if not mw.isSubsting() then local lb = mw.text.nowiki('{{') local rb = mw.text.nowiki('}}') local msg = '<strong class="error">' .. 'Haddan qaab-dhismeedkan waa in la [[Wikipedia:Template substitution|beddelaa];' .. ' ku beddel %srequested move%s adeegsiga %ssubst:requested move%s' .. '</strong>' msg = string.format(msg, lb, rb, lb, rb) return msg end -- Check we are on a talk page if not title.isTalkPage then local msg = '[[Template:Requested move]] waa in lagu isticmaalo bogga wadahadalka, tusaale ahaan, [[%s:%s]]' msg = string.format(msg, mw.site.namespaces[title.namespace].talk.name, title.text) return err(msg, argsByNum, args.reason, argsByNumCount) end -- Check the arguments local currentDupes, newDupes = {}, {} for i, t in ipairs(argsByNum) do local current = t.current local new = t.new local num = t.num local validCurrent local currentTitle local subjectSpace -- Check for invalid or missing currentn parameters -- This check must come first, as mw.title.new will give an error if -- it is given invalid input. if not current then local msg = 'Cabbirka "current%d" waa maqan yahay;' .. ' fadlan ku dar ama tirtir cabbirka "new%d"' msg = string.format(msg, num, num) return err(msg, argsByNum, args.reason, argsByNumCount) end -- Get the currentn title object, and check for invalid titles. This check -- must come before the namespace and existence checks, as they will -- produce script errors if the title object doesn't exist. validCurrent, currentTitle = validateTitle(current, 'current', num) if not validCurrent then -- If invalid, the second parameter is the error message. local msg = currentTitle return err(msg, argsByNum, args.reason, argsByNumCount) end -- Category namespace check subjectSpace = mw.site.namespaces[currentTitle.namespace].subject.id if subjectSpace == 14 then local msg = '[[Template:Requested move]] looguma talagelin qaybaha,' .. ' eeg [[Wikipedia:Categories for discussion]]' return err(msg, argsByNum, args.reason, argsByNumCount) -- File namespace check elseif subjectSpace == 6 then local msg = '[[Template:Requested move]] looguma talagelin faylasha;' .. ' eeg [[Wikipedia:Moving a page#Moving a file page]]' .. ' (oo la beddelkeeda isticmaal [[Template:Rename media]])' return err(msg, argsByNum, args.reason, argsByNumCount) -- Draft and User namespace check elseif subjectSpace == 2 or subjectSpace == 118 then local msg = '[[Template:Requested move]] looguma talagelin in laga guuro meelaha qabyo-qoraalka ah ama isticmaalaha.' .. '<br>Haddii aad rabto inaad soo gudbiso qabyo-qoraalkaaga si loo eego, ku dar <code>{{tlf|subst:submit}}</code>' .. 'xagga sare ee bogga.' .. '<br>Haddii kale, eeg tilmaamaha [[Help:How to move a page]].' .. '<br>Haddii aadan adigu dhaqaajin karin, eeg [[Wikipedia:Requested moves#Requesting technical moves|Codsashada dhaqaaqyada farsamada]].' return err(msg, argsByNum, args.reason, argsByNumCount) end -- Request to move a single page must be placed on that page's talk, or the page it redirects to if not multi and args.current1 ~= title.subjectPageTitle.prefixedText then local idealpage = mw.title.new(args.current1).talkPageTitle local rtarget = mRedirect.getTarget(idealpage) if rtarget == title.prefixedText then multi = true else local msg = 'Codsiga ah in la guuro hal bog waa in lagu rakibaa bogga wadahadalka ee boggaas ama bogga uu ku sii leexiyo' return err(msg, argsByNum, args.reason, argsByNumCount) end end -- Check for non-existent titles. if not currentTitle.exists then local msg = 'Waa inaad abuurtaa [[:%s]] ka hor intaanad codsan in la guuro' msg = string.format(msg, current) return err(msg, argsByNum, args.reason, argsByNumCount) end -- Check for duplicate current titles -- We know the id isn't zero because we have already checked for -- existence. local currentId = currentTitle.id if currentDupes[currentId] then local msg = 'Waxaa la helay cinwaan labanlaab ah ("' .. currentTitle.prefixedText .. '"); lama guurin karo hal bog oo loo kala qaadayo laba meelood oo kala duwan' return err(msg, argsByNum, args.reason, argsByNumCount) else currentDupes[currentId] = true end -- Check for invalid new titles. This check must come before the -- duplicate title check for new titles, as it will produce a script -- error if the title object doesn't exist. local validNew, newTitle = validateTitle( new, multi and 'new' or firstNewParamPrefix, num ) if not validNew then -- If invalid, the second parameter is the error message. local msg = newTitle return err(msg, argsByNum, args.reason, argsByNumCount) end -- Check for duplicate new titles. -- We can't use the page_id, as new pages might not exist, and therefore -- multiple pages may have an id of 0. Use the prefixedText as a -- reasonable fallback. We also need to check that we aren't using the -- default new page name, as we don't want it to be treated as a duplicate -- page if more than one new page name has been omitted. local newPrefixedText = newTitle.prefixedText if newPrefixedText ~= defaultNewPagename then if newDupes[newPrefixedText] then local msg = 'Waxaa la helay cinwaan labanlaab ah ("' .. newTitle.prefixedText .. '"); lama guurin karo laba bog oo kala duwan isla meeshaas' return err(msg, argsByNum, args.reason, argsByNumCount) else newDupes[newPrefixedText] = true end end end ---------------------------------------------------------------------------- -- Check for page protection ---------------------------------------------------------------------------- local highestProtection = '' local protectedTitle = '' -- Checking page protection requires use of .protectionLevels(), one of the -- "expensive" parser functions, which stop working after 500 uses total. -- Without some limit set, this starts breaking near 250 distinct titles. local titleLimit = 80 local titlesChecked = 0 local titles = {} -- Consolidate duplicate titles (i.e., when moving A to B and B to C) for i = 1,argsByNumCount do titles[mw.title.new(argsByNum[i]['current'])] = true titles[mw.title.new(argsByNum[i]['new'])] = true end -- Check each title t, while ignoring the "true" value for t, _ in pairs(titles) do if titlesChecked < titleLimit then local levels = t.protectionLevels titlesChecked = titlesChecked + 1 local levelMove = levels['move'] and levels['move'][1] local levelEdit = levels['edit'] and levels['edit'][1] local levelCreate = levels['create'] and levels['create'][1] if levelMove == 'sysop' or levelEdit == 'sysop' or levelEdit == 'editprotected' or levelCreate == 'sysop' then highestProtection = 'sysop' protectedTitle = tostring(t) break elseif levelMove == 'templateeditor' or levelEdit == 'templateeditor' or levelCreate == 'templateeditor' then highestProtection = 'templateeditor' protectedTitle = tostring(t) end else -- End the "for" loop if the titleLimit is reached break end end ---------------------------------------------------------------------------- -- Generate the heading ---------------------------------------------------------------------------- -- For custom values of |heading=, use those. -- For |heading=no, |heading=n, etc., don't include a heading. -- Otherwise use the current date as a heading. local heading = args.heading or args.header local useHeading = yesno(heading, heading) if heading and useHeading == heading then heading = '== ' .. heading .. ' ==\n\n' elseif useHeading == false then heading = '' else local lang = mw.language.getContentLanguage() local headingDate = lang:formatDate('j F Y') heading = '== Codsiga guuritaanka ' .. headingDate .. ' ==\n\n' end ---------------------------------------------------------------------------- -- Build the {{requested move/dated}} invocation ---------------------------------------------------------------------------- local rmd = {} rmd[#rmd + 1] = '{{requested move/dated' if multi then rmd[#rmd + 1] = '|multiple=yes' rmd[#rmd + 1] = '\n|current1=' .. argsByNum[1].current end --[[ -- The first new title. This is used both by single and by multi; for single -- it is the only parameter used. For single the parameter name is the first -- positional parameter, and for multi the parameter name is "new1". --]] local new1param = multi and 'new1=' or '' rmd[#rmd + 1] = '|' .. new1param .. argsByNum[1].new -- Add more arguments for multi. if multi then for i = 2, argsByNumCount do local t = argsByNum[i] local numString = tostring(i) local current = t.current local new = t.new rmd[#rmd + 1] = '|current' .. numString .. '=' .. current rmd[#rmd + 1] = '|new' .. numString .. '=' .. new end end -- Highest page protection (if admin or template-editor) if highestProtection == 'sysop' or highestProtection == 'templateeditor' then rmd[#rmd + 1] = '|protected=' .. protectedTitle end -- Pass through demo=yes to the if args.demo ~= nil then rmd[#rmd + 1] = '|demo=' rmd[#rmd + 1] = args.demo end -- The old multi template always has a bar before the closing curly -- braces, so we will do that too. if multi then rmd[#rmd + 1] = '|' end rmd[#rmd + 1] = '}}' rmd = table.concat(rmd) ---------------------------------------------------------------------------- -- Generate the list of links to the pages to be moved ---------------------------------------------------------------------------- local linkList = {} for i, t in ipairs(argsByNum) do local current = t.current local new = t.new local msg = '\n%s[[:%s]] → ' if new ~= defaultNewPagename then msg = msg .. '{{no redirect|%s}}' else msg = msg .. '%s' end local item = string.format( msg, multi and '* ' or '', -- Don't make a list for single page moves. current, new ) linkList[#linkList + 1] = item end linkList = table.concat(linkList) ---------------------------------------------------------------------------- -- Reason and talk blurb ---------------------------------------------------------------------------- -- Reason local reason = args.reason or args[2] or 'Fadlan halkan ku qor sababta aad u jeedinayso in la guuro.' reason = '– ' .. reason if yesno(args.sign or args.sig or args.signature or 'unspecified', not reason:match("~~~$")) then reason = reason .. ' ~~~~' end -- Talk blurb local talk = '' if yesno(args.talk, true) then talk = frame:expandTemplate{title = 'Requested move/talk'} end ---------------------------------------------------------------------------- -- Assemble the output ---------------------------------------------------------------------------- -- The old templates start with a line break, so we will do that too. local ret = string.format( '\n%s%s\n%s%s%s%s', heading, rmd, linkList, multi and '\n' or ' ', reason, talk ) return ret end return p 24xcwb4y65l9qfdke7thqhluen9ewaa 309732 309728 2026-09-26T13:55:46Z Isma4l 41797 309732 Scribunto text/plain -- This module implements {{requested move}}. -- Load necessary modules local getArgs = require('Module:Arguments').getArgs local tableTools = require('Module:TableTools') local yesno = require('Module:Yesno') local mRedirect = require('Module:Redirect') -- Set static values local defaultNewPagename = '?' -- Name of new pages that haven't been specified local p = {} -------------------------------------------------------------------------------- -- Helper functions -------------------------------------------------------------------------------- local function err(msg, numargs, reason, count) -- Generates a wikitext error message local commented = '<!-- {{subst:requested move|' if count ~= 1 then commented = commented .. 'new1=' end commented = commented .. numargs[1]['new'] for i = 2,count do commented = commented .. string.format('|current%i=%s', i, (numargs[i]['current'] or '')) commented = commented .. string.format('|new%i=%s', i, (numargs[i]['new'] or '')) end if reason then commented = commented .. '|reason=' .. reason end commented = commented .. '}} -->' return string.format('{{error|%s}}', msg) .. commented end local function validateTitle(page, paramName, paramNum) -- Validates a page name, and if it is valid, returns true and the title -- object for that page. If it is not valid, returns false and the -- appropriate error message. -- Check for a small subset of characters that cannot be used in MediaWiki -- titles. For the full set of restrictions, see -- [[Wikipedia:Page name#Technical restrictions and limitations]]. This is -- also covered by the invalid title check, but with this check we can give -- a more specific error message. local invalidChar = page:match('[#<>%[%]|{}]') if invalidChar then local msg = 'Calaamad aan ansax ahayn "' .. invalidChar .. '" ayaa laga helay barafka "' .. paramName .. paramNum .. '" parameter' return false, msg end -- Get the title object. This also checks for invalid titles that aren't -- covered by the previous check. local titleObj = mw.title.new(page) if not titleObj then local msg = 'Cinwaan aan ansax ahayn ayaa laga dhex helay cabbirka "' .. paramName .. paramNum .. '"; hubi [[Wikipedia:Page name#' .. 'Technical restrictions and limitations|calaamadaha aan ansaxa ahayn]]' return false, msg end -- Check for interwiki links. Titles with interwikis make valid title -- objects, but cannot be created on the local wiki. local interwiki = titleObj.interwiki if interwiki and interwiki ~= '' then local msg = 'Cinwaan aan ansax ahayn ayaa laga dhex helay cabbirka "' .. paramName .. paramNum .. '"; wuxuu leeyahay [[Help:Interwiki linking|Hordhaca interwiki]] "' .. titleObj.interwiki .. ':"' return false, msg end return true, titleObj end -------------------------------------------------------------------------------- -- Validate title entry point (used at [[Template:RMassist/core]]) -------------------------------------------------------------------------------- function p.validateTitle(frame) local value = frame.args[1] local validTitle, currentTitle = validateTitle(value or '', '1', '') if not validTitle then -- If invalid, the second parameter is the error message. return currentTitle end return 'yes' end -------------------------------------------------------------------------------- -- Confirm protection levels (used at [[Template:Requested move/dated]]) -------------------------------------------------------------------------------- function p.protected(frame) local args = getArgs(frame, {parentOnly = true}) if args.protected then local levels = mw.title.new(args.protected).protectionLevels local levelMove = levels['move'] and levels['move'][1] local levelEdit = levels['edit'] and levels['edit'][1] local levelCreate = levels['create'] and levels['create'][1] if levelMove == 'sysop' or levelEdit == 'sysop' or levelEdit == 'editprotected' or levelCreate == 'sysop' then return 'sysop' elseif levelMove == 'templateeditor' or levelEdit == 'templateeditor' or levelCreate == 'templateeditor' then return 'templateeditor' end end end -------------------------------------------------------------------------------- -- Main function -------------------------------------------------------------------------------- function p.main(frame) ---------------------------------------------------------------------------- -- Initialise variables and preprocess the arguments ---------------------------------------------------------------------------- local args = getArgs(frame, {parentOnly = true}) local title = mw.title.getCurrentTitle() --[[ -- To iterate over the current1, new1, current2, new2, ... arguments -- we get an array of tables sorted by number and compressed so that -- it can be traversed with ipairs. The table format looks like this: -- { -- {current = x, new = y, num = 1}, -- {current = z, new = q, num = 2}, -- ... -- } -- The "num" field is used to correctly preserve the number of the parameter -- that was used, in case users skip any numbers in the invocation. -- -- The current1 parameter is a special case, as it does not need to be -- specified. To avoid clashes with later current parameters, we need to -- add it to the args table manually. -- -- Also, we allow the first positional parameter to be an alias for the -- new1 parameter, so that the syntax for the old templates -- {{requested move}} and {{move-multi}} will both be supported. -- -- The "multi" variable tracks whether we are using the syntax previously -- produced by {{requested move}}, or the syntax previously produced by -- {{move-multi}}. For the former, multi is false, and for the latter it is -- true. --]] if not args.current1 then args.current1 = title.subjectPageTitle.prefixedText end -- Find the first new page title, if specified, and keep a record of the -- prefix used to make it; the prefix will be used later to make error -- messages. local firstNewParam if args.new1 then firstNewParamPrefix = 'new' elseif args[1] then args.new1 = args[1] firstNewParamPrefix = '' else firstNewParamPrefix = '' end -- Build the sorted argument table. local argsByNum = {} for k, v in pairs(args) do k = tostring(k) local prefix, num = k:match('^(%l*)([1-9][0-9]*)$') if prefix == 'current' or prefix == 'new' then num = tonumber(num) local subtable = argsByNum[num] or {} subtable[prefix] = v subtable.num = num argsByNum[num] = subtable end end argsByNum = tableTools.compressSparseArray(argsByNum) -- Calculate the number of arguments and whether we are dealing with a -- multiple nomination. local argsByNumCount = #argsByNum local multi = (argsByNumCount >= 2) --[[ -- Validate new params. -- This check ensures we don't have any absent new parameters, and that -- users haven't simply copied in the values from the documentation page. --]] if multi then for i, t in ipairs(argsByNum) do local new = t.new local num = t.num if not new or new == 'New title for page ' .. tostring(num) then argsByNum[i].new = defaultNewPagename end end else local new = argsByNum[1].new if not new or new == 'NewName' then argsByNum[1].new = defaultNewPagename end end ---------------------------------------------------------------------------- -- Error checks ---------------------------------------------------------------------------- -- Subst check if not mw.isSubsting() then local lb = mw.text.nowiki('{{') local rb = mw.text.nowiki('}}') local msg = '<strong class="error">' .. 'Haddan qaab-dhismeedkan waa in la [[Wikipedia:Template substitution|beddelaa];' .. ' ku beddel %srequested move%s adeegsiga %ssubst:requested move%s' .. '</strong>' msg = string.format(msg, lb, rb, lb, rb) return msg end -- Check we are on a talk page if not title.isTalkPage then local msg = '[[Template:Requested move]] waa in lagu isticmaalo bogga wadahadalka, tusaale ahaan, [[%s:%s]]' msg = string.format(msg, mw.site.namespaces[title.namespace].talk.name, title.text) return err(msg, argsByNum, args.reason, argsByNumCount) end -- Check the arguments local currentDupes, newDupes = {}, {} for i, t in ipairs(argsByNum) do local current = t.current local new = t.new local num = t.num local validCurrent local currentTitle local subjectSpace -- Check for invalid or missing currentn parameters -- This check must come first, as mw.title.new will give an error if -- it is given invalid input. if not current then local msg = 'Cabbirka "current%d" waa maqan yahay;' .. ' fadlan ku dar ama tirtir cabbirka "new%d"' msg = string.format(msg, num, num) return err(msg, argsByNum, args.reason, argsByNumCount) end -- Get the currentn title object, and check for invalid titles. This check -- must come before the namespace and existence checks, as they will -- produce script errors if the title object doesn't exist. validCurrent, currentTitle = validateTitle(current, 'current', num) if not validCurrent then -- If invalid, the second parameter is the error message. local msg = currentTitle return err(msg, argsByNum, args.reason, argsByNumCount) end -- Category namespace check subjectSpace = mw.site.namespaces[currentTitle.namespace].subject.id if subjectSpace == 14 then local msg = '[[Template:Requested move]] looguma talagelin qaybaha,' .. ' eeg [[Wikipedia:Categories for discussion]]' return err(msg, argsByNum, args.reason, argsByNumCount) -- File namespace check elseif subjectSpace == 6 then local msg = '[[Template:Requested move]] looguma talagelin faylasha;' .. ' eeg [[Wikipedia:Moving a page#Moving a file page]]' .. ' (oo la beddelkeeda isticmaal [[Template:Rename media]])' return err(msg, argsByNum, args.reason, argsByNumCount) -- Draft and User namespace check elseif subjectSpace == 2 or subjectSpace == 118 then local msg = '[[Template:Requested move]] looguma talagelin in laga guuro meelaha qabyo-qoraalka ah ama isticmaalaha.' .. '<br>Haddii aad rabto inaad soo gudbiso qabyo-qoraalkaaga si loo eego, ku dar <code>{{tlf|subst:submit}}</code>' .. 'xagga sare ee bogga.' .. '<br>Haddii kale, eeg tilmaamaha [[Help:How to move a page]].' .. '<br>Haddii aadan adigu dhaqaajin karin, eeg [[Wikipedia:Requested moves#Requesting technical moves|Codsashada dhaqaaqyada farsamada]].' return err(msg, argsByNum, args.reason, argsByNumCount) end -- Request to move a single page must be placed on that page's talk, or the page it redirects to if not multi and args.current1 ~= title.subjectPageTitle.prefixedText then local idealpage = mw.title.new(args.current1).talkPageTitle local rtarget = mRedirect.getTarget(idealpage) if rtarget == title.prefixedText then multi = true else local msg = 'Codsiga ah in la guuro hal bog waa in lagu rakibaa bogga wadahadalka ee boggaas ama bogga uu ku sii leexiyo' return err(msg, argsByNum, args.reason, argsByNumCount) end end -- Check for non-existent titles. if not currentTitle.exists then local msg = 'Waa inaad abuurtaa [[:%s]] ka hor intaanad codsan in la guuro' msg = string.format(msg, current) return err(msg, argsByNum, args.reason, argsByNumCount) end -- Check for duplicate current titles -- We know the id isn't zero because we have already checked for -- existence. local currentId = currentTitle.id if currentDupes[currentId] then local msg = 'Waxaa la helay cinwaan labanlaab ah ("' .. currentTitle.prefixedText .. '"); lama guurin karo hal bog oo loo kala qaadayo laba meelood oo kala duwan' return err(msg, argsByNum, args.reason, argsByNumCount) else currentDupes[currentId] = true end -- Check for invalid new titles. This check must come before the -- duplicate title check for new titles, as it will produce a script -- error if the title object doesn't exist. local validNew, newTitle = validateTitle( new, multi and 'new' or firstNewParamPrefix, num ) if not validNew then -- If invalid, the second parameter is the error message. local msg = newTitle return err(msg, argsByNum, args.reason, argsByNumCount) end -- Check for duplicate new titles. -- We can't use the page_id, as new pages might not exist, and therefore -- multiple pages may have an id of 0. Use the prefixedText as a -- reasonable fallback. We also need to check that we aren't using the -- default new page name, as we don't want it to be treated as a duplicate -- page if more than one new page name has been omitted. local newPrefixedText = newTitle.prefixedText if newPrefixedText ~= defaultNewPagename then if newDupes[newPrefixedText] then local msg = 'Waxaa la helay cinwaan labanlaab ah ("' .. newTitle.prefixedText .. '"); lama guurin karo laba bog oo kala duwan isla meeshaas' return err(msg, argsByNum, args.reason, argsByNumCount) else newDupes[newPrefixedText] = true end end end ---------------------------------------------------------------------------- -- Check for page protection ---------------------------------------------------------------------------- local highestProtection = '' local protectedTitle = '' -- Checking page protection requires use of .protectionLevels(), one of the -- "expensive" parser functions, which stop working after 500 uses total. -- Without some limit set, this starts breaking near 250 distinct titles. local titleLimit = 80 local titlesChecked = 0 local titles = {} -- Consolidate duplicate titles (i.e., when moving A to B and B to C) for i = 1,argsByNumCount do titles[mw.title.new(argsByNum[i]['current'])] = true titles[mw.title.new(argsByNum[i]['new'])] = true end -- Check each title t, while ignoring the "true" value for t, _ in pairs(titles) do if titlesChecked < titleLimit then local levels = t.protectionLevels titlesChecked = titlesChecked + 1 local levelMove = levels['move'] and levels['move'][1] local levelEdit = levels['edit'] and levels['edit'][1] local levelCreate = levels['create'] and levels['create'][1] if levelMove == 'sysop' or levelEdit == 'sysop' or levelEdit == 'editprotected' or levelCreate == 'sysop' then highestProtection = 'sysop' protectedTitle = tostring(t) break elseif levelMove == 'templateeditor' or levelEdit == 'templateeditor' or levelCreate == 'templateeditor' then highestProtection = 'templateeditor' protectedTitle = tostring(t) end else -- End the "for" loop if the titleLimit is reached break end end ---------------------------------------------------------------------------- -- Generate the heading ---------------------------------------------------------------------------- -- For custom values of |heading=, use those. -- For |heading=no, |heading=n, etc., don't include a heading. -- Otherwise use the current date as a heading. local heading = args.heading or args.header local useHeading = yesno(heading, heading) if heading and useHeading == heading then heading = '== ' .. heading .. ' ==\n\n' elseif useHeading == false then heading = '' else local lang = mw.language.getContentLanguage() local headingDate = lang:formatDate('j F Y') heading = '== Codsiga wareejinta ' .. headingDate .. ' ==\n\n' end ---------------------------------------------------------------------------- -- Build the {{requested move/dated}} invocation ---------------------------------------------------------------------------- local rmd = {} rmd[#rmd + 1] = '{{requested move/dated' if multi then rmd[#rmd + 1] = '|multiple=yes' rmd[#rmd + 1] = '\n|current1=' .. argsByNum[1].current end --[[ -- The first new title. This is used both by single and by multi; for single -- it is the only parameter used. For single the parameter name is the first -- positional parameter, and for multi the parameter name is "new1". --]] local new1param = multi and 'new1=' or '' rmd[#rmd + 1] = '|' .. new1param .. argsByNum[1].new -- Add more arguments for multi. if multi then for i = 2, argsByNumCount do local t = argsByNum[i] local numString = tostring(i) local current = t.current local new = t.new rmd[#rmd + 1] = '|current' .. numString .. '=' .. current rmd[#rmd + 1] = '|new' .. numString .. '=' .. new end end -- Highest page protection (if admin or template-editor) if highestProtection == 'sysop' or highestProtection == 'templateeditor' then rmd[#rmd + 1] = '|protected=' .. protectedTitle end -- Pass through demo=yes to the if args.demo ~= nil then rmd[#rmd + 1] = '|demo=' rmd[#rmd + 1] = args.demo end -- The old multi template always has a bar before the closing curly -- braces, so we will do that too. if multi then rmd[#rmd + 1] = '|' end rmd[#rmd + 1] = '}}' rmd = table.concat(rmd) ---------------------------------------------------------------------------- -- Generate the list of links to the pages to be moved ---------------------------------------------------------------------------- local linkList = {} for i, t in ipairs(argsByNum) do local current = t.current local new = t.new local msg = '\n%s[[:%s]] → ' if new ~= defaultNewPagename then msg = msg .. '{{no redirect|%s}}' else msg = msg .. '%s' end local item = string.format( msg, multi and '* ' or '', -- Don't make a list for single page moves. current, new ) linkList[#linkList + 1] = item end linkList = table.concat(linkList) ---------------------------------------------------------------------------- -- Reason and talk blurb ---------------------------------------------------------------------------- -- Reason local reason = args.reason or args[2] or 'Fadlan halkan ku qor sababta aad u jeedinayso in la guuro.' reason = '– ' .. reason if yesno(args.sign or args.sig or args.signature or 'unspecified', not reason:match("~~~$")) then reason = reason .. ' ~~~~' end -- Talk blurb local talk = '' if yesno(args.talk, true) then talk = frame:expandTemplate{title = 'Requested move/talk'} end ---------------------------------------------------------------------------- -- Assemble the output ---------------------------------------------------------------------------- -- The old templates start with a line break, so we will do that too. local ret = string.format( '\n%s%s\n%s%s%s%s', heading, rmd, linkList, multi and '\n' or ' ', reason, talk ) return ret end return p iweuvn5kx00oeetobtq8sbpjyusaoxe Template:Require substitution 10 53315 309720 2026-09-26T13:07:24Z Isma4l 41797 /* */ 309720 wikitext text/x-wiki <includeonly>{{ {{{|safesubst:}}}#if:{{{nosubst|{{{subst|}}}}}}{{ {{{|safesubst:}}}issubst}} | {{{1|}}} | {{ {{{|safesubst:}}}error | Qaab-dhismeedkan waa in la [[Wikipedia:Template substitution|beddelaa (subst)]]{{ #if:{{{template|}}} |. Ku beddel <nowiki>{{</nowiki>{{{template}}} ...<nowiki>}} leh {{</nowiki>subst:{{{template}}} ...<nowiki>}}</nowiki> }}.}} }}</includeonly><noinclude>{{documentation}}</noinclude> rk81c3g1f2tuqmty402fac2dr0np9nt Template:Require subst 10 53316 309721 2026-09-26T13:08:25Z Isma4l 41797 /* */ 309721 wikitext text/x-wiki #REDIRECT [[Template:Require substitution]] 33jr8w1ff2mkbvvydtb68q19r06h3x6 Template:Substitution 10 53317 309722 2026-09-26T13:10:40Z Isma4l 41797 /* */ 309722 wikitext text/x-wiki {{safesubst:<noinclude />#invoke: Unsubst||$B= {{Ombox | style = text-align: center; | type = notice | text = Tusmadaan '''waa in {{{1}}} la [[Wikipedia:Substitution|beddelaa ]]'''{{#if:{{{2|}}}|&#32;{{{2}}}}}.}} }}<noinclude> {{Documentation}} </noinclude> ec910ijsxmxb6hklabg40xp9tyufg6x Template:Comment 10 53318 309723 2026-09-26T13:11:55Z Isma4l 41797 Bog cusub: {{Respond|greyexclamation|{{{1|Faallo:}}}}}<noinclude> {{documentation}} </noinclude> 309723 wikitext text/x-wiki {{Respond|greyexclamation|{{{1|Faallo:}}}}}<noinclude> {{documentation}} </noinclude> 1wy4pxy8v7dk5xggiuk6dzqdpgp6gv1 Template:Merge done 10 53319 309724 2026-09-26T13:13:42Z Isma4l 41797 /* */ 309724 wikitext text/x-wiki <span class="nowrap">[[File:Merge-arrows.svg|Merge arrows|32px|link=|alt=]]&nbsp;&nbsp;{{{{{|safesubst:}}}tick|18}} '''[[Wikipedia:Merging|Isku darka]] waa la dhammeeyey'''</span>{{#if:{{{1|}}}|&zwj;''':''' <small>{{{1}}}</small>|}}<noinclude> {{documentation}} </noinclude> e1det69yugt4xcfv5g1v3a8n7kbgmu3 Template:Question 10 53320 309725 2026-09-26T13:15:32Z Isma4l 41797 /* */ 309725 wikitext text/x-wiki <span class="nowrap">[[File:Symbol question.svg|20px|link=|alt=]] '''{{{label|Su'aal}}}:'''</span>{{{{{|safesubst:}}}#if:{{{1|}}}|&nbsp;{{{1}}}}}<noinclude>{{documentation}} [[Category:Template-yada sawirka wata faallooyinka]] [[Category:Template-yada maamulka Wikipedia]] </noinclude> qiueef3h96oggdpm0a85tegxgnbhq4a Template:Withdrawn 10 53321 309726 2026-09-26T13:17:22Z Isma4l 41797 /* */ 309726 wikitext text/x-wiki [[File:Cancelled process mini.svg|200x20px|alt=icon]]&nbsp;'''{{{1|Codsigii waa laga noqday}}}'''<noinclude>{{Documentation}}</noinclude> maik5ar4ek1kvt5536265efnc8ba0bm Template:Requested move/dated 10 53322 309729 2026-09-26T13:43:02Z Isma4l 41797 /* */ 309729 wikitext text/x-wiki {{ {{{|safesubst:}}}ifsubst| {{error|Haku beddelin subst {{tlx|Requested move/dated}}. Eeg [[WP:RM/CM]] si aad u hesho tilmaamaha ku saabsan sida loo codsado wareejinta.}}[[Category:Bogag ay ku jiraan template-yo si khaldan loo beddelay (subst)]] | <!--the #reqmovetag anchor is added via a span tag similar to how {{Rfctag}} adds #rfctag so that the ombox can be "section"-linked to without necessarily knowing the sub-section's name--> <span id{{=}}"requestedmovetag"></span><span id{{=}}"reqmovetag"></span>{{#switch:{{SUBJECTSPACE}} |Category={{error|[[Template:Requested move/dated]] looguma talagelin qaybaha. Halkaas waxaa beddelkeeda ah [[Wikipedia:Categories for discussion]]}} |File={{error|[[Template:Requested move/dated]] looguma talagelin faylasha, eeg [[Wikipedia:Moving a page#Moving a file page]] (oo la beddelkeeda isticmaal [[template:Rename media]])}} |User={{error|[[Template:Requested move/dated]] looguma talagelin in laga wareejiyo meelaha isticmaalaha, eeg [[Wikipedia:Articles for creation]] (oo halkaas la beddelkeeda isticmaal {{tls|submit}}), ama [[Help:How to move a page|adigu u wareejiso]]}} |Wikipedia={{#ifeq:{{BASEPAGENAME}}|Requested moves/Log||{{check talk}}}} |#default={{check talk}} }} {{#ifeq:{{BASEPAGENAME}}|Requested moves/Log|----<br><!--don't show the template on Requested moves/Log pages-->| {{#ifeq:{{{multiple}}}|yes|{{#ifeq:{{{new1|}}}||{{error|Cabbirka ''new1'' waa in la cayimaa}}||}}|}} {{Tmbox |imageright = {{#ifeq:{{{{{#ifeq:{{{multiple}}}|yes|new1|1}}|}}}|? |[[File:Symbol question.svg|40px]] }} |type = move |text = {{#ifeq:{{{new1|{{{1}}}}}}|{{SUBJECTPAGENAME}} |'''Codsigii ahaa in maqaalkan loo beddelo [[{{{new1|{{{1}}}}}}]] waa la fuliyay.''' ---- Haddii ciwaanka boggu leeyahay is afgarad, hubi inaad xirto wadahadalkan adoo isticmaalaya {{nowrap|{{tlsx|RM top|<nowiki>'''</nowiki>bogii waa la wareejiyay<nowiki>'''</nowiki>.}}}} iyo {{nowrap|{{tlsx|RM bottom}}}} isla markaana aad ka saarto calaamadda {{nowrap|{{tlx|Requested move/dated|…}}}} ama aad ku beddesho calaamadda {{nowrap|{{tls|Requested move/end|…}}}}.{{category handler|all=[[Category:Codsiyada wareejinta bogagga ee la fuliyay]]|nocat={{#ifeq:{{{demo|<noinclude>yes</noinclude>}}}|yes|true}}}} |<div style="display: flex; align-items: center"><div style="flex: 1">'''Waxaa qaybtan lagu soo jeediyay in {{#ifeq:{{{multiple}}}|yes|{{#ifeq:{{{current2|}}}||[[:{{{current1|}}}]]|bogaag badan}}|[[:{{ARTICLEPAGENAME}}]]}} la [[Wikipedia:Moving a page|magacaabo oo loo wareejiyo]]{{#ifeq:{{{{{#ifeq:{{{multiple}}}|yes|new1|1}}|}}}|?|&#32;meel kale, iyadoo magaca{{#ifeq:{{{multiple}}}|yes|s|}} laga go'aan gaari doono hoos|{{#ifeq:{{{multiple}}}|yes||&#32;ama dib loo magacaabo [[WP:Namespace|meel magaca ]] ee {{#ifeq:{{{NAMESPACE:{{{1}}}}}||(Main/Article)|{{NAMESPACE:{{{1}}}}}}}.}}''</small>}}}}}}</div>{{#switch:{{{protected|}}} ||no = <!-- catches empty and "no" --> |#default = {{category handler|all=[[Category:Requested moves with protected titles]]|nocat={{#ifeq:{{{demo|<noinclude>yes</noinclude>}}}|yes|true}}}}<div>{{#switch:{{#invoke:requested move|protected|{{{protected|}}}}}|templateeditor=[[File:Template-protection-shackle.svg|30px|link=Wikipedia:Template protection]]|sysop=[[File:Move-protection-shackle.svg|30px|link=Wikipedia:Move protection]]|#default=}}</div> }}</div> ---- Bot-ka [[Wikipedia:Requested moves|codsiyada wareejinta]] ayaa soo bandhigi doona wadahadalkan gudaha [[Wikipedia:Requested moves/Current discussions|hoosaadka]] wada xaajoodyada taagan saacad gudahood inta la gelinayo calaamaddan. Wadahadalka waxaa lagu xiri karaa 7 maalmood ka dib markii la furo, haddii la gaaro isku raac (eeg [[Wikipedia:Requested moves/Closing instructions|tilmaamaha xiritaanka]]). Fadlan doodaha ku salee [[Wikipedia:Article titles#Deciding on an article title|siyaasadda ciwaannada maqaallada]], oo doodda ka dhig mid [[Wikipedia:Too long; didn't read|kooban]] oo [[Wikipedia:Civility|ilbax ah]]. ---- <small style="line-height:1.2em;">''Fadlan isticmaal {{Tlxs|requested move}}. Ha '''ha''' isticmaalin {{Tlx|requested move/dated}} si toos ah.''</small>{{#ifeq:{{{multiple}}}|yes| <div class="floatright"><small style="line-height:1.2em;">''Xiriirinta:'' [{{fullurl:Special:Log/move|page={{Urlencode:{{{current1}}}}}}} diiwaanka taagan] {{#ifeq:{{{new1}}}|?|| • [{{fullurl:Special:Log/move|page={{Urlencode:{{{new1}}}}}}} diiwaanka bartilmaameedka] • [{{fullurl:Special:MovePage|wpOldTitle={{Urlencode:{{{current1}}}}}&wpNewTitle={{Urlencode:{{{new1}}}}}&wpReason={{Urlencode:[[Wikipedia:Requested moves|wareejin la codsaday]]; eeg [[{{TALKPAGENAME:{{{new1}}}}}]]}}&wpMovetalk=1}} guuritaan toos ah]}}</small></div> | <div class="floatright"><small style="line-height:1.2em;">''Xiriirinta:'' [{{fullurl:Special:Log/move|page={{Urlencode:{{ARTICLEPAGENAME}}}}}} diiwaanka taagan] {{#ifeq:{{{1}}}|?|| • [{{fullurl:Special:Log/move|page={{Urlencode:{{{1}}}}}}} diiwaanka bartilmaameedka] • [{{fullurl:Special:MovePage|wpOldTitle={{Urlencode:{{ARTICLEPAGENAME}}}}&wpNewTitle={{Urlencode:{{{1}}}}}&wpReason={{Urlencode:[[Wikipedia:Requested moves|wareejin la codsaday]]; eeg [[{{TALKPAGENAME:{{{1}}}}}]]}}&wpMovetalk=1}} guuritaan toos ah]}}</small></div>}} }}{{category handler |all=[[Category:Codsiyada guuritaanka|{{{sort|}}}{{PAGENAME}}]] |nocat={{#ifeq:{{{demo|<noinclude>yes</noinclude>}}}|yes|true}} |category2={{{category|¬}}} }} }} }} }}<noinclude> {{documentation}} <!-- Categories go on the /doc subpage, and interwikis go on Wikidata. --> </noinclude> 9ixc5z9rhlm7pesghuqrpe41hfkd0q3 309730 309729 2026-09-26T13:44:22Z Isma4l 41797 /* */ 309730 wikitext text/x-wiki {{ {{{|safesubst:}}}ifsubst| {{error|Haku beddelin subst {{tlx|Requested move/dated}}. Eeg [[WP:RM/CM]] si aad u hesho tilmaamaha ku saabsan sida loo codsado wareejinta.}}[[Category:Bogag ay ku jiraan template-yo si khaldan loo beddelay (subst)]] | <!--the #reqmovetag anchor is added via a span tag similar to how {{Rfctag}} adds #rfctag so that the ombox can be "section"-linked to without necessarily knowing the sub-section's name--> <span id{{=}}"requestedmovetag"></span><span id{{=}}"reqmovetag"></span>{{#switch:{{SUBJECTSPACE}} |Category={{error|[[Template:Requested move/dated]] looguma talagelin qaybaha. Halkaas waxaa beddelkeeda ah [[Wikipedia:Categories for discussion]]}} |File={{error|[[Template:Requested move/dated]] looguma talagelin faylasha, eeg [[Wikipedia:Moving a page#Moving a file page]] (oo la beddelkeeda isticmaal [[template:Rename media]])}} |User={{error|[[Template:Requested move/dated]] looguma talagelin in laga wareejiyo meelaha isticmaalaha, eeg [[Wikipedia:Articles for creation]] (oo halkaas la beddelkeeda isticmaal {{tls|submit}}), ama [[Help:How to move a page|adigu u wareejiso]]}} |Wikipedia={{#ifeq:{{BASEPAGENAME}}|Requested moves/Log||{{check talk}}}} |#default={{check talk}} }} {{#ifeq:{{BASEPAGENAME}}|Requested moves/Log|----<br><!--don't show the template on Requested moves/Log pages-->| {{#ifeq:{{{multiple}}}|yes|{{#ifeq:{{{new1|}}}||{{error|Cabbirka ''new1'' waa in la cayimaa}}||}}|}} {{Tmbox |imageright = {{#ifeq:{{{{{#ifeq:{{{multiple}}}|yes|new1|1}}|}}}|? |[[File:Symbol question.svg|40px]] }} |type = move |text = {{#ifeq:{{{new1|{{{1}}}}}}|{{SUBJECTPAGENAME}} |'''Codsigii ahaa in maqaalkan loo beddelo [[{{{new1|{{{1}}}}}}]] waa la fuliyay.''' ---- Haddii ciwaanka boggu leeyahay is afgarad, hubi inaad xirto wadahadalkan adoo isticmaalaya {{nowrap|{{tlsx|RM top|<nowiki>'''</nowiki>bogii waa la wareejiyay<nowiki>'''</nowiki>.}}}} iyo {{nowrap|{{tlsx|RM bottom}}}} isla markaana aad ka saarto calaamadda {{nowrap|{{tlx|Requested move/dated|…}}}} ama aad ku beddesho calaamadda {{nowrap|{{tls|Requested move/end|…}}}}.{{category handler|all=[[Category:Codsiyada wareejinta bogagga ee la fuliyay]]|nocat={{#ifeq:{{{demo|<noinclude>yes</noinclude>}}}|yes|true}}}} |<div style="display: flex; align-items: center"><div style="flex: 1">'''Waxaa qaybtan lagu soo jeediyay in {{#ifeq:{{{multiple}}}|yes|{{#ifeq:{{{current2|}}}||[[:{{{current1|}}}]]|bogaag badan}}|[[:{{ARTICLEPAGENAME}}]]}} la [[Wikipedia:Moving a page|magacaabo oo loo wareejiyo]]{{#ifeq:{{{{{#ifeq:{{{multiple}}}|yes|new1|1}}|}}}|?|&#32;meel kale, iyadoo magaca{{#ifeq:{{{multiple}}}|yes|s|}} laga go'aan gaari doono hoos|{{#ifeq:{{{multiple}}}|yes||&#32;ama dib loo magacaabo [[WP:Namespace|meel magaca ]] ee {{#ifeq:{{{NAMESPACE:{{{1}}}}}||(Main/Article)|{{NAMESPACE:{{{1}}}}}}}.}}''</small>}}}}}}</div>{{#switch:{{{protected|}}} ||no = <!-- catches empty and "no" --> |#default = {{category handler|all=[[Category:Requested moves with protected titles]]|nocat={{#ifeq:{{{demo|<noinclude>yes</noinclude>}}}|yes|true}}}}<div>{{#switch:{{#invoke:requested move|protected|{{{protected|}}}}}|templateeditor=[[File:Template-protection-shackle.svg|30px|link=Wikipedia:Template protection]]|sysop=[[File:Move-protection-shackle.svg|30px|link=Wikipedia:Move protection]]|#default=}}</div> }}</div> ---- Bot-ka [[Wikipedia:Requested moves|codsiyada wareejinta]] ayaa soo bandhigi doona wadahadalkan gudaha [[Wikipedia:Requested moves/Current discussions|hoosaadka]] wada xaajoodyada taagan saacad gudahood inta la gelinayo calaamaddan. Wadahadalka waxaa lagu xiri karaa 7 maalmood ka dib markii la furo, haddii la gaaro isku raac (eeg [[Wikipedia:Requested moves/Closing instructions|tilmaamaha xiritaanka]]). Fadlan doodaha ku salee [[Wikipedia:Article titles#Deciding on an article title|siyaasadda ciwaannada maqaallada]], oo doodda ka dhig mid [[Wikipedia:Too long; didn't read|kooban]] oo [[Wikipedia:Civility|ilbax ah]]. ---- <small style="line-height:1.2em;">''Fadlan isticmaal {{Tlxs|requested move}}. Ha '''ha''' isticmaalin {{Tlx|requested move/dated}} si toos ah.''</small>{{#ifeq:{{{multiple}}}|yes| <div class="floatright"><small style="line-height:1.2em;">''Xiriirinta:'' [{{fullurl:Special:Log/move|page={{Urlencode:{{{current1}}}}}}} diiwaanka taagan] {{#ifeq:{{{new1}}}|?|| • [{{fullurl:Special:Log/move|page={{Urlencode:{{{new1}}}}}}} diiwaanka bartilmaameedka] • [{{fullurl:Special:MovePage|wpOldTitle={{Urlencode:{{{current1}}}}}&wpNewTitle={{Urlencode:{{{new1}}}}}&wpReason={{Urlencode:[[Wikipedia:Requested moves|wareejin la codsaday]]; eeg [[{{TALKPAGENAME:{{{new1}}}}}]]}}&wpMovetalk=1}} guuritaan toos ah]}}</small></div> | <div class="floatright"><small style="line-height:1.2em;">''Xiriirinta:'' [{{fullurl:Special:Log/move|page={{Urlencode:{{ARTICLEPAGENAME}}}}}} diiwaanka taagan] {{#ifeq:{{{1}}}|?|| • [{{fullurl:Special:Log/move|page={{Urlencode:{{{1}}}}}}} diiwaanka bartilmaameedka] • [{{fullurl:Special:MovePage|wpOldTitle={{Urlencode:{{ARTICLEPAGENAME}}}}&wpNewTitle={{Urlencode:{{{1}}}}}&wpReason={{Urlencode:[[Wikipedia:Requested moves|wareejin la codsaday]]; eeg [[{{TALKPAGENAME:{{{1}}}}}]]}}&wpMovetalk=1}} guuritaan toos ah]}}</small></div>}} }}{{category handler |all=[[Category:Codsiyada guuritaanka|{{{sort|}}}{{PAGENAME}}]] |nocat={{#ifeq:{{{demo|<noinclude>yes</noinclude>}}}|yes|true}} |category2={{{category|¬}}} }} }} }} }}<noinclude> {{documentation}} <!-- Categories go on the /doc subpage, and interwikis go on Wikidata. --> </noinclude> 7b9yapcrwkmqcooans9k7okh9hibw5u 309731 309730 2026-09-26T13:48:21Z Isma4l 41797 /* */ 309731 wikitext text/x-wiki {{ {{{|safesubst:}}}ifsubst| {{error|Haku beddelin subst {{tlx|Requested move/dated}}. Eeg [[WP:RM/CM]] si aad u hesho tilmaamaha ku saabsan sida loo codsado wareejinta.}}[[Category:Bogag ay ku jiraan template-yo si khaldan loo beddelay (subst)]] | <!--the #reqmovetag anchor is added via a span tag similar to how {{Rfctag}} adds #rfctag so that the ombox can be "section"-linked to without necessarily knowing the sub-section's name--> <span id{{=}}"requestedmovetag"></span><span id{{=}}"reqmovetag"></span>{{#switch:{{SUBJECTSPACE}} |Category={{error|[[Template:Requested move/dated]] looguma talagelin qaybaha. Halkaas waxaa beddelkeeda ah [[Wikipedia:Categories for discussion]]}} |File={{error|[[Template:Requested move/dated]] looguma talagelin faylasha, eeg [[Wikipedia:Moving a page#Moving a file page]] (oo la beddelkeeda isticmaal [[template:Rename media]])}} |User={{error|[[Template:Requested move/dated]] looguma talagelin in laga wareejiyo meelaha isticmaalaha, eeg [[Wikipedia:Articles for creation]] (oo halkaas la beddelkeeda isticmaal {{tls|submit}}), ama [[Help:How to move a page|adigu u wareejiso]]}} |Wikipedia={{#ifeq:{{BASEPAGENAME}}|Requested moves/Log||{{check talk}}}} |#default={{check talk}} }} {{#ifeq:{{BASEPAGENAME}}|Requested moves/Log|----<br><!--don't show the template on Requested moves/Log pages-->| {{#ifeq:{{{multiple}}}|yes|{{#ifeq:{{{new1|}}}||{{error|Cabbirka ''new1'' waa in la cayimaa}}||}}|}} {{Tmbox |imageright = {{#ifeq:{{{{{#ifeq:{{{multiple}}}|yes|new1|1}}|}}}|? |[[File:Symbol question.svg|40px]] }} |type = move |text = {{#ifeq:{{{new1|{{{1}}}}}}|{{SUBJECTPAGENAME}} |'''Codsigii ahaa in maqaalkan loo beddelo [[{{{new1|{{{1}}}}}}]] waa la fuliyay.''' ---- Haddii ciwaanka boggu leeyahay is-afgarad, hubi inaad xirto wadahadalkan adoo isticmaalaya {{nowrap|{{tlsx|RM top|<nowiki>'''</nowiki>bogii waa la wareejiyay<nowiki>'''</nowiki>.}}}} iyo {{nowrap|{{tlsx|RM bottom}}}} isla markaana aad ka saarto calaamadda {{nowrap|{{tlx|Requested move/dated|…}}}} ama aad ku beddesho calaamadda {{nowrap|{{tls|Requested move/end|…}}}}.{{category handler|all=[[Category:Codsiyada wareejinta bogagga ee la fuliyay]]|nocat={{#ifeq:{{{demo|<noinclude>yes</noinclude>}}}|yes|true}}}} |<div style="display: flex; align-items: center"><div style="flex: 1">'''Waxaa qaybtan lagu soo jeediyay in {{#ifeq:{{{multiple}}}|yes|{{#ifeq:{{{current2|}}}||[[:{{{current1|}}}]]|bogaag badan}}|[[:{{ARTICLEPAGENAME}}]]}} la [[Wikipedia:Moving a page|magacaabo oo loo wareejiyo]]{{#ifeq:{{{{{#ifeq:{{{multiple}}}|yes|new1|1}}|}}}|?|&#32;meel kale, iyadoo magaca{{#ifeq:{{{multiple}}}|yes|s|}} laga go'aan gaari doono hoos|{{#ifeq:{{{multiple}}}|yes||&#32;oo loo wareejinayo {{no redirect|{{{1|{{error|Waa in la cayimaa magaca cusub}}}}}}}}}}}.'''<br>{{#ifeq:{{{1}}}|?||{{#ifeq:{{{multiple}}}|yes||{{#ifeq:{{NAMESPACE:{{ARTICLEPAGENAME}}}}|{{NAMESPACE:{{{1}}}}}||<small style="line-height:1.2em;">''Soo jeedintani waa wareejin u dhaxaysa {{if preview|{{red|'''boosaska magaca'''}}|boosaska magaca}} oo ka timid [[WP:Namespace|booska magaca]] {{#ifeq:{{NAMESPACE:{{ARTICLEPAGENAME}}}}||(Maqaal/Hore)|{{NAMESPACE:{{ARTICLEPAGENAME}}}}}} ilaa {{#ifeq:{{NAMESPACE:{{{1}}}}}||(Maqaal/Hore)|{{NAMESPACE:{{{1}}}}}}}.''</small><br>}}}}}}</div>{{#switch:{{{protected|}}} ||no = <!-- catches empty and "no" --> |#default = {{category handler|all=[[Category:Codsiyada wareejinta ee ciwaannada la ilaaliyo]]|nocat={{#ifeq:{{{demo|<noinclude>yes</noinclude>}}}|yes|true}}}}<div>{{#switch:{{#invoke:requested move|protected|{{{protected|}}}}}|templateeditor=[[File:Template-protection-shackle.svg|30px|link=Wikipedia:Template protection]]|sysop=[[File:Move-protection-shackle.svg|30px|link=Wikipedia:Move protection]]|#default=}}</div> }}</div> ---- Bot-ka [[Wikipedia:Requested moves|codsiyada wareejinta]] ayaa soo bandhigi doona wadahadalkan gudaha [[Wikipedia:Requested moves/Current discussions|hoosaadka]] wada-xaajoodyada taagan saacad gudahood inta la gelinayo calaamaddan. Wadahadalka waxaa lagu xiri karaa 7 maalmood ka dib markii la furo, haddii la gaaro is-afgarad (eeg [[Wikipedia:Requested moves/Closing instructions|tilmaamaha xiritaanka]]). Fadlan doodaha ku salee [[Wikipedia:Article titles#Deciding on an article title|siyaasadda ciwaannada maqaallada]], oo doodda ka dhig mid [[Wikipedia:Too long; didn't read|kooban]] oo [[Wikipedia:Civility|ilbax ah]]. ---- <small style="line-height:1.2em;">''Fadlan isticmaal {{Tlxs|requested move}}. Ha '''ha''' isticmaalin {{Tlx|requested move/dated}} si toos ah.''</small>{{#ifeq:{{{multiple}}}|yes| <div class="floatright"><small style="line-height:1.2em;">''Xiriirinta:'' [{{fullurl:Special:Log/move|page={{Urlencode:{{{current1}}}}}}} diiwaanka taagan] {{#ifeq:{{{new1}}}|?|| • [{{fullurl:Special:Log/move|page={{Urlencode:{{{new1}}}}}}} diiwaanka bartilmaameedka] • [{{fullurl:Special:MovePage|wpOldTitle={{Urlencode:{{{current1}}}}}&wpNewTitle={{Urlencode:{{{new1}}}}}&wpReason={{Urlencode:[[Wikipedia:Requested moves|wareejin la codsaday]]; eeg [[{{TALKPAGENAME:{{{new1}}}}}]]}}&wpMovetalk=1}} wareejin toos ah]}}</small></div> | <div class="floatright"><small style="line-height:1.2em;">''Xiriirinta:'' [{{fullurl:Special:Log/move|page={{Urlencode:{{ARTICLEPAGENAME}}}}}} diiwaanka taagan] {{#ifeq:{{{1}}}|?|| • [{{fullurl:Special:Log/move|page={{Urlencode:{{{1}}}}}}} diiwaanka bartilmaameedka] • [{{fullurl:Special:MovePage|wpOldTitle={{Urlencode:{{ARTICLEPAGENAME}}}}&wpNewTitle={{Urlencode:{{{1}}}}}&wpReason={{Urlencode:[[Wikipedia:Requested moves|wareejin la codsaday]]; eeg [[{{TALKPAGENAME:{{{1}}}}}]]}}&wpMovetalk=1}} wareejin toos ah]}}</small></div>}} }}{{category handler |all=[[Category:Codsiyada guuritaanka|{{{sort|}}}{{PAGENAME}}]] |nocat={{#ifeq:{{{demo|<noinclude>yes</noinclude>}}}|yes|true}} |category2={{{category|¬}}} }} }} }} }}<noinclude> {{documentation}} <!-- Categories go on the /doc subpage, and interwikis go on Wikidata. --> </noinclude> ju2huq7w52bnmgel6ghcurr39b8hktq Template:Move 10 53323 309733 2026-09-26T13:57:22Z Isma4l 41797 /* */ 309733 wikitext text/x-wiki #Redirect [[Template:Requested move]] 47q2gql7cv5gtma95hj8cjv6yfk22fe Template:Dividing line 10 53324 309741 2026-09-26T17:25:30Z Isma4l 41797 Bog cusub: <noinclude> {{Documentation|content= {{Substitution|not}} Template-kan waxaa loogu talagalay in uu soo saaro <code>----</code> meelaha aanu calaamaddaas caadiga ahi ka shaqaynayn (tusaale ahaan miiska dhexdiisa ama qaybaha kale ee gaarka ah). [[Category:Qaybaha unugyada miiska]] }}</noinclude> 309741 wikitext text/x-wiki <noinclude> {{Documentation|content= {{Substitution|not}} Template-kan waxaa loogu talagalay in uu soo saaro <code>----</code> meelaha aanu calaamaddaas caadiga ahi ka shaqaynayn (tusaale ahaan miiska dhexdiisa ama qaybaha kale ee gaarka ah). [[Category:Qaybaha unugyada miiska]] }}</noinclude> gxukswc4yg8d1yy0onfffn524rbzmpr Template:DfE performance tables 10 53325 309742 2026-09-26T17:26:25Z Isma4l 41797 Bog cusub: [https://www.compare-school-performance.service.gov.uk/school/{{{1}}} {{#if:{{{2|}}}|{{{2}}}|Performance tables for {{{1}}}}}]<noinclude> {{Documentation}} <!-- PLEASE ADD THIS TEMPLATE'S CATEGORIES AND INTERWIKIS TO THE /doc SUBPAGE, THANKS --> </noinclude> 309742 wikitext text/x-wiki [https://www.compare-school-performance.service.gov.uk/school/{{{1}}} {{#if:{{{2|}}}|{{{2}}}|Performance tables for {{{1}}}}}]<noinclude> {{Documentation}} <!-- PLEASE ADD THIS TEMPLATE'S CATEGORIES AND INTERWIKIS TO THE /doc SUBPAGE, THANKS --> </noinclude> ljfneenf246i1ysn8fzdlw2ngiq7kfx Template:Collapsed infobox section begin/styles.css 10 53326 309743 2026-09-26T17:27:19Z Isma4l 41797 Bog cusub: /* {{pp-template}} */ /* These styles were formerly inline in the parent template. */ .cisb-header { line-height: normal; padding: 0.2em; } .cisb-table { width: 100%; } /* The helper adds this class when |cont= or |last= is true. */ .cisb-table.cisb-last { margin-bottom: -0.4em; } /* This matches spacing between embedded officeholder sections. */ .cisb-table.cisb-officeholder-embed:not(.cisb-single) { margin-bottom: -10px; } /* Collapse the required empty marker row so i... 309743 sanitized-css text/css /* {{pp-template}} */ /* These styles were formerly inline in the parent template. */ .cisb-header { line-height: normal; padding: 0.2em; } .cisb-table { width: 100%; } /* The helper adds this class when |cont= or |last= is true. */ .cisb-table.cisb-last { margin-bottom: -0.4em; } /* This matches spacing between embedded officeholder sections. */ .cisb-table.cisb-officeholder-embed:not(.cisb-single) { margin-bottom: -10px; } /* Collapse the required empty marker row so it adds no height. */ .cisb-table.cisb-officeholder-embed > tbody > .cisb-content-row { height: 0; } /* Touch layouts need no marker-cell padding. */ .cisb-table.cisb-officeholder-embed > tbody > .cisb-content-row > td { padding-top: 0; padding-bottom: 0; } /* Add 1px marker-cell padding only for desktop-style pointers. */ @media (min-width: 640px) and (hover: hover) and (pointer: fine) { .cisb-table.cisb-officeholder-embed > tbody > .cisb-content-row > td { padding-top: 1px; padding-bottom: 1px; } } /* This keeps the title clear of the collapse control. */ .cisb-title { margin: 0 3.3em; padding: 0 0.4em; text-align: center; } aiq2z7xbwc6xo80fhuly33qzi6u88x1 Template:Chart top 10 53327 309745 2026-09-26T17:31:05Z Isma4l 41797 Bog cusub: {| class="collapsible {{#ifeq:{{Yesno-no|{{{collapsed|{{{collapse|}}}}}}}}|yes|collapsed|expanded}}" style="{{#switch:{{{align|}}}{{{float|}}} | left = margin: 0.3em 1em 0.3em 0; float:left; clear:{{{clear|left}}}; min-width:{{{min-width|{{{width|33em}}}}}}; | right = margin: 0.3em 0 0.3em 1em; float:right; clear:{{{clear|right}}}; min-width:{{{min-width|{{{width|33em}}}}}}; | #default = margin: 0.3em auto auto; clear:{{{clear|none}}}; min-width:{{{min-width|{{{width|60... 309745 wikitext text/x-wiki {| class="collapsible {{#ifeq:{{Yesno-no|{{{collapsed|{{{collapse|}}}}}}}}|yes|collapsed|expanded}}" style="{{#switch:{{{align|}}}{{{float|}}} | left = margin: 0.3em 1em 0.3em 0; float:left; clear:{{{clear|left}}}; min-width:{{{min-width|{{{width|33em}}}}}}; | right = margin: 0.3em 0 0.3em 1em; float:right; clear:{{{clear|right}}}; min-width:{{{min-width|{{{width|33em}}}}}}; | #default = margin: 0.3em auto auto; clear:{{{clear|none}}}; min-width:{{{min-width|{{{width|60em}}}}}}; }} width:{{{width|auto}}}; font-size:85%; border:1px solid #aaa" ! style="padding:0.2em 0.3em 0.2em {{#if:{{{template_name|}}}|0.3em|4.3em}};{{#if:{{{background|}}}|background:{{{background|}}}; color: black|background:none; color: inherit}}; width:{{{width|auto}}}" | {{#if:{{{template_name|}}} |{{Navbar-collapsible|{{{title|{{{1|Family of {{PAGENAME}}}}}}}}|{{{template_name}}}|brackets=yes}} |{{{title|{{{1|Family of {{PAGENAME}}}}}}}} }} |- | style="text-align:{{{text-align|center}}}" | {{#invoke:Check for unknown parameters|check|unknown=[[Category:Pages using chart top with unknown parameters|_VALUE_{{PAGENAME}}]]|preview=Page using [[Template:Chart top]] with unknown parameter "_VALUE_"|ignoreblank=y| 1 | align | background | clear | collapse | collapsed | float | min-width | template_name | text-align | title | width }}<noinclude> |} {{documentation}}</noinclude> m8rk0znq9mjtsd5vyrw34wv7ollz4xk Template:Chart bottom 10 53328 309746 2026-09-26T17:31:37Z Isma4l 41797 Bog cusub: <includeonly>|}</includeonly><noinclude> {{documentation|Template:Chart top/doc}} </noinclude> 309746 wikitext text/x-wiki <includeonly>|}</includeonly><noinclude> {{documentation|Template:Chart top/doc}} </noinclude> fox8ehjw6tecak790qn3g0vm666gtni Module:Bar 828 53329 309749 2026-09-26T17:37:03Z Isma4l 41797 Bog cusub: require('strict') require('Module:Lua class') local frame = mw.getCurrentFrame() local metatable = { -- Append to array by calling it __call = function (t, v) t[#t+1] = v end, __tostring = function(t) return table.concat(t) end } local function notblank(v) return (v or '') ~= '' end local function ifblank(v, a) return notblank(v) and v or a end local BarBox = class('BarBox', { _css = 'Module:Bar/styles.css', __init = function (self, args) self.css = args[1] or args.... 309749 Scribunto text/plain require('strict') require('Module:Lua class') local frame = mw.getCurrentFrame() local metatable = { -- Append to array by calling it __call = function (t, v) t[#t+1] = v end, __tostring = function(t) return table.concat(t) end } local function notblank(v) return (v or '') ~= '' end local function ifblank(v, a) return notblank(v) and v or a end local BarBox = class('BarBox', { _css = 'Module:Bar/styles.css', __init = function (self, args) self.css = args[1] or args.css self.float = args[2] or args.float or 'none' self.backgroundcolor = args[3] or args.backgroundcolor or 'white' self.borderwidth = args[4] or args.borderwidth or '1' self.style = args[5] or args.style self.width = args[6] or args.width-- or 'auto' self.barwidth = args[7] or args.barwidth or '100px' self.lineheight = args[8] or args.lineheight-- or '1.6' self.title = args[9] or args.title self.titlebar = args[10] or args.titlebar-- or 'none' self.left1 = args[11] or args.left1 self.left2 = args[12] or args.left2 self.right1 = args[13] or args.right1 self.right2 = args[14] or args.right2 self.bars = args[15] or args.bars self.caption = args[16] or args.caption -- deprecated self.footer = args[17] or args.footer or args[16] or args.caption end, create = function (cls, args) args = mw.clone(args) args.float = args.float and args.float:lower() args.width = tonumber(args.width) and args.width .. 'px' or args.width and args.width:lower() args.barwidth = tonumber(args.barwidth) and args.barwidth .. 'px' or args.barwidth and args.barwidth:lower() return cls(args) end, _sDefaultAlign = 'lrlr', _tDefaultAlign = {false, 'r', false, 'r'}, _setAlign = function (obj, align) obj._alignClasses = {} for i, d in ipairs(obj._tDefaultAlign) do local a = align:sub(i,i) if a == 'l' then a = false elseif a == 'd' then a = d elseif a ~= 'c' and a ~= 'r' then error('unrecognized align[' .. i .. ']') end obj._alignClasses[i] = a and 'class=bb-' .. a end end, html = function (self) local output = setmetatable({}, metatable) output(frame:extensionTag('templatestyles', '', {src=self._css}) .. '\n') output(self.css and frame:extensionTag('templatestyles', '', {src=self.css}) .. '\n' or '') local class = 'barbox' if self.float == 'left' or self.float == 'right' then class = class .. ' t' .. self.float end output('<div class="' .. class .. '" style="background:' .. self.backgroundcolor .. '; border:' .. self.borderwidth .. 'px solid silver' ) if self.float == 'center' then output('; margin:0 auto') end if self.width then output('; width:' .. self.width) end if self.style then output('; ' .. self.style) end output('">\n') output('{|') if self.lineheight then output(' style="line-height:' .. self.lineheight .. '"') end output('\n') if self.title then output( '|+ class=bb-default' .. (self.titlebar and ' style="background:' .. self.titlebar .. '"' or '') .. ' |\n' .. self.title .. '\n' ) end output('|- class=bb-default style="font-size:88%; min-height:4px"\n') if self._alignClasses then -- same as self.__class._alignClasses self._alignClasses = self._alignClasses self.__class._alignClasses = nil else self._setAlign(self, self._sDefaultAlign) end local attributes = not self.left2 and 'colspan=2' .. (self._alignClasses[1] and ' ' .. self._alignClasses[1] or '') or self._alignClasses[1] output('!' .. (attributes and attributes .. '|' or '') .. (self.left1 or ' ')) output(self.left2 and '!!' .. (self._alignClasses[2] and self._alignClasses[2] .. '|' or '') .. self.left2 or '') output('!!style="width:' .. self.barwidth .. '"| ') attributes = not self.right2 and 'colspan=2' .. (self._alignClasses[4] and ' ' .. self._alignClasses[4] or '') or self._alignClasses[3] output('!!' .. (attributes and attributes .. '|' or '') .. (self.right1 or self.right2 and ' ' or '')) output(self.right2 and '!!' .. (self._alignClasses[4] and self._alignClasses[4] .. '|' or '') .. self.right2 or '') output('\n') if self.bars then output(self.bars .. '\n') end if self.caption then output('\n[[Category:Pages using bar box with deprecated caption parameter]]') end if self.footer then output( '|- class=bb-default\n| colspan=5 style="padding:5px 0" | ' .. -- <p> is created if \n precedes the footer self.footer .. '\n' ) end output('|}\n</div>') return tostring(output) end, __tostring = function (self) return self.html() end, percent = function (args) local output = setmetatable({'|-'}, metatable) local percentage = (args[3] or '0') .. '%' if args.bg then output(args.bg and 'style="background:' .. args.bg .. '"') end output('\n') output('|colspan=2 class=bb-min8|' .. (args[1] or ' ')) output('||class=bb-b|') output('<div style="background:' .. (args[2] or 'gray') .. '; width:' .. percentage .. '">&#8203;</div>') output('||' .. (args.note and '' or 'colspan=2 class=bb-r|') .. (args[4] or percentage)) if args.note then output('||class=bb-r|' .. args.note) end return tostring(output) end, pixel = function (args) local output = setmetatable({'|-'}, metatable) local pixels = (args[3] or '0') if args.bg then output('style="background:' .. args.bg .. '"') end output('\n') output('|colspan=2|' .. (args[1] or ' ')) output('||class=bb-b|') output('<div style="background:' .. (args[2] or 'gray') .. '; width:' .. pixels .. 'px">&#8203;</div>') output('||class="bb-min3' .. (args.note and '"' or ' bb-r" colspan=2') .. '|' .. (args[5] or pixels .. (args[4] or ''))) if args.note then output('||class=bb-r|' .. args.note) end return tostring(output) end, stacked = function (cls, args) local output = setmetatable({'|-'}, metatable) if args.id then output('class="mw-collapsible' .. (args.collapsed and ' mw-collapsed' or '') .. '" id=mw-customcollapsible-' .. args.id ) end output('\n') if not cls._alignClasses then cls._setAlign(cls, args.align and args.align:lower() or cls._sDefaultAlign) end local attributes = not args.note1 and 'colspan=2' .. (cls._alignClasses[1] and ' ' .. cls._alignClasses[1] or '') or cls._alignClasses[1] output('|' .. (attributes and attributes .. '|' or '') .. (args[1] or ' ')) if args.note1 then output('||' .. (cls._alignClasses[2] and cls._alignClasses[2] .. '|' or '') .. args.note1) end output('||class=bb-b|') local len = 0 -- can't use #args because of [[Module:Arguments#Known limitations]] for k in pairs(args) do local idx = tonumber(k) or 0 if idx > len then len = idx end end if args.bkgclasses then -- used when wikitext minimization is essential for i = 1, len-2 do local width, delim, title --is delim reset every cycle? width = args[i+2] or 0 width = tonumber(('%.2f'):format(width)) if width > 0 then if not delim then -- assuming title types are consistent delim = tonumber(args['title' .. i]) and '' or '"' end title = args['title' .. i] and ' title=' .. delim .. args['title' .. i] .. delim or '' output( '<div' .. title .. ' class=' .. args.bkgclasses[i] .. ' style=width:' .. width .. 'px></div>' ) end end else for i = 1, (len-2) / 2 do local width, title, background width = args[2*i + 2] or 0 width = tonumber(('%.2f'):format(width)) if width > 0 then title = args['title' .. i] and ' title="' .. args['title' .. i] .. '"' or '' background = args[2*i + 1] or 'gray' output( '<div' .. title .. ' style="background:' .. background .. ';width:' .. width .. 'px"></div>' ) end end end if #output == 4 then output(' ') end attributes = not args.note2 and 'colspan=2' .. (cls._alignClasses[4] and ' ' .. cls._alignClasses[4] or '') or cls._alignClasses[3] output('||') if attributes then output(attributes .. '|') end if (args[2] or args.note2) then output(' ') end if args.note2 then output('||') if cls._alignClasses[4] then output (cls._alignClasses[4] .. '|') end output(args.note2) end return tostring(output) end, gap = function (args) local output = setmetatable({'|-\n'}, metatable) local height = tonumber(args.height) and args.height .. 'px' or args.height and args.height:lower() or '10px' output('|colspan=5 style="height:' .. height .. '"|' .. (args[1] or '')) return tostring(output) end, ['table'] = function (args) local function expr(v, a) v = frame:callParserFunction('formatnum', {ifblank(v, a), 'R'}) v = frame:callParserFunction('#expr', v) return tonumber(ifblank(v, a)) or a end local barValue = expr(args[1], 0) local scale = expr(args[3], 1) local width = math.abs(scale * barValue) local height = ifblank(args[4], '2ex') local output = setmetatable({}, metatable) -- Handle the display of the value and unit (parameters 1 and 2) -- if notblank(args[2]) then -- If a unit (parameter 2) is provided local titleparts = mw.text.split(args[2], '/', true) if notblank(titleparts[2]) then -- If unit has multiple parts (e.g., 'km|mi'), attempt conversion if notblank(titleparts[1]) then -- If unit has a single part, display value and unit directly output((args[1] or '') .. args[2]) else -- Otherwise, use the convert template to handle unit conversion local cvtArgs = { [1] = tostring(barValue), [2] = titleparts[2] or '', [3] = titleparts[3] or '', [4] = titleparts[4] or '', abbr= 'on' } local convert = require('Module:Convert')._convert output(convert({}, cvtArgs)) end else -- If unit is simple, display value and unit without conversion output((args[1] or '') .. args[2]) end else -- If no unit is provided, display value or default to em dash output(ifblank(args[1], '&mdash;')) end -- Handle the bar visualization -- local sortString = 'data-sort-value="' .. barValue .. '"|' local barString = sortString .. '<div style="width:' .. width .. 'px;height:' .. height .. ';background:#aaa;color:inherit;' .. (args[5] or '') .. '" title="' .. barValue .. '">&nbsp;</div>' if scale < 0 then -- If scale (parameter 3) is negative, add extra column output('||') if barValue < 0 then -- If value (parameter 1) is negative, align bar to the right & scale output('align="right" ' .. barString) else -- output hidden sort key for sortable wikitables output(sortString) end end output('\n|') if barValue > 0 then -- if display value is positive, align bar to the left output('align="left" ' .. barString) else -- output hidden sort key for sortable wikitables output(sortString) end return tostring(output) end, __classmethods = {'create', 'stacked'}, __staticmethods = {'_setAlign', 'percent', 'pixel', 'gap'}, __slots = {'_alignClasses'} }) local getArgs = require('Module:Arguments').getArgs local p = {BarBox} function p.box(frame) local args = getArgs(frame) local box = BarBox.create(args) return tostring(box) end function p.percent(frame) local args = getArgs(frame) return BarBox.percent(args) end function p.pixel(frame) local args = getArgs(frame) return BarBox.pixel(args) end function p.log(frame) local args = getArgs(frame) local outArgs = {[1] = args[2], [2] = args[3]} outArgs[3] = math.log((tonumber(args[4]) ~= nil) and (args[4] + 1) or 100)/ math.log((tonumber(args[1]) ~= nil) and args[1] or 2)*30 outArgs[5] = ifblank(args[6], ((args[4] or '') .. (args[5] or ''))) return BarBox.pixel(outArgs) end function p.stacked(frame) local yesno = require('Module:Yesno') local args = getArgs(frame, { valueFunc = function (key, value) if value then if key == 'collapsed' then return yesno(value) elseif key == 'bkgclasses' then return mw.text.jsonDecode(value) -- string to table end value = mw.text.trim(value) if value ~= '' then return value end end return nil end }) return BarBox.stacked(args) end function p.gap(frame) local args = getArgs(frame) return BarBox.gap(args) end function p.bartable(frame) local args = frame.args return BarBox['table'](args) end p['table'] = p.bartable function p.tableTemplate(frame) local args = frame:getParent().args return BarBox['table'](args) end return p jhxd32eufddam5g0slzucwgy91lrfwh Module:Bar/styles.css 828 53330 309750 2026-09-26T17:37:35Z Isma4l 41797 Bog cusub: /* {{pp-template}} */ .barbox { overflow-x: auto; padding: 0.4em 0 } .barbox > table { border-spacing: 0.8em 0; font-size: 88%; text-align: left; width: 100% } .barbox caption { font-weight: bold; margin: 0 0.4em; text-align: center /* not default in MinervaNeue */ } .barbox th, .barbox td:not(.bb-b) { padding-left: 0; padding-right: 0 } .bb-default { line-height: 1.6 } .bb-c { text-align: center } .bb-r { text-align: right } .bb-min3 { min-width: 3em } .bb-mi... 309750 sanitized-css text/css /* {{pp-template}} */ .barbox { overflow-x: auto; padding: 0.4em 0 } .barbox > table { border-spacing: 0.8em 0; font-size: 88%; text-align: left; width: 100% } .barbox caption { font-weight: bold; margin: 0 0.4em; text-align: center /* not default in MinervaNeue */ } .barbox th, .barbox td:not(.bb-b) { padding-left: 0; padding-right: 0 } .bb-default { line-height: 1.6 } .bb-c { text-align: center } .bb-r { text-align: right } .bb-min3 { min-width: 3em } .bb-min8 { min-width: 8em } .bb-b { border-left: 1px solid silver; border-right: 1px solid silver } .bb-b > div { float: left; overflow: hidden } .bb-b > div::after { content: "\200B"; } s4dn4heiaajopkpke9mod73q31l62cn Module:Lua class 828 53331 309751 2026-09-26T17:38:18Z Isma4l 41797 Bog cusub: local libraryUtil = require('libraryUtil') -- overridden for new types and exceptions local warn = require('Module:Warning') local mode_mt = {__mode='k'} local _classes, _instances = {}, {} -- registry mapping all private classes and instances to their internal counterparts setmetatable(_classes, mode_mt); setmetatable(_instances, mode_mt) local classes, instances = {}, {} -- same but public -> private setmetatable(classes, mode_mt); setmetatable(instances, mode_mt) local inst_p... 309751 Scribunto text/plain local libraryUtil = require('libraryUtil') -- overridden for new types and exceptions local warn = require('Module:Warning') local mode_mt = {__mode='k'} local _classes, _instances = {}, {} -- registry mapping all private classes and instances to their internal counterparts setmetatable(_classes, mode_mt); setmetatable(_instances, mode_mt) local classes, instances = {}, {} -- same but public -> private setmetatable(classes, mode_mt); setmetatable(instances, mode_mt) local inst_private_mts, inst_public_mts = {}, {} -- for each class since they are mostly immutable local una_metamethods = {__ipairs=1, __pairs=1, __tostring=1, __unm=1} local bin_metamethods = {__add=1, __concat=1, __div=1, __eq=1, __le=1, __lt=1, __mod=1, __mul=1, __pow=1, __sub=1} local oth_metamethods = {__call=1, __index=1, __newindex=1, __init=1} local not_metamethods = {__name=1, __bases=1, __methods=1, __classmethods=1, __staticmethods=1, __normalmethods=1, __slots=1, __protected=1} -- __class and __hash local function objtostr(obj) local copy = {} for key, val in pairs(obj) do copy[key] = type(val) == 'function' and 'function' or val end return mw.text.jsonEncode(copy, mw.text.JSON_PRETTY) end local inst_mt = { __index = function (self, key) if tonumber(key) or key == 'hash' or key == '__hash' then -- don't search numeric keys in classes and hash isn't inheritable return nil end return self.__class[key] -- key could be invalid here without issues as __index(cls_private, key) would handle it end, __tostring = objtostr-- } local function private_read(self_private, key) return _instances[self_private][key] -- instance should be clean of invalid keys so that __index(cls_private, key) handles them end local function private_read_custom(self_private, key) if not_metamethods[key] then error(("AttributeError: unauthorized read attempt of internal '%s'"):format(key), 2) end local self = _instances[self_private] local value = self.__class.__index(self_private, key) -- custom __index can handle invalid keys if value == nil then return self[key] -- same reason of private_read for not checking key validity end return value end local function private_write(self_private, key, value) libraryUtil.checkTypeMultiForIndex(key, {'string', 'number'}) local self = _instances[self_private] if type(key) == 'string' then local cls = _classes[self.__class] if cls.__normalmethods[key] or key:sub(1,2) == '__' and key ~= '__hash' then error(("AttributeError: forbidden write attempt {%s: %s} to immutable method or invalid key"):format(key, tostring(value)), 2) elseif key:find('[^_%w]') or key:find('^%d') then error(("AttributeError: invalid attribute name '%s'"):format(key), 2) elseif key == '__hash' and self.__hash ~= nil then error("AttributeError: forbidden update attempt to immutable __hash", 2) end end self[key] = value end local function private_write_custom(self_private, key, value) local self = _instances[self_private] local cls = _classes[self.__class] local keyType = type(key) if keyType == 'string' and (cls.__normalmethods[key] or key:sub(1,2) == '__' and key ~= '__hash') then error(("AttributeError: forbidden write attempt {%s: %s} to immutable method or invalid key"):format(key, tostring(value)), 2) end if cls.__newindex(self_private, key, value) == false then -- custom __newindex can handle invalid keys libraryUtil.checkTypeMultiForIndex(key, {'string', 'number'}) if keyType == 'string' then if key:find('[^_%w]') or key:find('^%d') then error(("AttributeError: invalid attribute name '%s'"):format(key), 2) elseif key == '__hash' and self.__hash ~= nil then error("AttributeError: forbidden update attempt to immutable __hash", 2) end end self[key] = value end end local function public_read(self_public, key) if type(key) == 'string' and key:sub(1,1) == '_' then error(("AttributeError: unauthorized read attempt of nonpublic '%s'"):format(key), 2) end return _instances[instances[self_public]][key] -- same reason of private_read... end local function public_read_custom(self_public, key) if type(key) == 'string' and key:sub(1,1) == '_' then error(("AttributeError: unauthorized read attempt of nonpublic '%s'"):format(key), 2) end local self = _instances[instances[self_public]] local value = self.__class.__index(instances[self_public], key) if value == nil then return self[key] -- same reason of private_read... end return value end local function public_write(self_public, key, value) local self = _instances[instances[self_public]] local cls = _classes[self.__class] if type(key) == 'string' then if key:sub(1,1) == '_' then error(("AttributeError: unauthorized write attempt of nonpublic {%s: %s}"):format(key, tostring(value)), 2) elseif cls.__normalmethods[key] then error(("AttributeError: forbidden write attempt {%s: %s} to immutable method"):format(key, tostring(value)), 2) end end if self[key] == nil and not cls.__slots[key] then -- if instance and __slots are valid, no danger of creating invalid attributes libraryUtil.checkTypeMultiForIndex(key, {'string', 'number'}) -- otherwise error message would not make sense error(("AttributeError: public attribute creation attempt {%s: %s} not expected by __slots"):format(key, tostring(value)), 2) end self[key] = value end local function public_write_custom(self_public, key, value) local self = _instances[instances[self_public]] local cls = _classes[self.__class] if type(key) == 'string' then if key:sub(1,1) == '_' then error(("AttributeError: unauthorized write attempt of nonpublic {%s: %s}"):format(key, tostring(value)), 2) elseif cls.__normalmethods[key] then error(("AttributeError: forbidden write attempt {%s: %s} to immutable method"):format(key, tostring(value)), 2) end end if cls.__newindex(instances[self_public], key, value) == false then if self[key] == nil and not cls.__slots[key] then libraryUtil.checkTypeMultiForIndex(key, {'string', 'number'}) -- otherwise error message... error(("AttributeError: public attribute creation attempt {%s: %s} not expected by __slots"):format(key, tostring(value)), 2) end self[key] = value end end local function constructor(wrapper, ...) if select('#', ...) ~= 1 or type(...) ~= 'table' then error("SyntaxError: incorrect instance constructor syntax, should be: Class{arg1, arg2..., kw1=kwarg1, kw2=kwarg2...}", 2) end local self = {} -- __new local cls_private = classes[wrapper] or wrapper self.__class = cls_private setmetatable(self, inst_mt) local self_private = {} -- wrapper local cls = _classes[cls_private] local mt = inst_private_mts[cls] if not mt then mt = {} mt.__index = cls.__index and private_read_custom or private_read mt.__newindex = cls.__newindex and private_write_custom or private_write for key in pairs(una_metamethods) do mt[key] = cls[key] end mt.__call = cls.__call mt.__metatable = "unauthorized access attempt of wrapper object metatable" inst_private_mts[cls] = mt end setmetatable(self_private, mt) _instances[self_private] = self local __init = cls.__init if __init and __init(self_private, ...) then error("TypeError: __init must not return a var-list") end for key in pairs(cls.__methods) do local func = cls[key] -- index once to save time in future calls self[key] = function (...) return func(self_private, ...) end end if cls._hash then -- not inheritable self.hash = function () return cls._hash(self_private) end self.hash() -- construction of self is finalized at this point, so immutable hash can be safely set end local self_public = {} mt = inst_public_mts[cls] if not mt then mt = {} mt.__index = cls.__index and public_read_custom or public_read mt.__newindex = cls.__newindex and public_write_custom or public_write for key in pairs(una_metamethods) do if cls[key] then local func = cls[key] mt[key] = function (a) return func(instances[a]) end end end for key in pairs(bin_metamethods) do if cls[key] then local func = cls[key] mt[key] = function (a, b) return func(instances[a], instances[b]) end end end if cls.__call then local func = cls.__call mt.__call = function (self_public, ...) return func(instances[self_public], ...) end end mt.__metatable = "unauthorized access attempt of wrapper object metatable" inst_public_mts[cls] = mt end setmetatable(self_public, mt) instances[self_public] = self_private return self_public, not classes[wrapper] and self_private or nil -- so that constructions in private scopes have access to private instances end local function multi_inheritance(cls, key) for _, base in ipairs(cls.__bases) do if key:sub(1,1) ~= '_' or base.__protected[key] or key:sub(1,2) == '__' and key ~= '__name' and key ~= '__hash' then local value = base[key] if value ~= nil then return value end end end end local cls_mt = { __index = multi_inheritance, __tostring = objtostr-- } local cls_private_mt = { __call = constructor, __index = function (cls_private, key) if type(key) ~= 'string' then warn(("AttributeWarning: index '%s' type should be string, %s given"):format(tostring(key), type(key)), 2) elseif not_metamethods[key] then error(("AttributeError: unauthorized read attempt of internal '%s'"):format(key), 2) elseif key:find('[^_%w]') or key:find('^%d') then warn(("AttributeWarning: index '%s' should be a valid Lua name"):format(key), 2) end local cls = _classes[cls_private] local value = cls[key] if not cls.__slots[key] then local valueType = type(value) if valueType == 'table' then return mw.clone(value) -- because class attributes are immutable by default elseif valueType == 'set' then --should list be clone or deep copy? return value.copy() end end return value end, __newindex = function (cls_private, key, value) local cls = _classes[cls_private] if not cls.__slots[key] and key ~= '__hash' then -- __slots should be valid, so no need to check key validity before libraryUtil.checkTypeMultiForIndex(key, {'string'}) -- otherwise error message would not make sense error(("AttributeError: write attempt {%s: %s} not expected by __slots"):format(key, tostring(value)), 2) elseif key == '__hash' and cls.__hash ~= nil then error("AttributeError: forbidden update attempt to immutable __hash", 2) end cls[key] = value end, __metatable = "unauthorized access attempt of wrapper object metatable" } local cls_public_mt = { __call = constructor, __index = function (cls_public, key) if type(key) ~= 'string' then warn(("AttributeWarning: index '%s' type should be string, %s given"):format(tostring(key), type(key)), 2) elseif key:sub(1,1) == '_' then error(("AttributeError: unauthorized read attempt of nonpublic '%s'"):format(key), 2) elseif key:find('[^_%w]') or key:find('^%d') then warn(("AttributeWarning: index '%s' should be a valid Lua name"):format(key), 2) end local value = _classes[classes[cls_public]][key] local valueType = type(value) if valueType == 'table' then return mw.clone(value) -- all class attributes are immutable in the public scope elseif valueType == 'set' then return value.copy() end return value end, __newindex = function (cls_public, key, value) libraryUtil.checkTypeMultiForIndex(key, {'string'}) -- otherwise error message... error(("AttributeError: forbidden write attempt of {%s: %s}; a class is immutable in public scope"):format(key, tostring(value)), 2) end, __metatable = "unauthorized access attempt of wrapper object metatable" } local function default_hash(obj_private) if obj_private.__hash == nil then -- not inheritable obj_private.__hash = tonumber('0x' .. mw.hash.hashValue('fnv1a32', tostring(os.time() + math.random()))) end return obj_private.__hash end rawset(_G, 'class', '') function class(...) local args = {...} local cls = {} -- internal local idx if type(args[1]) == 'string' then local __name = args[1] if __name:find('%W') or __name:find('^%d') then error(("ValueError: class '%s' must be a valid Lua name without '_'s"):format(__name), 2) end cls.__name = __name idx = 2 else idx = 1 end cls.__bases = {} for i = idx, #args-1 do libraryUtil.checkType('class', i, args[i], 'class') cls.__bases[#cls.__bases+1] = _classes[classes[args[i]]] end setmetatable(cls, cls_mt) local kwargs = args[#args] libraryUtil.checkType('class', #args, kwargs, 'table') if kwargs.__name ~= nil or kwargs.__bases ~= nil then error("ValueError: __name and unpacked __bases must be passed as optional first args to 'class'", 2) end cls.__slots = {} local mt = { __index = function (__slots, key) -- multi_inheritance for _, base in ipairs(cls.__bases) do if (key:sub(1,1) ~= '_' or base.__protected[key]) and base.__slots[key] then return true end end end } setmetatable(cls.__slots, mt) if kwargs.__slots ~= nil then libraryUtil.checkTypeForNamedArg('class', '__slots', kwargs.__slots, 'table') for i, slot in ipairs(kwargs.__slots) do libraryUtil.checkType('__slots', i, slot, 'string') if slot:find('[^_%w]') or slot:find('^%d') then error(("ValueError: invalid slot name '%s'"):format(slot), 2) elseif slot:sub(1,2) == '__' then error(("ValueError: slot '%s' has forbidden namespace"):format(slot), 2) elseif rawget(cls.__slots, slot) then warn(("ValueWarning: duplicated slot '%s'"):format(slot), 2) elseif kwargs[slot] ~= nil or cls.__slots[slot] then error(("ValueError: slot '%s' is predefined in class or allocated in __slots of bases"):format(slot), 2) end cls.__slots[slot] = true end kwargs.__slots = nil end cls.__protected = {} mt = { __index = function (__protected, key) for _, base in ipairs(cls.__bases) do if base.__protected[key] then return true end end end } setmetatable(cls.__protected, mt) if kwargs.__protected ~= nil then libraryUtil.checkTypeForNamedArg('class', '__protected', kwargs.__protected, 'table') for i, key in ipairs(kwargs.__protected) do libraryUtil.checkType('__protected', i, key, 'string') if key:sub(1,1) ~= '_' or key:sub(2,2) == '_' then error(("ValueError: the namespace of '%s' is not manually protectable"):format(key), 2) elseif key == '_hash' then error("ValueError: forbidden attempt to protect _hash which is not inheritable", 2) elseif rawget(cls.__protected, key) then warn(("ValueWarning: duplicated '%s' in __protected"):format(key), 2) elseif cls.__protected[key] then error(("ValueError: '%s' is already allocated in __protected of bases"):format(key), 2) elseif kwargs[key] == nil then -- key validity will be checked further ahead error(("ValueError: attempt to protect undefined '%s'"):format(key), 2) end cls.__protected[key] = true end kwargs.__protected = nil end if kwargs.__methods ~= nil then error("ValueError: __classmethods and __staticmethods should be passed as optional attributes instead of __methods", 2) elseif kwargs.hash ~= nil or kwargs.__hash ~= nil then error("ValueError: forbidden attempt to define hash or __hash which are set internally", 2) end cls.__normalmethods = {} -- used in instance write methods mt = { __index = function (__normalmethods, key) return cls.__methods[key] or cls.__classmethods[key] or cls.__staticmethods[key] end } setmetatable(cls.__normalmethods, mt) local cls_private = {} -- wrapper setmetatable(cls_private, cls_private_mt) _classes[cls_private] = cls cls.__classmethods = {} mt = { __index = function (__classmethods, key) for _, base in ipairs(cls.__bases) do if (key:sub(1,1) ~= '_' or base.__protected[key]) and base.__classmethods[key] then return true end end end } setmetatable(cls.__classmethods, mt) if kwargs.__classmethods ~= nil then libraryUtil.checkTypeForNamedArg('class', '__classmethods', kwargs.__classmethods, 'table') for i, key in ipairs(kwargs.__classmethods) do libraryUtil.checkType('__classmethods', i, key, 'string') if key:find('[^_%w]') or key:find('^%d') then error(("ValueError: invalid classmethod name '%s'"):format(key), 2) elseif key:sub(1,2) == '__' then error(("ValueError: classmethod '%s' has forbidden namespace"):format(key), 2) elseif key == '_hash' then error("ValueError: invalid classmethod _hash, classes have their own hash classmethod", 2) elseif rawget(cls.__classmethods, key) then error(("ValueError: duplicated '%s' in __classmethods"):format(key), 2) elseif not cls.__classmethods[key] and cls[key] ~= nil then error(("ValueError: forbidden attempt to convert '%s' non-classmethod to classmethod"):format(key), 2) end libraryUtil.checkTypeForNamedArg('class', key, kwargs[key], 'function') cls.__classmethods[key] = true local func = kwargs[key] cls[key] = function (...) return func(cls_private, ...) end kwargs[key] = nil end kwargs.__classmethods = nil end cls.__normalmethods.hash = true cls.hash = function () return default_hash(cls_private) end -- classes are always hashable so this is independent from _hash cls.hash() -- see https://docs.python.org/3/reference/datamodel.html#object.__hash__ if kwargs.__eq == nil then if kwargs._hash then warn("ValueWarning: _hash is defined but not __eq, which is expected", 2) elseif kwargs._hash == false then kwargs._hash = nil else kwargs._hash = default_hash end end if kwargs._hash ~= nil then libraryUtil.checkTypeForNamedArg('class', '_hash', kwargs._hash, 'function') cls.__normalmethods._hash = true cls._hash = kwargs._hash kwargs._hash = nil end cls.__staticmethods = {} mt = { __index = function (__staticmethods, key) for _, base in ipairs(cls.__bases) do if (key:sub(1,1) ~= '_' or base.__protected[key]) and base.__staticmethods[key] then return true end end end } setmetatable(cls.__staticmethods, mt) if kwargs.__staticmethods ~= nil then libraryUtil.checkTypeForNamedArg('class', '__staticmethods', kwargs.__staticmethods, 'table') for i, key in ipairs(kwargs.__staticmethods) do libraryUtil.checkType('__staticmethods', i, key, 'string') if key:sub(1,2) == '__' then error(("ValueError: staticmethod '%s' has forbidden namespace"):format(key), 2) elseif rawget(cls.__staticmethods, key) then warn(("ValueWarning: duplicated staticmethod '%s'"):format(key), 2) elseif not cls.__staticmethods[key] and cls[key] ~= nil then error(("ValueError: forbidden attempt to convert '%s' non-staticmethod to staticmethod"):format(key), 2) end libraryUtil.checkTypeForNamedArg('class', key, kwargs[key], 'function') cls.__staticmethods[key] = true end kwargs.__staticmethods = nil end cls.__methods = {} for _, base in ipairs(cls.__bases) do for key in pairs(base.__methods) do if key:sub(1,1) ~= '_' or base.__protected[key] then cls.__methods[key] = true end end end local valid = false for key, val in pairs(kwargs) do if type(key) ~= 'string' then error(("TypeError: invalid attribute name '%s' (string expected, got %s)"):format(tostring(key), type(key)), 2) elseif key:find('[^_%w]') or key:find('^%d') then error(("ValueError: invalid attribute name '%s'"):format(key), 2) elseif key:sub(1,2) == '__' and not una_metamethods[key] and not bin_metamethods[key] and not oth_metamethods[key] then error(("ValueError: unrecognized metamethod or unauthorized internal attribute {%s: %s}"):format(key, tostring(val)), 2) end cls[key] = val if type(val) == 'function' then if not cls.__staticmethods[key] and key:sub(1,2) ~= '__' then -- classmethods and _hash were already removed from kwargs cls.__methods[key] = true end if key ~= '__init' then -- __init does not qualify to a functional/proper class valid = true end end end if not valid then error("ValueError: a (sub)class must have at least one functional method", 2) end local cls_public = {} setmetatable(cls_public, cls_public_mt) classes[cls_public] = cls_private return cls_public, cls_private end local function rissubclass2(class, classinfo) if class == classinfo then return true end for _, base in ipairs(class.__bases) do if rissubclass2(base, classinfo) then return true end end return false end local function rissubclass1(class, classinfo, parent, level) libraryUtil.checkTypeMulti(parent, 2, classinfo, {'class', 'table'}, level) if classes[classinfo] then return rissubclass2(class, _classes[classes[classinfo]]) elseif _classes[classinfo] then return rissubclass2(class, _classes[classinfo]) end for i = 1, #classinfo do if rissubclass1(class, classinfo[i], parent, level+1) then return true end end return false end rawset(_G, 'issubclass', '') function issubclass(class, classinfo) libraryUtil.checkType('issubclass', 1, class, 'class') class = classes[class] or class return rissubclass1(_classes[class], classinfo, 'issubclass', 4) end rawset(_G, 'isinstance', '') function isinstance(instance, classinfo) if not instances[instance] and not _instances[instance] then -- because named (ClassName) instances would fail with checkType if classinfo == nil then return false end error(("TypeError: bad argument #1 to 'isinstance' (instance expected, got %s)"):format(type(instance)), 2) end if classinfo == nil then return true end instance = instances[instance] or instance return rissubclass1(_classes[instance.__class], classinfo, 'isinstance', 4) end local _type = type type = function (value) local t = _type(value) if t == 'table' then if classes[value] or _classes[value] then return 'class' elseif instances[value] or _instances[value] then value = instances[value] or value return _classes[value.__class].__name or 'instance' -- should __name be directly readable instead? end end return t end libraryUtil.checkType = function (name, argIdx, arg, expectType, nilOk, level) if arg == nil and nilOk then return end if type(arg) ~= expectType then error(("TypeError: bad argument #%d to '%s' (%s expected, got %s)"):format(argIdx, name, expectType, type(arg)), level or 3) end end libraryUtil.checkTypeMulti = function (name, argIdx, arg, expectTypes, level) local argType = type(arg) for _, expectType in ipairs(expectTypes) do if argType == expectType then return end end local n = #expectTypes local typeList if n > 1 then typeList = table.concat(expectTypes, ', ', 1, n-1) .. ' or ' .. expectTypes[n] else typeList = expectTypes[1] end error(("TypeError: bad argument #%d to '%s' (%s expected, got %s)"):format(argIdx, name, typeList, type(arg)), level or 3) end libraryUtil.checkTypeForIndex = function (index, value, expectType, level) if type(value) ~= expectType then error(("TypeError: value for index '%s' must be %s, %s given"):format(index, expectType, type(value)), level or 3) end end libraryUtil.checkTypeMultiForIndex = function (index, expectTypes, level) local indexType = type(index) for _, expectType in ipairs(expectTypes) do if indexType == expectType then return end end local n = #expectTypes local typeList if n > 1 then typeList = table.concat(expectTypes, ', ', 1, n-1) .. ' or ' .. expectTypes[n] else typeList = expectTypes[1] end error(("TypeError: index '%s' must be %s, %s given"):format(index, typeList, type(index)), level or 3) end libraryUtil.checkTypeForNamedArg = function (name, argName, arg, expectType, nilOk, level) if arg == nil and nilOk then return end if type(arg) ~= expectType then error(("TypeError: bad named argument %s to '%s' (%s expected, got %s)"):format(argName, name, expectType, type(arg)), level or 3) end end libraryUtil.checkTypeMultiForNamedArg = function (name, argName, arg, expectTypes, level) local argType = type(arg) for _, expectType in ipairs(expectTypes) do if argType == expectType then return end end local n = #expectTypes local typeList if n > 1 then typeList = table.concat(expectTypes, ', ', 1, n-1) .. ' or ' .. expectTypes[n] else typeList = expectTypes[1] end error(("TypeError: bad named argument %s to '%s' (%s expected, got %s)"):format(argName, name, typeList, type(arg)), level or 3) end local function try_parser(...) local args = {...} libraryUtil.checkType('try', 1, args[1], 'function', nil, 4) local try_clause = args[1] if args[2] ~= 'except' then error("SyntaxError: missing required except clause", 3) end local except_clauses = {} local i = 3 local argType, exceptionTypes = nil, {string=1, table=1} repeat libraryUtil.checkTypeMulti('try', i, args[i], {'string', 'table', 'function'}, 4) argType = type(args[i]) if exceptionTypes[argType] then libraryUtil.checkType('try', i+1, args[i+1], 'function', nil, 4) except_clauses[#except_clauses+1] = {exceptions={}, handler=args[i+1]} if argType == 'string' then except_clauses[#except_clauses].exceptions[args[i]] = true else for _, exception in ipairs(args[i]) do if type(exception) ~= 'string' then error(("TypeError: invalid exception type in except (string expected, got %s)"):format(type(exception)), 3) end except_clauses[#except_clauses].exceptions[exception] = true end end i = i + 3 else except_clauses[#except_clauses+1] = {exceptions={}, handler=args[i]} i = i + 2 break end until args[i-1] ~= 'except' local else_clause, finally_clause if args[i-1] == 'except' then error("SyntaxError: except after except clause without specific exceptions, which should be the last", 3) elseif args[i-1] == 'else' then libraryUtil.checkType('try', i, args[i], 'function', nil, 4) else_clause = args[i] i = i + 2 end if args[i-1] == 'finally' then libraryUtil.checkType('try', i, args[i], 'function', nil, 4) finally_clause = args[i] i = i + 2 end if args[i-1] ~= nil then error(("SyntaxError: unexpected arguments #%d–#%d to 'try'"):format(i-1, #args), 3) end return try_clause, except_clauses, else_clause, finally_clause end rawset(_G, 'try', '') function try(...) local try_clause, except_clauses, else_clause, finally_clause = try_parser(...) local function errhandler(message) local errtype = mw.text.split(message, ':')[1] local handled = false for _, except in ipairs(except_clauses) do if except.exceptions[errtype] or #except.exceptions == 0 then handled, message = pcall(except.handler) break end end if not handled then return message end end local success, message = xpcall(try_clause, errhandler) if else_clause and success then success, message = pcall(else_clause) end if finally_clause then finally_clause() end if not success and message then error(message, 0) -- what should be the level? end end local classes_proxy, instances_proxy = {}, {} setmetatable(classes_proxy, { __index = classes, -- create function to limit access only to modules which define the requested classes and testcases pages __newindex = function () error("KeyError: forbidden write attempt to classes proxy", 2) end, __metatable = "unauthorized access attempt of classes proxy metatable" }) setmetatable(instances_proxy, { __index = instances, -- create function to limit access only to testcases pages __newindex = function () error("KeyError: forbidden write attempt to instances proxy", 2) end, __metatable = "unauthorized access attempt of instances proxy metatable" }) return {classes_proxy, instances_proxy} 0oq7fjezzr2g68e16eyy3c7nevys1es Module:Warning 828 53332 309752 2026-09-26T17:39:08Z Isma4l 41797 Bog cusub: local libraryUtil = require('libraryUtil') local wrapper = "%s" -- wikitext formatting local msg_loc = "Lua warning in %s at line %d: %s." local msg = "Lua warning: %s." return function (message, level) libraryUtil.checkType('warn', 2, level, 'number', true) level = level or 1 if level > 0 then local _, location = pcall(error, '', level+2) if location ~= '' then location = mw.text.split(location:sub(1,-3), ':%f[%d]') message = msg_loc:format(location[1], location[2... 309752 Scribunto text/plain local libraryUtil = require('libraryUtil') local wrapper = "%s" -- wikitext formatting local msg_loc = "Lua warning in %s at line %d: %s." local msg = "Lua warning: %s." return function (message, level) libraryUtil.checkType('warn', 2, level, 'number', true) level = level or 1 if level > 0 then local _, location = pcall(error, '', level+2) if location ~= '' then location = mw.text.split(location:sub(1,-3), ':%f[%d]') message = msg_loc:format(location[1], location[2], message) else message = msg:format(message) end else message = msg:format(message) end mw.addWarning(wrapper:format(message)) end 6n5nxfk4xtrlul0szoxeogpa9uj1ggn Template:Bar stacked 10 53333 309753 2026-09-26T17:40:05Z Isma4l 41797 Bog cusub: <includeonly> <tr {{#if:{{{id|}}}|class="mw-collapsible {{#switch:{{{collapsed}}}|yes|y|1=mw-collapsed}}" id="mw-customcollapsible-{{{id}}}"}}> <td {{#if:{{{note1|}}}||colspan="2"}} style="padding-left:0.4em;padding-right:0.4em;text-align:{{#if:{{{align|}}}|{{#switch:{{#invoke:String|pos|{{{align}}}|1}}|l=left|c=center|r=right|d=left}}|left}}">{{#if:1|{{{1|}}}}}</td> {{#if:{{{note1|}}}|<td style="padding-left:0.4em;padding-right:0.4em;text-align:{{#if:{{{align|}}}|{{#switch:{{#in... 309753 wikitext text/x-wiki <includeonly> <tr {{#if:{{{id|}}}|class="mw-collapsible {{#switch:{{{collapsed}}}|yes|y|1=mw-collapsed}}" id="mw-customcollapsible-{{{id}}}"}}> <td {{#if:{{{note1|}}}||colspan="2"}} style="padding-left:0.4em;padding-right:0.4em;text-align:{{#if:{{{align|}}}|{{#switch:{{#invoke:String|pos|{{{align}}}|1}}|l=left|c=center|r=right|d=left}}|left}}">{{#if:1|{{{1|}}}}}</td> {{#if:{{{note1|}}}|<td style="padding-left:0.4em;padding-right:0.4em;text-align:{{#if:{{{align|}}}|{{#switch:{{#invoke:String|pos|{{{align}}}|2}}|l=left|c=center|r=right|d=right}}|right}}">{{{note1}}}</td>}} <td style="border-left:1px solid silver;border-right:1px solid silver">{{#ifeq:{{#if:1|{{{4|0}}}}}|0|| <div {{#if:{{{title1|}}}|title="{{{title1}}}"}} style="background:{{{3|gray}}};float:left;overflow:hidden;width:{{#expr:{{#if:1|{{{4}}}}}round2}}px">&#8203;</div>}}{{#ifeq:{{#if:1|{{{6|0}}}}}|0|| <div {{#if:{{{title2|}}}|title="{{{title2}}}"}} style="background:{{{5|gray}}};float:left;overflow:hidden;width:{{#expr:{{#if:1|{{{6}}}}}round2}}px">&#8203;</div>}}{{#ifeq:{{#if:1|{{{8|0}}}}}|0|| <div {{#if:{{{title3|}}}|title="{{{title3}}}"}} style="background:{{{7|gray}}};float:left;overflow:hidden;width:{{#expr:{{#if:1|{{{8}}}}}round2}}px">&#8203;</div>}}{{#ifeq:{{#if:1|{{{10|0}}}}}|0|| <div {{#if:{{{title4|}}}|title="{{{title4}}}"}} style="background:{{{9|gray}}};float:left;overflow:hidden;width:{{#expr:{{#if:1|{{{10}}}}}round2}}px">&#8203;</div>}}{{#ifeq:{{#if:1|{{{12|0}}}}}|0|| <div {{#if:{{{title5|}}}|title="{{{title5}}}"}} style="background:{{{11|gray}}};float:left;overflow:hidden;width:{{#expr:{{#if:1|{{{12}}}}}round2}}px">&#8203;</div>}} </td> <td {{#if:{{{note2|}}}||colspan="2"}} style="padding-left:0.4em;padding-right:0.4em;text-align:{{#if:{{{align|}}}|{{#switch:{{#invoke:String|pos|{{{align}}}|3}}|l=left|c=center|r=right|d=left}}|left}}">{{#if:1|{{{2|}}}}}</td> {{#if:{{{note2|}}}|<td style="padding-left:0.4em;padding-right:0.4em;text-align:{{#if:{{{align|}}}|{{#switch:{{#invoke:String|pos|{{{align}}}|4}}|l=left|c=center|r=right|d=right}}|right}}">{{{note2}}}</td>}} </tr> </includeonly><noinclude>{{Documentation}} {{Graph, chart and plot formatting and function templates}} </noinclude> 0y621fcw6q1a37sbf5sgmh1rv31wnss 309754 309753 2026-09-26T17:40:59Z Isma4l 41797 309754 wikitext text/x-wiki <includeonly> <tr {{#if:{{{id|}}}|class="mw-collapsible {{#switch:{{{collapsed}}}|yes|y|1=mw-collapsed}}" id="mw-customcollapsible-{{{id}}}"}}> <td {{#if:{{{note1|}}}||colspan="2"}} style="padding-left:0.4em;padding-right:0.4em;text-align:{{#if:{{{align|}}}|{{#switch:{{#invoke:String|pos|{{{align}}}|1}}|l=left|c=center|r=right|d=left}}|left}}">{{#if:1|{{{1|}}}}}</td> {{#if:{{{note1|}}}|<td style="padding-left:0.4em;padding-right:0.4em;text-align:{{#if:{{{align|}}}|{{#switch:{{#invoke:String|pos|{{{align}}}|2}}|l=left|c=center|r=right|d=right}}|right}}">{{{note1}}}</td>}} <td style="border-left:1px solid silver;border-right:1px solid silver">{{#ifeq:{{#if:1|{{{4|0}}}}}|0|| <div {{#if:{{{title1|}}}|title="{{{title1}}}"}} style="background:{{{3|gray}}};float:left;overflow:hidden;width:{{#expr:{{#if:1|{{{4}}}}}round2}}px">&#8203;</div>}}{{#ifeq:{{#if:1|{{{6|0}}}}}|0|| <div {{#if:{{{title2|}}}|title="{{{title2}}}"}} style="background:{{{5|gray}}};float:left;overflow:hidden;width:{{#expr:{{#if:1|{{{6}}}}}round2}}px">&#8203;</div>}}{{#ifeq:{{#if:1|{{{8|0}}}}}|0|| <div {{#if:{{{title3|}}}|title="{{{title3}}}"}} style="background:{{{7|gray}}};float:left;overflow:hidden;width:{{#expr:{{#if:1|{{{8}}}}}round2}}px">&#8203;</div>}}{{#ifeq:{{#if:1|{{{10|0}}}}}|0|| <div {{#if:{{{title4|}}}|title="{{{title4}}}"}} style="background:{{{9|gray}}};float:left;overflow:hidden;width:{{#expr:{{#if:1|{{{10}}}}}round2}}px">&#8203;</div>}}{{#ifeq:{{#if:1|{{{12|0}}}}}|0|| <div {{#if:{{{title5|}}}|title="{{{title5}}}"}} style="background:{{{11|gray}}};float:left;overflow:hidden;width:{{#expr:{{#if:1|{{{12}}}}}round2}}px">&#8203;</div>}} </td> <td {{#if:{{{note2|}}}||colspan="2"}} style="padding-left:0.4em;padding-right:0.4em;text-align:{{#if:{{{align|}}}|{{#switch:{{#invoke:String|pos|{{{align}}}|3}}|l=left|c=center|r=right|d=left}}|left}}">{{#if:1|{{{2|}}}}}</td> {{#if:{{{note2|}}}|<td style="padding-left:0.4em;padding-right:0.4em;text-align:{{#if:{{{align|}}}|{{#switch:{{#invoke:String|pos|{{{align}}}|4}}|l=left|c=center|r=right|d=right}}|right}}">{{{note2}}}</td>}} </tr> </includeonly><noinclude>{{Documentation}} </noinclude> qa7iml0bdja3xf459rjdy6frfvot8su Template:Brick chart 10 53334 309755 2026-09-26T17:41:30Z Isma4l 41797 Bog cusub: <includeonly>{{#ifeq:{{{thumb|}}}|center|<div class="center">}}<div class="BrickChartTemplate thumb t{{#switch:{{{thumb|}}}|center|none=none|left=left|#default=right}}" {{#if:{{{style|}}}|style="{{{style|}}}"}}> <div class="thumbinner" style="width:{{#expr:{{{width|180}}}+2}}px"> <div style="position:relative; width:{{{width|180}}}px; height:{{#expr:ceil({{{total|100}}}/{{{stride|10}}})*{{{width|180}}}/{{{stride|10}}}}}px; overflow:hidden; background:white; border:solid 1px silve... 309755 wikitext text/x-wiki <includeonly>{{#ifeq:{{{thumb|}}}|center|<div class="center">}}<div class="BrickChartTemplate thumb t{{#switch:{{{thumb|}}}|center|none=none|left=left|#default=right}}" {{#if:{{{style|}}}|style="{{{style|}}}"}}> <div class="thumbinner" style="width:{{#expr:{{{width|180}}}+2}}px"> <div style="position:relative; width:{{{width|180}}}px; height:{{#expr:ceil({{{total|100}}}/{{{stride|10}}})*{{{width|180}}}/{{{stride|10}}}}}px; overflow:hidden; background:white; border:solid 1px silver "> <div style="width:{{{width|180}}}px;height:{{{width|180}}}px;font-size:{{#expr:{{{width|180}}}/{{{stride|10}}}}}px;text-align:left"> {{#if:{{{value1|}}} | {{Brick chart/{{{style|Bricks}}} | offset = 0 | count = ({{{value1|0}}}) / {{{brick_size|1}}} | color = {{{color1|red}}} | stride = {{{stride|10}}} }} }}{{#if:{{{value2|}}} | {{Brick chart/{{{style|Bricks}}} | offset = ({{{value1|0}}}) / {{{brick_size|1}}} | count = ( {{{value2}}} ) / {{{brick_size|1}}} | color = {{{color2|green}}} | stride = {{{stride|10}}} }} }}{{#if:{{{value3|}}} | {{Brick chart/{{{style|Bricks}}} | offset = ({{{value1|0}}}+{{{value2|0}}} ) / {{{brick_size|1}}} | count = ( {{{value3}}} ) / {{{brick_size|1}}} | color = {{{color3|blue}}} | stride = {{{stride|10}}} }} }}{{#if:{{{value4|}}} | {{Brick chart/{{{style|Bricks}}} | offset = ({{{value1|0}}}+{{{value2|0}}}+{{{value3|0}}} ) / {{{brick_size|1}}} | count = ( {{{value4}}} ) / {{{brick_size|1}}} | color = {{{color4|yellow}}} | stride = {{{stride|10}}} }} }}{{#if:{{{value5|}}} | {{Brick chart/{{{style|Bricks}}} | offset = ({{{value1|0}}}+{{{value2|0}}}+{{{value3|0}}}+{{{value4|0}}} ) / {{{brick_size|1}}} | count = ( {{{value5}}} ) / {{{brick_size|1}}} | color = {{{color5|magenta}}} | stride = {{{stride|10}}} }} }}{{#if:{{{value6|}}} | {{Brick chart/{{{style|Bricks}}} | offset = ({{{value1|0}}}+{{{value2|0}}}+{{{value3|0}}}+{{{value4|0}}}+{{{value5|0}}} ) / {{{brick_size|1}}} | count = ( {{{value6}}} ) / {{{brick_size|1}}} | color = {{{color6|cyan}}} | stride = {{{stride|10}}} }} }}{{#if:{{{value7|}}} | {{Brick chart/{{{style|Bricks}}} | offset = ({{{value1|0}}}+{{{value2|0}}}+{{{value3|0}}}+{{{value4|0}}}+{{{value5|0}}}+{{{value6|0}}} ) / {{{brick_size|1}}} | count = ( {{{value7}}} ) / {{{brick_size|1}}} | color = {{{color7|brown}}} | stride = {{{stride|10}}} }} }}{{#if:{{{value8|}}} | {{Brick chart/{{{style|Bricks}}} | offset = ( {{{value1|0}}}+{{{value2|0}}}+{{{value3|0}}}+{{{value4|0}}}+{{{value5|0}}}+{{{value6|0}}}+{{{value7|0}}} ) / {{{brick_size|1}}} | count = ( {{{value8}}} ) / {{{brick_size|1}}} | color = {{{color8|orange}}} | stride = {{{stride|10}}} }} }}{{#if:{{{value9|}}} | {{Brick chart/{{{style|Bricks}}} | offset = ({{{value1|0}}}+{{{value2|0}}}+{{{value3|0}}}+{{{value4|0}}}+{{{value5|0}}}+{{{value6|0}}}+{{{value7|0}}}+{{{value8|0}}} ) / {{{brick_size|1}}} | count = ( {{{value9}}} ) / {{{brick_size|1}}} | color = {{{color9|purple}}} | stride = {{{stride|10}}} }} }} </div> </div> <div class="thumbcaption" {{#ifeq:{{{thumb|}}}|center|style="text-align:left"}}> {{{caption|}}} <div style="margin:{{{legend_margin|3px 0 0 10px}}};"> {{#if:{{{value1|}}}|{{legend|{{{color1|red}}}|{{{label1|}}} - {{{value1}}} {{{unit|%}}}}} }}{{#if:{{{value2|}}}|{{legend|{{{color2|green}}}|{{{label2|}}} - {{{value2}}} {{{unit|%}}}}} }}{{#if:{{{value3|}}}|{{legend|{{{color3|blue}}}|{{{label3|}}} - {{{value3}}} {{{unit|%}}}}} }}{{#if:{{{value4|}}}|{{legend|{{{color4|yellow}}}|{{{label4|}}} - {{{value4}}} {{{unit|%}}}}} }}{{#if:{{{value5|}}}|{{legend|{{{color5|magenta}}}|{{{label5|}}} - {{{value5}}} {{{unit|%}}}}} }}{{#if:{{{value6|}}}|{{legend|{{{color6|cyan}}}|{{{label6|}}} - {{{value6}}} {{{unit|%}}}}} }}{{#if:{{{value7|}}}|{{legend|{{{color7|brown}}}|{{{label7|}}} - {{{value7}}} {{{unit|%}}}}} }}{{#if:{{{value8|}}}|{{legend|{{{color8|orange}}}|{{{label8|}}} - {{{value8}}} {{{unit|%}}}}} }}{{#if:{{{value9|}}}|{{legend|{{{color9|purple}}}|{{{label9|}}} - {{{value9}}} {{{unit|%}}}}} }}{{#ifexpr:({{{value1|0}}}+{{{value2|0}}}+{{{value3|0}}}+{{{value4|0}}}+{{{value5|0}}}+{{{value6|0}}}+{{{value7|0}}}+{{{value8|0}}}+{{{value9|0}}})<{{{total|100}}}|{{legend|white|outline=silver|{{{other|Other}}} - {{#expr:{{{total|100}}}-({{{value1|0}}}+{{{value2|0}}}+{{{value3|0}}}+{{{value4|0}}}+{{{value5|0}}}+{{{value6|0}}}+{{{value7|0}}}+{{{value8|0}}}+{{{value9|0}}})}} {{{unit|%}}}}}}} </div><!--end div margin--> </div> </div> </div>{{#ifeq:{{{thumb|}}}|center|</div>}}</includeonly><noinclude> {{Documentation}} </noinclude> i08iexv5mherg34nf58c352xielnd2a Template:Data bars 10 53335 309756 2026-09-26T17:42:05Z Isma4l 41797 Bog cusub: <includeonly>{| align="{{{align|{{{float|none}}}}}}" cellspacing="8" cellpadding="0" class="plainlinks" {{#if:{{#ifexpr:1*{{{style|1}}}}}||{{#ifexpr:{{{style|1}}}*{{#expr:{{{style|1}}}<>5}}*{{#expr:{{{style|1}}}<>6}}*{{#expr:{{{style|1}}}<>9}}*{{#expr:{{{style|1}}}<>10}}*{{#expr:{{{style|1}}}<>13}}*{{#expr:{{{style|1}}}<>14}}>2|style="background:#eee; border-left:2px solid #ccc; border-top:2px solid #ccc; border-right:2px solid #777; border-bottom:2px solid #777;"|}}}} {{#if:{{{t... 309756 wikitext text/x-wiki <includeonly>{| align="{{{align|{{{float|none}}}}}}" cellspacing="8" cellpadding="0" class="plainlinks" {{#if:{{#ifexpr:1*{{{style|1}}}}}||{{#ifexpr:{{{style|1}}}*{{#expr:{{{style|1}}}<>5}}*{{#expr:{{{style|1}}}<>6}}*{{#expr:{{{style|1}}}<>9}}*{{#expr:{{{style|1}}}<>10}}*{{#expr:{{{style|1}}}<>13}}*{{#expr:{{{style|1}}}<>14}}>2|style="background:#eee; border-left:2px solid #ccc; border-top:2px solid #ccc; border-right:2px solid #777; border-bottom:2px solid #777;"|}}}} {{#if:{{{title|}}}| {{!}} colspan="2" align="center" {{!}} '''{{{title}}}'''{{#if:{{{subtitle|}}}|<br/><sup>{{{subtitle}}}</sup>|}}|}} {{#if:{{{{{#expr:3+(2*{{{columns|1}}})}}|}}}|| {{!}}- {{!}} style="text-align:center;" {{!}} {{{{{#expr:2+{{{columns|1}}}}}|}}}}} |- | {| {{#if:{{#ifexpr:1*{{{style|1}}}}}||{{#ifexpr:{{#expr:{{{style|1}}} / 2 round 0 }}*2={{{style|1}}}|cellspacing="8"|}}}} style="text-align:center;border-collapse:collapse;{{#if:{{#ifexpr:1*{{{style|1}}}}}||{{#ifexpr:{{{style|1}}}*{{#expr:{{{style|1}}}<>5}}*{{#expr:{{{style|1}}}<>6}}*{{#expr:{{{style|1}}}<>9}}*{{#expr:{{{style|1}}}<>10}}*{{#expr:{{{style|1}}}<>13}}*{{#expr:{{{style|1}}}<>14}}>2|background:#eee; border-left:1px solid #777; border-top:1px solid #777; border-right:1px solid #ccc; border-bottom:1px solid #ccc;|}}}}" | style="text-align:center;" {{#if:{{#ifexpr:1*{{{style|1}}}}}||{{#ifexpr:{{{style|1}}}*{{#expr:{{{style|1}}}<>5}}*{{#expr:{{{style|1}}}<>6}}*{{#expr:{{{style|1}}}<>9}}*{{#expr:{{{style|1}}}<>10}}*{{#expr:{{{style|1}}}<>13}}*{{#expr:{{{style|1}}}<>14}}>2|style="padding:8px 8px 8px 8px;"|}}}} | {| cellspacing="0" cellpadding="2" |- style="vertical-align:bottom;" <!------------- -- Column 1 -- --------------> {{#if:{{#ifexpr:1*{{{style|1}}}}}||{{#ifexpr:{{#expr:{{{style|1}}} / 2 round 0 }}*2={{{style|1}}}| ! style="text-align:right;vertical-align:bottom;padding-right:4px;" {{!}} {{{1|xxx}}}|}}}} {{Data bars/column | detailed = {{#if:{{#ifexpr:1*{{{style|1}}}}}||{{#ifexpr:{{{style|1}}}<5||{{#ifexpr:{{{style|1}}}>8|{{#ifexpr:{{{style|1}}}<13||true}}|true}}}}}} | scale={{#if:{{#ifexpr:1*{{{scale|1}}}}}|1|{{{scale|1}}}}} | style={{#if:{{#ifexpr:1*{{{style|1}}}}}|1|{{{style|1}}}}} | color1 = {{{{{#expr:1+{{{columns|1}}}}}|#ddd}}} | color2 = {{{{{#expr:3+(2*{{{columns|1}}})}}|#ddd}}} | color3 = {{{{{#expr:5+(3*{{{columns|1}}})}}|#ddd}}} | color4 = {{{{{#expr:7+(4*{{{columns|1}}})}}|#ddd}}} | color5 = {{{{{#expr:9+(5*{{{columns|1}}})}}|#ddd}}} | color6 = {{{{{#expr:11+(6*{{{columns|1}}})}}|#ddd}}} | color7 = {{{{{#expr:13+(7*{{{columns|1}}})}}|#ddd}}} | color8 = {{{{{#expr:15+(8*{{{columns|1}}})}}|#ddd}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:{{{columns|1}}} + 3}}|}}}}}|0|{{{{{#expr:{{{columns|1}}} + 3}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:2*{{{columns|1}}}+5}}|}}}}}|0|{{{{{#expr:2*{{{columns|1}}}+5}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:3*{{{columns|1}}}+7}}|}}}}}|0|{{{{{#expr:3*{{{columns|1}}}+7}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:4*{{{columns|1}}}+9}}|}}}}}|0|{{{{{#expr:4*{{{columns|1}}}+9}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:5*{{{columns|1}}}+11}}|}}}}}|0|{{{{{#expr:5*{{{columns|1}}}+11}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:6*{{{columns|1}}}+13}}|}}}}}|0|{{{{{#expr:6*{{{columns|1}}}+13}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:7*{{{columns|1}}}+15}}|}}}}}|0|{{{{{#expr:7*{{{columns|1}}}+15}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:8*{{{columns|1}}}+17}}|}}}}}|0|{{{{{#expr:8*{{{columns|1}}}+17}}|0}}}}} }} <!------------- -- Column 2 -- -------------->{{#ifexpr:{{{columns|1}}}>1| {{#if:{{#ifexpr:1*{{{style|1}}}}}||{{#ifexpr:{{#expr:{{{style|1}}} / 2 round 0 }}*2={{{style|1}}}| ! style="text-align:right;vertical-align:bottom;padding-right:4px;" {{!}} {{{2|xxx}}}|}}}} {{Data bars/column | detailed = {{#if:{{#ifexpr:1*{{{style|1}}}}}||{{#ifexpr:{{{style|1}}}<5||{{#ifexpr:{{{style|1}}}>8|{{#ifexpr:{{{style|1}}}<13||true}}|true}}}}}} | scale={{#if:{{#ifexpr:1*{{{scale|1}}}}}|1|{{{scale|1}}}}} | style={{#if:{{#ifexpr:1*{{{style|1}}}}}|1|{{{style|1}}}}} | color1 = {{{{{#expr:1+{{{columns|1}}}}}|#ddd}}} | color2 = {{{{{#expr:3+(2*{{{columns|1}}})}}|#ddd}}} | color3 = {{{{{#expr:5+(3*{{{columns|1}}})}}|#ddd}}} | color4 = {{{{{#expr:7+(4*{{{columns|1}}})}}|#ddd}}} | color5 = {{{{{#expr:9+(5*{{{columns|1}}})}}|#ddd}}} | color6 = {{{{{#expr:11+(6*{{{columns|1}}})}}|#ddd}}} | color7 = {{{{{#expr:13+(7*{{{columns|1}}})}}|#ddd}}} | color8 = {{{{{#expr:15+(8*{{{columns|1}}})}}|#ddd}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:{{{columns|1}}} + 4}}|}}}}}|0|{{{{{#expr:{{{columns|1}}} + 4}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:2*{{{columns|1}}}+6}}|}}}}}|0|{{{{{#expr:2*{{{columns|1}}}+6}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:3*{{{columns|1}}}+8}}|}}}}}|0|{{{{{#expr:3*{{{columns|1}}}+8}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:4*{{{columns|1}}}+10}}|}}}}}|0|{{{{{#expr:4*{{{columns|1}}}+10}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:5*{{{columns|1}}}+12}}|}}}}}|0|{{{{{#expr:5*{{{columns|1}}}+12}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:6*{{{columns|1}}}+14}}|}}}}}|0|{{{{{#expr:6*{{{columns|1}}}+14}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:7*{{{columns|1}}}+16}}|}}}}}|0|{{{{{#expr:7*{{{columns|1}}}+16}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:8*{{{columns|1}}}+18}}|}}}}}|0|{{{{{#expr:8*{{{columns|1}}}+18}}|0}}}}} }} <!------------- -- Column 3 -- -------------->{{#ifexpr:{{{columns|1}}}>2| {{#if:{{#ifexpr:1*{{{style|1}}}}}||{{#ifexpr:{{#expr:{{{style|1}}} / 2 round 0 }}*2={{{style|1}}}| ! style="text-align:right;vertical-align:bottom;padding-right:4px;" {{!}} {{{3|xxx}}}|}}}} {{Data bars/column | detailed = {{#if:{{#ifexpr:1*{{{style|1}}}}}||{{#ifexpr:{{{style|1}}}<5||{{#ifexpr:{{{style|1}}}>8|{{#ifexpr:{{{style|1}}}<13||true}}|true}}}}}} | scale={{#if:{{#ifexpr:1*{{{scale|1}}}}}|1|{{{scale|1}}}}} | style={{#if:{{#ifexpr:1*{{{style|1}}}}}|1|{{{style|1}}}}} | color1 = {{{{{#expr:1+{{{columns|1}}}}}|#ddd}}} | color2 = {{{{{#expr:3+(2*{{{columns|1}}})}}|#ddd}}} | color3 = {{{{{#expr:5+(3*{{{columns|1}}})}}|#ddd}}} | color4 = {{{{{#expr:7+(4*{{{columns|1}}})}}|#ddd}}} | color5 = {{{{{#expr:9+(5*{{{columns|1}}})}}|#ddd}}} | color6 = {{{{{#expr:11+(6*{{{columns|1}}})}}|#ddd}}} | color7 = {{{{{#expr:13+(7*{{{columns|1}}})}}|#ddd}}} | color8 = {{{{{#expr:15+(8*{{{columns|1}}})}}|#ddd}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:{{{columns|1}}} + 5}}|}}}}}|0|{{{{{#expr:{{{columns|1}}} + 5}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:2*{{{columns|1}}}+7}}|}}}}}|0|{{{{{#expr:2*{{{columns|1}}}+7}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:3*{{{columns|1}}}+9}}|}}}}}|0|{{{{{#expr:3*{{{columns|1}}}+9}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:4*{{{columns|1}}}+11}}|}}}}}|0|{{{{{#expr:4*{{{columns|1}}}+11}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:5*{{{columns|1}}}+13}}|}}}}}|0|{{{{{#expr:5*{{{columns|1}}}+13}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:6*{{{columns|1}}}+15}}|}}}}}|0|{{{{{#expr:6*{{{columns|1}}}+15}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:7*{{{columns|1}}}+17}}|}}}}}|0|{{{{{#expr:7*{{{columns|1}}}+17}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:8*{{{columns|1}}}+19}}|}}}}}|0|{{{{{#expr:8*{{{columns|1}}}+19}}|0}}}}} }} <!------------- -- Column 4 -- -------------->{{#ifexpr:{{{columns|1}}}>3| {{#if:{{#ifexpr:1*{{{style|1}}}}}||{{#ifexpr:{{#expr:{{{style|1}}} / 2 round 0 }}*2={{{style|1}}}| ! style="text-align:right;vertical-align:bottom;padding-right:4px;" {{!}} {{{4|xxx}}}|}}}} {{Data bars/column | detailed = {{#if:{{#ifexpr:1*{{{style|1}}}}}||{{#ifexpr:{{{style|1}}}<5||{{#ifexpr:{{{style|1}}}>8|{{#ifexpr:{{{style|1}}}<13||true}}|true}}}}}} | scale={{#if:{{#ifexpr:1*{{{scale|1}}}}}|1|{{{scale|1}}}}} | style={{#if:{{#ifexpr:1*{{{style|1}}}}}|1|{{{style|1}}}}} | color1 = {{{{{#expr:1+{{{columns|1}}}}}|#ddd}}} | color2 = {{{{{#expr:3+(2*{{{columns|1}}})}}|#ddd}}} | color3 = {{{{{#expr:5+(3*{{{columns|1}}})}}|#ddd}}} | color4 = {{{{{#expr:7+(4*{{{columns|1}}})}}|#ddd}}} | color5 = {{{{{#expr:9+(5*{{{columns|1}}})}}|#ddd}}} | color6 = {{{{{#expr:11+(6*{{{columns|1}}})}}|#ddd}}} | color7 = {{{{{#expr:13+(7*{{{columns|1}}})}}|#ddd}}} | color8 = {{{{{#expr:15+(8*{{{columns|1}}})}}|#ddd}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:{{{columns|1}}} + 6}}|}}}}}|0|{{{{{#expr:{{{columns|1}}} + 6}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:2*{{{columns|1}}}+8}}|}}}}}|0|{{{{{#expr:2*{{{columns|1}}}+8}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:3*{{{columns|1}}}+10}}|}}}}}|0|{{{{{#expr:3*{{{columns|1}}}+10}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:4*{{{columns|1}}}+12}}|}}}}}|0|{{{{{#expr:4*{{{columns|1}}}+12}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:5*{{{columns|1}}}+14}}|}}}}}|0|{{{{{#expr:5*{{{columns|1}}}+14}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:6*{{{columns|1}}}+16}}|}}}}}|0|{{{{{#expr:6*{{{columns|1}}}+16}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:7*{{{columns|1}}}+18}}|}}}}}|0|{{{{{#expr:7*{{{columns|1}}}+18}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:8*{{{columns|1}}}+20}}|}}}}}|0|{{{{{#expr:8*{{{columns|1}}}+20}}|0}}}}} }} <!------------- -- Column 5 -- -------------->{{#ifexpr:{{{columns|1}}}>4| {{#if:{{#ifexpr:1*{{{style|1}}}}}||{{#ifexpr:{{#expr:{{{style|1}}} / 2 round 0 }}*2={{{style|1}}}| ! style="text-align:right;vertical-align:bottom;padding-right:4px;" {{!}} {{{5|xxx}}}|}}}} {{Data bars/column | detailed = {{#if:{{#ifexpr:1*{{{style|1}}}}}||{{#ifexpr:{{{style|1}}}<5||{{#ifexpr:{{{style|1}}}>8|{{#ifexpr:{{{style|1}}}<13||true}}|true}}}}}} | scale={{#if:{{#ifexpr:1*{{{scale|1}}}}}|1|{{{scale|1}}}}} | style={{#if:{{#ifexpr:1*{{{style|1}}}}}|1|{{{style|1}}}}} | color1 = {{{{{#expr:1+{{{columns|1}}}}}|#ddd}}} | color2 = {{{{{#expr:3+(2*{{{columns|1}}})}}|#ddd}}} | color3 = {{{{{#expr:5+(3*{{{columns|1}}})}}|#ddd}}} | color4 = {{{{{#expr:7+(4*{{{columns|1}}})}}|#ddd}}} | color5 = {{{{{#expr:9+(5*{{{columns|1}}})}}|#ddd}}} | color6 = {{{{{#expr:11+(6*{{{columns|1}}})}}|#ddd}}} | color7 = {{{{{#expr:13+(7*{{{columns|1}}})}}|#ddd}}} | color8 = {{{{{#expr:15+(8*{{{columns|1}}})}}|#ddd}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:{{{columns|1}}} + 7}}|}}}}}|0|{{{{{#expr:{{{columns|1}}} + 7}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:2*{{{columns|1}}}+9}}|}}}}}|0|{{{{{#expr:2*{{{columns|1}}}+9}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:3*{{{columns|1}}}+11}}|}}}}}|0|{{{{{#expr:3*{{{columns|1}}}+11}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:4*{{{columns|1}}}+13}}|}}}}}|0|{{{{{#expr:4*{{{columns|1}}}+13}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:5*{{{columns|1}}}+15}}|}}}}}|0|{{{{{#expr:5*{{{columns|1}}}+15}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:6*{{{columns|1}}}+17}}|}}}}}|0|{{{{{#expr:6*{{{columns|1}}}+17}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:7*{{{columns|1}}}+19}}|}}}}}|0|{{{{{#expr:7*{{{columns|1}}}+19}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:8*{{{columns|1}}}+21}}|}}}}}|0|{{{{{#expr:8*{{{columns|1}}}+21}}|0}}}}} }} <!------------- -- Column 6 -- -------------->{{#ifexpr:{{{columns|1}}}>5| {{#if:{{#ifexpr:1*{{{style|1}}}}}||{{#ifexpr:{{#expr:{{{style|1}}} / 2 round 0 }}*2={{{style|1}}}| ! style="text-align:right;vertical-align:bottom;padding-right:4px;" {{!}} {{{6|xxx}}}|}}}} {{Data bars/column | detailed = {{#if:{{#ifexpr:1*{{{style|1}}}}}||{{#ifexpr:{{{style|1}}}<5||{{#ifexpr:{{{style|1}}}>8|{{#ifexpr:{{{style|1}}}<13||true}}|true}}}}}} | scale={{#if:{{#ifexpr:1*{{{scale|1}}}}}|1|{{{scale|1}}}}} | style={{#if:{{#ifexpr:1*{{{style|1}}}}}|1|{{{style|1}}}}} | color1 = {{{{{#expr:1+{{{columns|1}}}}}|#ddd}}} | color2 = {{{{{#expr:3+(2*{{{columns|1}}})}}|#ddd}}} | color3 = {{{{{#expr:5+(3*{{{columns|1}}})}}|#ddd}}} | color4 = {{{{{#expr:7+(4*{{{columns|1}}})}}|#ddd}}} | color5 = {{{{{#expr:9+(5*{{{columns|1}}})}}|#ddd}}} | color6 = {{{{{#expr:11+(6*{{{columns|1}}})}}|#ddd}}} | color7 = {{{{{#expr:13+(7*{{{columns|1}}})}}|#ddd}}} | color8 = {{{{{#expr:15+(8*{{{columns|1}}})}}|#ddd}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:{{{columns|1}}} + 8}}|}}}}}|0|{{{{{#expr:{{{columns|1}}} + 8}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:2*{{{columns|1}}}+10}}|}}}}}|0|{{{{{#expr:2*{{{columns|1}}}+10}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:3*{{{columns|1}}}+12}}|}}}}}|0|{{{{{#expr:3*{{{columns|1}}}+12}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:4*{{{columns|1}}}+14}}|}}}}}|0|{{{{{#expr:4*{{{columns|1}}}+14}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:5*{{{columns|1}}}+16}}|}}}}}|0|{{{{{#expr:5*{{{columns|1}}}+16}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:6*{{{columns|1}}}+18}}|}}}}}|0|{{{{{#expr:6*{{{columns|1}}}+18}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:7*{{{columns|1}}}+20}}|}}}}}|0|{{{{{#expr:7*{{{columns|1}}}+20}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:8*{{{columns|1}}}+22}}|}}}}}|0|{{{{{#expr:8*{{{columns|1}}}+22}}|0}}}}} }} <!------------- -- Column 7 -- -------------->{{#ifexpr:{{{columns|1}}}>6| {{#if:{{#ifexpr:1*{{{style|1}}}}}||{{#ifexpr:{{#expr:{{{style|1}}} / 2 round 0 }}*2={{{style|1}}}| ! style="text-align:right;vertical-align:bottom;padding-right:4px;" {{!}} {{{7|xxx}}}|}}}} {{Data bars/column | detailed = {{#if:{{#ifexpr:1*{{{style|1}}}}}||{{#ifexpr:{{{style|1}}}<5||{{#ifexpr:{{{style|1}}}>8|{{#ifexpr:{{{style|1}}}<13||true}}|true}}}}}} | scale={{#if:{{#ifexpr:1*{{{scale|1}}}}}|1|{{{scale|1}}}}} | style={{#if:{{#ifexpr:1*{{{style|1}}}}}|1|{{{style|1}}}}} | color1 = {{{{{#expr:1+{{{columns|1}}}}}|#ddd}}} | color2 = {{{{{#expr:3+(2*{{{columns|1}}})}}|#ddd}}} | color3 = {{{{{#expr:5+(3*{{{columns|1}}})}}|#ddd}}} | color4 = {{{{{#expr:7+(4*{{{columns|1}}})}}|#ddd}}} | color5 = {{{{{#expr:9+(5*{{{columns|1}}})}}|#ddd}}} | color6 = {{{{{#expr:11+(6*{{{columns|1}}})}}|#ddd}}} | color7 = {{{{{#expr:13+(7*{{{columns|1}}})}}|#ddd}}} | color8 = {{{{{#expr:15+(8*{{{columns|1}}})}}|#ddd}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:{{{columns|1}}} + 9}}|}}}}}|0|{{{{{#expr:{{{columns|1}}} + 9}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:2*{{{columns|1}}}+11}}|}}}}}|0|{{{{{#expr:2*{{{columns|1}}}+11}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:3*{{{columns|1}}}+13}}|}}}}}|0|{{{{{#expr:3*{{{columns|1}}}+13}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:4*{{{columns|1}}}+15}}|}}}}}|0|{{{{{#expr:4*{{{columns|1}}}+15}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:5*{{{columns|1}}}+17}}|}}}}}|0|{{{{{#expr:5*{{{columns|1}}}+17}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:6*{{{columns|1}}}+19}}|}}}}}|0|{{{{{#expr:6*{{{columns|1}}}+19}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:7*{{{columns|1}}}+21}}|}}}}}|0|{{{{{#expr:7*{{{columns|1}}}+21}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:8*{{{columns|1}}}+23}}|}}}}}|0|{{{{{#expr:8*{{{columns|1}}}+23}}|0}}}}} }} <!------------- -- Column 8 -- -------------->{{#ifexpr:{{{columns|1}}}>7| {{#if:{{#ifexpr:1*{{{style|1}}}}}||{{#ifexpr:{{#expr:{{{style|1}}} / 2 round 0 }}*2={{{style|1}}}| ! style="text-align:right;vertical-align:bottom;padding-right:4px;" {{!}} {{{8|xxx}}}|}}}} {{Data bars/column | detailed = {{#if:{{#ifexpr:1*{{{style|1}}}}}||{{#ifexpr:{{{style|1}}}<5||{{#ifexpr:{{{style|1}}}>8|{{#ifexpr:{{{style|1}}}<13||true}}|true}}}}}} | scale={{#if:{{#ifexpr:1*{{{scale|1}}}}}|1|{{{scale|1}}}}} | style={{#if:{{#ifexpr:1*{{{style|1}}}}}|1|{{{style|1}}}}} | color1 = {{{{{#expr:1+{{{columns|1}}}}}|#ddd}}} | color2 = {{{{{#expr:3+(2*{{{columns|1}}})}}|#ddd}}} | color3 = {{{{{#expr:5+(3*{{{columns|1}}})}}|#ddd}}} | color4 = {{{{{#expr:7+(4*{{{columns|1}}})}}|#ddd}}} | color5 = {{{{{#expr:9+(5*{{{columns|1}}})}}|#ddd}}} | color6 = {{{{{#expr:11+(6*{{{columns|1}}})}}|#ddd}}} | color7 = {{{{{#expr:13+(7*{{{columns|1}}})}}|#ddd}}} | color8 = {{{{{#expr:15+(8*{{{columns|1}}})}}|#ddd}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:{{{columns|1}}} + 10}}|}}}}}|0|{{{{{#expr:{{{columns|1}}} + 10}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:2*{{{columns|1}}}+12}}|}}}}}|0|{{{{{#expr:2*{{{columns|1}}}+12}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:3*{{{columns|1}}}+14}}|}}}}}|0|{{{{{#expr:3*{{{columns|1}}}+14}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:4*{{{columns|1}}}+16}}|}}}}}|0|{{{{{#expr:4*{{{columns|1}}}+16}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:5*{{{columns|1}}}+18}}|}}}}}|0|{{{{{#expr:5*{{{columns|1}}}+18}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:6*{{{columns|1}}}+20}}|}}}}}|0|{{{{{#expr:6*{{{columns|1}}}+20}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:7*{{{columns|1}}}+22}}|}}}}}|0|{{{{{#expr:7*{{{columns|1}}}+22}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:8*{{{columns|1}}}+24}}|}}}}}|0|{{{{{#expr:8*{{{columns|1}}}+24}}|0}}}}} }} <!------------- -- Column 9 -- -------------->{{#ifexpr:{{{columns|1}}}>8| {{#if:{{#ifexpr:1*{{{style|1}}}}}||{{#ifexpr:{{#expr:{{{style|1}}} / 2 round 0 }}*2={{{style|1}}}| ! style="text-align:right;vertical-align:bottom;padding-right:4px;" {{!}} {{{9|xxx}}}|}}}} {{Data bars/column | detailed = {{#if:{{#ifexpr:1*{{{style|1}}}}}||{{#ifexpr:{{{style|1}}}<5||{{#ifexpr:{{{style|1}}}>8|{{#ifexpr:{{{style|1}}}<13||true}}|true}}}}}} | scale={{#if:{{#ifexpr:1*{{{scale|1}}}}}|1|{{{scale|1}}}}} | style={{#if:{{#ifexpr:1*{{{style|1}}}}}|1|{{{style|1}}}}} | color1 = {{{{{#expr:1+{{{columns|1}}}}}|#ddd}}} | color2 = {{{{{#expr:3+(2*{{{columns|1}}})}}|#ddd}}} | color3 = {{{{{#expr:5+(3*{{{columns|1}}})}}|#ddd}}} | color4 = {{{{{#expr:7+(4*{{{columns|1}}})}}|#ddd}}} | color5 = {{{{{#expr:9+(5*{{{columns|1}}})}}|#ddd}}} | color6 = {{{{{#expr:11+(6*{{{columns|1}}})}}|#ddd}}} | color7 = {{{{{#expr:13+(7*{{{columns|1}}})}}|#ddd}}} | color8 = {{{{{#expr:15+(8*{{{columns|1}}})}}|#ddd}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:{{{columns|1}}} + 11}}|}}}}}|0|{{{{{#expr:{{{columns|1}}} + 11}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:2*{{{columns|1}}}+13}}|}}}}}|0|{{{{{#expr:2*{{{columns|1}}}+13}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:3*{{{columns|1}}}+15}}|}}}}}|0|{{{{{#expr:3*{{{columns|1}}}+15}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:4*{{{columns|1}}}+17}}|}}}}}|0|{{{{{#expr:4*{{{columns|1}}}+17}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:5*{{{columns|1}}}+19}}|}}}}}|0|{{{{{#expr:5*{{{columns|1}}}+19}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:6*{{{columns|1}}}+21}}|}}}}}|0|{{{{{#expr:6*{{{columns|1}}}+21}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:7*{{{columns|1}}}+23}}|}}}}}|0|{{{{{#expr:7*{{{columns|1}}}+23}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:8*{{{columns|1}}}+25}}|}}}}}|0|{{{{{#expr:8*{{{columns|1}}}+25}}|0}}}}} }} <!------------- -- Column 10 -- -------------->{{#ifexpr:{{{columns|1}}}>9| {{#if:{{#ifexpr:1*{{{style|1}}}}}||{{#ifexpr:{{#expr:{{{style|1}}} / 2 round 0 }}*2={{{style|1}}}| ! style="text-align:right;vertical-align:bottom;padding-right:4px;" {{!}} {{{10|xxx}}}|}}}} {{Data bars/column | detailed = {{#if:{{#ifexpr:1*{{{style|1}}}}}||{{#ifexpr:{{{style|1}}}<5||{{#ifexpr:{{{style|1}}}>8|{{#ifexpr:{{{style|1}}}<13||true}}|true}}}}}} | scale={{#if:{{#ifexpr:1*{{{scale|1}}}}}|1|{{{scale|1}}}}} | style={{#if:{{#ifexpr:1*{{{style|1}}}}}|1|{{{style|1}}}}} | color1 = {{{{{#expr:1+{{{columns|1}}}}}|#ddd}}} | color2 = {{{{{#expr:3+(2*{{{columns|1}}})}}|#ddd}}} | color3 = {{{{{#expr:5+(3*{{{columns|1}}})}}|#ddd}}} | color4 = {{{{{#expr:7+(4*{{{columns|1}}})}}|#ddd}}} | color5 = {{{{{#expr:9+(5*{{{columns|1}}})}}|#ddd}}} | color6 = {{{{{#expr:11+(6*{{{columns|1}}})}}|#ddd}}} | color7 = {{{{{#expr:13+(7*{{{columns|1}}})}}|#ddd}}} | color8 = {{{{{#expr:15+(8*{{{columns|1}}})}}|#ddd}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:{{{columns|1}}} + 12}}|}}}}}|0|{{{{{#expr:{{{columns|1}}} + 12}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:2*{{{columns|1}}}+14}}|}}}}}|0|{{{{{#expr:2*{{{columns|1}}}+14}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:3*{{{columns|1}}}+16}}|}}}}}|0|{{{{{#expr:3*{{{columns|1}}}+16}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:4*{{{columns|1}}}+18}}|}}}}}|0|{{{{{#expr:4*{{{columns|1}}}+18}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:5*{{{columns|1}}}+20}}|}}}}}|0|{{{{{#expr:5*{{{columns|1}}}+20}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:6*{{{columns|1}}}+22}}|}}}}}|0|{{{{{#expr:6*{{{columns|1}}}+22}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:7*{{{columns|1}}}+24}}|}}}}}|0|{{{{{#expr:7*{{{columns|1}}}+24}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:8*{{{columns|1}}}+26}}|}}}}}|0|{{{{{#expr:8*{{{columns|1}}}+26}}|0}}}}} }} <!------------- -- Column 11 -- -------------->{{#ifexpr:{{{columns|1}}}>10| {{#if:{{#ifexpr:1*{{{style|1}}}}}||{{#ifexpr:{{#expr:{{{style|1}}} / 2 round 0 }}*2={{{style|1}}}| ! style="text-align:right;vertical-align:bottom;padding-right:4px;" {{!}} {{{11|xxx}}}|}}}} {{Data bars/column | detailed = {{#if:{{#ifexpr:1*{{{style|1}}}}}||{{#ifexpr:{{{style|1}}}<5||{{#ifexpr:{{{style|1}}}>8|{{#ifexpr:{{{style|1}}}<13||true}}|true}}}}}} | scale={{#if:{{#ifexpr:1*{{{scale|1}}}}}|1|{{{scale|1}}}}} | style={{#if:{{#ifexpr:1*{{{style|1}}}}}|1|{{{style|1}}}}} | color1 = {{{{{#expr:1+{{{columns|1}}}}}|#ddd}}} | color2 = {{{{{#expr:3+(2*{{{columns|1}}})}}|#ddd}}} | color3 = {{{{{#expr:5+(3*{{{columns|1}}})}}|#ddd}}} | color4 = {{{{{#expr:7+(4*{{{columns|1}}})}}|#ddd}}} | color5 = {{{{{#expr:9+(5*{{{columns|1}}})}}|#ddd}}} | color6 = {{{{{#expr:11+(6*{{{columns|1}}})}}|#ddd}}} | color7 = {{{{{#expr:13+(7*{{{columns|1}}})}}|#ddd}}} | color8 = {{{{{#expr:15+(8*{{{columns|1}}})}}|#ddd}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:{{{columns|1}}} + 13}}|}}}}}|0|{{{{{#expr:{{{columns|1}}} + 13}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:2*{{{columns|1}}}+15}}|}}}}}|0|{{{{{#expr:2*{{{columns|1}}}+15}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:3*{{{columns|1}}}+17}}|}}}}}|0|{{{{{#expr:3*{{{columns|1}}}+17}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:4*{{{columns|1}}}+19}}|}}}}}|0|{{{{{#expr:4*{{{columns|1}}}+19}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:5*{{{columns|1}}}+21}}|}}}}}|0|{{{{{#expr:5*{{{columns|1}}}+21}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:6*{{{columns|1}}}+23}}|}}}}}|0|{{{{{#expr:6*{{{columns|1}}}+23}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:7*{{{columns|1}}}+25}}|}}}}}|0|{{{{{#expr:7*{{{columns|1}}}+25}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:8*{{{columns|1}}}+27}}|}}}}}|0|{{{{{#expr:8*{{{columns|1}}}+27}}|0}}}}} }} <!-------------- -- Column 12 -- --------------->{{#ifexpr:{{{columns|1}}}>11| {{#if:{{#ifexpr:1*{{{style|1}}}}}||{{#ifexpr:{{#expr:{{{style|1}}} / 2 round 0 }}*2={{{style|1}}}| ! style="text-align:right;vertical-align:bottom;padding-right:4px;" {{!}} {{{12|xxx}}}|}}}} {{Data bars/column | detailed = {{#if:{{#ifexpr:1*{{{style|1}}}}}||{{#ifexpr:{{{style|1}}}<5||{{#ifexpr:{{{style|1}}}>8|{{#ifexpr:{{{style|1}}}<13||true}}|true}}}}}} | scale={{#if:{{#ifexpr:1*{{{scale|1}}}}}|1|{{{scale|1}}}}} | style={{#if:{{#ifexpr:1*{{{style|1}}}}}|1|{{{style|1}}}}} | color1 = {{{{{#expr:1+{{{columns|1}}}}}|#ddd}}} | color2 = {{{{{#expr:3+(2*{{{columns|1}}})}}|#ddd}}} | color3 = {{{{{#expr:5+(3*{{{columns|1}}})}}|#ddd}}} | color4 = {{{{{#expr:7+(4*{{{columns|1}}})}}|#ddd}}} | color5 = {{{{{#expr:9+(5*{{{columns|1}}})}}|#ddd}}} | color6 = {{{{{#expr:11+(6*{{{columns|1}}})}}|#ddd}}} | color7 = {{{{{#expr:13+(7*{{{columns|1}}})}}|#ddd}}} | color8 = {{{{{#expr:15+(8*{{{columns|1}}})}}|#ddd}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:{{{columns|1}}} + 14}}|}}}}}|0|{{{{{#expr:{{{columns|1}}} + 14}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:2*{{{columns|1}}}+16}}|}}}}}|0|{{{{{#expr:2*{{{columns|1}}}+16}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:3*{{{columns|1}}}+18}}|}}}}}|0|{{{{{#expr:3*{{{columns|1}}}+18}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:4*{{{columns|1}}}+20}}|}}}}}|0|{{{{{#expr:4*{{{columns|1}}}+20}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:5*{{{columns|1}}}+22}}|}}}}}|0|{{{{{#expr:5*{{{columns|1}}}+22}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:6*{{{columns|1}}}+24}}|}}}}}|0|{{{{{#expr:6*{{{columns|1}}}+24}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:7*{{{columns|1}}}+26}}|}}}}}|0|{{{{{#expr:7*{{{columns|1}}}+26}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:8*{{{columns|1}}}+28}}|}}}}}|0|{{{{{#expr:8*{{{columns|1}}}+28}}|0}}}}} }} <!-------------- -- Column 13 -- --------------->{{#ifexpr:{{{columns|1}}}>12| {{#if:{{#ifexpr:1*{{{style|1}}}}}||{{#ifexpr:{{#expr:{{{style|1}}} / 2 round 0 }}*2={{{style|1}}}| ! style="text-align:right;vertical-align:bottom;padding-right:4px;" {{!}} {{{13|xxx}}}|}}}} {{Data bars/column | detailed = {{#if:{{#ifexpr:1*{{{style|1}}}}}||{{#ifexpr:{{{style|1}}}<5||{{#ifexpr:{{{style|1}}}>8|{{#ifexpr:{{{style|1}}}<13||true}}|true}}}}}} | scale={{#if:{{#ifexpr:1*{{{scale|1}}}}}|1|{{{scale|1}}}}} | style={{#if:{{#ifexpr:1*{{{style|1}}}}}|1|{{{style|1}}}}} | color1 = {{{{{#expr:1+{{{columns|1}}}}}|#ddd}}} | color2 = {{{{{#expr:3+(2*{{{columns|1}}})}}|#ddd}}} | color3 = {{{{{#expr:5+(3*{{{columns|1}}})}}|#ddd}}} | color4 = {{{{{#expr:7+(4*{{{columns|1}}})}}|#ddd}}} | color5 = {{{{{#expr:9+(5*{{{columns|1}}})}}|#ddd}}} | color6 = {{{{{#expr:11+(6*{{{columns|1}}})}}|#ddd}}} | color7 = {{{{{#expr:13+(7*{{{columns|1}}})}}|#ddd}}} | color8 = {{{{{#expr:15+(8*{{{columns|1}}})}}|#ddd}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:{{{columns|1}}} + 15}}|}}}}}|0|{{{{{#expr:{{{columns|1}}} + 15}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:2*{{{columns|1}}}+17}}|}}}}}|0|{{{{{#expr:2*{{{columns|1}}}+17}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:3*{{{columns|1}}}+19}}|}}}}}|0|{{{{{#expr:3*{{{columns|1}}}+19}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:4*{{{columns|1}}}+21}}|}}}}}|0|{{{{{#expr:4*{{{columns|1}}}+21}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:5*{{{columns|1}}}+23}}|}}}}}|0|{{{{{#expr:5*{{{columns|1}}}+23}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:6*{{{columns|1}}}+25}}|}}}}}|0|{{{{{#expr:6*{{{columns|1}}}+25}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:7*{{{columns|1}}}+27}}|}}}}}|0|{{{{{#expr:7*{{{columns|1}}}+27}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:8*{{{columns|1}}}+29}}|}}}}}|0|{{{{{#expr:8*{{{columns|1}}}+29}}|0}}}}} }} <!-------------- -- Column 14 -- --------------->{{#ifexpr:{{{columns|1}}}>13| {{#if:{{#ifexpr:1*{{{style|1}}}}}||{{#ifexpr:{{#expr:{{{style|1}}} / 2 round 0 }}*2={{{style|1}}}| ! style="text-align:right;vertical-align:bottom;padding-right:4px;" {{!}} {{{14|xxx}}}|}}}} {{Data bars/column | detailed = {{#if:{{#ifexpr:1*{{{style|1}}}}}||{{#ifexpr:{{{style|1}}}<5||{{#ifexpr:{{{style|1}}}>8|{{#ifexpr:{{{style|1}}}<13||true}}|true}}}}}} | scale={{#if:{{#ifexpr:1*{{{scale|1}}}}}|1|{{{scale|1}}}}} | style={{#if:{{#ifexpr:1*{{{style|1}}}}}|1|{{{style|1}}}}} | color1 = {{{{{#expr:1+{{{columns|1}}}}}|#ddd}}} | color2 = {{{{{#expr:3+(2*{{{columns|1}}})}}|#ddd}}} | color3 = {{{{{#expr:5+(3*{{{columns|1}}})}}|#ddd}}} | color4 = {{{{{#expr:7+(4*{{{columns|1}}})}}|#ddd}}} | color5 = {{{{{#expr:9+(5*{{{columns|1}}})}}|#ddd}}} | color6 = {{{{{#expr:11+(6*{{{columns|1}}})}}|#ddd}}} | color7 = {{{{{#expr:13+(7*{{{columns|1}}})}}|#ddd}}} | color8 = {{{{{#expr:15+(8*{{{columns|1}}})}}|#ddd}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:{{{columns|1}}} + 16}}|}}}}}|0|{{{{{#expr:{{{columns|1}}} + 16}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:2*{{{columns|1}}}+18}}|}}}}}|0|{{{{{#expr:2*{{{columns|1}}}+18}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:3*{{{columns|1}}}+20}}|}}}}}|0|{{{{{#expr:3*{{{columns|1}}}+20}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:4*{{{columns|1}}}+22}}|}}}}}|0|{{{{{#expr:4*{{{columns|1}}}+22}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:5*{{{columns|1}}}+24}}|}}}}}|0|{{{{{#expr:5*{{{columns|1}}}+24}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:6*{{{columns|1}}}+26}}|}}}}}|0|{{{{{#expr:6*{{{columns|1}}}+26}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:7*{{{columns|1}}}+28}}|}}}}}|0|{{{{{#expr:7*{{{columns|1}}}+28}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:8*{{{columns|1}}}+30}}|}}}}}|0|{{{{{#expr:8*{{{columns|1}}}+30}}|0}}}}} }} <!-------------- -- Column 15 -- --------------->{{#ifexpr:{{{columns|1}}}>14| {{#if:{{#ifexpr:1*{{{style|1}}}}}||{{#ifexpr:{{#expr:{{{style|1}}} / 2 round 0 }}*2={{{style|1}}}| ! style="text-align:right;vertical-align:bottom;padding-right:4px;" {{!}} {{{15|xxx}}}|}}}} {{Data bars/column | detailed = {{#if:{{#ifexpr:1*{{{style|1}}}}}||{{#ifexpr:{{{style|1}}}<5||{{#ifexpr:{{{style|1}}}>8|{{#ifexpr:{{{style|1}}}<13||true}}|true}}}}}} | scale={{#if:{{#ifexpr:1*{{{scale|1}}}}}|1|{{{scale|1}}}}} | style={{#if:{{#ifexpr:1*{{{style|1}}}}}|1|{{{style|1}}}}} | color1 = {{{{{#expr:1+{{{columns|1}}}}}|#ddd}}} | color2 = {{{{{#expr:3+(2*{{{columns|1}}})}}|#ddd}}} | color3 = {{{{{#expr:5+(3*{{{columns|1}}})}}|#ddd}}} | color4 = {{{{{#expr:7+(4*{{{columns|1}}})}}|#ddd}}} | color5 = {{{{{#expr:9+(5*{{{columns|1}}})}}|#ddd}}} | color6 = {{{{{#expr:11+(6*{{{columns|1}}})}}|#ddd}}} | color7 = {{{{{#expr:13+(7*{{{columns|1}}})}}|#ddd}}} | color8 = {{{{{#expr:15+(8*{{{columns|1}}})}}|#ddd}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:{{{columns|1}}} + 17}}|}}}}}|0|{{{{{#expr:{{{columns|1}}} + 17}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:2*{{{columns|1}}}+19}}|}}}}}|0|{{{{{#expr:2*{{{columns|1}}}+19}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:3*{{{columns|1}}}+21}}|}}}}}|0|{{{{{#expr:3*{{{columns|1}}}+21}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:4*{{{columns|1}}}+23}}|}}}}}|0|{{{{{#expr:4*{{{columns|1}}}+23}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:5*{{{columns|1}}}+25}}|}}}}}|0|{{{{{#expr:5*{{{columns|1}}}+25}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:6*{{{columns|1}}}+27}}|}}}}}|0|{{{{{#expr:6*{{{columns|1}}}+27}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:7*{{{columns|1}}}+29}}|}}}}}|0|{{{{{#expr:7*{{{columns|1}}}+29}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:8*{{{columns|1}}}+31}}|}}}}}|0|{{{{{#expr:8*{{{columns|1}}}+31}}|0}}}}} }} <!-------------- -- Column 16 -- --------------->{{#ifexpr:{{{columns|1}}}>15| {{#if:{{#ifexpr:1*{{{style|1}}}}}||{{#ifexpr:{{#expr:{{{style|1}}} / 2 round 0 }}*2={{{style|1}}}| ! style="text-align:right;vertical-align:bottom;padding-right:4px;" {{!}} {{{16|xxx}}}|}}}} {{Data bars/column | detailed = {{#if:{{#ifexpr:1*{{{style|1}}}}}||{{#ifexpr:{{{style|1}}}<5||{{#ifexpr:{{{style|1}}}>8|{{#ifexpr:{{{style|1}}}<13||true}}|true}}}}}} | scale={{#if:{{#ifexpr:1*{{{scale|1}}}}}|1|{{{scale|1}}}}} | style={{#if:{{#ifexpr:1*{{{style|1}}}}}|1|{{{style|1}}}}} | color1 = {{{{{#expr:1+{{{columns|1}}}}}|#ddd}}} | color2 = {{{{{#expr:3+(2*{{{columns|1}}})}}|#ddd}}} | color3 = {{{{{#expr:5+(3*{{{columns|1}}})}}|#ddd}}} | color4 = {{{{{#expr:7+(4*{{{columns|1}}})}}|#ddd}}} | color5 = {{{{{#expr:9+(5*{{{columns|1}}})}}|#ddd}}} | color6 = {{{{{#expr:11+(6*{{{columns|1}}})}}|#ddd}}} | color7 = {{{{{#expr:13+(7*{{{columns|1}}})}}|#ddd}}} | color8 = {{{{{#expr:15+(8*{{{columns|1}}})}}|#ddd}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:{{{columns|1}}} + 18}}|}}}}}|0|{{{{{#expr:{{{columns|1}}} + 18}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:2*{{{columns|1}}}+20}}|}}}}}|0|{{{{{#expr:2*{{{columns|1}}}+20}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:3*{{{columns|1}}}+22}}|}}}}}|0|{{{{{#expr:3*{{{columns|1}}}+22}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:4*{{{columns|1}}}+24}}|}}}}}|0|{{{{{#expr:4*{{{columns|1}}}+24}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:5*{{{columns|1}}}+26}}|}}}}}|0|{{{{{#expr:5*{{{columns|1}}}+26}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:6*{{{columns|1}}}+28}}|}}}}}|0|{{{{{#expr:6*{{{columns|1}}}+28}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:7*{{{columns|1}}}+30}}|}}}}}|0|{{{{{#expr:7*{{{columns|1}}}+30}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:8*{{{columns|1}}}+32}}|}}}}}|0|{{{{{#expr:8*{{{columns|1}}}+32}}|0}}}}} }}<!------------->|}}|}}|}}|}}|}}|}}|}}|}}|}}|}}|}}|}}|}}|}}|}} <!------------------- --- --- --- vertical --- --- chart --- --- BAR LABELS --- --- --- -------------------->{{#if:{{#ifexpr:1*{{{style|1}}}}} |<!---no labels if error------> |<!-------------->{{#ifexpr:{{#expr:{{{style|1}}} / 2 round 0 }}*2={{{style|1}}}<!------- ----------------->|<!-------no labels if even---- ----------------->|<!------- labels if odd ----> {{!}}- style="vertical-align:top;" ! style="padding-left:4px; padding-right:4px;" {{!}} {{{1|xxx}}} {{#ifexpr:{{{columns|1}}}>1| ! style="padding-left:4px; padding-right:4px;" {{!}} {{{2|xxx}}} {{#ifexpr:{{{columns|1}}}>2| ! style="padding-left:4px; padding-right:4px;" {{!}} {{{3|xxx}}} {{#ifexpr:{{{columns|1}}}>3| ! style="padding-left:4px; padding-right:4px;" {{!}} {{{4|xxx}}} {{#ifexpr:{{{columns|1}}}>4| ! style="padding-left:4px; padding-right:4px;" {{!}} {{{5|xxx}}} {{#ifexpr:{{{columns|1}}}>5| ! style="padding-left:4px; padding-right:4px;" {{!}} {{{6|xxx}}} {{#ifexpr:{{{columns|1}}}>6| ! style="padding-left:4px; padding-right:4px;" {{!}} {{{7|xxx}}} {{#ifexpr:{{{columns|1}}}>7| ! style="padding-left:4px; padding-right:4px;" {{!}} {{{8|xxx}}} {{#ifexpr:{{{columns|1}}}>8| ! style="padding-left:4px; padding-right:4px;" {{!}} {{{9|xxx}}} {{#ifexpr:{{{columns|1}}}>9| ! style="padding-left:4px; padding-right:4px;" {{!}} {{{10|xxx}}} {{#ifexpr:{{{columns|1}}}>10| ! style="padding-left:4px; padding-right:4px;" {{!}} {{{11|xxx}}} {{#ifexpr:{{{columns|1}}}>11| ! style="padding-left:4px; padding-right:4px;" {{!}} {{{12|xxx}}} {{#ifexpr:{{{columns|1}}}>12| ! style="padding-left:4px; padding-right:4px;" {{!}} {{{13|xxx}}} {{#ifexpr:{{{columns|1}}}>13| ! style="padding-left:4px; padding-right:4px;" {{!}} {{{14|xxx}}} {{#ifexpr:{{{columns|1}}}>14| ! style="padding-left:4px; padding-right:4px;" {{!}} {{{15|xxx}}} {{#ifexpr:{{{columns|1}}}>15| ! style="padding-left:4px; padding-right:4px;" {{!}} {{{16|xxx}}}|}}|}}|}}|}}|}}|}}|}}|}}|}}|}}|}}|}}|}}|}}|}}<!------- ----------------->}}}} |} |} | style="vertical-align:top;" | {{#if:{{#ifexpr:1*{{{style|1}}}}}||{{#ifexpr:{{{style|1}}}>8|<!--- ------------------------------ -- -- -- do averages if style > 8 -- -- -- -----------------------------> {{Data bars/averages | style = {{{style|9}}} | scale = {{{scale|1}}} | columns = {{{columns|1}}} | {{{1|}}}| {{{2|}}}| {{{3|}}}| {{{4|}}}| {{{5|}}}| {{{6|}}}| {{{7|}}}| {{{8|}}}| {{{9|}}}| {{{10|}}} | {{{11|}}}| {{{12|}}}| {{{13|}}}| {{{14|}}}| {{{15|}}}| {{{16|}}}| {{{17|}}}| {{{18|}}}| {{{19|}}}| {{{20|}}} | {{{21|}}}| {{{22|}}}| {{{23|}}}| {{{24|}}}| {{{25|}}}| {{{26|}}}| {{{27|}}}| {{{28|}}}| {{{29|}}}| {{{30|}}} | {{{31|}}}| {{{32|}}}| {{{33|}}}| {{{34|}}}| {{{35|}}}| {{{36|}}}| {{{37|}}}| {{{38|}}}| {{{39|}}}| {{{40|}}} | {{{41|}}}| {{{42|}}}| {{{43|}}}| {{{44|}}}| {{{45|}}}| {{{46|}}}| {{{47|}}}| {{{48|}}}| {{{49|}}}| {{{50|}}} | {{{51|}}}| {{{52|}}}| {{{53|}}}| {{{54|}}}| {{{55|}}}| {{{56|}}}| {{{57|}}}| {{{58|}}}| {{{59|}}}| {{{60|}}} | {{{61|}}}| {{{62|}}}| {{{63|}}}| {{{64|}}}| {{{65|}}}| {{{66|}}}| {{{67|}}}| {{{68|}}}| {{{69|}}}| {{{70|}}} | {{{71|}}}| {{{72|}}}| {{{73|}}}| {{{74|}}}| {{{75|}}}| {{{76|}}}| {{{77|}}}| {{{78|}}}| {{{79|}}}| {{{80|}}} | {{{81|}}}| {{{82|}}}| {{{83|}}}| {{{84|}}}| {{{85|}}}| {{{86|}}}| {{{87|}}}| {{{88|}}}| {{{89|}}}| {{{90|}}} | {{{91|}}}| {{{92|}}}| {{{93|}}}| {{{94|}}}| {{{95|}}}| {{{96|}}}| {{{97|}}}| {{{98|}}}| {{{99|}}}|{{{100|}}} |{{{101|}}}|{{{102|}}}|{{{103|}}}|{{{104|}}}|{{{105|}}}|{{{106|}}}|{{{107|}}}|{{{108|}}}|{{{109|}}}|{{{110|}}} |{{{111|}}}|{{{112|}}}|{{{113|}}}|{{{114|}}}|{{{115|}}}|{{{116|}}}|{{{117|}}}|{{{118|}}}|{{{119|}}}|{{{120|}}} |{{{121|}}}|{{{122|}}}|{{{123|}}}|{{{124|}}}|{{{125|}}}|{{{126|}}}|{{{127|}}}|{{{128|}}}|{{{129|}}}|{{{130|}}} |{{{131|}}}|{{{132|}}}|{{{133|}}}|{{{134|}}}|{{{135|}}}|{{{136|}}}|{{{137|}}}|{{{138|}}}|{{{139|}}}|{{{140|}}} |{{{141|}}}|{{{142|}}}|{{{143|}}}|{{{144|}}}|{{{145|}}}|{{{146|}}}|{{{147|}}}|{{{148|}}}|{{{149|}}}|{{{150|}}} |{{{151|}}}|{{{152|}}}|{{{153|}}}|{{{154|}}}|{{{155|}}}|{{{156|}}}|{{{157|}}}|{{{158|}}}|{{{159|}}}|{{{160|}}} }}| <!------------------- --- --- --- else --- --- color key --- --- & totals --- --- --- --------------------> {{#ifexpr:{{{columns|1}}}>1|Total: {{#expr:<!--- ---->{{#expr:<!-- column 1 --- ------->{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:{{{columns|1}}} + 3}}|}}}}}|0|{{{{{#expr:{{{columns|1}}} + 3}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:2*{{{columns|1}}}+5}}|}}}}}|0|{{{{{#expr:2*{{{columns|1}}}+5}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:3*{{{columns|1}}}+7}}|}}}}}|0|{{{{{#expr:3*{{{columns|1}}}+7}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:4*{{{columns|1}}}+9}}|}}}}}|0|{{{{{#expr:4*{{{columns|1}}}+9}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:5*{{{columns|1}}}+11}}|}}}}}|0|{{{{{#expr:5*{{{columns|1}}}+11}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:6*{{{columns|1}}}+13}}|}}}}}|0|{{{{{#expr:6*{{{columns|1}}}+13}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:7*{{{columns|1}}}+15}}|}}}}}|0|{{{{{#expr:7*{{{columns|1}}}+15}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:8*{{{columns|1}}}+17}}|}}}}}|0|{{{{{#expr:8*{{{columns|1}}}+17}}|0}}}}}<!-- ------>}}<!--- --->+{{#ifexpr:{{{columns|1}}}>1|{{#expr:<!-- column 2 --- ------->{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:{{{columns|1}}} + 4}}|}}}}}|0|{{{{{#expr:{{{columns|1}}} + 4}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:2*{{{columns|1}}}+6}}|}}}}}|0|{{{{{#expr:2*{{{columns|1}}}+6}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:3*{{{columns|1}}}+8}}|}}}}}|0|{{{{{#expr:3*{{{columns|1}}}+8}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:4*{{{columns|1}}}+10}}|}}}}}|0|{{{{{#expr:4*{{{columns|1}}}+10}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:5*{{{columns|1}}}+12}}|}}}}}|0|{{{{{#expr:5*{{{columns|1}}}+12}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:6*{{{columns|1}}}+14}}|}}}}}|0|{{{{{#expr:6*{{{columns|1}}}+14}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:7*{{{columns|1}}}+16}}|}}}}}|0|{{{{{#expr:7*{{{columns|1}}}+16}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:8*{{{columns|1}}}+18}}|}}}}}|0|{{{{{#expr:8*{{{columns|1}}}+18}}|0}}}}}<!-- ------>}}|0}}<!--- --->+{{#ifexpr:{{{columns|1}}}>2|{{#expr:<!-- column 3 --- ------->{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:{{{columns|1}}} + 5}}|}}}}}|0|{{{{{#expr:{{{columns|1}}} + 5}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:2*{{{columns|1}}}+7}}|}}}}}|0|{{{{{#expr:2*{{{columns|1}}}+7}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:3*{{{columns|1}}}+9}}|}}}}}|0|{{{{{#expr:3*{{{columns|1}}}+9}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:4*{{{columns|1}}}+11}}|}}}}}|0|{{{{{#expr:4*{{{columns|1}}}+11}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:5*{{{columns|1}}}+13}}|}}}}}|0|{{{{{#expr:5*{{{columns|1}}}+13}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:6*{{{columns|1}}}+15}}|}}}}}|0|{{{{{#expr:6*{{{columns|1}}}+15}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:7*{{{columns|1}}}+17}}|}}}}}|0|{{{{{#expr:7*{{{columns|1}}}+17}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:8*{{{columns|1}}}+19}}|}}}}}|0|{{{{{#expr:8*{{{columns|1}}}+19}}|0}}}}}<!-- ------>}}|0}}<!--- --->+{{#ifexpr:{{{columns|1}}}>3|{{#expr:<!-- column 4 --- ------->{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:{{{columns|1}}} + 6}}|}}}}}|0|{{{{{#expr:{{{columns|1}}} + 6}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:2*{{{columns|1}}}+8}}|}}}}}|0|{{{{{#expr:2*{{{columns|1}}}+8}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:3*{{{columns|1}}}+10}}|}}}}}|0|{{{{{#expr:3*{{{columns|1}}}+10}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:4*{{{columns|1}}}+12}}|}}}}}|0|{{{{{#expr:4*{{{columns|1}}}+12}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:5*{{{columns|1}}}+14}}|}}}}}|0|{{{{{#expr:5*{{{columns|1}}}+14}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:6*{{{columns|1}}}+16}}|}}}}}|0|{{{{{#expr:6*{{{columns|1}}}+16}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:7*{{{columns|1}}}+18}}|}}}}}|0|{{{{{#expr:7*{{{columns|1}}}+18}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:8*{{{columns|1}}}+20}}|}}}}}|0|{{{{{#expr:8*{{{columns|1}}}+20}}|0}}}}}<!-- ------>}}|0}}<!--- --->+{{#ifexpr:{{{columns|1}}}>4|{{#expr:<!-- column 5 --- ------->{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:{{{columns|1}}} + 7}}|}}}}}|0|{{{{{#expr:{{{columns|1}}} + 7}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:2*{{{columns|1}}}+9}}|}}}}}|0|{{{{{#expr:2*{{{columns|1}}}+9}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:3*{{{columns|1}}}+11}}|}}}}}|0|{{{{{#expr:3*{{{columns|1}}}+11}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:4*{{{columns|1}}}+13}}|}}}}}|0|{{{{{#expr:4*{{{columns|1}}}+13}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:5*{{{columns|1}}}+15}}|}}}}}|0|{{{{{#expr:5*{{{columns|1}}}+15}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:6*{{{columns|1}}}+17}}|}}}}}|0|{{{{{#expr:6*{{{columns|1}}}+17}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:7*{{{columns|1}}}+19}}|}}}}}|0|{{{{{#expr:7*{{{columns|1}}}+19}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:8*{{{columns|1}}}+21}}|}}}}}|0|{{{{{#expr:8*{{{columns|1}}}+21}}|0}}}}}<!-- ------>}}|0}}<!--- --->+{{#ifexpr:{{{columns|1}}}>5|{{#expr:<!-- column 6 --- ------->{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:{{{columns|1}}} + 8}}|}}}}}|0|{{{{{#expr:{{{columns|1}}} + 8}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:2*{{{columns|1}}}+10}}|}}}}}|0|{{{{{#expr:2*{{{columns|1}}}+10}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:3*{{{columns|1}}}+12}}|}}}}}|0|{{{{{#expr:3*{{{columns|1}}}+12}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:4*{{{columns|1}}}+14}}|}}}}}|0|{{{{{#expr:4*{{{columns|1}}}+14}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:5*{{{columns|1}}}+16}}|}}}}}|0|{{{{{#expr:5*{{{columns|1}}}+16}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:6*{{{columns|1}}}+18}}|}}}}}|0|{{{{{#expr:6*{{{columns|1}}}+18}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:7*{{{columns|1}}}+20}}|}}}}}|0|{{{{{#expr:7*{{{columns|1}}}+20}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:8*{{{columns|1}}}+22}}|}}}}}|0|{{{{{#expr:8*{{{columns|1}}}+22}}|0}}}}}<!-- ------>}}|0}}<!--- --->+{{#ifexpr:{{{columns|1}}}>6|{{#expr:<!-- column 7 --- ------->{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:{{{columns|1}}} + 9}}|}}}}}|0|{{{{{#expr:{{{columns|1}}} + 9}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:2*{{{columns|1}}}+11}}|}}}}}|0|{{{{{#expr:2*{{{columns|1}}}+11}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:3*{{{columns|1}}}+13}}|}}}}}|0|{{{{{#expr:3*{{{columns|1}}}+13}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:4*{{{columns|1}}}+15}}|}}}}}|0|{{{{{#expr:4*{{{columns|1}}}+15}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:5*{{{columns|1}}}+17}}|}}}}}|0|{{{{{#expr:5*{{{columns|1}}}+17}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:6*{{{columns|1}}}+19}}|}}}}}|0|{{{{{#expr:6*{{{columns|1}}}+19}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:7*{{{columns|1}}}+21}}|}}}}}|0|{{{{{#expr:7*{{{columns|1}}}+21}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:8*{{{columns|1}}}+23}}|}}}}}|0|{{{{{#expr:8*{{{columns|1}}}+23}}|0}}}}}<!-- ------>}}|0}}<!--- --->+{{#ifexpr:{{{columns|1}}}>7|{{#expr:<!-- column 8 --- ------->{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:{{{columns|1}}} + 10}}|}}}}}|0|{{{{{#expr:{{{columns|1}}} + 10}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:2*{{{columns|1}}}+12}}|}}}}}|0|{{{{{#expr:2*{{{columns|1}}}+12}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:3*{{{columns|1}}}+14}}|}}}}}|0|{{{{{#expr:3*{{{columns|1}}}+14}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:4*{{{columns|1}}}+16}}|}}}}}|0|{{{{{#expr:4*{{{columns|1}}}+16}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:5*{{{columns|1}}}+18}}|}}}}}|0|{{{{{#expr:5*{{{columns|1}}}+18}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:6*{{{columns|1}}}+20}}|}}}}}|0|{{{{{#expr:6*{{{columns|1}}}+20}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:7*{{{columns|1}}}+22}}|}}}}}|0|{{{{{#expr:7*{{{columns|1}}}+22}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:8*{{{columns|1}}}+24}}|}}}}}|0|{{{{{#expr:8*{{{columns|1}}}+24}}|0}}}}}<!-- ------>}}|0}}<!--- --->+{{#ifexpr:{{{columns|1}}}>8|{{#expr:<!-- column 9 --- ------->{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:{{{columns|1}}} + 11}}|}}}}}|0|{{{{{#expr:{{{columns|1}}} + 11}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:2*{{{columns|1}}}+13}}|}}}}}|0|{{{{{#expr:2*{{{columns|1}}}+13}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:3*{{{columns|1}}}+15}}|}}}}}|0|{{{{{#expr:3*{{{columns|1}}}+15}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:4*{{{columns|1}}}+17}}|}}}}}|0|{{{{{#expr:4*{{{columns|1}}}+17}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:5*{{{columns|1}}}+19}}|}}}}}|0|{{{{{#expr:5*{{{columns|1}}}+19}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:6*{{{columns|1}}}+21}}|}}}}}|0|{{{{{#expr:6*{{{columns|1}}}+21}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:7*{{{columns|1}}}+23}}|}}}}}|0|{{{{{#expr:7*{{{columns|1}}}+23}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:8*{{{columns|1}}}+25}}|}}}}}|0|{{{{{#expr:8*{{{columns|1}}}+25}}|0}}}}}<!-- ------>}}|0}}<!--- --->+{{#ifexpr:{{{columns|1}}}>9|{{#expr:<!-- column 10 --- ------->{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:{{{columns|1}}} + 12}}|}}}}}|0|{{{{{#expr:{{{columns|1}}} + 12}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:2*{{{columns|1}}}+14}}|}}}}}|0|{{{{{#expr:2*{{{columns|1}}}+14}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:3*{{{columns|1}}}+16}}|}}}}}|0|{{{{{#expr:3*{{{columns|1}}}+16}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:4*{{{columns|1}}}+18}}|}}}}}|0|{{{{{#expr:4*{{{columns|1}}}+18}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:5*{{{columns|1}}}+20}}|}}}}}|0|{{{{{#expr:5*{{{columns|1}}}+20}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:6*{{{columns|1}}}+22}}|}}}}}|0|{{{{{#expr:6*{{{columns|1}}}+22}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:7*{{{columns|1}}}+24}}|}}}}}|0|{{{{{#expr:7*{{{columns|1}}}+24}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:8*{{{columns|1}}}+26}}|}}}}}|0|{{{{{#expr:8*{{{columns|1}}}+26}}|0}}}}}<!-- ------>}}|0}}<!--- --->+{{#ifexpr:{{{columns|1}}}>10|{{#expr:<!-- column 11 --- ------->{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:{{{columns|1}}} + 13}}|}}}}}|0|{{{{{#expr:{{{columns|1}}} + 13}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:2*{{{columns|1}}}+15}}|}}}}}|0|{{{{{#expr:2*{{{columns|1}}}+15}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:3*{{{columns|1}}}+17}}|}}}}}|0|{{{{{#expr:3*{{{columns|1}}}+17}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:4*{{{columns|1}}}+19}}|}}}}}|0|{{{{{#expr:4*{{{columns|1}}}+19}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:5*{{{columns|1}}}+21}}|}}}}}|0|{{{{{#expr:5*{{{columns|1}}}+21}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:6*{{{columns|1}}}+23}}|}}}}}|0|{{{{{#expr:6*{{{columns|1}}}+23}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:7*{{{columns|1}}}+25}}|}}}}}|0|{{{{{#expr:7*{{{columns|1}}}+25}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:8*{{{columns|1}}}+27}}|}}}}}|0|{{{{{#expr:8*{{{columns|1}}}+27}}|0}}}}}<!-- ------>}}|0}}<!--- --->+{{#ifexpr:{{{columns|1}}}>11|{{#expr:<!-- column 12 --- ------->{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:{{{columns|1}}} + 14}}|}}}}}|0|{{{{{#expr:{{{columns|1}}} + 14}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:2*{{{columns|1}}}+16}}|}}}}}|0|{{{{{#expr:2*{{{columns|1}}}+16}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:3*{{{columns|1}}}+18}}|}}}}}|0|{{{{{#expr:3*{{{columns|1}}}+18}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:4*{{{columns|1}}}+20}}|}}}}}|0|{{{{{#expr:4*{{{columns|1}}}+20}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:5*{{{columns|1}}}+22}}|}}}}}|0|{{{{{#expr:5*{{{columns|1}}}+22}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:6*{{{columns|1}}}+24}}|}}}}}|0|{{{{{#expr:6*{{{columns|1}}}+24}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:7*{{{columns|1}}}+26}}|}}}}}|0|{{{{{#expr:7*{{{columns|1}}}+26}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:8*{{{columns|1}}}+28}}|}}}}}|0|{{{{{#expr:8*{{{columns|1}}}+28}}|0}}}}}<!-- ------>}}|0}}<!--- --->+{{#ifexpr:{{{columns|1}}}>12|{{#expr:<!-- column 13 --- ------->{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:{{{columns|1}}} + 15}}|}}}}}|0|{{{{{#expr:{{{columns|1}}} + 15}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:2*{{{columns|1}}}+17}}|}}}}}|0|{{{{{#expr:2*{{{columns|1}}}+17}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:3*{{{columns|1}}}+19}}|}}}}}|0|{{{{{#expr:3*{{{columns|1}}}+19}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:4*{{{columns|1}}}+21}}|}}}}}|0|{{{{{#expr:4*{{{columns|1}}}+21}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:5*{{{columns|1}}}+23}}|}}}}}|0|{{{{{#expr:5*{{{columns|1}}}+23}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:6*{{{columns|1}}}+25}}|}}}}}|0|{{{{{#expr:6*{{{columns|1}}}+25}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:7*{{{columns|1}}}+27}}|}}}}}|0|{{{{{#expr:7*{{{columns|1}}}+27}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:8*{{{columns|1}}}+29}}|}}}}}|0|{{{{{#expr:8*{{{columns|1}}}+29}}|0}}}}}<!-- ------>}}|0}}<!--- --->+{{#ifexpr:{{{columns|1}}}>13|{{#expr:<!-- column 14 --- ------->{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:{{{columns|1}}} + 16}}|}}}}}|0|{{{{{#expr:{{{columns|1}}} + 16}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:2*{{{columns|1}}}+18}}|}}}}}|0|{{{{{#expr:2*{{{columns|1}}}+18}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:3*{{{columns|1}}}+20}}|}}}}}|0|{{{{{#expr:3*{{{columns|1}}}+20}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:4*{{{columns|1}}}+22}}|}}}}}|0|{{{{{#expr:4*{{{columns|1}}}+22}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:5*{{{columns|1}}}+24}}|}}}}}|0|{{{{{#expr:5*{{{columns|1}}}+24}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:6*{{{columns|1}}}+26}}|}}}}}|0|{{{{{#expr:6*{{{columns|1}}}+26}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:7*{{{columns|1}}}+28}}|}}}}}|0|{{{{{#expr:7*{{{columns|1}}}+28}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:8*{{{columns|1}}}+30}}|}}}}}|0|{{{{{#expr:8*{{{columns|1}}}+30}}|0}}}}}<!-- ------>}}|0}}<!--- --->+{{#ifexpr:{{{columns|1}}}>14|{{#expr:<!-- column 15 --- ------->{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:{{{columns|1}}} + 17}}|}}}}}|0|{{{{{#expr:{{{columns|1}}} + 17}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:2*{{{columns|1}}}+19}}|}}}}}|0|{{{{{#expr:2*{{{columns|1}}}+19}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:3*{{{columns|1}}}+21}}|}}}}}|0|{{{{{#expr:3*{{{columns|1}}}+21}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:4*{{{columns|1}}}+23}}|}}}}}|0|{{{{{#expr:4*{{{columns|1}}}+23}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:5*{{{columns|1}}}+25}}|}}}}}|0|{{{{{#expr:5*{{{columns|1}}}+25}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:6*{{{columns|1}}}+27}}|}}}}}|0|{{{{{#expr:6*{{{columns|1}}}+27}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:7*{{{columns|1}}}+29}}|}}}}}|0|{{{{{#expr:7*{{{columns|1}}}+29}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:8*{{{columns|1}}}+31}}|}}}}}|0|{{{{{#expr:8*{{{columns|1}}}+31}}|0}}}}}<!-- ------>}}|0}}<!--- --->+{{#ifexpr:{{{columns|1}}}>15|{{#expr:<!-- column 16 --- ------->{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:{{{columns|1}}} + 18}}|}}}}}|0|{{{{{#expr:{{{columns|1}}} + 18}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:2*{{{columns|1}}}+20}}|}}}}}|0|{{{{{#expr:2*{{{columns|1}}}+20}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:3*{{{columns|1}}}+22}}|}}}}}|0|{{{{{#expr:3*{{{columns|1}}}+22}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:4*{{{columns|1}}}+24}}|}}}}}|0|{{{{{#expr:4*{{{columns|1}}}+24}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:5*{{{columns|1}}}+26}}|}}}}}|0|{{{{{#expr:5*{{{columns|1}}}+26}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:6*{{{columns|1}}}+28}}|}}}}}|0|{{{{{#expr:6*{{{columns|1}}}+28}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:7*{{{columns|1}}}+30}}|}}}}}|0|{{{{{#expr:7*{{{columns|1}}}+30}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:8*{{{columns|1}}}+32}}|}}}}}|0|{{{{{#expr:8*{{{columns|1}}}+32}}|0}}}}}<!-- ----->}}|0}}<!--- --->}}|&nbsp;}}<!--- --->{{#if:{{{{{#expr:3+(2*{{{columns|1}}})}}|}}}|<!---- --------->{{Data bars/bar|detailed={{#if:{{#ifexpr:1*{{{style|1}}}}}||{{#ifexpr:{{{style|1}}}>4|true|}}}}<!---- --------->|size=16|color={{{{{#expr:1+{{{columns|1}}}}}|#ddd}}}|name={{{{{#expr:2+{{{columns|1}}}}}|xxx}}}<!---- --------->|title={{#ifexpr:{{{columns|1}}}>1|{{#expr:<!---------- -------------------------------->{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:{{{columns|1}}}+3}}|}}}}}|0|{{{{{#expr:{{{columns|1}}}+3}}|0}}}}}<!--- --->+{{#ifexpr:{{{columns|1}}}>1|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:{{{columns|1}}}+4}}|}}}}}|0|{{{{{#expr:{{{columns|1}}}+4}}|0}}}}}|0}}<!--- --->+{{#ifexpr:{{{columns|1}}}>2|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:{{{columns|1}}}+5}}|}}}}}|0|{{{{{#expr:{{{columns|1}}}+5}}|0}}}}}|0}}<!--- --->+{{#ifexpr:{{{columns|1}}}>3|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:{{{columns|1}}}+6}}|}}}}}|0|{{{{{#expr:{{{columns|1}}}+6}}|0}}}}}|0}}<!--- --->+{{#ifexpr:{{{columns|1}}}>4|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:{{{columns|1}}}+7}}|}}}}}|0|{{{{{#expr:{{{columns|1}}}+7}}|0}}}}}|0}}<!--- --->+{{#ifexpr:{{{columns|1}}}>5|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:{{{columns|1}}}+8}}|}}}}}|0|{{{{{#expr:{{{columns|1}}}+8}}|0}}}}}|0}}<!--- --->+{{#ifexpr:{{{columns|1}}}>6|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:{{{columns|1}}}+9}}|}}}}}|0|{{{{{#expr:{{{columns|1}}}+9}}|0}}}}}|0}}<!--- --->+{{#ifexpr:{{{columns|1}}}>7|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:{{{columns|1}}}+10}}|}}}}}|0|{{{{{#expr:{{{columns|1}}}+10}}|0}}}}}|0}}<!--- --->+{{#ifexpr:{{{columns|1}}}>8|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:{{{columns|1}}}+11}}|}}}}}|0|{{{{{#expr:{{{columns|1}}}+11}}|0}}}}}|0}}<!--- --->+{{#ifexpr:{{{columns|1}}}>9|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:{{{columns|1}}}+12}}|}}}}}|0|{{{{{#expr:{{{columns|1}}}+12}}|0}}}}}|0}}<!--- --->+{{#ifexpr:{{{columns|1}}}>10|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:{{{columns|1}}}+13}}|}}}}}|0|{{{{{#expr:{{{columns|1}}}+13}}|0}}}}}|0}}<!--- --->+{{#ifexpr:{{{columns|1}}}>11|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:{{{columns|1}}}+14}}|}}}}}|0|{{{{{#expr:{{{columns|1}}}+14}}|0}}}}}|0}}<!--- --->+{{#ifexpr:{{{columns|1}}}>12|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:{{{columns|1}}}+15}}|}}}}}|0|{{{{{#expr:{{{columns|1}}}+15}}|0}}}}}|0}}<!--- --->+{{#ifexpr:{{{columns|1}}}>13|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:{{{columns|1}}}+16}}|}}}}}|0|{{{{{#expr:{{{columns|1}}}+16}}|0}}}}}|0}}<!--- --->+{{#ifexpr:{{{columns|1}}}>14|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:{{{columns|1}}}+17}}|}}}}}|0|{{{{{#expr:{{{columns|1}}}+17}}|0}}}}}|0}}<!--- --->+{{#ifexpr:{{{columns|1}}}>15|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:{{{columns|1}}}+18}}|}}}}}|0|{{{{{#expr:{{{columns|1}}}+18}}|0}}}}}|0}}<!--- --->}}|}}}}<!---- --->{{#if:{{{{{#expr:3+(2*{{{columns|1}}})}}|}}}|<!---- --------->{{Data bars/bar|detailed={{#if:{{#ifexpr:1*{{{style|1}}}}}||{{#ifexpr:{{{style|1}}}>4|true|}}}}<!---- --------->|size=16|color={{{{{#expr:3+(2*{{{columns|1}}})}}|#ddd}}}|name={{{{{#expr:4+(2*{{{columns|1}}})}}|xxx}}}<!---- --------->|title={{#ifexpr:{{{columns|1}}}>1|{{#expr:<!---------- ------------------------------->{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:2*{{{columns|1}}}+5}}|}}}}}|0|{{{{{#expr:2*{{{columns|1}}}+5}}|0}}}}}<!--- -->+{{#ifexpr:{{{columns|1}}}>1|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:2*{{{columns|1}}}+6}}|}}}}}|0|{{{{{#expr:2*{{{columns|1}}}+6}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>2|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:2*{{{columns|1}}}+7}}|}}}}}|0|{{{{{#expr:2*{{{columns|1}}}+7}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>3|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:2*{{{columns|1}}}+8}}|}}}}}|0|{{{{{#expr:2*{{{columns|1}}}+8}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>4|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:2*{{{columns|1}}}+9}}|}}}}}|0|{{{{{#expr:2*{{{columns|1}}}+9}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>5|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:2*{{{columns|1}}}+10}}|}}}}}|0|{{{{{#expr:2*{{{columns|1}}}+10}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>6|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:2*{{{columns|1}}}+11}}|}}}}}|0|{{{{{#expr:2*{{{columns|1}}}+11}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>7|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:2*{{{columns|1}}}+12}}|}}}}}|0|{{{{{#expr:2*{{{columns|1}}}+12}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>8|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:2*{{{columns|1}}}+13}}|}}}}}|0|{{{{{#expr:2*{{{columns|1}}}+13}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>9|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:2*{{{columns|1}}}+14}}|}}}}}|0|{{{{{#expr:2*{{{columns|1}}}+14}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>10|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:2*{{{columns|1}}}+15}}|}}}}}|0|{{{{{#expr:2*{{{columns|1}}}+15}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>11|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:2*{{{columns|1}}}+16}}|}}}}}|0|{{{{{#expr:2*{{{columns|1}}}+16}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>12|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:2*{{{columns|1}}}+17}}|}}}}}|0|{{{{{#expr:2*{{{columns|1}}}+17}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>13|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:2*{{{columns|1}}}+18}}|}}}}}|0|{{{{{#expr:2*{{{columns|1}}}+18}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>14|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:2*{{{columns|1}}}+19}}|}}}}}|0|{{{{{#expr:2*{{{columns|1}}}+19}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>15|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:2*{{{columns|1}}}+20}}|}}}}}|0|{{{{{#expr:2*{{{columns|1}}}+20}}|0}}}}}|0}}<!--- -->}}|}}}}<!---- -->{{#if:{{{{{#expr:5+(3*{{{columns|1}}})}}|}}}|<!---- --------->{{Data bars/bar|detailed={{#if:{{#ifexpr:1*{{{style|1}}}}}||{{#ifexpr:{{{style|1}}}>4|true|}}}}<!---- --------->|size=16|color={{{{{#expr:5+(3*{{{columns|1}}})}}|#ddd}}}|name={{{{{#expr:6+(3*{{{columns|1}}})}}|xxx}}}<!---- --------->|title={{#ifexpr:{{{columns|1}}}>1|{{#expr:<!---------- ------------------------------->{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:3*{{{columns|1}}}+7}}|}}}}}|0|{{{{{#expr:3*{{{columns|1}}}+7}}|0}}}}}<!--- -->+{{#ifexpr:{{{columns|1}}}>1|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:3*{{{columns|1}}}+8}}|}}}}}|0|{{{{{#expr:3*{{{columns|1}}}+8}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>2|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:3*{{{columns|1}}}+9}}|}}}}}|0|{{{{{#expr:3*{{{columns|1}}}+9}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>3|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:3*{{{columns|1}}}+10}}|}}}}}|0|{{{{{#expr:3*{{{columns|1}}}+10}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>4|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:3*{{{columns|1}}}+11}}|}}}}}|0|{{{{{#expr:3*{{{columns|1}}}+11}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>5|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:3*{{{columns|1}}}+12}}|}}}}}|0|{{{{{#expr:3*{{{columns|1}}}+12}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>6|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:3*{{{columns|1}}}+13}}|}}}}}|0|{{{{{#expr:3*{{{columns|1}}}+13}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>7|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:3*{{{columns|1}}}+14}}|}}}}}|0|{{{{{#expr:3*{{{columns|1}}}+14}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>8|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:3*{{{columns|1}}}+15}}|}}}}}|0|{{{{{#expr:3*{{{columns|1}}}+15}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>9|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:3*{{{columns|1}}}+16}}|}}}}}|0|{{{{{#expr:3*{{{columns|1}}}+16}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>10|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:3*{{{columns|1}}}+17}}|}}}}}|0|{{{{{#expr:3*{{{columns|1}}}+17}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>11|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:3*{{{columns|1}}}+18}}|}}}}}|0|{{{{{#expr:3*{{{columns|1}}}+18}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>12|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:3*{{{columns|1}}}+19}}|}}}}}|0|{{{{{#expr:3*{{{columns|1}}}+19}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>13|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:3*{{{columns|1}}}+20}}|}}}}}|0|{{{{{#expr:3*{{{columns|1}}}+20}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>14|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:3*{{{columns|1}}}+21}}|}}}}}|0|{{{{{#expr:3*{{{columns|1}}}+21}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>15|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:3*{{{columns|1}}}+22}}|}}}}}|0|{{{{{#expr:3*{{{columns|1}}}+22}}|0}}}}}|0}}<!--- --->}}|}}}}<!---- --->{{#if:{{{{{#expr:7+(4*{{{columns|1}}})}}|}}}|<!---- --------->{{Data bars/bar|detailed={{#if:{{#ifexpr:1*{{{style|1}}}}}||{{#ifexpr:{{{style|1}}}>4|true|}}}}<!---- --------->|size=16|color={{{{{#expr:7+(4*{{{columns|1}}})}}|#ddd}}}|name={{{{{#expr:8+(4*{{{columns|1}}})}}|xxx}}}<!---- --------->|title={{#ifexpr:{{{columns|1}}}>1|{{#expr:<!---------- ------------------------------->{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:4*{{{columns|1}}}+9}}|}}}}}|0|{{{{{#expr:4*{{{columns|1}}}+9}}|0}}}}}<!--- -->+{{#ifexpr:{{{columns|1}}}>1|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:4*{{{columns|1}}}+10}}|}}}}}|0|{{{{{#expr:4*{{{columns|1}}}+10}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>2|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:4*{{{columns|1}}}+11}}|}}}}}|0|{{{{{#expr:4*{{{columns|1}}}+11}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>3|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:4*{{{columns|1}}}+12}}|}}}}}|0|{{{{{#expr:4*{{{columns|1}}}+12}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>4|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:4*{{{columns|1}}}+13}}|}}}}}|0|{{{{{#expr:4*{{{columns|1}}}+13}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>5|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:4*{{{columns|1}}}+14}}|}}}}}|0|{{{{{#expr:4*{{{columns|1}}}+14}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>6|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:4*{{{columns|1}}}+15}}|}}}}}|0|{{{{{#expr:4*{{{columns|1}}}+15}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>7|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:4*{{{columns|1}}}+16}}|}}}}}|0|{{{{{#expr:4*{{{columns|1}}}+16}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>8|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:4*{{{columns|1}}}+17}}|}}}}}|0|{{{{{#expr:4*{{{columns|1}}}+17}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>9|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:4*{{{columns|1}}}+18}}|}}}}}|0|{{{{{#expr:4*{{{columns|1}}}+18}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>10|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:4*{{{columns|1}}}+19}}|}}}}}|0|{{{{{#expr:4*{{{columns|1}}}+19}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>11|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:4*{{{columns|1}}}+20}}|}}}}}|0|{{{{{#expr:4*{{{columns|1}}}+20}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>12|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:4*{{{columns|1}}}+21}}|}}}}}|0|{{{{{#expr:4*{{{columns|1}}}+21}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>13|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:4*{{{columns|1}}}+22}}|}}}}}|0|{{{{{#expr:4*{{{columns|1}}}+22}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>14|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:4*{{{columns|1}}}+23}}|}}}}}|0|{{{{{#expr:4*{{{columns|1}}}+23}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>15|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:4*{{{columns|1}}}+24}}|}}}}}|0|{{{{{#expr:4*{{{columns|1}}}+24}}|0}}}}}|0}}<!--- --->}}|}}}}<!---- --->{{#if:{{{{{#expr:9+(5*{{{columns|1}}})}}|}}}|<!---- --------->{{Data bars/bar|detailed={{#if:{{#ifexpr:1*{{{style|1}}}}}||{{#ifexpr:{{{style|1}}}>4|true|}}}}<!---- --------->|size=16|color={{{{{#expr:9+(5*{{{columns|1}}})}}|#ddd}}}|name={{{{{#expr:10+(5*{{{columns|1}}})}}|xxx}}}<!---- --------->|title={{#ifexpr:{{{columns|1}}}>1|{{#expr:<!---------- ------------------------------->{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:5*{{{columns|1}}}+11}}|}}}}}|0|{{{{{#expr:5*{{{columns|1}}}+11}}|0}}}}}<!--- -->+{{#ifexpr:{{{columns|1}}}>1|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:5*{{{columns|1}}}+12}}|}}}}}|0|{{{{{#expr:5*{{{columns|1}}}+12}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>2|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:5*{{{columns|1}}}+13}}|}}}}}|0|{{{{{#expr:5*{{{columns|1}}}+13}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>3|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:5*{{{columns|1}}}+14}}|}}}}}|0|{{{{{#expr:5*{{{columns|1}}}+14}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>4|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:5*{{{columns|1}}}+15}}|}}}}}|0|{{{{{#expr:5*{{{columns|1}}}+15}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>5|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:5*{{{columns|1}}}+16}}|}}}}}|0|{{{{{#expr:5*{{{columns|1}}}+16}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>6|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:5*{{{columns|1}}}+17}}|}}}}}|0|{{{{{#expr:5*{{{columns|1}}}+17}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>7|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:5*{{{columns|1}}}+18}}|}}}}}|0|{{{{{#expr:5*{{{columns|1}}}+18}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>8|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:5*{{{columns|1}}}+19}}|}}}}}|0|{{{{{#expr:5*{{{columns|1}}}+19}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>9|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:5*{{{columns|1}}}+20}}|}}}}}|0|{{{{{#expr:5*{{{columns|1}}}+20}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>10|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:5*{{{columns|1}}}+21}}|}}}}}|0|{{{{{#expr:5*{{{columns|1}}}+21}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>11|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:5*{{{columns|1}}}+22}}|}}}}}|0|{{{{{#expr:5*{{{columns|1}}}+22}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>12|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:5*{{{columns|1}}}+23}}|}}}}}|0|{{{{{#expr:5*{{{columns|1}}}+23}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>13|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:5*{{{columns|1}}}+24}}|}}}}}|0|{{{{{#expr:5*{{{columns|1}}}+24}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>14|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:5*{{{columns|1}}}+25}}|}}}}}|0|{{{{{#expr:5*{{{columns|1}}}+25}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>15|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:5*{{{columns|1}}}+26}}|}}}}}|0|{{{{{#expr:5*{{{columns|1}}}+26}}|0}}}}}|0}}<!--- --->}}|}}}}<!---- --->{{#if:{{{{{#expr:11+(6*{{{columns|1}}})}}|}}}|<!---- --------->{{Data bars/bar|detailed={{#if:{{#ifexpr:1*{{{style|1}}}}}||{{#ifexpr:{{{style|1}}}>4|true|}}}}<!---- --------->|size=16|color={{{{{#expr:11+(6*{{{columns|1}}})}}|#ddd}}}|name={{{{{#expr:12+(6*{{{columns|1}}})}}|xxx}}}<!---- --------->|title={{#ifexpr:{{{columns|1}}}>1|{{#expr:<!---------- ------------------------------->{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:6*{{{columns|1}}}+13}}|}}}}}|0|{{{{{#expr:6*{{{columns|1}}}+13}}|0}}}}}<!--- -->+{{#ifexpr:{{{columns|1}}}>1|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:6*{{{columns|1}}}+14}}|}}}}}|0|{{{{{#expr:6*{{{columns|1}}}+14}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>2|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:6*{{{columns|1}}}+15}}|}}}}}|0|{{{{{#expr:6*{{{columns|1}}}+15}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>3|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:6*{{{columns|1}}}+16}}|}}}}}|0|{{{{{#expr:6*{{{columns|1}}}+16}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>4|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:6*{{{columns|1}}}+17}}|}}}}}|0|{{{{{#expr:6*{{{columns|1}}}+17}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>5|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:6*{{{columns|1}}}+18}}|}}}}}|0|{{{{{#expr:6*{{{columns|1}}}+18}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>6|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:6*{{{columns|1}}}+19}}|}}}}}|0|{{{{{#expr:6*{{{columns|1}}}+19}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>7|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:6*{{{columns|1}}}+20}}|}}}}}|0|{{{{{#expr:6*{{{columns|1}}}+20}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>8|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:6*{{{columns|1}}}+21}}|}}}}}|0|{{{{{#expr:6*{{{columns|1}}}+21}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>9|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:6*{{{columns|1}}}+22}}|}}}}}|0|{{{{{#expr:6*{{{columns|1}}}+22}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>10|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:6*{{{columns|1}}}+23}}|}}}}}|0|{{{{{#expr:6*{{{columns|1}}}+23}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>11|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:6*{{{columns|1}}}+24}}|}}}}}|0|{{{{{#expr:6*{{{columns|1}}}+24}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>12|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:6*{{{columns|1}}}+25}}|}}}}}|0|{{{{{#expr:6*{{{columns|1}}}+25}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>13|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:6*{{{columns|1}}}+26}}|}}}}}|0|{{{{{#expr:6*{{{columns|1}}}+26}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>14|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:6*{{{columns|1}}}+27}}|}}}}}|0|{{{{{#expr:6*{{{columns|1}}}+27}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>15|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:6*{{{columns|1}}}+28}}|}}}}}|0|{{{{{#expr:6*{{{columns|1}}}+28}}|0}}}}}|0}}<!--- --->}}|}}}}<!---- --->{{#if:{{{{{#expr:13+(7*{{{columns|1}}})}}|}}}|<!---- --------->{{Data bars/bar|detailed={{#if:{{#ifexpr:1*{{{style|1}}}}}||{{#ifexpr:{{{style|1}}}>4|true|}}}}<!---- --------->|size=16|color={{{{{#expr:13+(7*{{{columns|1}}})}}|#ddd}}}|name={{{{{#expr:14+(7*{{{columns|1}}})}}|xxx}}}<!---- --------->|title={{#ifexpr:{{{columns|1}}}>1|{{#expr:<!---------- ------------------------------->{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:7*{{{columns|1}}}+15}}|}}}}}|0|{{{{{#expr:7*{{{columns|1}}}+15}}|0}}}}}<!--- -->+{{#ifexpr:{{{columns|1}}}>1|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:7*{{{columns|1}}}+16}}|}}}}}|0|{{{{{#expr:7*{{{columns|1}}}+16}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>2|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:7*{{{columns|1}}}+17}}|}}}}}|0|{{{{{#expr:7*{{{columns|1}}}+17}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>3|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:7*{{{columns|1}}}+18}}|}}}}}|0|{{{{{#expr:7*{{{columns|1}}}+18}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>4|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:7*{{{columns|1}}}+19}}|}}}}}|0|{{{{{#expr:7*{{{columns|1}}}+19}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>5|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:7*{{{columns|1}}}+20}}|}}}}}|0|{{{{{#expr:7*{{{columns|1}}}+20}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>6|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:7*{{{columns|1}}}+21}}|}}}}}|0|{{{{{#expr:7*{{{columns|1}}}+21}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>7|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:7*{{{columns|1}}}+22}}|}}}}}|0|{{{{{#expr:7*{{{columns|1}}}+22}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>8|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:7*{{{columns|1}}}+23}}|}}}}}|0|{{{{{#expr:7*{{{columns|1}}}+23}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>9|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:7*{{{columns|1}}}+24}}|}}}}}|0|{{{{{#expr:7*{{{columns|1}}}+24}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>10|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:7*{{{columns|1}}}+25}}|}}}}}|0|{{{{{#expr:7*{{{columns|1}}}+25}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>11|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:7*{{{columns|1}}}+26}}|}}}}}|0|{{{{{#expr:7*{{{columns|1}}}+26}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>12|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:7*{{{columns|1}}}+27}}|}}}}}|0|{{{{{#expr:7*{{{columns|1}}}+27}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>13|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:7*{{{columns|1}}}+28}}|}}}}}|0|{{{{{#expr:7*{{{columns|1}}}+28}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>14|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:7*{{{columns|1}}}+29}}|}}}}}|0|{{{{{#expr:7*{{{columns|1}}}+29}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>15|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:7*{{{columns|1}}}+30}}|}}}}}|0|{{{{{#expr:7*{{{columns|1}}}+30}}|0}}}}}|0}}<!--- --->}}|}}}}<!---- --->{{#if:{{{{{#expr:15+(8*{{{columns|1}}})}}|}}}|<!---- --------->{{Data bars/bar|detailed={{#if:{{#ifexpr:1*{{{style|1}}}}}||{{#ifexpr:{{{style|1}}}>4|true|}}}}<!---- --------->|size=16|color={{{{{#expr:15+(8*{{{columns|1}}})}}|#ddd}}}|name={{{{{#expr:16+(8*{{{columns|1}}})}}|xxx}}}<!---- --------->|title={{#ifexpr:{{{columns|1}}}>1|{{#expr:<!---------- ------------------------------->{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:8*{{{columns|1}}}+17}}|}}}}}|0|{{{{{#expr:8*{{{columns|1}}}+17}}|0}}}}}<!--- -->+{{#ifexpr:{{{columns|1}}}>1|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:8*{{{columns|1}}}+18}}|}}}}}|0|{{{{{#expr:8*{{{columns|1}}}+18}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>2|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:8*{{{columns|1}}}+19}}|}}}}}|0|{{{{{#expr:8*{{{columns|1}}}+19}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>3|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:8*{{{columns|1}}}+20}}|}}}}}|0|{{{{{#expr:8*{{{columns|1}}}+20}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>4|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:8*{{{columns|1}}}+21}}|}}}}}|0|{{{{{#expr:8*{{{columns|1}}}+21}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>5|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:8*{{{columns|1}}}+22}}|}}}}}|0|{{{{{#expr:8*{{{columns|1}}}+22}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>6|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:8*{{{columns|1}}}+23}}|}}}}}|0|{{{{{#expr:8*{{{columns|1}}}+23}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>7|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:8*{{{columns|1}}}+24}}|}}}}}|0|{{{{{#expr:8*{{{columns|1}}}+24}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>8|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:8*{{{columns|1}}}+25}}|}}}}}|0|{{{{{#expr:8*{{{columns|1}}}+25}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>9|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:8*{{{columns|1}}}+26}}|}}}}}|0|{{{{{#expr:8*{{{columns|1}}}+26}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>10|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:8*{{{columns|1}}}+27}}|}}}}}|0|{{{{{#expr:8*{{{columns|1}}}+27}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>11|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:8*{{{columns|1}}}+28}}|}}}}}|0|{{{{{#expr:8*{{{columns|1}}}+28}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>12|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:8*{{{columns|1}}}+29}}|}}}}}|0|{{{{{#expr:8*{{{columns|1}}}+29}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>13|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:8*{{{columns|1}}}+30}}|}}}}}|0|{{{{{#expr:8*{{{columns|1}}}+30}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>14|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:8*{{{columns|1}}}+31}}|}}}}}|0|{{{{{#expr:8*{{{columns|1}}}+31}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>15|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:8*{{{columns|1}}}+32}}|}}}}}|0|{{{{{#expr:8*{{{columns|1}}}+32}}|0}}}}}|0}}<!--- --->}}|}}}}<!---- --->|}}|}}|}}|}}|}}|}}|}}|}}}}}} {{#if:{{{source|}}}| {{!}}- {{!}} colspan="2" style="text-align:right;font-style:italic;" {{!}} <small>Source: {{{source|}}}</small>|}} |}</includeonly><noinclude> {{Documentation}} <!-- Add categories to the /doc subpage, not here! --> {{Graph, chart and plot formatting and function templates}} </noinclude> n6uarhyp262vp0d3e12fvlfemwov5ih 309757 309756 2026-09-26T17:42:33Z Isma4l 41797 309757 wikitext text/x-wiki <includeonly>{| align="{{{align|{{{float|none}}}}}}" cellspacing="8" cellpadding="0" class="plainlinks" {{#if:{{#ifexpr:1*{{{style|1}}}}}||{{#ifexpr:{{{style|1}}}*{{#expr:{{{style|1}}}<>5}}*{{#expr:{{{style|1}}}<>6}}*{{#expr:{{{style|1}}}<>9}}*{{#expr:{{{style|1}}}<>10}}*{{#expr:{{{style|1}}}<>13}}*{{#expr:{{{style|1}}}<>14}}>2|style="background:#eee; border-left:2px solid #ccc; border-top:2px solid #ccc; border-right:2px solid #777; border-bottom:2px solid #777;"|}}}} {{#if:{{{title|}}}| {{!}} colspan="2" align="center" {{!}} '''{{{title}}}'''{{#if:{{{subtitle|}}}|<br/><sup>{{{subtitle}}}</sup>|}}|}} {{#if:{{{{{#expr:3+(2*{{{columns|1}}})}}|}}}|| {{!}}- {{!}} style="text-align:center;" {{!}} {{{{{#expr:2+{{{columns|1}}}}}|}}}}} |- | {| {{#if:{{#ifexpr:1*{{{style|1}}}}}||{{#ifexpr:{{#expr:{{{style|1}}} / 2 round 0 }}*2={{{style|1}}}|cellspacing="8"|}}}} style="text-align:center;border-collapse:collapse;{{#if:{{#ifexpr:1*{{{style|1}}}}}||{{#ifexpr:{{{style|1}}}*{{#expr:{{{style|1}}}<>5}}*{{#expr:{{{style|1}}}<>6}}*{{#expr:{{{style|1}}}<>9}}*{{#expr:{{{style|1}}}<>10}}*{{#expr:{{{style|1}}}<>13}}*{{#expr:{{{style|1}}}<>14}}>2|background:#eee; border-left:1px solid #777; border-top:1px solid #777; border-right:1px solid #ccc; border-bottom:1px solid #ccc;|}}}}" | style="text-align:center;" {{#if:{{#ifexpr:1*{{{style|1}}}}}||{{#ifexpr:{{{style|1}}}*{{#expr:{{{style|1}}}<>5}}*{{#expr:{{{style|1}}}<>6}}*{{#expr:{{{style|1}}}<>9}}*{{#expr:{{{style|1}}}<>10}}*{{#expr:{{{style|1}}}<>13}}*{{#expr:{{{style|1}}}<>14}}>2|style="padding:8px 8px 8px 8px;"|}}}} | {| cellspacing="0" cellpadding="2" |- style="vertical-align:bottom;" <!------------- -- Column 1 -- --------------> {{#if:{{#ifexpr:1*{{{style|1}}}}}||{{#ifexpr:{{#expr:{{{style|1}}} / 2 round 0 }}*2={{{style|1}}}| ! style="text-align:right;vertical-align:bottom;padding-right:4px;" {{!}} {{{1|xxx}}}|}}}} {{Data bars/column | detailed = {{#if:{{#ifexpr:1*{{{style|1}}}}}||{{#ifexpr:{{{style|1}}}<5||{{#ifexpr:{{{style|1}}}>8|{{#ifexpr:{{{style|1}}}<13||true}}|true}}}}}} | scale={{#if:{{#ifexpr:1*{{{scale|1}}}}}|1|{{{scale|1}}}}} | style={{#if:{{#ifexpr:1*{{{style|1}}}}}|1|{{{style|1}}}}} | color1 = {{{{{#expr:1+{{{columns|1}}}}}|#ddd}}} | color2 = {{{{{#expr:3+(2*{{{columns|1}}})}}|#ddd}}} | color3 = {{{{{#expr:5+(3*{{{columns|1}}})}}|#ddd}}} | color4 = {{{{{#expr:7+(4*{{{columns|1}}})}}|#ddd}}} | color5 = {{{{{#expr:9+(5*{{{columns|1}}})}}|#ddd}}} | color6 = {{{{{#expr:11+(6*{{{columns|1}}})}}|#ddd}}} | color7 = {{{{{#expr:13+(7*{{{columns|1}}})}}|#ddd}}} | color8 = {{{{{#expr:15+(8*{{{columns|1}}})}}|#ddd}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:{{{columns|1}}} + 3}}|}}}}}|0|{{{{{#expr:{{{columns|1}}} + 3}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:2*{{{columns|1}}}+5}}|}}}}}|0|{{{{{#expr:2*{{{columns|1}}}+5}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:3*{{{columns|1}}}+7}}|}}}}}|0|{{{{{#expr:3*{{{columns|1}}}+7}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:4*{{{columns|1}}}+9}}|}}}}}|0|{{{{{#expr:4*{{{columns|1}}}+9}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:5*{{{columns|1}}}+11}}|}}}}}|0|{{{{{#expr:5*{{{columns|1}}}+11}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:6*{{{columns|1}}}+13}}|}}}}}|0|{{{{{#expr:6*{{{columns|1}}}+13}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:7*{{{columns|1}}}+15}}|}}}}}|0|{{{{{#expr:7*{{{columns|1}}}+15}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:8*{{{columns|1}}}+17}}|}}}}}|0|{{{{{#expr:8*{{{columns|1}}}+17}}|0}}}}} }} <!------------- -- Column 2 -- -------------->{{#ifexpr:{{{columns|1}}}>1| {{#if:{{#ifexpr:1*{{{style|1}}}}}||{{#ifexpr:{{#expr:{{{style|1}}} / 2 round 0 }}*2={{{style|1}}}| ! style="text-align:right;vertical-align:bottom;padding-right:4px;" {{!}} {{{2|xxx}}}|}}}} {{Data bars/column | detailed = {{#if:{{#ifexpr:1*{{{style|1}}}}}||{{#ifexpr:{{{style|1}}}<5||{{#ifexpr:{{{style|1}}}>8|{{#ifexpr:{{{style|1}}}<13||true}}|true}}}}}} | scale={{#if:{{#ifexpr:1*{{{scale|1}}}}}|1|{{{scale|1}}}}} | style={{#if:{{#ifexpr:1*{{{style|1}}}}}|1|{{{style|1}}}}} | color1 = {{{{{#expr:1+{{{columns|1}}}}}|#ddd}}} | color2 = {{{{{#expr:3+(2*{{{columns|1}}})}}|#ddd}}} | color3 = {{{{{#expr:5+(3*{{{columns|1}}})}}|#ddd}}} | color4 = {{{{{#expr:7+(4*{{{columns|1}}})}}|#ddd}}} | color5 = {{{{{#expr:9+(5*{{{columns|1}}})}}|#ddd}}} | color6 = {{{{{#expr:11+(6*{{{columns|1}}})}}|#ddd}}} | color7 = {{{{{#expr:13+(7*{{{columns|1}}})}}|#ddd}}} | color8 = {{{{{#expr:15+(8*{{{columns|1}}})}}|#ddd}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:{{{columns|1}}} + 4}}|}}}}}|0|{{{{{#expr:{{{columns|1}}} + 4}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:2*{{{columns|1}}}+6}}|}}}}}|0|{{{{{#expr:2*{{{columns|1}}}+6}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:3*{{{columns|1}}}+8}}|}}}}}|0|{{{{{#expr:3*{{{columns|1}}}+8}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:4*{{{columns|1}}}+10}}|}}}}}|0|{{{{{#expr:4*{{{columns|1}}}+10}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:5*{{{columns|1}}}+12}}|}}}}}|0|{{{{{#expr:5*{{{columns|1}}}+12}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:6*{{{columns|1}}}+14}}|}}}}}|0|{{{{{#expr:6*{{{columns|1}}}+14}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:7*{{{columns|1}}}+16}}|}}}}}|0|{{{{{#expr:7*{{{columns|1}}}+16}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:8*{{{columns|1}}}+18}}|}}}}}|0|{{{{{#expr:8*{{{columns|1}}}+18}}|0}}}}} }} <!------------- -- Column 3 -- -------------->{{#ifexpr:{{{columns|1}}}>2| {{#if:{{#ifexpr:1*{{{style|1}}}}}||{{#ifexpr:{{#expr:{{{style|1}}} / 2 round 0 }}*2={{{style|1}}}| ! style="text-align:right;vertical-align:bottom;padding-right:4px;" {{!}} {{{3|xxx}}}|}}}} {{Data bars/column | detailed = {{#if:{{#ifexpr:1*{{{style|1}}}}}||{{#ifexpr:{{{style|1}}}<5||{{#ifexpr:{{{style|1}}}>8|{{#ifexpr:{{{style|1}}}<13||true}}|true}}}}}} | scale={{#if:{{#ifexpr:1*{{{scale|1}}}}}|1|{{{scale|1}}}}} | style={{#if:{{#ifexpr:1*{{{style|1}}}}}|1|{{{style|1}}}}} | color1 = {{{{{#expr:1+{{{columns|1}}}}}|#ddd}}} | color2 = {{{{{#expr:3+(2*{{{columns|1}}})}}|#ddd}}} | color3 = {{{{{#expr:5+(3*{{{columns|1}}})}}|#ddd}}} | color4 = {{{{{#expr:7+(4*{{{columns|1}}})}}|#ddd}}} | color5 = {{{{{#expr:9+(5*{{{columns|1}}})}}|#ddd}}} | color6 = {{{{{#expr:11+(6*{{{columns|1}}})}}|#ddd}}} | color7 = {{{{{#expr:13+(7*{{{columns|1}}})}}|#ddd}}} | color8 = {{{{{#expr:15+(8*{{{columns|1}}})}}|#ddd}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:{{{columns|1}}} + 5}}|}}}}}|0|{{{{{#expr:{{{columns|1}}} + 5}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:2*{{{columns|1}}}+7}}|}}}}}|0|{{{{{#expr:2*{{{columns|1}}}+7}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:3*{{{columns|1}}}+9}}|}}}}}|0|{{{{{#expr:3*{{{columns|1}}}+9}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:4*{{{columns|1}}}+11}}|}}}}}|0|{{{{{#expr:4*{{{columns|1}}}+11}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:5*{{{columns|1}}}+13}}|}}}}}|0|{{{{{#expr:5*{{{columns|1}}}+13}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:6*{{{columns|1}}}+15}}|}}}}}|0|{{{{{#expr:6*{{{columns|1}}}+15}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:7*{{{columns|1}}}+17}}|}}}}}|0|{{{{{#expr:7*{{{columns|1}}}+17}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:8*{{{columns|1}}}+19}}|}}}}}|0|{{{{{#expr:8*{{{columns|1}}}+19}}|0}}}}} }} <!------------- -- Column 4 -- -------------->{{#ifexpr:{{{columns|1}}}>3| {{#if:{{#ifexpr:1*{{{style|1}}}}}||{{#ifexpr:{{#expr:{{{style|1}}} / 2 round 0 }}*2={{{style|1}}}| ! style="text-align:right;vertical-align:bottom;padding-right:4px;" {{!}} {{{4|xxx}}}|}}}} {{Data bars/column | detailed = {{#if:{{#ifexpr:1*{{{style|1}}}}}||{{#ifexpr:{{{style|1}}}<5||{{#ifexpr:{{{style|1}}}>8|{{#ifexpr:{{{style|1}}}<13||true}}|true}}}}}} | scale={{#if:{{#ifexpr:1*{{{scale|1}}}}}|1|{{{scale|1}}}}} | style={{#if:{{#ifexpr:1*{{{style|1}}}}}|1|{{{style|1}}}}} | color1 = {{{{{#expr:1+{{{columns|1}}}}}|#ddd}}} | color2 = {{{{{#expr:3+(2*{{{columns|1}}})}}|#ddd}}} | color3 = {{{{{#expr:5+(3*{{{columns|1}}})}}|#ddd}}} | color4 = {{{{{#expr:7+(4*{{{columns|1}}})}}|#ddd}}} | color5 = {{{{{#expr:9+(5*{{{columns|1}}})}}|#ddd}}} | color6 = {{{{{#expr:11+(6*{{{columns|1}}})}}|#ddd}}} | color7 = {{{{{#expr:13+(7*{{{columns|1}}})}}|#ddd}}} | color8 = {{{{{#expr:15+(8*{{{columns|1}}})}}|#ddd}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:{{{columns|1}}} + 6}}|}}}}}|0|{{{{{#expr:{{{columns|1}}} + 6}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:2*{{{columns|1}}}+8}}|}}}}}|0|{{{{{#expr:2*{{{columns|1}}}+8}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:3*{{{columns|1}}}+10}}|}}}}}|0|{{{{{#expr:3*{{{columns|1}}}+10}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:4*{{{columns|1}}}+12}}|}}}}}|0|{{{{{#expr:4*{{{columns|1}}}+12}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:5*{{{columns|1}}}+14}}|}}}}}|0|{{{{{#expr:5*{{{columns|1}}}+14}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:6*{{{columns|1}}}+16}}|}}}}}|0|{{{{{#expr:6*{{{columns|1}}}+16}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:7*{{{columns|1}}}+18}}|}}}}}|0|{{{{{#expr:7*{{{columns|1}}}+18}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:8*{{{columns|1}}}+20}}|}}}}}|0|{{{{{#expr:8*{{{columns|1}}}+20}}|0}}}}} }} <!------------- -- Column 5 -- -------------->{{#ifexpr:{{{columns|1}}}>4| {{#if:{{#ifexpr:1*{{{style|1}}}}}||{{#ifexpr:{{#expr:{{{style|1}}} / 2 round 0 }}*2={{{style|1}}}| ! style="text-align:right;vertical-align:bottom;padding-right:4px;" {{!}} {{{5|xxx}}}|}}}} {{Data bars/column | detailed = {{#if:{{#ifexpr:1*{{{style|1}}}}}||{{#ifexpr:{{{style|1}}}<5||{{#ifexpr:{{{style|1}}}>8|{{#ifexpr:{{{style|1}}}<13||true}}|true}}}}}} | scale={{#if:{{#ifexpr:1*{{{scale|1}}}}}|1|{{{scale|1}}}}} | style={{#if:{{#ifexpr:1*{{{style|1}}}}}|1|{{{style|1}}}}} | color1 = {{{{{#expr:1+{{{columns|1}}}}}|#ddd}}} | color2 = {{{{{#expr:3+(2*{{{columns|1}}})}}|#ddd}}} | color3 = {{{{{#expr:5+(3*{{{columns|1}}})}}|#ddd}}} | color4 = {{{{{#expr:7+(4*{{{columns|1}}})}}|#ddd}}} | color5 = {{{{{#expr:9+(5*{{{columns|1}}})}}|#ddd}}} | color6 = {{{{{#expr:11+(6*{{{columns|1}}})}}|#ddd}}} | color7 = {{{{{#expr:13+(7*{{{columns|1}}})}}|#ddd}}} | color8 = {{{{{#expr:15+(8*{{{columns|1}}})}}|#ddd}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:{{{columns|1}}} + 7}}|}}}}}|0|{{{{{#expr:{{{columns|1}}} + 7}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:2*{{{columns|1}}}+9}}|}}}}}|0|{{{{{#expr:2*{{{columns|1}}}+9}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:3*{{{columns|1}}}+11}}|}}}}}|0|{{{{{#expr:3*{{{columns|1}}}+11}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:4*{{{columns|1}}}+13}}|}}}}}|0|{{{{{#expr:4*{{{columns|1}}}+13}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:5*{{{columns|1}}}+15}}|}}}}}|0|{{{{{#expr:5*{{{columns|1}}}+15}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:6*{{{columns|1}}}+17}}|}}}}}|0|{{{{{#expr:6*{{{columns|1}}}+17}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:7*{{{columns|1}}}+19}}|}}}}}|0|{{{{{#expr:7*{{{columns|1}}}+19}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:8*{{{columns|1}}}+21}}|}}}}}|0|{{{{{#expr:8*{{{columns|1}}}+21}}|0}}}}} }} <!------------- -- Column 6 -- -------------->{{#ifexpr:{{{columns|1}}}>5| {{#if:{{#ifexpr:1*{{{style|1}}}}}||{{#ifexpr:{{#expr:{{{style|1}}} / 2 round 0 }}*2={{{style|1}}}| ! style="text-align:right;vertical-align:bottom;padding-right:4px;" {{!}} {{{6|xxx}}}|}}}} {{Data bars/column | detailed = {{#if:{{#ifexpr:1*{{{style|1}}}}}||{{#ifexpr:{{{style|1}}}<5||{{#ifexpr:{{{style|1}}}>8|{{#ifexpr:{{{style|1}}}<13||true}}|true}}}}}} | scale={{#if:{{#ifexpr:1*{{{scale|1}}}}}|1|{{{scale|1}}}}} | style={{#if:{{#ifexpr:1*{{{style|1}}}}}|1|{{{style|1}}}}} | color1 = {{{{{#expr:1+{{{columns|1}}}}}|#ddd}}} | color2 = {{{{{#expr:3+(2*{{{columns|1}}})}}|#ddd}}} | color3 = {{{{{#expr:5+(3*{{{columns|1}}})}}|#ddd}}} | color4 = {{{{{#expr:7+(4*{{{columns|1}}})}}|#ddd}}} | color5 = {{{{{#expr:9+(5*{{{columns|1}}})}}|#ddd}}} | color6 = {{{{{#expr:11+(6*{{{columns|1}}})}}|#ddd}}} | color7 = {{{{{#expr:13+(7*{{{columns|1}}})}}|#ddd}}} | color8 = {{{{{#expr:15+(8*{{{columns|1}}})}}|#ddd}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:{{{columns|1}}} + 8}}|}}}}}|0|{{{{{#expr:{{{columns|1}}} + 8}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:2*{{{columns|1}}}+10}}|}}}}}|0|{{{{{#expr:2*{{{columns|1}}}+10}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:3*{{{columns|1}}}+12}}|}}}}}|0|{{{{{#expr:3*{{{columns|1}}}+12}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:4*{{{columns|1}}}+14}}|}}}}}|0|{{{{{#expr:4*{{{columns|1}}}+14}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:5*{{{columns|1}}}+16}}|}}}}}|0|{{{{{#expr:5*{{{columns|1}}}+16}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:6*{{{columns|1}}}+18}}|}}}}}|0|{{{{{#expr:6*{{{columns|1}}}+18}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:7*{{{columns|1}}}+20}}|}}}}}|0|{{{{{#expr:7*{{{columns|1}}}+20}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:8*{{{columns|1}}}+22}}|}}}}}|0|{{{{{#expr:8*{{{columns|1}}}+22}}|0}}}}} }} <!------------- -- Column 7 -- -------------->{{#ifexpr:{{{columns|1}}}>6| {{#if:{{#ifexpr:1*{{{style|1}}}}}||{{#ifexpr:{{#expr:{{{style|1}}} / 2 round 0 }}*2={{{style|1}}}| ! style="text-align:right;vertical-align:bottom;padding-right:4px;" {{!}} {{{7|xxx}}}|}}}} {{Data bars/column | detailed = {{#if:{{#ifexpr:1*{{{style|1}}}}}||{{#ifexpr:{{{style|1}}}<5||{{#ifexpr:{{{style|1}}}>8|{{#ifexpr:{{{style|1}}}<13||true}}|true}}}}}} | scale={{#if:{{#ifexpr:1*{{{scale|1}}}}}|1|{{{scale|1}}}}} | style={{#if:{{#ifexpr:1*{{{style|1}}}}}|1|{{{style|1}}}}} | color1 = {{{{{#expr:1+{{{columns|1}}}}}|#ddd}}} | color2 = {{{{{#expr:3+(2*{{{columns|1}}})}}|#ddd}}} | color3 = {{{{{#expr:5+(3*{{{columns|1}}})}}|#ddd}}} | color4 = {{{{{#expr:7+(4*{{{columns|1}}})}}|#ddd}}} | color5 = {{{{{#expr:9+(5*{{{columns|1}}})}}|#ddd}}} | color6 = {{{{{#expr:11+(6*{{{columns|1}}})}}|#ddd}}} | color7 = {{{{{#expr:13+(7*{{{columns|1}}})}}|#ddd}}} | color8 = {{{{{#expr:15+(8*{{{columns|1}}})}}|#ddd}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:{{{columns|1}}} + 9}}|}}}}}|0|{{{{{#expr:{{{columns|1}}} + 9}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:2*{{{columns|1}}}+11}}|}}}}}|0|{{{{{#expr:2*{{{columns|1}}}+11}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:3*{{{columns|1}}}+13}}|}}}}}|0|{{{{{#expr:3*{{{columns|1}}}+13}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:4*{{{columns|1}}}+15}}|}}}}}|0|{{{{{#expr:4*{{{columns|1}}}+15}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:5*{{{columns|1}}}+17}}|}}}}}|0|{{{{{#expr:5*{{{columns|1}}}+17}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:6*{{{columns|1}}}+19}}|}}}}}|0|{{{{{#expr:6*{{{columns|1}}}+19}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:7*{{{columns|1}}}+21}}|}}}}}|0|{{{{{#expr:7*{{{columns|1}}}+21}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:8*{{{columns|1}}}+23}}|}}}}}|0|{{{{{#expr:8*{{{columns|1}}}+23}}|0}}}}} }} <!------------- -- Column 8 -- -------------->{{#ifexpr:{{{columns|1}}}>7| {{#if:{{#ifexpr:1*{{{style|1}}}}}||{{#ifexpr:{{#expr:{{{style|1}}} / 2 round 0 }}*2={{{style|1}}}| ! style="text-align:right;vertical-align:bottom;padding-right:4px;" {{!}} {{{8|xxx}}}|}}}} {{Data bars/column | detailed = {{#if:{{#ifexpr:1*{{{style|1}}}}}||{{#ifexpr:{{{style|1}}}<5||{{#ifexpr:{{{style|1}}}>8|{{#ifexpr:{{{style|1}}}<13||true}}|true}}}}}} | scale={{#if:{{#ifexpr:1*{{{scale|1}}}}}|1|{{{scale|1}}}}} | style={{#if:{{#ifexpr:1*{{{style|1}}}}}|1|{{{style|1}}}}} | color1 = {{{{{#expr:1+{{{columns|1}}}}}|#ddd}}} | color2 = {{{{{#expr:3+(2*{{{columns|1}}})}}|#ddd}}} | color3 = {{{{{#expr:5+(3*{{{columns|1}}})}}|#ddd}}} | color4 = {{{{{#expr:7+(4*{{{columns|1}}})}}|#ddd}}} | color5 = {{{{{#expr:9+(5*{{{columns|1}}})}}|#ddd}}} | color6 = {{{{{#expr:11+(6*{{{columns|1}}})}}|#ddd}}} | color7 = {{{{{#expr:13+(7*{{{columns|1}}})}}|#ddd}}} | color8 = {{{{{#expr:15+(8*{{{columns|1}}})}}|#ddd}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:{{{columns|1}}} + 10}}|}}}}}|0|{{{{{#expr:{{{columns|1}}} + 10}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:2*{{{columns|1}}}+12}}|}}}}}|0|{{{{{#expr:2*{{{columns|1}}}+12}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:3*{{{columns|1}}}+14}}|}}}}}|0|{{{{{#expr:3*{{{columns|1}}}+14}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:4*{{{columns|1}}}+16}}|}}}}}|0|{{{{{#expr:4*{{{columns|1}}}+16}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:5*{{{columns|1}}}+18}}|}}}}}|0|{{{{{#expr:5*{{{columns|1}}}+18}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:6*{{{columns|1}}}+20}}|}}}}}|0|{{{{{#expr:6*{{{columns|1}}}+20}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:7*{{{columns|1}}}+22}}|}}}}}|0|{{{{{#expr:7*{{{columns|1}}}+22}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:8*{{{columns|1}}}+24}}|}}}}}|0|{{{{{#expr:8*{{{columns|1}}}+24}}|0}}}}} }} <!------------- -- Column 9 -- -------------->{{#ifexpr:{{{columns|1}}}>8| {{#if:{{#ifexpr:1*{{{style|1}}}}}||{{#ifexpr:{{#expr:{{{style|1}}} / 2 round 0 }}*2={{{style|1}}}| ! style="text-align:right;vertical-align:bottom;padding-right:4px;" {{!}} {{{9|xxx}}}|}}}} {{Data bars/column | detailed = {{#if:{{#ifexpr:1*{{{style|1}}}}}||{{#ifexpr:{{{style|1}}}<5||{{#ifexpr:{{{style|1}}}>8|{{#ifexpr:{{{style|1}}}<13||true}}|true}}}}}} | scale={{#if:{{#ifexpr:1*{{{scale|1}}}}}|1|{{{scale|1}}}}} | style={{#if:{{#ifexpr:1*{{{style|1}}}}}|1|{{{style|1}}}}} | color1 = {{{{{#expr:1+{{{columns|1}}}}}|#ddd}}} | color2 = {{{{{#expr:3+(2*{{{columns|1}}})}}|#ddd}}} | color3 = {{{{{#expr:5+(3*{{{columns|1}}})}}|#ddd}}} | color4 = {{{{{#expr:7+(4*{{{columns|1}}})}}|#ddd}}} | color5 = {{{{{#expr:9+(5*{{{columns|1}}})}}|#ddd}}} | color6 = {{{{{#expr:11+(6*{{{columns|1}}})}}|#ddd}}} | color7 = {{{{{#expr:13+(7*{{{columns|1}}})}}|#ddd}}} | color8 = {{{{{#expr:15+(8*{{{columns|1}}})}}|#ddd}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:{{{columns|1}}} + 11}}|}}}}}|0|{{{{{#expr:{{{columns|1}}} + 11}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:2*{{{columns|1}}}+13}}|}}}}}|0|{{{{{#expr:2*{{{columns|1}}}+13}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:3*{{{columns|1}}}+15}}|}}}}}|0|{{{{{#expr:3*{{{columns|1}}}+15}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:4*{{{columns|1}}}+17}}|}}}}}|0|{{{{{#expr:4*{{{columns|1}}}+17}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:5*{{{columns|1}}}+19}}|}}}}}|0|{{{{{#expr:5*{{{columns|1}}}+19}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:6*{{{columns|1}}}+21}}|}}}}}|0|{{{{{#expr:6*{{{columns|1}}}+21}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:7*{{{columns|1}}}+23}}|}}}}}|0|{{{{{#expr:7*{{{columns|1}}}+23}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:8*{{{columns|1}}}+25}}|}}}}}|0|{{{{{#expr:8*{{{columns|1}}}+25}}|0}}}}} }} <!------------- -- Column 10 -- -------------->{{#ifexpr:{{{columns|1}}}>9| {{#if:{{#ifexpr:1*{{{style|1}}}}}||{{#ifexpr:{{#expr:{{{style|1}}} / 2 round 0 }}*2={{{style|1}}}| ! style="text-align:right;vertical-align:bottom;padding-right:4px;" {{!}} {{{10|xxx}}}|}}}} {{Data bars/column | detailed = {{#if:{{#ifexpr:1*{{{style|1}}}}}||{{#ifexpr:{{{style|1}}}<5||{{#ifexpr:{{{style|1}}}>8|{{#ifexpr:{{{style|1}}}<13||true}}|true}}}}}} | scale={{#if:{{#ifexpr:1*{{{scale|1}}}}}|1|{{{scale|1}}}}} | style={{#if:{{#ifexpr:1*{{{style|1}}}}}|1|{{{style|1}}}}} | color1 = {{{{{#expr:1+{{{columns|1}}}}}|#ddd}}} | color2 = {{{{{#expr:3+(2*{{{columns|1}}})}}|#ddd}}} | color3 = {{{{{#expr:5+(3*{{{columns|1}}})}}|#ddd}}} | color4 = {{{{{#expr:7+(4*{{{columns|1}}})}}|#ddd}}} | color5 = {{{{{#expr:9+(5*{{{columns|1}}})}}|#ddd}}} | color6 = {{{{{#expr:11+(6*{{{columns|1}}})}}|#ddd}}} | color7 = {{{{{#expr:13+(7*{{{columns|1}}})}}|#ddd}}} | color8 = {{{{{#expr:15+(8*{{{columns|1}}})}}|#ddd}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:{{{columns|1}}} + 12}}|}}}}}|0|{{{{{#expr:{{{columns|1}}} + 12}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:2*{{{columns|1}}}+14}}|}}}}}|0|{{{{{#expr:2*{{{columns|1}}}+14}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:3*{{{columns|1}}}+16}}|}}}}}|0|{{{{{#expr:3*{{{columns|1}}}+16}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:4*{{{columns|1}}}+18}}|}}}}}|0|{{{{{#expr:4*{{{columns|1}}}+18}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:5*{{{columns|1}}}+20}}|}}}}}|0|{{{{{#expr:5*{{{columns|1}}}+20}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:6*{{{columns|1}}}+22}}|}}}}}|0|{{{{{#expr:6*{{{columns|1}}}+22}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:7*{{{columns|1}}}+24}}|}}}}}|0|{{{{{#expr:7*{{{columns|1}}}+24}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:8*{{{columns|1}}}+26}}|}}}}}|0|{{{{{#expr:8*{{{columns|1}}}+26}}|0}}}}} }} <!------------- -- Column 11 -- -------------->{{#ifexpr:{{{columns|1}}}>10| {{#if:{{#ifexpr:1*{{{style|1}}}}}||{{#ifexpr:{{#expr:{{{style|1}}} / 2 round 0 }}*2={{{style|1}}}| ! style="text-align:right;vertical-align:bottom;padding-right:4px;" {{!}} {{{11|xxx}}}|}}}} {{Data bars/column | detailed = {{#if:{{#ifexpr:1*{{{style|1}}}}}||{{#ifexpr:{{{style|1}}}<5||{{#ifexpr:{{{style|1}}}>8|{{#ifexpr:{{{style|1}}}<13||true}}|true}}}}}} | scale={{#if:{{#ifexpr:1*{{{scale|1}}}}}|1|{{{scale|1}}}}} | style={{#if:{{#ifexpr:1*{{{style|1}}}}}|1|{{{style|1}}}}} | color1 = {{{{{#expr:1+{{{columns|1}}}}}|#ddd}}} | color2 = {{{{{#expr:3+(2*{{{columns|1}}})}}|#ddd}}} | color3 = {{{{{#expr:5+(3*{{{columns|1}}})}}|#ddd}}} | color4 = {{{{{#expr:7+(4*{{{columns|1}}})}}|#ddd}}} | color5 = {{{{{#expr:9+(5*{{{columns|1}}})}}|#ddd}}} | color6 = {{{{{#expr:11+(6*{{{columns|1}}})}}|#ddd}}} | color7 = {{{{{#expr:13+(7*{{{columns|1}}})}}|#ddd}}} | color8 = {{{{{#expr:15+(8*{{{columns|1}}})}}|#ddd}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:{{{columns|1}}} + 13}}|}}}}}|0|{{{{{#expr:{{{columns|1}}} + 13}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:2*{{{columns|1}}}+15}}|}}}}}|0|{{{{{#expr:2*{{{columns|1}}}+15}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:3*{{{columns|1}}}+17}}|}}}}}|0|{{{{{#expr:3*{{{columns|1}}}+17}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:4*{{{columns|1}}}+19}}|}}}}}|0|{{{{{#expr:4*{{{columns|1}}}+19}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:5*{{{columns|1}}}+21}}|}}}}}|0|{{{{{#expr:5*{{{columns|1}}}+21}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:6*{{{columns|1}}}+23}}|}}}}}|0|{{{{{#expr:6*{{{columns|1}}}+23}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:7*{{{columns|1}}}+25}}|}}}}}|0|{{{{{#expr:7*{{{columns|1}}}+25}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:8*{{{columns|1}}}+27}}|}}}}}|0|{{{{{#expr:8*{{{columns|1}}}+27}}|0}}}}} }} <!-------------- -- Column 12 -- --------------->{{#ifexpr:{{{columns|1}}}>11| {{#if:{{#ifexpr:1*{{{style|1}}}}}||{{#ifexpr:{{#expr:{{{style|1}}} / 2 round 0 }}*2={{{style|1}}}| ! style="text-align:right;vertical-align:bottom;padding-right:4px;" {{!}} {{{12|xxx}}}|}}}} {{Data bars/column | detailed = {{#if:{{#ifexpr:1*{{{style|1}}}}}||{{#ifexpr:{{{style|1}}}<5||{{#ifexpr:{{{style|1}}}>8|{{#ifexpr:{{{style|1}}}<13||true}}|true}}}}}} | scale={{#if:{{#ifexpr:1*{{{scale|1}}}}}|1|{{{scale|1}}}}} | style={{#if:{{#ifexpr:1*{{{style|1}}}}}|1|{{{style|1}}}}} | color1 = {{{{{#expr:1+{{{columns|1}}}}}|#ddd}}} | color2 = {{{{{#expr:3+(2*{{{columns|1}}})}}|#ddd}}} | color3 = {{{{{#expr:5+(3*{{{columns|1}}})}}|#ddd}}} | color4 = {{{{{#expr:7+(4*{{{columns|1}}})}}|#ddd}}} | color5 = {{{{{#expr:9+(5*{{{columns|1}}})}}|#ddd}}} | color6 = {{{{{#expr:11+(6*{{{columns|1}}})}}|#ddd}}} | color7 = {{{{{#expr:13+(7*{{{columns|1}}})}}|#ddd}}} | color8 = {{{{{#expr:15+(8*{{{columns|1}}})}}|#ddd}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:{{{columns|1}}} + 14}}|}}}}}|0|{{{{{#expr:{{{columns|1}}} + 14}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:2*{{{columns|1}}}+16}}|}}}}}|0|{{{{{#expr:2*{{{columns|1}}}+16}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:3*{{{columns|1}}}+18}}|}}}}}|0|{{{{{#expr:3*{{{columns|1}}}+18}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:4*{{{columns|1}}}+20}}|}}}}}|0|{{{{{#expr:4*{{{columns|1}}}+20}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:5*{{{columns|1}}}+22}}|}}}}}|0|{{{{{#expr:5*{{{columns|1}}}+22}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:6*{{{columns|1}}}+24}}|}}}}}|0|{{{{{#expr:6*{{{columns|1}}}+24}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:7*{{{columns|1}}}+26}}|}}}}}|0|{{{{{#expr:7*{{{columns|1}}}+26}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:8*{{{columns|1}}}+28}}|}}}}}|0|{{{{{#expr:8*{{{columns|1}}}+28}}|0}}}}} }} <!-------------- -- Column 13 -- --------------->{{#ifexpr:{{{columns|1}}}>12| {{#if:{{#ifexpr:1*{{{style|1}}}}}||{{#ifexpr:{{#expr:{{{style|1}}} / 2 round 0 }}*2={{{style|1}}}| ! style="text-align:right;vertical-align:bottom;padding-right:4px;" {{!}} {{{13|xxx}}}|}}}} {{Data bars/column | detailed = {{#if:{{#ifexpr:1*{{{style|1}}}}}||{{#ifexpr:{{{style|1}}}<5||{{#ifexpr:{{{style|1}}}>8|{{#ifexpr:{{{style|1}}}<13||true}}|true}}}}}} | scale={{#if:{{#ifexpr:1*{{{scale|1}}}}}|1|{{{scale|1}}}}} | style={{#if:{{#ifexpr:1*{{{style|1}}}}}|1|{{{style|1}}}}} | color1 = {{{{{#expr:1+{{{columns|1}}}}}|#ddd}}} | color2 = {{{{{#expr:3+(2*{{{columns|1}}})}}|#ddd}}} | color3 = {{{{{#expr:5+(3*{{{columns|1}}})}}|#ddd}}} | color4 = {{{{{#expr:7+(4*{{{columns|1}}})}}|#ddd}}} | color5 = {{{{{#expr:9+(5*{{{columns|1}}})}}|#ddd}}} | color6 = {{{{{#expr:11+(6*{{{columns|1}}})}}|#ddd}}} | color7 = {{{{{#expr:13+(7*{{{columns|1}}})}}|#ddd}}} | color8 = {{{{{#expr:15+(8*{{{columns|1}}})}}|#ddd}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:{{{columns|1}}} + 15}}|}}}}}|0|{{{{{#expr:{{{columns|1}}} + 15}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:2*{{{columns|1}}}+17}}|}}}}}|0|{{{{{#expr:2*{{{columns|1}}}+17}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:3*{{{columns|1}}}+19}}|}}}}}|0|{{{{{#expr:3*{{{columns|1}}}+19}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:4*{{{columns|1}}}+21}}|}}}}}|0|{{{{{#expr:4*{{{columns|1}}}+21}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:5*{{{columns|1}}}+23}}|}}}}}|0|{{{{{#expr:5*{{{columns|1}}}+23}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:6*{{{columns|1}}}+25}}|}}}}}|0|{{{{{#expr:6*{{{columns|1}}}+25}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:7*{{{columns|1}}}+27}}|}}}}}|0|{{{{{#expr:7*{{{columns|1}}}+27}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:8*{{{columns|1}}}+29}}|}}}}}|0|{{{{{#expr:8*{{{columns|1}}}+29}}|0}}}}} }} <!-------------- -- Column 14 -- --------------->{{#ifexpr:{{{columns|1}}}>13| {{#if:{{#ifexpr:1*{{{style|1}}}}}||{{#ifexpr:{{#expr:{{{style|1}}} / 2 round 0 }}*2={{{style|1}}}| ! style="text-align:right;vertical-align:bottom;padding-right:4px;" {{!}} {{{14|xxx}}}|}}}} {{Data bars/column | detailed = {{#if:{{#ifexpr:1*{{{style|1}}}}}||{{#ifexpr:{{{style|1}}}<5||{{#ifexpr:{{{style|1}}}>8|{{#ifexpr:{{{style|1}}}<13||true}}|true}}}}}} | scale={{#if:{{#ifexpr:1*{{{scale|1}}}}}|1|{{{scale|1}}}}} | style={{#if:{{#ifexpr:1*{{{style|1}}}}}|1|{{{style|1}}}}} | color1 = {{{{{#expr:1+{{{columns|1}}}}}|#ddd}}} | color2 = {{{{{#expr:3+(2*{{{columns|1}}})}}|#ddd}}} | color3 = {{{{{#expr:5+(3*{{{columns|1}}})}}|#ddd}}} | color4 = {{{{{#expr:7+(4*{{{columns|1}}})}}|#ddd}}} | color5 = {{{{{#expr:9+(5*{{{columns|1}}})}}|#ddd}}} | color6 = {{{{{#expr:11+(6*{{{columns|1}}})}}|#ddd}}} | color7 = {{{{{#expr:13+(7*{{{columns|1}}})}}|#ddd}}} | color8 = {{{{{#expr:15+(8*{{{columns|1}}})}}|#ddd}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:{{{columns|1}}} + 16}}|}}}}}|0|{{{{{#expr:{{{columns|1}}} + 16}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:2*{{{columns|1}}}+18}}|}}}}}|0|{{{{{#expr:2*{{{columns|1}}}+18}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:3*{{{columns|1}}}+20}}|}}}}}|0|{{{{{#expr:3*{{{columns|1}}}+20}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:4*{{{columns|1}}}+22}}|}}}}}|0|{{{{{#expr:4*{{{columns|1}}}+22}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:5*{{{columns|1}}}+24}}|}}}}}|0|{{{{{#expr:5*{{{columns|1}}}+24}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:6*{{{columns|1}}}+26}}|}}}}}|0|{{{{{#expr:6*{{{columns|1}}}+26}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:7*{{{columns|1}}}+28}}|}}}}}|0|{{{{{#expr:7*{{{columns|1}}}+28}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:8*{{{columns|1}}}+30}}|}}}}}|0|{{{{{#expr:8*{{{columns|1}}}+30}}|0}}}}} }} <!-------------- -- Column 15 -- --------------->{{#ifexpr:{{{columns|1}}}>14| {{#if:{{#ifexpr:1*{{{style|1}}}}}||{{#ifexpr:{{#expr:{{{style|1}}} / 2 round 0 }}*2={{{style|1}}}| ! style="text-align:right;vertical-align:bottom;padding-right:4px;" {{!}} {{{15|xxx}}}|}}}} {{Data bars/column | detailed = {{#if:{{#ifexpr:1*{{{style|1}}}}}||{{#ifexpr:{{{style|1}}}<5||{{#ifexpr:{{{style|1}}}>8|{{#ifexpr:{{{style|1}}}<13||true}}|true}}}}}} | scale={{#if:{{#ifexpr:1*{{{scale|1}}}}}|1|{{{scale|1}}}}} | style={{#if:{{#ifexpr:1*{{{style|1}}}}}|1|{{{style|1}}}}} | color1 = {{{{{#expr:1+{{{columns|1}}}}}|#ddd}}} | color2 = {{{{{#expr:3+(2*{{{columns|1}}})}}|#ddd}}} | color3 = {{{{{#expr:5+(3*{{{columns|1}}})}}|#ddd}}} | color4 = {{{{{#expr:7+(4*{{{columns|1}}})}}|#ddd}}} | color5 = {{{{{#expr:9+(5*{{{columns|1}}})}}|#ddd}}} | color6 = {{{{{#expr:11+(6*{{{columns|1}}})}}|#ddd}}} | color7 = {{{{{#expr:13+(7*{{{columns|1}}})}}|#ddd}}} | color8 = {{{{{#expr:15+(8*{{{columns|1}}})}}|#ddd}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:{{{columns|1}}} + 17}}|}}}}}|0|{{{{{#expr:{{{columns|1}}} + 17}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:2*{{{columns|1}}}+19}}|}}}}}|0|{{{{{#expr:2*{{{columns|1}}}+19}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:3*{{{columns|1}}}+21}}|}}}}}|0|{{{{{#expr:3*{{{columns|1}}}+21}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:4*{{{columns|1}}}+23}}|}}}}}|0|{{{{{#expr:4*{{{columns|1}}}+23}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:5*{{{columns|1}}}+25}}|}}}}}|0|{{{{{#expr:5*{{{columns|1}}}+25}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:6*{{{columns|1}}}+27}}|}}}}}|0|{{{{{#expr:6*{{{columns|1}}}+27}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:7*{{{columns|1}}}+29}}|}}}}}|0|{{{{{#expr:7*{{{columns|1}}}+29}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:8*{{{columns|1}}}+31}}|}}}}}|0|{{{{{#expr:8*{{{columns|1}}}+31}}|0}}}}} }} <!-------------- -- Column 16 -- --------------->{{#ifexpr:{{{columns|1}}}>15| {{#if:{{#ifexpr:1*{{{style|1}}}}}||{{#ifexpr:{{#expr:{{{style|1}}} / 2 round 0 }}*2={{{style|1}}}| ! style="text-align:right;vertical-align:bottom;padding-right:4px;" {{!}} {{{16|xxx}}}|}}}} {{Data bars/column | detailed = {{#if:{{#ifexpr:1*{{{style|1}}}}}||{{#ifexpr:{{{style|1}}}<5||{{#ifexpr:{{{style|1}}}>8|{{#ifexpr:{{{style|1}}}<13||true}}|true}}}}}} | scale={{#if:{{#ifexpr:1*{{{scale|1}}}}}|1|{{{scale|1}}}}} | style={{#if:{{#ifexpr:1*{{{style|1}}}}}|1|{{{style|1}}}}} | color1 = {{{{{#expr:1+{{{columns|1}}}}}|#ddd}}} | color2 = {{{{{#expr:3+(2*{{{columns|1}}})}}|#ddd}}} | color3 = {{{{{#expr:5+(3*{{{columns|1}}})}}|#ddd}}} | color4 = {{{{{#expr:7+(4*{{{columns|1}}})}}|#ddd}}} | color5 = {{{{{#expr:9+(5*{{{columns|1}}})}}|#ddd}}} | color6 = {{{{{#expr:11+(6*{{{columns|1}}})}}|#ddd}}} | color7 = {{{{{#expr:13+(7*{{{columns|1}}})}}|#ddd}}} | color8 = {{{{{#expr:15+(8*{{{columns|1}}})}}|#ddd}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:{{{columns|1}}} + 18}}|}}}}}|0|{{{{{#expr:{{{columns|1}}} + 18}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:2*{{{columns|1}}}+20}}|}}}}}|0|{{{{{#expr:2*{{{columns|1}}}+20}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:3*{{{columns|1}}}+22}}|}}}}}|0|{{{{{#expr:3*{{{columns|1}}}+22}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:4*{{{columns|1}}}+24}}|}}}}}|0|{{{{{#expr:4*{{{columns|1}}}+24}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:5*{{{columns|1}}}+26}}|}}}}}|0|{{{{{#expr:5*{{{columns|1}}}+26}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:6*{{{columns|1}}}+28}}|}}}}}|0|{{{{{#expr:6*{{{columns|1}}}+28}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:7*{{{columns|1}}}+30}}|}}}}}|0|{{{{{#expr:7*{{{columns|1}}}+30}}|0}}}}} | {{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:8*{{{columns|1}}}+32}}|}}}}}|0|{{{{{#expr:8*{{{columns|1}}}+32}}|0}}}}} }}<!------------->|}}|}}|}}|}}|}}|}}|}}|}}|}}|}}|}}|}}|}}|}}|}} <!------------------- --- --- --- vertical --- --- chart --- --- BAR LABELS --- --- --- -------------------->{{#if:{{#ifexpr:1*{{{style|1}}}}} |<!---no labels if error------> |<!-------------->{{#ifexpr:{{#expr:{{{style|1}}} / 2 round 0 }}*2={{{style|1}}}<!------- ----------------->|<!-------no labels if even---- ----------------->|<!------- labels if odd ----> {{!}}- style="vertical-align:top;" ! style="padding-left:4px; padding-right:4px;" {{!}} {{{1|xxx}}} {{#ifexpr:{{{columns|1}}}>1| ! style="padding-left:4px; padding-right:4px;" {{!}} {{{2|xxx}}} {{#ifexpr:{{{columns|1}}}>2| ! style="padding-left:4px; padding-right:4px;" {{!}} {{{3|xxx}}} {{#ifexpr:{{{columns|1}}}>3| ! style="padding-left:4px; padding-right:4px;" {{!}} {{{4|xxx}}} {{#ifexpr:{{{columns|1}}}>4| ! style="padding-left:4px; padding-right:4px;" {{!}} {{{5|xxx}}} {{#ifexpr:{{{columns|1}}}>5| ! style="padding-left:4px; padding-right:4px;" {{!}} {{{6|xxx}}} {{#ifexpr:{{{columns|1}}}>6| ! style="padding-left:4px; padding-right:4px;" {{!}} {{{7|xxx}}} {{#ifexpr:{{{columns|1}}}>7| ! style="padding-left:4px; padding-right:4px;" {{!}} {{{8|xxx}}} {{#ifexpr:{{{columns|1}}}>8| ! style="padding-left:4px; padding-right:4px;" {{!}} {{{9|xxx}}} {{#ifexpr:{{{columns|1}}}>9| ! style="padding-left:4px; padding-right:4px;" {{!}} {{{10|xxx}}} {{#ifexpr:{{{columns|1}}}>10| ! style="padding-left:4px; padding-right:4px;" {{!}} {{{11|xxx}}} {{#ifexpr:{{{columns|1}}}>11| ! style="padding-left:4px; padding-right:4px;" {{!}} {{{12|xxx}}} {{#ifexpr:{{{columns|1}}}>12| ! style="padding-left:4px; padding-right:4px;" {{!}} {{{13|xxx}}} {{#ifexpr:{{{columns|1}}}>13| ! style="padding-left:4px; padding-right:4px;" {{!}} {{{14|xxx}}} {{#ifexpr:{{{columns|1}}}>14| ! style="padding-left:4px; padding-right:4px;" {{!}} {{{15|xxx}}} {{#ifexpr:{{{columns|1}}}>15| ! style="padding-left:4px; padding-right:4px;" {{!}} {{{16|xxx}}}|}}|}}|}}|}}|}}|}}|}}|}}|}}|}}|}}|}}|}}|}}|}}<!------- ----------------->}}}} |} |} | style="vertical-align:top;" | {{#if:{{#ifexpr:1*{{{style|1}}}}}||{{#ifexpr:{{{style|1}}}>8|<!--- ------------------------------ -- -- -- do averages if style > 8 -- -- -- -----------------------------> {{Data bars/averages | style = {{{style|9}}} | scale = {{{scale|1}}} | columns = {{{columns|1}}} | {{{1|}}}| {{{2|}}}| {{{3|}}}| {{{4|}}}| {{{5|}}}| {{{6|}}}| {{{7|}}}| {{{8|}}}| {{{9|}}}| {{{10|}}} | {{{11|}}}| {{{12|}}}| {{{13|}}}| {{{14|}}}| {{{15|}}}| {{{16|}}}| {{{17|}}}| {{{18|}}}| {{{19|}}}| {{{20|}}} | {{{21|}}}| {{{22|}}}| {{{23|}}}| {{{24|}}}| {{{25|}}}| {{{26|}}}| {{{27|}}}| {{{28|}}}| {{{29|}}}| {{{30|}}} | {{{31|}}}| {{{32|}}}| {{{33|}}}| {{{34|}}}| {{{35|}}}| {{{36|}}}| {{{37|}}}| {{{38|}}}| {{{39|}}}| {{{40|}}} | {{{41|}}}| {{{42|}}}| {{{43|}}}| {{{44|}}}| {{{45|}}}| {{{46|}}}| {{{47|}}}| {{{48|}}}| {{{49|}}}| {{{50|}}} | {{{51|}}}| {{{52|}}}| {{{53|}}}| {{{54|}}}| {{{55|}}}| {{{56|}}}| {{{57|}}}| {{{58|}}}| {{{59|}}}| {{{60|}}} | {{{61|}}}| {{{62|}}}| {{{63|}}}| {{{64|}}}| {{{65|}}}| {{{66|}}}| {{{67|}}}| {{{68|}}}| {{{69|}}}| {{{70|}}} | {{{71|}}}| {{{72|}}}| {{{73|}}}| {{{74|}}}| {{{75|}}}| {{{76|}}}| {{{77|}}}| {{{78|}}}| {{{79|}}}| {{{80|}}} | {{{81|}}}| {{{82|}}}| {{{83|}}}| {{{84|}}}| {{{85|}}}| {{{86|}}}| {{{87|}}}| {{{88|}}}| {{{89|}}}| {{{90|}}} | {{{91|}}}| {{{92|}}}| {{{93|}}}| {{{94|}}}| {{{95|}}}| {{{96|}}}| {{{97|}}}| {{{98|}}}| {{{99|}}}|{{{100|}}} |{{{101|}}}|{{{102|}}}|{{{103|}}}|{{{104|}}}|{{{105|}}}|{{{106|}}}|{{{107|}}}|{{{108|}}}|{{{109|}}}|{{{110|}}} |{{{111|}}}|{{{112|}}}|{{{113|}}}|{{{114|}}}|{{{115|}}}|{{{116|}}}|{{{117|}}}|{{{118|}}}|{{{119|}}}|{{{120|}}} |{{{121|}}}|{{{122|}}}|{{{123|}}}|{{{124|}}}|{{{125|}}}|{{{126|}}}|{{{127|}}}|{{{128|}}}|{{{129|}}}|{{{130|}}} |{{{131|}}}|{{{132|}}}|{{{133|}}}|{{{134|}}}|{{{135|}}}|{{{136|}}}|{{{137|}}}|{{{138|}}}|{{{139|}}}|{{{140|}}} |{{{141|}}}|{{{142|}}}|{{{143|}}}|{{{144|}}}|{{{145|}}}|{{{146|}}}|{{{147|}}}|{{{148|}}}|{{{149|}}}|{{{150|}}} |{{{151|}}}|{{{152|}}}|{{{153|}}}|{{{154|}}}|{{{155|}}}|{{{156|}}}|{{{157|}}}|{{{158|}}}|{{{159|}}}|{{{160|}}} }}| <!------------------- --- --- --- else --- --- color key --- --- & totals --- --- --- --------------------> {{#ifexpr:{{{columns|1}}}>1|Total: {{#expr:<!--- ---->{{#expr:<!-- column 1 --- ------->{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:{{{columns|1}}} + 3}}|}}}}}|0|{{{{{#expr:{{{columns|1}}} + 3}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:2*{{{columns|1}}}+5}}|}}}}}|0|{{{{{#expr:2*{{{columns|1}}}+5}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:3*{{{columns|1}}}+7}}|}}}}}|0|{{{{{#expr:3*{{{columns|1}}}+7}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:4*{{{columns|1}}}+9}}|}}}}}|0|{{{{{#expr:4*{{{columns|1}}}+9}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:5*{{{columns|1}}}+11}}|}}}}}|0|{{{{{#expr:5*{{{columns|1}}}+11}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:6*{{{columns|1}}}+13}}|}}}}}|0|{{{{{#expr:6*{{{columns|1}}}+13}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:7*{{{columns|1}}}+15}}|}}}}}|0|{{{{{#expr:7*{{{columns|1}}}+15}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:8*{{{columns|1}}}+17}}|}}}}}|0|{{{{{#expr:8*{{{columns|1}}}+17}}|0}}}}}<!-- ------>}}<!--- --->+{{#ifexpr:{{{columns|1}}}>1|{{#expr:<!-- column 2 --- ------->{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:{{{columns|1}}} + 4}}|}}}}}|0|{{{{{#expr:{{{columns|1}}} + 4}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:2*{{{columns|1}}}+6}}|}}}}}|0|{{{{{#expr:2*{{{columns|1}}}+6}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:3*{{{columns|1}}}+8}}|}}}}}|0|{{{{{#expr:3*{{{columns|1}}}+8}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:4*{{{columns|1}}}+10}}|}}}}}|0|{{{{{#expr:4*{{{columns|1}}}+10}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:5*{{{columns|1}}}+12}}|}}}}}|0|{{{{{#expr:5*{{{columns|1}}}+12}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:6*{{{columns|1}}}+14}}|}}}}}|0|{{{{{#expr:6*{{{columns|1}}}+14}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:7*{{{columns|1}}}+16}}|}}}}}|0|{{{{{#expr:7*{{{columns|1}}}+16}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:8*{{{columns|1}}}+18}}|}}}}}|0|{{{{{#expr:8*{{{columns|1}}}+18}}|0}}}}}<!-- ------>}}|0}}<!--- --->+{{#ifexpr:{{{columns|1}}}>2|{{#expr:<!-- column 3 --- ------->{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:{{{columns|1}}} + 5}}|}}}}}|0|{{{{{#expr:{{{columns|1}}} + 5}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:2*{{{columns|1}}}+7}}|}}}}}|0|{{{{{#expr:2*{{{columns|1}}}+7}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:3*{{{columns|1}}}+9}}|}}}}}|0|{{{{{#expr:3*{{{columns|1}}}+9}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:4*{{{columns|1}}}+11}}|}}}}}|0|{{{{{#expr:4*{{{columns|1}}}+11}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:5*{{{columns|1}}}+13}}|}}}}}|0|{{{{{#expr:5*{{{columns|1}}}+13}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:6*{{{columns|1}}}+15}}|}}}}}|0|{{{{{#expr:6*{{{columns|1}}}+15}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:7*{{{columns|1}}}+17}}|}}}}}|0|{{{{{#expr:7*{{{columns|1}}}+17}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:8*{{{columns|1}}}+19}}|}}}}}|0|{{{{{#expr:8*{{{columns|1}}}+19}}|0}}}}}<!-- ------>}}|0}}<!--- --->+{{#ifexpr:{{{columns|1}}}>3|{{#expr:<!-- column 4 --- ------->{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:{{{columns|1}}} + 6}}|}}}}}|0|{{{{{#expr:{{{columns|1}}} + 6}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:2*{{{columns|1}}}+8}}|}}}}}|0|{{{{{#expr:2*{{{columns|1}}}+8}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:3*{{{columns|1}}}+10}}|}}}}}|0|{{{{{#expr:3*{{{columns|1}}}+10}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:4*{{{columns|1}}}+12}}|}}}}}|0|{{{{{#expr:4*{{{columns|1}}}+12}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:5*{{{columns|1}}}+14}}|}}}}}|0|{{{{{#expr:5*{{{columns|1}}}+14}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:6*{{{columns|1}}}+16}}|}}}}}|0|{{{{{#expr:6*{{{columns|1}}}+16}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:7*{{{columns|1}}}+18}}|}}}}}|0|{{{{{#expr:7*{{{columns|1}}}+18}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:8*{{{columns|1}}}+20}}|}}}}}|0|{{{{{#expr:8*{{{columns|1}}}+20}}|0}}}}}<!-- ------>}}|0}}<!--- --->+{{#ifexpr:{{{columns|1}}}>4|{{#expr:<!-- column 5 --- ------->{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:{{{columns|1}}} + 7}}|}}}}}|0|{{{{{#expr:{{{columns|1}}} + 7}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:2*{{{columns|1}}}+9}}|}}}}}|0|{{{{{#expr:2*{{{columns|1}}}+9}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:3*{{{columns|1}}}+11}}|}}}}}|0|{{{{{#expr:3*{{{columns|1}}}+11}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:4*{{{columns|1}}}+13}}|}}}}}|0|{{{{{#expr:4*{{{columns|1}}}+13}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:5*{{{columns|1}}}+15}}|}}}}}|0|{{{{{#expr:5*{{{columns|1}}}+15}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:6*{{{columns|1}}}+17}}|}}}}}|0|{{{{{#expr:6*{{{columns|1}}}+17}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:7*{{{columns|1}}}+19}}|}}}}}|0|{{{{{#expr:7*{{{columns|1}}}+19}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:8*{{{columns|1}}}+21}}|}}}}}|0|{{{{{#expr:8*{{{columns|1}}}+21}}|0}}}}}<!-- ------>}}|0}}<!--- --->+{{#ifexpr:{{{columns|1}}}>5|{{#expr:<!-- column 6 --- ------->{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:{{{columns|1}}} + 8}}|}}}}}|0|{{{{{#expr:{{{columns|1}}} + 8}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:2*{{{columns|1}}}+10}}|}}}}}|0|{{{{{#expr:2*{{{columns|1}}}+10}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:3*{{{columns|1}}}+12}}|}}}}}|0|{{{{{#expr:3*{{{columns|1}}}+12}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:4*{{{columns|1}}}+14}}|}}}}}|0|{{{{{#expr:4*{{{columns|1}}}+14}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:5*{{{columns|1}}}+16}}|}}}}}|0|{{{{{#expr:5*{{{columns|1}}}+16}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:6*{{{columns|1}}}+18}}|}}}}}|0|{{{{{#expr:6*{{{columns|1}}}+18}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:7*{{{columns|1}}}+20}}|}}}}}|0|{{{{{#expr:7*{{{columns|1}}}+20}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:8*{{{columns|1}}}+22}}|}}}}}|0|{{{{{#expr:8*{{{columns|1}}}+22}}|0}}}}}<!-- ------>}}|0}}<!--- --->+{{#ifexpr:{{{columns|1}}}>6|{{#expr:<!-- column 7 --- ------->{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:{{{columns|1}}} + 9}}|}}}}}|0|{{{{{#expr:{{{columns|1}}} + 9}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:2*{{{columns|1}}}+11}}|}}}}}|0|{{{{{#expr:2*{{{columns|1}}}+11}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:3*{{{columns|1}}}+13}}|}}}}}|0|{{{{{#expr:3*{{{columns|1}}}+13}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:4*{{{columns|1}}}+15}}|}}}}}|0|{{{{{#expr:4*{{{columns|1}}}+15}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:5*{{{columns|1}}}+17}}|}}}}}|0|{{{{{#expr:5*{{{columns|1}}}+17}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:6*{{{columns|1}}}+19}}|}}}}}|0|{{{{{#expr:6*{{{columns|1}}}+19}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:7*{{{columns|1}}}+21}}|}}}}}|0|{{{{{#expr:7*{{{columns|1}}}+21}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:8*{{{columns|1}}}+23}}|}}}}}|0|{{{{{#expr:8*{{{columns|1}}}+23}}|0}}}}}<!-- ------>}}|0}}<!--- --->+{{#ifexpr:{{{columns|1}}}>7|{{#expr:<!-- column 8 --- ------->{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:{{{columns|1}}} + 10}}|}}}}}|0|{{{{{#expr:{{{columns|1}}} + 10}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:2*{{{columns|1}}}+12}}|}}}}}|0|{{{{{#expr:2*{{{columns|1}}}+12}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:3*{{{columns|1}}}+14}}|}}}}}|0|{{{{{#expr:3*{{{columns|1}}}+14}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:4*{{{columns|1}}}+16}}|}}}}}|0|{{{{{#expr:4*{{{columns|1}}}+16}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:5*{{{columns|1}}}+18}}|}}}}}|0|{{{{{#expr:5*{{{columns|1}}}+18}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:6*{{{columns|1}}}+20}}|}}}}}|0|{{{{{#expr:6*{{{columns|1}}}+20}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:7*{{{columns|1}}}+22}}|}}}}}|0|{{{{{#expr:7*{{{columns|1}}}+22}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:8*{{{columns|1}}}+24}}|}}}}}|0|{{{{{#expr:8*{{{columns|1}}}+24}}|0}}}}}<!-- ------>}}|0}}<!--- --->+{{#ifexpr:{{{columns|1}}}>8|{{#expr:<!-- column 9 --- ------->{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:{{{columns|1}}} + 11}}|}}}}}|0|{{{{{#expr:{{{columns|1}}} + 11}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:2*{{{columns|1}}}+13}}|}}}}}|0|{{{{{#expr:2*{{{columns|1}}}+13}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:3*{{{columns|1}}}+15}}|}}}}}|0|{{{{{#expr:3*{{{columns|1}}}+15}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:4*{{{columns|1}}}+17}}|}}}}}|0|{{{{{#expr:4*{{{columns|1}}}+17}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:5*{{{columns|1}}}+19}}|}}}}}|0|{{{{{#expr:5*{{{columns|1}}}+19}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:6*{{{columns|1}}}+21}}|}}}}}|0|{{{{{#expr:6*{{{columns|1}}}+21}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:7*{{{columns|1}}}+23}}|}}}}}|0|{{{{{#expr:7*{{{columns|1}}}+23}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:8*{{{columns|1}}}+25}}|}}}}}|0|{{{{{#expr:8*{{{columns|1}}}+25}}|0}}}}}<!-- ------>}}|0}}<!--- --->+{{#ifexpr:{{{columns|1}}}>9|{{#expr:<!-- column 10 --- ------->{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:{{{columns|1}}} + 12}}|}}}}}|0|{{{{{#expr:{{{columns|1}}} + 12}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:2*{{{columns|1}}}+14}}|}}}}}|0|{{{{{#expr:2*{{{columns|1}}}+14}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:3*{{{columns|1}}}+16}}|}}}}}|0|{{{{{#expr:3*{{{columns|1}}}+16}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:4*{{{columns|1}}}+18}}|}}}}}|0|{{{{{#expr:4*{{{columns|1}}}+18}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:5*{{{columns|1}}}+20}}|}}}}}|0|{{{{{#expr:5*{{{columns|1}}}+20}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:6*{{{columns|1}}}+22}}|}}}}}|0|{{{{{#expr:6*{{{columns|1}}}+22}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:7*{{{columns|1}}}+24}}|}}}}}|0|{{{{{#expr:7*{{{columns|1}}}+24}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:8*{{{columns|1}}}+26}}|}}}}}|0|{{{{{#expr:8*{{{columns|1}}}+26}}|0}}}}}<!-- ------>}}|0}}<!--- --->+{{#ifexpr:{{{columns|1}}}>10|{{#expr:<!-- column 11 --- ------->{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:{{{columns|1}}} + 13}}|}}}}}|0|{{{{{#expr:{{{columns|1}}} + 13}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:2*{{{columns|1}}}+15}}|}}}}}|0|{{{{{#expr:2*{{{columns|1}}}+15}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:3*{{{columns|1}}}+17}}|}}}}}|0|{{{{{#expr:3*{{{columns|1}}}+17}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:4*{{{columns|1}}}+19}}|}}}}}|0|{{{{{#expr:4*{{{columns|1}}}+19}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:5*{{{columns|1}}}+21}}|}}}}}|0|{{{{{#expr:5*{{{columns|1}}}+21}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:6*{{{columns|1}}}+23}}|}}}}}|0|{{{{{#expr:6*{{{columns|1}}}+23}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:7*{{{columns|1}}}+25}}|}}}}}|0|{{{{{#expr:7*{{{columns|1}}}+25}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:8*{{{columns|1}}}+27}}|}}}}}|0|{{{{{#expr:8*{{{columns|1}}}+27}}|0}}}}}<!-- ------>}}|0}}<!--- --->+{{#ifexpr:{{{columns|1}}}>11|{{#expr:<!-- column 12 --- ------->{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:{{{columns|1}}} + 14}}|}}}}}|0|{{{{{#expr:{{{columns|1}}} + 14}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:2*{{{columns|1}}}+16}}|}}}}}|0|{{{{{#expr:2*{{{columns|1}}}+16}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:3*{{{columns|1}}}+18}}|}}}}}|0|{{{{{#expr:3*{{{columns|1}}}+18}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:4*{{{columns|1}}}+20}}|}}}}}|0|{{{{{#expr:4*{{{columns|1}}}+20}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:5*{{{columns|1}}}+22}}|}}}}}|0|{{{{{#expr:5*{{{columns|1}}}+22}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:6*{{{columns|1}}}+24}}|}}}}}|0|{{{{{#expr:6*{{{columns|1}}}+24}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:7*{{{columns|1}}}+26}}|}}}}}|0|{{{{{#expr:7*{{{columns|1}}}+26}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:8*{{{columns|1}}}+28}}|}}}}}|0|{{{{{#expr:8*{{{columns|1}}}+28}}|0}}}}}<!-- ------>}}|0}}<!--- --->+{{#ifexpr:{{{columns|1}}}>12|{{#expr:<!-- column 13 --- ------->{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:{{{columns|1}}} + 15}}|}}}}}|0|{{{{{#expr:{{{columns|1}}} + 15}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:2*{{{columns|1}}}+17}}|}}}}}|0|{{{{{#expr:2*{{{columns|1}}}+17}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:3*{{{columns|1}}}+19}}|}}}}}|0|{{{{{#expr:3*{{{columns|1}}}+19}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:4*{{{columns|1}}}+21}}|}}}}}|0|{{{{{#expr:4*{{{columns|1}}}+21}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:5*{{{columns|1}}}+23}}|}}}}}|0|{{{{{#expr:5*{{{columns|1}}}+23}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:6*{{{columns|1}}}+25}}|}}}}}|0|{{{{{#expr:6*{{{columns|1}}}+25}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:7*{{{columns|1}}}+27}}|}}}}}|0|{{{{{#expr:7*{{{columns|1}}}+27}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:8*{{{columns|1}}}+29}}|}}}}}|0|{{{{{#expr:8*{{{columns|1}}}+29}}|0}}}}}<!-- ------>}}|0}}<!--- --->+{{#ifexpr:{{{columns|1}}}>13|{{#expr:<!-- column 14 --- ------->{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:{{{columns|1}}} + 16}}|}}}}}|0|{{{{{#expr:{{{columns|1}}} + 16}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:2*{{{columns|1}}}+18}}|}}}}}|0|{{{{{#expr:2*{{{columns|1}}}+18}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:3*{{{columns|1}}}+20}}|}}}}}|0|{{{{{#expr:3*{{{columns|1}}}+20}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:4*{{{columns|1}}}+22}}|}}}}}|0|{{{{{#expr:4*{{{columns|1}}}+22}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:5*{{{columns|1}}}+24}}|}}}}}|0|{{{{{#expr:5*{{{columns|1}}}+24}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:6*{{{columns|1}}}+26}}|}}}}}|0|{{{{{#expr:6*{{{columns|1}}}+26}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:7*{{{columns|1}}}+28}}|}}}}}|0|{{{{{#expr:7*{{{columns|1}}}+28}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:8*{{{columns|1}}}+30}}|}}}}}|0|{{{{{#expr:8*{{{columns|1}}}+30}}|0}}}}}<!-- ------>}}|0}}<!--- --->+{{#ifexpr:{{{columns|1}}}>14|{{#expr:<!-- column 15 --- ------->{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:{{{columns|1}}} + 17}}|}}}}}|0|{{{{{#expr:{{{columns|1}}} + 17}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:2*{{{columns|1}}}+19}}|}}}}}|0|{{{{{#expr:2*{{{columns|1}}}+19}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:3*{{{columns|1}}}+21}}|}}}}}|0|{{{{{#expr:3*{{{columns|1}}}+21}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:4*{{{columns|1}}}+23}}|}}}}}|0|{{{{{#expr:4*{{{columns|1}}}+23}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:5*{{{columns|1}}}+25}}|}}}}}|0|{{{{{#expr:5*{{{columns|1}}}+25}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:6*{{{columns|1}}}+27}}|}}}}}|0|{{{{{#expr:6*{{{columns|1}}}+27}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:7*{{{columns|1}}}+29}}|}}}}}|0|{{{{{#expr:7*{{{columns|1}}}+29}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:8*{{{columns|1}}}+31}}|}}}}}|0|{{{{{#expr:8*{{{columns|1}}}+31}}|0}}}}}<!-- ------>}}|0}}<!--- --->+{{#ifexpr:{{{columns|1}}}>15|{{#expr:<!-- column 16 --- ------->{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:{{{columns|1}}} + 18}}|}}}}}|0|{{{{{#expr:{{{columns|1}}} + 18}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:2*{{{columns|1}}}+20}}|}}}}}|0|{{{{{#expr:2*{{{columns|1}}}+20}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:3*{{{columns|1}}}+22}}|}}}}}|0|{{{{{#expr:3*{{{columns|1}}}+22}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:4*{{{columns|1}}}+24}}|}}}}}|0|{{{{{#expr:4*{{{columns|1}}}+24}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:5*{{{columns|1}}}+26}}|}}}}}|0|{{{{{#expr:5*{{{columns|1}}}+26}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:6*{{{columns|1}}}+28}}|}}}}}|0|{{{{{#expr:6*{{{columns|1}}}+28}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:7*{{{columns|1}}}+30}}|}}}}}|0|{{{{{#expr:7*{{{columns|1}}}+30}}|0}}}}}<!-- ------>+{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:8*{{{columns|1}}}+32}}|}}}}}|0|{{{{{#expr:8*{{{columns|1}}}+32}}|0}}}}}<!-- ----->}}|0}}<!--- --->}}|&nbsp;}}<!--- --->{{#if:{{{{{#expr:3+(2*{{{columns|1}}})}}|}}}|<!---- --------->{{Data bars/bar|detailed={{#if:{{#ifexpr:1*{{{style|1}}}}}||{{#ifexpr:{{{style|1}}}>4|true|}}}}<!---- --------->|size=16|color={{{{{#expr:1+{{{columns|1}}}}}|#ddd}}}|name={{{{{#expr:2+{{{columns|1}}}}}|xxx}}}<!---- --------->|title={{#ifexpr:{{{columns|1}}}>1|{{#expr:<!---------- -------------------------------->{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:{{{columns|1}}}+3}}|}}}}}|0|{{{{{#expr:{{{columns|1}}}+3}}|0}}}}}<!--- --->+{{#ifexpr:{{{columns|1}}}>1|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:{{{columns|1}}}+4}}|}}}}}|0|{{{{{#expr:{{{columns|1}}}+4}}|0}}}}}|0}}<!--- --->+{{#ifexpr:{{{columns|1}}}>2|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:{{{columns|1}}}+5}}|}}}}}|0|{{{{{#expr:{{{columns|1}}}+5}}|0}}}}}|0}}<!--- --->+{{#ifexpr:{{{columns|1}}}>3|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:{{{columns|1}}}+6}}|}}}}}|0|{{{{{#expr:{{{columns|1}}}+6}}|0}}}}}|0}}<!--- --->+{{#ifexpr:{{{columns|1}}}>4|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:{{{columns|1}}}+7}}|}}}}}|0|{{{{{#expr:{{{columns|1}}}+7}}|0}}}}}|0}}<!--- --->+{{#ifexpr:{{{columns|1}}}>5|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:{{{columns|1}}}+8}}|}}}}}|0|{{{{{#expr:{{{columns|1}}}+8}}|0}}}}}|0}}<!--- --->+{{#ifexpr:{{{columns|1}}}>6|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:{{{columns|1}}}+9}}|}}}}}|0|{{{{{#expr:{{{columns|1}}}+9}}|0}}}}}|0}}<!--- --->+{{#ifexpr:{{{columns|1}}}>7|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:{{{columns|1}}}+10}}|}}}}}|0|{{{{{#expr:{{{columns|1}}}+10}}|0}}}}}|0}}<!--- --->+{{#ifexpr:{{{columns|1}}}>8|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:{{{columns|1}}}+11}}|}}}}}|0|{{{{{#expr:{{{columns|1}}}+11}}|0}}}}}|0}}<!--- --->+{{#ifexpr:{{{columns|1}}}>9|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:{{{columns|1}}}+12}}|}}}}}|0|{{{{{#expr:{{{columns|1}}}+12}}|0}}}}}|0}}<!--- --->+{{#ifexpr:{{{columns|1}}}>10|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:{{{columns|1}}}+13}}|}}}}}|0|{{{{{#expr:{{{columns|1}}}+13}}|0}}}}}|0}}<!--- --->+{{#ifexpr:{{{columns|1}}}>11|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:{{{columns|1}}}+14}}|}}}}}|0|{{{{{#expr:{{{columns|1}}}+14}}|0}}}}}|0}}<!--- --->+{{#ifexpr:{{{columns|1}}}>12|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:{{{columns|1}}}+15}}|}}}}}|0|{{{{{#expr:{{{columns|1}}}+15}}|0}}}}}|0}}<!--- --->+{{#ifexpr:{{{columns|1}}}>13|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:{{{columns|1}}}+16}}|}}}}}|0|{{{{{#expr:{{{columns|1}}}+16}}|0}}}}}|0}}<!--- --->+{{#ifexpr:{{{columns|1}}}>14|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:{{{columns|1}}}+17}}|}}}}}|0|{{{{{#expr:{{{columns|1}}}+17}}|0}}}}}|0}}<!--- --->+{{#ifexpr:{{{columns|1}}}>15|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:{{{columns|1}}}+18}}|}}}}}|0|{{{{{#expr:{{{columns|1}}}+18}}|0}}}}}|0}}<!--- --->}}|}}}}<!---- --->{{#if:{{{{{#expr:3+(2*{{{columns|1}}})}}|}}}|<!---- --------->{{Data bars/bar|detailed={{#if:{{#ifexpr:1*{{{style|1}}}}}||{{#ifexpr:{{{style|1}}}>4|true|}}}}<!---- --------->|size=16|color={{{{{#expr:3+(2*{{{columns|1}}})}}|#ddd}}}|name={{{{{#expr:4+(2*{{{columns|1}}})}}|xxx}}}<!---- --------->|title={{#ifexpr:{{{columns|1}}}>1|{{#expr:<!---------- ------------------------------->{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:2*{{{columns|1}}}+5}}|}}}}}|0|{{{{{#expr:2*{{{columns|1}}}+5}}|0}}}}}<!--- -->+{{#ifexpr:{{{columns|1}}}>1|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:2*{{{columns|1}}}+6}}|}}}}}|0|{{{{{#expr:2*{{{columns|1}}}+6}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>2|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:2*{{{columns|1}}}+7}}|}}}}}|0|{{{{{#expr:2*{{{columns|1}}}+7}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>3|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:2*{{{columns|1}}}+8}}|}}}}}|0|{{{{{#expr:2*{{{columns|1}}}+8}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>4|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:2*{{{columns|1}}}+9}}|}}}}}|0|{{{{{#expr:2*{{{columns|1}}}+9}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>5|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:2*{{{columns|1}}}+10}}|}}}}}|0|{{{{{#expr:2*{{{columns|1}}}+10}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>6|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:2*{{{columns|1}}}+11}}|}}}}}|0|{{{{{#expr:2*{{{columns|1}}}+11}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>7|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:2*{{{columns|1}}}+12}}|}}}}}|0|{{{{{#expr:2*{{{columns|1}}}+12}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>8|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:2*{{{columns|1}}}+13}}|}}}}}|0|{{{{{#expr:2*{{{columns|1}}}+13}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>9|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:2*{{{columns|1}}}+14}}|}}}}}|0|{{{{{#expr:2*{{{columns|1}}}+14}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>10|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:2*{{{columns|1}}}+15}}|}}}}}|0|{{{{{#expr:2*{{{columns|1}}}+15}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>11|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:2*{{{columns|1}}}+16}}|}}}}}|0|{{{{{#expr:2*{{{columns|1}}}+16}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>12|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:2*{{{columns|1}}}+17}}|}}}}}|0|{{{{{#expr:2*{{{columns|1}}}+17}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>13|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:2*{{{columns|1}}}+18}}|}}}}}|0|{{{{{#expr:2*{{{columns|1}}}+18}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>14|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:2*{{{columns|1}}}+19}}|}}}}}|0|{{{{{#expr:2*{{{columns|1}}}+19}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>15|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:2*{{{columns|1}}}+20}}|}}}}}|0|{{{{{#expr:2*{{{columns|1}}}+20}}|0}}}}}|0}}<!--- -->}}|}}}}<!---- -->{{#if:{{{{{#expr:5+(3*{{{columns|1}}})}}|}}}|<!---- --------->{{Data bars/bar|detailed={{#if:{{#ifexpr:1*{{{style|1}}}}}||{{#ifexpr:{{{style|1}}}>4|true|}}}}<!---- --------->|size=16|color={{{{{#expr:5+(3*{{{columns|1}}})}}|#ddd}}}|name={{{{{#expr:6+(3*{{{columns|1}}})}}|xxx}}}<!---- --------->|title={{#ifexpr:{{{columns|1}}}>1|{{#expr:<!---------- ------------------------------->{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:3*{{{columns|1}}}+7}}|}}}}}|0|{{{{{#expr:3*{{{columns|1}}}+7}}|0}}}}}<!--- -->+{{#ifexpr:{{{columns|1}}}>1|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:3*{{{columns|1}}}+8}}|}}}}}|0|{{{{{#expr:3*{{{columns|1}}}+8}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>2|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:3*{{{columns|1}}}+9}}|}}}}}|0|{{{{{#expr:3*{{{columns|1}}}+9}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>3|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:3*{{{columns|1}}}+10}}|}}}}}|0|{{{{{#expr:3*{{{columns|1}}}+10}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>4|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:3*{{{columns|1}}}+11}}|}}}}}|0|{{{{{#expr:3*{{{columns|1}}}+11}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>5|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:3*{{{columns|1}}}+12}}|}}}}}|0|{{{{{#expr:3*{{{columns|1}}}+12}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>6|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:3*{{{columns|1}}}+13}}|}}}}}|0|{{{{{#expr:3*{{{columns|1}}}+13}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>7|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:3*{{{columns|1}}}+14}}|}}}}}|0|{{{{{#expr:3*{{{columns|1}}}+14}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>8|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:3*{{{columns|1}}}+15}}|}}}}}|0|{{{{{#expr:3*{{{columns|1}}}+15}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>9|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:3*{{{columns|1}}}+16}}|}}}}}|0|{{{{{#expr:3*{{{columns|1}}}+16}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>10|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:3*{{{columns|1}}}+17}}|}}}}}|0|{{{{{#expr:3*{{{columns|1}}}+17}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>11|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:3*{{{columns|1}}}+18}}|}}}}}|0|{{{{{#expr:3*{{{columns|1}}}+18}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>12|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:3*{{{columns|1}}}+19}}|}}}}}|0|{{{{{#expr:3*{{{columns|1}}}+19}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>13|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:3*{{{columns|1}}}+20}}|}}}}}|0|{{{{{#expr:3*{{{columns|1}}}+20}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>14|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:3*{{{columns|1}}}+21}}|}}}}}|0|{{{{{#expr:3*{{{columns|1}}}+21}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>15|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:3*{{{columns|1}}}+22}}|}}}}}|0|{{{{{#expr:3*{{{columns|1}}}+22}}|0}}}}}|0}}<!--- --->}}|}}}}<!---- --->{{#if:{{{{{#expr:7+(4*{{{columns|1}}})}}|}}}|<!---- --------->{{Data bars/bar|detailed={{#if:{{#ifexpr:1*{{{style|1}}}}}||{{#ifexpr:{{{style|1}}}>4|true|}}}}<!---- --------->|size=16|color={{{{{#expr:7+(4*{{{columns|1}}})}}|#ddd}}}|name={{{{{#expr:8+(4*{{{columns|1}}})}}|xxx}}}<!---- --------->|title={{#ifexpr:{{{columns|1}}}>1|{{#expr:<!---------- ------------------------------->{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:4*{{{columns|1}}}+9}}|}}}}}|0|{{{{{#expr:4*{{{columns|1}}}+9}}|0}}}}}<!--- -->+{{#ifexpr:{{{columns|1}}}>1|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:4*{{{columns|1}}}+10}}|}}}}}|0|{{{{{#expr:4*{{{columns|1}}}+10}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>2|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:4*{{{columns|1}}}+11}}|}}}}}|0|{{{{{#expr:4*{{{columns|1}}}+11}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>3|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:4*{{{columns|1}}}+12}}|}}}}}|0|{{{{{#expr:4*{{{columns|1}}}+12}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>4|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:4*{{{columns|1}}}+13}}|}}}}}|0|{{{{{#expr:4*{{{columns|1}}}+13}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>5|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:4*{{{columns|1}}}+14}}|}}}}}|0|{{{{{#expr:4*{{{columns|1}}}+14}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>6|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:4*{{{columns|1}}}+15}}|}}}}}|0|{{{{{#expr:4*{{{columns|1}}}+15}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>7|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:4*{{{columns|1}}}+16}}|}}}}}|0|{{{{{#expr:4*{{{columns|1}}}+16}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>8|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:4*{{{columns|1}}}+17}}|}}}}}|0|{{{{{#expr:4*{{{columns|1}}}+17}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>9|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:4*{{{columns|1}}}+18}}|}}}}}|0|{{{{{#expr:4*{{{columns|1}}}+18}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>10|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:4*{{{columns|1}}}+19}}|}}}}}|0|{{{{{#expr:4*{{{columns|1}}}+19}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>11|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:4*{{{columns|1}}}+20}}|}}}}}|0|{{{{{#expr:4*{{{columns|1}}}+20}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>12|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:4*{{{columns|1}}}+21}}|}}}}}|0|{{{{{#expr:4*{{{columns|1}}}+21}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>13|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:4*{{{columns|1}}}+22}}|}}}}}|0|{{{{{#expr:4*{{{columns|1}}}+22}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>14|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:4*{{{columns|1}}}+23}}|}}}}}|0|{{{{{#expr:4*{{{columns|1}}}+23}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>15|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:4*{{{columns|1}}}+24}}|}}}}}|0|{{{{{#expr:4*{{{columns|1}}}+24}}|0}}}}}|0}}<!--- --->}}|}}}}<!---- --->{{#if:{{{{{#expr:9+(5*{{{columns|1}}})}}|}}}|<!---- --------->{{Data bars/bar|detailed={{#if:{{#ifexpr:1*{{{style|1}}}}}||{{#ifexpr:{{{style|1}}}>4|true|}}}}<!---- --------->|size=16|color={{{{{#expr:9+(5*{{{columns|1}}})}}|#ddd}}}|name={{{{{#expr:10+(5*{{{columns|1}}})}}|xxx}}}<!---- --------->|title={{#ifexpr:{{{columns|1}}}>1|{{#expr:<!---------- ------------------------------->{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:5*{{{columns|1}}}+11}}|}}}}}|0|{{{{{#expr:5*{{{columns|1}}}+11}}|0}}}}}<!--- -->+{{#ifexpr:{{{columns|1}}}>1|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:5*{{{columns|1}}}+12}}|}}}}}|0|{{{{{#expr:5*{{{columns|1}}}+12}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>2|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:5*{{{columns|1}}}+13}}|}}}}}|0|{{{{{#expr:5*{{{columns|1}}}+13}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>3|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:5*{{{columns|1}}}+14}}|}}}}}|0|{{{{{#expr:5*{{{columns|1}}}+14}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>4|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:5*{{{columns|1}}}+15}}|}}}}}|0|{{{{{#expr:5*{{{columns|1}}}+15}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>5|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:5*{{{columns|1}}}+16}}|}}}}}|0|{{{{{#expr:5*{{{columns|1}}}+16}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>6|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:5*{{{columns|1}}}+17}}|}}}}}|0|{{{{{#expr:5*{{{columns|1}}}+17}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>7|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:5*{{{columns|1}}}+18}}|}}}}}|0|{{{{{#expr:5*{{{columns|1}}}+18}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>8|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:5*{{{columns|1}}}+19}}|}}}}}|0|{{{{{#expr:5*{{{columns|1}}}+19}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>9|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:5*{{{columns|1}}}+20}}|}}}}}|0|{{{{{#expr:5*{{{columns|1}}}+20}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>10|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:5*{{{columns|1}}}+21}}|}}}}}|0|{{{{{#expr:5*{{{columns|1}}}+21}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>11|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:5*{{{columns|1}}}+22}}|}}}}}|0|{{{{{#expr:5*{{{columns|1}}}+22}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>12|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:5*{{{columns|1}}}+23}}|}}}}}|0|{{{{{#expr:5*{{{columns|1}}}+23}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>13|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:5*{{{columns|1}}}+24}}|}}}}}|0|{{{{{#expr:5*{{{columns|1}}}+24}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>14|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:5*{{{columns|1}}}+25}}|}}}}}|0|{{{{{#expr:5*{{{columns|1}}}+25}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>15|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:5*{{{columns|1}}}+26}}|}}}}}|0|{{{{{#expr:5*{{{columns|1}}}+26}}|0}}}}}|0}}<!--- --->}}|}}}}<!---- --->{{#if:{{{{{#expr:11+(6*{{{columns|1}}})}}|}}}|<!---- --------->{{Data bars/bar|detailed={{#if:{{#ifexpr:1*{{{style|1}}}}}||{{#ifexpr:{{{style|1}}}>4|true|}}}}<!---- --------->|size=16|color={{{{{#expr:11+(6*{{{columns|1}}})}}|#ddd}}}|name={{{{{#expr:12+(6*{{{columns|1}}})}}|xxx}}}<!---- --------->|title={{#ifexpr:{{{columns|1}}}>1|{{#expr:<!---------- ------------------------------->{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:6*{{{columns|1}}}+13}}|}}}}}|0|{{{{{#expr:6*{{{columns|1}}}+13}}|0}}}}}<!--- -->+{{#ifexpr:{{{columns|1}}}>1|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:6*{{{columns|1}}}+14}}|}}}}}|0|{{{{{#expr:6*{{{columns|1}}}+14}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>2|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:6*{{{columns|1}}}+15}}|}}}}}|0|{{{{{#expr:6*{{{columns|1}}}+15}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>3|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:6*{{{columns|1}}}+16}}|}}}}}|0|{{{{{#expr:6*{{{columns|1}}}+16}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>4|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:6*{{{columns|1}}}+17}}|}}}}}|0|{{{{{#expr:6*{{{columns|1}}}+17}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>5|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:6*{{{columns|1}}}+18}}|}}}}}|0|{{{{{#expr:6*{{{columns|1}}}+18}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>6|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:6*{{{columns|1}}}+19}}|}}}}}|0|{{{{{#expr:6*{{{columns|1}}}+19}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>7|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:6*{{{columns|1}}}+20}}|}}}}}|0|{{{{{#expr:6*{{{columns|1}}}+20}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>8|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:6*{{{columns|1}}}+21}}|}}}}}|0|{{{{{#expr:6*{{{columns|1}}}+21}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>9|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:6*{{{columns|1}}}+22}}|}}}}}|0|{{{{{#expr:6*{{{columns|1}}}+22}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>10|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:6*{{{columns|1}}}+23}}|}}}}}|0|{{{{{#expr:6*{{{columns|1}}}+23}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>11|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:6*{{{columns|1}}}+24}}|}}}}}|0|{{{{{#expr:6*{{{columns|1}}}+24}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>12|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:6*{{{columns|1}}}+25}}|}}}}}|0|{{{{{#expr:6*{{{columns|1}}}+25}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>13|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:6*{{{columns|1}}}+26}}|}}}}}|0|{{{{{#expr:6*{{{columns|1}}}+26}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>14|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:6*{{{columns|1}}}+27}}|}}}}}|0|{{{{{#expr:6*{{{columns|1}}}+27}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>15|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:6*{{{columns|1}}}+28}}|}}}}}|0|{{{{{#expr:6*{{{columns|1}}}+28}}|0}}}}}|0}}<!--- --->}}|}}}}<!---- --->{{#if:{{{{{#expr:13+(7*{{{columns|1}}})}}|}}}|<!---- --------->{{Data bars/bar|detailed={{#if:{{#ifexpr:1*{{{style|1}}}}}||{{#ifexpr:{{{style|1}}}>4|true|}}}}<!---- --------->|size=16|color={{{{{#expr:13+(7*{{{columns|1}}})}}|#ddd}}}|name={{{{{#expr:14+(7*{{{columns|1}}})}}|xxx}}}<!---- --------->|title={{#ifexpr:{{{columns|1}}}>1|{{#expr:<!---------- ------------------------------->{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:7*{{{columns|1}}}+15}}|}}}}}|0|{{{{{#expr:7*{{{columns|1}}}+15}}|0}}}}}<!--- -->+{{#ifexpr:{{{columns|1}}}>1|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:7*{{{columns|1}}}+16}}|}}}}}|0|{{{{{#expr:7*{{{columns|1}}}+16}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>2|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:7*{{{columns|1}}}+17}}|}}}}}|0|{{{{{#expr:7*{{{columns|1}}}+17}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>3|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:7*{{{columns|1}}}+18}}|}}}}}|0|{{{{{#expr:7*{{{columns|1}}}+18}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>4|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:7*{{{columns|1}}}+19}}|}}}}}|0|{{{{{#expr:7*{{{columns|1}}}+19}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>5|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:7*{{{columns|1}}}+20}}|}}}}}|0|{{{{{#expr:7*{{{columns|1}}}+20}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>6|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:7*{{{columns|1}}}+21}}|}}}}}|0|{{{{{#expr:7*{{{columns|1}}}+21}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>7|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:7*{{{columns|1}}}+22}}|}}}}}|0|{{{{{#expr:7*{{{columns|1}}}+22}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>8|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:7*{{{columns|1}}}+23}}|}}}}}|0|{{{{{#expr:7*{{{columns|1}}}+23}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>9|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:7*{{{columns|1}}}+24}}|}}}}}|0|{{{{{#expr:7*{{{columns|1}}}+24}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>10|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:7*{{{columns|1}}}+25}}|}}}}}|0|{{{{{#expr:7*{{{columns|1}}}+25}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>11|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:7*{{{columns|1}}}+26}}|}}}}}|0|{{{{{#expr:7*{{{columns|1}}}+26}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>12|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:7*{{{columns|1}}}+27}}|}}}}}|0|{{{{{#expr:7*{{{columns|1}}}+27}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>13|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:7*{{{columns|1}}}+28}}|}}}}}|0|{{{{{#expr:7*{{{columns|1}}}+28}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>14|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:7*{{{columns|1}}}+29}}|}}}}}|0|{{{{{#expr:7*{{{columns|1}}}+29}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>15|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:7*{{{columns|1}}}+30}}|}}}}}|0|{{{{{#expr:7*{{{columns|1}}}+30}}|0}}}}}|0}}<!--- --->}}|}}}}<!---- --->{{#if:{{{{{#expr:15+(8*{{{columns|1}}})}}|}}}|<!---- --------->{{Data bars/bar|detailed={{#if:{{#ifexpr:1*{{{style|1}}}}}||{{#ifexpr:{{{style|1}}}>4|true|}}}}<!---- --------->|size=16|color={{{{{#expr:15+(8*{{{columns|1}}})}}|#ddd}}}|name={{{{{#expr:16+(8*{{{columns|1}}})}}|xxx}}}<!---- --------->|title={{#ifexpr:{{{columns|1}}}>1|{{#expr:<!---------- ------------------------------->{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:8*{{{columns|1}}}+17}}|}}}}}|0|{{{{{#expr:8*{{{columns|1}}}+17}}|0}}}}}<!--- -->+{{#ifexpr:{{{columns|1}}}>1|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:8*{{{columns|1}}}+18}}|}}}}}|0|{{{{{#expr:8*{{{columns|1}}}+18}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>2|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:8*{{{columns|1}}}+19}}|}}}}}|0|{{{{{#expr:8*{{{columns|1}}}+19}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>3|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:8*{{{columns|1}}}+20}}|}}}}}|0|{{{{{#expr:8*{{{columns|1}}}+20}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>4|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:8*{{{columns|1}}}+21}}|}}}}}|0|{{{{{#expr:8*{{{columns|1}}}+21}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>5|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:8*{{{columns|1}}}+22}}|}}}}}|0|{{{{{#expr:8*{{{columns|1}}}+22}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>6|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:8*{{{columns|1}}}+23}}|}}}}}|0|{{{{{#expr:8*{{{columns|1}}}+23}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>7|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:8*{{{columns|1}}}+24}}|}}}}}|0|{{{{{#expr:8*{{{columns|1}}}+24}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>8|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:8*{{{columns|1}}}+25}}|}}}}}|0|{{{{{#expr:8*{{{columns|1}}}+25}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>9|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:8*{{{columns|1}}}+26}}|}}}}}|0|{{{{{#expr:8*{{{columns|1}}}+26}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>10|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:8*{{{columns|1}}}+27}}|}}}}}|0|{{{{{#expr:8*{{{columns|1}}}+27}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>11|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:8*{{{columns|1}}}+28}}|}}}}}|0|{{{{{#expr:8*{{{columns|1}}}+28}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>12|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:8*{{{columns|1}}}+29}}|}}}}}|0|{{{{{#expr:8*{{{columns|1}}}+29}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>13|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:8*{{{columns|1}}}+30}}|}}}}}|0|{{{{{#expr:8*{{{columns|1}}}+30}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>14|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:8*{{{columns|1}}}+31}}|}}}}}|0|{{{{{#expr:8*{{{columns|1}}}+31}}|0}}}}}|0}}<!--- -->+{{#ifexpr:{{{columns|1}}}>15|{{#if:{{#ifexpr:{{{scale|1}}}*{{{{{#expr:8*{{{columns|1}}}+32}}|}}}}}|0|{{{{{#expr:8*{{{columns|1}}}+32}}|0}}}}}|0}}<!--- --->}}|}}}}<!---- --->|}}|}}|}}|}}|}}|}}|}}|}}}}}} {{#if:{{{source|}}}| {{!}}- {{!}} colspan="2" style="text-align:right;font-style:italic;" {{!}} <small>Source: {{{source|}}}</small>|}} |}</includeonly><noinclude> {{Documentation}} <!-- Add categories to the /doc subpage, not here! --> </noinclude> g3v80jp6i3ikblvksiy146k7cgcfscj Template:Stacked bar 10 53336 309758 2026-09-26T17:43:05Z Isma4l 41797 Bog cusub: <templatestyles src="Stacked bar/styles.css" /> <includeonly><div class="StackedBarTemplate {{yesno|{{{vertical_caption|}}}|yes=StackedBarTemplate_vertical|def=StackedBarTemplate_{{{vertical_caption|}}}}}"><div style="{{yesno|{{{vertical_caption|}}}|yes=max-height: {{{caption_height|8em}}}}}"> {{#ifeq: {{{T1|0}}} | 0 | <!-- do nothing --> | <div style="flex:{{#expr: 100 * {{{A1}}} / {{{Total|100}}} round 1 }}">{{#if:{{{T1}}}|<span>{{{T1}}}</span>}}</div>}}<!-- -->{{#ifeq: {{{T2|0... 309758 wikitext text/x-wiki <templatestyles src="Stacked bar/styles.css" /> <includeonly><div class="StackedBarTemplate {{yesno|{{{vertical_caption|}}}|yes=StackedBarTemplate_vertical|def=StackedBarTemplate_{{{vertical_caption|}}}}}"><div style="{{yesno|{{{vertical_caption|}}}|yes=max-height: {{{caption_height|8em}}}}}"> {{#ifeq: {{{T1|0}}} | 0 | <!-- do nothing --> | <div style="flex:{{#expr: 100 * {{{A1}}} / {{{Total|100}}} round 1 }}">{{#if:{{{T1}}}|<span>{{{T1}}}</span>}}</div>}}<!-- -->{{#ifeq: {{{T2|0}}} | 0 | <!-- do nothing --> | <div style="flex:{{#expr: 100 * {{{A2}}} / {{{Total|100}}} round 1 }}">{{#if:{{{T2}}}|<span>{{{T2}}}</span>}}</div>}}<!-- -->{{#ifeq: {{{T3|0}}} | 0 | <!-- do nothing --> | <div style="flex:{{#expr: 100 * {{{A3}}} / {{{Total|100}}} round 1 }}">{{#if:{{{T3}}}|<span>{{{T3}}}</span>}}</div>}}<!-- -->{{#ifeq: {{{T4|0}}} | 0 | <!-- do nothing --> | <div style="flex:{{#expr: 100 * {{{A4}}} / {{{Total|100}}} round 1 }}">{{#if:{{{T4}}}|<span>{{{T4}}}</span>}}</div>}}<!-- -->{{#ifeq: {{{T5|0}}} | 0 | <!-- do nothing --> | <div style="flex:{{#expr: 100 * {{{A5}}} / {{{Total|100}}} round 1 }}">{{#if:{{{T5}}}|<span>{{{T5}}}</span>}}</div>}}<!-- -->{{#ifeq: {{{T6|0}}} | 0 | <!-- do nothing --> | <div style="flex:{{#expr: 100 * {{{A6}}} / {{{Total|100}}} round 1 }}">{{#if:{{{T6}}}|<span>{{{T6}}}</span>}}</div>}}<!-- -->{{#ifeq: {{{T7|0}}} | 0 | <!-- do nothing --> | <div style="flex:{{#expr: 100 * {{{A7}}} / {{{Total|100}}} round 1 }}">{{#if:{{{T7}}}|<span>{{{T7}}}</span>}}</div>}}<!-- -->{{#ifeq: {{{T8|0}}} | 0 | <!-- do nothing --> | <div style="flex:{{#expr: 100 * {{{A8}}} / {{{Total|100}}} round 1 }}">{{#if:{{{T8}}}|<span>{{{T8}}}</span>}}</div>}}<!-- -->{{#ifeq: {{{T9|0}}} | 0 | <!-- do nothing --> | <div style="flex:{{#expr: 100 * {{{A9}}} / {{{Total|100}}} round 1 }}">{{#if:{{{T9}}}|<span>{{{T9}}}</span>}}</div>}}<!-- -->{{#ifeq: {{{T10|0}}} | 0 | <!-- do nothing --> | <div style="flex:{{#expr: 100 * {{{A10}}} / {{{Total|100}}} round 1 }}">{{#if:{{{T10}}}|<span>{{{T10}}}</span>}}</div>}}<!-- -->{{#ifeq: {{{T11|0}}} | 0 | <!-- do nothing --> | <div style="flex:{{#expr: 100 * {{{A11}}} / {{{Total|100}}} round 1 }}">{{#if:{{{T11}}}|<span>{{{T11}}}</span>}}</div>}}<!-- -->{{#ifeq: {{{T12|0}}} | 0 | <!-- do nothing --> | <div style="flex:{{#expr: 100 * {{{A12}}} / {{{Total|100}}} round 1 }}">{{#if:{{{T12}}}|<span>{{{T12}}}</span>}}</div>}}<!-- -->{{#ifexpr: {{{A1|0}}} + {{{A2|0}}} + {{{A3|0}}} + {{{A4|0}}} + {{{A5|0}}} + {{{A6|0}}} + {{{A7|0}}} + {{{A8|0}}} + {{{A9|0}}} + {{{A10|0}}} + {{{A11|0}}} + {{{A12|0}}} - {{{Total|100}}} = 0 | <!-- do nothing --> | <div style="flex:{{#expr: -100 * ( {{{A1|0}}} + {{{A2|0}}} + {{{A3|0}}} + {{{A4|0}}} + {{{A5|0}}} + {{{A6|0}}} + {{{A7|0}}} + {{{A8|0}}} + {{{A9|0}}} + {{{A10|0}}} + {{{A11|0}}} + {{{A12|0}}} - {{{Total|100}}} ) / {{{Total|100}}} round 1 }}"></div>}} </div> {|class="stackedbar" cellspacing="1" style="height:{{{height|10px}}}" {{#ifeq: {{{A1|0}}} | 0 | <!-- do nothing --> | {{!}}class="StackedBarTemplate_color" style="font-size:0px; -webkit-print-color-adjust: exact; print-color-adjust: exact; color:inherit; background: {{{C1|#85e084}}}; width: {{#expr: 100 * {{{A1}}} / {{{Total|100}}} round 1 }}%" title="{{#if:{{{hover-pc|}}}|{{#expr: 100 * {{{A1}}} / {{{Total|100}}} round 1 }}%}}"{{!}}}} {{#ifeq: {{{A2|0}}} | 0 | <!-- do nothing --> | {{!}}class="StackedBarTemplate_color" style="font-size:0px; -webkit-print-color-adjust: exact; print-color-adjust: exact; color:inherit; background: {{{C2|#64d1cf}}}; width: {{#expr: 100 * {{{A2}}} / {{{Total|100}}} round 1 }}%" title="{{#if:{{{hover-pc|}}}|{{#expr: 100 * {{{A2}}} / {{{Total|100}}} round 1 }}%}}"{{!}}}} {{#ifeq: {{{A3|0}}} | 0 | <!-- do nothing --> | {{!}}class="StackedBarTemplate_color" style="font-size:0px; -webkit-print-color-adjust: exact; print-color-adjust: exact; color:inherit; background: {{{C3|#6fc0f2}}}; width: {{#expr: 100 * {{{A3}}} / {{{Total|100}}} round 1 }}%" title="{{#if:{{{hover-pc|}}}|{{#expr: 100 * {{{A3}}} / {{{Total|100}}} round 1 }}%}}"{{!}}}} {{#ifeq: {{{A4|0}}} | 0 | <!-- do nothing --> | {{!}}class="StackedBarTemplate_color" style="font-size:0px; -webkit-print-color-adjust: exact; print-color-adjust: exact; color:inherit; background: {{{C4|#9692e3}}}; width: {{#expr: 100 * {{{A4}}} / {{{Total|100}}} round 1 }}%" title="{{#if:{{{hover-pc|}}}|{{#expr: 100 * {{{A4}}} / {{{Total|100}}} round 1 }}%}}"{{!}}}} {{#ifeq: {{{A5|0}}} | 0 | <!-- do nothing --> | {{!}}class="StackedBarTemplate_color" style="font-size:0px; -webkit-print-color-adjust: exact; print-color-adjust: exact; color:inherit; background: {{{C5|#bd64d1}}}; width: {{#expr: 100 * {{{A5}}} / {{{Total|100}}} round 1 }}%" title="{{#if:{{{hover-pc|}}}|{{#expr: 100 * {{{A5}}} / {{{Total|100}}} round 1 }}%}}"{{!}}}} {{#ifeq: {{{A6|0}}} | 0 | <!-- do nothing --> | {{!}}class="StackedBarTemplate_color" style="font-size:0px; -webkit-print-color-adjust: exact; print-color-adjust: exact; color:inherit; background: {{{C6|#fc80c2}}}; width: {{#expr: 100 * {{{A6}}} / {{{Total|100}}} round 1 }}%" title="{{#if:{{{hover-pc|}}}|{{#expr: 100 * {{{A6}}} / {{{Total|100}}} round 1 }}%}}"{{!}}}} {{#ifeq: {{{A7|0}}} | 0 | <!-- do nothing --> | {{!}}class="StackedBarTemplate_color" style="font-size:0px; -webkit-print-color-adjust: exact; print-color-adjust: exact; color:inherit; background: {{{C7|#e5726e}}}; width: {{#expr: 100 * {{{A7}}} / {{{Total|100}}} round 1 }}%" title="{{#if:{{{hover-pc|}}}|{{#expr: 100 * {{{A7}}} / {{{Total|100}}} round 1 }}%}}"{{!}}}} {{#ifeq: {{{A8|0}}} | 0 | <!-- do nothing --> | {{!}}class="StackedBarTemplate_color" style="font-size:0px; -webkit-print-color-adjust: exact; print-color-adjust: exact; color:inherit; background: {{{C8|#e5ab6e}}}; width: {{#expr: 100 * {{{A8}}} / {{{Total|100}}} round 1 }}%" title="{{#if:{{{hover-pc|}}}|{{#expr: 100 * {{{A8}}} / {{{Total|100}}} round 1 }}%}}"{{!}}}} {{#ifeq: {{{A9|0}}} | 0 | <!-- do nothing --> | {{!}}class="StackedBarTemplate_color" style="font-size:0px; -webkit-print-color-adjust: exact; print-color-adjust: exact; color:inherit; background: {{{C9|#e5e36e}}}; width: {{#expr: 100 * {{{A9}}} / {{{Total|100}}} round 1 }}%" title="{{#if:{{{hover-pc|}}}|{{#expr: 100 * {{{A9}}} / {{{Total|100}}} round 1 }}%}}"{{!}}}} {{#ifeq: {{{A10|0}}} | 0 | <!-- do nothing --> | {{!}}class="StackedBarTemplate_color" style="font-size:0px; -webkit-print-color-adjust: exact; print-color-adjust: exact; color:inherit; background: {{{C10|#b5e279}}}; width: {{#expr: 100 * {{{A10}}} / {{{Total|100}}} round 1 }}%" title="{{#if:{{{hover-pc|}}}|{{#expr: 100 * {{{A10}}} / {{{Total|100}}} round 1 }}%}}"{{!}}}} {{#ifeq: {{{A11|0}}} | 0 | <!-- do nothing --> | {{!}}class="StackedBarTemplate_color" style="font-size:0px; -webkit-print-color-adjust: exact; print-color-adjust: exact; color:inherit; background: {{{C11|#85e084}}}; width: {{#expr: 100 * {{{A11}}} / {{{Total|100}}} round 1 }}%" title="{{#if:{{{hover-pc|}}}|{{#expr: 100 * {{{A11}}} / {{{Total|100}}} round 1 }}%}}"{{!}}}} {{#ifeq: {{{A12|0}}} | 0 | <!-- do nothing --> | {{!}}class="StackedBarTemplate_color" style="font-size:0px; -webkit-print-color-adjust: exact; print-color-adjust: exact; color:inherit; background: {{{C12|#64d1cf}}}; width: {{#expr: 100 * {{{A12}}} / {{{Total|100}}} round 1 }}%" title="{{#if:{{{hover-pc|}}}|{{#expr: 100 * {{{A12}}} / {{{Total|100}}} round 1 }}%}}"{{!}}}} {{#ifexpr: {{{A1|0}}} + {{{A2|0}}} + {{{A3|0}}} + {{{A4|0}}} + {{{A5|0}}} + {{{A6|0}}} + {{{A7|0}}} + {{{A8|0}}} + {{{A9|0}}} + {{{A10|0}}} + {{{A11|0}}} + {{{A12|0}}} - {{{Total|100}}} = 0 | <!-- do nothing --> | {{!}}class="StackedBarTemplate_color" style="font-size:0px; -webkit-print-color-adjust: exact; print-color-adjust: exact; color:inherit; background: #E2E2E2; width: {{#expr: -100 * ( {{{A1|0}}} + {{{A2|0}}} + {{{A3|0}}} + {{{A4|0}}} + {{{A5|0}}} + {{{A6|0}}} + {{{A7|0}}} + {{{A8|0}}} + {{{A9|0}}} + {{{A10|0}}} + {{{A11|0}}} + {{{A12|0}}} - {{{Total|100}}} ) / {{{Total|100}}} round 1 }}%" title="{{#if:{{{hover-pc|}}}|{{#expr: -100 * ( {{{A1|0}}} + {{{A2|0}}} + {{{A3|0}}} + {{{A4|0}}} + {{{A5|0}}} + {{{A6|0}}} + {{{A7|0}}} + {{{A8|0}}} + {{{A9|0}}} + {{{A10|0}}} + {{{A11|0}}} + {{{A12|0}}} - {{{Total|100}}} ) / {{{Total|100}}} round 1 }}%}}"{{!}}}} |}</div></includeonly> <noinclude>{{documentation}}</noinclude> m654jdas9d8vk3beqw7j225i6a2dicu Template:Stacked bar/styles.css 10 53337 309759 2026-09-26T17:43:35Z Isma4l 41797 Bog cusub: .stackedbar { border: 1px solid grey; height: 10px; width: 100%; line-height: 0; box-sizing: border-box; } .StackedBarTemplate > div:first-child { font-size: 14px; width: 100%; text-align:center; display: flex; } .StackedBarTemplate > div:first-child > div > span { padding: 0.15em; } .StackedBarTemplate_lean > div:first-child > div { transform: translateX(1em) rotate(200deg); } .StackedBarTemplate_lean > div:first-child > div > span { text-align: left; writing-m... 309759 sanitized-css text/css .stackedbar { border: 1px solid grey; height: 10px; width: 100%; line-height: 0; box-sizing: border-box; } .StackedBarTemplate > div:first-child { font-size: 14px; width: 100%; text-align:center; display: flex; } .StackedBarTemplate > div:first-child > div > span { padding: 0.15em; } .StackedBarTemplate_lean > div:first-child > div { transform: translateX(1em) rotate(200deg); } .StackedBarTemplate_lean > div:first-child > div > span { text-align: left; writing-mode: vertical-rl; } .StackedBarTemplate_vertical > div:first-child > div { transform: rotate(180deg); } .StackedBarTemplate_vertical > div:first-child > div > span { text-align: left; writing-mode: vertical-rl; } .StackedBarTemplate_color p { line-height:0; font-size:0; margin-top:0; } cn91hqstebssqz5mtsay5gg2wn3nirh Template:Bar chart 10 53338 309760 2026-09-26T17:44:18Z Isma4l 41797 Bog cusub: <templatestyles src="Template:Bar chart/styles.css"/> {| class="bar-chart {{#switch:{{{float|}}}|left=bar-chart-left|right=bar-chart-right|center=bar-chart-center}}" {{#if:{{{table_width|}}}|style="width: {{{table_width}}}em;"}} |+ {{{title|List of cities by population}}} |- ! scope="col" class="bar-chart-label-type" | {{#if:{{{label_type|}}}|{{{label_type}}}|City}} ! scope="col" {{#if:{{{bar_width|}}}|style="width: {{{bar_width}}}em"}} | {{#if:{{{data_type|{{{col1_data_type|}}}}... 309760 wikitext text/x-wiki <templatestyles src="Template:Bar chart/styles.css"/> {| class="bar-chart {{#switch:{{{float|}}}|left=bar-chart-left|right=bar-chart-right|center=bar-chart-center}}" {{#if:{{{table_width|}}}|style="width: {{{table_width}}}em;"}} |+ {{{title|List of cities by population}}} |- ! scope="col" class="bar-chart-label-type" | {{#if:{{{label_type|}}}|{{{label_type}}}|City}} ! scope="col" {{#if:{{{bar_width|}}}|style="width: {{{bar_width}}}em"}} | {{#if:{{{data_type|{{{col1_data_type|}}}}}}|{{{data_type|{{{col1_data_type}}}}}}|Population}} {{#if:{{{col2_data_type|}}}| !! scope="col" {{#if:{{{bar_width|}}}|style="width: {{{bar_width}}}em"}} {{!}} {{{col2_data_type}}} }} {{#if:{{{col3_data_type|}}}| !! scope="col" {{#if:{{{bar_width|}}}|style="width: {{{bar_width}}}em"}} {{!}} {{{col3_data_type}}} }} {{#if:{{{col4_data_type|}}}| !! scope="col" {{#if:{{{bar_width|}}}|style="width: {{{bar_width}}}em"}} {{!}} {{{col4_data_type}}} }} {{#if:{{{col5_data_type|}}}| !! scope="col" {{#if:{{{bar_width|}}}|style="width: {{{bar_width}}}em"}} {{!}} {{{col5_data_type}}} }} {{#if:{{{col6_data_type|}}}| !! scope="col" {{#if:{{{bar_width|}}}|style="width: {{{bar_width}}}em"}} {{!}} {{{col6_data_type}}} }} {{#if:{{{col7_data_type|}}}| !! scope="col" {{#if:{{{bar_width|}}}|style="width: {{{bar_width}}}em"}} {{!}} {{{col7_data_type}}} }} {{#if:{{{col8_data_type|}}}| !! scope="col" {{#if:{{{bar_width|}}}|style="width: {{{bar_width}}}em"}} {{!}} {{{col8_data_type}}} }} {{#if:{{{col9_data_type|}}}| !! scope="col" {{#if:{{{bar_width|}}}|style="width: {{{bar_width}}}em"}} {{!}} {{{col9_data_type}}} }} |- {{#if:{{{col1_data1|{{{data1|}}}}}}| ! scope="row" {{!}} {{{label1}}} {{!}} {{Bar chart/bar|{{{col1_data1|{{{data1}}}}}}|{{{col1_data_max|{{{data_max|{{{col1_data1|{{{data1}}}}}}}}}}}}|comment={{#if:{{{col1_comment1|{{{comment1|}}}}}}|{{{col1_comment1|{{{comment1}}}}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col2_data1|}}}| {{!!}} {{Bar chart/bar|{{{col2_data1}}}|{{{col2_data_max|{{{col2_data1}}}}}}|comment={{#if:{{{col2_comment1|}}}|{{{col2_comment1}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col3_data1|}}}| {{!!}} {{Bar chart/bar|{{{col3_data1}}}|{{{col3_data_max|{{{col3_data1}}}}}}|comment={{#if:{{{col3_comment1|}}}|{{{col3_comment1}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col4_data1|}}}| {{!!}} {{Bar chart/bar|{{{col4_data1}}}|{{{col4_data_max|{{{col4_data1}}}}}}|comment={{#if:{{{col4_comment1|}}}|{{{col4_comment1}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col5_data1|}}}| {{!!}} {{Bar chart/bar|{{{col5_data1}}}|{{{col4_data_max|{{{col5_data1}}}}}}|comment={{#if:{{{col5_comment1|}}}|{{{col5_comment1}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col6_data1|}}}| {{!!}} {{Bar chart/bar|{{{col6_data1}}}|{{{col4_data_max|{{{col6_data1}}}}}}|comment={{#if:{{{col6_comment1|}}}|{{{col6_comment1}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col7_data1|}}}| {{!!}} {{Bar chart/bar|{{{col7_data1}}}|{{{col4_data_max|{{{col7_data1}}}}}}|comment={{#if:{{{col7_comment1|}}}|{{{col7_comment1}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col8_data1|}}}| {{!!}} {{Bar chart/bar|{{{col8_data1}}}|{{{col4_data_max|{{{col8_data1}}}}}}|comment={{#if:{{{col8_comment1|}}}|{{{col8_comment1}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col9_data1|}}}| {{!!}} {{Bar chart/bar|{{{col9_data1}}}|{{{col4_data_max|{{{col9_data1}}}}}}|comment={{#if:{{{col9_comment1|}}}|{{{col9_comment1}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} |- {{#if:{{{col1_data2|{{{data2|}}}}}}| ! scope="row" {{!}} {{{label2}}} {{!}} {{Bar chart/bar|{{{col1_data2|{{{data2}}}}}}|{{{col1_data_max|{{{data_max|{{{col1_data1|{{{data1}}}}}}}}}}}}|comment={{#if:{{{col1_comment2|{{{comment2|}}}}}}|{{{col1_comment2|{{{comment2}}}}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col2_data2|}}}| {{!!}} {{Bar chart/bar|{{{col2_data2}}}|{{{col2_data_max|{{{col2_data1}}}}}}|comment={{#if:{{{col2_comment2|}}}|{{{col2_comment2}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col3_data2|}}}| {{!!}} {{Bar chart/bar|{{{col3_data2}}}|{{{col3_data_max|{{{col3_data1}}}}}}|comment={{#if:{{{col3_comment2|}}}|{{{col3_comment2}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col4_data2|}}}| {{!!}} {{Bar chart/bar|{{{col4_data2}}}|{{{col4_data_max|{{{col4_data1}}}}}}|comment={{#if:{{{col4_comment2|}}}|{{{col4_comment2}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col5_data2|}}}| {{!!}} {{Bar chart/bar|{{{col5_data2}}}|{{{col4_data_max|{{{col5_data1}}}}}}|comment={{#if:{{{col5_comment2|}}}|{{{col5_comment2}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col6_data2|}}}| {{!!}} {{Bar chart/bar|{{{col6_data2}}}|{{{col4_data_max|{{{col6_data1}}}}}}|comment={{#if:{{{col6_comment2|}}}|{{{col6_comment2}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col7_data2|}}}| {{!!}} {{Bar chart/bar|{{{col7_data2}}}|{{{col4_data_max|{{{col7_data1}}}}}}|comment={{#if:{{{col7_comment2|}}}|{{{col7_comment2}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col8_data2|}}}| {{!!}} {{Bar chart/bar|{{{col8_data2}}}|{{{col4_data_max|{{{col8_data1}}}}}}|comment={{#if:{{{col8_comment2|}}}|{{{col8_comment2}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col9_data2|}}}| {{!!}} {{Bar chart/bar|{{{col9_data2}}}|{{{col4_data_max|{{{col9_data1}}}}}}|comment={{#if:{{{col9_comment2|}}}|{{{col9_comment2}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} |- {{#if:{{{col1_data3|{{{data3|}}}}}}| ! scope="row" {{!}} {{{label3}}} {{!}} {{Bar chart/bar|{{{col1_data3|{{{data3}}}}}}|{{{col1_data_max|{{{data_max|{{{col1_data1|{{{data1}}}}}}}}}}}}|comment={{#if:{{{col1_comment3|{{{comment3|}}}}}}|{{{col1_comment3|{{{comment3}}}}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col2_data3|}}}| {{!!}} {{Bar chart/bar|{{{col2_data3}}}|{{{col2_data_max|{{{col2_data1}}}}}}|comment={{#if:{{{col2_comment3|}}}|{{{col2_comment3}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col3_data3|}}}| {{!!}} {{Bar chart/bar|{{{col3_data3}}}|{{{col3_data_max|{{{col3_data1}}}}}}|comment={{#if:{{{col3_comment3|}}}|{{{col3_comment3}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col4_data3|}}}| {{!!}} {{Bar chart/bar|{{{col4_data3}}}|{{{col4_data_max|{{{col4_data1}}}}}}|comment={{#if:{{{col4_comment3|}}}|{{{col4_comment3}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col5_data3|}}}| {{!!}} {{Bar chart/bar|{{{col5_data3}}}|{{{col4_data_max|{{{col5_data1}}}}}}|comment={{#if:{{{col5_comment3|}}}|{{{col5_comment3}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col6_data3|}}}| {{!!}} {{Bar chart/bar|{{{col6_data3}}}|{{{col4_data_max|{{{col6_data1}}}}}}|comment={{#if:{{{col6_comment3|}}}|{{{col6_comment3}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col7_data3|}}}| {{!!}} {{Bar chart/bar|{{{col7_data3}}}|{{{col4_data_max|{{{col7_data1}}}}}}|comment={{#if:{{{col7_comment3|}}}|{{{col7_comment3}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col8_data3|}}}| {{!!}} {{Bar chart/bar|{{{col8_data3}}}|{{{col4_data_max|{{{col8_data1}}}}}}|comment={{#if:{{{col8_comment3|}}}|{{{col8_comment3}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col9_data3|}}}| {{!!}} {{Bar chart/bar|{{{col9_data3}}}|{{{col4_data_max|{{{col9_data1}}}}}}|comment={{#if:{{{col9_comment3|}}}|{{{col9_comment3}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} |- {{#if:{{{col1_data4|{{{data4|}}}}}}| ! scope="row" {{!}} {{{label4}}} {{!}} {{Bar chart/bar|{{{col1_data4|{{{data4}}}}}}|{{{col1_data_max|{{{data_max|{{{col1_data1|{{{data1}}}}}}}}}}}}|comment={{#if:{{{col1_comment4|{{{comment4|}}}}}}|{{{col1_comment4|{{{comment4}}}}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col2_data4|}}}| {{!!}} {{Bar chart/bar|{{{col2_data4}}}|{{{col2_data_max|{{{col2_data1}}}}}}|comment={{#if:{{{col2_comment4|}}}|{{{col2_comment4}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col3_data4|}}}| {{!!}} {{Bar chart/bar|{{{col3_data4}}}|{{{col3_data_max|{{{col3_data1}}}}}}|comment={{#if:{{{col3_comment4|}}}|{{{col3_comment4}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col4_data4|}}}| {{!!}} {{Bar chart/bar|{{{col4_data4}}}|{{{col4_data_max|{{{col4_data1}}}}}}|comment={{#if:{{{col4_comment4|}}}|{{{col4_comment4}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col5_data4|}}}| {{!!}} {{Bar chart/bar|{{{col5_data4}}}|{{{col4_data_max|{{{col5_data1}}}}}}|comment={{#if:{{{col5_comment4|}}}|{{{col5_comment4}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col6_data4|}}}| {{!!}} {{Bar chart/bar|{{{col6_data4}}}|{{{col4_data_max|{{{col6_data1}}}}}}|comment={{#if:{{{col6_comment4|}}}|{{{col6_comment4}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col7_data4|}}}| {{!!}} {{Bar chart/bar|{{{col7_data4}}}|{{{col4_data_max|{{{col7_data1}}}}}}|comment={{#if:{{{col7_comment4|}}}|{{{col7_comment4}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col8_data4|}}}| {{!!}} {{Bar chart/bar|{{{col8_data4}}}|{{{col4_data_max|{{{col8_data1}}}}}}|comment={{#if:{{{col8_comment4|}}}|{{{col8_comment4}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col9_data4|}}}| {{!!}} {{Bar chart/bar|{{{col9_data4}}}|{{{col4_data_max|{{{col9_data1}}}}}}|comment={{#if:{{{col9_comment4|}}}|{{{col9_comment4}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} |- {{#if:{{{col1_data5|{{{data5|}}}}}}| ! scope="row" {{!}} {{{label5}}} {{!}} {{Bar chart/bar|{{{col1_data5|{{{data5}}}}}}|{{{col1_data_max|{{{data_max|{{{col1_data1|{{{data1}}}}}}}}}}}}|comment={{#if:{{{col1_comment5|{{{comment5|}}}}}}|{{{col1_comment5|{{{comment5}}}}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col2_data5|}}}| {{!!}} {{Bar chart/bar|{{{col2_data5}}}|{{{col2_data_max|{{{col2_data1}}}}}}|comment={{#if:{{{col2_comment5|}}}|{{{col2_comment5}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col3_data5|}}}| {{!!}} {{Bar chart/bar|{{{col3_data5}}}|{{{col3_data_max|{{{col3_data1}}}}}}|comment={{#if:{{{col3_comment5|}}}|{{{col3_comment5}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col4_data5|}}}| {{!!}} {{Bar chart/bar|{{{col4_data5}}}|{{{col4_data_max|{{{col4_data1}}}}}}|comment={{#if:{{{col4_comment5|}}}|{{{col4_comment5}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col5_data5|}}}| {{!!}} {{Bar chart/bar|{{{col5_data5}}}|{{{col5_data_max|{{{col5_data1}}}}}}|comment={{#if:{{{col5_comment5|}}}|{{{col5_comment5}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col6_data5|}}}| {{!!}} {{Bar chart/bar|{{{col6_data5}}}|{{{col6_data_max|{{{col6_data1}}}}}}|comment={{#if:{{{col6_comment5|}}}|{{{col6_comment5}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col7_data5|}}}| {{!!}} {{Bar chart/bar|{{{col7_data5}}}|{{{col7_data_max|{{{col7_data1}}}}}}|comment={{#if:{{{col7_comment5|}}}|{{{col7_comment5}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col8_data5|}}}| {{!!}} {{Bar chart/bar|{{{col8_data5}}}|{{{col8_data_max|{{{col8_data1}}}}}}|comment={{#if:{{{col8_comment5|}}}|{{{col8_comment5}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col9_data5|}}}| {{!!}} {{Bar chart/bar|{{{col9_data5}}}|{{{col9_data_max|{{{col9_data1}}}}}}|comment={{#if:{{{col9_comment5|}}}|{{{col9_comment5}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} |- {{#if:{{{col1_data6|{{{data6|}}}}}}| ! scope="row" {{!}} {{{label6}}} {{!}} {{Bar chart/bar|{{{col1_data6|{{{data6}}}}}}|{{{col1_data_max|{{{data_max|{{{col1_data1|{{{data1}}}}}}}}}}}}|comment={{#if:{{{col1_comment6|{{{comment6|}}}}}}|{{{col1_comment6|{{{comment6}}}}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col2_data6|}}}| {{!!}} {{Bar chart/bar|{{{col2_data6}}}|{{{col2_data_max|{{{col2_data1}}}}}}|comment={{#if:{{{col2_comment6|}}}|{{{col2_comment6}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col3_data6|}}}| {{!!}} {{Bar chart/bar|{{{col3_data6}}}|{{{col3_data_max|{{{col3_data1}}}}}}|comment={{#if:{{{col3_comment6|}}}|{{{col3_comment6}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col4_data6|}}}| {{!!}} {{Bar chart/bar|{{{col4_data6}}}|{{{col4_data_max|{{{col4_data1}}}}}}|comment={{#if:{{{col4_comment6|}}}|{{{col4_comment6}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col5_data6|}}}| {{!!}} {{Bar chart/bar|{{{col5_data6}}}|{{{col5_data_max|{{{col5_data1}}}}}}|comment={{#if:{{{col5_comment6|}}}|{{{col5_comment6}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col6_data6|}}}| {{!!}} {{Bar chart/bar|{{{col6_data6}}}|{{{col6_data_max|{{{col6_data1}}}}}}|comment={{#if:{{{col6_comment6|}}}|{{{col6_comment6}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col7_data6|}}}| {{!!}} {{Bar chart/bar|{{{col7_data6}}}|{{{col7_data_max|{{{col7_data1}}}}}}|comment={{#if:{{{col7_comment6|}}}|{{{col7_comment6}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col8_data6|}}}| {{!!}} {{Bar chart/bar|{{{col8_data6}}}|{{{col8_data_max|{{{col8_data1}}}}}}|comment={{#if:{{{col8_comment6|}}}|{{{col8_comment6}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col9_data6|}}}| {{!!}} {{Bar chart/bar|{{{col9_data6}}}|{{{col9_data_max|{{{col9_data1}}}}}}|comment={{#if:{{{col9_comment6|}}}|{{{col9_comment6}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} |- {{#if:{{{col1_data7|{{{data7|}}}}}}| ! scope="row" {{!}} {{{label7}}} {{!}} {{Bar chart/bar|{{{col1_data7|{{{data7}}}}}}|{{{col1_data_max|{{{data_max|{{{col1_data1|{{{data1}}}}}}}}}}}}|comment={{#if:{{{col1_comment7|{{{comment7|}}}}}}|{{{col1_comment7|{{{comment7}}}}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col2_data7|}}}| {{!!}} {{Bar chart/bar|{{{col2_data7}}}|{{{col2_data_max|{{{col2_data1}}}}}}|comment={{#if:{{{col2_comment7|}}}|{{{col2_comment7}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col3_data7|}}}| {{!!}} {{Bar chart/bar|{{{col3_data7}}}|{{{col3_data_max|{{{col3_data1}}}}}}|comment={{#if:{{{col3_comment7|}}}|{{{col3_comment7}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col4_data7|}}}| {{!!}} {{Bar chart/bar|{{{col4_data7}}}|{{{col4_data_max|{{{col4_data1}}}}}}|comment={{#if:{{{col4_comment7|}}}|{{{col4_comment7}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col5_data7|}}}| {{!!}} {{Bar chart/bar|{{{col5_data7}}}|{{{col5_data_max|{{{col5_data1}}}}}}|comment={{#if:{{{col5_comment7|}}}|{{{col5_comment7}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col6_data7|}}}| {{!!}} {{Bar chart/bar|{{{col6_data7}}}|{{{col6_data_max|{{{col6_data1}}}}}}|comment={{#if:{{{col6_comment7|}}}|{{{col6_comment7}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col7_data7|}}}| {{!!}} {{Bar chart/bar|{{{col7_data7}}}|{{{col7_data_max|{{{col7_data1}}}}}}|comment={{#if:{{{col7_comment7|}}}|{{{col7_comment7}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col8_data7|}}}| {{!!}} {{Bar chart/bar|{{{col8_data7}}}|{{{col8_data_max|{{{col8_data1}}}}}}|comment={{#if:{{{col8_comment7|}}}|{{{col8_comment7}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col9_data7|}}}| {{!!}} {{Bar chart/bar|{{{col9_data7}}}|{{{col9_data_max|{{{col9_data1}}}}}}|comment={{#if:{{{col9_comment7|}}}|{{{col9_comment7}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} |- {{#if:{{{col1_data8|{{{data8|}}}}}}| ! scope="row" {{!}} {{{label8}}} {{!}} {{Bar chart/bar|{{{col1_data8|{{{data8}}}}}}|{{{col1_data_max|{{{data_max|{{{col1_data1|{{{data1}}}}}}}}}}}}|comment={{#if:{{{col1_comment8|{{{comment8|}}}}}}|{{{col1_comment8|{{{comment8}}}}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col2_data8|}}}| {{!!}} {{Bar chart/bar|{{{col2_data8}}}|{{{col2_data_max|{{{col2_data1}}}}}}|comment={{#if:{{{col2_comment8|}}}|{{{col2_comment8}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col3_data8|}}}| {{!!}} {{Bar chart/bar|{{{col3_data8}}}|{{{col3_data_max|{{{col3_data1}}}}}}|comment={{#if:{{{col3_comment8|}}}|{{{col3_comment8}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col4_data8|}}}| {{!!}} {{Bar chart/bar|{{{col4_data8}}}|{{{col4_data_max|{{{col4_data1}}}}}}|comment={{#if:{{{col4_comment8|}}}|{{{col4_comment8}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col5_data8|}}}| {{!!}} {{Bar chart/bar|{{{col5_data8}}}|{{{col5_data_max|{{{col5_data1}}}}}}|comment={{#if:{{{col5_comment8|}}}|{{{col5_comment8}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col6_data8|}}}| {{!!}} {{Bar chart/bar|{{{col6_data8}}}|{{{col6_data_max|{{{col6_data1}}}}}}|comment={{#if:{{{col6_comment8|}}}|{{{col6_comment8}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col7_data8|}}}| {{!!}} {{Bar chart/bar|{{{col7_data8}}}|{{{col7_data_max|{{{col7_data1}}}}}}|comment={{#if:{{{col7_comment8|}}}|{{{col7_comment8}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col8_data8|}}}| {{!!}} {{Bar chart/bar|{{{col8_data8}}}|{{{col8_data_max|{{{col8_data1}}}}}}|comment={{#if:{{{col8_comment8|}}}|{{{col8_comment8}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col9_data8|}}}| {{!!}} {{Bar chart/bar|{{{col9_data8}}}|{{{col9_data_max|{{{col9_data1}}}}}}|comment={{#if:{{{col9_comment8|}}}|{{{col9_comment8}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} |- {{#if:{{{col1_data9|{{{data9|}}}}}}| ! scope="row" {{!}} {{{label9}}} {{!}} {{Bar chart/bar|{{{col1_data9|{{{data9}}}}}}|{{{col1_data_max|{{{data_max|{{{col1_data1|{{{data1}}}}}}}}}}}}|comment={{#if:{{{col1_comment9|{{{comment9|}}}}}}|{{{col1_comment9|{{{comment9}}}}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col2_data9|}}}| {{!!}} {{Bar chart/bar|{{{col2_data9}}}|{{{col2_data_max|{{{col2_data1}}}}}}|comment={{#if:{{{col2_comment9|}}}|{{{col2_comment9}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col3_data9|}}}| {{!!}} {{Bar chart/bar|{{{col3_data9}}}|{{{col3_data_max|{{{col3_data1}}}}}}|comment={{#if:{{{col3_comment9|}}}|{{{col3_comment9}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col4_data9|}}}| {{!!}} {{Bar chart/bar|{{{col4_data9}}}|{{{col4_data_max|{{{col4_data1}}}}}}|comment={{#if:{{{col4_comment9|}}}|{{{col4_comment9}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col5_data9|}}}| {{!!}} {{Bar chart/bar|{{{col5_data9}}}|{{{col5_data_max|{{{col5_data1}}}}}}|comment={{#if:{{{col5_comment9|}}}|{{{col5_comment9}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col6_data9|}}}| {{!!}} {{Bar chart/bar|{{{col6_data9}}}|{{{col6_data_max|{{{col6_data1}}}}}}|comment={{#if:{{{col6_comment9|}}}|{{{col6_comment9}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col7_data9|}}}| {{!!}} {{Bar chart/bar|{{{col7_data9}}}|{{{col7_data_max|{{{col7_data1}}}}}}|comment={{#if:{{{col7_comment9|}}}|{{{col7_comment9}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col8_data9|}}}| {{!!}} {{Bar chart/bar|{{{col8_data9}}}|{{{col8_data_max|{{{col8_data1}}}}}}|comment={{#if:{{{col8_comment9|}}}|{{{col8_comment9}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col9_data9|}}}| {{!!}} {{Bar chart/bar|{{{col9_data9}}}|{{{col9_data_max|{{{col9_data1}}}}}}|comment={{#if:{{{col9_comment9|}}}|{{{col9_comment9}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} |- {{#if:{{{col1_data10|{{{data10|}}}}}}| ! scope="row" {{!}} {{{label10}}} {{!}} {{Bar chart/bar|{{{col1_data10|{{{data10}}}}}}|{{{col1_data_max|{{{data_max|{{{col1_data1|{{{data1}}}}}}}}}}}}|comment={{#if:{{{col1_comment10|{{{comment10|}}}}}}|{{{col1_comment10|{{{comment10}}}}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col2_data10|}}}| {{!!}} {{Bar chart/bar|{{{col2_data10}}}|{{{col2_data_max|{{{col2_data1}}}}}}|comment={{#if:{{{col2_comment10|}}}|{{{col2_comment10}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col3_data10|}}}| {{!!}} {{Bar chart/bar|{{{col3_data10}}}|{{{col3_data_max|{{{col3_data1}}}}}}|comment={{#if:{{{col3_comment10|}}}|{{{col3_comment10}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col4_data10|}}}| {{!!}} {{Bar chart/bar|{{{col4_data10}}}|{{{col4_data_max|{{{col4_data1}}}}}}|comment={{#if:{{{col4_comment10|}}}|{{{col4_comment10}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col5_data10|}}}| {{!!}} {{Bar chart/bar|{{{col5_data10}}}|{{{col5_data_max|{{{col5_data1}}}}}}|comment={{#if:{{{col5_comment10|}}}|{{{col5_comment10}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col6_data10|}}}| {{!!}} {{Bar chart/bar|{{{col6_data10}}}|{{{col6_data_max|{{{col6_data1}}}}}}|comment={{#if:{{{col6_comment10|}}}|{{{col6_comment10}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col7_data10|}}}| {{!!}} {{Bar chart/bar|{{{col7_data10}}}|{{{col7_data_max|{{{col7_data1}}}}}}|comment={{#if:{{{col7_comment10|}}}|{{{col7_comment10}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col8_data10|}}}| {{!!}} {{Bar chart/bar|{{{col8_data10}}}|{{{col8_data_max|{{{col8_data1}}}}}}|comment={{#if:{{{col8_comment10|}}}|{{{col8_comment10}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col9_data10|}}}| {{!!}} {{Bar chart/bar|{{{col9_data10}}}|{{{col9_data_max|{{{col9_data1}}}}}}|comment={{#if:{{{col9_comment10|}}}|{{{col9_comment10}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} |- {{#if:{{{col1_data11|{{{data11|}}}}}}| ! scope="row" {{!}} {{{label11}}} {{!}} {{Bar chart/bar|{{{col1_data11|{{{data11}}}}}}|{{{col1_data_max|{{{data_max|{{{col1_data1|{{{data1}}}}}}}}}}}}|comment={{#if:{{{col1_comment11|{{{comment11|}}}}}}|{{{col1_comment11|{{{comment11}}}}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col2_data11|}}}| {{!!}} {{Bar chart/bar|{{{col2_data11}}}|{{{col2_data_max|{{{col2_data1}}}}}}|comment={{#if:{{{col2_comment11|}}}|{{{col2_comment11}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col3_data11|}}}| {{!!}} {{Bar chart/bar|{{{col3_data11}}}|{{{col3_data_max|{{{col3_data1}}}}}}|comment={{#if:{{{col3_comment11|}}}|{{{col3_comment11}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col4_data11|}}}| {{!!}} {{Bar chart/bar|{{{col4_data11}}}|{{{col4_data_max|{{{col4_data1}}}}}}|comment={{#if:{{{col4_comment11|}}}|{{{col4_comment11}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col5_data11|}}}| {{!!}} {{Bar chart/bar|{{{col5_data11}}}|{{{col5_data_max|{{{col5_data1}}}}}}|comment={{#if:{{{col5_comment11|}}}|{{{col5_comment11}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col6_data11|}}}| {{!!}} {{Bar chart/bar|{{{col6_data11}}}|{{{col6_data_max|{{{col6_data1}}}}}}|comment={{#if:{{{col6_comment11|}}}|{{{col6_comment11}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col7_data11|}}}| {{!!}} {{Bar chart/bar|{{{col7_data11}}}|{{{col7_data_max|{{{col7_data1}}}}}}|comment={{#if:{{{col7_comment11|}}}|{{{col7_comment11}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col8_data11|}}}| {{!!}} {{Bar chart/bar|{{{col8_data11}}}|{{{col8_data_max|{{{col8_data1}}}}}}|comment={{#if:{{{col8_comment11|}}}|{{{col8_comment11}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col9_data11|}}}| {{!!}} {{Bar chart/bar|{{{col9_data11}}}|{{{col9_data_max|{{{col9_data1}}}}}}|comment={{#if:{{{col9_comment11|}}}|{{{col9_comment11}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} |- {{#if:{{{col1_data12|{{{data12|}}}}}}| ! scope="row" {{!}} {{{label12}}} {{!}} {{Bar chart/bar|{{{col1_data12|{{{data12}}}}}}|{{{col1_data_max|{{{data_max|{{{col1_data1|{{{data1}}}}}}}}}}}}|comment={{#if:{{{col1_comment12|{{{comment12|}}}}}}|{{{col1_comment12|{{{comment12}}}}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col2_data12|}}}| {{!!}} {{Bar chart/bar|{{{col2_data12}}}|{{{col2_data_max|{{{col2_data1}}}}}}|comment={{#if:{{{col2_comment12|}}}|{{{col2_comment12}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col3_data12|}}}| {{!!}} {{Bar chart/bar|{{{col3_data12}}}|{{{col3_data_max|{{{col3_data1}}}}}}|comment={{#if:{{{col3_comment12|}}}|{{{col3_comment12}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col4_data12|}}}| {{!!}} {{Bar chart/bar|{{{col4_data12}}}|{{{col4_data_max|{{{col4_data1}}}}}}|comment={{#if:{{{col4_comment12|}}}|{{{col4_comment12}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col5_data12|}}}| {{!!}} {{Bar chart/bar|{{{col5_data12}}}|{{{col5_data_max|{{{col5_data1}}}}}}|comment={{#if:{{{col5_comment12|}}}|{{{col5_comment12}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col6_data12|}}}| {{!!}} {{Bar chart/bar|{{{col6_data12}}}|{{{col6_data_max|{{{col6_data1}}}}}}|comment={{#if:{{{col6_comment12|}}}|{{{col6_comment12}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col7_data12|}}}| {{!!}} {{Bar chart/bar|{{{col7_data12}}}|{{{col7_data_max|{{{col7_data1}}}}}}|comment={{#if:{{{col7_comment12|}}}|{{{col7_comment12}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col8_data12|}}}| {{!!}} {{Bar chart/bar|{{{col8_data12}}}|{{{col8_data_max|{{{col8_data1}}}}}}|comment={{#if:{{{col8_comment12|}}}|{{{col8_comment12}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col9_data12|}}}| {{!!}} {{Bar chart/bar|{{{col9_data12}}}|{{{col9_data_max|{{{col9_data1}}}}}}|comment={{#if:{{{col9_comment12|}}}|{{{col9_comment12}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} |- {{#if:{{{col1_data13|{{{data13|}}}}}}| ! scope="row" {{!}} {{{label13}}} {{!}} {{Bar chart/bar|{{{col1_data13|{{{data13}}}}}}|{{{col1_data_max|{{{data_max|{{{col1_data1|{{{data1}}}}}}}}}}}}|comment={{#if:{{{col1_comment13|{{{comment13|}}}}}}|{{{col1_comment13|{{{comment13}}}}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col2_data13|}}}| {{!!}} {{Bar chart/bar|{{{col2_data13}}}|{{{col2_data_max|{{{col2_data1}}}}}}|comment={{#if:{{{col2_comment13|}}}|{{{col2_comment13}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col3_data13|}}}| {{!!}} {{Bar chart/bar|{{{col3_data13}}}|{{{col3_data_max|{{{col3_data1}}}}}}|comment={{#if:{{{col3_comment13|}}}|{{{col3_comment13}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col4_data13|}}}| {{!!}} {{Bar chart/bar|{{{col4_data13}}}|{{{col4_data_max|{{{col4_data1}}}}}}|comment={{#if:{{{col4_comment13|}}}|{{{col4_comment13}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col5_data13|}}}| {{!!}} {{Bar chart/bar|{{{col5_data13}}}|{{{col5_data_max|{{{col5_data1}}}}}}|comment={{#if:{{{col5_comment13|}}}|{{{col5_comment13}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col6_data13|}}}| {{!!}} {{Bar chart/bar|{{{col6_data13}}}|{{{col6_data_max|{{{col6_data1}}}}}}|comment={{#if:{{{col6_comment13|}}}|{{{col6_comment13}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col7_data13|}}}| {{!!}} {{Bar chart/bar|{{{col7_data13}}}|{{{col7_data_max|{{{col7_data1}}}}}}|comment={{#if:{{{col7_comment13|}}}|{{{col7_comment13}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col8_data13|}}}| {{!!}} {{Bar chart/bar|{{{col8_data13}}}|{{{col8_data_max|{{{col8_data1}}}}}}|comment={{#if:{{{col8_comment13|}}}|{{{col8_comment13}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col9_data13|}}}| {{!!}} {{Bar chart/bar|{{{col9_data13}}}|{{{col9_data_max|{{{col9_data1}}}}}}|comment={{#if:{{{col9_comment13|}}}|{{{col9_comment13}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} |- {{#if:{{{col1_data14|{{{data14|}}}}}}| ! scope="row" {{!}} {{{label14}}} {{!}} {{Bar chart/bar|{{{col1_data14|{{{data14}}}}}}|{{{col1_data_max|{{{data_max|{{{col1_data1|{{{data1}}}}}}}}}}}}|comment={{#if:{{{col1_comment14|{{{comment14|}}}}}}|{{{col1_comment14|{{{comment14}}}}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col2_data14|}}}| {{!!}} {{Bar chart/bar|{{{col2_data14}}}|{{{col2_data_max|{{{col2_data1}}}}}}|comment={{#if:{{{col2_comment14|}}}|{{{col2_comment14}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col3_data14|}}}| {{!!}} {{Bar chart/bar|{{{col3_data14}}}|{{{col3_data_max|{{{col3_data1}}}}}}|comment={{#if:{{{col3_comment14|}}}|{{{col3_comment14}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col4_data14|}}}| {{!!}} {{Bar chart/bar|{{{col4_data14}}}|{{{col4_data_max|{{{col4_data1}}}}}}|comment={{#if:{{{col4_comment14|}}}|{{{col4_comment14}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col5_data14|}}}| {{!!}} {{Bar chart/bar|{{{col5_data14}}}|{{{col5_data_max|{{{col5_data1}}}}}}|comment={{#if:{{{col5_comment14|}}}|{{{col5_comment14}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col6_data14|}}}| {{!!}} {{Bar chart/bar|{{{col6_data14}}}|{{{col6_data_max|{{{col6_data1}}}}}}|comment={{#if:{{{col6_comment14|}}}|{{{col6_comment14}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col7_data14|}}}| {{!!}} {{Bar chart/bar|{{{col7_data14}}}|{{{col7_data_max|{{{col7_data1}}}}}}|comment={{#if:{{{col7_comment14|}}}|{{{col7_comment14}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col8_data14|}}}| {{!!}} {{Bar chart/bar|{{{col8_data14}}}|{{{col8_data_max|{{{col8_data1}}}}}}|comment={{#if:{{{col8_comment14|}}}|{{{col8_comment14}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col9_data14|}}}| {{!!}} {{Bar chart/bar|{{{col9_data14}}}|{{{col9_data_max|{{{col9_data1}}}}}}|comment={{#if:{{{col9_comment14|}}}|{{{col9_comment14}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} |- {{#if:{{{col1_data15|{{{data15|}}}}}}| ! scope="row" {{!}} {{{label15}}} {{!}} {{Bar chart/bar|{{{col1_data15|{{{data15}}}}}}|{{{col1_data_max|{{{data_max|{{{col1_data1|{{{data1}}}}}}}}}}}}|comment={{#if:{{{col1_comment15|{{{comment15|}}}}}}|{{{col1_comment15|{{{comment15}}}}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col2_data15|}}}| {{!!}} {{Bar chart/bar|{{{col2_data15}}}|{{{col2_data_max|{{{col2_data1}}}}}}|comment={{#if:{{{col2_comment15|}}}|{{{col2_comment15}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col3_data15|}}}| {{!!}} {{Bar chart/bar|{{{col3_data15}}}|{{{col3_data_max|{{{col3_data1}}}}}}|comment={{#if:{{{col3_comment15|}}}|{{{col3_comment15}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col4_data15|}}}| {{!!}} {{Bar chart/bar|{{{col4_data15}}}|{{{col4_data_max|{{{col4_data1}}}}}}|comment={{#if:{{{col4_comment15|}}}|{{{col4_comment15}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col5_data15|}}}| {{!!}} {{Bar chart/bar|{{{col5_data15}}}|{{{col5_data_max|{{{col5_data1}}}}}}|comment={{#if:{{{col5_comment15|}}}|{{{col5_comment15}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col6_data15|}}}| {{!!}} {{Bar chart/bar|{{{col6_data15}}}|{{{col6_data_max|{{{col6_data1}}}}}}|comment={{#if:{{{col6_comment15|}}}|{{{col6_comment15}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col7_data15|}}}| {{!!}} {{Bar chart/bar|{{{col7_data15}}}|{{{col7_data_max|{{{col7_data1}}}}}}|comment={{#if:{{{col7_comment15|}}}|{{{col7_comment15}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col8_data15|}}}| {{!!}} {{Bar chart/bar|{{{col8_data15}}}|{{{col8_data_max|{{{col8_data1}}}}}}|comment={{#if:{{{col8_comment15|}}}|{{{col8_comment15}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col9_data15|}}}| {{!!}} {{Bar chart/bar|{{{col9_data15}}}|{{{col9_data_max|{{{col9_data1}}}}}}|comment={{#if:{{{col9_comment15|}}}|{{{col9_comment15}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} |- {{#if:{{{col1_data16|{{{data16|}}}}}}| ! scope="row" {{!}} {{{label16}}} {{!}} {{Bar chart/bar|{{{col1_data16|{{{data16}}}}}}|{{{col1_data_max|{{{data_max|{{{col1_data1|{{{data1}}}}}}}}}}}}|comment={{#if:{{{col1_comment16|{{{comment16|}}}}}}|{{{col1_comment16|{{{comment16}}}}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col2_data16|}}}| {{!!}} {{Bar chart/bar|{{{col2_data16}}}|{{{col2_data_max|{{{col2_data1}}}}}}|comment={{#if:{{{col2_comment16|}}}|{{{col2_comment16}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col3_data16|}}}| {{!!}} {{Bar chart/bar|{{{col3_data16}}}|{{{col3_data_max|{{{col3_data1}}}}}}|comment={{#if:{{{col3_comment16|}}}|{{{col3_comment16}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col4_data16|}}}| {{!!}} {{Bar chart/bar|{{{col4_data16}}}|{{{col4_data_max|{{{col4_data1}}}}}}|comment={{#if:{{{col4_comment16|}}}|{{{col4_comment16}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col5_data16|}}}| {{!!}} {{Bar chart/bar|{{{col5_data16}}}|{{{col5_data_max|{{{col5_data1}}}}}}|comment={{#if:{{{col5_comment16|}}}|{{{col5_comment16}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col6_data16|}}}| {{!!}} {{Bar chart/bar|{{{col6_data16}}}|{{{col6_data_max|{{{col6_data1}}}}}}|comment={{#if:{{{col6_comment16|}}}|{{{col6_comment16}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col7_data16|}}}| {{!!}} {{Bar chart/bar|{{{col7_data16}}}|{{{col7_data_max|{{{col7_data1}}}}}}|comment={{#if:{{{col7_comment16|}}}|{{{col7_comment16}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col8_data16|}}}| {{!!}} {{Bar chart/bar|{{{col8_data16}}}|{{{col8_data_max|{{{col8_data1}}}}}}|comment={{#if:{{{col8_comment16|}}}|{{{col8_comment16}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col9_data16|}}}| {{!!}} {{Bar chart/bar|{{{col9_data16}}}|{{{col9_data_max|{{{col9_data1}}}}}}|comment={{#if:{{{col9_comment16|}}}|{{{col9_comment16}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} |- {{#if:{{{col1_data17|{{{data17|}}}}}}| ! scope="row" {{!}} {{{label17}}} {{!}} {{Bar chart/bar|{{{col1_data17|{{{data17}}}}}}|{{{col1_data_max|{{{data_max|{{{col1_data1|{{{data1}}}}}}}}}}}}|comment={{#if:{{{col1_comment17|{{{comment17|}}}}}}|{{{col1_comment17|{{{comment17}}}}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col2_data17|}}}| {{!!}} {{Bar chart/bar|{{{col2_data17}}}|{{{col2_data_max|{{{col2_data1}}}}}}|comment={{#if:{{{col2_comment17|}}}|{{{col2_comment17}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col3_data17|}}}| {{!!}} {{Bar chart/bar|{{{col3_data17}}}|{{{col3_data_max|{{{col3_data1}}}}}}|comment={{#if:{{{col3_comment17|}}}|{{{col3_comment17}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col4_data17|}}}| {{!!}} {{Bar chart/bar|{{{col4_data17}}}|{{{col4_data_max|{{{col4_data1}}}}}}|comment={{#if:{{{col4_comment17|}}}|{{{col4_comment17}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col5_data17|}}}| {{!!}} {{Bar chart/bar|{{{col5_data17}}}|{{{col5_data_max|{{{col5_data1}}}}}}|comment={{#if:{{{col5_comment17|}}}|{{{col5_comment17}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col6_data17|}}}| {{!!}} {{Bar chart/bar|{{{col6_data17}}}|{{{col6_data_max|{{{col6_data1}}}}}}|comment={{#if:{{{col6_comment17|}}}|{{{col6_comment17}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col7_data17|}}}| {{!!}} {{Bar chart/bar|{{{col7_data17}}}|{{{col7_data_max|{{{col7_data1}}}}}}|comment={{#if:{{{col7_comment17|}}}|{{{col7_comment17}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col8_data17|}}}| {{!!}} {{Bar chart/bar|{{{col8_data17}}}|{{{col8_data_max|{{{col8_data1}}}}}}|comment={{#if:{{{col8_comment17|}}}|{{{col8_comment17}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col9_data17|}}}| {{!!}} {{Bar chart/bar|{{{col9_data17}}}|{{{col9_data_max|{{{col9_data1}}}}}}|comment={{#if:{{{col9_comment17|}}}|{{{col9_comment17}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} |- {{#if:{{{col1_data18|{{{data18|}}}}}}| ! scope="row" {{!}} {{{label18}}} {{!}} {{Bar chart/bar|{{{col1_data18|{{{data18}}}}}}|{{{col1_data_max|{{{data_max|{{{col1_data1|{{{data1}}}}}}}}}}}}|comment={{#if:{{{col1_comment18|{{{comment18|}}}}}}|{{{col1_comment18|{{{comment18}}}}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col2_data18|}}}| {{!!}} {{Bar chart/bar|{{{col2_data18}}}|{{{col2_data_max|{{{col2_data1}}}}}}|comment={{#if:{{{col2_comment18|}}}|{{{col2_comment18}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col3_data18|}}}| {{!!}} {{Bar chart/bar|{{{col3_data18}}}|{{{col3_data_max|{{{col3_data1}}}}}}|comment={{#if:{{{col3_comment18|}}}|{{{col3_comment18}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col4_data18|}}}| {{!!}} {{Bar chart/bar|{{{col4_data18}}}|{{{col4_data_max|{{{col4_data1}}}}}}|comment={{#if:{{{col4_comment18|}}}|{{{col4_comment18}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col5_data18|}}}| {{!!}} {{Bar chart/bar|{{{col5_data18}}}|{{{col5_data_max|{{{col5_data1}}}}}}|comment={{#if:{{{col5_comment18|}}}|{{{col5_comment18}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col6_data18|}}}| {{!!}} {{Bar chart/bar|{{{col6_data18}}}|{{{col6_data_max|{{{col6_data1}}}}}}|comment={{#if:{{{col6_comment18|}}}|{{{col6_comment18}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col7_data18|}}}| {{!!}} {{Bar chart/bar|{{{col7_data18}}}|{{{col7_data_max|{{{col7_data1}}}}}}|comment={{#if:{{{col7_comment18|}}}|{{{col7_comment18}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col8_data18|}}}| {{!!}} {{Bar chart/bar|{{{col8_data18}}}|{{{col8_data_max|{{{col8_data1}}}}}}|comment={{#if:{{{col8_comment18|}}}|{{{col8_comment18}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col9_data18|}}}| {{!!}} {{Bar chart/bar|{{{col9_data18}}}|{{{col9_data_max|{{{col9_data1}}}}}}|comment={{#if:{{{col9_comment18|}}}|{{{col9_comment18}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} |- {{#if:{{{col1_data19|{{{data19|}}}}}}| ! scope="row" {{!}} {{{label19}}} {{!}} {{Bar chart/bar|{{{col1_data19|{{{data19}}}}}}|{{{col1_data_max|{{{data_max|{{{col1_data1|{{{data1}}}}}}}}}}}}|comment={{#if:{{{col1_comment19|{{{comment19|}}}}}}|{{{col1_comment19|{{{comment19}}}}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col2_data19|}}}| {{!!}} {{Bar chart/bar|{{{col2_data19}}}|{{{col2_data_max|{{{col2_data1}}}}}}|comment={{#if:{{{col2_comment19|}}}|{{{col2_comment19}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col3_data19|}}}| {{!!}} {{Bar chart/bar|{{{col3_data19}}}|{{{col3_data_max|{{{col3_data1}}}}}}|comment={{#if:{{{col3_comment19|}}}|{{{col3_comment19}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col4_data19|}}}| {{!!}} {{Bar chart/bar|{{{col4_data19}}}|{{{col4_data_max|{{{col4_data1}}}}}}|comment={{#if:{{{col4_comment19|}}}|{{{col4_comment19}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col5_data19|}}}| {{!!}} {{Bar chart/bar|{{{col5_data19}}}|{{{col5_data_max|{{{col5_data1}}}}}}|comment={{#if:{{{col5_comment19|}}}|{{{col5_comment19}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col6_data19|}}}| {{!!}} {{Bar chart/bar|{{{col6_data19}}}|{{{col6_data_max|{{{col6_data1}}}}}}|comment={{#if:{{{col6_comment19|}}}|{{{col6_comment19}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col7_data19|}}}| {{!!}} {{Bar chart/bar|{{{col7_data19}}}|{{{col7_data_max|{{{col7_data1}}}}}}|comment={{#if:{{{col7_comment19|}}}|{{{col7_comment19}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col8_data19|}}}| {{!!}} {{Bar chart/bar|{{{col8_data19}}}|{{{col8_data_max|{{{col8_data1}}}}}}|comment={{#if:{{{col8_comment19|}}}|{{{col8_comment19}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col9_data19|}}}| {{!!}} {{Bar chart/bar|{{{col9_data19}}}|{{{col9_data_max|{{{col9_data1}}}}}}|comment={{#if:{{{col9_comment19|}}}|{{{col9_comment19}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} |- {{#if:{{{col1_data20|{{{data20|}}}}}}| ! scope="row" {{!}} {{{label20}}} {{!}} {{Bar chart/bar|{{{col1_data20|{{{data20}}}}}}|{{{col1_data_max|{{{data_max|{{{col1_data1|{{{data1}}}}}}}}}}}}|comment={{#if:{{{col1_comment20|{{{comment20|}}}}}}|{{{col1_comment20|{{{comment20}}}}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col2_data20|}}}| {{!!}} {{Bar chart/bar|{{{col2_data20}}}|{{{col2_data_max|{{{col2_data1}}}}}}|comment={{#if:{{{col2_comment20|}}}|{{{col2_comment20}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col3_data20|}}}| {{!!}} {{Bar chart/bar|{{{col3_data20}}}|{{{col3_data_max|{{{col3_data1}}}}}}|comment={{#if:{{{col3_comment20|}}}|{{{col3_comment20}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col4_data20|}}}| {{!!}} {{Bar chart/bar|{{{col4_data20}}}|{{{col4_data_max|{{{col4_data1}}}}}}|comment={{#if:{{{col4_comment20|}}}|{{{col4_comment20}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col5_data20|}}}| {{!!}} {{Bar chart/bar|{{{col5_data20}}}|{{{col5_data_max|{{{col5_data1}}}}}}|comment={{#if:{{{col5_comment20|}}}|{{{col5_comment20}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col6_data20|}}}| {{!!}} {{Bar chart/bar|{{{col6_data20}}}|{{{col6_data_max|{{{col6_data1}}}}}}|comment={{#if:{{{col6_comment20|}}}|{{{col6_comment20}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col7_data20|}}}| {{!!}} {{Bar chart/bar|{{{col7_data20}}}|{{{col7_data_max|{{{col7_data1}}}}}}|comment={{#if:{{{col7_comment20|}}}|{{{col7_comment20}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col8_data20|}}}| {{!!}} {{Bar chart/bar|{{{col8_data20}}}|{{{col8_data_max|{{{col8_data1}}}}}}|comment={{#if:{{{col8_comment20|}}}|{{{col8_comment20}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col9_data20|}}}| {{!!}} {{Bar chart/bar|{{{col9_data20}}}|{{{col9_data_max|{{{col9_data1}}}}}}|comment={{#if:{{{col9_comment20|}}}|{{{col9_comment20}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} |- {{#if:{{{col1_data21|{{{data21|}}}}}}| ! scope="row" {{!}} {{{label21}}} {{!}} {{Bar chart/bar|{{{col1_data21|{{{data21}}}}}}|{{{col1_data_max|{{{data_max|{{{col1_data1|{{{data1}}}}}}}}}}}}|comment={{#if:{{{col1_comment21|{{{comment21|}}}}}}|{{{col1_comment21|{{{comment21}}}}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col2_data21|}}}| {{!!}} {{Bar chart/bar|{{{col2_data21}}}|{{{col2_data_max|{{{col2_data1}}}}}}|comment={{#if:{{{col2_comment21|}}}|{{{col2_comment21}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col3_data21|}}}| {{!!}} {{Bar chart/bar|{{{col3_data21}}}|{{{col3_data_max|{{{col3_data1}}}}}}|comment={{#if:{{{col3_comment21|}}}|{{{col3_comment21}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col4_data21|}}}| {{!!}} {{Bar chart/bar|{{{col4_data21}}}|{{{col4_data_max|{{{col4_data1}}}}}}|comment={{#if:{{{col4_comment21|}}}|{{{col4_comment21}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col5_data21|}}}| {{!!}} {{Bar chart/bar|{{{col5_data21}}}|{{{col5_data_max|{{{col5_data1}}}}}}|comment={{#if:{{{col5_comment21|}}}|{{{col5_comment21}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col6_data21|}}}| {{!!}} {{Bar chart/bar|{{{col6_data21}}}|{{{col6_data_max|{{{col6_data1}}}}}}|comment={{#if:{{{col6_comment21|}}}|{{{col6_comment21}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col7_data21|}}}| {{!!}} {{Bar chart/bar|{{{col7_data21}}}|{{{col7_data_max|{{{col7_data1}}}}}}|comment={{#if:{{{col7_comment21|}}}|{{{col7_comment21}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col8_data21|}}}| {{!!}} {{Bar chart/bar|{{{col8_data21}}}|{{{col8_data_max|{{{col8_data1}}}}}}|comment={{#if:{{{col8_comment21|}}}|{{{col8_comment21}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col9_data21|}}}| {{!!}} {{Bar chart/bar|{{{col9_data21}}}|{{{col9_data_max|{{{col9_data1}}}}}}|comment={{#if:{{{col9_comment21|}}}|{{{col9_comment21}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} |- {{#if:{{{col1_data22|{{{data22|}}}}}}| ! scope="row" {{!}} {{{label22}}} {{!}} {{Bar chart/bar|{{{col1_data22|{{{data22}}}}}}|{{{col1_data_max|{{{data_max|{{{col1_data1|{{{data1}}}}}}}}}}}}|comment={{#if:{{{col1_comment22|{{{comment22|}}}}}}|{{{col1_comment22|{{{comment22}}}}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col2_data22|}}}| {{!!}} {{Bar chart/bar|{{{col2_data22}}}|{{{col2_data_max|{{{col2_data1}}}}}}|comment={{#if:{{{col2_comment22|}}}|{{{col2_comment22}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col3_data22|}}}| {{!!}} {{Bar chart/bar|{{{col3_data22}}}|{{{col3_data_max|{{{col3_data1}}}}}}|comment={{#if:{{{col3_comment22|}}}|{{{col3_comment22}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col4_data22|}}}| {{!!}} {{Bar chart/bar|{{{col4_data22}}}|{{{col4_data_max|{{{col4_data1}}}}}}|comment={{#if:{{{col4_comment22|}}}|{{{col4_comment22}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col5_data22|}}}| {{!!}} {{Bar chart/bar|{{{col5_data22}}}|{{{col5_data_max|{{{col5_data1}}}}}}|comment={{#if:{{{col5_comment22|}}}|{{{col5_comment22}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col6_data22|}}}| {{!!}} {{Bar chart/bar|{{{col6_data22}}}|{{{col6_data_max|{{{col6_data1}}}}}}|comment={{#if:{{{col6_comment22|}}}|{{{col6_comment22}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col7_data22|}}}| {{!!}} {{Bar chart/bar|{{{col7_data22}}}|{{{col7_data_max|{{{col7_data1}}}}}}|comment={{#if:{{{col7_comment22|}}}|{{{col7_comment22}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col8_data22|}}}| {{!!}} {{Bar chart/bar|{{{col8_data22}}}|{{{col8_data_max|{{{col8_data1}}}}}}|comment={{#if:{{{col8_comment22|}}}|{{{col8_comment22}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col9_data22|}}}| {{!!}} {{Bar chart/bar|{{{col9_data22}}}|{{{col9_data_max|{{{col9_data1}}}}}}|comment={{#if:{{{col9_comment22|}}}|{{{col9_comment22}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} |- {{#if:{{{col1_data23|{{{data23|}}}}}}| ! scope="row" {{!}} {{{label23}}} {{!}} {{Bar chart/bar|{{{col1_data23|{{{data23}}}}}}|{{{col1_data_max|{{{data_max|{{{col1_data1|{{{data1}}}}}}}}}}}}|comment={{#if:{{{col1_comment23|{{{comment23|}}}}}}|{{{col1_comment23|{{{comment23}}}}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col2_data23|}}}| {{!!}} {{Bar chart/bar|{{{col2_data23}}}|{{{col2_data_max|{{{col2_data1}}}}}}|comment={{#if:{{{col2_comment23|}}}|{{{col2_comment23}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col3_data23|}}}| {{!!}} {{Bar chart/bar|{{{col3_data23}}}|{{{col3_data_max|{{{col3_data1}}}}}}|comment={{#if:{{{col3_comment23|}}}|{{{col3_comment23}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col4_data23|}}}| {{!!}} {{Bar chart/bar|{{{col4_data23}}}|{{{col4_data_max|{{{col4_data1}}}}}}|comment={{#if:{{{col4_comment23|}}}|{{{col4_comment23}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col5_data23|}}}| {{!!}} {{Bar chart/bar|{{{col5_data23}}}|{{{col5_data_max|{{{col5_data1}}}}}}|comment={{#if:{{{col5_comment23|}}}|{{{col5_comment23}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col6_data23|}}}| {{!!}} {{Bar chart/bar|{{{col6_data23}}}|{{{col6_data_max|{{{col6_data1}}}}}}|comment={{#if:{{{col6_comment23|}}}|{{{col6_comment23}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col7_data23|}}}| {{!!}} {{Bar chart/bar|{{{col7_data23}}}|{{{col7_data_max|{{{col7_data1}}}}}}|comment={{#if:{{{col7_comment23|}}}|{{{col7_comment23}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col8_data23|}}}| {{!!}} {{Bar chart/bar|{{{col8_data23}}}|{{{col8_data_max|{{{col8_data1}}}}}}|comment={{#if:{{{col8_comment23|}}}|{{{col8_comment23}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col9_data23|}}}| {{!!}} {{Bar chart/bar|{{{col9_data23}}}|{{{col9_data_max|{{{col9_data1}}}}}}|comment={{#if:{{{col9_comment23|}}}|{{{col9_comment23}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} |- {{#if:{{{col1_data24|{{{data24|}}}}}}| ! scope="row" {{!}} {{{label24}}} {{!}} {{Bar chart/bar|{{{col1_data24|{{{data24}}}}}}|{{{col1_data_max|{{{data_max|{{{col1_data1|{{{data1}}}}}}}}}}}}|comment={{#if:{{{col1_comment24|{{{comment24|}}}}}}|{{{col1_comment24|{{{comment24}}}}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col2_data24|}}}| {{!!}} {{Bar chart/bar|{{{col2_data24}}}|{{{col2_data_max|{{{col2_data1}}}}}}|comment={{#if:{{{col2_comment24|}}}|{{{col2_comment24}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col3_data24|}}}| {{!!}} {{Bar chart/bar|{{{col3_data24}}}|{{{col3_data_max|{{{col3_data1}}}}}}|comment={{#if:{{{col3_comment24|}}}|{{{col3_comment24}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col4_data24|}}}| {{!!}} {{Bar chart/bar|{{{col4_data24}}}|{{{col4_data_max|{{{col4_data1}}}}}}|comment={{#if:{{{col4_comment24|}}}|{{{col4_comment24}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col5_data24|}}}| {{!!}} {{Bar chart/bar|{{{col5_data24}}}|{{{col5_data_max|{{{col5_data1}}}}}}|comment={{#if:{{{col5_comment24|}}}|{{{col5_comment24}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col6_data24|}}}| {{!!}} {{Bar chart/bar|{{{col6_data24}}}|{{{col6_data_max|{{{col6_data1}}}}}}|comment={{#if:{{{col6_comment24|}}}|{{{col6_comment24}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col7_data24|}}}| {{!!}} {{Bar chart/bar|{{{col7_data24}}}|{{{col7_data_max|{{{col7_data1}}}}}}|comment={{#if:{{{col7_comment24|}}}|{{{col7_comment24}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col8_data24|}}}| {{!!}} {{Bar chart/bar|{{{col8_data24}}}|{{{col8_data_max|{{{col8_data1}}}}}}|comment={{#if:{{{col8_comment24|}}}|{{{col8_comment24}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col9_data24|}}}| {{!!}} {{Bar chart/bar|{{{col9_data24}}}|{{{col9_data_max|{{{col9_data1}}}}}}|comment={{#if:{{{col9_comment24|}}}|{{{col9_comment24}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} |- {{#if:{{{col1_data25|{{{data25|}}}}}}| ! scope="row" {{!}} {{{label25}}} {{!}} {{Bar chart/bar|{{{col1_data25|{{{data25}}}}}}|{{{col1_data_max|{{{data_max|{{{col1_data1|{{{data1}}}}}}}}}}}}|comment={{#if:{{{col1_comment25|{{{comment25|}}}}}}|{{{col1_comment25|{{{comment25}}}}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col2_data25|}}}| {{!!}} {{Bar chart/bar|{{{col2_data25}}}|{{{col2_data_max|{{{col2_data1}}}}}}|comment={{#if:{{{col2_comment25|}}}|{{{col2_comment25}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col3_data25|}}}| {{!!}} {{Bar chart/bar|{{{col3_data25}}}|{{{col3_data_max|{{{col3_data1}}}}}}|comment={{#if:{{{col3_comment25|}}}|{{{col3_comment25}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col4_data25|}}}| {{!!}} {{Bar chart/bar|{{{col4_data25}}}|{{{col4_data_max|{{{col4_data1}}}}}}|comment={{#if:{{{col4_comment25|}}}|{{{col4_comment25}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col5_data25|}}}| {{!!}} {{Bar chart/bar|{{{col5_data25}}}|{{{col5_data_max|{{{col5_data1}}}}}}|comment={{#if:{{{col5_comment25|}}}|{{{col5_comment25}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col6_data25|}}}| {{!!}} {{Bar chart/bar|{{{col6_data25}}}|{{{col6_data_max|{{{col6_data1}}}}}}|comment={{#if:{{{col6_comment25|}}}|{{{col6_comment25}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col7_data25|}}}| {{!!}} {{Bar chart/bar|{{{col7_data25}}}|{{{col7_data_max|{{{col7_data1}}}}}}|comment={{#if:{{{col7_comment25|}}}|{{{col7_comment25}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col8_data25|}}}| {{!!}} {{Bar chart/bar|{{{col8_data25}}}|{{{col8_data_max|{{{col8_data1}}}}}}|comment={{#if:{{{col8_comment25|}}}|{{{col8_comment25}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col9_data25|}}}| {{!!}} {{Bar chart/bar|{{{col9_data25}}}|{{{col9_data_max|{{{col9_data1}}}}}}|comment={{#if:{{{col9_comment25|}}}|{{{col9_comment25}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} |- {{#if:{{{col1_data26|{{{data26|}}}}}}| ! scope="row" {{!}} {{{label26}}} {{!}} {{Bar chart/bar|{{{col1_data26|{{{data26}}}}}}|{{{col1_data_max|{{{data_max|{{{col1_data1|{{{data1}}}}}}}}}}}}|comment={{#if:{{{col1_comment26|{{{comment26|}}}}}}|{{{col1_comment26|{{{comment26}}}}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col2_data26|}}}| {{!!}} {{Bar chart/bar|{{{col2_data26}}}|{{{col2_data_max|{{{col2_data1}}}}}}|comment={{#if:{{{col2_comment26|}}}|{{{col2_comment26}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col3_data26|}}}| {{!!}} {{Bar chart/bar|{{{col3_data26}}}|{{{col3_data_max|{{{col3_data1}}}}}}|comment={{#if:{{{col3_comment26|}}}|{{{col3_comment26}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col4_data26|}}}| {{!!}} {{Bar chart/bar|{{{col4_data26}}}|{{{col4_data_max|{{{col4_data1}}}}}}|comment={{#if:{{{col4_comment26|}}}|{{{col4_comment26}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col5_data26|}}}| {{!!}} {{Bar chart/bar|{{{col5_data26}}}|{{{col5_data_max|{{{col5_data1}}}}}}|comment={{#if:{{{col5_comment26|}}}|{{{col5_comment26}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col6_data26|}}}| {{!!}} {{Bar chart/bar|{{{col6_data26}}}|{{{col6_data_max|{{{col6_data1}}}}}}|comment={{#if:{{{col6_comment26|}}}|{{{col6_comment26}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col7_data26|}}}| {{!!}} {{Bar chart/bar|{{{col7_data26}}}|{{{col7_data_max|{{{col7_data1}}}}}}|comment={{#if:{{{col7_comment26|}}}|{{{col7_comment26}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col8_data26|}}}| {{!!}} {{Bar chart/bar|{{{col8_data26}}}|{{{col8_data_max|{{{col8_data1}}}}}}|comment={{#if:{{{col8_comment26|}}}|{{{col8_comment26}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col9_data26|}}}| {{!!}} {{Bar chart/bar|{{{col9_data26}}}|{{{col9_data_max|{{{col9_data1}}}}}}|comment={{#if:{{{col9_comment26|}}}|{{{col9_comment26}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} |- {{#if:{{{col1_data27|{{{data27|}}}}}}| ! scope="row" {{!}} {{{label27}}} {{!}} {{Bar chart/bar|{{{col1_data27|{{{data27}}}}}}|{{{col1_data_max|{{{data_max|{{{col1_data1|{{{data1}}}}}}}}}}}}|comment={{#if:{{{col1_comment27|{{{comment27|}}}}}}|{{{col1_comment27|{{{comment27}}}}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col2_data27|}}}| {{!!}} {{Bar chart/bar|{{{col2_data27}}}|{{{col2_data_max|{{{col2_data1}}}}}}|comment={{#if:{{{col2_comment27|}}}|{{{col2_comment27}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col3_data27|}}}| {{!!}} {{Bar chart/bar|{{{col3_data27}}}|{{{col3_data_max|{{{col3_data1}}}}}}|comment={{#if:{{{col3_comment27|}}}|{{{col3_comment27}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col4_data27|}}}| {{!!}} {{Bar chart/bar|{{{col4_data27}}}|{{{col4_data_max|{{{col4_data1}}}}}}|comment={{#if:{{{col4_comment27|}}}|{{{col4_comment27}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col5_data27|}}}| {{!!}} {{Bar chart/bar|{{{col5_data27}}}|{{{col5_data_max|{{{col5_data1}}}}}}|comment={{#if:{{{col5_comment27|}}}|{{{col5_comment27}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col6_data27|}}}| {{!!}} {{Bar chart/bar|{{{col6_data27}}}|{{{col6_data_max|{{{col6_data1}}}}}}|comment={{#if:{{{col6_comment27|}}}|{{{col6_comment27}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col7_data27|}}}| {{!!}} {{Bar chart/bar|{{{col7_data27}}}|{{{col7_data_max|{{{col7_data1}}}}}}|comment={{#if:{{{col7_comment27|}}}|{{{col7_comment27}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col8_data27|}}}| {{!!}} {{Bar chart/bar|{{{col8_data27}}}|{{{col8_data_max|{{{col8_data1}}}}}}|comment={{#if:{{{col8_comment27|}}}|{{{col8_comment27}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col9_data27|}}}| {{!!}} {{Bar chart/bar|{{{col9_data27}}}|{{{col9_data_max|{{{col9_data1}}}}}}|comment={{#if:{{{col9_comment27|}}}|{{{col9_comment27}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} |- {{#if:{{{col1_data28|{{{data28|}}}}}}| ! scope="row" {{!}} {{{label28}}} {{!}} {{Bar chart/bar|{{{col1_data28|{{{data28}}}}}}|{{{col1_data_max|{{{data_max|{{{col1_data1|{{{data1}}}}}}}}}}}}|comment={{#if:{{{col1_comment28|{{{comment28|}}}}}}|{{{col1_comment28|{{{comment28}}}}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col2_data28|}}}| {{!!}} {{Bar chart/bar|{{{col2_data28}}}|{{{col2_data_max|{{{col2_data1}}}}}}|comment={{#if:{{{col2_comment28|}}}|{{{col2_comment28}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col3_data28|}}}| {{!!}} {{Bar chart/bar|{{{col3_data28}}}|{{{col3_data_max|{{{col3_data1}}}}}}|comment={{#if:{{{col3_comment28|}}}|{{{col3_comment28}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col4_data28|}}}| {{!!}} {{Bar chart/bar|{{{col4_data28}}}|{{{col4_data_max|{{{col4_data1}}}}}}|comment={{#if:{{{col4_comment28|}}}|{{{col4_comment28}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col5_data28|}}}| {{!!}} {{Bar chart/bar|{{{col5_data28}}}|{{{col5_data_max|{{{col5_data1}}}}}}|comment={{#if:{{{col5_comment28|}}}|{{{col5_comment28}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col6_data28|}}}| {{!!}} {{Bar chart/bar|{{{col6_data28}}}|{{{col6_data_max|{{{col6_data1}}}}}}|comment={{#if:{{{col6_comment28|}}}|{{{col6_comment28}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col7_data28|}}}| {{!!}} {{Bar chart/bar|{{{col7_data28}}}|{{{col7_data_max|{{{col7_data1}}}}}}|comment={{#if:{{{col7_comment28|}}}|{{{col7_comment28}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col8_data28|}}}| {{!!}} {{Bar chart/bar|{{{col8_data28}}}|{{{col8_data_max|{{{col8_data1}}}}}}|comment={{#if:{{{col8_comment28|}}}|{{{col8_comment28}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col9_data28|}}}| {{!!}} {{Bar chart/bar|{{{col9_data28}}}|{{{col9_data_max|{{{col9_data1}}}}}}|comment={{#if:{{{col9_comment28|}}}|{{{col9_comment28}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} |- {{#if:{{{col1_data29|{{{data29|}}}}}}| ! scope="row" {{!}} {{{label29}}} {{!}} {{Bar chart/bar|{{{col1_data29|{{{data29}}}}}}|{{{col1_data_max|{{{data_max|{{{col1_data1|{{{data1}}}}}}}}}}}}|comment={{#if:{{{col1_comment29|{{{comment29|}}}}}}|{{{col1_comment29|{{{comment29}}}}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col2_data29|}}}| {{!!}} {{Bar chart/bar|{{{col2_data29}}}|{{{col2_data_max|{{{col2_data1}}}}}}|comment={{#if:{{{col2_comment29|}}}|{{{col2_comment29}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col3_data29|}}}| {{!!}} {{Bar chart/bar|{{{col3_data29}}}|{{{col3_data_max|{{{col3_data1}}}}}}|comment={{#if:{{{col3_comment29|}}}|{{{col3_comment29}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col4_data29|}}}| {{!!}} {{Bar chart/bar|{{{col4_data29}}}|{{{col4_data_max|{{{col4_data1}}}}}}|comment={{#if:{{{col4_comment29|}}}|{{{col4_comment29}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col5_data29|}}}| {{!!}} {{Bar chart/bar|{{{col5_data29}}}|{{{col5_data_max|{{{col5_data1}}}}}}|comment={{#if:{{{col5_comment29|}}}|{{{col5_comment29}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col6_data29|}}}| {{!!}} {{Bar chart/bar|{{{col6_data29}}}|{{{col6_data_max|{{{col6_data1}}}}}}|comment={{#if:{{{col6_comment29|}}}|{{{col6_comment29}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col7_data29|}}}| {{!!}} {{Bar chart/bar|{{{col7_data29}}}|{{{col7_data_max|{{{col7_data1}}}}}}|comment={{#if:{{{col7_comment29|}}}|{{{col7_comment29}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col8_data29|}}}| {{!!}} {{Bar chart/bar|{{{col8_data29}}}|{{{col8_data_max|{{{col8_data1}}}}}}|comment={{#if:{{{col8_comment29|}}}|{{{col8_comment29}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col9_data29|}}}| {{!!}} {{Bar chart/bar|{{{col9_data29}}}|{{{col9_data_max|{{{col9_data1}}}}}}|comment={{#if:{{{col9_comment29|}}}|{{{col9_comment29}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} |- {{#if:{{{col1_data30|{{{data30|}}}}}}| ! scope="row" {{!}} {{{label30}}} {{!}} {{Bar chart/bar|{{{col1_data30|{{{data30}}}}}}|{{{col1_data_max|{{{data_max|{{{col1_data1|{{{data1}}}}}}}}}}}}|comment={{#if:{{{col1_comment30|{{{comment30|}}}}}}|{{{col1_comment30|{{{comment30}}}}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col2_data30|}}}| {{!!}} {{Bar chart/bar|{{{col2_data30}}}|{{{col2_data_max|{{{col2_data1}}}}}}|comment={{#if:{{{col2_comment30|}}}|{{{col2_comment30}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col3_data30|}}}| {{!!}} {{Bar chart/bar|{{{col3_data30}}}|{{{col3_data_max|{{{col3_data1}}}}}}|comment={{#if:{{{col3_comment30|}}}|{{{col3_comment30}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col4_data30|}}}| {{!!}} {{Bar chart/bar|{{{col4_data30}}}|{{{col4_data_max|{{{col4_data1}}}}}}|comment={{#if:{{{col4_comment30|}}}|{{{col4_comment30}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col5_data30|}}}| {{!!}} {{Bar chart/bar|{{{col5_data30}}}|{{{col5_data_max|{{{col5_data1}}}}}}|comment={{#if:{{{col5_comment30|}}}|{{{col5_comment30}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col6_data30|}}}| {{!!}} {{Bar chart/bar|{{{col6_data30}}}|{{{col6_data_max|{{{col6_data1}}}}}}|comment={{#if:{{{col6_comment30|}}}|{{{col6_comment30}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col7_data30|}}}| {{!!}} {{Bar chart/bar|{{{col7_data30}}}|{{{col7_data_max|{{{col7_data1}}}}}}|comment={{#if:{{{col7_comment30|}}}|{{{col7_comment30}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col8_data30|}}}| {{!!}} {{Bar chart/bar|{{{col8_data30}}}|{{{col8_data_max|{{{col8_data1}}}}}}|comment={{#if:{{{col8_comment30|}}}|{{{col8_comment30}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col9_data30|}}}| {{!!}} {{Bar chart/bar|{{{col9_data30}}}|{{{col9_data_max|{{{col9_data1}}}}}}|comment={{#if:{{{col9_comment30|}}}|{{{col9_comment30}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} |- {{#if:{{{total|{{{col1_total|}}}}}}| ! scope="row" class="bar-chart-total" {{!}} Total {{!!}} {{formatnum: {{{total|{{{col1_total}}}}}} }} }} {{#if:{{{col2_total|}}}| {{!!}} {{formatnum: {{{col2_total}}} }} }}{{#if:{{{col3_total|}}}| {{!!}} {{formatnum: {{{col3_total}}} }} }}{{#if:{{{col4_total|}}}| {{!!}} {{formatnum: {{{col4_total}}} }} }}{{#if:{{{col5_total|}}}| {{!!}} {{formatnum: {{{col5_total}}} }} }}{{#if:{{{col6_total|}}}| {{!!}} {{formatnum: {{{col6_total}}} }} }}{{#if:{{{col7_total|}}}| {{!!}} {{formatnum: {{{col7_total}}} }} }}{{#if:{{{col8_total|}}}| {{!!}} {{formatnum: {{{col8_total}}} }} }}{{#if:{{{col9_total|}}}| {{!!}} {{formatnum: {{{col9_total}}} }} }} |- {{#if:{{{caption|}}}| {{!}} class="bar-chart-caption" colspan=10 {{!}} {{{caption}}} }} |}<noinclude> {{documentation}} </noinclude> 0hx0fsv6g227q1iq36itcswv9zg8ttc 309761 309760 2026-09-26T17:46:26Z Isma4l 41797 309761 wikitext text/x-wiki <templatestyles src="Template:Bar chart/styles.css"/> {| class="bar-chart {{#switch:{{{float|}}}|left=bar-chart-left|right=bar-chart-right|center=bar-chart-center}}" {{#if:{{{table_width|}}}|style="width: {{{table_width}}}em;"}} |+ {{{title|Liiska magaalooyinka marka la eego dadweynaha}}} |- ! scope="col" class="bar-chart-label-type" | {{#if:{{{label_type|}}}|{{{label_type}}}|Magaalada}} ! scope="col" {{#if:{{{bar_width|}}}|style="width: {{{bar_width}}}em"}} | {{#if:{{{data_type|{{{col1_data_type|}}}}}}|{{{data_type|{{{col1_data_type}}}}}}|Dadweynaha}} {{#if:{{{col2_data_type|}}}| !! scope="col" {{#if:{{{bar_width|}}}|style="width: {{{bar_width}}}em"}} {{!}} {{{col2_data_type}}} }} {{#if:{{{col3_data_type|}}}| !! scope="col" {{#if:{{{bar_width|}}}|style="width: {{{bar_width}}}em"}} {{!}} {{{col3_data_type}}} }} {{#if:{{{col4_data_type|}}}| !! scope="col" {{#if:{{{bar_width|}}}|style="width: {{{bar_width}}}em"}} {{!}} {{{col4_data_type}}} }} {{#if:{{{col5_data_type|}}}| !! scope="col" {{#if:{{{bar_width|}}}|style="width: {{{bar_width}}}em"}} {{!}} {{{col5_data_type}}} }} {{#if:{{{col6_data_type|}}}| !! scope="col" {{#if:{{{bar_width|}}}|style="width: {{{bar_width}}}em"}} {{!}} {{{col6_data_type}}} }} {{#if:{{{col7_data_type|}}}| !! scope="col" {{#if:{{{bar_width|}}}|style="width: {{{bar_width}}}em"}} {{!}} {{{col7_data_type}}} }} {{#if:{{{col8_data_type|}}}| !! scope="col" {{#if:{{{bar_width|}}}|style="width: {{{bar_width}}}em"}} {{!}} {{{col8_data_type}}} }} {{#if:{{{col9_data_type|}}}| !! scope="col" {{#if:{{{bar_width|}}}|style="width: {{{bar_width}}}em"}} {{!}} {{{col9_data_type}}} }} |- {{#if:{{{col1_data1|{{{data1|}}}}}}| ! scope="row" {{!}} {{{label1}}} {{!}} {{Bar chart/bar|{{{col1_data1|{{{data1}}}}}}|{{{col1_data_max|{{{data_max|{{{col1_data1|{{{data1}}}}}}}}}}}}|comment={{#if:{{{col1_comment1|{{{comment1|}}}}}}|{{{col1_comment1|{{{comment1}}}}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col2_data1|}}}| {{!!}} {{Bar chart/bar|{{{col2_data1}}}|{{{col2_data_max|{{{col2_data1}}}}}}|comment={{#if:{{{col2_comment1|}}}|{{{col2_comment1}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col3_data1|}}}| {{!!}} {{Bar chart/bar|{{{col3_data1}}}|{{{col3_data_max|{{{col3_data1}}}}}}|comment={{#if:{{{col3_comment1|}}}|{{{col3_comment1}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col4_data1|}}}| {{!!}} {{Bar chart/bar|{{{col4_data1}}}|{{{col4_data_max|{{{col4_data1}}}}}}|comment={{#if:{{{col4_comment1|}}}|{{{col4_comment1}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col5_data1|}}}| {{!!}} {{Bar chart/bar|{{{col5_data1}}}|{{{col4_data_max|{{{col5_data1}}}}}}|comment={{#if:{{{col5_comment1|}}}|{{{col5_comment1}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col6_data1|}}}| {{!!}} {{Bar chart/bar|{{{col6_data1}}}|{{{col4_data_max|{{{col6_data1}}}}}}|comment={{#if:{{{col6_comment1|}}}|{{{col6_comment1}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col7_data1|}}}| {{!!}} {{Bar chart/bar|{{{col7_data1}}}|{{{col4_data_max|{{{col7_data1}}}}}}|comment={{#if:{{{col7_comment1|}}}|{{{col7_comment1}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col8_data1|}}}| {{!!}} {{Bar chart/bar|{{{col8_data1}}}|{{{col4_data_max|{{{col8_data1}}}}}}|comment={{#if:{{{col8_comment1|}}}|{{{col8_comment1}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col9_data1|}}}| {{!!}} {{Bar chart/bar|{{{col9_data1}}}|{{{col4_data_max|{{{col9_data1}}}}}}|comment={{#if:{{{col9_comment1|}}}|{{{col9_comment1}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} |- {{#if:{{{col1_data2|{{{data2|}}}}}}| ! scope="row" {{!}} {{{label2}}} {{!}} {{Bar chart/bar|{{{col1_data2|{{{data2}}}}}}|{{{col1_data_max|{{{data_max|{{{col1_data1|{{{data1}}}}}}}}}}}}|comment={{#if:{{{col1_comment2|{{{comment2|}}}}}}|{{{col1_comment2|{{{comment2}}}}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col2_data2|}}}| {{!!}} {{Bar chart/bar|{{{col2_data2}}}|{{{col2_data_max|{{{col2_data1}}}}}}|comment={{#if:{{{col2_comment2|}}}|{{{col2_comment2}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col3_data2|}}}| {{!!}} {{Bar chart/bar|{{{col3_data2}}}|{{{col3_data_max|{{{col3_data1}}}}}}|comment={{#if:{{{col3_comment2|}}}|{{{col3_comment2}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col4_data2|}}}| {{!!}} {{Bar chart/bar|{{{col4_data2}}}|{{{col4_data_max|{{{col4_data1}}}}}}|comment={{#if:{{{col4_comment2|}}}|{{{col4_comment2}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col5_data2|}}}| {{!!}} {{Bar chart/bar|{{{col5_data2}}}|{{{col4_data_max|{{{col5_data1}}}}}}|comment={{#if:{{{col5_comment2|}}}|{{{col5_comment2}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col6_data2|}}}| {{!!}} {{Bar chart/bar|{{{col6_data2}}}|{{{col4_data_max|{{{col6_data1}}}}}}|comment={{#if:{{{col6_comment2|}}}|{{{col6_comment2}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col7_data2|}}}| {{!!}} {{Bar chart/bar|{{{col7_data2}}}|{{{col4_data_max|{{{col7_data1}}}}}}|comment={{#if:{{{col7_comment2|}}}|{{{col7_comment2}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col8_data2|}}}| {{!!}} {{Bar chart/bar|{{{col8_data2}}}|{{{col4_data_max|{{{col8_data1}}}}}}|comment={{#if:{{{col8_comment2|}}}|{{{col8_comment2}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col9_data2|}}}| {{!!}} {{Bar chart/bar|{{{col9_data2}}}|{{{col4_data_max|{{{col9_data1}}}}}}|comment={{#if:{{{col9_comment2|}}}|{{{col9_comment2}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} |- {{#if:{{{col1_data3|{{{data3|}}}}}}| ! scope="row" {{!}} {{{label3}}} {{!}} {{Bar chart/bar|{{{col1_data3|{{{data3}}}}}}|{{{col1_data_max|{{{data_max|{{{col1_data1|{{{data1}}}}}}}}}}}}|comment={{#if:{{{col1_comment3|{{{comment3|}}}}}}|{{{col1_comment3|{{{comment3}}}}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col2_data3|}}}| {{!!}} {{Bar chart/bar|{{{col2_data3}}}|{{{col2_data_max|{{{col2_data1}}}}}}|comment={{#if:{{{col2_comment3|}}}|{{{col2_comment3}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col3_data3|}}}| {{!!}} {{Bar chart/bar|{{{col3_data3}}}|{{{col3_data_max|{{{col3_data1}}}}}}|comment={{#if:{{{col3_comment3|}}}|{{{col3_comment3}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col4_data3|}}}| {{!!}} {{Bar chart/bar|{{{col4_data3}}}|{{{col4_data_max|{{{col4_data1}}}}}}|comment={{#if:{{{col4_comment3|}}}|{{{col4_comment3}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col5_data3|}}}| {{!!}} {{Bar chart/bar|{{{col5_data3}}}|{{{col4_data_max|{{{col5_data1}}}}}}|comment={{#if:{{{col5_comment3|}}}|{{{col5_comment3}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col6_data3|}}}| {{!!}} {{Bar chart/bar|{{{col6_data3}}}|{{{col4_data_max|{{{col6_data1}}}}}}|comment={{#if:{{{col6_comment3|}}}|{{{col6_comment3}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col7_data3|}}}| {{!!}} {{Bar chart/bar|{{{col7_data3}}}|{{{col4_data_max|{{{col7_data1}}}}}}|comment={{#if:{{{col7_comment3|}}}|{{{col7_comment3}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col8_data3|}}}| {{!!}} {{Bar chart/bar|{{{col8_data3}}}|{{{col4_data_max|{{{col8_data1}}}}}}|comment={{#if:{{{col8_comment3|}}}|{{{col8_comment3}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col9_data3|}}}| {{!!}} {{Bar chart/bar|{{{col9_data3}}}|{{{col4_data_max|{{{col9_data1}}}}}}|comment={{#if:{{{col9_comment3|}}}|{{{col9_comment3}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} |- {{#if:{{{col1_data4|{{{data4|}}}}}}| ! scope="row" {{!}} {{{label4}}} {{!}} {{Bar chart/bar|{{{col1_data4|{{{data4}}}}}}|{{{col1_data_max|{{{data_max|{{{col1_data1|{{{data1}}}}}}}}}}}}|comment={{#if:{{{col1_comment4|{{{comment4|}}}}}}|{{{col1_comment4|{{{comment4}}}}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col2_data4|}}}| {{!!}} {{Bar chart/bar|{{{col2_data4}}}|{{{col2_data_max|{{{col2_data1}}}}}}|comment={{#if:{{{col2_comment4|}}}|{{{col2_comment4}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col3_data4|}}}| {{!!}} {{Bar chart/bar|{{{col3_data4}}}|{{{col3_data_max|{{{col3_data1}}}}}}|comment={{#if:{{{col3_comment4|}}}|{{{col3_comment4}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col4_data4|}}}| {{!!}} {{Bar chart/bar|{{{col4_data4}}}|{{{col4_data_max|{{{col4_data1}}}}}}|comment={{#if:{{{col4_comment4|}}}|{{{col4_comment4}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col5_data4|}}}| {{!!}} {{Bar chart/bar|{{{col5_data4}}}|{{{col4_data_max|{{{col5_data1}}}}}}|comment={{#if:{{{col5_comment4|}}}|{{{col5_comment4}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col6_data4|}}}| {{!!}} {{Bar chart/bar|{{{col6_data4}}}|{{{col4_data_max|{{{col6_data1}}}}}}|comment={{#if:{{{col6_comment4|}}}|{{{col6_comment4}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col7_data4|}}}| {{!!}} {{Bar chart/bar|{{{col7_data4}}}|{{{col4_data_max|{{{col7_data1}}}}}}|comment={{#if:{{{col7_comment4|}}}|{{{col7_comment4}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col8_data4|}}}| {{!!}} {{Bar chart/bar|{{{col8_data4}}}|{{{col4_data_max|{{{col8_data1}}}}}}|comment={{#if:{{{col8_comment4|}}}|{{{col8_comment4}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col9_data4|}}}| {{!!}} {{Bar chart/bar|{{{col9_data4}}}|{{{col4_data_max|{{{col9_data1}}}}}}|comment={{#if:{{{col9_comment4|}}}|{{{col9_comment4}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} |- {{#if:{{{col1_data5|{{{data5|}}}}}}| ! scope="row" {{!}} {{{label5}}} {{!}} {{Bar chart/bar|{{{col1_data5|{{{data5}}}}}}|{{{col1_data_max|{{{data_max|{{{col1_data1|{{{data1}}}}}}}}}}}}|comment={{#if:{{{col1_comment5|{{{comment5|}}}}}}|{{{col1_comment5|{{{comment5}}}}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col2_data5|}}}| {{!!}} {{Bar chart/bar|{{{col2_data5}}}|{{{col2_data_max|{{{col2_data1}}}}}}|comment={{#if:{{{col2_comment5|}}}|{{{col2_comment5}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col3_data5|}}}| {{!!}} {{Bar chart/bar|{{{col3_data5}}}|{{{col3_data_max|{{{col3_data1}}}}}}|comment={{#if:{{{col3_comment5|}}}|{{{col3_comment5}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col4_data5|}}}| {{!!}} {{Bar chart/bar|{{{col4_data5}}}|{{{col4_data_max|{{{col4_data1}}}}}}|comment={{#if:{{{col4_comment5|}}}|{{{col4_comment5}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col5_data5|}}}| {{!!}} {{Bar chart/bar|{{{col5_data5}}}|{{{col5_data_max|{{{col5_data1}}}}}}|comment={{#if:{{{col5_comment5|}}}|{{{col5_comment5}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col6_data5|}}}| {{!!}} {{Bar chart/bar|{{{col6_data5}}}|{{{col6_data_max|{{{col6_data1}}}}}}|comment={{#if:{{{col6_comment5|}}}|{{{col6_comment5}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col7_data5|}}}| {{!!}} {{Bar chart/bar|{{{col7_data5}}}|{{{col7_data_max|{{{col7_data1}}}}}}|comment={{#if:{{{col7_comment5|}}}|{{{col7_comment5}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col8_data5|}}}| {{!!}} {{Bar chart/bar|{{{col8_data5}}}|{{{col8_data_max|{{{col8_data1}}}}}}|comment={{#if:{{{col8_comment5|}}}|{{{col8_comment5}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col9_data5|}}}| {{!!}} {{Bar chart/bar|{{{col9_data5}}}|{{{col9_data_max|{{{col9_data1}}}}}}|comment={{#if:{{{col9_comment5|}}}|{{{col9_comment5}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} |- {{#if:{{{col1_data6|{{{data6|}}}}}}| ! scope="row" {{!}} {{{label6}}} {{!}} {{Bar chart/bar|{{{col1_data6|{{{data6}}}}}}|{{{col1_data_max|{{{data_max|{{{col1_data1|{{{data1}}}}}}}}}}}}|comment={{#if:{{{col1_comment6|{{{comment6|}}}}}}|{{{col1_comment6|{{{comment6}}}}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col2_data6|}}}| {{!!}} {{Bar chart/bar|{{{col2_data6}}}|{{{col2_data_max|{{{col2_data1}}}}}}|comment={{#if:{{{col2_comment6|}}}|{{{col2_comment6}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col3_data6|}}}| {{!!}} {{Bar chart/bar|{{{col3_data6}}}|{{{col3_data_max|{{{col3_data1}}}}}}|comment={{#if:{{{col3_comment6|}}}|{{{col3_comment6}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col4_data6|}}}| {{!!}} {{Bar chart/bar|{{{col4_data6}}}|{{{col4_data_max|{{{col4_data1}}}}}}|comment={{#if:{{{col4_comment6|}}}|{{{col4_comment6}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col5_data6|}}}| {{!!}} {{Bar chart/bar|{{{col5_data6}}}|{{{col5_data_max|{{{col5_data1}}}}}}|comment={{#if:{{{col5_comment6|}}}|{{{col5_comment6}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col6_data6|}}}| {{!!}} {{Bar chart/bar|{{{col6_data6}}}|{{{col6_data_max|{{{col6_data1}}}}}}|comment={{#if:{{{col6_comment6|}}}|{{{col6_comment6}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col7_data6|}}}| {{!!}} {{Bar chart/bar|{{{col7_data6}}}|{{{col7_data_max|{{{col7_data1}}}}}}|comment={{#if:{{{col7_comment6|}}}|{{{col7_comment6}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col8_data6|}}}| {{!!}} {{Bar chart/bar|{{{col8_data6}}}|{{{col8_data_max|{{{col8_data1}}}}}}|comment={{#if:{{{col8_comment6|}}}|{{{col8_comment6}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col9_data6|}}}| {{!!}} {{Bar chart/bar|{{{col9_data6}}}|{{{col9_data_max|{{{col9_data1}}}}}}|comment={{#if:{{{col9_comment6|}}}|{{{col9_comment6}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} |- {{#if:{{{col1_data7|{{{data7|}}}}}}| ! scope="row" {{!}} {{{label7}}} {{!}} {{Bar chart/bar|{{{col1_data7|{{{data7}}}}}}|{{{col1_data_max|{{{data_max|{{{col1_data1|{{{data1}}}}}}}}}}}}|comment={{#if:{{{col1_comment7|{{{comment7|}}}}}}|{{{col1_comment7|{{{comment7}}}}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col2_data7|}}}| {{!!}} {{Bar chart/bar|{{{col2_data7}}}|{{{col2_data_max|{{{col2_data1}}}}}}|comment={{#if:{{{col2_comment7|}}}|{{{col2_comment7}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col3_data7|}}}| {{!!}} {{Bar chart/bar|{{{col3_data7}}}|{{{col3_data_max|{{{col3_data1}}}}}}|comment={{#if:{{{col3_comment7|}}}|{{{col3_comment7}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col4_data7|}}}| {{!!}} {{Bar chart/bar|{{{col4_data7}}}|{{{col4_data_max|{{{col4_data1}}}}}}|comment={{#if:{{{col4_comment7|}}}|{{{col4_comment7}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col5_data7|}}}| {{!!}} {{Bar chart/bar|{{{col5_data7}}}|{{{col5_data_max|{{{col5_data1}}}}}}|comment={{#if:{{{col5_comment7|}}}|{{{col5_comment7}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col6_data7|}}}| {{!!}} {{Bar chart/bar|{{{col6_data7}}}|{{{col6_data_max|{{{col6_data1}}}}}}|comment={{#if:{{{col6_comment7|}}}|{{{col6_comment7}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col7_data7|}}}| {{!!}} {{Bar chart/bar|{{{col7_data7}}}|{{{col7_data_max|{{{col7_data1}}}}}}|comment={{#if:{{{col7_comment7|}}}|{{{col7_comment7}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col8_data7|}}}| {{!!}} {{Bar chart/bar|{{{col8_data7}}}|{{{col8_data_max|{{{col8_data1}}}}}}|comment={{#if:{{{col8_comment7|}}}|{{{col8_comment7}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col9_data7|}}}| {{!!}} {{Bar chart/bar|{{{col9_data7}}}|{{{col9_data_max|{{{col9_data1}}}}}}|comment={{#if:{{{col9_comment7|}}}|{{{col9_comment7}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} |- {{#if:{{{col1_data8|{{{data8|}}}}}}| ! scope="row" {{!}} {{{label8}}} {{!}} {{Bar chart/bar|{{{col1_data8|{{{data8}}}}}}|{{{col1_data_max|{{{data_max|{{{col1_data1|{{{data1}}}}}}}}}}}}|comment={{#if:{{{col1_comment8|{{{comment8|}}}}}}|{{{col1_comment8|{{{comment8}}}}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col2_data8|}}}| {{!!}} {{Bar chart/bar|{{{col2_data8}}}|{{{col2_data_max|{{{col2_data1}}}}}}|comment={{#if:{{{col2_comment8|}}}|{{{col2_comment8}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col3_data8|}}}| {{!!}} {{Bar chart/bar|{{{col3_data8}}}|{{{col3_data_max|{{{col3_data1}}}}}}|comment={{#if:{{{col3_comment8|}}}|{{{col3_comment8}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col4_data8|}}}| {{!!}} {{Bar chart/bar|{{{col4_data8}}}|{{{col4_data_max|{{{col4_data1}}}}}}|comment={{#if:{{{col4_comment8|}}}|{{{col4_comment8}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col5_data8|}}}| {{!!}} {{Bar chart/bar|{{{col5_data8}}}|{{{col5_data_max|{{{col5_data1}}}}}}|comment={{#if:{{{col5_comment8|}}}|{{{col5_comment8}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col6_data8|}}}| {{!!}} {{Bar chart/bar|{{{col6_data8}}}|{{{col6_data_max|{{{col6_data1}}}}}}|comment={{#if:{{{col6_comment8|}}}|{{{col6_comment8}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col7_data8|}}}| {{!!}} {{Bar chart/bar|{{{col7_data8}}}|{{{col7_data_max|{{{col7_data1}}}}}}|comment={{#if:{{{col7_comment8|}}}|{{{col7_comment8}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col8_data8|}}}| {{!!}} {{Bar chart/bar|{{{col8_data8}}}|{{{col8_data_max|{{{col8_data1}}}}}}|comment={{#if:{{{col8_comment8|}}}|{{{col8_comment8}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col9_data8|}}}| {{!!}} {{Bar chart/bar|{{{col9_data8}}}|{{{col9_data_max|{{{col9_data1}}}}}}|comment={{#if:{{{col9_comment8|}}}|{{{col9_comment8}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} |- {{#if:{{{col1_data9|{{{data9|}}}}}}| ! scope="row" {{!}} {{{label9}}} {{!}} {{Bar chart/bar|{{{col1_data9|{{{data9}}}}}}|{{{col1_data_max|{{{data_max|{{{col1_data1|{{{data1}}}}}}}}}}}}|comment={{#if:{{{col1_comment9|{{{comment9|}}}}}}|{{{col1_comment9|{{{comment9}}}}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col2_data9|}}}| {{!!}} {{Bar chart/bar|{{{col2_data9}}}|{{{col2_data_max|{{{col2_data1}}}}}}|comment={{#if:{{{col2_comment9|}}}|{{{col2_comment9}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col3_data9|}}}| {{!!}} {{Bar chart/bar|{{{col3_data9}}}|{{{col3_data_max|{{{col3_data1}}}}}}|comment={{#if:{{{col3_comment9|}}}|{{{col3_comment9}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col4_data9|}}}| {{!!}} {{Bar chart/bar|{{{col4_data9}}}|{{{col4_data_max|{{{col4_data1}}}}}}|comment={{#if:{{{col4_comment9|}}}|{{{col4_comment9}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col5_data9|}}}| {{!!}} {{Bar chart/bar|{{{col5_data9}}}|{{{col5_data_max|{{{col5_data1}}}}}}|comment={{#if:{{{col5_comment9|}}}|{{{col5_comment9}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col6_data9|}}}| {{!!}} {{Bar chart/bar|{{{col6_data9}}}|{{{col6_data_max|{{{col6_data1}}}}}}|comment={{#if:{{{col6_comment9|}}}|{{{col6_comment9}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col7_data9|}}}| {{!!}} {{Bar chart/bar|{{{col7_data9}}}|{{{col7_data_max|{{{col7_data1}}}}}}|comment={{#if:{{{col7_comment9|}}}|{{{col7_comment9}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col8_data9|}}}| {{!!}} {{Bar chart/bar|{{{col8_data9}}}|{{{col8_data_max|{{{col8_data1}}}}}}|comment={{#if:{{{col8_comment9|}}}|{{{col8_comment9}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col9_data9|}}}| {{!!}} {{Bar chart/bar|{{{col9_data9}}}|{{{col9_data_max|{{{col9_data1}}}}}}|comment={{#if:{{{col9_comment9|}}}|{{{col9_comment9}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} |- {{#if:{{{col1_data10|{{{data10|}}}}}}| ! scope="row" {{!}} {{{label10}}} {{!}} {{Bar chart/bar|{{{col1_data10|{{{data10}}}}}}|{{{col1_data_max|{{{data_max|{{{col1_data1|{{{data1}}}}}}}}}}}}|comment={{#if:{{{col1_comment10|{{{comment10|}}}}}}|{{{col1_comment10|{{{comment10}}}}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col2_data10|}}}| {{!!}} {{Bar chart/bar|{{{col2_data10}}}|{{{col2_data_max|{{{col2_data1}}}}}}|comment={{#if:{{{col2_comment10|}}}|{{{col2_comment10}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col3_data10|}}}| {{!!}} {{Bar chart/bar|{{{col3_data10}}}|{{{col3_data_max|{{{col3_data1}}}}}}|comment={{#if:{{{col3_comment10|}}}|{{{col3_comment10}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col4_data10|}}}| {{!!}} {{Bar chart/bar|{{{col4_data10}}}|{{{col4_data_max|{{{col4_data1}}}}}}|comment={{#if:{{{col4_comment10|}}}|{{{col4_comment10}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col5_data10|}}}| {{!!}} {{Bar chart/bar|{{{col5_data10}}}|{{{col5_data_max|{{{col5_data1}}}}}}|comment={{#if:{{{col5_comment10|}}}|{{{col5_comment10}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col6_data10|}}}| {{!!}} {{Bar chart/bar|{{{col6_data10}}}|{{{col6_data_max|{{{col6_data1}}}}}}|comment={{#if:{{{col6_comment10|}}}|{{{col6_comment10}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col7_data10|}}}| {{!!}} {{Bar chart/bar|{{{col7_data10}}}|{{{col7_data_max|{{{col7_data1}}}}}}|comment={{#if:{{{col7_comment10|}}}|{{{col7_comment10}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col8_data10|}}}| {{!!}} {{Bar chart/bar|{{{col8_data10}}}|{{{col8_data_max|{{{col8_data1}}}}}}|comment={{#if:{{{col8_comment10|}}}|{{{col8_comment10}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col9_data10|}}}| {{!!}} {{Bar chart/bar|{{{col9_data10}}}|{{{col9_data_max|{{{col9_data1}}}}}}|comment={{#if:{{{col9_comment10|}}}|{{{col9_comment10}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} |- {{#if:{{{col1_data11|{{{data11|}}}}}}| ! scope="row" {{!}} {{{label11}}} {{!}} {{Bar chart/bar|{{{col1_data11|{{{data11}}}}}}|{{{col1_data_max|{{{data_max|{{{col1_data1|{{{data1}}}}}}}}}}}}|comment={{#if:{{{col1_comment11|{{{comment11|}}}}}}|{{{col1_comment11|{{{comment11}}}}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col2_data11|}}}| {{!!}} {{Bar chart/bar|{{{col2_data11}}}|{{{col2_data_max|{{{col2_data1}}}}}}|comment={{#if:{{{col2_comment11|}}}|{{{col2_comment11}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col3_data11|}}}| {{!!}} {{Bar chart/bar|{{{col3_data11}}}|{{{col3_data_max|{{{col3_data1}}}}}}|comment={{#if:{{{col3_comment11|}}}|{{{col3_comment11}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col4_data11|}}}| {{!!}} {{Bar chart/bar|{{{col4_data11}}}|{{{col4_data_max|{{{col4_data1}}}}}}|comment={{#if:{{{col4_comment11|}}}|{{{col4_comment11}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col5_data11|}}}| {{!!}} {{Bar chart/bar|{{{col5_data11}}}|{{{col5_data_max|{{{col5_data1}}}}}}|comment={{#if:{{{col5_comment11|}}}|{{{col5_comment11}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col6_data11|}}}| {{!!}} {{Bar chart/bar|{{{col6_data11}}}|{{{col6_data_max|{{{col6_data1}}}}}}|comment={{#if:{{{col6_comment11|}}}|{{{col6_comment11}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col7_data11|}}}| {{!!}} {{Bar chart/bar|{{{col7_data11}}}|{{{col7_data_max|{{{col7_data1}}}}}}|comment={{#if:{{{col7_comment11|}}}|{{{col7_comment11}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col8_data11|}}}| {{!!}} {{Bar chart/bar|{{{col8_data11}}}|{{{col8_data_max|{{{col8_data1}}}}}}|comment={{#if:{{{col8_comment11|}}}|{{{col8_comment11}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col9_data11|}}}| {{!!}} {{Bar chart/bar|{{{col9_data11}}}|{{{col9_data_max|{{{col9_data1}}}}}}|comment={{#if:{{{col9_comment11|}}}|{{{col9_comment11}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} |- {{#if:{{{col1_data12|{{{data12|}}}}}}| ! scope="row" {{!}} {{{label12}}} {{!}} {{Bar chart/bar|{{{col1_data12|{{{data12}}}}}}|{{{col1_data_max|{{{data_max|{{{col1_data1|{{{data1}}}}}}}}}}}}|comment={{#if:{{{col1_comment12|{{{comment12|}}}}}}|{{{col1_comment12|{{{comment12}}}}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col2_data12|}}}| {{!!}} {{Bar chart/bar|{{{col2_data12}}}|{{{col2_data_max|{{{col2_data1}}}}}}|comment={{#if:{{{col2_comment12|}}}|{{{col2_comment12}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col3_data12|}}}| {{!!}} {{Bar chart/bar|{{{col3_data12}}}|{{{col3_data_max|{{{col3_data1}}}}}}|comment={{#if:{{{col3_comment12|}}}|{{{col3_comment12}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col4_data12|}}}| {{!!}} {{Bar chart/bar|{{{col4_data12}}}|{{{col4_data_max|{{{col4_data1}}}}}}|comment={{#if:{{{col4_comment12|}}}|{{{col4_comment12}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col5_data12|}}}| {{!!}} {{Bar chart/bar|{{{col5_data12}}}|{{{col5_data_max|{{{col5_data1}}}}}}|comment={{#if:{{{col5_comment12|}}}|{{{col5_comment12}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col6_data12|}}}| {{!!}} {{Bar chart/bar|{{{col6_data12}}}|{{{col6_data_max|{{{col6_data1}}}}}}|comment={{#if:{{{col6_comment12|}}}|{{{col6_comment12}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col7_data12|}}}| {{!!}} {{Bar chart/bar|{{{col7_data12}}}|{{{col7_data_max|{{{col7_data1}}}}}}|comment={{#if:{{{col7_comment12|}}}|{{{col7_comment12}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col8_data12|}}}| {{!!}} {{Bar chart/bar|{{{col8_data12}}}|{{{col8_data_max|{{{col8_data1}}}}}}|comment={{#if:{{{col8_comment12|}}}|{{{col8_comment12}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col9_data12|}}}| {{!!}} {{Bar chart/bar|{{{col9_data12}}}|{{{col9_data_max|{{{col9_data1}}}}}}|comment={{#if:{{{col9_comment12|}}}|{{{col9_comment12}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} |- {{#if:{{{col1_data13|{{{data13|}}}}}}| ! scope="row" {{!}} {{{label13}}} {{!}} {{Bar chart/bar|{{{col1_data13|{{{data13}}}}}}|{{{col1_data_max|{{{data_max|{{{col1_data1|{{{data1}}}}}}}}}}}}|comment={{#if:{{{col1_comment13|{{{comment13|}}}}}}|{{{col1_comment13|{{{comment13}}}}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col2_data13|}}}| {{!!}} {{Bar chart/bar|{{{col2_data13}}}|{{{col2_data_max|{{{col2_data1}}}}}}|comment={{#if:{{{col2_comment13|}}}|{{{col2_comment13}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col3_data13|}}}| {{!!}} {{Bar chart/bar|{{{col3_data13}}}|{{{col3_data_max|{{{col3_data1}}}}}}|comment={{#if:{{{col3_comment13|}}}|{{{col3_comment13}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col4_data13|}}}| {{!!}} {{Bar chart/bar|{{{col4_data13}}}|{{{col4_data_max|{{{col4_data1}}}}}}|comment={{#if:{{{col4_comment13|}}}|{{{col4_comment13}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col5_data13|}}}| {{!!}} {{Bar chart/bar|{{{col5_data13}}}|{{{col5_data_max|{{{col5_data1}}}}}}|comment={{#if:{{{col5_comment13|}}}|{{{col5_comment13}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col6_data13|}}}| {{!!}} {{Bar chart/bar|{{{col6_data13}}}|{{{col6_data_max|{{{col6_data1}}}}}}|comment={{#if:{{{col6_comment13|}}}|{{{col6_comment13}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col7_data13|}}}| {{!!}} {{Bar chart/bar|{{{col7_data13}}}|{{{col7_data_max|{{{col7_data1}}}}}}|comment={{#if:{{{col7_comment13|}}}|{{{col7_comment13}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col8_data13|}}}| {{!!}} {{Bar chart/bar|{{{col8_data13}}}|{{{col8_data_max|{{{col8_data1}}}}}}|comment={{#if:{{{col8_comment13|}}}|{{{col8_comment13}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col9_data13|}}}| {{!!}} {{Bar chart/bar|{{{col9_data13}}}|{{{col9_data_max|{{{col9_data1}}}}}}|comment={{#if:{{{col9_comment13|}}}|{{{col9_comment13}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} |- {{#if:{{{col1_data14|{{{data14|}}}}}}| ! scope="row" {{!}} {{{label14}}} {{!}} {{Bar chart/bar|{{{col1_data14|{{{data14}}}}}}|{{{col1_data_max|{{{data_max|{{{col1_data1|{{{data1}}}}}}}}}}}}|comment={{#if:{{{col1_comment14|{{{comment14|}}}}}}|{{{col1_comment14|{{{comment14}}}}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col2_data14|}}}| {{!!}} {{Bar chart/bar|{{{col2_data14}}}|{{{col2_data_max|{{{col2_data1}}}}}}|comment={{#if:{{{col2_comment14|}}}|{{{col2_comment14}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col3_data14|}}}| {{!!}} {{Bar chart/bar|{{{col3_data14}}}|{{{col3_data_max|{{{col3_data1}}}}}}|comment={{#if:{{{col3_comment14|}}}|{{{col3_comment14}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col4_data14|}}}| {{!!}} {{Bar chart/bar|{{{col4_data14}}}|{{{col4_data_max|{{{col4_data1}}}}}}|comment={{#if:{{{col4_comment14|}}}|{{{col4_comment14}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col5_data14|}}}| {{!!}} {{Bar chart/bar|{{{col5_data14}}}|{{{col5_data_max|{{{col5_data1}}}}}}|comment={{#if:{{{col5_comment14|}}}|{{{col5_comment14}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col6_data14|}}}| {{!!}} {{Bar chart/bar|{{{col6_data14}}}|{{{col6_data_max|{{{col6_data1}}}}}}|comment={{#if:{{{col6_comment14|}}}|{{{col6_comment14}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col7_data14|}}}| {{!!}} {{Bar chart/bar|{{{col7_data14}}}|{{{col7_data_max|{{{col7_data1}}}}}}|comment={{#if:{{{col7_comment14|}}}|{{{col7_comment14}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col8_data14|}}}| {{!!}} {{Bar chart/bar|{{{col8_data14}}}|{{{col8_data_max|{{{col8_data1}}}}}}|comment={{#if:{{{col8_comment14|}}}|{{{col8_comment14}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col9_data14|}}}| {{!!}} {{Bar chart/bar|{{{col9_data14}}}|{{{col9_data_max|{{{col9_data1}}}}}}|comment={{#if:{{{col9_comment14|}}}|{{{col9_comment14}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} |- {{#if:{{{col1_data15|{{{data15|}}}}}}| ! scope="row" {{!}} {{{label15}}} {{!}} {{Bar chart/bar|{{{col1_data15|{{{data15}}}}}}|{{{col1_data_max|{{{data_max|{{{col1_data1|{{{data1}}}}}}}}}}}}|comment={{#if:{{{col1_comment15|{{{comment15|}}}}}}|{{{col1_comment15|{{{comment15}}}}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col2_data15|}}}| {{!!}} {{Bar chart/bar|{{{col2_data15}}}|{{{col2_data_max|{{{col2_data1}}}}}}|comment={{#if:{{{col2_comment15|}}}|{{{col2_comment15}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col3_data15|}}}| {{!!}} {{Bar chart/bar|{{{col3_data15}}}|{{{col3_data_max|{{{col3_data1}}}}}}|comment={{#if:{{{col3_comment15|}}}|{{{col3_comment15}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col4_data15|}}}| {{!!}} {{Bar chart/bar|{{{col4_data15}}}|{{{col4_data_max|{{{col4_data1}}}}}}|comment={{#if:{{{col4_comment15|}}}|{{{col4_comment15}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col5_data15|}}}| {{!!}} {{Bar chart/bar|{{{col5_data15}}}|{{{col5_data_max|{{{col5_data1}}}}}}|comment={{#if:{{{col5_comment15|}}}|{{{col5_comment15}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col6_data15|}}}| {{!!}} {{Bar chart/bar|{{{col6_data15}}}|{{{col6_data_max|{{{col6_data1}}}}}}|comment={{#if:{{{col6_comment15|}}}|{{{col6_comment15}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col7_data15|}}}| {{!!}} {{Bar chart/bar|{{{col7_data15}}}|{{{col7_data_max|{{{col7_data1}}}}}}|comment={{#if:{{{col7_comment15|}}}|{{{col7_comment15}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col8_data15|}}}| {{!!}} {{Bar chart/bar|{{{col8_data15}}}|{{{col8_data_max|{{{col8_data1}}}}}}|comment={{#if:{{{col8_comment15|}}}|{{{col8_comment15}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col9_data15|}}}| {{!!}} {{Bar chart/bar|{{{col9_data15}}}|{{{col9_data_max|{{{col9_data1}}}}}}|comment={{#if:{{{col9_comment15|}}}|{{{col9_comment15}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} |- {{#if:{{{col1_data16|{{{data16|}}}}}}| ! scope="row" {{!}} {{{label16}}} {{!}} {{Bar chart/bar|{{{col1_data16|{{{data16}}}}}}|{{{col1_data_max|{{{data_max|{{{col1_data1|{{{data1}}}}}}}}}}}}|comment={{#if:{{{col1_comment16|{{{comment16|}}}}}}|{{{col1_comment16|{{{comment16}}}}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col2_data16|}}}| {{!!}} {{Bar chart/bar|{{{col2_data16}}}|{{{col2_data_max|{{{col2_data1}}}}}}|comment={{#if:{{{col2_comment16|}}}|{{{col2_comment16}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col3_data16|}}}| {{!!}} {{Bar chart/bar|{{{col3_data16}}}|{{{col3_data_max|{{{col3_data1}}}}}}|comment={{#if:{{{col3_comment16|}}}|{{{col3_comment16}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col4_data16|}}}| {{!!}} {{Bar chart/bar|{{{col4_data16}}}|{{{col4_data_max|{{{col4_data1}}}}}}|comment={{#if:{{{col4_comment16|}}}|{{{col4_comment16}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col5_data16|}}}| {{!!}} {{Bar chart/bar|{{{col5_data16}}}|{{{col5_data_max|{{{col5_data1}}}}}}|comment={{#if:{{{col5_comment16|}}}|{{{col5_comment16}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col6_data16|}}}| {{!!}} {{Bar chart/bar|{{{col6_data16}}}|{{{col6_data_max|{{{col6_data1}}}}}}|comment={{#if:{{{col6_comment16|}}}|{{{col6_comment16}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col7_data16|}}}| {{!!}} {{Bar chart/bar|{{{col7_data16}}}|{{{col7_data_max|{{{col7_data1}}}}}}|comment={{#if:{{{col7_comment16|}}}|{{{col7_comment16}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col8_data16|}}}| {{!!}} {{Bar chart/bar|{{{col8_data16}}}|{{{col8_data_max|{{{col8_data1}}}}}}|comment={{#if:{{{col8_comment16|}}}|{{{col8_comment16}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col9_data16|}}}| {{!!}} {{Bar chart/bar|{{{col9_data16}}}|{{{col9_data_max|{{{col9_data1}}}}}}|comment={{#if:{{{col9_comment16|}}}|{{{col9_comment16}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} |- {{#if:{{{col1_data17|{{{data17|}}}}}}| ! scope="row" {{!}} {{{label17}}} {{!}} {{Bar chart/bar|{{{col1_data17|{{{data17}}}}}}|{{{col1_data_max|{{{data_max|{{{col1_data1|{{{data1}}}}}}}}}}}}|comment={{#if:{{{col1_comment17|{{{comment17|}}}}}}|{{{col1_comment17|{{{comment17}}}}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col2_data17|}}}| {{!!}} {{Bar chart/bar|{{{col2_data17}}}|{{{col2_data_max|{{{col2_data1}}}}}}|comment={{#if:{{{col2_comment17|}}}|{{{col2_comment17}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col3_data17|}}}| {{!!}} {{Bar chart/bar|{{{col3_data17}}}|{{{col3_data_max|{{{col3_data1}}}}}}|comment={{#if:{{{col3_comment17|}}}|{{{col3_comment17}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col4_data17|}}}| {{!!}} {{Bar chart/bar|{{{col4_data17}}}|{{{col4_data_max|{{{col4_data1}}}}}}|comment={{#if:{{{col4_comment17|}}}|{{{col4_comment17}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col5_data17|}}}| {{!!}} {{Bar chart/bar|{{{col5_data17}}}|{{{col5_data_max|{{{col5_data1}}}}}}|comment={{#if:{{{col5_comment17|}}}|{{{col5_comment17}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col6_data17|}}}| {{!!}} {{Bar chart/bar|{{{col6_data17}}}|{{{col6_data_max|{{{col6_data1}}}}}}|comment={{#if:{{{col6_comment17|}}}|{{{col6_comment17}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col7_data17|}}}| {{!!}} {{Bar chart/bar|{{{col7_data17}}}|{{{col7_data_max|{{{col7_data1}}}}}}|comment={{#if:{{{col7_comment17|}}}|{{{col7_comment17}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col8_data17|}}}| {{!!}} {{Bar chart/bar|{{{col8_data17}}}|{{{col8_data_max|{{{col8_data1}}}}}}|comment={{#if:{{{col8_comment17|}}}|{{{col8_comment17}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col9_data17|}}}| {{!!}} {{Bar chart/bar|{{{col9_data17}}}|{{{col9_data_max|{{{col9_data1}}}}}}|comment={{#if:{{{col9_comment17|}}}|{{{col9_comment17}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} |- {{#if:{{{col1_data18|{{{data18|}}}}}}| ! scope="row" {{!}} {{{label18}}} {{!}} {{Bar chart/bar|{{{col1_data18|{{{data18}}}}}}|{{{col1_data_max|{{{data_max|{{{col1_data1|{{{data1}}}}}}}}}}}}|comment={{#if:{{{col1_comment18|{{{comment18|}}}}}}|{{{col1_comment18|{{{comment18}}}}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col2_data18|}}}| {{!!}} {{Bar chart/bar|{{{col2_data18}}}|{{{col2_data_max|{{{col2_data1}}}}}}|comment={{#if:{{{col2_comment18|}}}|{{{col2_comment18}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col3_data18|}}}| {{!!}} {{Bar chart/bar|{{{col3_data18}}}|{{{col3_data_max|{{{col3_data1}}}}}}|comment={{#if:{{{col3_comment18|}}}|{{{col3_comment18}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col4_data18|}}}| {{!!}} {{Bar chart/bar|{{{col4_data18}}}|{{{col4_data_max|{{{col4_data1}}}}}}|comment={{#if:{{{col4_comment18|}}}|{{{col4_comment18}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col5_data18|}}}| {{!!}} {{Bar chart/bar|{{{col5_data18}}}|{{{col5_data_max|{{{col5_data1}}}}}}|comment={{#if:{{{col5_comment18|}}}|{{{col5_comment18}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col6_data18|}}}| {{!!}} {{Bar chart/bar|{{{col6_data18}}}|{{{col6_data_max|{{{col6_data1}}}}}}|comment={{#if:{{{col6_comment18|}}}|{{{col6_comment18}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col7_data18|}}}| {{!!}} {{Bar chart/bar|{{{col7_data18}}}|{{{col7_data_max|{{{col7_data1}}}}}}|comment={{#if:{{{col7_comment18|}}}|{{{col7_comment18}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col8_data18|}}}| {{!!}} {{Bar chart/bar|{{{col8_data18}}}|{{{col8_data_max|{{{col8_data1}}}}}}|comment={{#if:{{{col8_comment18|}}}|{{{col8_comment18}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col9_data18|}}}| {{!!}} {{Bar chart/bar|{{{col9_data18}}}|{{{col9_data_max|{{{col9_data1}}}}}}|comment={{#if:{{{col9_comment18|}}}|{{{col9_comment18}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} |- {{#if:{{{col1_data19|{{{data19|}}}}}}| ! scope="row" {{!}} {{{label19}}} {{!}} {{Bar chart/bar|{{{col1_data19|{{{data19}}}}}}|{{{col1_data_max|{{{data_max|{{{col1_data1|{{{data1}}}}}}}}}}}}|comment={{#if:{{{col1_comment19|{{{comment19|}}}}}}|{{{col1_comment19|{{{comment19}}}}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col2_data19|}}}| {{!!}} {{Bar chart/bar|{{{col2_data19}}}|{{{col2_data_max|{{{col2_data1}}}}}}|comment={{#if:{{{col2_comment19|}}}|{{{col2_comment19}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col3_data19|}}}| {{!!}} {{Bar chart/bar|{{{col3_data19}}}|{{{col3_data_max|{{{col3_data1}}}}}}|comment={{#if:{{{col3_comment19|}}}|{{{col3_comment19}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col4_data19|}}}| {{!!}} {{Bar chart/bar|{{{col4_data19}}}|{{{col4_data_max|{{{col4_data1}}}}}}|comment={{#if:{{{col4_comment19|}}}|{{{col4_comment19}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col5_data19|}}}| {{!!}} {{Bar chart/bar|{{{col5_data19}}}|{{{col5_data_max|{{{col5_data1}}}}}}|comment={{#if:{{{col5_comment19|}}}|{{{col5_comment19}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col6_data19|}}}| {{!!}} {{Bar chart/bar|{{{col6_data19}}}|{{{col6_data_max|{{{col6_data1}}}}}}|comment={{#if:{{{col6_comment19|}}}|{{{col6_comment19}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col7_data19|}}}| {{!!}} {{Bar chart/bar|{{{col7_data19}}}|{{{col7_data_max|{{{col7_data1}}}}}}|comment={{#if:{{{col7_comment19|}}}|{{{col7_comment19}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col8_data19|}}}| {{!!}} {{Bar chart/bar|{{{col8_data19}}}|{{{col8_data_max|{{{col8_data1}}}}}}|comment={{#if:{{{col8_comment19|}}}|{{{col8_comment19}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col9_data19|}}}| {{!!}} {{Bar chart/bar|{{{col9_data19}}}|{{{col9_data_max|{{{col9_data1}}}}}}|comment={{#if:{{{col9_comment19|}}}|{{{col9_comment19}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} |- {{#if:{{{col1_data20|{{{data20|}}}}}}| ! scope="row" {{!}} {{{label20}}} {{!}} {{Bar chart/bar|{{{col1_data20|{{{data20}}}}}}|{{{col1_data_max|{{{data_max|{{{col1_data1|{{{data1}}}}}}}}}}}}|comment={{#if:{{{col1_comment20|{{{comment20|}}}}}}|{{{col1_comment20|{{{comment20}}}}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col2_data20|}}}| {{!!}} {{Bar chart/bar|{{{col2_data20}}}|{{{col2_data_max|{{{col2_data1}}}}}}|comment={{#if:{{{col2_comment20|}}}|{{{col2_comment20}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col3_data20|}}}| {{!!}} {{Bar chart/bar|{{{col3_data20}}}|{{{col3_data_max|{{{col3_data1}}}}}}|comment={{#if:{{{col3_comment20|}}}|{{{col3_comment20}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col4_data20|}}}| {{!!}} {{Bar chart/bar|{{{col4_data20}}}|{{{col4_data_max|{{{col4_data1}}}}}}|comment={{#if:{{{col4_comment20|}}}|{{{col4_comment20}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col5_data20|}}}| {{!!}} {{Bar chart/bar|{{{col5_data20}}}|{{{col5_data_max|{{{col5_data1}}}}}}|comment={{#if:{{{col5_comment20|}}}|{{{col5_comment20}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col6_data20|}}}| {{!!}} {{Bar chart/bar|{{{col6_data20}}}|{{{col6_data_max|{{{col6_data1}}}}}}|comment={{#if:{{{col6_comment20|}}}|{{{col6_comment20}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col7_data20|}}}| {{!!}} {{Bar chart/bar|{{{col7_data20}}}|{{{col7_data_max|{{{col7_data1}}}}}}|comment={{#if:{{{col7_comment20|}}}|{{{col7_comment20}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col8_data20|}}}| {{!!}} {{Bar chart/bar|{{{col8_data20}}}|{{{col8_data_max|{{{col8_data1}}}}}}|comment={{#if:{{{col8_comment20|}}}|{{{col8_comment20}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col9_data20|}}}| {{!!}} {{Bar chart/bar|{{{col9_data20}}}|{{{col9_data_max|{{{col9_data1}}}}}}|comment={{#if:{{{col9_comment20|}}}|{{{col9_comment20}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} |- {{#if:{{{col1_data21|{{{data21|}}}}}}| ! scope="row" {{!}} {{{label21}}} {{!}} {{Bar chart/bar|{{{col1_data21|{{{data21}}}}}}|{{{col1_data_max|{{{data_max|{{{col1_data1|{{{data1}}}}}}}}}}}}|comment={{#if:{{{col1_comment21|{{{comment21|}}}}}}|{{{col1_comment21|{{{comment21}}}}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col2_data21|}}}| {{!!}} {{Bar chart/bar|{{{col2_data21}}}|{{{col2_data_max|{{{col2_data1}}}}}}|comment={{#if:{{{col2_comment21|}}}|{{{col2_comment21}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col3_data21|}}}| {{!!}} {{Bar chart/bar|{{{col3_data21}}}|{{{col3_data_max|{{{col3_data1}}}}}}|comment={{#if:{{{col3_comment21|}}}|{{{col3_comment21}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col4_data21|}}}| {{!!}} {{Bar chart/bar|{{{col4_data21}}}|{{{col4_data_max|{{{col4_data1}}}}}}|comment={{#if:{{{col4_comment21|}}}|{{{col4_comment21}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col5_data21|}}}| {{!!}} {{Bar chart/bar|{{{col5_data21}}}|{{{col5_data_max|{{{col5_data1}}}}}}|comment={{#if:{{{col5_comment21|}}}|{{{col5_comment21}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col6_data21|}}}| {{!!}} {{Bar chart/bar|{{{col6_data21}}}|{{{col6_data_max|{{{col6_data1}}}}}}|comment={{#if:{{{col6_comment21|}}}|{{{col6_comment21}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col7_data21|}}}| {{!!}} {{Bar chart/bar|{{{col7_data21}}}|{{{col7_data_max|{{{col7_data1}}}}}}|comment={{#if:{{{col7_comment21|}}}|{{{col7_comment21}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col8_data21|}}}| {{!!}} {{Bar chart/bar|{{{col8_data21}}}|{{{col8_data_max|{{{col8_data1}}}}}}|comment={{#if:{{{col8_comment21|}}}|{{{col8_comment21}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col9_data21|}}}| {{!!}} {{Bar chart/bar|{{{col9_data21}}}|{{{col9_data_max|{{{col9_data1}}}}}}|comment={{#if:{{{col9_comment21|}}}|{{{col9_comment21}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} |- {{#if:{{{col1_data22|{{{data22|}}}}}}| ! scope="row" {{!}} {{{label22}}} {{!}} {{Bar chart/bar|{{{col1_data22|{{{data22}}}}}}|{{{col1_data_max|{{{data_max|{{{col1_data1|{{{data1}}}}}}}}}}}}|comment={{#if:{{{col1_comment22|{{{comment22|}}}}}}|{{{col1_comment22|{{{comment22}}}}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col2_data22|}}}| {{!!}} {{Bar chart/bar|{{{col2_data22}}}|{{{col2_data_max|{{{col2_data1}}}}}}|comment={{#if:{{{col2_comment22|}}}|{{{col2_comment22}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col3_data22|}}}| {{!!}} {{Bar chart/bar|{{{col3_data22}}}|{{{col3_data_max|{{{col3_data1}}}}}}|comment={{#if:{{{col3_comment22|}}}|{{{col3_comment22}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col4_data22|}}}| {{!!}} {{Bar chart/bar|{{{col4_data22}}}|{{{col4_data_max|{{{col4_data1}}}}}}|comment={{#if:{{{col4_comment22|}}}|{{{col4_comment22}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col5_data22|}}}| {{!!}} {{Bar chart/bar|{{{col5_data22}}}|{{{col5_data_max|{{{col5_data1}}}}}}|comment={{#if:{{{col5_comment22|}}}|{{{col5_comment22}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col6_data22|}}}| {{!!}} {{Bar chart/bar|{{{col6_data22}}}|{{{col6_data_max|{{{col6_data1}}}}}}|comment={{#if:{{{col6_comment22|}}}|{{{col6_comment22}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col7_data22|}}}| {{!!}} {{Bar chart/bar|{{{col7_data22}}}|{{{col7_data_max|{{{col7_data1}}}}}}|comment={{#if:{{{col7_comment22|}}}|{{{col7_comment22}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col8_data22|}}}| {{!!}} {{Bar chart/bar|{{{col8_data22}}}|{{{col8_data_max|{{{col8_data1}}}}}}|comment={{#if:{{{col8_comment22|}}}|{{{col8_comment22}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col9_data22|}}}| {{!!}} {{Bar chart/bar|{{{col9_data22}}}|{{{col9_data_max|{{{col9_data1}}}}}}|comment={{#if:{{{col9_comment22|}}}|{{{col9_comment22}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} |- {{#if:{{{col1_data23|{{{data23|}}}}}}| ! scope="row" {{!}} {{{label23}}} {{!}} {{Bar chart/bar|{{{col1_data23|{{{data23}}}}}}|{{{col1_data_max|{{{data_max|{{{col1_data1|{{{data1}}}}}}}}}}}}|comment={{#if:{{{col1_comment23|{{{comment23|}}}}}}|{{{col1_comment23|{{{comment23}}}}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col2_data23|}}}| {{!!}} {{Bar chart/bar|{{{col2_data23}}}|{{{col2_data_max|{{{col2_data1}}}}}}|comment={{#if:{{{col2_comment23|}}}|{{{col2_comment23}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col3_data23|}}}| {{!!}} {{Bar chart/bar|{{{col3_data23}}}|{{{col3_data_max|{{{col3_data1}}}}}}|comment={{#if:{{{col3_comment23|}}}|{{{col3_comment23}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col4_data23|}}}| {{!!}} {{Bar chart/bar|{{{col4_data23}}}|{{{col4_data_max|{{{col4_data1}}}}}}|comment={{#if:{{{col4_comment23|}}}|{{{col4_comment23}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col5_data23|}}}| {{!!}} {{Bar chart/bar|{{{col5_data23}}}|{{{col5_data_max|{{{col5_data1}}}}}}|comment={{#if:{{{col5_comment23|}}}|{{{col5_comment23}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col6_data23|}}}| {{!!}} {{Bar chart/bar|{{{col6_data23}}}|{{{col6_data_max|{{{col6_data1}}}}}}|comment={{#if:{{{col6_comment23|}}}|{{{col6_comment23}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col7_data23|}}}| {{!!}} {{Bar chart/bar|{{{col7_data23}}}|{{{col7_data_max|{{{col7_data1}}}}}}|comment={{#if:{{{col7_comment23|}}}|{{{col7_comment23}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col8_data23|}}}| {{!!}} {{Bar chart/bar|{{{col8_data23}}}|{{{col8_data_max|{{{col8_data1}}}}}}|comment={{#if:{{{col8_comment23|}}}|{{{col8_comment23}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col9_data23|}}}| {{!!}} {{Bar chart/bar|{{{col9_data23}}}|{{{col9_data_max|{{{col9_data1}}}}}}|comment={{#if:{{{col9_comment23|}}}|{{{col9_comment23}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} |- {{#if:{{{col1_data24|{{{data24|}}}}}}| ! scope="row" {{!}} {{{label24}}} {{!}} {{Bar chart/bar|{{{col1_data24|{{{data24}}}}}}|{{{col1_data_max|{{{data_max|{{{col1_data1|{{{data1}}}}}}}}}}}}|comment={{#if:{{{col1_comment24|{{{comment24|}}}}}}|{{{col1_comment24|{{{comment24}}}}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col2_data24|}}}| {{!!}} {{Bar chart/bar|{{{col2_data24}}}|{{{col2_data_max|{{{col2_data1}}}}}}|comment={{#if:{{{col2_comment24|}}}|{{{col2_comment24}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col3_data24|}}}| {{!!}} {{Bar chart/bar|{{{col3_data24}}}|{{{col3_data_max|{{{col3_data1}}}}}}|comment={{#if:{{{col3_comment24|}}}|{{{col3_comment24}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col4_data24|}}}| {{!!}} {{Bar chart/bar|{{{col4_data24}}}|{{{col4_data_max|{{{col4_data1}}}}}}|comment={{#if:{{{col4_comment24|}}}|{{{col4_comment24}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col5_data24|}}}| {{!!}} {{Bar chart/bar|{{{col5_data24}}}|{{{col5_data_max|{{{col5_data1}}}}}}|comment={{#if:{{{col5_comment24|}}}|{{{col5_comment24}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col6_data24|}}}| {{!!}} {{Bar chart/bar|{{{col6_data24}}}|{{{col6_data_max|{{{col6_data1}}}}}}|comment={{#if:{{{col6_comment24|}}}|{{{col6_comment24}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col7_data24|}}}| {{!!}} {{Bar chart/bar|{{{col7_data24}}}|{{{col7_data_max|{{{col7_data1}}}}}}|comment={{#if:{{{col7_comment24|}}}|{{{col7_comment24}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col8_data24|}}}| {{!!}} {{Bar chart/bar|{{{col8_data24}}}|{{{col8_data_max|{{{col8_data1}}}}}}|comment={{#if:{{{col8_comment24|}}}|{{{col8_comment24}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col9_data24|}}}| {{!!}} {{Bar chart/bar|{{{col9_data24}}}|{{{col9_data_max|{{{col9_data1}}}}}}|comment={{#if:{{{col9_comment24|}}}|{{{col9_comment24}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} |- {{#if:{{{col1_data25|{{{data25|}}}}}}| ! scope="row" {{!}} {{{label25}}} {{!}} {{Bar chart/bar|{{{col1_data25|{{{data25}}}}}}|{{{col1_data_max|{{{data_max|{{{col1_data1|{{{data1}}}}}}}}}}}}|comment={{#if:{{{col1_comment25|{{{comment25|}}}}}}|{{{col1_comment25|{{{comment25}}}}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col2_data25|}}}| {{!!}} {{Bar chart/bar|{{{col2_data25}}}|{{{col2_data_max|{{{col2_data1}}}}}}|comment={{#if:{{{col2_comment25|}}}|{{{col2_comment25}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col3_data25|}}}| {{!!}} {{Bar chart/bar|{{{col3_data25}}}|{{{col3_data_max|{{{col3_data1}}}}}}|comment={{#if:{{{col3_comment25|}}}|{{{col3_comment25}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col4_data25|}}}| {{!!}} {{Bar chart/bar|{{{col4_data25}}}|{{{col4_data_max|{{{col4_data1}}}}}}|comment={{#if:{{{col4_comment25|}}}|{{{col4_comment25}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col5_data25|}}}| {{!!}} {{Bar chart/bar|{{{col5_data25}}}|{{{col5_data_max|{{{col5_data1}}}}}}|comment={{#if:{{{col5_comment25|}}}|{{{col5_comment25}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col6_data25|}}}| {{!!}} {{Bar chart/bar|{{{col6_data25}}}|{{{col6_data_max|{{{col6_data1}}}}}}|comment={{#if:{{{col6_comment25|}}}|{{{col6_comment25}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col7_data25|}}}| {{!!}} {{Bar chart/bar|{{{col7_data25}}}|{{{col7_data_max|{{{col7_data1}}}}}}|comment={{#if:{{{col7_comment25|}}}|{{{col7_comment25}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col8_data25|}}}| {{!!}} {{Bar chart/bar|{{{col8_data25}}}|{{{col8_data_max|{{{col8_data1}}}}}}|comment={{#if:{{{col8_comment25|}}}|{{{col8_comment25}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col9_data25|}}}| {{!!}} {{Bar chart/bar|{{{col9_data25}}}|{{{col9_data_max|{{{col9_data1}}}}}}|comment={{#if:{{{col9_comment25|}}}|{{{col9_comment25}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} |- {{#if:{{{col1_data26|{{{data26|}}}}}}| ! scope="row" {{!}} {{{label26}}} {{!}} {{Bar chart/bar|{{{col1_data26|{{{data26}}}}}}|{{{col1_data_max|{{{data_max|{{{col1_data1|{{{data1}}}}}}}}}}}}|comment={{#if:{{{col1_comment26|{{{comment26|}}}}}}|{{{col1_comment26|{{{comment26}}}}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col2_data26|}}}| {{!!}} {{Bar chart/bar|{{{col2_data26}}}|{{{col2_data_max|{{{col2_data1}}}}}}|comment={{#if:{{{col2_comment26|}}}|{{{col2_comment26}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col3_data26|}}}| {{!!}} {{Bar chart/bar|{{{col3_data26}}}|{{{col3_data_max|{{{col3_data1}}}}}}|comment={{#if:{{{col3_comment26|}}}|{{{col3_comment26}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col4_data26|}}}| {{!!}} {{Bar chart/bar|{{{col4_data26}}}|{{{col4_data_max|{{{col4_data1}}}}}}|comment={{#if:{{{col4_comment26|}}}|{{{col4_comment26}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col5_data26|}}}| {{!!}} {{Bar chart/bar|{{{col5_data26}}}|{{{col5_data_max|{{{col5_data1}}}}}}|comment={{#if:{{{col5_comment26|}}}|{{{col5_comment26}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col6_data26|}}}| {{!!}} {{Bar chart/bar|{{{col6_data26}}}|{{{col6_data_max|{{{col6_data1}}}}}}|comment={{#if:{{{col6_comment26|}}}|{{{col6_comment26}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col7_data26|}}}| {{!!}} {{Bar chart/bar|{{{col7_data26}}}|{{{col7_data_max|{{{col7_data1}}}}}}|comment={{#if:{{{col7_comment26|}}}|{{{col7_comment26}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col8_data26|}}}| {{!!}} {{Bar chart/bar|{{{col8_data26}}}|{{{col8_data_max|{{{col8_data1}}}}}}|comment={{#if:{{{col8_comment26|}}}|{{{col8_comment26}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col9_data26|}}}| {{!!}} {{Bar chart/bar|{{{col9_data26}}}|{{{col9_data_max|{{{col9_data1}}}}}}|comment={{#if:{{{col9_comment26|}}}|{{{col9_comment26}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} |- {{#if:{{{col1_data27|{{{data27|}}}}}}| ! scope="row" {{!}} {{{label27}}} {{!}} {{Bar chart/bar|{{{col1_data27|{{{data27}}}}}}|{{{col1_data_max|{{{data_max|{{{col1_data1|{{{data1}}}}}}}}}}}}|comment={{#if:{{{col1_comment27|{{{comment27|}}}}}}|{{{col1_comment27|{{{comment27}}}}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col2_data27|}}}| {{!!}} {{Bar chart/bar|{{{col2_data27}}}|{{{col2_data_max|{{{col2_data1}}}}}}|comment={{#if:{{{col2_comment27|}}}|{{{col2_comment27}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col3_data27|}}}| {{!!}} {{Bar chart/bar|{{{col3_data27}}}|{{{col3_data_max|{{{col3_data1}}}}}}|comment={{#if:{{{col3_comment27|}}}|{{{col3_comment27}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col4_data27|}}}| {{!!}} {{Bar chart/bar|{{{col4_data27}}}|{{{col4_data_max|{{{col4_data1}}}}}}|comment={{#if:{{{col4_comment27|}}}|{{{col4_comment27}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col5_data27|}}}| {{!!}} {{Bar chart/bar|{{{col5_data27}}}|{{{col5_data_max|{{{col5_data1}}}}}}|comment={{#if:{{{col5_comment27|}}}|{{{col5_comment27}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col6_data27|}}}| {{!!}} {{Bar chart/bar|{{{col6_data27}}}|{{{col6_data_max|{{{col6_data1}}}}}}|comment={{#if:{{{col6_comment27|}}}|{{{col6_comment27}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col7_data27|}}}| {{!!}} {{Bar chart/bar|{{{col7_data27}}}|{{{col7_data_max|{{{col7_data1}}}}}}|comment={{#if:{{{col7_comment27|}}}|{{{col7_comment27}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col8_data27|}}}| {{!!}} {{Bar chart/bar|{{{col8_data27}}}|{{{col8_data_max|{{{col8_data1}}}}}}|comment={{#if:{{{col8_comment27|}}}|{{{col8_comment27}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col9_data27|}}}| {{!!}} {{Bar chart/bar|{{{col9_data27}}}|{{{col9_data_max|{{{col9_data1}}}}}}|comment={{#if:{{{col9_comment27|}}}|{{{col9_comment27}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} |- {{#if:{{{col1_data28|{{{data28|}}}}}}| ! scope="row" {{!}} {{{label28}}} {{!}} {{Bar chart/bar|{{{col1_data28|{{{data28}}}}}}|{{{col1_data_max|{{{data_max|{{{col1_data1|{{{data1}}}}}}}}}}}}|comment={{#if:{{{col1_comment28|{{{comment28|}}}}}}|{{{col1_comment28|{{{comment28}}}}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col2_data28|}}}| {{!!}} {{Bar chart/bar|{{{col2_data28}}}|{{{col2_data_max|{{{col2_data1}}}}}}|comment={{#if:{{{col2_comment28|}}}|{{{col2_comment28}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col3_data28|}}}| {{!!}} {{Bar chart/bar|{{{col3_data28}}}|{{{col3_data_max|{{{col3_data1}}}}}}|comment={{#if:{{{col3_comment28|}}}|{{{col3_comment28}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col4_data28|}}}| {{!!}} {{Bar chart/bar|{{{col4_data28}}}|{{{col4_data_max|{{{col4_data1}}}}}}|comment={{#if:{{{col4_comment28|}}}|{{{col4_comment28}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col5_data28|}}}| {{!!}} {{Bar chart/bar|{{{col5_data28}}}|{{{col5_data_max|{{{col5_data1}}}}}}|comment={{#if:{{{col5_comment28|}}}|{{{col5_comment28}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col6_data28|}}}| {{!!}} {{Bar chart/bar|{{{col6_data28}}}|{{{col6_data_max|{{{col6_data1}}}}}}|comment={{#if:{{{col6_comment28|}}}|{{{col6_comment28}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col7_data28|}}}| {{!!}} {{Bar chart/bar|{{{col7_data28}}}|{{{col7_data_max|{{{col7_data1}}}}}}|comment={{#if:{{{col7_comment28|}}}|{{{col7_comment28}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col8_data28|}}}| {{!!}} {{Bar chart/bar|{{{col8_data28}}}|{{{col8_data_max|{{{col8_data1}}}}}}|comment={{#if:{{{col8_comment28|}}}|{{{col8_comment28}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col9_data28|}}}| {{!!}} {{Bar chart/bar|{{{col9_data28}}}|{{{col9_data_max|{{{col9_data1}}}}}}|comment={{#if:{{{col9_comment28|}}}|{{{col9_comment28}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} |- {{#if:{{{col1_data29|{{{data29|}}}}}}| ! scope="row" {{!}} {{{label29}}} {{!}} {{Bar chart/bar|{{{col1_data29|{{{data29}}}}}}|{{{col1_data_max|{{{data_max|{{{col1_data1|{{{data1}}}}}}}}}}}}|comment={{#if:{{{col1_comment29|{{{comment29|}}}}}}|{{{col1_comment29|{{{comment29}}}}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col2_data29|}}}| {{!!}} {{Bar chart/bar|{{{col2_data29}}}|{{{col2_data_max|{{{col2_data1}}}}}}|comment={{#if:{{{col2_comment29|}}}|{{{col2_comment29}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col3_data29|}}}| {{!!}} {{Bar chart/bar|{{{col3_data29}}}|{{{col3_data_max|{{{col3_data1}}}}}}|comment={{#if:{{{col3_comment29|}}}|{{{col3_comment29}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col4_data29|}}}| {{!!}} {{Bar chart/bar|{{{col4_data29}}}|{{{col4_data_max|{{{col4_data1}}}}}}|comment={{#if:{{{col4_comment29|}}}|{{{col4_comment29}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col5_data29|}}}| {{!!}} {{Bar chart/bar|{{{col5_data29}}}|{{{col5_data_max|{{{col5_data1}}}}}}|comment={{#if:{{{col5_comment29|}}}|{{{col5_comment29}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col6_data29|}}}| {{!!}} {{Bar chart/bar|{{{col6_data29}}}|{{{col6_data_max|{{{col6_data1}}}}}}|comment={{#if:{{{col6_comment29|}}}|{{{col6_comment29}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col7_data29|}}}| {{!!}} {{Bar chart/bar|{{{col7_data29}}}|{{{col7_data_max|{{{col7_data1}}}}}}|comment={{#if:{{{col7_comment29|}}}|{{{col7_comment29}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col8_data29|}}}| {{!!}} {{Bar chart/bar|{{{col8_data29}}}|{{{col8_data_max|{{{col8_data1}}}}}}|comment={{#if:{{{col8_comment29|}}}|{{{col8_comment29}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col9_data29|}}}| {{!!}} {{Bar chart/bar|{{{col9_data29}}}|{{{col9_data_max|{{{col9_data1}}}}}}|comment={{#if:{{{col9_comment29|}}}|{{{col9_comment29}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} |- {{#if:{{{col1_data30|{{{data30|}}}}}}| ! scope="row" {{!}} {{{label30}}} {{!}} {{Bar chart/bar|{{{col1_data30|{{{data30}}}}}}|{{{col1_data_max|{{{data_max|{{{col1_data1|{{{data1}}}}}}}}}}}}|comment={{#if:{{{col1_comment30|{{{comment30|}}}}}}|{{{col1_comment30|{{{comment30}}}}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col2_data30|}}}| {{!!}} {{Bar chart/bar|{{{col2_data30}}}|{{{col2_data_max|{{{col2_data1}}}}}}|comment={{#if:{{{col2_comment30|}}}|{{{col2_comment30}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col3_data30|}}}| {{!!}} {{Bar chart/bar|{{{col3_data30}}}|{{{col3_data_max|{{{col3_data1}}}}}}|comment={{#if:{{{col3_comment30|}}}|{{{col3_comment30}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col4_data30|}}}| {{!!}} {{Bar chart/bar|{{{col4_data30}}}|{{{col4_data_max|{{{col4_data1}}}}}}|comment={{#if:{{{col4_comment30|}}}|{{{col4_comment30}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col5_data30|}}}| {{!!}} {{Bar chart/bar|{{{col5_data30}}}|{{{col5_data_max|{{{col5_data1}}}}}}|comment={{#if:{{{col5_comment30|}}}|{{{col5_comment30}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col6_data30|}}}| {{!!}} {{Bar chart/bar|{{{col6_data30}}}|{{{col6_data_max|{{{col6_data1}}}}}}|comment={{#if:{{{col6_comment30|}}}|{{{col6_comment30}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col7_data30|}}}| {{!!}} {{Bar chart/bar|{{{col7_data30}}}|{{{col7_data_max|{{{col7_data1}}}}}}|comment={{#if:{{{col7_comment30|}}}|{{{col7_comment30}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col8_data30|}}}| {{!!}} {{Bar chart/bar|{{{col8_data30}}}|{{{col8_data_max|{{{col8_data1}}}}}}|comment={{#if:{{{col8_comment30|}}}|{{{col8_comment30}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} {{#if:{{{col9_data30|}}}| {{!!}} {{Bar chart/bar|{{{col9_data30}}}|{{{col9_data_max|{{{col9_data1}}}}}}|comment={{#if:{{{col9_comment30|}}}|{{{col9_comment30}}}|}}|width={{#if:{{{bar_width|}}}|{{{bar_width}}}|15}}}} }} |- {{#if:{{{total|{{{col1_total|}}}}}}| ! scope="row" class="bar-chart-total" {{!}} Wadarta {{!!}} {{formatnum: {{{total|{{{col1_total}}}}}} }} }} {{#if:{{{col2_total|}}}| {{!!}} {{formatnum: {{{col2_total}}} }} }}{{#if:{{{col3_total|}}}| {{!!}} {{formatnum: {{{col3_total}}} }} }}{{#if:{{{col4_total|}}}| {{!!}} {{formatnum: {{{col4_total}}} }} }}{{#if:{{{col5_total|}}}| {{!!}} {{formatnum: {{{col5_total}}} }} }}{{#if:{{{col6_total|}}}| {{!!}} {{formatnum: {{{col6_total}}} }} }}{{#if:{{{col7_total|}}}| {{!!}} {{formatnum: {{{col7_total}}} }} }}{{#if:{{{col8_total|}}}| {{!!}} {{formatnum: {{{col8_total}}} }} }}{{#if:{{{col9_total|}}}| {{!!}} {{formatnum: {{{col9_total}}} }} }} |- {{#if:{{{caption|}}}| {{!}} class="bar-chart-caption" colspan=10 {{!}} {{{caption}}} }} |}<noinclude> {{documentation}} </noinclude> q9le4ulflpkfa3eic1hqhkdjfghzre9 Template:Bar chart/styles.css 10 53339 309762 2026-09-26T17:47:12Z Isma4l 41797 Bog cusub: /* {{pp-template}} */ .bar-chart { margin: 0.5em; background-color: var(--background-color-neutral-subtle, #f8f9fa); border: 1px solid #c0c0c0; border-spacing:0px; } .bar-chart tbody { display:table; width:100%; } .bar-chart caption { display:block; font-weight: bold; } .bar-chart th, .bar-chart td { padding: 3px; text-align: left; } /* highlight bars on mouseover */ .bar-chart tr:not(:first-child):hover{ background-color: var(--background-color-base, #ffffff); } .ba... 309762 sanitized-css text/css /* {{pp-template}} */ .bar-chart { margin: 0.5em; background-color: var(--background-color-neutral-subtle, #f8f9fa); border: 1px solid #c0c0c0; border-spacing:0px; } .bar-chart tbody { display:table; width:100%; } .bar-chart caption { display:block; font-weight: bold; } .bar-chart th, .bar-chart td { padding: 3px; text-align: left; } /* highlight bars on mouseover */ .bar-chart tr:not(:first-child):hover{ background-color: var(--background-color-base, #ffffff); } .bar-chart th[scope="col"]:not(.bar-chart-label-type) { width: 15em; } .bar-chart th[scope="row"]:not(.bar-chart-total) { font-weight: normal; } .bar-chart-bar { height: 1.25em; width: 40em; } .bar-chart-bar-line { background-color: #cedff2; height: 1.25em; margin: 0 0 0 0; z-index: 0; } .bar-chart-bar-comment { font-size: 90%; padding-left: 1em; } .bar-chart-bar-numbers { position: relative; top: -1.4em; height: 1.25em; padding: 0 0 0 2em; z-index: 10; width: 40em; } .bar-chart-caption { border-top: 1px solid #aaa; } @media (min-width: 720px) { .bar-chart-left { float: left; clear: left; margin: 0.5em 1em 0.5em 0; } .bar-chart-right { float: right; clear: right; margin: 0.5em 0 0.5em 1em; } .bar-chart-center { margin: 0.5em auto; } } /* The CSS below is for situations where the standard background color is not * visible either because of contrast or because all background colors are * removed when printing: */ /* for dark mode */ @media screen { html.skin-theme-clientpref-night .bar-chart-bar-line { background-color: #74497e; } } /* for automatic dark mode */ @media screen and (prefers-color-scheme: dark) { html.skin-theme-clientpref-os .bar-chart-bar-line { background-color: #74497e; } } /* for printed copies */ @media print { .bar-chart-bar-line { border: dashed 1pt grey; } } omrlvs9n9z5qj0npjodmokwab8aifv4 Template:BrewerColorLegends 10 53340 309763 2026-09-26T17:49:11Z Isma4l 41797 Bog cusub: <includeonly>{{safesubst:#invoke:BrewerColors|Legends}}</includeonly><noinclude> {{documentation}} </noinclude> 309763 wikitext text/x-wiki <includeonly>{{safesubst:#invoke:BrewerColors|Legends}}</includeonly><noinclude> {{documentation}} </noinclude> ezqbzqr6qzgp0hjrbwhgq84usvso5r0 Module:BrewerColors 828 53341 309764 2026-09-26T17:49:54Z Isma4l 41797 Bog cusub: require('strict') local p = {} local CFCM = require "Module:ComplForColorModules" local TNTT = require "Module:TNTTools" local ARG = require "Module:Arguments" local I18n = 'BrewerColors' --[[ TRANSLATION, in :Commons:Data:I18n/BrewerColors.tab local RS_ColorNumInvalid = 'El nombre de colors ($1) està fora del rang' local RS_ColorNameInvalid = 'El nom del color ($1) no és vàlid' --]] local RS_ColorNumInvalid = 'ColorNumInvalid' local RS_ColorNameInvalid = 'ColorNameInvalid'... 309764 Scribunto text/plain require('strict') local p = {} local CFCM = require "Module:ComplForColorModules" local TNTT = require "Module:TNTTools" local ARG = require "Module:Arguments" local I18n = 'BrewerColors' --[[ TRANSLATION, in :Commons:Data:I18n/BrewerColors.tab local RS_ColorNumInvalid = 'El nombre de colors ($1) està fora del rang' local RS_ColorNameInvalid = 'El nom del color ($1) no és vàlid' --]] local RS_ColorNumInvalid = 'ColorNumInvalid' local RS_ColorNameInvalid = 'ColorNameInvalid' local function I18nStr(S, ...) return TNTT.GetMsgP(I18n, S, {...}) end -- This product includes ColorName specifications and designs developed by Cynthia Brewer (http://colorbrewer.org/). local ColorYlGn = { {"f7fcb9","addd8e","31a354"}, {"ffffcc","c2e699","78c679","238443"}, {"ffffcc","c2e699","78c679","31a354","006837"}, {"ffffcc","d9f0a3","addd8e","78c679","31a354","006837"}, {"ffffcc","d9f0a3","addd8e","78c679","41ab5d","238443","005a32"}, {"ffffe5","f7fcb9","d9f0a3","addd8e","78c679","41ab5d","238443","005a32"}, {"ffffe5","f7fcb9","d9f0a3","addd8e","78c679","41ab5d","238443","006837","004529"}, } local ColorYlGnBu = { {"edf8b1","7fcdbb","2c7fb8"}, {"ffffcc","a1dab4","41b6c4","225ea8"}, {"ffffcc","a1dab4","41b6c4","2c7fb8","253494"}, {"ffffcc","c7e9b4","7fcdbb","41b6c4","2c7fb8","253494"}, {"ffffcc","c7e9b4","7fcdbb","41b6c4","1d91c0","225ea8","0c2c84"}, {"ffffd9","edf8b1","c7e9b4","7fcdbb","41b6c4","1d91c0","225ea8","0c2c84"}, {"ffffd9","edf8b1","c7e9b4","7fcdbb","41b6c4","1d91c0","225ea8","253494","081d58"}, } local ColorGnBu = { {"e0f3db","a8ddb5","43a2ca"}, {"f0f9e8","bae4bc","7bccc4","2b8cbe"}, {"f0f9e8","bae4bc","7bccc4","43a2ca","0868ac"}, {"f0f9e8","ccebc5","a8ddb5","7bccc4","43a2ca","0868ac"}, {"f0f9e8","ccebc5","a8ddb5","7bccc4","4eb3d3","2b8cbe","08589e"}, {"f7fcf0","e0f3db","ccebc5","a8ddb5","7bccc4","4eb3d3","2b8cbe","08589e"}, {"f7fcf0","e0f3db","ccebc5","a8ddb5","7bccc4","4eb3d3","2b8cbe","0868ac","084081"}, } local ColorBuGn = { {"e5f5f9","99d8c9","2ca25f"}, {"edf8fb","b2e2e2","66c2a4","238b45"}, {"edf8fb","b2e2e2","66c2a4","2ca25f","006d2c"}, {"edf8fb","ccece6","99d8c9","66c2a4","2ca25f","006d2c"}, {"edf8fb","ccece6","99d8c9","66c2a4","41ae76","238b45","005824"}, {"f7fcfd","e5f5f9","ccece6","99d8c9","66c2a4","41ae76","238b45","005824"}, {"f7fcfd","e5f5f9","ccece6","99d8c9","66c2a4","41ae76","238b45","006d2c","00441b"}, } local ColorPuBuGn = { {"ece2f0","a6bddb","1c9099"}, {"f6eff7","bdc9e1","67a9cf","02818a"}, {"f6eff7","bdc9e1","67a9cf","1c9099","016c59"}, {"f6eff7","d0d1e6","a6bddb","67a9cf","1c9099","016c59"}, {"f6eff7","d0d1e6","a6bddb","67a9cf","3690c0","02818a","016450"}, {"fff7fb","ece2f0","d0d1e6","a6bddb","67a9cf","3690c0","02818a","016450"}, {"fff7fb","ece2f0","d0d1e6","a6bddb","67a9cf","3690c0","02818a","016c59","014636"}, } local ColorPuBu = { {"ece7f2","a6bddb","2b8cbe"}, {"f1eef6","bdc9e1","74a9cf","0570b0"}, {"f1eef6","bdc9e1","74a9cf","2b8cbe","045a8d"}, {"f1eef6","d0d1e6","a6bddb","74a9cf","2b8cbe","045a8d"}, {"f1eef6","d0d1e6","a6bddb","74a9cf","3690c0","0570b0","034e7b"}, {"fff7fb","ece7f2","d0d1e6","a6bddb","74a9cf","3690c0","0570b0","034e7b"}, {"fff7fb","ece7f2","d0d1e6","a6bddb","74a9cf","3690c0","0570b0","045a8d","023858"}, } local ColorBuPu = { {"e0ecf4","9ebcda","8856a7"}, {"edf8fb","b3cde3","8c96c6","88419d"}, {"edf8fb","b3cde3","8c96c6","8856a7","810f7c"}, {"edf8fb","bfd3e6","9ebcda","8c96c6","8856a7","810f7c"}, {"edf8fb","bfd3e6","9ebcda","8c96c6","8c6bb1","88419d","6e016b"}, {"f7fcfd","e0ecf4","bfd3e6","9ebcda","8c96c6","8c6bb1","88419d","6e016b"}, {"f7fcfd","e0ecf4","bfd3e6","9ebcda","8c96c6","8c6bb1","88419d","810f7c","4d004b"}, } local ColorRdPu = { {"fde0dd","fa9fb5","c51b8a"}, {"feebe2","fbb4b9","f768a1","ae017e"}, {"feebe2","fbb4b9","f768a1","c51b8a","7a0177"}, {"feebe2","fcc5c0","fa9fb5","f768a1","c51b8a","7a0177"}, {"feebe2","fcc5c0","fa9fb5","f768a1","dd3497","ae017e","7a0177"}, {"fff7f3","fde0dd","fcc5c0","fa9fb5","f768a1","dd3497","ae017e","7a0177"}, {"fff7f3","fde0dd","fcc5c0","fa9fb5","f768a1","dd3497","ae017e","7a0177","49006a"}, } local ColorPuRd = { {"e7e1ef","c994c7","dd1c77"}, {"f1eef6","d7b5d8","df65b0","ce1256"}, {"f1eef6","d7b5d8","df65b0","dd1c77","980043"}, {"f1eef6","d4b9da","c994c7","df65b0","dd1c77","980043"}, {"f1eef6","d4b9da","c994c7","df65b0","e7298a","ce1256","91003f"}, {"f7f4f9","e7e1ef","d4b9da","c994c7","df65b0","e7298a","ce1256","91003f"}, {"f7f4f9","e7e1ef","d4b9da","c994c7","df65b0","e7298a","ce1256","980043","67001f"}, } local ColorOrRd = { {"fee8c8","fdbb84","e34a33"}, {"fef0d9","fdcc8a","fc8d59","d7301f"}, {"fef0d9","fdcc8a","fc8d59","e34a33","b30000"}, {"fef0d9","fdd49e","fdbb84","fc8d59","e34a33","b30000"}, {"fef0d9","fdd49e","fdbb84","fc8d59","ef6548","d7301f","990000"}, {"fff7ec","fee8c8","fdd49e","fdbb84","fc8d59","ef6548","d7301f","990000"}, {"fff7ec","fee8c8","fdd49e","fdbb84","fc8d59","ef6548","d7301f","b30000","7f0000"}, } local ColorYlOrRd = { {"ffeda0","feb24c","f03b20"}, {"ffffb2","fecc5c","fd8d3c","e31a1c"}, {"ffffb2","fecc5c","fd8d3c","f03b20","bd0026"}, {"ffffb2","fed976","feb24c","fd8d3c","f03b20","bd0026"}, {"ffffb2","fed976","feb24c","fd8d3c","fc4e2a","e31a1c","b10026"}, {"ffffcc","ffeda0","fed976","feb24c","fd8d3c","fc4e2a","e31a1c","b10026"}, {"ffffcc","ffeda0","fed976","feb24c","fd8d3c","fc4e2a","e31a1c","bd0026","800026"}, } local ColorYlOrBr = { {"fff7bc","fec44f","d95f0e"}, {"ffffd4","fed98e","fe9929","cc4c02"}, {"ffffd4","fed98e","fe9929","d95f0e","993404"}, {"ffffd4","fee391","fec44f","fe9929","d95f0e","993404"}, {"ffffd4","fee391","fec44f","fe9929","ec7014","cc4c02","8c2d04"}, {"ffffe5","fff7bc","fee391","fec44f","fe9929","ec7014","cc4c02","8c2d04"}, {"ffffe5","fff7bc","fee391","fec44f","fe9929","ec7014","cc4c02","993404","662506"}, } local ColorPurples = { {"efedf5","bcbddc","756bb1"}, {"f2f0f7","cbc9e2","9e9ac8","6a51a3"}, {"f2f0f7","cbc9e2","9e9ac8","756bb1","54278f"}, {"f2f0f7","dadaeb","bcbddc","9e9ac8","756bb1","54278f"}, {"f2f0f7","dadaeb","bcbddc","9e9ac8","807dba","6a51a3","4a1486"}, {"fcfbfd","efedf5","dadaeb","bcbddc","9e9ac8","807dba","6a51a3","4a1486"}, {"fcfbfd","efedf5","dadaeb","bcbddc","9e9ac8","807dba","6a51a3","54278f","3f007d"}, } local ColorBlues = { {"deebf7","9ecae1","3182bd"}, {"eff3ff","bdd7e7","6baed6","2171b5"}, {"eff3ff","bdd7e7","6baed6","3182bd","08519c"}, {"eff3ff","c6dbef","9ecae1","6baed6","3182bd","08519c"}, {"eff3ff","c6dbef","9ecae1","6baed6","4292c6","2171b5","084594"}, {"f7fbff","deebf7","c6dbef","9ecae1","6baed6","4292c6","2171b5","084594"}, {"f7fbff","deebf7","c6dbef","9ecae1","6baed6","4292c6","2171b5","08519c","08306b"}, } local ColorGreens = { {"e5f5e0","a1d99b","31a354"}, {"edf8e9","bae4b3","74c476","238b45"}, {"edf8e9","bae4b3","74c476","31a354","006d2c"}, {"edf8e9","c7e9c0","a1d99b","74c476","31a354","006d2c"}, {"edf8e9","c7e9c0","a1d99b","74c476","41ab5d","238b45","005a32"}, {"f7fcf5","e5f5e0","c7e9c0","a1d99b","74c476","41ab5d","238b45","005a32"}, {"f7fcf5","e5f5e0","c7e9c0","a1d99b","74c476","41ab5d","238b45","006d2c","00441b"}, } local ColorOranges = { {"fee6ce","fdae6b","e6550d"}, {"feedde","fdbe85","fd8d3c","d94701"}, {"feedde","fdbe85","fd8d3c","e6550d","a63603"}, {"feedde","fdd0a2","fdae6b","fd8d3c","e6550d","a63603"}, {"feedde","fdd0a2","fdae6b","fd8d3c","f16913","d94801","8c2d04"}, {"fff5eb","fee6ce","fdd0a2","fdae6b","fd8d3c","f16913","d94801","8c2d04"}, {"fff5eb","fee6ce","fdd0a2","fdae6b","fd8d3c","f16913","d94801","a63603","7f2704"}, } local ColorReds = { {"fee0d2","fc9272","de2d26"}, {"fee5d9","fcae91","fb6a4a","cb181d"}, {"fee5d9","fcae91","fb6a4a","de2d26","a50f15"}, {"fee5d9","fcbba1","fc9272","fb6a4a","de2d26","a50f15"}, {"fee5d9","fcbba1","fc9272","fb6a4a","ef3b2c","cb181d","99000d"}, {"fff5f0","fee0d2","fcbba1","fc9272","fb6a4a","ef3b2c","cb181d","99000d"}, {"fff5f0","fee0d2","fcbba1","fc9272","fb6a4a","ef3b2c","cb181d","a50f15","67000d"}, } local ColorGreys = { {"f0f0f0","bdbdbd","636363"}, {"f7f7f7","cccccc","969696","525252"}, {"f7f7f7","cccccc","969696","636363","252525"}, {"f7f7f7","d9d9d9","bdbdbd","969696","636363","252525"}, {"f7f7f7","d9d9d9","bdbdbd","969696","737373","525252","252525"}, {"ffffff","f0f0f0","d9d9d9","bdbdbd","969696","737373","525252","252525"}, {"ffffff","f0f0f0","d9d9d9","bdbdbd","969696","737373","525252","252525","000000"}, } local ColorPuOr = { {"f1a340","f7f7f7","998ec3"}, {"e66101","fdb863","b2abd2","5e3c99"}, {"e66101","fdb863","f7f7f7","b2abd2","5e3c99"}, {"b35806","f1a340","fee0b6","d8daeb","998ec3","542788"}, {"b35806","f1a340","fee0b6","f7f7f7","d8daeb","998ec3","542788"}, {"b35806","e08214","fdb863","fee0b6","d8daeb","b2abd2","8073ac","542788"}, {"b35806","e08214","fdb863","fee0b6","f7f7f7","d8daeb","b2abd2","8073ac","542788"}, {"7f3b08","b35806","e08214","fdb863","fee0b6","d8daeb","b2abd2","8073ac","542788","2d004b"}, {"7f3b08","b35806","e08214","fdb863","fee0b6","f7f7f7","d8daeb","b2abd2","8073ac","542788","2d004b"}, } local ColorBrBG = { {"d8b365","f5f5f5","5ab4ac"}, {"a6611a","dfc27d","80cdc1","018571"}, {"a6611a","dfc27d","f5f5f5","80cdc1","018571"}, {"8c510a","d8b365","f6e8c3","c7eae5","5ab4ac","01665e"}, {"8c510a","d8b365","f6e8c3","f5f5f5","c7eae5","5ab4ac","01665e"}, {"8c510a","bf812d","dfc27d","f6e8c3","c7eae5","80cdc1","35978f","01665e"}, {"8c510a","bf812d","dfc27d","f6e8c3","f5f5f5","c7eae5","80cdc1","35978f","01665e"}, {"543005","8c510a","bf812d","dfc27d","f6e8c3","c7eae5","80cdc1","35978f","01665e","003c30"}, {"543005","8c510a","bf812d","dfc27d","f6e8c3","f5f5f5","c7eae5","80cdc1","35978f","01665e","003c30"}, } local ColorPRGn = { {"af8dc3","f7f7f7","7fbf7b"}, {"7b3294","c2a5cf","a6dba0","008837"}, {"7b3294","c2a5cf","f7f7f7","a6dba0","008837"}, {"762a83","af8dc3","e7d4e8","d9f0d3","7fbf7b","1b7837"}, {"762a83","af8dc3","e7d4e8","f7f7f7","d9f0d3","7fbf7b","1b7837"}, {"762a83","9970ab","c2a5cf","e7d4e8","d9f0d3","a6dba0","5aae61","1b7837"}, {"762a83","9970ab","c2a5cf","e7d4e8","f7f7f7","d9f0d3","a6dba0","5aae61","1b7837"}, {"40004b","762a83","9970ab","c2a5cf","e7d4e8","d9f0d3","a6dba0","5aae61","1b7837","00441b"}, {"40004b","762a83","9970ab","c2a5cf","e7d4e8","f7f7f7","d9f0d3","a6dba0","5aae61","1b7837","00441b"}, } local ColorPiYG = { {"e9a3c9","f7f7f7","a1d76a"}, {"d01c8b","f1b6da","b8e186","4dac26"}, {"d01c8b","f1b6da","f7f7f7","b8e186","4dac26"}, {"c51b7d","e9a3c9","fde0ef","e6f5d0","a1d76a","4d9221"}, {"c51b7d","e9a3c9","fde0ef","f7f7f7","e6f5d0","a1d76a","4d9221"}, {"c51b7d","de77ae","f1b6da","fde0ef","e6f5d0","b8e186","7fbc41","4d9221"}, {"c51b7d","de77ae","f1b6da","fde0ef","f7f7f7","e6f5d0","b8e186","7fbc41","4d9221"}, {"8e0152","c51b7d","de77ae","f1b6da","fde0ef","e6f5d0","b8e186","7fbc41","4d9221","276419"}, {"8e0152","c51b7d","de77ae","f1b6da","fde0ef","f7f7f7","e6f5d0","b8e186","7fbc41","4d9221","276419"}, } local ColorRdBu = { {"ef8a62","f7f7f7","67a9cf"}, {"ca0020","f4a582","92c5de","0571b0"}, {"ca0020","f4a582","f7f7f7","92c5de","0571b0"}, {"b2182b","ef8a62","fddbc7","d1e5f0","67a9cf","2166ac"}, {"b2182b","ef8a62","fddbc7","f7f7f7","d1e5f0","67a9cf","2166ac"}, {"b2182b","d6604d","f4a582","fddbc7","d1e5f0","92c5de","4393c3","2166ac"}, {"b2182b","d6604d","f4a582","fddbc7","f7f7f7","d1e5f0","92c5de","4393c3","2166ac"}, {"67001f","b2182b","d6604d","f4a582","fddbc7","d1e5f0","92c5de","4393c3","2166ac","053061"}, {"67001f","b2182b","d6604d","f4a582","fddbc7","f7f7f7","d1e5f0","92c5de","4393c3","2166ac","053061"}, } local ColorRdGy = { {"ef8a62","ffffff","999999"}, {"ca0020","f4a582","bababa","404040"}, {"ca0020","f4a582","ffffff","bababa","404040"}, {"b2182b","ef8a62","fddbc7","e0e0e0","999999","4d4d4d"}, {"b2182b","ef8a62","fddbc7","ffffff","e0e0e0","999999","4d4d4d"}, {"b2182b","d6604d","f4a582","fddbc7","e0e0e0","bababa","878787","4d4d4d"}, {"b2182b","d6604d","f4a582","fddbc7","ffffff","e0e0e0","bababa","878787","4d4d4d"}, {"67001f","b2182b","d6604d","f4a582","fddbc7","e0e0e0","bababa","878787","4d4d4d","1a1a1a"}, {"67001f","b2182b","d6604d","f4a582","fddbc7","ffffff","e0e0e0","bababa","878787","4d4d4d","1a1a1a"}, } local ColorRdYlBu = { {"fc8d59","ffffbf","91bfdb"}, {"d7191c","fdae61","abd9e9","2c7bb6"}, {"d7191c","fdae61","ffffbf","abd9e9","2c7bb6"}, {"d73027","fc8d59","fee090","e0f3f8","91bfdb","4575b4"}, {"d73027","fc8d59","fee090","ffffbf","e0f3f8","91bfdb","4575b4"}, {"d73027","f46d43","fdae61","fee090","e0f3f8","abd9e9","74add1","4575b4"}, {"d73027","f46d43","fdae61","fee090","ffffbf","e0f3f8","abd9e9","74add1","4575b4"}, {"a50026","d73027","f46d43","fdae61","fee090","e0f3f8","abd9e9","74add1","4575b4","313695"}, {"a50026","d73027","f46d43","fdae61","fee090","ffffbf","e0f3f8","abd9e9","74add1","4575b4","313695"}, } local ColorSpectral = { {"fc8d59","ffffbf","99d594"}, {"d7191c","fdae61","abdda4","2b83ba"}, {"d7191c","fdae61","ffffbf","abdda4","2b83ba"}, {"d53e4f","fc8d59","fee08b","e6f598","99d594","3288bd"}, {"d53e4f","fc8d59","fee08b","ffffbf","e6f598","99d594","3288bd"}, {"d53e4f","f46d43","fdae61","fee08b","e6f598","abdda4","66c2a5","3288bd"}, {"d53e4f","f46d43","fdae61","fee08b","ffffbf","e6f598","abdda4","66c2a5","3288bd"}, {"9e0142","d53e4f","f46d43","fdae61","fee08b","e6f598","abdda4","66c2a5","3288bd","5e4fa2"}, {"9e0142","d53e4f","f46d43","fdae61","fee08b","ffffbf","e6f598","abdda4","66c2a5","3288bd","5e4fa2"}, } local ColorRdYlGn = { {"fc8d59","ffffbf","91cf60"}, {"d7191c","fdae61","a6d96a","1a9641"}, {"d7191c","fdae61","ffffbf","a6d96a","1a9641"}, {"d73027","fc8d59","fee08b","d9ef8b","91cf60","1a9850"}, {"d73027","fc8d59","fee08b","ffffbf","d9ef8b","91cf60","1a9850"}, {"d73027","f46d43","fdae61","fee08b","d9ef8b","a6d96a","66bd63","1a9850"}, {"d73027","f46d43","fdae61","fee08b","ffffbf","d9ef8b","a6d96a","66bd63","1a9850"}, {"a50026","d73027","f46d43","fdae61","fee08b","d9ef8b","a6d96a","66bd63","1a9850","006837"}, {"a50026","d73027","f46d43","fdae61","fee08b","ffffbf","d9ef8b","a6d96a","66bd63","1a9850","006837"}, } local ColorAccent = { {"7fc97f","beaed4","fdc086"}, {"7fc97f","beaed4","fdc086","ffff99"}, {"7fc97f","beaed4","fdc086","ffff99","386cb0"}, {"7fc97f","beaed4","fdc086","ffff99","386cb0","f0027f"}, {"7fc97f","beaed4","fdc086","ffff99","386cb0","f0027f","bf5b17"}, {"7fc97f","beaed4","fdc086","ffff99","386cb0","f0027f","bf5b17","666666"}, } local ColorDark2 = { {"1b9e77","d95f02","7570b3"}, {"1b9e77","d95f02","7570b3","e7298a"}, {"1b9e77","d95f02","7570b3","e7298a","66a61e"}, {"1b9e77","d95f02","7570b3","e7298a","66a61e","e6ab02"}, {"1b9e77","d95f02","7570b3","e7298a","66a61e","e6ab02","a6761d"}, {"1b9e77","d95f02","7570b3","e7298a","66a61e","e6ab02","a6761d","666666"}, } local ColorPaired = { {"a6cee3","1f78b4","b2df8a"}, {"a6cee3","1f78b4","b2df8a","33a02c"}, {"a6cee3","1f78b4","b2df8a","33a02c","fb9a99"}, {"a6cee3","1f78b4","b2df8a","33a02c","fb9a99","e31a1c"}, {"a6cee3","1f78b4","b2df8a","33a02c","fb9a99","e31a1c","fdbf6f"}, {"a6cee3","1f78b4","b2df8a","33a02c","fb9a99","e31a1c","fdbf6f","ff7f00"}, {"a6cee3","1f78b4","b2df8a","33a02c","fb9a99","e31a1c","fdbf6f","ff7f00","cab2d6"}, {"a6cee3","1f78b4","b2df8a","33a02c","fb9a99","e31a1c","fdbf6f","ff7f00","cab2d6","6a3d9a"}, {"a6cee3","1f78b4","b2df8a","33a02c","fb9a99","e31a1c","fdbf6f","ff7f00","cab2d6","6a3d9a","ffff99"}, {"a6cee3","1f78b4","b2df8a","33a02c","fb9a99","e31a1c","fdbf6f","ff7f00","cab2d6","6a3d9a","ffff99","b15928"}, } local ColorPastel1 = { {"fbb4ae","b3cde3","ccebc5"}, {"fbb4ae","b3cde3","ccebc5","decbe4"}, {"fbb4ae","b3cde3","ccebc5","decbe4","fed9a6"}, {"fbb4ae","b3cde3","ccebc5","decbe4","fed9a6","ffffcc"}, {"fbb4ae","b3cde3","ccebc5","decbe4","fed9a6","ffffcc","e5d8bd"}, {"fbb4ae","b3cde3","ccebc5","decbe4","fed9a6","ffffcc","e5d8bd","fddaec"}, {"fbb4ae","b3cde3","ccebc5","decbe4","fed9a6","ffffcc","e5d8bd","fddaec","f2f2f2"}, } local ColorPastel2 = { {"b3e2cd","fdcdac","cbd5e8"}, {"b3e2cd","fdcdac","cbd5e8","f4cae4"}, {"b3e2cd","fdcdac","cbd5e8","f4cae4","e6f5c9"}, {"b3e2cd","fdcdac","cbd5e8","f4cae4","e6f5c9","fff2ae"}, {"b3e2cd","fdcdac","cbd5e8","f4cae4","e6f5c9","fff2ae","f1e2cc"}, {"b3e2cd","fdcdac","cbd5e8","f4cae4","e6f5c9","fff2ae","f1e2cc","cccccc"}, } local ColorSet1 = { {"e41a1c","377eb8","4daf4a"}, {"e41a1c","377eb8","4daf4a","984ea3"}, {"e41a1c","377eb8","4daf4a","984ea3","ff7f00"}, {"e41a1c","377eb8","4daf4a","984ea3","ff7f00","ffff33"}, {"e41a1c","377eb8","4daf4a","984ea3","ff7f00","ffff33","a65628"}, {"e41a1c","377eb8","4daf4a","984ea3","ff7f00","ffff33","a65628","f781bf"}, {"e41a1c","377eb8","4daf4a","984ea3","ff7f00","ffff33","a65628","f781bf","999999"}, } local ColorSet2 = { {"66c2a5","fc8d62","8da0cb"}, {"66c2a5","fc8d62","8da0cb","e78ac3"}, {"66c2a5","fc8d62","8da0cb","e78ac3","a6d854"}, {"66c2a5","fc8d62","8da0cb","e78ac3","a6d854","ffd92f"}, {"66c2a5","fc8d62","8da0cb","e78ac3","a6d854","ffd92f","e5c494"}, {"66c2a5","fc8d62","8da0cb","e78ac3","a6d854","ffd92f","e5c494","b3b3b3"}, } local ColorSet3 = { {"8dd3c7","ffffb3","bebada"}, {"8dd3c7","ffffb3","bebada","fb8072"}, {"8dd3c7","ffffb3","bebada","fb8072","80b1d3"}, {"8dd3c7","ffffb3","bebada","fb8072","80b1d3","fdb462"}, {"8dd3c7","ffffb3","bebada","fb8072","80b1d3","fdb462","b3de69"}, {"8dd3c7","ffffb3","bebada","fb8072","80b1d3","fdb462","b3de69","fccde5"}, {"8dd3c7","ffffb3","bebada","fb8072","80b1d3","fdb462","b3de69","fccde5","d9d9d9"}, {"8dd3c7","ffffb3","bebada","fb8072","80b1d3","fdb462","b3de69","fccde5","d9d9d9","bc80bd"}, {"8dd3c7","ffffb3","bebada","fb8072","80b1d3","fdb462","b3de69","fccde5","d9d9d9","bc80bd","ccebc5"}, {"8dd3c7","ffffb3","bebada","fb8072","80b1d3","fdb462","b3de69","fccde5","d9d9d9","bc80bd","ccebc5","ffed6f"}, } function p.GetColors(ColorName, IsInv, N, CallError) local ColorFound = {} local function GetC(ColorSet) if (N < 3) or (N > (table.getn(ColorSet)+2)) then if CallError then error(I18nStr(RS_ColorNumInvalid,tostring(N)), 0) end elseif IsInv then for i = table.getn(ColorSet[N-2]), 1, -1 do table.insert(ColorFound, '#'..ColorSet[N-2][i]) end else for i = 1, table.getn(ColorSet[N-2]) do table.insert(ColorFound, '#'..ColorSet[N-2][i]) end end end local ColorNameL = string.lower(ColorName) if ColorNameL == 'ylgn' then GetC(ColorYlGn) elseif ColorNameL == 'ylgnbu' then GetC(ColorYlGnBu) elseif ColorNameL == 'gnbu' then GetC(ColorGnBu) elseif ColorNameL == 'bugn' then GetC(ColorBuGn) elseif ColorNameL == 'pubugn' then GetC(ColorPuBuGn) elseif ColorNameL == 'pubu' then GetC(ColorPuBu) elseif ColorNameL == 'bupu' then GetC(ColorBuPu) elseif ColorNameL == 'rdpu' then GetC(ColorRdPu) elseif ColorNameL == 'purd' then GetC(ColorPuRd) elseif ColorNameL == 'orrd' then GetC(ColorOrRd) elseif ColorNameL == 'ylorrd' then GetC(ColorYlOrRd) elseif ColorNameL == 'ylorbr' then GetC(ColorYlOrBr) elseif ColorNameL == 'purples' then GetC(ColorPurples) elseif ColorNameL == 'blues' then GetC(ColorBlues) elseif ColorNameL == 'greens' then GetC(ColorGreens) elseif ColorNameL == 'oranges' then GetC(ColorOranges) elseif ColorNameL == 'reds' then GetC(ColorReds) elseif ColorNameL == 'greys' then GetC(ColorGreys) elseif ColorNameL == 'puor' then GetC(ColorPuOr) elseif ColorNameL == 'brbg' then GetC(ColorBrBG) elseif ColorNameL == 'prgn' then GetC(ColorPRGn) elseif ColorNameL == 'piyg' then GetC(ColorPiYG) elseif ColorNameL == 'rdbu' then GetC(ColorRdBu) elseif ColorNameL == 'rdgy' then GetC(ColorRdGy) elseif ColorNameL == 'rdylbu' then GetC(ColorRdYlBu) elseif ColorNameL == 'spectral' then GetC(ColorSpectral) elseif ColorNameL == 'rdylgn' then GetC(ColorRdYlGn) elseif ColorNameL == 'accent' then GetC(ColorAccent) elseif ColorNameL == 'dark2' then GetC(ColorDark2) elseif ColorNameL == 'paired' then GetC(ColorPaired) elseif ColorNameL == 'pastel1' then GetC(ColorPastel1) elseif ColorNameL == 'pastel2' then GetC(ColorPastel2) elseif ColorNameL == 'set1' then GetC(ColorSet1) elseif ColorNameL == 'set2' then GetC(ColorSet2) elseif ColorNameL == 'set3' then GetC(ColorSet3) elseif CallError then error(I18nStr(RS_ColorNameInvalid,ColorName), 0) end return ColorFound end function p.ShowColors(frame) local args = ARG.getArgs(frame, { removeBlanks = false }) local ColorName, IsInv = CFCM.ColorNameInv(args) local N = tonumber(args[2]) local WriteColor = args[3] or '' local ColorFound = {} ColorFound = p.GetColors(ColorName, IsInv, N, true) local boxes = {} for i = 1, table.getn(ColorFound) do table.insert(boxes, CFCM.Box(ColorFound[i],WriteColor)) end return table.concat(boxes, " ") end function p.Legends(frame) local args = ARG.getArgs(frame, { removeBlanks = false }) local ColorName, IsInv = CFCM.ColorNameInv(args) local N = tonumber(args[2]) local ColWidth = args[3] local ColorFound = {} local Labels = {} local NLabels = 0 local IsTemplate = true ColorFound = p.GetColors(ColorName, IsInv, N, true) local Labels, NLabels, OutlineColor = CFCM.GetLabels (args, N, 4) return CFCM.LegendText(ColorFound, Labels, NLabels, ColWidth, IsTemplate, OutlineColor) end return p s0aq3sg9ivd6mp7fw63luuaul46at3x Module:ComplForColorModules 828 53342 309765 2026-09-26T17:50:47Z Isma4l 41797 Bog cusub: local p = {} local TNTT = require "Module:TNTTools" local I18n = 'ComplForColorModules' --local MoreOneNoData = "Found 2 legends of \"Value not assigned\" or \"Data not available\"" --local FoundNLegendsExpectedN = "Found $1 legends, expected $2" --local Color = "Color" --local Legend = "legend" local function I18nStr (S, ...) return TNTT.GetMsgP (I18n, S, {...}) end function p.ColorNameInvFromS0 (S) local IsInv = false local ColorName = '' local Params = {} if S ~= ''... 309765 Scribunto text/plain local p = {} local TNTT = require "Module:TNTTools" local I18n = 'ComplForColorModules' --local MoreOneNoData = "Found 2 legends of \"Value not assigned\" or \"Data not available\"" --local FoundNLegendsExpectedN = "Found $1 legends, expected $2" --local Color = "Color" --local Legend = "legend" local function I18nStr (S, ...) return TNTT.GetMsgP (I18n, S, {...}) end function p.ColorNameInvFromS0 (S) local IsInv = false local ColorName = '' local Params = {} if S ~= '' then for w in S:gmatch("([^_]+)") do table.insert(Params, w) end ColorName = Params[1] end local PN = table.getn(Params) if (PN == 2) and (Params[2]=='i') then IsInv = true end return ColorName, IsInv, Params end function p.ColorNameInv (args) local ColorName, IsInv, Params = p.ColorNameInvFromS0(args[1]) return ColorName, IsInv end function p.GetLabels(Args, N, Pos) local Labels = {} local index = Pos while Args[index] do Labels[#Labels+1] = Args[index] index = index + 1 end local NLabels = #Labels local OutlineColor = Args['outline'] or '' if (NLabels ~= 0) and (NLabels ~= N) then local StartUnknown = (string.sub(Labels[1],1,2) == "--") local EndUnknown = (string.sub(Labels[NLabels],1,2) == "--") if StartUnknown and EndUnknown then error (I18nStr ('MoreOneNoData')) elseif StartUnknown or EndUnknown then N = N + 1 end if (NLabels ~= 0) and (NLabels ~= N) then error (I18nStr ('FoundNLegendsExpectedN', tostring(NLabels), tostring(N))) end end return Labels, NLabels, OutlineColor end local function SColor (Color) if string.sub(Color,1,1) == '#' then --the usual return string.sub(Color,2,100) else return Color end end function p.Box(Color,WriteColor) if WriteColor == '-' then WriteColor = Color elseif WriteColor == 'a' then WriteColor = Color..'ff' --Alpha channel end local TheBox = '<span style="background-color:'..Color..'; border:1px solid gray;" title="'..TNTT.GetStrP(I18n,'Color')..': '..SColor(Color)..'">&nbsp;&nbsp;&nbsp;</span>' if WriteColor ~='' then TheBox = TheBox..'&nbsp;'..WriteColor..' &nbsp;' end return TheBox end function p.TextWithTooltip (Text, Tooltip) if Tooltip ~= '' then return '<span title="'..Tooltip..'">'..Text..'</span>' else return Text end end function p.LegendColor(Color, Text, Tooltip) if Text == '' then Text = SColor(Color) end return '<li style="list-style-type: none; list-style-image: none;"><span style="border:1px solid gray; background:'..Color..'; margin-right:0.3em; vertical-align: middle; webkit-print-color-adjust:exact; color-adjust:exact; display:inline-block; width:1.05em; height:1em;"></span>'..p.TextWithTooltip(Text,Tooltip)..'</li>' end local function LegendCode(Color, Text, OutlineColor) local SOutlineColor = '' if OutlineColor ~= '' then SOutlineColor = '|outline='..OutlineColor end return '{{'..TNTT.GetStrP(I18n,'Legend')..'|'..Color..'|'..Text..SOutlineColor..'}}' end function p.LegendText (AColors, Labels, NLabels, ColWidth, IsTemplate, OutlineColor) if ColWidth then ColWidth = mw.text.trim(ColWidth) if #ColWidth == 0 then ColWidth = nil end end local Show, Codes = {}, {} local Text = '' local WithLabels = NLabels > 0 if WithLabels then local Gray = '#b3b3b3' -- A 40% gray if string.sub(Labels[1],1,2) == '--' then table.insert(AColors, 1, Gray) Labels[1] = string.sub(Labels[1], 3, 1000) elseif string.sub(Labels[NLabels],1,2) == '--' then table.insert(AColors, Gray) Labels[NLabels] = string.sub(Labels[NLabels], 3, 1000) end end for i=1, table.getn(AColors) do if WithLabels then Text = Labels[i] end table.insert(Show, p.LegendColor(AColors[i],Text,'')) end local SShow = table.concat(Show,"\n") if ColWidth then local frame = mw.getCurrentFrame() SShow = frame:expandTemplate{title="div col",args={colwidth=ColWidth}} .. SShow SShow = SShow .. frame:expandTemplate{title="div col end"} end for i=1, table.getn(AColors) do if WithLabels then Text = Labels[i] end table.insert(Codes, ' '..LegendCode(AColors[i],Text,OutlineColor)) end local SCodes = '<pre>\n' if ColWidth then SCodes = SCodes .. require("Module:Template invocation").invocation("div col",{colwidth=ColWidth}) .. "\n" end SCodes = SCodes .. table.concat(Codes,"\n") if ColWidth and #ColWidth ~= 0 then SCodes = SCodes .. "\n{{div col end}}" end SCodes = SCodes .. "\n</pre>" return SShow..'\n'..SCodes end return p 5fdk7vjfpgkk4rd8apgx1nb4wbcpcy8 Module:TNTTools 828 53343 309766 2026-09-26T17:51:27Z Isma4l 41797 Bog cusub: require('strict') local p = {} local TNT = require('Module:TNT') function p.TNTTabFull (TNTTab) if (string.sub(TNTTab, 1, 5)) ~= 'I18n/' then TNTTab = 'I18n/'..TNTTab end if (string.sub(TNTTab, -4)) ~= '.tab' then TNTTab = TNTTab..'.tab' end return TNTTab end --TNTTabFull function p.TNTTabCommons (TNTTab) return 'Commons:Data:'..p.TNTTabFull(TNTTab) end function p.LnkTNTTab (TNTTab) return '[['..p.TNTTabCommons(TNTTab)..']]' end local function I18nStr (TNTTab,... 309766 Scribunto text/plain require('strict') local p = {} local TNT = require('Module:TNT') function p.TNTTabFull (TNTTab) if (string.sub(TNTTab, 1, 5)) ~= 'I18n/' then TNTTab = 'I18n/'..TNTTab end if (string.sub(TNTTab, -4)) ~= '.tab' then TNTTab = TNTTab..'.tab' end return TNTTab end --TNTTabFull function p.TNTTabCommons (TNTTab) return 'Commons:Data:'..p.TNTTabFull(TNTTab) end function p.LnkTNTTab (TNTTab) return '[['..p.TNTTabCommons(TNTTab)..']]' end local function I18nStr (TNTTab, S, IsMsg, params) TNTTab = p.TNTTabFull (TNTTab) local SEnd = TNT.format(TNTTab, S, unpack(params)) or '' if SEnd == '' then SEnd = TNT.formatInLanguage('en',TNTTab, S, unpack(params)) if IsMsg then local icon = '[[File:Arbcom ru editing.svg|12px|Not found "'..S..'" in current language. Click here for to edit it.|link='..p.TNTTabCommons(TNTTab)..']]' SEnd = SEnd..icon end end return SEnd end --I18nStr function p.GetMsgP (TNTTab, S, ...) return I18nStr (TNTTab, S, true, {...}) end function p.GetStrP (TNTTab, S, ...) return I18nStr (TNTTab, S, false, {...}) end function p.TabTransCS (TNTTab, S, CaseSensitive) CaseSensitive = ((CaseSensitive ~= nil) and (CaseSensitive == true)) or true local Wds = TNT.format (p.TNTTabFull(TNTTab), S) if not CaseSensitive then Wds = string.lower (Wds) end return mw.text.split (Wds, '|') end --TabTransCS function p.TabTransMT (TNTTab, S, MaxTrans) local FN = p.TNTTabFull(TNTTab) local tab = mw.text.split (TNT.format (FN, S), '|') if #tab > MaxTrans then error (string.format('Found %s translations for "%s". Search in [[:commons:data:%s]]',#tab,S,FN)) -- Translation not required end return tab end --TabTransMT function p.SFoundInTNTArr (TNTTab, val, CaseSensitive, S) if (S == nil) or (S == '') then error('Not arguments trying to find "'..val..'"') --It doesn't require translation, only for degug end local Arr = p.TabTransCS (TNTTab, S, CaseSensitive) if not CaseSensitive then val = string.lower (val) end for I, W in ipairs(Arr) do if W == val then return true end end return false end --SFoundInTNTArr function p.IdxFromTabTrans (TNTTab, val, CaseSensitive, ...) local Arr = unpack(arg) if Arr == nil then error('Not arguments trying to find "'..val..'"') --It doesn't require translation, only for degug end local Idx = 0 for I, W in ipairs(Arr) do if p.SFoundInTNTArr (TNTTab, val, CaseSensitive, W) then Idx = I break end end return Idx end --IdxFromTabTrans return p 3xzzezqpj9rjg5fdhn3qojkztc7v0yu 309767 309766 2026-09-26T17:52:43Z Isma4l 41797 309767 Scribunto text/plain require('strict') local p = {} local TNT = require('Module:TNT') function p.TNTTabFull (TNTTab) if (string.sub(TNTTab, 1, 5)) ~= 'I18n/' then TNTTab = 'I18n/'..TNTTab end if (string.sub(TNTTab, -4)) ~= '.tab' then TNTTab = TNTTab..'.tab' end return TNTTab end --TNTTabFull function p.TNTTabCommons (TNTTab) return 'Commons:Data:'..p.TNTTabFull(TNTTab) end function p.LnkTNTTab (TNTTab) return '[['..p.TNTTabCommons(TNTTab)..']]' end local function I18nStr (TNTTab, S, IsMsg, params) TNTTab = p.TNTTabFull (TNTTab) local SEnd = TNT.format(TNTTab, S, unpack(params)) or '' if SEnd == '' then SEnd = TNT.formatInLanguage('en',TNTTab, S, unpack(params)) if IsMsg then local icon = '[[File:Arbcom ru editing.svg|12px|Lama helin "'..S..'" luqaddan. Riix halkan si aad wax uga beddesho.|link='..p.TNTTabCommons(TNTTab)..']]' SEnd = SEnd..icon end end return SEnd end --I18nStr function p.GetMsgP (TNTTab, S, ...) return I18nStr (TNTTab, S, true, {...}) end function p.GetStrP (TNTTab, S, ...) return I18nStr (TNTTab, S, false, {...}) end function p.TabTransCS (TNTTab, S, CaseSensitive) if CaseSensitive == nil then CaseSensitive = true end local Wds = TNT.format (p.TNTTabFull(TNTTab), S) if not CaseSensitive then Wds = string.lower (Wds) end return mw.text.split (Wds, '|') end --TabTransCS function p.TabTransMT (TNTTab, S, MaxTrans) local FN = p.TNTTabFull(TNTTab) local tab = mw.text.split (TNT.format (FN, S), '|') if #tab > MaxTrans then error (string.format('Waxaa la helay %s turjumaadood oo ah "%s". Ka raadi [[:commons:data:%s]]', #tab, S, FN)) -- Turjumaad looma baahna end return tab end --TabTransMT function p.SFoundInTNTArr (TNTTab, val, CaseSensitive, S) if (S == nil) or (S == '') then error('Ma jiro halbeeg lagu raadinayo "'..val..'"') -- Uma baahna turjumaad, waa cabbirid (debug) keliya end local Arr = p.TabTransCS (TNTTab, S, CaseSensitive) if not CaseSensitive then val = string.lower (val) end for I, W in ipairs(Arr) do if W == val then return true end end return false end --SFoundInTNTArr function p.IdxFromTabTrans (TNTTab, val, CaseSensitive, ...) local Arr = { ... } if #Arr == 0 then error('Ma jiro halbeeg lagu raadinayo "'..val..'"') -- Uma baahna turjumaad, waa cabbirid (debug) keliya end local Idx = 0 for I, W in ipairs(Arr) do if p.SFoundInTNTArr (TNTTab, val, CaseSensitive, W) then Idx = I break end end return Idx end --IdxFromTabTrans return p r2fsbeaj01v4n917tcdjn7715tjxilw 309768 309767 2026-09-26T17:54:33Z Isma4l 41797 309768 Scribunto text/plain require('strict') local p = {} local TNT = require('Module:TNT') function p.TNTTabFull (TNTTab) if (string.sub(TNTTab, 1, 5)) ~= 'I18n/' then TNTTab = 'I18n/'..TNTTab end if (string.sub(TNTTab, -4)) ~= '.tab' then TNTTab = TNTTab..'.tab' end return TNTTab end --TNTTabFull function p.TNTTabCommons (TNTTab) return 'Commons:Data:'..p.TNTTabFull(TNTTab) end function p.LnkTNTTab (TNTTab) return '[['..p.TNTTabCommons(TNTTab)..']]' end local function I18nStr (TNTTab, S, IsMsg, params) TNTTab = p.TNTTabFull (TNTTab) local SEnd = TNT.format(TNTTab, S, unpack(params)) or '' if SEnd == '' then SEnd = TNT.formatInLanguage('so',TNTTab, S, unpack(params)) if IsMsg then local icon = '[[File:Arbcom ru editing.svg|12px|Lama helin "'..S..'" luqaddan. Riix halkan si aad wax uga beddesho.|link='..p.TNTTabCommons(TNTTab)..']]' SEnd = SEnd..icon end end return SEnd end --I18nStr function p.GetMsgP (TNTTab, S, ...) return I18nStr (TNTTab, S, true, {...}) end function p.GetStrP (TNTTab, S, ...) return I18nStr (TNTTab, S, false, {...}) end function p.TabTransCS (TNTTab, S, CaseSensitive) if CaseSensitive == nil then CaseSensitive = true end local Wds = TNT.format (p.TNTTabFull(TNTTab), S) if not CaseSensitive then Wds = string.lower (Wds) end return mw.text.split (Wds, '|') end --TabTransCS function p.TabTransMT (TNTTab, S, MaxTrans) local FN = p.TNTTabFull(TNTTab) local tab = mw.text.split (TNT.format (FN, S), '|') if #tab > MaxTrans then error (string.format('Waxaa la helay %s turjumaadood oo ah "%s". Ka raadi [[:commons:data:%s]]', #tab, S, FN)) -- Turjumaad looma baahna end return tab end --TabTransMT function p.SFoundInTNTArr (TNTTab, val, CaseSensitive, S) if (S == nil) or (S == '') then error('Ma jiro halbeeg lagu raadinayo "'..val..'"') -- Uma baahna turjumaad, waa cabbirid (debug) keliya end local Arr = p.TabTransCS (TNTTab, S, CaseSensitive) if not CaseSensitive then val = string.lower (val) end for I, W in ipairs(Arr) do if W == val then return true end end return false end --SFoundInTNTArr function p.IdxFromTabTrans (TNTTab, val, CaseSensitive, ...) local Arr = { ... } if #Arr == 0 then error('Ma jiro halbeeg lagu raadinayo "'..val..'"') -- Uma baahna turjumaad, waa cabbirid (debug) keliya end local Idx = 0 for I, W in ipairs(Arr) do if p.SFoundInTNTArr (TNTTab, val, CaseSensitive, W) then Idx = I break end end return Idx end --IdxFromTabTrans return p 5bezyl0ai26muravmfr60ltfn60yvkk 309769 309768 2026-09-26T17:57:48Z Isma4l 41797 309769 Scribunto text/plain require('strict') local p = {} local TNT = require('Module:TNT') function p.TNTTabFull (TNTTab) if (string.sub(TNTTab, 1, 5)) ~= 'I18n/' then TNTTab = 'I18n/'..TNTTab end if (string.sub(TNTTab, -4)) ~= '.tab' then TNTTab = TNTTab..'.tab' end return TNTTab end --TNTTabFull function p.TNTTabCommons (TNTTab) return 'Commons:Data:'..p.TNTTabFull(TNTTab) end function p.LnkTNTTab (TNTTab) return '[['..p.TNTTabCommons(TNTTab)..']]' end local function I18nStr (TNTTab, S, IsMsg, params) TNTTab = p.TNTTabFull (TNTTab) local SEnd = TNT.format(TNTTab, S, unpack(params)) or '' if SEnd == '' then SEnd = TNT.formatInLanguage('so',TNTTab, S, unpack(params)) if IsMsg then local icon = '[[File:Arbcom ru editing.svg|12px|Lama helin "'..S..'" luqadda hadda jirta. Halkan guji si aad u tafatirto.|link='..p.TNTTabCommons(TNTTab)..']]' SEnd = SEnd..icon end end return SEnd end --I18nStr function p.GetMsgP (TNTTab, S, ...) return I18nStr (TNTTab, S, true, {...}) end function p.GetStrP (TNTTab, S, ...) return I18nStr (TNTTab, S, false, {...}) end function p.TabTransCS (TNTTab, S, CaseSensitive) CaseSensitive = ((CaseSensitive ~= nil) and (CaseSensitive == true)) or true local Wds = TNT.format (p.TNTTabFull(TNTTab), S) if not CaseSensitive then Wds = string.lower (Wds) end return mw.text.split (Wds, '|') end --TabTransCS function p.TabTransMT (TNTTab, S, MaxTrans) local FN = p.TNTTabFull(TNTTab) local tab = mw.text.split (TNT.format (FN, S), '|') if #tab > MaxTrans then error (string.format('Waxaa la helay %s tarjumaad oo loogu talagalay "%s". Ka raadi [[:commons:data:%s]]',#tab,S,FN)) -- Tarjumaad looma baahna end return tab end --TabTransMT function p.SFoundInTNTArr (TNTTab, val, CaseSensitive, S) if (S == nil) or (S == '') then error('Doodo lama siin iyadoo la isku dayayo in la helo "'..val..'"') --Uma baahna tarjumaad, kaliya khalad-saaris end local Arr = p.TabTransCS (TNTTab, S, CaseSensitive) if not CaseSensitive then val = string.lower (val) end for I, W in ipairs(Arr) do if W == val then return true end end return false end --SFoundInTNTArr function p.IdxFromTabTrans (TNTTab, val, CaseSensitive, ...) local Arr = unpack(arg) if Arr == nil then error('Doodo lama siin iyadoo la isku dayayo in la helo "'..val..'"') --Uma baahna tarjumaad, kaliya khalad-saaris end local Idx = 0 for I, W in ipairs(Arr) do if p.SFoundInTNTArr (TNTTab, val, CaseSensitive, W) then Idx = I break end end return Idx end --IdxFromTabTrans return p 4s1r8npazzte2afx52h53a6ee39t9ow Template:BrewerColors 10 53344 309770 2026-09-26T17:58:37Z Isma4l 41797 Bog cusub: <includeonly>{{safesubst:#invoke:BrewerColors|ShowColors}}</includeonly><noinclude> {{documentation}} </noinclude> 309770 wikitext text/x-wiki <includeonly>{{safesubst:#invoke:BrewerColors|ShowColors}}</includeonly><noinclude> {{documentation}} </noinclude> jwlvkyekkcc1raapzv9kstbcqs3volr Template:Choropleth map 10 53345 309771 2026-09-26T17:59:08Z Isma4l 41797 Bog cusub: <includeonly>{{#invoke:ChoroplethMap|main | entities = {{{countries|{{{states|{{{provinces|}}}}}}}}} }}</includeonly><noinclude>{{Documentation}}</noinclude> 309771 wikitext text/x-wiki <includeonly>{{#invoke:ChoroplethMap|main | entities = {{{countries|{{{states|{{{provinces|}}}}}}}}} }}</includeonly><noinclude>{{Documentation}}</noinclude> traxz1afooidpnm17gf0nlqxwlpcvb9 Module:ChoroplethMap 828 53346 309772 2026-09-26T17:59:46Z Isma4l 41797 Bog cusub: -- Module:ChoroplethMap generates colored maps of countries and other entities -- Documentation and master version: https://en.wikipedia.org/wiki/Module:ChoroplethMap -- License: GPL-3.0 (https://www.gnu.org/licenses/gpl-3.0.html) -- Author: User:Sophivorus (https://meta.wikimedia.org/wiki/User:Sophivorus) local ChoroplethMap = {} local lang = mw.getContentLanguage() -- Helper function to get an argument -- Arguments from Lua calls have priority over parent arguments from temp... 309772 Scribunto text/plain -- Module:ChoroplethMap generates colored maps of countries and other entities -- Documentation and master version: https://en.wikipedia.org/wiki/Module:ChoroplethMap -- License: GPL-3.0 (https://www.gnu.org/licenses/gpl-3.0.html) -- Author: User:Sophivorus (https://meta.wikimedia.org/wiki/User:Sophivorus) local ChoroplethMap = {} local lang = mw.getContentLanguage() -- Helper function to get an argument -- Arguments from Lua calls have priority over parent arguments from templates local function getArg( key, default ) local frame = mw.getCurrentFrame() local parent = frame:getParent() for k, value in pairs( parent.args ) do if k == key and mw.text.trim( value ) ~= '' then return value end end for k, value in pairs( frame.args ) do if k == key and mw.text.trim( value ) ~= '' then return value end end return default end -- Get geographical data from Commons -- and make an index to optimize search local source = getArg( 'source', 'ChoroplethMap (without Crimea).map' ) local sourceFeatures = mw.ext.data.get( source ).data.features local sourceIndex = {} for i = 0, #sourceFeatures do -- don't use ipairs because it starts at 1 local feature = sourceFeatures[ i ] if feature.properties.wikidata then sourceIndex[ feature.properties.wikidata ] = i end if feature.properties.iso_a2 then sourceIndex[ feature.properties.iso_a2 ] = i end if feature.properties.name then sourceIndex[ feature.properties.name ] = i end end -- Helper function to get the Wikidata id of an entity local function getID( entity ) if not entity then return end entity = mw.text.trim( entity ) if entity == '' then return end if string.match( entity, '^Q%d+$' ) then return entity end local index = sourceIndex[ entity ] if index then local feature = sourceFeatures[ index ] return feature.properties.wikidata end return mw.wikibase.getEntityIdForTitle( entity ) end function ChoroplethMap.main( frame ) -- Get the arguments local entities = getArg( 'entities' ) local color = getArg( 'color', '#f00' ) local view = getArg( 'view', 'Q2' ) -- Q2 is the Wikidata item for the Earth local latitude = getArg( 'latitude' ) local longitude = getArg( 'longitude' ) local zoom = getArg( 'zoom' ) local width = getArg( 'width', '250' ) local height = getArg( 'height', '200' ) local align = getArg( 'align' ) local frameless = getArg( 'frameless' ) local mapstyle = getArg( 'mapstyle' ) local alt = getArg( 'alt' ) local caption = getArg( 'caption' ) local legends = getArg( 'legends' ) local logarithmicScale = getArg( 'logarithmic-scale' ) local minOpacity = getArg( 'min-opacity', '0' ) -- Parse the entities into a clean data table local data = {} if entities then -- If any color directive is an absolute value -- we need to figure out what the top value is -- before we can color any of them local topValue for entity in mw.text.gsplit( entities, '[;\n]' ) do entity = mw.text.trim( entity ) local value = entity:match( '^([0-9.,]-) *: *.+$' ) if value then value = lang:parseFormattedNumber( value ) if not topValue or value > topValue then topValue = value end end end local opacity = .7 local value local min = lang:parseFormattedNumber( minOpacity ) for entity in mw.text.gsplit( entities, '[;\n]' ) do entity = mw.text.trim( entity ) if entity ~= '' then local colorPart, entityPart = entity:match( '^([#0-9A-Za-z .,%%]-) *: *(.+)$' ) if colorPart and entityPart then if colorPart:match( '^([0-9.,]+) ?%%$' ) then value = colorPart local plainValue = lang:parseFormattedNumber( mw.text.trim( value, '%%' ) ) if logarithmicScale then opacity = min + ( math.log( math.max( plainValue, 1 ) ) / math.log( 100 ) ) * ( 1 - min ) else opacity = min + ( plainValue / 100 ) * ( 1 - min ) end elseif colorPart:match( '^[0-9.,]+$' ) then value = colorPart local plainValue = lang:parseFormattedNumber( value ) if logarithmicScale then opacity = min + ( math.log( math.max( plainValue, 1 ) ) / math.log( topValue ) ) * ( 1 - min ) else opacity = min + ( plainValue / topValue ) * ( 1 - min ) end else color = colorPart value = nil opacity = .7 end entity = entityPart end local id = getID( entity ) if id then local title = mw.wikibase.getSitelink( id ) local label = mw.wikibase.getLabel( id ) table.insert( data, { id = id, title = title, label = label, value = value, color = color, opacity = opacity } ) end end end end -- Make the features local features = {} local done = {} -- Make the view feature if view ~= 'auto' then local viewID = getID( view ) local viewIndex = sourceIndex[ viewID ] local viewFeature if viewIndex then viewFeature = sourceFeatures[ viewIndex ] viewFeature.properties[ 'fill-opacity' ] = 0 viewFeature.properties[ 'stroke-opacity' ] = 0 else viewFeature = { [ 'type' ] = 'ExternalData', [ 'service' ] = 'geoshape', [ 'ids' ] = viewID, [ 'properties' ] = { [ 'fill-opacity' ] = 0, [ 'stroke-opacity' ] = 0 } } end table.insert( features, viewFeature ) done[ viewID ] = true end -- Make the entity features for _, entity in ipairs( data ) do if not done[ entity.id ] then local entityFeature local entityWikitext = '[[' .. entity.title .. '|' .. entity.label .. ']]' .. ( entity.value and ( '<br>' .. entity.value ) or '' ) local entityIndex = sourceIndex[ entity.id ] if entityIndex then entityFeature = sourceFeatures[ entityIndex ] entityFeature.properties[ 'title' ] = entityWikitext entityFeature.properties[ 'fill' ] = entity.color entityFeature.properties[ 'fill-opacity' ] = entity.opacity entityFeature.properties[ 'stroke-width' ] = 0.1 else entityFeature = { [ 'type' ] = 'ExternalData', [ 'service' ] = 'geoshape', [ 'ids' ] = entity.id, [ 'properties' ] = { [ 'title' ] = entityWikitext, [ 'fill' ] = entity.color, [ 'fill-opacity' ] = entity.opacity, [ 'stroke-width' ] = 0.1 } } end table.insert( features, entityFeature ) done[ entity.id ] = true end end local json = mw.text.jsonEncode( features ) -- Build the automatic legends if legends then -- First look for repeated colors local legendsData = {} for _, entity in ipairs( data ) do local repeated for _, legendData in ipairs( legendsData ) do if legendData.color == entity.color and legendData.opacity == entity.opacity then repeated = legendData break end end if repeated then repeated.wikitext = repeated.wikitext .. ', [[' .. entity.title .. '|' .. entity.label .. ']]' else local legendData = { [ 'wikitext' ] = '[[' .. entity.title .. '|' .. entity.label .. ']]', [ 'value' ] = entity.value, [ 'color' ] = entity.color, [ 'opacity' ] = entity.opacity } table.insert( legendsData, legendData ) end end legends = mw.html.create( 'div' ) legends:css( 'column-width', '250px' ) for _, legendData in ipairs( legendsData ) do local colorBox = mw.html.create( 'span' ) colorBox:css( 'background', legendData.color ) colorBox:css( 'display', 'inline-block' ) colorBox:css( 'margin-right', '.5em' ) colorBox:css( 'opacity', legendData.opacity ) colorBox:css( 'vertical-align', 'middle' ) colorBox:css( 'width', '1em' ) colorBox:css( 'height', '1em' ) local wikitext = legendData.wikitext if legendData.value then local message = '$1: $2' if lang:getCode() == 'fr' then message = '$1 : $2' end wikitext = mw.message.newRawMessage( message, legendData.value, wikitext ):plain() end local legend = mw.html.create( 'div' ) legend:node( colorBox ) legend:wikitext( wikitext ) legends:node( legend ) end legends = tostring( legends ) if caption then caption = caption .. legends else caption = legends end end local attributes = { [ 'latitude' ] = latitude, [ 'longitude' ] = longitude, [ 'zoom' ] = zoom, [ 'width' ] = width, [ 'height' ] = height, [ 'align' ] = align, [ 'text' ] = caption, [ 'alt' ] = alt, [ 'frameless' ] = frameless, [ 'mapstyle' ] = mapstyle } return frame:extensionTag( 'mapframe', json, attributes ) end return ChoroplethMap ohmuf97lvz7b53vfzi91zcv5ckispf8 Uğurcan Çakır 0 53347 309773 2026-09-26T20:33:19Z Dalsoore 5358 Uğurcan Çakır 309773 wikitext text/x-wiki {{short description|Turkish footballer (born 1996)}}{{Use dmy dates|date=June 2024}}{{Infobox football biography|name=Uğurcan Çakır|image=Uğurcan Çakır - beIN-Sports-Reklam (2021) (cropped).png|upright=|caption=Çakır with [[Trabzonspor]] in 2021|full_name=|birth_date={{birth date and age|df=yes|1996|04|05}}|birth_place=[[Antalya]], Turkey|height=1.91 m<ref>{{cite web |url=https://www.uefa.com/euro2024/teams/players/250078452--ugurcan-cakir/ |title=Uğurcan Çakır |publisher=[[UEFA]] |access-date=8 June 2024 }}</ref>|position=[[Goalkeeper (association football)|Goalkeeper]]|currentclub=[[Galatasaray S.K. (football)|Galatasaray]]|clubnumber=1|youthyears1=2008–2009|youthclubs1=Çekmeköyspor|youthyears2=2009–2011|youthclubs2=Yamanspor|youthyears3=2011–2012|youthclubs3=[[1461 Trabzon]]|youthyears4=2012–2014|youthclubs4=[[Trabzonspor]]|years1=2014–2025|clubs1=[[Trabzonspor]]|caps1=235|goals1=0|years2=2016|clubs2=→ [[1461 Trabzon]] (loan)|caps2=8|goals2=0|years3=2025–|clubs3=[[Galatasaray S.K. (football)|Galatasaray]]|caps3=25|goals3=0|nationalyears1=2013–2014|nationalteam1=[[Turkey national under-19 football team|Turkey U19]]|nationalcaps1=3|nationalgoals1=0|nationalyears2=2014|nationalteam2=[[Turkey national under-20 football team|Turkey U20]]|nationalcaps2=2|nationalgoals2=0|nationalyears3=2017|nationalteam3=[[Turkey national under-21 football team|Turkey U21]]|nationalcaps3=4|nationalgoals3=0|nationalyears4=2019–|nationalteam4=[[Turkey national football team|Turkey]]|nationalcaps4=42|nationalgoals4=0|club-update=9 May 2026|nationalteam-update=25 June 2026}} '''Uğurcan Çakır''' (Dhashay 5 April 1996) Waa ciyaaryahan banooni oo u dhashay wadanka [[Turkiga]]. wuxuuna hadda gool haye uga ciyaaraa kooxda [[Galatasaray SK|Galatasaray]] ee ka dhisan dalka [[Istanbuul|Istanbul]] iyo xulka qaranka dalka Turkiga. lgxa7qehp77aw40sd2ea8ghn5du4i6z