From 2ded0d6fe7aab2a450959cd71a6610bce1dc5a70 Mon Sep 17 00:00:00 2001 From: CasperMcFadden95 <145611964+CasperMcFadden95@users.noreply.github.com> Date: Mon, 24 Mar 2025 09:51:59 +0000 Subject: [PATCH 01/85] Update ma.m3u --- streams/ma.m3u | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/streams/ma.m3u b/streams/ma.m3u index 1432ae056..18afe9253 100644 --- a/streams/ma.m3u +++ b/streams/ma.m3u @@ -9,9 +9,9 @@ http://154.197.91.168:7001/play/a0fn/index.m3u8 http://154.197.91.168:7001/play/a0f5/index.m3u8 #EXTINF:-1 tvg-id="AlAoulaInter.ma",Al Aoula International (480p) https://cdn.live.easybroadcast.io/abr_corp/73_aloula_w1dqfwm/playlist_dvr.m3u8 -#EXTINF:-1 tvg-id="AlAoula.ma",Al Aoula Laâyoune (1080p) +#EXTINF:-1 tvg-id="LaayouneTV.ma",Al Aoula Laâyoune (1080p) http://154.197.91.168:7001/play/a0f6/index.m3u8 -#EXTINF:-1 tvg-id="AlAoula.ma",Al Aoula Laâyoune (480p) +#EXTINF:-1 tvg-id="LaayouneTV.ma",Al Aoula Laâyoune (480p) https://cdn.live.easybroadcast.io/abr_corp/73_laayoune_pgagr52/playlist_dvr.m3u8 #EXTINF:-1 tvg-id="AlMaghribia.ma",Al Maghribia (1080p) http://154.197.91.168:7001/play/a0f9/index.m3u8 From 627ba9baecc71c157a70dbb38ca37df8229d9726 Mon Sep 17 00:00:00 2001 From: Carlinhos027 <111005658+Carlinhos027@users.noreply.github.com> Date: Thu, 27 Mar 2025 17:02:33 +0100 Subject: [PATCH 02/85] Update gp.m3u --- streams/gp.m3u | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/streams/gp.m3u b/streams/gp.m3u index dc266db2e..959086c18 100644 --- a/streams/gp.m3u +++ b/streams/gp.m3u @@ -1,6 +1,6 @@ #EXTM3U #EXTINF:-1 tvg-id="ETV.gp",ETV (1080p) -https://edge.vedge.infomaniak.com/livecast/ik:etvgp/manifest.m3u8 +https://edge12.vedge.infomaniak.com/livecast/ik:etvgp/manifest.m3u8 #EXTINF:-1 tvg-id="MadrasFMTV.gp",Madras FM TV (1080p) https://edge12.vedge.infomaniak.com/livecast/ik:madrasfmtv/manifest.m3u8 #EXTINF:-1 tvg-id="RadioTVBasseTerre.gp",Radio TV Basse-Terre (720p) From a8fcb2e1af6e9870716eb56bfd9a2cabe86116f0 Mon Sep 17 00:00:00 2001 From: Carlinhos027 <111005658+Carlinhos027@users.noreply.github.com> Date: Thu, 27 Mar 2025 17:12:53 +0100 Subject: [PATCH 03/85] Update bq.m3u --- streams/bq.m3u | 2 ++ 1 file changed, 2 insertions(+) diff --git a/streams/bq.m3u b/streams/bq.m3u index 213e8d25d..aeaec8774 100644 --- a/streams/bq.m3u +++ b/streams/bq.m3u @@ -9,3 +9,5 @@ https://sincerecloud.stream/loadbalancer/public/actMdyoE.m3u8 https://media.streambrothers.com:1936/8014/8014/playlist.m3u8 #EXTINF:-1 tvg-id="NosTVBonaire.bq",Nos TV Bonaire (1080p) http://streaming.flamingotv.net/nostv/live.m3u8 +#EXTINF:-1 tvg-id="VozDiBonaireTV.bq",Voz Di Bonaire TV (720p) +https://tv.westream.cloud/VozdiBonaireTV/VozdiBonaireTV.m3u8 From 47e5581925e6148007844887deecef3d37bd5fdb Mon Sep 17 00:00:00 2001 From: Carlinhos027 <111005658+Carlinhos027@users.noreply.github.com> Date: Thu, 27 Mar 2025 17:34:45 +0100 Subject: [PATCH 04/85] Update aw.m3u --- streams/aw.m3u | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/streams/aw.m3u b/streams/aw.m3u index 1ad27f037..3984dec6f 100644 --- a/streams/aw.m3u +++ b/streams/aw.m3u @@ -3,6 +3,8 @@ https://cdn01.setar.aw/Canal49/canal49/playlist.m3u8 #EXTINF:-1 tvg-id="ArubaTVPlus.aw",ArubaTV + (1080p) https://livertmptwo.com:19360/atvplusrelay/atvplusrelay.m3u8 +#EXTINF:-1 tvg-id="BalchiTV.aw",Balchi TV (720p) +https://livertmptwo.com:19360/balchirelaytv/balchirelaytv.m3u8 #EXTINF:-1 tvg-id="CoolFM989.aw",Cool FM 98.9 (720p) https://live2.tensila.com/cool-v-1.arubara/hls/master.m3u8 #EXTINF:-1 tvg-id="",Dushi TV (720p) @@ -25,3 +27,6 @@ https://backend-server-dot-telearuba-app.appspot.com/media/livestream13/playlist https://cdn01.setar.aw/Telearuba/telearuba/playlist.m3u8 #EXTINF:-1 tvg-id="VIPTV.aw",VIP TV (720p) https://ed5ov1.live.opencaster.com/bkyqeDgfaukC/index.m3u8 +#EXTINF:-1 tvg-id="X1027FM.aw" http-referrer="https://player.castr.com/live_21e811c0d60d11eeaa1a471c2c967e4a",X 102.7 FM (720p) [Not 24/7] +#EXTVLCOPT:http-referrer=https://player.castr.com/live_21e811c0d60d11eeaa1a471c2c967e4a +https://stream.castr.com/65dee3aad6beacddbd6cd1af/live_21e811c0d60d11eeaa1a471c2c967e4a/index.m3u8 From 361390ff40dd74a36d13bb27674bcfbde9a0f1d3 Mon Sep 17 00:00:00 2001 From: Carlinhos027 <111005658+Carlinhos027@users.noreply.github.com> Date: Thu, 27 Mar 2025 17:40:06 +0100 Subject: [PATCH 05/85] Update vg.m3u --- streams/vg.m3u | 2 ++ 1 file changed, 2 insertions(+) diff --git a/streams/vg.m3u b/streams/vg.m3u index a14734a32..e4daa41b5 100644 --- a/streams/vg.m3u +++ b/streams/vg.m3u @@ -1,3 +1,5 @@ #EXTM3U +#EXTINF:-1 tvg-id="CBNGospel.vg",CBN Gospel (720p) +https://59d39900ebfb8.streamlock.net/ccbn/ccbn/playlist.m3u8 #EXTINF:-1 tvg-id="CBNTV.vg",CBN TV (720p) https://5790d294af2dc.streamlock.net/CBNVI/CBNVI/playlist.m3u8 From 30ce86d0dbadce69b4e6be6539e8c8f23dff3bb4 Mon Sep 17 00:00:00 2001 From: Carlinhos027 <111005658+Carlinhos027@users.noreply.github.com> Date: Thu, 27 Mar 2025 17:59:47 +0100 Subject: [PATCH 06/85] Update sx.m3u --- streams/sx.m3u | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/streams/sx.m3u b/streams/sx.m3u index b9e537967..83050b955 100644 --- a/streams/sx.m3u +++ b/streams/sx.m3u @@ -1,11 +1,21 @@ #EXTM3U #EXTINF:-1 tvg-id="981PearlFM.sx",98.1 Pearl FM (720p) https://live2.tensila.com/pearl-v-1.pearlfm/hls/live/mystream.m3u8 -#EXTINF:-1 tvg-id="",Canal 15 Sint Maarten +#EXTINF:-1 tvg-id="SXMTVBroadcast.sx",SXM TV Broadcast (720p) +https://5dcabf026b188.streamlock.net/Theodore/livestream/playlist.m3u8 +#EXTINF:-1 tvg-id="TV15.sx",TV15 (720p) http://198.255.80.170/FTX9_SXM-TV/index.m3u8 #EXTINF:-1 tvg-id="TVCARiB.sx",TVCARiB (720p) [Not 24/7] -https://tvc.mediacaribstream.com:5443/LiveApp/streams/678996728477322762133253.m3u8 +https://cdn.mycloudstream.io/hls/live/broadcast/s6nitpvn/index.m3u8 #EXTINF:-1 tvg-id="TVCARiBGospel.sx",TVCARiB Gospel (480p) [Not 24/7] -https://tvc.mediacaribstream.com:5443/LiveApp/streams/102810068706751773675303.m3u8 +https://cdn.mycloudstream.io/hls/live/broadcast/wokrhjkd/index.m3u8 #EXTINF:-1 tvg-id="TVCARiBLatino.sx",TVCARiB Latino (720p) [Not 24/7] -https://tvc.mediacaribstream.com:5443/LiveApp/streams/503041699392698464410277.m3u8 +https://cdn.mycloudstream.io/hls/live/broadcast/xn44vdc5/index.m3u8 +#EXTINF:-1 tvg-id="",TVCARiB Cinema (720p) [Not 24/7] +https://cdn.mycloudstream.io/hls/live/broadcast/l3vslw4i/index.m3u8 +#EXTINF:-1 tvg-id="",TVCARiB Kids & Teens (720p) [Not 24/7] +https://cdn.mycloudstream.io/hls/live/broadcast/nro19k2h/index.m3u8 +#EXTINF:-1 tvg-id="",TVCARiB Radio (720p) [Not 24/7] +https://cdn.mycloudstream.io/hls/live/broadcast/agf7yo9x/index.m3u8 +#EXTINF:-1 tvg-id="",Nolan Nanton Productions (720p) [Not 24/7] +https://cdn.mycloudstream.io/hls/live/broadcast/wbxpvv7l/index.m3u8 From 886ceec3a7140ba7490941dab07de9aa02fe964c Mon Sep 17 00:00:00 2001 From: CasperMcFadden95 <145611964+CasperMcFadden95@users.noreply.github.com> Date: Fri, 28 Mar 2025 06:56:33 +0000 Subject: [PATCH 07/85] Update ae.m3u --- streams/ae.m3u | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/streams/ae.m3u b/streams/ae.m3u index 81199159d..be5d0fd4e 100644 --- a/streams/ae.m3u +++ b/streams/ae.m3u @@ -3,9 +3,9 @@ https://vo-live.cdb.cdn.orange.com/Content/Channel/AbuDhabiChannel/HLS/index.m3u8 #EXTINF:-1 tvg-id="AbuDhabiEmirates.ae",Abu Dhabi Emirates (1080p) https://vo-live.cdb.cdn.orange.com/Content/Channel/EmiratesChannel/HLS/index.m3u8 -#EXTINF:-1 tvg-id="AbuDhabiSports1.ae",Abu Dhabi Sports 1 +#EXTINF:-1 tvg-id="AbuDhabiSports1.ae",Abu Dhabi Sports 1 (1080p) https://vo-live-media.cdb.cdn.orange.com/Content/Channel/AbuDhabiSportsChannel1/HLS/index.m3u8 -#EXTINF:-1 tvg-id="AbuDhabiSports2.ae",Abu Dhabi Sports 2 +#EXTINF:-1 tvg-id="AbuDhabiSports2.ae",Abu Dhabi Sports 2 (1080p) https://tr-live-route.adm.tcon.hlit.hvds.tv/Content/Channel/AbuDhabiSportsChannel2/DASH/master.mpd #EXTINF:-1 tvg-id="AbuDhabiSports2.ae",Abu Dhabi Sports 2 (1080p) https://vo-live.cdb.cdn.orange.com/Content/Channel/AbuDhabiSportsChannel2/HLS/index.m3u8 @@ -63,7 +63,7 @@ https://dmieigthvllta.cdn.mgmlcdn.com/dubaitvht/smil:dubaitv.stream.smil/chunkli https://dmiffthftl.cdn.mangomolo.com/dubaizaman/smil:dubaizaman.stream.smil/chunklist.m3u8 #EXTINF:-1 tvg-id="FujairahTV.ae",Fujairah TV (720p) https://live.kwikmotion.com/fujairahlive/fujairah.smil/playlist.m3u8 -#EXTINF:-1 tvg-id="JustVogueTV.ae",Just Vogue TV +#EXTINF:-1 tvg-id="JustVogueTV.ae",Just Vogue TV (1080p) https://ip100.radyotelekomtv.com:3873/stream/play.m3u8 #EXTINF:-1 tvg-id="Majid.ae",Majid TV (1080p) https://vo-live.cdb.cdn.orange.com/Content/Channel/MajidChildrenChannel/HLS/index.m3u8 From 27ad2fbf9e2bf72ba7bdfdaf7067c639a732aa5a Mon Sep 17 00:00:00 2001 From: Carlinhos027 <111005658+Carlinhos027@users.noreply.github.com> Date: Fri, 28 Mar 2025 17:06:48 +0100 Subject: [PATCH 08/85] Update bs.m3u --- streams/bs.m3u | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/streams/bs.m3u b/streams/bs.m3u index fcd718794..718da9105 100644 --- a/streams/bs.m3u +++ b/streams/bs.m3u @@ -1 +1,7 @@ #EXTM3U +#EXTINF:-1 tvg-id="GuardianTalkRadio.bs",Guardian Talk Radio (1080p) +https://cdn-edge1.streamcomedia.com/abr_tngr969fm/abr-tngr969fm_streams/playlist.m3u8 +#EXTINF:-1 tvg-id="IslandLuckTV.bs",Island Luck TV (1080p) [Geo-blocked] +https://islandluck-edge1.streamcomedia.com/abr_islandluck-ott/abr-islandluck-ott_streams/playlist.m3u8 +#EXTINF:-1 tvg-id="TheParliamentaryChannel.bs",The Parliamentary Channel (720p) [Not 24/7] +https://zns-edge1.streamcomedia.cloud/abr_parliamentarychannel/abr-parliament_streams/playlist.m3u8 From 2a9b8bc96b0ab15152385e565bf0df7eb9b755a1 Mon Sep 17 00:00:00 2001 From: Cristian Baldini Date: Fri, 28 Mar 2025 21:40:34 -0300 Subject: [PATCH 09/85] Update ar.m3u Fixing list with error between AlternaTV.ar and AiredeSantaFe.ar. --- streams/ar.m3u | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/streams/ar.m3u b/streams/ar.m3u index 5985586d2..b051df2b5 100644 --- a/streams/ar.m3u +++ b/streams/ar.m3u @@ -16,9 +16,9 @@ https://panel.dattalive.com/6605140/smil:6605140.smil/playlist.m3u8 #EXTVLCOPT:http-user-agent=iPhone https://g1.vxral-hor.transport.edge-access.net/a15/ngrp:a24-100056_all/a24-100056.m3u8 #EXTINF:-1 tvg-id="AiredeSantaFe.ar",Aire de Santa Fe (1080p) +https://unlimited1-us.dps.live/airedesantafetv/airedesantafetv.smil/playlist.m3u8 #EXTINF:-1 tvg-id="AlternaTV.ar",Alterna TV (720p) https://alternatv.ar/stream/hls/live.m3u8 -https://unlimited1-us.dps.live/airedesantafetv/airedesantafetv.smil/playlist.m3u8 #EXTINF:-1 tvg-id="Am1020.ar",Am1020 (360p) [Geo-blocked] http://51.79.83.93:9998/live/am1020/playlist.m3u8 #EXTINF:-1 tvg-id="AmericaTV.ar",America TV (480p) From eb7d02ff3eb39a073cd677f2d3f62435c77201c9 Mon Sep 17 00:00:00 2001 From: "iptv-bot[bot]" <84861620+iptv-bot[bot]@users.noreply.github.com> Date: Sat, 29 Mar 2025 00:47:23 +0000 Subject: [PATCH 10/85] [Bot] Update /streams Committed by [iptv-bot](https://github.com/apps/iptv-bot) via [update](https://github.com/iptv-org/iptv/actions/runs/14140414968) workflow. closes #20923, closes #20913, closes #20885, closes #20878, closes #20872, closes #20871, closes #20918, closes #20917, closes #20916, closes #20915, closes #20914, closes #20912, closes #20909, closes #20907, closes #20905, closes #20904, closes #20901, closes #20900, closes #20899, closes #20898, closes #20897, closes #20896, closes #20895, closes #20894, closes #20893, closes #20892, closes #20891, closes #20890, closes #20883, closes #20882, closes #20881, closes #20876 --- streams/ar.m3u | 2 -- streams/at.m3u | 2 -- streams/au.m3u | 20 -------------------- streams/cn.m3u | 2 ++ streams/jp_primehome.m3u | 2 -- streams/kr.m3u | 2 -- streams/ma.m3u | 4 ++++ streams/pl.m3u | 28 ++++++++++++++++++++++++++++ streams/sa.m3u | 16 ++++++++-------- streams/sk.m3u | 4 ++++ streams/so.m3u | 2 ++ streams/uk.m3u | 8 -------- streams/us.m3u | 2 ++ streams/vn.m3u | 2 ++ 14 files changed, 52 insertions(+), 44 deletions(-) diff --git a/streams/ar.m3u b/streams/ar.m3u index 5985586d2..74f995fe5 100644 --- a/streams/ar.m3u +++ b/streams/ar.m3u @@ -15,10 +15,8 @@ https://panel.dattalive.com/6605140/smil:6605140.smil/playlist.m3u8 #EXTINF:-1 tvg-id="A24.ar" http-user-agent="iPhone",A24 (720p) #EXTVLCOPT:http-user-agent=iPhone https://g1.vxral-hor.transport.edge-access.net/a15/ngrp:a24-100056_all/a24-100056.m3u8 -#EXTINF:-1 tvg-id="AiredeSantaFe.ar",Aire de Santa Fe (1080p) #EXTINF:-1 tvg-id="AlternaTV.ar",Alterna TV (720p) https://alternatv.ar/stream/hls/live.m3u8 -https://unlimited1-us.dps.live/airedesantafetv/airedesantafetv.smil/playlist.m3u8 #EXTINF:-1 tvg-id="Am1020.ar",Am1020 (360p) [Geo-blocked] http://51.79.83.93:9998/live/am1020/playlist.m3u8 #EXTINF:-1 tvg-id="AmericaTV.ar",America TV (480p) diff --git a/streams/at.m3u b/streams/at.m3u index 476527a7b..201f2439a 100644 --- a/streams/at.m3u +++ b/streams/at.m3u @@ -65,8 +65,6 @@ https://live1.markenfunk.com/t1/ngrp:live_all/playlist.m3u8 #EXTINF:-1 tvg-id="W24.at",W24 (720p) [Not 24/7] https://ms01.w24.at/W24/smil:liveevent.smil/playlist.m3u8 #EXTINF:-1 tvg-id="ORF1HD.at",ORF 1 HD -https://s6.hopslan.com/orfx1/index.m3u8 -#EXTINF:-1 tvg-id="ORF1HD.at",ORF 1 HD https://s6.hopslan.com/orfx11/index.m3u8 #EXTINF:-1 tvg-id="SteiermarkTV.at",Steiermark TV (1080p) https://h056.video-stream-hosting.de/easycast8-live/_definst_/mp4:livestreamhd4/playlist.m3u8?ref= diff --git a/streams/au.m3u b/streams/au.m3u index 49227d393..e2f267101 100644 --- a/streams/au.m3u +++ b/streams/au.m3u @@ -3,8 +3,6 @@ https://2gblive.akamaized.net/hls/live/2033805/2GB/index.m3u8 #EXTINF:-1 tvg-id="3AW.au",3AW Melbourne (1080p) https://3awlive.akamaized.net/hls/live/2032295/3AW/index.m3u8 -#EXTINF:-1 tvg-id="3TamilTV.au",3 Tamil TV (720p) [Not 24/7] -https://6n3yogbnd9ok-hls-live.5centscdn.com/threetamil/d0dbe915091d400bd8ee7f27f0791303.sdp/index.m3u8 #EXTINF:-1 tvg-id="6PR.au",6PR Perth (1080p) https://6prlive.akamaized.net/hls/live/2033806/6PR/index.m3u8 #EXTINF:-1 tvg-id="9GemSydney.au",9Gem (720p) [Geo-blocked] @@ -13,12 +11,8 @@ https://9now-livestreams.akamaized.net/hls/live/2008311/gem-syd/master.m3u8 https://9now-livestreams.akamaized.net/hls/live/2008312/go-syd/master.m3u8 #EXTINF:-1 tvg-id="9LifeSydney.au",9Life (720p) [Geo-blocked] https://9now-livestreams.akamaized.net/hls/live/2008313/life-syd/master.m3u8 -#EXTINF:-1 tvg-id="10BoldSydney.au",10 Bold (720p) [Geo-blocked] -https://i.mjh.nz/10bold-nsw.m3u8 #EXTINF:-1 tvg-id="10BoldAdelaide.au",10 Bold Adelaide (1080p) https://dce3793146fef017.mediapackage.us-west-2.amazonaws.com/out/v1/55cdf73af7894775ba6de8f57482b66a/CMAF_HLS/index.m3u8 -#EXTINF:-1 tvg-id="10PeachSydney.au",10 Peach (720p) [Geo-blocked] -https://i.mjh.nz/10peach-nsw.m3u8 #EXTINF:-1 tvg-id="ABCAustralia.au",ABC Australia https://abc-news-dmd-streams-1.akamaized.net/out/v1/701126012d044971b3fa89406a440133/index.m3u8 #EXTINF:-1 tvg-id="ABCMESydney.au",ABC Me (720p) @@ -41,8 +35,6 @@ https://c.mjh.nz/abc-wa.m3u8 https://c.mjh.nz/abc-tv-plus.m3u8 #EXTINF:-1 tvg-id="ABCTVNSW.au",ABC TV Sydney (720p) https://c.mjh.nz/abc-nsw.m3u8 -#EXTINF:-1 tvg-id="AUSTamilTV.au",AUS Tamil TV (720p) [Not 24/7] -https://bk7l2pn7dx53-hls-live.5centscdn.com/austamil/fe01ce2a7fbac8fafaed7c982a04e229.sdp/playlist.m3u8 #EXTINF:-1 tvg-id="AusbizTV.au",ausbiz TV (720p) [Not 24/7] https://d9quh89lh7dtw.cloudfront.net/public-output/index.m3u8 #EXTINF:-1 tvg-id="BloombergTVAustralia.au",Bloomberg TV Australia (270p) @@ -61,22 +53,14 @@ https://9now-livestreams-fhd-t.akamaized.net/u/prod/simulcast/mel/ch9/hls/r1/ind https://9now-livestreams-fhd-t.akamaized.net/u/prod/simulcast/per/ch9/hls/r1/index.m3u8 #EXTINF:-1 tvg-id="Channel9Sydney.au",Channel 9 Sydney (720p) [Geo-blocked] https://9now-livestreams-fhd-t.akamaized.net/u/prod/simulcast/syd/ch9/hls/r1/index.m3u8 -#EXTINF:-1 tvg-id="10Sydney.au",Channel 10 (720p) [Geo-blocked] -https://i.mjh.nz/10-nsw.m3u8 #EXTINF:-1 tvg-id="Channel44.au",Channel 44 (480p) https://d1k6kax80wecy5.cloudfront.net/WFqZJc/index.m3u8 #EXTINF:-1 tvg-id="ExpoChannel.au",Expo Channel (360p) https://tvsnhlslivetest.akamaized.net/hls/live/2034711/EXPO-MSL4/master.m3u8 -#EXTINF:-1 tvg-id="GOOD.au",GOOD. -https://i.mjh.nz/.r/good-dot.m3u8 #EXTINF:-1 tvg-id="HopeChannelAustralia.au",Hope Channel Australia (1080p) https://videodelivery.net/9fb3596948ddf463fde0ec4b85625b24/manifest/video.m3u8 #EXTINF:-1 tvg-id="IndoOzTV.au",Indo Oz TV (720p) https://stream.e2is.in/hls/indoztv.m3u8 -#EXTINF:-1 tvg-id="JonmoBhumiTV.au",JonmoBhumi TV (720p) [Not 24/7] -https://us170.jagobd.com:447/c3VydmVyX8RpbEU9Mi8xNy8yMDE0GIDU6RgzQ6NTAgdEoaeFzbF92YWxIZTO0U0ezN1IzMyfvcGVMZEJCTEFWeVN3PTOmdFsaWRtaW51aiPhnPTI/jonmobhumitv.stream/playlist.m3u8 -#EXTINF:-1 tvg-id="M4TVMalayalam.au",M4TV Malayalam (1080p) [Not 24/7] -https://app.m4stream.live/mfourmalayalamhls/live.m3u8 #EXTINF:-1 tvg-id="",Race Central TV (720p) [Not 24/7] https://nrpus.bozztv.com/36bay2/gusa-racecentral/index.m3u8 #EXTINF:-1 tvg-id="Racingcom.au",Racing.com (720p) @@ -93,15 +77,11 @@ https://skylivetab-new.akamaized.net/hls/live/2038780/sky1/index.m3u8 https://skylivetab-new.akamaized.net/hls/live/2038781/sky2/index.m3u8 #EXTINF:-1 tvg-id="SkyThoroughbredCentral.au",Sky Thoroughbred Central (720p) [Geo-blocked] https://skylivetab-new.akamaized.net/hls/live/2038782/stcsd/index.m3u8 -#EXTINF:-1 tvg-id="tickerNews.au",Ticker News (1080p) -https://cdn-uw2-prod.tsv2.amagi.tv/linear/amg01486-tickernews-tickernewsweb-ono/playlist.m3u8 #EXTINF:-1 tvg-id="",Travel & Food TV (720p) https://nrpus.bozztv.com/36bay2/gusa-moviemagictv/index.m3u8 #EXTINF:-1 tvg-id="TVSN.au",TVSN (1080p) https://tvsnhlslivetest.akamaized.net/hls/live/2034711/TVSN-MSL4/master.m3u8 #EXTINF:-1 tvg-id="TVSNBeauty.au",TVSN Beauty (1080p) https://live-tvsn.simplestreamcdn.com/live12/tvsnbeauty/bitrate1.isml/.m3u8 -#EXTINF:-1 tvg-id="",TVSN Catchup TV (1080p) -https://tvsnshowsvod.akamaized.net/CatchUpTV/TVSN-AU/2411171630/TVSN_2411171630.m3u8 #EXTINF:-1 tvg-id="TVSNJewellery.au",TVSN Jewellery (1080p) https://live-tvsn.simplestreamcdn.com/live13/tvsnjewellery/bitrate1.isml/.m3u8 diff --git a/streams/cn.m3u b/streams/cn.m3u index 5207a418e..68fe5740e 100644 --- a/streams/cn.m3u +++ b/streams/cn.m3u @@ -1569,3 +1569,5 @@ http://stream.lytv.net.cn/2/sd/live.m3u8 http://stream.qhbtv.com/adws/sd/live.m3u8 #EXTINF:-1 tvg-id="XizangTVChinese.cn",Xizang TV Chinese http://php.jdshipin.com/xztv.php?id=ws +#EXTINF:-1 tvg-id="NeiMonggolTV.cn",Nei Monggol TV +http://110.19.156.172:9901/tsfile/live/1003_1.m3u8 diff --git a/streams/jp_primehome.m3u b/streams/jp_primehome.m3u index 6aecb4c9d..a3f57c0aa 100644 --- a/streams/jp_primehome.m3u +++ b/streams/jp_primehome.m3u @@ -17,8 +17,6 @@ http://cdns.jp-primehome.com:8000/zhongying/live/playlist.m3u8?cid=bs04&isp=4 http://cdns.jp-primehome.com:8000/zhongying/live/playlist.m3u8?cid=bs05&isp=4 #EXTINF:-1 tvg-id="ChannelGinga.jp",Channel Ginga (1080p) http://cdns.jp-primehome.com:8000/zhongying/live/playlist.m3u8?cid=cs29&isp=4 -#EXTINF:-1 tvg-id="CNNj.jp",CNNj (544p) -http://cdns.jp-primehome.com:8000/zhongying/live/playlist.m3u8?cid=cs16&isp=4 #EXTINF:-1 tvg-id="DisneyChannel.jp",Disney Channel Japan (544p) http://cdns.jp-primehome.com:8000/zhongying/live/playlist.m3u8?cid=bs24&isp=4 #EXTINF:-1 tvg-id="EiseiGekijo.jp",Eisei Gekijo (544p) diff --git a/streams/kr.m3u b/streams/kr.m3u index 43e77ed70..8ca79b27d 100644 --- a/streams/kr.m3u +++ b/streams/kr.m3u @@ -86,8 +86,6 @@ https://live.jobplustv.or.kr/live/wowtvlive1.sdp/playlist.m3u8 #EXTINF:-1 tvg-id="KBS1TV.kr",KBS 1TV [Not 24/7] http://mytv.dothome.co.kr/ch/public/1.php #EXTINF:-1 tvg-id="KBS1TV.kr",KBS 1 UHD (720p) -http://202.60.106.14:8080/200/playlist.m3u8 -#EXTINF:-1 tvg-id="KBS1TV.kr",KBS 1 UHD (720p) http://202.60.106.14:21585/200/playlist.m3u8 #EXTINF:-1 tvg-id="KBS2TV.kr",KBS 2TV [Not 24/7] http://mytv.dothome.co.kr/ch/public/3.php diff --git a/streams/ma.m3u b/streams/ma.m3u index 1432ae056..2083ea24e 100644 --- a/streams/ma.m3u +++ b/streams/ma.m3u @@ -49,3 +49,7 @@ https://streaming2.medi1tv.com/live/smil:medi1tv.smil/playlist.m3u8 http://154.197.91.168:7001/play/a0fb/index.m3u8 #EXTINF:-1 tvg-id="TamazightTV.ma",Tamazight (480p) https://cdn.live.easybroadcast.io/abr_corp/73_tamazight_tccybxt/playlist_dvr.m3u8 +#EXTINF:-1 tvg-id="ChadaTV.ma",Chada TV (720p) +https://edge19.vedge.infomaniak.com/livecast/ik:chadatv/playlist.m3u8 +#EXTINF:-1 tvg-id="M24TV.ma",M24 TV (1080p) +https://67aac8c668349.streamlock.net/live/ngrp:Live2.stream_all/playlist.m3u8 diff --git a/streams/pl.m3u b/streams/pl.m3u index 26892e6cb..a42fda655 100644 --- a/streams/pl.m3u +++ b/streams/pl.m3u @@ -774,3 +774,31 @@ http://185.236.229.62:9981/play/a024 http://185.236.229.62:9981/play/a07s #EXTINF:-1 tvg-id="4FunDance.pl",4 Fun Dance (576p) http://185.236.229.62:9981/play/a020 +#EXTINF:-1 tvg-id="WorldofFreesports.pl",World of Freesports (1080p) +https://rakutenaa-mainstreammediafreesportsintl-rakuten-t7dc0.amagi.tv/playlist/rakutenAA-mainstreammediafreesportsintl-rakuten/playlist.m3u8 +#EXTINF:-1 tvg-id="PFLMMA.pl",PFL MMA (720p) +https://a883593c.wurl.com/master/f36d25e7e52f1ba8d7e56eb859c636563214f541/UmFrdXRlblRWLWV1X1BGTE1NQV9ITFM/playlist.m3u8 +#EXTINF:-1 tvg-id="TNAWrestlingChannel.pl",TNA Wrestling Channel (720p) +https://d39g1vxj2ef6in.cloudfront.net/v1/master/3fec3e5cac39a52b2132f9c66c83dae043dc17d4/prod-rakuten-stitched/master.m3u8?ads.xumo_channelId=88883039 +#EXTINF:-1 tvg-id="WorldBilliards.pl",World Billiards (720p) +https://9a81dd4ee3884d0dbcacafaf0d81327a.mediatailor.us-east-1.amazonaws.com/v1/master/04fd913bb278d8775298c26fdca9d9841f37601f/RakutenTV-eu_BilliardsTV/playlist.m3u8 +#EXTINF:-1 tvg-id="TOPBarca.pl",TOP Barca (1080p) +https://amg17560-fcb-amg17560c1-rakuten-uk-4891.playouts.now.amagi.tv/playlist/amg17560-fcbarcelona-topbarcaenglish-rakutenuk/playlist.m3u8 +#EXTINF:-1 tvg-id="ZeeOne.pl",Zee One (720p) +https://89ec2d15e090480bb419d940b8793b9c.mediatailor.us-east-1.amazonaws.com/v1/master/44f73ba4d03e9607dcd9bebdcb8494d86964f1d8/RakutenTV-eu_ZeeWorld-1/playlist.m3u8 +#EXTINF:-1 tvg-id="ShadesofBlack.pl",Shades of Black (1080p) +https://rakutenaa-fusemedia-shadesofblack-rakutena-giu24.amagi.tv/playlist/rakutenAA-fusemedia-shadesofblack-rakutenA/playlist.m3u8 +#EXTINF:-1 tvg-id="Revry.pl",Revry (720p) +https://99d8b4b6.wurl.com/master/f36d25e7e52f1ba8d7e56eb859c636563214f541/UmFrdXRlblRWLWV1X1JldnJ5X0hMUw/playlist.m3u8 +#EXTINF:-1 tvg-id="MonsterJam.pl",Monster Jam (720p) +https://4b9627c7.wurl.com/master/f36d25e7e52f1ba8d7e56eb859c636563214f541/UmFrdXRlblRWLWV1X01vbnN0ZXJKYW1fSExT/playlist.m3u8 +#EXTINF:-1 tvg-id="PeopleAreAwesome.pl",People Are Awesome (720p) +https://3ab76e42.wurl.com/master/f36d25e7e52f1ba8d7e56eb859c636563214f541/UmFrdXRlblRWLWV1X1Blb3BsZUFyZUF3ZXNvbWVfSExT/playlist.m3u8 +#EXTINF:-1 tvg-id="ThePetCollective.pl",The Pet Collective (720p) +https://6ec8627d.wurl.com/master/f36d25e7e52f1ba8d7e56eb859c636563214f541/UmFrdXRlblRWLWV1X1RoZVBldENvbGxlY3RpdmVfSExT/playlist.m3u8 +#EXTINF:-1 tvg-id="RakutenVIKI.pl",Rakuten VIKI (720p) +https://fd18f1cadd404894a31a3362c5f319bd.mediatailor.us-east-1.amazonaws.com/v1/master/04fd913bb278d8775298c26fdca9d9841f37601f/RakutenTV-eu_RakutenViki-1/playlist.m3u8 +#EXTINF:-1 tvg-id="ZNation.pl",Z Nation (720p) +https://d39g1vxj2ef6in.cloudfront.net/v1/master/3fec3e5cac39a52b2132f9c66c83dae043dc17d4/prod-rakuten-stitched/master.m3u8?ads.xumo_channelId=88883098 +#EXTINF:-1 tvg-id="LoneStar.pl",Lone Star (720p) +https://6b88cde9.wurl.com/master/f36d25e7e52f1ba8d7e56eb859c636563214f541/UmFrdXRlblRWLWV1X0xvbmVTdGFyX0hMUw/playlist.m3u8 diff --git a/streams/sa.m3u b/streams/sa.m3u index c3bf0d4da..5b55d7b68 100644 --- a/streams/sa.m3u +++ b/streams/sa.m3u @@ -3,8 +3,6 @@ https://d2hng5r56zpsbw.cloudfront.net/out/v1/9c4c990f44bb4767bb46271f326dd574/index.m3u8 #EXTINF:-1 tvg-id="AlHadath.sa",Al Arabiya Al Hadath (1080p) [Not 24/7] https://av.alarabiya.net/alarabiapublish/alhadath.smil/playlist.m3u8 -#EXTINF:-1 tvg-id="AlEkhbariya.sa",Al Ekhbariya (1080p) -https://al-ekhbaria-prod-dub.shahid.net/out/v1/d443f3203b444032896e3233cb6eaa84/index.m3u8 #EXTINF:-1 tvg-id="AlEkhbariya.sa",Al Ekhbariya (360p) https://cdn-globecast.akamaized.net/live/eds/al_ekhbariya/hls_roku/index.m3u8 #EXTINF:-1 tvg-id="AlHadath.sa",Al Hadath TV (1080p) @@ -23,10 +21,6 @@ http://m.live.net.sa:1935/live/quran/playlist.m3u8 https://cdn-globecast.akamaized.net/live/eds/saudi_quran/hls_roku/index.m3u8 #EXTINF:-1 tvg-id="AlRiyadhRadio.sa",Al Riyadh Radio (1080p) https://live.kwikmotion.com/sbrksariyadhradiolive/srpksariyadhradio/playlist.m3u8 -#EXTINF:-1 tvg-id="AlSaudiya.sa",Al Saudiya (1080p) [Not 24/7] -https://saudi-tv-prod-dub-enc.edgenextcdn.net/out/v1/5ae66b453b62403199811ab78da9982a/index.m3u8 -#EXTINF:-1 tvg-id="AlSaudiya.sa",Al Saudiya (1080p) [Not 24/7] -https://shls-masr2-ak.akamaized.net/out/v1/5ae66b453b62403199811ab78da9982a/index.m3u8 #EXTINF:-1 tvg-id="AlSaudiya.sa",Al Saudiya (360p) https://cdn-globecast.akamaized.net/live/eds/saudi_tv/hls_roku/index.m3u8 #EXTINF:-1 tvg-id="AlSunnahAlNabawiyahTV.sa",Al Sunnah Al Nabawiyah TV (1080p) @@ -103,8 +97,6 @@ rtmp://live.restream.io/pull/play_320121_94512612fd0e084bd284 https://thaqafeyyah-ak.akamaized.net/out/v1/f6851f68ada94f82ae6b64a441eb5ab1/index.m3u8 #EXTINF:-1 tvg-id="SaudiaRadio.sa",Saudia Radio (1080p) https://live.kwikmotion.com/sbrksasaudiaradiolive/srpksasaudiaradio/playlist.m3u8 -#EXTINF:-1 tvg-id="SBC.sa",SBC (1080p) [Not 24/7] -https://sbc-prod-dub-ak.akamaized.net/out/v1/2eb1ad0f29984a339bc0fce4ce94dcbb/index.m3u8 #EXTINF:-1 tvg-id="SSCActionWaleed.sa",SSC Action Waleed (1080p) [Not 24/7] https://shls-live-event2-prod-dub.shahid.net/out/v1/0456ede1a39145d98b3d8c8062ddc998/index.m3u8 #EXTINF:-1 tvg-id="Tarab.sa",Tarab (1080p) @@ -127,3 +119,11 @@ https://shls-live-enc.edgenextcdn.net/out/v1/ea4275b6dc0840c198c17f6dc6f1ec49/in https://shls-live-enc.edgenextcdn.net/out/v1/948c54279b594944adde578c95f1d7d1/index.m3u8 #EXTINF:-1 tvg-id="Aflam.sa",Aflam (1080p) https://shls-live-enc.edgenextcdn.net/out/v1/0044dd4b001a466c941ad77b04a574a2/index.m3u8 +#EXTINF:-1 tvg-id="AlSaudiyaAlaan.sa",Al Saudiya Alaan (1080p) +https://shd-gcp-live.edgenextcdn.net/live/bitmovin-ksa-now/71ed3aa814c643306c0a8bc4fcc7d17f/index.m3u8 +#EXTINF:-1 tvg-id="AlSaudiya.sa",Al Saudiya (1080p) +https://shd-gcp-live.edgenextcdn.net/live/bitmovin-saudi-tv/2ad66056b51fd8c1b624854623112e43/index.m3u8 +#EXTINF:-1 tvg-id="AlEkhbariya.sa",Al Ekhbariya (1080p) +https://shd-gcp-live.edgenextcdn.net/live/bitmovin-al-ekhbaria/297b3ef1cd0633ad9cfba7473a686a06/index.m3u8 +#EXTINF:-1 tvg-id="SBC.sa",SBC (1080p) +https://shd-gcp-live.edgenextcdn.net/live/bitmovin-sbc/90e09c0c28db26435799b4a14892a167/index.m3u8 diff --git a/streams/sk.m3u b/streams/sk.m3u index 5b8f4de3b..0a6540fa9 100644 --- a/streams/sk.m3u +++ b/streams/sk.m3u @@ -91,3 +91,7 @@ https://live.zstv.sk/memfs/5b0f9dd2-8f77-4fe5-9527-bc11bb8b18e5.m3u8 https://mmm-dk.otteravision.com/DexaYJdJXkLqFxTK_DuckTVHDSAMS/DuckTVHDSAMS.stream/playlist.m3u8 #EXTINF:-1 tvg-id="ducktv.sk",ducktv (720p) https://stream.ads.ottera.tv/playlist.m3u8?network_id=13168 +#EXTINF:-1 tvg-id="TA3.sk",TA3 (360p) +https://sktv.plainrock127.xyz/get.php?x=TA3 +#EXTINF:-1 tvg-id="Jednotka.sk",Jednotka (1080p) +https://sktv.plainrock127.xyz/get.php?x=STV1 diff --git a/streams/so.m3u b/streams/so.m3u index c1ceeff4b..5aa55f710 100644 --- a/streams/so.m3u +++ b/streams/so.m3u @@ -17,3 +17,5 @@ http://cdn.mediavisionuae.com:1935/live/sbctv.stream/playlist.m3u8 https://ap02.iqplay.tv:8082/iqb8002/s2tve/playlist.m3u8 #EXTINF:-1 tvg-id="SomaliNationalTV.so",Somali National TV (576p) https://ap02.iqplay.tv:8082/iqb8002/s4ne/playlist.m3u8 +#EXTINF:-1 tvg-id="ArlaadiTV.so",Arlaadi TV +https://ap02.iqplay.tv:8082/iqb8002/alr114iapp/playlist.m3u8 diff --git a/streams/uk.m3u b/streams/uk.m3u index ecfd8bfc2..b5b9fd661 100644 --- a/streams/uk.m3u +++ b/streams/uk.m3u @@ -84,14 +84,6 @@ https://live.playstop.me/LS-63503-4/index.m3u8 https://live.islamchannel.tv/live11/islamtv_english/bitrate1.isml/live.m3u8 #EXTINF:-1 tvg-id="IslamChannelUrdu.uk",Islam Channel Urdu https://live-islamtv-urdu.simplestreamcdn.com/live13/islamtv_urdu/bitrate1.isml/live.m3u8 -#EXTINF:-1 tvg-id="ITV1CentralHD.uk",ITV1 Central HD (1080p) -http://92.114.85.72:8000/play/a0lu -#EXTINF:-1 tvg-id="ITV2.uk",ITV2 -http://92.114.85.77:8000/play/a041 -#EXTINF:-1 tvg-id="ITV3.uk",ITV3 -http://92.114.85.77:8000/play/a04z -#EXTINF:-1 tvg-id="ITV3.uk",ITV3 -http://92.114.85.77:8000/play/a05z #EXTINF:-1 tvg-id="JewelleryMaker.uk",Jewelery Maker (1080p) https://lo2-1.gemporia.com/abrjewellerymaker/smil:livestream.smil/playlist.m3u8 #EXTINF:-1 tvg-id="KalsanTV.uk",Kalsan TV (576p) diff --git a/streams/us.m3u b/streams/us.m3u index 11984132b..8fd9e11d4 100644 --- a/streams/us.m3u +++ b/streams/us.m3u @@ -1012,3 +1012,5 @@ https://cdn-uw2-prod.tsv2.amagi.tv/linear/amg02873-kravemedia-mtrspt1-distrotv/p https://radiovid.foxnews.com/hls/live/661547/RADIOVID/index.m3u8 #EXTINF:-1 tvg-id="FoxNewsChannel.us",Fox News Channel (720p) https://v1.thetvapp.to/hls/FoxNewsChannel/index.m3u8 +#EXTINF:-1 tvg-id="MarqueeSportsNetwork.us",Marquee Sports Network +https://v15.thetvapp.to/hls/marquee-sports-network/index.m3u8 diff --git a/streams/vn.m3u b/streams/vn.m3u index 8ba1cf99e..2e0ec7d16 100644 --- a/streams/vn.m3u +++ b/streams/vn.m3u @@ -137,3 +137,5 @@ http://125hvt.ddns.net:21585/vtv9/tracks-v1a1/mono.m3u8 https://live.fptplay53.net/fnxch2/vtv3hd_abr.smil/chunklist_b4200000.m3u8 #EXTINF:-1 tvg-id="HTV9.vn",HTV9 (576p) http://125hvt.ddns.net:21585/htv9/index.m3u8 +#EXTINF:-1 tvg-id="VTV2.vn",VTV2 (1080p) [Geo-blocked] +https://live.fptplay53.net/fnxch2/vtv2hd_abr.smil/chunklist.m3u8 From f7b8ba1d9ae105248a3c83b9e7a0d966cb8ff4bc Mon Sep 17 00:00:00 2001 From: "iptv-bot[bot]" <84861620+iptv-bot[bot]@users.noreply.github.com> Date: Sat, 29 Mar 2025 00:47:23 +0000 Subject: [PATCH 11/85] [Bot] Update README.md Committed by [iptv-bot](https://github.com/apps/iptv-bot) via [update](https://github.com/iptv-org/iptv/actions/runs/14140414968) workflow. --- README.md | 212 +++++++++++++++++++++++++++--------------------------- 1 file changed, 108 insertions(+), 104 deletions(-) diff --git a/README.md b/README.md index 9b91168c2..fe725bbe3 100644 --- a/README.md +++ b/README.md @@ -54,35 +54,35 @@ Same thing, but split up into separate files: CategoryChannelsPlaylist - Animation50https://iptv-org.github.io/iptv/categories/animation.m3u + Animation51https://iptv-org.github.io/iptv/categories/animation.m3u Auto15https://iptv-org.github.io/iptv/categories/auto.m3u Business69https://iptv-org.github.io/iptv/categories/business.m3u Classic46https://iptv-org.github.io/iptv/categories/classic.m3u Comedy74https://iptv-org.github.io/iptv/categories/comedy.m3u Cooking28https://iptv-org.github.io/iptv/categories/cooking.m3u - Culture168https://iptv-org.github.io/iptv/categories/culture.m3u - Documentary109https://iptv-org.github.io/iptv/categories/documentary.m3u - Education159https://iptv-org.github.io/iptv/categories/education.m3u - Entertainment578https://iptv-org.github.io/iptv/categories/entertainment.m3u - Family47https://iptv-org.github.io/iptv/categories/family.m3u - General2357https://iptv-org.github.io/iptv/categories/general.m3u - Kids228https://iptv-org.github.io/iptv/categories/kids.m3u + Culture169https://iptv-org.github.io/iptv/categories/culture.m3u + Documentary112https://iptv-org.github.io/iptv/categories/documentary.m3u + Education160https://iptv-org.github.io/iptv/categories/education.m3u + Entertainment584https://iptv-org.github.io/iptv/categories/entertainment.m3u + Family48https://iptv-org.github.io/iptv/categories/family.m3u + General2373https://iptv-org.github.io/iptv/categories/general.m3u + Kids230https://iptv-org.github.io/iptv/categories/kids.m3u Legislative191https://iptv-org.github.io/iptv/categories/legislative.m3u - Lifestyle92https://iptv-org.github.io/iptv/categories/lifestyle.m3u - Movies295https://iptv-org.github.io/iptv/categories/movies.m3u - Music665https://iptv-org.github.io/iptv/categories/music.m3u + Lifestyle91https://iptv-org.github.io/iptv/categories/lifestyle.m3u + Movies300https://iptv-org.github.io/iptv/categories/movies.m3u + Music669https://iptv-org.github.io/iptv/categories/music.m3u News775https://iptv-org.github.io/iptv/categories/news.m3u - Outdoor41https://iptv-org.github.io/iptv/categories/outdoor.m3u - Relax5https://iptv-org.github.io/iptv/categories/relax.m3u - Religious710https://iptv-org.github.io/iptv/categories/religious.m3u + Outdoor42https://iptv-org.github.io/iptv/categories/outdoor.m3u + Relax4https://iptv-org.github.io/iptv/categories/relax.m3u + Religious709https://iptv-org.github.io/iptv/categories/religious.m3u Science22https://iptv-org.github.io/iptv/categories/science.m3u Series207https://iptv-org.github.io/iptv/categories/series.m3u Shop87https://iptv-org.github.io/iptv/categories/shop.m3u - Sports278https://iptv-org.github.io/iptv/categories/sports.m3u + Sports285https://iptv-org.github.io/iptv/categories/sports.m3u Travel43https://iptv-org.github.io/iptv/categories/travel.m3u Weather13https://iptv-org.github.io/iptv/categories/weather.m3u XXX0https://iptv-org.github.io/iptv/categories/xxx.m3u - Undefined4297https://iptv-org.github.io/iptv/categories/undefined.m3u + Undefined4318https://iptv-org.github.io/iptv/categories/undefined.m3u @@ -115,7 +115,7 @@ Same thing, but split up into separate files: Albanian37https://iptv-org.github.io/iptv/languages/sqi.m3u Alur1https://iptv-org.github.io/iptv/languages/alz.m3u Amharic8https://iptv-org.github.io/iptv/languages/amh.m3u - Arabic384https://iptv-org.github.io/iptv/languages/ara.m3u + Arabic386https://iptv-org.github.io/iptv/languages/ara.m3u Armenian25https://iptv-org.github.io/iptv/languages/hye.m3u Assamese7https://iptv-org.github.io/iptv/languages/asm.m3u Assyrian Neo-Aramaic1https://iptv-org.github.io/iptv/languages/aii.m3u @@ -127,7 +127,7 @@ Same thing, but split up into separate files: Bashkir1https://iptv-org.github.io/iptv/languages/bak.m3u Basque8https://iptv-org.github.io/iptv/languages/eus.m3u Belarusian7https://iptv-org.github.io/iptv/languages/bel.m3u - Bengali32https://iptv-org.github.io/iptv/languages/ben.m3u + Bengali31https://iptv-org.github.io/iptv/languages/ben.m3u Bhojpuri1https://iptv-org.github.io/iptv/languages/bho.m3u Bosnian14https://iptv-org.github.io/iptv/languages/bos.m3u Bulgarian34https://iptv-org.github.io/iptv/languages/bul.m3u @@ -150,7 +150,7 @@ Same thing, but split up into separate files: Dutch191https://iptv-org.github.io/iptv/languages/nld.m3u Dyula1https://iptv-org.github.io/iptv/languages/dyu.m3u Egyptian Arabic2https://iptv-org.github.io/iptv/languages/arz.m3u - English2277https://iptv-org.github.io/iptv/languages/eng.m3u + English2288https://iptv-org.github.io/iptv/languages/eng.m3u Estonian9https://iptv-org.github.io/iptv/languages/est.m3u Ewe2https://iptv-org.github.io/iptv/languages/ewe.m3u Faroese1https://iptv-org.github.io/iptv/languages/fao.m3u @@ -158,7 +158,7 @@ Same thing, but split up into separate files: Filipino1https://iptv-org.github.io/iptv/languages/fil.m3u Finnish24https://iptv-org.github.io/iptv/languages/fin.m3u Fon3https://iptv-org.github.io/iptv/languages/fon.m3u - French485https://iptv-org.github.io/iptv/languages/fra.m3u + French486https://iptv-org.github.io/iptv/languages/fra.m3u Fulah2https://iptv-org.github.io/iptv/languages/ful.m3u Gaelic2https://iptv-org.github.io/iptv/languages/gla.m3u Galician13https://iptv-org.github.io/iptv/languages/glg.m3u @@ -186,7 +186,7 @@ Same thing, but split up into separate files: Irish7https://iptv-org.github.io/iptv/languages/gle.m3u Isekiri1https://iptv-org.github.io/iptv/languages/its.m3u Italian336https://iptv-org.github.io/iptv/languages/ita.m3u - Japanese18https://iptv-org.github.io/iptv/languages/jpn.m3u + Japanese72https://iptv-org.github.io/iptv/languages/jpn.m3u Javanese3https://iptv-org.github.io/iptv/languages/jav.m3u Kabiyè1https://iptv-org.github.io/iptv/languages/kbp.m3u Kabyle1https://iptv-org.github.io/iptv/languages/kab.m3u @@ -214,7 +214,7 @@ Same thing, but split up into separate files: Macedonian34https://iptv-org.github.io/iptv/languages/mkd.m3u Maithili1https://iptv-org.github.io/iptv/languages/mai.m3u Malay18https://iptv-org.github.io/iptv/languages/msa.m3u - Malayalam62https://iptv-org.github.io/iptv/languages/mal.m3u + Malayalam61https://iptv-org.github.io/iptv/languages/mal.m3u Maltese8https://iptv-org.github.io/iptv/languages/mlt.m3u Mandarin Chinese3https://iptv-org.github.io/iptv/languages/cmn.m3u Mandinka1https://iptv-org.github.io/iptv/languages/mnk.m3u @@ -250,9 +250,9 @@ Same thing, but split up into separate files: Serbian46https://iptv-org.github.io/iptv/languages/srp.m3u Serbo-Croatian1https://iptv-org.github.io/iptv/languages/hbs.m3u Sinhala5https://iptv-org.github.io/iptv/languages/sin.m3u - Slovak48https://iptv-org.github.io/iptv/languages/slk.m3u + Slovak49https://iptv-org.github.io/iptv/languages/slk.m3u Slovenian14https://iptv-org.github.io/iptv/languages/slv.m3u - Somali10https://iptv-org.github.io/iptv/languages/som.m3u + Somali11https://iptv-org.github.io/iptv/languages/som.m3u Spanish2109https://iptv-org.github.io/iptv/languages/spa.m3u Sranan Tongo3https://iptv-org.github.io/iptv/languages/srn.m3u Swahili24https://iptv-org.github.io/iptv/languages/swa.m3u @@ -264,7 +264,7 @@ Same thing, but split up into separate files: Tajik15https://iptv-org.github.io/iptv/languages/tgk.m3u Tamashek1https://iptv-org.github.io/iptv/languages/tmh.m3u Tamasheq1https://iptv-org.github.io/iptv/languages/taq.m3u - Tamil49https://iptv-org.github.io/iptv/languages/tam.m3u + Tamil47https://iptv-org.github.io/iptv/languages/tam.m3u Tatar1https://iptv-org.github.io/iptv/languages/tat.m3u Telugu7https://iptv-org.github.io/iptv/languages/tel.m3u Thai64https://iptv-org.github.io/iptv/languages/tha.m3u @@ -287,7 +287,7 @@ Same thing, but split up into separate files: Yucatec Maya1https://iptv-org.github.io/iptv/languages/yua.m3u Yue Chinese7https://iptv-org.github.io/iptv/languages/yue.m3u Zarma1https://iptv-org.github.io/iptv/languages/dje.m3u - Undefined2435https://iptv-org.github.io/iptv/languages/undefined.m3u + Undefined2434https://iptv-org.github.io/iptv/languages/undefined.m3u @@ -314,10 +314,10 @@ Same thing, but split up into separate files: 🇦🇫 Afghanistan37https://iptv-org.github.io/iptv/countries/af.m3u - 🇦🇱 Albania51https://iptv-org.github.io/iptv/countries/al.m3u + 🇦🇱 Albania65https://iptv-org.github.io/iptv/countries/al.m3u 🇩🇿 Algeria76https://iptv-org.github.io/iptv/countries/dz.m3u 🇦🇸 American Samoa9https://iptv-org.github.io/iptv/countries/as.m3u - 🇦🇩 Andorra43https://iptv-org.github.io/iptv/countries/ad.m3u + 🇦🇩 Andorra57https://iptv-org.github.io/iptv/countries/ad.m3u 🇦🇴 Angola28https://iptv-org.github.io/iptv/countries/ao.m3u 🇦🇮 Anguilla14https://iptv-org.github.io/iptv/countries/ai.m3u 🇦🇬 Antigua and Barbuda15https://iptv-org.github.io/iptv/countries/ag.m3u @@ -344,17 +344,17 @@ Same thing, but split up into separate files:       Santa Fe3https://iptv-org.github.io/iptv/subdivisions/ar-s.m3u       Santiago del Estero1https://iptv-org.github.io/iptv/subdivisions/ar-g.m3u       Tucuman2https://iptv-org.github.io/iptv/subdivisions/ar-t.m3u - 🇦🇲 Armenia70https://iptv-org.github.io/iptv/countries/am.m3u + 🇦🇲 Armenia84https://iptv-org.github.io/iptv/countries/am.m3u 🇦🇼 Aruba24https://iptv-org.github.io/iptv/countries/aw.m3u - 🇦🇺 Australia78https://iptv-org.github.io/iptv/countries/au.m3u - 🇦🇹 Austria308https://iptv-org.github.io/iptv/countries/at.m3u - 🇦🇿 Azerbaijan69https://iptv-org.github.io/iptv/countries/az.m3u + 🇦🇺 Australia69https://iptv-org.github.io/iptv/countries/au.m3u + 🇦🇹 Austria322https://iptv-org.github.io/iptv/countries/at.m3u + 🇦🇿 Azerbaijan83https://iptv-org.github.io/iptv/countries/az.m3u 🇧🇸 Bahamas14https://iptv-org.github.io/iptv/countries/bs.m3u 🇧🇭 Bahrain52https://iptv-org.github.io/iptv/countries/bh.m3u 🇧🇩 Bangladesh27https://iptv-org.github.io/iptv/countries/bd.m3u 🇧🇧 Barbados15https://iptv-org.github.io/iptv/countries/bb.m3u - 🇧🇾 Belarus63https://iptv-org.github.io/iptv/countries/by.m3u - 🇧🇪 Belgium87https://iptv-org.github.io/iptv/countries/be.m3u + 🇧🇾 Belarus77https://iptv-org.github.io/iptv/countries/by.m3u + 🇧🇪 Belgium101https://iptv-org.github.io/iptv/countries/be.m3u 🇧🇿 Belize14https://iptv-org.github.io/iptv/countries/bz.m3u 🇧🇯 Benin34https://iptv-org.github.io/iptv/countries/bj.m3u 🇧🇲 Bermuda9https://iptv-org.github.io/iptv/countries/bm.m3u @@ -365,7 +365,7 @@ Same thing, but split up into separate files:       Oruro1https://iptv-org.github.io/iptv/subdivisions/bo-o.m3u       Santa Cruz2https://iptv-org.github.io/iptv/subdivisions/bo-s.m3u 🇧🇶 Bonaire4https://iptv-org.github.io/iptv/countries/bq.m3u - 🇧🇦 Bosnia and Herzegovina57https://iptv-org.github.io/iptv/countries/ba.m3u + 🇧🇦 Bosnia and Herzegovina71https://iptv-org.github.io/iptv/countries/ba.m3u 🇧🇼 Botswana25https://iptv-org.github.io/iptv/countries/bw.m3u 🇧🇻 Bouvet Island5https://iptv-org.github.io/iptv/countries/bv.m3u 🇧🇷 Brazil312https://iptv-org.github.io/iptv/countries/br.m3u @@ -392,7 +392,7 @@ Same thing, but split up into separate files:       Sao Paulo24https://iptv-org.github.io/iptv/subdivisions/br-sp.m3u 🇻🇬 British Virgin Islands15https://iptv-org.github.io/iptv/countries/vg.m3u 🇧🇳 Brunei23https://iptv-org.github.io/iptv/countries/bn.m3u - 🇧🇬 Bulgaria78https://iptv-org.github.io/iptv/countries/bg.m3u + 🇧🇬 Bulgaria92https://iptv-org.github.io/iptv/countries/bg.m3u 🇧🇫 Burkina Faso30https://iptv-org.github.io/iptv/countries/bf.m3u 🇧🇮 Burundi25https://iptv-org.github.io/iptv/countries/bi.m3u 🇰🇭 Cambodia44https://iptv-org.github.io/iptv/countries/kh.m3u @@ -447,13 +447,13 @@ Same thing, but split up into separate files: 🇨🇷 Costa Rica146https://iptv-org.github.io/iptv/countries/cr.m3u       Puntarenas1https://iptv-org.github.io/iptv/subdivisions/cr-p.m3u       San Jose1https://iptv-org.github.io/iptv/subdivisions/cr-sj.m3u - 🇭🇷 Croatia71https://iptv-org.github.io/iptv/countries/hr.m3u + 🇭🇷 Croatia85https://iptv-org.github.io/iptv/countries/hr.m3u 🇨🇺 Cuba76https://iptv-org.github.io/iptv/countries/cu.m3u 🇨🇼 Curacao22https://iptv-org.github.io/iptv/countries/cw.m3u - 🇨🇾 Cyprus82https://iptv-org.github.io/iptv/countries/cy.m3u - 🇨🇿 Czech Republic81https://iptv-org.github.io/iptv/countries/cz.m3u + 🇨🇾 Cyprus96https://iptv-org.github.io/iptv/countries/cy.m3u + 🇨🇿 Czech Republic95https://iptv-org.github.io/iptv/countries/cz.m3u 🇨🇩 Democratic Republic of the Congo63https://iptv-org.github.io/iptv/countries/cd.m3u - 🇩🇰 Denmark72https://iptv-org.github.io/iptv/countries/dk.m3u + 🇩🇰 Denmark86https://iptv-org.github.io/iptv/countries/dk.m3u 🇩🇯 Djibouti68https://iptv-org.github.io/iptv/countries/dj.m3u 🇩🇲 Dominica15https://iptv-org.github.io/iptv/countries/dm.m3u 🇩🇴 Dominican Republic325https://iptv-org.github.io/iptv/countries/do.m3u @@ -475,24 +475,24 @@ Same thing, but split up into separate files: 🇸🇻 El Salvador108https://iptv-org.github.io/iptv/countries/sv.m3u 🇬🇶 Equatorial Guinea28https://iptv-org.github.io/iptv/countries/gq.m3u 🇪🇷 Eritrea24https://iptv-org.github.io/iptv/countries/er.m3u - 🇪🇪 Estonia75https://iptv-org.github.io/iptv/countries/ee.m3u + 🇪🇪 Estonia89https://iptv-org.github.io/iptv/countries/ee.m3u 🇪🇹 Ethiopia29https://iptv-org.github.io/iptv/countries/et.m3u 🇫🇰 Falkland Islands5https://iptv-org.github.io/iptv/countries/fk.m3u 🇫🇴 Faroe Islands1https://iptv-org.github.io/iptv/countries/fo.m3u 🇫🇯 Fiji10https://iptv-org.github.io/iptv/countries/fj.m3u - 🇫🇮 Finland74https://iptv-org.github.io/iptv/countries/fi.m3u + 🇫🇮 Finland88https://iptv-org.github.io/iptv/countries/fi.m3u       Keski-Suomi1https://iptv-org.github.io/iptv/subdivisions/fi-08.m3u       Pohjanmaa1https://iptv-org.github.io/iptv/subdivisions/fi-12.m3u - 🇫🇷 France380https://iptv-org.github.io/iptv/countries/fr.m3u + 🇫🇷 France394https://iptv-org.github.io/iptv/countries/fr.m3u 🇬🇫 French Guiana18https://iptv-org.github.io/iptv/countries/gf.m3u 🇵🇫 French Polynesia10https://iptv-org.github.io/iptv/countries/pf.m3u 🇹🇫 French Southern Territories24https://iptv-org.github.io/iptv/countries/tf.m3u 🇬🇦 Gabon29https://iptv-org.github.io/iptv/countries/ga.m3u 🇬🇲 Gambia25https://iptv-org.github.io/iptv/countries/gm.m3u - 🇬🇪 Georgia47https://iptv-org.github.io/iptv/countries/ge.m3u - 🇩🇪 Germany492https://iptv-org.github.io/iptv/countries/de.m3u + 🇬🇪 Georgia61https://iptv-org.github.io/iptv/countries/ge.m3u + 🇩🇪 Germany506https://iptv-org.github.io/iptv/countries/de.m3u 🇬🇭 Ghana43https://iptv-org.github.io/iptv/countries/gh.m3u - 🇬🇷 Greece162https://iptv-org.github.io/iptv/countries/gr.m3u + 🇬🇷 Greece176https://iptv-org.github.io/iptv/countries/gr.m3u       Attiki10https://iptv-org.github.io/iptv/subdivisions/gr-i.m3u       Dytiki Ellada5https://iptv-org.github.io/iptv/subdivisions/gr-g.m3u       Dytiki Makedonia2https://iptv-org.github.io/iptv/subdivisions/gr-c.m3u @@ -523,9 +523,9 @@ Same thing, but split up into separate files: 🇭🇹 Haiti50https://iptv-org.github.io/iptv/countries/ht.m3u 🇭🇳 Honduras148https://iptv-org.github.io/iptv/countries/hn.m3u 🇭🇰 Hong Kong17https://iptv-org.github.io/iptv/countries/hk.m3u - 🇭🇺 Hungary149https://iptv-org.github.io/iptv/countries/hu.m3u - 🇮🇸 Iceland42https://iptv-org.github.io/iptv/countries/is.m3u - 🇮🇳 India320https://iptv-org.github.io/iptv/countries/in.m3u + 🇭🇺 Hungary163https://iptv-org.github.io/iptv/countries/hu.m3u + 🇮🇸 Iceland56https://iptv-org.github.io/iptv/countries/is.m3u + 🇮🇳 India319https://iptv-org.github.io/iptv/countries/in.m3u 🇮🇩 Indonesia151https://iptv-org.github.io/iptv/countries/id.m3u       Aceh2https://iptv-org.github.io/iptv/subdivisions/id-ac.m3u       Bali2https://iptv-org.github.io/iptv/subdivisions/id-ba.m3u @@ -558,40 +558,44 @@ Same thing, but split up into separate files:       Yogyakarta3https://iptv-org.github.io/iptv/subdivisions/id-yo.m3u 🇮🇷 Iran149https://iptv-org.github.io/iptv/countries/ir.m3u 🇮🇶 Iraq121https://iptv-org.github.io/iptv/countries/iq.m3u - 🇮🇪 Ireland67https://iptv-org.github.io/iptv/countries/ie.m3u + 🇮🇪 Ireland81https://iptv-org.github.io/iptv/countries/ie.m3u 🇮🇱 Israel26https://iptv-org.github.io/iptv/countries/il.m3u - 🇮🇹 Italy438https://iptv-org.github.io/iptv/countries/it.m3u + 🇮🇹 Italy452https://iptv-org.github.io/iptv/countries/it.m3u       Trentino-Alto Adige3https://iptv-org.github.io/iptv/subdivisions/it-32.m3u 🇨🇮 Ivory Coast53https://iptv-org.github.io/iptv/countries/ci.m3u 🇯🇲 Jamaica21https://iptv-org.github.io/iptv/countries/jm.m3u - 🇯🇵 Japan23https://iptv-org.github.io/iptv/countries/jp.m3u -       Chiba1https://iptv-org.github.io/iptv/subdivisions/jp-12.m3u -       Kanagawa1https://iptv-org.github.io/iptv/subdivisions/jp-14.m3u -       Saitama1https://iptv-org.github.io/iptv/subdivisions/jp-11.m3u + 🇯🇵 Japan77https://iptv-org.github.io/iptv/countries/jp.m3u +       Chiba2https://iptv-org.github.io/iptv/subdivisions/jp-12.m3u +       Gunma1https://iptv-org.github.io/iptv/subdivisions/jp-10.m3u +       Ibaraki1https://iptv-org.github.io/iptv/subdivisions/jp-08.m3u +       Kanagawa2https://iptv-org.github.io/iptv/subdivisions/jp-14.m3u +       Osaka1https://iptv-org.github.io/iptv/subdivisions/jp-27.m3u +       Saitama2https://iptv-org.github.io/iptv/subdivisions/jp-11.m3u +       Tochigi1https://iptv-org.github.io/iptv/subdivisions/jp-09.m3u       Tokyo1https://iptv-org.github.io/iptv/subdivisions/jp-13.m3u 🇯🇴 Jordan74https://iptv-org.github.io/iptv/countries/jo.m3u - 🇰🇿 Kazakhstan82https://iptv-org.github.io/iptv/countries/kz.m3u + 🇰🇿 Kazakhstan96https://iptv-org.github.io/iptv/countries/kz.m3u 🇰🇪 Kenya64https://iptv-org.github.io/iptv/countries/ke.m3u 🇰🇮 Kiribati9https://iptv-org.github.io/iptv/countries/ki.m3u 🇽🇰 Kosovo10https://iptv-org.github.io/iptv/countries/xk.m3u 🇰🇼 Kuwait59https://iptv-org.github.io/iptv/countries/kw.m3u 🇰🇬 Kyrgyzstan24https://iptv-org.github.io/iptv/countries/kg.m3u 🇱🇦 Laos33https://iptv-org.github.io/iptv/countries/la.m3u - 🇱🇻 Latvia69https://iptv-org.github.io/iptv/countries/lv.m3u + 🇱🇻 Latvia83https://iptv-org.github.io/iptv/countries/lv.m3u 🇱🇧 Lebanon75https://iptv-org.github.io/iptv/countries/lb.m3u 🇱🇸 Lesotho24https://iptv-org.github.io/iptv/countries/ls.m3u 🇱🇷 Liberia25https://iptv-org.github.io/iptv/countries/lr.m3u 🇱🇾 Libya76https://iptv-org.github.io/iptv/countries/ly.m3u - 🇱🇮 Liechtenstein41https://iptv-org.github.io/iptv/countries/li.m3u - 🇱🇹 Lithuania57https://iptv-org.github.io/iptv/countries/lt.m3u - 🇱🇺 Luxembourg68https://iptv-org.github.io/iptv/countries/lu.m3u + 🇱🇮 Liechtenstein55https://iptv-org.github.io/iptv/countries/li.m3u + 🇱🇹 Lithuania71https://iptv-org.github.io/iptv/countries/lt.m3u + 🇱🇺 Luxembourg82https://iptv-org.github.io/iptv/countries/lu.m3u 🇲🇴 Macao9https://iptv-org.github.io/iptv/countries/mo.m3u 🇲🇬 Madagascar24https://iptv-org.github.io/iptv/countries/mg.m3u 🇲🇼 Malawi27https://iptv-org.github.io/iptv/countries/mw.m3u 🇲🇾 Malaysia36https://iptv-org.github.io/iptv/countries/my.m3u 🇲🇻 Maldives20https://iptv-org.github.io/iptv/countries/mv.m3u 🇲🇱 Mali30https://iptv-org.github.io/iptv/countries/ml.m3u - 🇲🇹 Malta70https://iptv-org.github.io/iptv/countries/mt.m3u + 🇲🇹 Malta84https://iptv-org.github.io/iptv/countries/mt.m3u 🇲🇭 Marshall Islands9https://iptv-org.github.io/iptv/countries/mh.m3u 🇲🇶 Martinique26https://iptv-org.github.io/iptv/countries/mq.m3u 🇲🇷 Mauritania67https://iptv-org.github.io/iptv/countries/mr.m3u @@ -609,19 +613,19 @@ Same thing, but split up into separate files:       San Luis Potosi1https://iptv-org.github.io/iptv/subdivisions/mx-slp.m3u       Yucatan1https://iptv-org.github.io/iptv/subdivisions/mx-yuc.m3u 🇫🇲 Micronesia9https://iptv-org.github.io/iptv/countries/fm.m3u - 🇲🇩 Moldova74https://iptv-org.github.io/iptv/countries/md.m3u - 🇲🇨 Monaco42https://iptv-org.github.io/iptv/countries/mc.m3u + 🇲🇩 Moldova88https://iptv-org.github.io/iptv/countries/md.m3u + 🇲🇨 Monaco56https://iptv-org.github.io/iptv/countries/mc.m3u 🇲🇳 Mongolia32https://iptv-org.github.io/iptv/countries/mn.m3u - 🇲🇪 Montenegro45https://iptv-org.github.io/iptv/countries/me.m3u + 🇲🇪 Montenegro59https://iptv-org.github.io/iptv/countries/me.m3u       Ulcinj1https://iptv-org.github.io/iptv/subdivisions/me-20.m3u 🇲🇸 Montserrat14https://iptv-org.github.io/iptv/countries/ms.m3u - 🇲🇦 Morocco81https://iptv-org.github.io/iptv/countries/ma.m3u + 🇲🇦 Morocco82https://iptv-org.github.io/iptv/countries/ma.m3u 🇲🇿 Mozambique28https://iptv-org.github.io/iptv/countries/mz.m3u 🇲🇲 Myanmar29https://iptv-org.github.io/iptv/countries/mm.m3u 🇳🇦 Namibia25https://iptv-org.github.io/iptv/countries/na.m3u 🇳🇷 Nauru9https://iptv-org.github.io/iptv/countries/nr.m3u 🇳🇵 Nepal22https://iptv-org.github.io/iptv/countries/np.m3u - 🇳🇱 Netherlands218https://iptv-org.github.io/iptv/countries/nl.m3u + 🇳🇱 Netherlands232https://iptv-org.github.io/iptv/countries/nl.m3u 🇳🇨 New Caledonia9https://iptv-org.github.io/iptv/countries/nc.m3u 🇳🇿 New Zealand39https://iptv-org.github.io/iptv/countries/nz.m3u 🇳🇮 Nicaragua92https://iptv-org.github.io/iptv/countries/ni.m3u @@ -630,9 +634,9 @@ Same thing, but split up into separate files: 🇳🇺 Niue9https://iptv-org.github.io/iptv/countries/nu.m3u 🇳🇫 Norfolk Island9https://iptv-org.github.io/iptv/countries/nf.m3u 🇰🇵 North Korea10https://iptv-org.github.io/iptv/countries/kp.m3u - 🇲🇰 North Macedonia74https://iptv-org.github.io/iptv/countries/mk.m3u + 🇲🇰 North Macedonia88https://iptv-org.github.io/iptv/countries/mk.m3u 🇲🇵 Northern Mariana Islands9https://iptv-org.github.io/iptv/countries/mp.m3u - 🇳🇴 Norway48https://iptv-org.github.io/iptv/countries/no.m3u + 🇳🇴 Norway62https://iptv-org.github.io/iptv/countries/no.m3u 🇴🇲 Oman53https://iptv-org.github.io/iptv/countries/om.m3u 🇵🇰 Pakistan44https://iptv-org.github.io/iptv/countries/pk.m3u 🇵🇼 Palau9https://iptv-org.github.io/iptv/countries/pw.m3u @@ -662,16 +666,16 @@ Same thing, but split up into separate files:       Ucayali2https://iptv-org.github.io/iptv/subdivisions/pe-uca.m3u 🇵🇭 Philippines33https://iptv-org.github.io/iptv/countries/ph.m3u 🇵🇳 Pitcairn Islands9https://iptv-org.github.io/iptv/countries/pn.m3u - 🇵🇱 Poland203https://iptv-org.github.io/iptv/countries/pl.m3u - 🇵🇹 Portugal95https://iptv-org.github.io/iptv/countries/pt.m3u + 🇵🇱 Poland217https://iptv-org.github.io/iptv/countries/pl.m3u + 🇵🇹 Portugal109https://iptv-org.github.io/iptv/countries/pt.m3u 🇵🇷 Puerto Rico108https://iptv-org.github.io/iptv/countries/pr.m3u 🇶🇦 Qatar60https://iptv-org.github.io/iptv/countries/qa.m3u 🇨🇬 Republic of the Congo34https://iptv-org.github.io/iptv/countries/cg.m3u       Brazzaville1https://iptv-org.github.io/iptv/subdivisions/cg-bzv.m3u 🇷🇪 Reunion25https://iptv-org.github.io/iptv/countries/re.m3u - 🇷🇴 Romania153https://iptv-org.github.io/iptv/countries/ro.m3u + 🇷🇴 Romania167https://iptv-org.github.io/iptv/countries/ro.m3u       Gorj1https://iptv-org.github.io/iptv/subdivisions/ro-gj.m3u - 🇷🇺 Russia283https://iptv-org.github.io/iptv/countries/ru.m3u + 🇷🇺 Russia297https://iptv-org.github.io/iptv/countries/ru.m3u 🇷🇼 Rwanda32https://iptv-org.github.io/iptv/countries/rw.m3u 🇧🇱 Saint Barthélemy22https://iptv-org.github.io/iptv/countries/bl.m3u 🇸🇭 Saint Helena24https://iptv-org.github.io/iptv/countries/sh.m3u @@ -681,19 +685,19 @@ Same thing, but split up into separate files: 🇵🇲 Saint Pierre and Miquelon9https://iptv-org.github.io/iptv/countries/pm.m3u 🇻🇨 Saint Vincent and the Grenadines14https://iptv-org.github.io/iptv/countries/vc.m3u 🇼🇸 Samoa11https://iptv-org.github.io/iptv/countries/ws.m3u - 🇸🇲 San Marino39https://iptv-org.github.io/iptv/countries/sm.m3u + 🇸🇲 San Marino53https://iptv-org.github.io/iptv/countries/sm.m3u 🇸🇹 Sao Tome and Principe25https://iptv-org.github.io/iptv/countries/st.m3u - 🇸🇦 Saudi Arabia87https://iptv-org.github.io/iptv/countries/sa.m3u + 🇸🇦 Saudi Arabia88https://iptv-org.github.io/iptv/countries/sa.m3u 🇸🇳 Senegal56https://iptv-org.github.io/iptv/countries/sn.m3u - 🇷🇸 Serbia78https://iptv-org.github.io/iptv/countries/rs.m3u + 🇷🇸 Serbia92https://iptv-org.github.io/iptv/countries/rs.m3u 🇸🇨 Seychelles24https://iptv-org.github.io/iptv/countries/sc.m3u 🇸🇱 Sierra Leone26https://iptv-org.github.io/iptv/countries/sl.m3u 🇸🇬 Singapore27https://iptv-org.github.io/iptv/countries/sg.m3u 🇸🇽 Sint Maarten19https://iptv-org.github.io/iptv/countries/sx.m3u - 🇸🇰 Slovakia100https://iptv-org.github.io/iptv/countries/sk.m3u - 🇸🇮 Slovenia66https://iptv-org.github.io/iptv/countries/si.m3u + 🇸🇰 Slovakia115https://iptv-org.github.io/iptv/countries/sk.m3u + 🇸🇮 Slovenia80https://iptv-org.github.io/iptv/countries/si.m3u 🇸🇧 Solomon Islands9https://iptv-org.github.io/iptv/countries/sb.m3u - 🇸🇴 Somalia74https://iptv-org.github.io/iptv/countries/so.m3u + 🇸🇴 Somalia75https://iptv-org.github.io/iptv/countries/so.m3u 🇿🇦 South Africa65https://iptv-org.github.io/iptv/countries/za.m3u 🇬🇸 South Georgia and the South Sandwich Islands5https://iptv-org.github.io/iptv/countries/gs.m3u 🇰🇷 South Korea100https://iptv-org.github.io/iptv/countries/kr.m3u @@ -711,7 +715,7 @@ Same thing, but split up into separate files:       Seoul-teukbyeolsi1https://iptv-org.github.io/iptv/subdivisions/kr-11.m3u       Ulsan-gwangyeoksi1https://iptv-org.github.io/iptv/subdivisions/kr-31.m3u 🇸🇸 South Sudan24https://iptv-org.github.io/iptv/countries/ss.m3u - 🇪🇸 Spain368https://iptv-org.github.io/iptv/countries/es.m3u + 🇪🇸 Spain382https://iptv-org.github.io/iptv/countries/es.m3u       Andalucia38https://iptv-org.github.io/iptv/subdivisions/es-an.m3u       Aragon1https://iptv-org.github.io/iptv/subdivisions/es-ar.m3u       Asturias, Principado de1https://iptv-org.github.io/iptv/subdivisions/es-as.m3u @@ -733,8 +737,8 @@ Same thing, but split up into separate files: 🇸🇩 Sudan71https://iptv-org.github.io/iptv/countries/sd.m3u 🇸🇷 Suriname10https://iptv-org.github.io/iptv/countries/sr.m3u 🇸🇿 Swaziland25https://iptv-org.github.io/iptv/countries/sz.m3u - 🇸🇪 Sweden80https://iptv-org.github.io/iptv/countries/se.m3u - 🇨🇭 Switzerland310https://iptv-org.github.io/iptv/countries/ch.m3u + 🇸🇪 Sweden94https://iptv-org.github.io/iptv/countries/se.m3u + 🇨🇭 Switzerland324https://iptv-org.github.io/iptv/countries/ch.m3u 🇸🇾 Syria52https://iptv-org.github.io/iptv/countries/sy.m3u 🇹🇼 Taiwan72https://iptv-org.github.io/iptv/countries/tw.m3u 🇹🇯 Tajikistan32https://iptv-org.github.io/iptv/countries/tj.m3u @@ -745,17 +749,17 @@ Same thing, but split up into separate files: 🇹🇴 Tonga9https://iptv-org.github.io/iptv/countries/to.m3u 🇹🇹 Trinidad and Tobago20https://iptv-org.github.io/iptv/countries/tt.m3u 🇹🇳 Tunisia71https://iptv-org.github.io/iptv/countries/tn.m3u - 🇹🇷 Turkey297https://iptv-org.github.io/iptv/countries/tr.m3u + 🇹🇷 Turkey311https://iptv-org.github.io/iptv/countries/tr.m3u 🇹🇲 Turkmenistan17https://iptv-org.github.io/iptv/countries/tm.m3u 🇹🇨 Turks and Caicos Islands14https://iptv-org.github.io/iptv/countries/tc.m3u 🇹🇻 Tuvalu9https://iptv-org.github.io/iptv/countries/tv.m3u 🇻🇮 U.S. Virgin Islands14https://iptv-org.github.io/iptv/countries/vi.m3u 🇺🇬 Uganda52https://iptv-org.github.io/iptv/countries/ug.m3u - 🇺🇦 Ukraine102https://iptv-org.github.io/iptv/countries/ua.m3u + 🇺🇦 Ukraine116https://iptv-org.github.io/iptv/countries/ua.m3u 🇦🇪 United Arab Emirates94https://iptv-org.github.io/iptv/countries/ae.m3u - 🇬🇧 United Kingdom239https://iptv-org.github.io/iptv/countries/uk.m3u + 🇬🇧 United Kingdom252https://iptv-org.github.io/iptv/countries/uk.m3u       Wales2https://iptv-org.github.io/iptv/subdivisions/gb-wls.m3u - 🇺🇸 United States2050https://iptv-org.github.io/iptv/countries/us.m3u + 🇺🇸 United States2051https://iptv-org.github.io/iptv/countries/us.m3u       Alabama3https://iptv-org.github.io/iptv/subdivisions/us-al.m3u       Alaska2https://iptv-org.github.io/iptv/subdivisions/us-ak.m3u       Arizona13https://iptv-org.github.io/iptv/subdivisions/us-az.m3u @@ -806,7 +810,7 @@ Same thing, but split up into separate files: 🇺🇾 Uruguay80https://iptv-org.github.io/iptv/countries/uy.m3u 🇺🇿 Uzbekistan32https://iptv-org.github.io/iptv/countries/uz.m3u 🇻🇺 Vanuatu9https://iptv-org.github.io/iptv/countries/vu.m3u - 🇻🇦 Vatican City38https://iptv-org.github.io/iptv/countries/va.m3u + 🇻🇦 Vatican City52https://iptv-org.github.io/iptv/countries/va.m3u 🇻🇪 Venezuela125https://iptv-org.github.io/iptv/countries/ve.m3u       Aragua2https://iptv-org.github.io/iptv/subdivisions/ve-d.m3u       Lara1https://iptv-org.github.io/iptv/subdivisions/ve-k.m3u @@ -842,40 +846,40 @@ Same thing, but split up into separate files: RegionChannelsPlaylist - Africa517https://iptv-org.github.io/iptv/regions/afr.m3u - Americas4513https://iptv-org.github.io/iptv/regions/amer.m3u - Arab world378https://iptv-org.github.io/iptv/regions/arab.m3u - Asia2652https://iptv-org.github.io/iptv/regions/asia.m3u - Asia-Pacific1681https://iptv-org.github.io/iptv/regions/apac.m3u + Africa519https://iptv-org.github.io/iptv/regions/afr.m3u + Americas4514https://iptv-org.github.io/iptv/regions/amer.m3u + Arab world381https://iptv-org.github.io/iptv/regions/arab.m3u + Asia2706https://iptv-org.github.io/iptv/regions/asia.m3u + Asia-Pacific1725https://iptv-org.github.io/iptv/regions/apac.m3u Association of Southeast Asian Nations341https://iptv-org.github.io/iptv/regions/asean.m3u Balkan660https://iptv-org.github.io/iptv/regions/balkan.m3u Benelux220https://iptv-org.github.io/iptv/regions/benelux.m3u Caribbean372https://iptv-org.github.io/iptv/regions/carib.m3u Central America316https://iptv-org.github.io/iptv/regions/cenamer.m3u - Central and Eastern Europe1049https://iptv-org.github.io/iptv/regions/cee.m3u + Central and Eastern Europe1064https://iptv-org.github.io/iptv/regions/cee.m3u Central Asia78https://iptv-org.github.io/iptv/regions/cas.m3u Commonwealth of Independent States400https://iptv-org.github.io/iptv/regions/cis.m3u - Europe4074https://iptv-org.github.io/iptv/regions/eur.m3u - Europe, the Middle East and Africa4953https://iptv-org.github.io/iptv/regions/emea.m3u - European Union2813https://iptv-org.github.io/iptv/regions/eu.m3u + Europe4088https://iptv-org.github.io/iptv/regions/eur.m3u + Europe, the Middle East and Africa4970https://iptv-org.github.io/iptv/regions/emea.m3u + European Union2828https://iptv-org.github.io/iptv/regions/eu.m3u Hispanic America1759https://iptv-org.github.io/iptv/regions/hispam.m3u Latin America2052https://iptv-org.github.io/iptv/regions/latam.m3u Latin America and the Caribbean2086https://iptv-org.github.io/iptv/regions/lac.m3u - Maghreb50https://iptv-org.github.io/iptv/regions/maghreb.m3u - Middle East735https://iptv-org.github.io/iptv/regions/mideast.m3u - Middle East and North Africa770https://iptv-org.github.io/iptv/regions/mena.m3u + Maghreb51https://iptv-org.github.io/iptv/regions/maghreb.m3u + Middle East736https://iptv-org.github.io/iptv/regions/mideast.m3u + Middle East and North Africa772https://iptv-org.github.io/iptv/regions/mena.m3u Nordics92https://iptv-org.github.io/iptv/regions/nord.m3u - North America3302https://iptv-org.github.io/iptv/regions/noram.m3u - Northern America2437https://iptv-org.github.io/iptv/regions/nam.m3u + North America3303https://iptv-org.github.io/iptv/regions/noram.m3u + Northern America2438https://iptv-org.github.io/iptv/regions/nam.m3u Northern Europe136https://iptv-org.github.io/iptv/regions/neur.m3u - Oceania98https://iptv-org.github.io/iptv/regions/oce.m3u + Oceania89https://iptv-org.github.io/iptv/regions/oce.m3u South America1229https://iptv-org.github.io/iptv/regions/southam.m3u - South Asia418https://iptv-org.github.io/iptv/regions/sas.m3u + South Asia417https://iptv-org.github.io/iptv/regions/sas.m3u Southeast Asia348https://iptv-org.github.io/iptv/regions/sea.m3u Southern Europe1169https://iptv-org.github.io/iptv/regions/ser.m3u - Sub-Saharan Africa441https://iptv-org.github.io/iptv/regions/ssa.m3u + Sub-Saharan Africa442https://iptv-org.github.io/iptv/regions/ssa.m3u West Africa198https://iptv-org.github.io/iptv/regions/wafr.m3u - Western Europe1709https://iptv-org.github.io/iptv/regions/wer.m3u + Western Europe1708https://iptv-org.github.io/iptv/regions/wer.m3u From 10c627ea4c13b8257ef7e5d2898eacc1fdfa73b4 Mon Sep 17 00:00:00 2001 From: "iptv-bot[bot]" <84861620+iptv-bot[bot]@users.noreply.github.com> Date: Sat, 29 Mar 2025 00:49:29 +0000 Subject: [PATCH 12/85] [Bot] Format /streams Committed by [iptv-bot](https://github.com/apps/iptv-bot) via [format](https://github.com/iptv-org/iptv/actions/runs/14140437048) workflow. --- streams/ae.m3u | 8 +- streams/al.m3u | 4 +- streams/at.m3u | 8 +- streams/be.m3u | 4 +- streams/ch.m3u | 4 +- streams/cl.m3u | 4 +- streams/cn.m3u | 12 +- streams/co.m3u | 48 ++--- streams/cy.m3u | 8 +- streams/de.m3u | 8 +- streams/do.m3u | 4 +- streams/eg.m3u | 4 +- streams/es.m3u | 48 ++--- streams/fr.m3u | 20 +-- streams/gr.m3u | 12 +- streams/in.m3u | 8 +- streams/iq.m3u | 10 +- streams/it.m3u | 10 +- streams/kh.m3u | 12 +- streams/kr.m3u | 12 +- streams/ma.m3u | 14 +- streams/md.m3u | 56 +++--- streams/my.m3u | 4 +- streams/ng.m3u | 4 +- streams/pl.m3u | 394 +++++++++++++++++++++--------------------- streams/pl_irylek.m3u | 4 +- streams/ro.m3u | 8 +- streams/rs.m3u | 8 +- streams/sa.m3u | 44 ++--- streams/sk.m3u | 16 +- streams/so.m3u | 4 +- streams/tr.m3u | 62 +++---- streams/ua.m3u | 4 +- streams/uk.m3u | 140 +++++++-------- streams/uk_bbc.m3u | 4 +- streams/us.m3u | 72 ++++---- streams/ve.m3u | 4 +- streams/vn.m3u | 16 +- 38 files changed, 553 insertions(+), 553 deletions(-) diff --git a/streams/ae.m3u b/streams/ae.m3u index 81199159d..24229289b 100644 --- a/streams/ae.m3u +++ b/streams/ae.m3u @@ -19,6 +19,8 @@ https://mbc1-enc.edgenextcdn.net/out/v1/f5f319206ed740f9a831f2097c2ead23/index.m https://live.alarabiya.net/alarabiapublish/aswaaq.smil/playlist.m3u8 #EXTINF:-1 tvg-id="AlArabiyaPrograms.ae",Al Arabiya Programs (1080p) https://d1j4r34gq3qw9y.cloudfront.net/out/v1/96804f3a14864641a21c25e8ca9afb74/index.m3u8 +#EXTINF:-1 tvg-id="AlDafrahTV.ae",Al Dafrah TV (720p) +https://rtmp-live-ingest-eu-west-3-universe-dacast-com.akamaized.net/transmuxv1/streams/dbb8ac05-a020-784c-3a95-6ed027941532.m3u8 #EXTINF:-1 tvg-id="AlMashhad.ae",Al Mashhad (1080p) https://bcovlive-a.akamaihd.net/20c3ca22be3c4f03b30afbf3c92cfd14/ap-south-1/6313884884001/playlist.m3u8 #EXTINF:-1 tvg-id="AlQamarTV.ae",Al Qamar TV (1080p) @@ -151,9 +153,7 @@ https://weyyak-live.akamaized.net/weyyak_mix/index.m3u8 https://weyyak-live.akamaized.net/weyyak_nawaem/index.m3u8 #EXTINF:-1 tvg-id="YasTV.ae",Yas TV (1080p) https://vo-live.cdb.cdn.orange.com/Content/Channel/YASSportsChannel/HLS/index.m3u8 -#EXTINF:-1 tvg-id="AlDafrahTV.ae",Al Dafrah TV (720p) -https://rtmp-live-ingest-eu-west-3-universe-dacast-com.akamaized.net/transmuxv1/streams/dbb8ac05-a020-784c-3a95-6ed027941532.m3u8 -#EXTINF:-1 tvg-id="ZeeAlwan.ae",Zee Alwan (720p) [Geo-blocked] -https://weyyak-live.akamaized.net/weyyak_zee_alwan/index.m3u8 #EXTINF:-1 tvg-id="ZeeAflam.ae",Zee Aflam (720p) [Geo-blocked] https://weyyak-live.akamaized.net/weyyak_zee_aflam/index.m3u8 +#EXTINF:-1 tvg-id="ZeeAlwan.ae",Zee Alwan (720p) [Geo-blocked] +https://weyyak-live.akamaized.net/weyyak_zee_alwan/index.m3u8 diff --git a/streams/al.m3u b/streams/al.m3u index 372b39b01..8ee8a13f9 100644 --- a/streams/al.m3u +++ b/streams/al.m3u @@ -19,6 +19,8 @@ https://live1.mediadesk.al/oranews.m3u8 http://198.244.188.94/panorama/livestream/playlist.m3u8 #EXTINF:-1 tvg-id="ReportTV.al",Report TV (720p) https://deb10stream.duckdns.org/hls/stream.m3u8 +#EXTINF:-1 tvg-id="Syri.al",Syri (720p) [Not 24/7] +https://stream.syritv.al/SyriTV/index.m3u8 #EXTINF:-1 tvg-id="TopChannel.al",Top News (720p) https://trueodin.serv00.net/?t=topnewsal #EXTINF:-1 tvg-id="TropojaTelevizion.al",Tropoja TV (1080p) @@ -27,5 +29,3 @@ https://live.prostream.al/al/smil:tropojatv.smil/playlist.m3u8 https://fe.tring.al/delta/105/out/u/rdghfhsfhfshs.m3u8 #EXTINF:-1 tvg-id="ZjarrTV.al",Zjarr TV (720p) [Not 24/7] https://cdn.jwplayer.com/live/events/r2qgHu7W.m3u8 -#EXTINF:-1 tvg-id="Syri.al",Syri (720p) [Not 24/7] -https://stream.syritv.al/SyriTV/index.m3u8 diff --git a/streams/at.m3u b/streams/at.m3u index 201f2439a..205a855a6 100644 --- a/streams/at.m3u +++ b/streams/at.m3u @@ -27,6 +27,8 @@ https://bitcdn-kronehit.bitmovin.com/v2/hls/playlist.m3u8 https://streaming13.huberwebmedia.at/LiveApp/streams/985585225397790082777809.m3u8 #EXTINF:-1 tvg-id="Okto.at",Okto TV (1080p) https://cdn3.wowza.com/1/MHFtazJReW5rOFhP/N2NWNDZ2/hls/live/playlist.m3u8 +#EXTINF:-1 tvg-id="ORF1HD.at",ORF 1 HD +https://s6.hopslan.com/orfx11/index.m3u8 #EXTINF:-1 tvg-id="ORF1HD.at" http-referrer="https://livestreamde.com/",ORF 1 HD #EXTVLCOPT:http-referrer=https://livestreamde.com/ https://strm.hdtvizlecanli.com/live/orf1.m3u8 @@ -48,6 +50,8 @@ http://iptv.rtv-ooe.at/stream.m3u8 https://m317.video-stream-hosting.de/gzSoftware-live/_definst_/smil:livestream.smil/playlist.m3u8 #EXTINF:-1 tvg-id="ServusTV.at",ServusTV (1080p) [Geo-blocked] https://stv-live.akamaized.net/hls/live/2031011/lingeoSTVATwebPri/master.m3u8 +#EXTINF:-1 tvg-id="SteiermarkTV.at",Steiermark TV (1080p) +https://h056.video-stream-hosting.de/easycast8-live/_definst_/mp4:livestreamhd4/playlist.m3u8?ref= #EXTINF:-1 tvg-id="SwamijiTVAmerican.at",Swamiji TV American (1080p) [Not 24/7] https://stream.swamiji.tv/YogaIPTV/smil:YogaStreamUS.smil/playlist.m3u8 #EXTINF:-1 tvg-id="SwamijiTVAustralian.at",Swamiji TV Australian (1080p) [Not 24/7] @@ -64,7 +68,3 @@ http://89.187.168.245:8080/live/sUPPERchannel2/index.m3u8 https://live1.markenfunk.com/t1/ngrp:live_all/playlist.m3u8 #EXTINF:-1 tvg-id="W24.at",W24 (720p) [Not 24/7] https://ms01.w24.at/W24/smil:liveevent.smil/playlist.m3u8 -#EXTINF:-1 tvg-id="ORF1HD.at",ORF 1 HD -https://s6.hopslan.com/orfx11/index.m3u8 -#EXTINF:-1 tvg-id="SteiermarkTV.at",Steiermark TV (1080p) -https://h056.video-stream-hosting.de/easycast8-live/_definst_/mp4:livestreamhd4/playlist.m3u8?ref= diff --git a/streams/be.m3u b/streams/be.m3u index de4c3363e..0dfdea9b5 100644 --- a/streams/be.m3u +++ b/streams/be.m3u @@ -33,6 +33,8 @@ https://dpp-streamlive-plain.medialaancdn.be/joe_kijklive/plain/hls_hd.m3u8 https://content.uplynk.com/channel/e11a05356cc44198977436418ad71832.m3u8 #EXTINF:-1 tvg-id="KetnetJunior.be",Ketnet Junior (720p) https://content.uplynk.com/channel/e11a05356cc44198977436418ad71832.mpd +#EXTINF:-1 tvg-id="LaUne.be",La Une (1080p) +http://41.205.93.154/LA-UNE/mpegts #EXTINF:-1 tvg-id="LN24.be",LN24 https://live-ln24.digiteka.com/1911668011/index.m3u8 #EXTINF:-1 tvg-id="Matele.be",MaTele (1080p) [Not 24/7] @@ -77,5 +79,3 @@ https://live-radio-cf-vrt.akamaized.net/groupb/live/0f394a26-c87d-475e-8590-e9c6 https://dpp-live-events.medialaancdn.be/events/hls/aes/webstream1.m3u8 #EXTINF:-1 tvg-id="VTM2.be",VTM 2 (720p) https://dpp-live-events.medialaancdn.be/events/hls/aes/webstream3.m3u8 -#EXTINF:-1 tvg-id="LaUne.be",La Une (1080p) -http://41.205.93.154/LA-UNE/mpegts diff --git a/streams/ch.m3u b/streams/ch.m3u index 904495fd8..002c6d132 100644 --- a/streams/ch.m3u +++ b/streams/ch.m3u @@ -3,6 +3,8 @@ https://edge13.vedge.infomaniak.com/livecast/ik:alpen-wellelivestream/manifest.m3u8 #EXTINF:-1 tvg-id="AlpenlandTV.ch",Alpenland TV (720p) https://edge14.vedge.infomaniak.com/livecast/ik:alpen-wellelivestream/playlist.m3u8 +#EXTINF:-1 tvg-id="BlueSport2.ch",Blue Sport 2 (720p) +http://62.210.211.188:2095/play/a00f #EXTINF:-1 tvg-id="Canal9.ch",Canal 9 en Français (1080p) https://livehd.vedge.infomaniak.com/livecast/livehd/master.m3u8 #EXTINF:-1 tvg-id="CanalAlphaJura.ch",Canal Alpha Jura (1080p) @@ -77,5 +79,3 @@ https://livevideo.infomaniak.com/streaming/livecast/tvm3/playlist.m3u8 https://cdnapisec.kaltura.com/p/1719221/sp/171922100/playManifest/entryId/1_t5h46v64/format/applehttp/protocol/https/a.m3u8 #EXTINF:-1 tvg-id="WedoBigStories.ch",Wedo Big Stories (1080p) https://weyyak-live.akamaized.net/wedo_big_stories/index.m3u8 -#EXTINF:-1 tvg-id="BlueSport2.ch",Blue Sport 2 (720p) -http://62.210.211.188:2095/play/a00f diff --git a/streams/cl.m3u b/streams/cl.m3u index a7716a204..625bfc27c 100644 --- a/streams/cl.m3u +++ b/streams/cl.m3u @@ -443,7 +443,7 @@ https://mdstrm.com/live-stream-playlist/6046495ddf98b007fa2fe807.m3u8 https://mediacpstreamchile.com:1936/8028/8028/playlist.m3u8 #EXTINF:-1 tvg-id="ZappingMusic.cl",Zapping Music (720p) https://zmlive.zappingtv.com/zm-free/zm.smil/playlist.m3u8 -#EXTINF:-1 tvg-id="ZonaPlayTV.cl",Zona Play TV (720p) -https://paneltv.online:1936/8100/8100/playlist.m3u8 #EXTINF:-1 tvg-id="ZonaLatina.cl",Zona Latina (480p) http://190.2.212.209:8050/play/a0oj +#EXTINF:-1 tvg-id="ZonaPlayTV.cl",Zona Play TV (720p) +https://paneltv.online:1936/8100/8100/playlist.m3u8 diff --git a/streams/cn.m3u b/streams/cn.m3u index 68fe5740e..1a8c91b18 100644 --- a/streams/cn.m3u +++ b/streams/cn.m3u @@ -1,4 +1,6 @@ #EXTM3U +#EXTINF:-1 tvg-id="AndoTV.cn",Ando TV +http://stream.qhbtv.com/adws/sd/live.m3u8 #EXTINF:-1 tvg-id="AndoTV.cn",Ando TV (576p) http://119.1.122.186:4022/rtp/238.255.2.189:5999 #EXTINF:-1 tvg-id="AnimationShowChannel.cn",Animation Show Channel @@ -157,6 +159,8 @@ http://118.122.2.29:9999/hls/47/index.m3u8 http://1.183.141.194:8001/hls/55/index.m3u8 #EXTINF:-1 tvg-id="NeiMonggolTV.cn",Nei Monggol TV http://49.113.179.174:4022/udp/238.125.7.93:5140 +#EXTINF:-1 tvg-id="NeiMonggolTV.cn",Nei Monggol TV +http://110.19.156.172:9901/tsfile/live/1003_1.m3u8 #EXTINF:-1 tvg-id="NeiMonggolTV2MongolianCultureChannel.cn",Nei Monggol TV 2 Mongolian Culture Channel http://1.183.141.194:8001/hls/54/index.m3u8 #EXTINF:-1 tvg-id="QTV1.cn",QTV-1 @@ -227,6 +231,8 @@ http://49.113.179.174:4022/udp/238.125.7.153:5140 http://106.124.91.222:85/tsfile/live/21220_1.m3u8?authid=0&key=txiptv&playlive=1 #EXTINF:-1 tvg-id="XinjiangTV12.cn",Xinjiang TV 12 http://49.113.179.174:4022/udp/238.125.3.185:5140 +#EXTINF:-1 tvg-id="XizangTVChinese.cn",Xizang TV Chinese +http://php.jdshipin.com/xztv.php?id=ws #EXTINF:-1 tvg-id="XizangTVTibetan.cn",Xizang TV Tibetan http://49.113.179.174:4022/udp/238.125.3.94:5140 #EXTINF:-1 tvg-id="XizangTVTibetan.cn",Xizang TV Tibetan @@ -1565,9 +1571,3 @@ http://yslk.chinashadt.com:1635/live/stream:di1.stream/playlist.m3u8 http://yslk.chinashadt.com:1635/live/stream:di2.stream/playlist.m3u8 #EXTINF:-1 tvg-id="",龙岩综合 (540p) http://stream.lytv.net.cn/2/sd/live.m3u8 -#EXTINF:-1 tvg-id="AndoTV.cn",Ando TV -http://stream.qhbtv.com/adws/sd/live.m3u8 -#EXTINF:-1 tvg-id="XizangTVChinese.cn",Xizang TV Chinese -http://php.jdshipin.com/xztv.php?id=ws -#EXTINF:-1 tvg-id="NeiMonggolTV.cn",Nei Monggol TV -http://110.19.156.172:9901/tsfile/live/1003_1.m3u8 diff --git a/streams/co.m3u b/streams/co.m3u index 048ef1589..f34282d33 100644 --- a/streams/co.m3u +++ b/streams/co.m3u @@ -65,6 +65,8 @@ https://canaldos.internetinalambrico.com.co:1936/live/canal2.stream/playlist.m3u https://glb.bozztv.com/glb/ssh101/infotv01/playlist.m3u8 #EXTINF:-1 tvg-id="CanalInstitucional.co",Canal Institucional (720p) [Not 24/7] https://streaming.rtvc.gov.co/TV_CanalInstitucional_live/smil:live.smil/playlist.m3u8 +#EXTINF:-1 tvg-id="CanalInstitucional.co",Canal Institucional (480p) +http://190.2.212.209:8050/play/a0lw #EXTINF:-1 tvg-id="CanalMasTelevision.co",Canal Más Televisión (720p) https://movil.ejeserver.com/live/teledoradahd.m3u8 #EXTINF:-1 tvg-id="CanalMasTelevision.co",Canal Más Televisión (720p) @@ -81,6 +83,8 @@ https://video.ejeserver.com/live/nets.m3u8 https://canal.mediaserver.com.co/live/oracionconson.m3u8 #EXTINF:-1 tvg-id="CanalPyC.co",Canal PyC (480p) [Not 24/7] https://glb.bozztv.com/glb/ssh101/pyctelevision/index.m3u8 +#EXTINF:-1 tvg-id="CanalRCN.co",Canal RCN (480p) +http://190.2.212.209:8050/play/a0lt #EXTINF:-1 tvg-id="CanalRegionalFTV.co",Canal Regional FTV (720p) [Not 24/7] https://tvlatina.live:1936/8024/8024/playlist.m3u8 #EXTINF:-1 tvg-id="CanalSantaMartaTV.co",Canal Santa Marta TV (720p) [Not 24/7] @@ -92,6 +96,8 @@ https://play.amelbasoluciones.co:3976/live/telepalmartvlive.m3u8 #EXTINF:-1 tvg-id="CanalTRO.co" http-user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36 CrKey/1.44.191160",Canal TRO (1080p) #EXTVLCOPT:http-user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36 CrKey/1.44.191160 https://liveingesta118.cdnmedia.tv/canaltro2live/smil:live.smil/playlist.m3u8 +#EXTINF:-1 tvg-id="CanalTRO.co",Canal TRO (480p) +http://190.2.212.209:8050/play/a0m5 #EXTINF:-1 tvg-id="CanalTROPlus.co" http-user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36 CrKey/1.44.191160",Canal TRO Plus (1080p) [Geo-blocked] #EXTVLCOPT:http-user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36 CrKey/1.44.191160 https://liveingesta118.cdnmedia.tv/canaltro2live/smil:troplus.smil/playlist.m3u8 @@ -196,6 +202,8 @@ https://xhateaec.com/livestreams/19.crKOSL8FRzpid0MA.m3u8 https://stmv4.voxtvhd.com.br/psctv/psctv/playlist.m3u8 #EXTINF:-1 tvg-id="",PyC Televisión (720p) [Not 24/7] https://ssh101-fl.bozztv.com/ssh101/pyctelevision/playlist.m3u8 +#EXTINF:-1 tvg-id="RCNNovelas.co",RCN Novelas (480p) +http://190.2.212.209:8050/play/a0ox #EXTINF:-1 tvg-id="RCNXtra.co",RCN Xtra (1080p) https://latv-rcn-xtra-1-mx.tcl.wurl.tv/playlist.m3u8 #EXTINF:-1 tvg-id="RDMTelevision.co",RDM Televisión (720p) [Not 24/7] @@ -212,6 +220,8 @@ https://tvlatina.live:1936/8004/8004/playlist.m3u8 https://server.asilivehd.com:3802/live/canal4live.m3u8 #EXTINF:-1 tvg-id="SenalColombia.co",Señal Colombia (1080p) https://streaming.rtvc.gov.co/TV_Senal_Colombia_live/smil:live.smil/playlist.m3u8 +#EXTINF:-1 tvg-id="SinLimites.co",Sin Limites (480p) +http://190.2.212.209:8050/play/a0pa #EXTINF:-1 tvg-id="SuramTV.co",Suram TV (1080p) https://livetv.305streamhd.com:3111/live/suramtvlive.m3u8 #EXTINF:-1 tvg-id="TamesisTeVe.co",Támesis TeVe (614p) [Not 24/7] @@ -228,18 +238,24 @@ https://video.ejeserver.com/live/telesanjacinto.m3u8 #EXTINF:-1 tvg-id="TeleVid.co" http-user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36 CrKey/1.44.191160",Tele Vid (1080p) #EXTVLCOPT:http-user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36 CrKey/1.44.191160 https://liveingesta118.cdnmedia.tv/televidtvlive/smil:dvrlive.smil/playlist.m3u8?DVR= +#EXTINF:-1 tvg-id="Teleantioquia.co",Teleantioquia (480p) +http://190.2.212.209:8050/play/a0n1 #EXTINF:-1 tvg-id="Teleantioquia.co" http-user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36 CrKey/1.44.191160",Teleantioquia (360p) [Not 24/7] #EXTVLCOPT:http-user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36 CrKey/1.44.191160 https://liveingesta118.cdnmedia.tv/teleantioquialive/smil:dvrlive.smil/playlist.m3u8 #EXTINF:-1 tvg-id="Teleantioquia2.co" http-user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36 CrKey/1.44.191160",Teleantioquia 2 (720p) #EXTVLCOPT:http-user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36 CrKey/1.44.191160 https://liveingesta118.cdnmedia.tv/teleantioquialive/smil:live.smil/playlist.m3u8?DVR= +#EXTINF:-1 tvg-id="Telecafe.co",Telecafe (480p) +http://190.2.212.209:8050/play/a0ne #EXTINF:-1 tvg-id="Telecafe.co" http-user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36 CrKey/1.44.191160",Telecafé (720p) #EXTVLCOPT:http-user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36 CrKey/1.44.191160 https://liveingesta118.cdnmedia.tv/telecafelive/smil:dvrlive.smil/playlist.m3u8 #EXTINF:-1 tvg-id="Telecaribe.co" http-user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36 CrKey/1.44.191160",Telecaribe (720p) #EXTVLCOPT:http-user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36 CrKey/1.44.191160 https://liveingesta118.cdnmedia.tv/telecaribetvlive/smil:rtmp01.smil/playlist.m3u8 +#EXTINF:-1 tvg-id="Telecaribe.co",Telecaribe (480p) +http://190.2.212.209:8050/play/a0nc #EXTINF:-1 tvg-id="TelecaribePlus.co" http-user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36 CrKey/1.44.191160",Telecaribe Plus (720p) #EXTVLCOPT:http-user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36 CrKey/1.44.191160 https://liveingesta118.cdnmedia.tv/telecaribetvlive/smil:rtmp02.smil/playlist.m3u8 @@ -247,10 +263,14 @@ https://liveingesta118.cdnmedia.tv/telecaribetvlive/smil:rtmp02.smil/playlist.m3 https://cp.panelchs.com:1936/8094/8094/playlist.m3u8 #EXTINF:-1 tvg-id="Teleislas.co",Teleislas (486p) [Not 24/7] https://5ab772334c39c.streamlock.net/live-teleislas/teleislas/playlist.m3u8 +#EXTINF:-1 tvg-id="Teleislas.co",Teleislas (480p) +http://190.2.212.209:8050/play/a0m6 #EXTINF:-1 tvg-id="TelemusicaTV.co",Telemúsica TV (540p) [Geo-blocked] https://canal.mediaserver.com.co/live/telemusica.m3u8 #EXTINF:-1 tvg-id="TelenetTelevision.co",Telenet Televisión (478p) https://cp.panelchs.com:1936/8058/8058/playlist.m3u8 +#EXTINF:-1 tvg-id="Telepacifico.co",Telepacifico (480p) +http://190.2.212.209:8050/play/a0n3 #EXTINF:-1 tvg-id="Telepacifico.co",Telepacífico (1080p) [Not 24/7] https://stream.logicideas.media/telepacifico-live/smil:live.smil/playlist.m3u8 #EXTINF:-1 tvg-id="Telepasto.co",Telepasto (360p) [Geo-blocked] @@ -263,6 +283,8 @@ https://cp.panelchs.com:1936/8060/8060/playlist.m3u8 https://stream.logicideas.media/canaltrece-live/smil:live.smil/playlist.m3u8 #EXTINF:-1 tvg-id="TrecePlus.co",Trece + (720p) https://stream.logicideas.media/canaltreceplus-live/smil:live1plus.smil/playlist.m3u8 +#EXTINF:-1 tvg-id="TrecePlus.co",Trece+ (480p) +http://190.2.212.209:8050/play/a0nf #EXTINF:-1 tvg-id="TropicalTV.co",Tropical TV (480p) [Not 24/7] https://rpn3.bozztv.com/ssh101/ssh101/estvco/playlist.m3u8 #EXTINF:-1 tvg-id="TuKanal.co",Tu Kanal (1080p) @@ -293,30 +315,8 @@ https://video.ejeserver.com/live/veotv.m3u8 https://eu1.servers10.com:8081/vidanuevatv/index.m3u8 #EXTINF:-1 tvg-id="ViveTV.co",Vive TV Colombia (1080p) http://192.144.113.132:1935/live/ViveTV/playlist.m3u8 +#EXTINF:-1 tvg-id="WinSports.co",Win Sports (480p) +http://190.2.212.209:8050/play/a0n2 #EXTINF:-1 tvg-id="Zoom.co" http-referrer="https://canalzoom.org/senal-en-vivo",Zoom (1080p) #EXTVLCOPT:http-referrer=https://canalzoom.org/senal-en-vivo https://canalzoom.smoothcloud.co:3027/live/canalzoombr1live.m3u8 -#EXTINF:-1 tvg-id="CanalRCN.co",Canal RCN (480p) -http://190.2.212.209:8050/play/a0lt -#EXTINF:-1 tvg-id="WinSports.co",Win Sports (480p) -http://190.2.212.209:8050/play/a0n2 -#EXTINF:-1 tvg-id="CanalInstitucional.co",Canal Institucional (480p) -http://190.2.212.209:8050/play/a0lw -#EXTINF:-1 tvg-id="RCNNovelas.co",RCN Novelas (480p) -http://190.2.212.209:8050/play/a0ox -#EXTINF:-1 tvg-id="SinLimites.co",Sin Limites (480p) -http://190.2.212.209:8050/play/a0pa -#EXTINF:-1 tvg-id="CanalTRO.co",Canal TRO (480p) -http://190.2.212.209:8050/play/a0m5 -#EXTINF:-1 tvg-id="Teleantioquia.co",Teleantioquia (480p) -http://190.2.212.209:8050/play/a0n1 -#EXTINF:-1 tvg-id="Telecafe.co",Telecafe (480p) -http://190.2.212.209:8050/play/a0ne -#EXTINF:-1 tvg-id="Telecaribe.co",Telecaribe (480p) -http://190.2.212.209:8050/play/a0nc -#EXTINF:-1 tvg-id="Teleislas.co",Teleislas (480p) -http://190.2.212.209:8050/play/a0m6 -#EXTINF:-1 tvg-id="Telepacifico.co",Telepacifico (480p) -http://190.2.212.209:8050/play/a0n3 -#EXTINF:-1 tvg-id="TrecePlus.co",Trece+ (480p) -http://190.2.212.209:8050/play/a0nf diff --git a/streams/cy.m3u b/streams/cy.m3u index b04edfe1f..f2939fe87 100644 --- a/streams/cy.m3u +++ b/streams/cy.m3u @@ -36,6 +36,10 @@ https://sc-kuzeykibrissmarttv.ercdn.net/kanalt/bantp1/playlist.m3u8 https://sc-kuzeykibrissmarttv.ercdn.net/kibristv/bant1/playlist.m3u8 #EXTINF:-1 tvg-id="OmegaChannel.cy",Omega Channel (1080p) http://l1.cloudskep.com/tst/omcy/playlist.m3u8 +#EXTINF:-1 tvg-id="OMONOIATV.cy",OMONOIA TV (684p) +http://62.233.57.226:8001/play/a00b00 +#EXTINF:-1 tvg-id="OneChannelCyprus.cy",One Channel Cyprus (576p) +http://62.210.211.188:2095/play/a00e #EXTINF:-1 tvg-id="RIK1.cy",RIK 1 http://l6.cloudskep.com/tvb6/rik1-1/mpeg.2ts #EXTINF:-1 tvg-id="RIK2.cy",RIK 2 @@ -60,7 +64,3 @@ https://sc-kuzeykibrissmarttv.ercdn.net/tv2020/bantp1/playlist.m3u8 https://dev.aftermind.xyz/edge-hls/unitrust/voulitv/index.m3u8?token=8TXWzhY3h6jrzqEqx #EXTINF:-1 tvg-id="VouliTV.cy",Vouli TV (1080p) [Not 24/7] https://dev.aftermind.xyz/hls/unitrust/voulitv/index.m3u8?token=8TXWzhY3h6jrzqEqx -#EXTINF:-1 tvg-id="OMONOIATV.cy",OMONOIA TV (684p) -http://62.233.57.226:8001/play/a00b00 -#EXTINF:-1 tvg-id="OneChannelCyprus.cy",One Channel Cyprus (576p) -http://62.210.211.188:2095/play/a00e diff --git a/streams/de.m3u b/streams/de.m3u index d6eba9b61..a7068f836 100644 --- a/streams/de.m3u +++ b/streams/de.m3u @@ -197,6 +197,8 @@ https://mcdn.ndr.de/ndr/hls/ndr_fs/ndr_nds/master.m3u8 https://mcdn.ndr.de/ndr/hls/ndr_fs/ndr_sh/master.m3u8 #EXTINF:-1 tvg-id="Nickelodeon.de",Nick Germany (1080p) [Geo-blocked] https://0d26a00dfbb1.airspace-cdn.cbsivideo.com/nick1999/master/nick1999.m3u8 +#EXTINF:-1 tvg-id="Nickelodeon.de",Nickelodeon +https://ma.anixa.tv/clips/stream/nickelodeon/playlist.php #EXTINF:-1 tvg-id="Nickelodeon.de",Nickelodeon Deutschland [Geo-blocked] https://unilivemtveu-lh.akamaihd.net/i/nickde_1@448749/master.m3u8 #EXTINF:-1 tvg-id="NiederbayernTV.de",Niederbayern TV (720p) @@ -492,6 +494,8 @@ https://wdrlokalzeit.akamaized.net/hls/live/2018025-b/wdrlz_muensterland/master. https://wdrlokalzeit.akamaized.net/hls/live/2018020-b/wdrlz_siegen/master.m3u8 #EXTINF:-1 tvg-id="WDRFernsehenWuppertal.de",WDR Fernsehen Wuppertal (720p) [Geo-blocked] https://wdrlokalzeit.akamaized.net/hls/live/2018028-b/wdrlz_wuppertal/master.m3u8 +#EXTINF:-1 tvg-id="WELT.de",WELT +https://s6.hopslan.com/n24X/index.m3u8 #EXTINF:-1 tvg-id="WeltderWunderTV.de",Welt der Wunder TV (576p) https://wdw.iptv-playoutcenter.de/wdw/wdw1/playlist.m3u8 #EXTINF:-1 tvg-id="Wir24TV.de",Wir24 TV (1080p) [Geo-blocked] @@ -510,7 +514,3 @@ https://zdf-hls-16.akamaized.net/hls/live/2016499/de/high/master.m3u8 https://ef56ef401101403a8b06f1dec29ef1eb.mediatailor.us-east-1.amazonaws.com/v1/master/44f73ba4d03e9607dcd9bebdcb8494d86964f1d8/Samsung-de_ZeeOne/playlist.m3u8 #EXTINF:-1 tvg-id="ZweiMusicTelevision.de",ZWEI2 Music (1080p) https://cdne.folxplay.tv/folx-trz/streams/ch-2/master.m3u8 -#EXTINF:-1 tvg-id="WELT.de",WELT -https://s6.hopslan.com/n24X/index.m3u8 -#EXTINF:-1 tvg-id="Nickelodeon.de",Nickelodeon -https://ma.anixa.tv/clips/stream/nickelodeon/playlist.php diff --git a/streams/do.m3u b/streams/do.m3u index 5bc8eac39..db58dc992 100644 --- a/streams/do.m3u +++ b/streams/do.m3u @@ -185,6 +185,8 @@ https://ss3.domint.net:3136/gtv_str/globalhd/playlist.m3u8 https://imagenuniversaltv.net:3820/live/guacaratvlive.m3u8 #EXTINF:-1 tvg-id="",Guaymate [Not 24/7] https://5790d294af2dc.streamlock.net/8100/8100/playlist.m3u8 +#EXTINF:-1 tvg-id="GuaymateTV.do",Guaymate TV (720p) +https://ssh101stream.ssh101.com/akamaissh101/ssh101/guaymatetv/playlist.m3u8 #EXTINF:-1 tvg-id="HainaVision.do",Haina Vision (720p) https://cdn.streamingcpanel.com:3447/live/hainavisionlive.m3u8 #EXTINF:-1 tvg-id="HermanasMirabalTV.do",Hermanas Mirabal TV (720p) [Not 24/7] @@ -517,5 +519,3 @@ https://ss3.domint.net:3108/zol_str/vzol/playlist.m3u8 https://5790d294af2dc.streamlock.net/Zonavisiontv/Zonavisiontv/playlist.m3u8 #EXTINF:-1 tvg-id="ZTV.do",ZTV (720p) [Not 24/7] https://lb00zdigital.streamprolive.com/mnt/hls/live.m3u8 -#EXTINF:-1 tvg-id="GuaymateTV.do",Guaymate TV (720p) -https://ssh101stream.ssh101.com/akamaissh101/ssh101/guaymatetv/playlist.m3u8 diff --git a/streams/eg.m3u b/streams/eg.m3u index a12a8287f..73e60415e 100644 --- a/streams/eg.m3u +++ b/streams/eg.m3u @@ -45,9 +45,9 @@ https://shls-masr2-ak.akamaized.net/out/v1/f683685242b549f48ea8a5171e3e993a/inde https://nogoumtv.nrpstream.com/hls/stream.m3u8 #EXTINF:-1 tvg-id="PNCDrama.eg",PNC Drama (1080p) https://d35j504z0x2vu2.cloudfront.net/v1/master/0bc8e8376bd8417a1b6761138aa41c26c7309312/pnc-drama/playlist.m3u8 +#EXTINF:-1 tvg-id="TeN.eg",TeN (720p) [Geo-blocked] +https://weyyak-live.akamaized.net/weyyak_ten_tv/index.m3u8 #EXTINF:-1 tvg-id="TheKingdomSat.eg",The Kingdom Sat (720p) https://bcovlive-a.akamaihd.net/0e524e1838ed411dad0a674d18e07914/eu-central-1/6415808954001/playlist_dvr.m3u8 #EXTINF:-1 tvg-id="WatanTV.eg",Watan TV (1080p) https://rp.tactivemedia.com/watantv_source/live/playlist.m3u8 -#EXTINF:-1 tvg-id="TeN.eg",TeN (720p) [Geo-blocked] -https://weyyak-live.akamaized.net/weyyak_ten_tv/index.m3u8 diff --git a/streams/es.m3u b/streams/es.m3u index f0ed591d3..50507c0ad 100644 --- a/streams/es.m3u +++ b/streams/es.m3u @@ -52,10 +52,20 @@ https://cls.alcarria.tv/alcarriatv/livestream/playlist.m3u8 http://vegafibratv.com:8085/AMC/index.m3u8 #EXTINF:-1 tvg-id="Antena3.es",Antena 3 (720p) http://185.189.225.150:85/Antena3HD/index.m3u8 +#EXTINF:-1 tvg-id="AquiNoHayQuienViva.es",Aqui No Hay Quien Viva (720p) +https://fast-channels.atresmedia.com/648ef3951756b0e425af83cc/648ef3951756b0e425af83cc.m3u8 #EXTINF:-1 tvg-id="ArabiTV.es",Arabí TV (1080p) https://streamtv2.elitecomunicacion.cloud:3956/live/arabitvlive.m3u8 #EXTINF:-1 tvg-id="AragonTV.es",Aragón TV (720p) [Not 24/7] https://cartv.streaming.aranova.es/hls/live/aragontv_canal1.m3u8 +#EXTINF:-1 tvg-id="AtresplayerClasicos.es",Atresplayer Clasicos (1080p) +https://fast-channels.atresmedia.com/648ef12c2bfab0e4507e0d61/648ef12c2bfab0e4507e0d61.m3u8 +#EXTINF:-1 tvg-id="AtresplayerComedia.es",Atresplayer Comedia (1080p) +https://fast-channels.atresmedia.com/648ef23d2bfab0e4557e0d61/648ef23d2bfab0e4557e0d61.m3u8 +#EXTINF:-1 tvg-id="AtresplayerInquietos.es",Atresplayer Inquietos (1080p) +https://fast-channels.atresmedia.com/648ef3162bfab0e4587e0d61/648ef3162bfab0e4587e0d61.m3u8 +#EXTINF:-1 tvg-id="AtresplayerMulticine.es",Atresplayer Multicine (1080p) +https://fast-channels.atresmedia.com/648ef18c1756b0e41daf83cc/648ef18c1756b0e41daf83cc.m3u8 #EXTINF:-1 tvg-id="BabyTV.es",BabyTV (Spain) (1080p) http://185.189.225.150:85/BabyTV/index.m3u8 #EXTINF:-1 tvg-id="BailenTV.es",Bailén TV (720p) [Not 24/7] @@ -69,6 +79,8 @@ https://cdnapisec.kaltura.com/p/2346171/sp/234617100/playManifest/entryId/1_n644 https://cdnapisec.kaltura.com/p/2346171/sp/234617100/playManifest/entryId/1_n6442jz0/format/applehttp/protocol/https/uiConfId/42816492/a.m3u8?referrer=aHR0cHM6Ly9iZXRldmUuY2F0 #EXTINF:-1 tvg-id="BiosferaTV.es",Biosfera TV (720p) [Not 24/7] https://tvdatta.com:3021/live/biosferatvlive.m3u8 +#EXTINF:-1 tvg-id="Boing.es",Boing +http://185.189.225.150:85/boing/index.m3u8 #EXTINF:-1 tvg-id="BomCine.es",Bom Cine (576p) http://185.189.225.150:85/BOM/index.m3u8 #EXTINF:-1 tvg-id="BonDiaTV.es",Bon Dia TV (1080p) @@ -223,8 +235,12 @@ https://liveingesta318.cdnmedia.tv/9tvlive/smil:live.smil/playlist.m3u8?DVR= https://directes-tv-cat.3catdirectes.cat/live-origin/c33-super3-hls/master.m3u8 #EXTINF:-1 tvg-id="El33SX3.es",El 33 SX3 (1080p) [Geo-blocked] https://directes-tv-es.3catdirectes.cat/live-origin/c33-super3-hls/master.m3u8 +#EXTINF:-1 tvg-id="ElClubdelaComedia.es",El Club de la Comedia (1080p) +https://fast-channels.atresmedia.com/648f47f7a2ffb0e40aeff3ad/648f47f7a2ffb0e40aeff3ad.m3u8 #EXTINF:-1 tvg-id="ElConfidencialTV.es",El Confidencial TV (1080p) https://daqnsnf5phf17.cloudfront.net/v1/master/3722c60a815c199d9c0ef36c5b73da68a62b09d1/cc-sde7fypd1420w-prod/fast-channel-elconfidencial/fast-channel-elconfidencial.m3u8 +#EXTINF:-1 tvg-id="ElHormiguero.es",El Hormiguero (1080p) +https://fast-channels.atresmedia.com/648ef5882bfab0e4627e0d61/648ef5882bfab0e4627e0d61.m3u8 #EXTINF:-1 tvg-id="ElPaisTV.es",EL PAÍS TV (1080p) https://d2xqbi89ghm9hh.cloudfront.net/v1/master/3722c60a815c199d9c0ef36c5b73da68a62b09d1/cc-79fx3huimw4xc-ssai-prd/fast-channel-el-pais.m3u8 #EXTINF:-1 tvg-id="ElToroTV.es",El Toro TV (720p) @@ -233,6 +249,8 @@ https://streaming-1.eltorotv.com/lb0/eltorotv-streaming-web/index.m3u8 https://elche7tv.gestec-video.com/hls/canal2.m3u8 #EXTINF:-1 tvg-id="EmpordaTV.es",Empordà TV (1080p) https://video3.lhdserver.es/empordatv2/live.m3u8 +#EXTINF:-1 tvg-id="EquipodeInvestigacion.es",Equipo de Investigacion (1080p) +https://fast-channels.atresmedia.com/648ef5551756b0e429af83cc/648ef5551756b0e429af83cc.m3u8 #EXTINF:-1 tvg-id="ErloTelebista.es",Erlo Telebista (720p) https://5940924978228.streamlock.net/8159/8159/master.m3u8 #EXTINF:-1 tvg-id="Esport3.es",Esport3 (1080p) [Geo-blocked] @@ -261,8 +279,12 @@ https://media2.streambrothers.com:1936/8150/8150/playlist.m3u8 http://185.189.225.150:85/fdf/index.m3u8 #EXTINF:-1 tvg-id="Fibwi.es",Fibwi (1080p) [Not 24/7] https://hostcdn3.fibwi.com/fibwi_diario/index.fmp4.m3u8 +#EXTINF:-1 tvg-id="FisicaoQuimica.es",Fisica o Quimica (1080p) +https://fast-channels.atresmedia.com/648ef50a2bfab0e4607e0d61/648ef50a2bfab0e4607e0d61.m3u8 #EXTINF:-1 tvg-id="FitelTV.es",Fitel TV (1080p) https://tv.mywifisocial.es/live.m3u8 +#EXTINF:-1 tvg-id="Flooxer.es",Flooxer (1080p) +https://fast-channels.atresmedia.com/5c1285e47ed1a861f8125285/5c1285e47ed1a861f8125285.m3u8 #EXTINF:-1 tvg-id="FuengirolaTV.es",Fuengirola TV (360p) [Not 24/7] https://secure.todostreaming.es/live/nerja-livestream.m3u8 #EXTINF:-1 tvg-id="FuerteventuraTV.es",Fuerteventura TV (1080p) @@ -442,6 +464,8 @@ https://tv.portalexpress.es:3731/stream/play.m3u8 https://tvmelilla-hls-rm-lw.flumotion.com/playlist.m3u8 #EXTINF:-1 tvg-id="RadioTelevisionMogan.es",Radio Televisión Mogán (1080p) https://cloudvideo.servers10.com:8081/8028/index.m3u8 +#EXTINF:-1 tvg-id="RakutenViki.es",Rakuten Viki (1080p) +https://newidco-rakutenviki-2-eu.xiaomi.wurl.tv/playlist.m3u8 #EXTINF:-1 tvg-id="RakutenViki.es",Rakuten Viki (720p) https://fd18f1cadd404894a31a3362c5f319bd.mediatailor.us-east-1.amazonaws.com/v1/manifest/04fd913bb278d8775298c26fdca9d9841f37601f/RakutenTV-eu_RakutenViki-1/048a962c-e84b-4a0e-aeb3-98376f4b9953/2.m3u8 #EXTINF:-1 tvg-id="RealMadridTV.es",Real Madrid TV (404p) @@ -655,27 +679,3 @@ https://janus.xpbroadcasting.com:8443/hls/xptvUS.m3u8 #EXTINF:-1 tvg-id="ZafraTV.es" http-referrer="https://player.streamingconnect.com/",Zafra TV (1080p) #EXTVLCOPT:http-referrer=https://player.streamingconnect.com/ https://cloud.fastchannel.es/mic/manifiest/hls/radiotvzafra/radiotvzafra.m3u8 -#EXTINF:-1 tvg-id="RakutenViki.es",Rakuten Viki (1080p) -https://newidco-rakutenviki-2-eu.xiaomi.wurl.tv/playlist.m3u8 -#EXTINF:-1 tvg-id="AtresplayerInquietos.es",Atresplayer Inquietos (1080p) -https://fast-channels.atresmedia.com/648ef3162bfab0e4587e0d61/648ef3162bfab0e4587e0d61.m3u8 -#EXTINF:-1 tvg-id="AtresplayerMulticine.es",Atresplayer Multicine (1080p) -https://fast-channels.atresmedia.com/648ef18c1756b0e41daf83cc/648ef18c1756b0e41daf83cc.m3u8 -#EXTINF:-1 tvg-id="AtresplayerComedia.es",Atresplayer Comedia (1080p) -https://fast-channels.atresmedia.com/648ef23d2bfab0e4557e0d61/648ef23d2bfab0e4557e0d61.m3u8 -#EXTINF:-1 tvg-id="AtresplayerClasicos.es",Atresplayer Clasicos (1080p) -https://fast-channels.atresmedia.com/648ef12c2bfab0e4507e0d61/648ef12c2bfab0e4507e0d61.m3u8 -#EXTINF:-1 tvg-id="Flooxer.es",Flooxer (1080p) -https://fast-channels.atresmedia.com/5c1285e47ed1a861f8125285/5c1285e47ed1a861f8125285.m3u8 -#EXTINF:-1 tvg-id="FisicaoQuimica.es",Fisica o Quimica (1080p) -https://fast-channels.atresmedia.com/648ef50a2bfab0e4607e0d61/648ef50a2bfab0e4607e0d61.m3u8 -#EXTINF:-1 tvg-id="EquipodeInvestigacion.es",Equipo de Investigacion (1080p) -https://fast-channels.atresmedia.com/648ef5551756b0e429af83cc/648ef5551756b0e429af83cc.m3u8 -#EXTINF:-1 tvg-id="ElHormiguero.es",El Hormiguero (1080p) -https://fast-channels.atresmedia.com/648ef5882bfab0e4627e0d61/648ef5882bfab0e4627e0d61.m3u8 -#EXTINF:-1 tvg-id="ElClubdelaComedia.es",El Club de la Comedia (1080p) -https://fast-channels.atresmedia.com/648f47f7a2ffb0e40aeff3ad/648f47f7a2ffb0e40aeff3ad.m3u8 -#EXTINF:-1 tvg-id="AquiNoHayQuienViva.es",Aqui No Hay Quien Viva (720p) -https://fast-channels.atresmedia.com/648ef3951756b0e425af83cc/648ef3951756b0e425af83cc.m3u8 -#EXTINF:-1 tvg-id="Boing.es",Boing -http://185.189.225.150:85/boing/index.m3u8 diff --git a/streams/fr.m3u b/streams/fr.m3u index 5ea99b0d5..934dd079a 100644 --- a/streams/fr.m3u +++ b/streams/fr.m3u @@ -1,4 +1,6 @@ #EXTM3U +#EXTINF:-1 tvg-id="6ter.fr",6ter +https://origin-caf900c010ea8046.live.6cloud.fr/out/v1/29c7a579af3348b48230f76cd75699a5/dash_short_cenc10_6ter_hd_index.mpd #EXTINF:-1 tvg-id="20MinutesTV.fr",20 Minutes TV (1080p) https://lives.digiteka.com/stream/86d3e867-a272-496b-8412-f59aa0104771/index.m3u8 #EXTINF:-1 tvg-id="",A12 TV (720p) @@ -59,6 +61,8 @@ https://raw.githubusercontent.com/Paradise-91/ParaTV/main/streams/equidia/live2. https://raw.githubusercontent.com/Paradise-91/ParaTV/main/streams/equidia/racingmag.m3u8 #EXTINF:-1 tvg-id="EreTV.fr",Ère TV (1080p) https://mn-nl.mncdn.com/awraastv/awraastv_hd.smil/playlist.m3u8 +#EXTINF:-1 tvg-id="EuronewsEnglishHD.fr",Euronews English HD (1080p) +http://stream01.vnet.am/Channel_119/mono.m3u8 #EXTINF:-1 tvg-id="FashionTVCzechSlovak.fr",FashionTV Czech&Slovak (450p) [Not 24/7] http://lb.streaming.sk/fashiontv/stream/playlist.m3u8 #EXTINF:-1 tvg-id="France2.fr",France 2 (1080p) @@ -185,6 +189,8 @@ http://178.170.47.109/MTVHITS/index.m3u8 http://190.2.155.162:8080/mtvhit/mpegts #EXTINF:-1 tvg-id="MuseumTVFrench.fr",Museum TV (1080p) https://live2.creacast.com/museum-france/smil:museum-france.smil/master.m3u8 +#EXTINF:-1 tvg-id="MuseumTVEnglish.fr",Museum TV English (1080p) +https://cdn-ue1-prod.tsv2.amagi.tv/linear/amg01492-secomsasmediart-museumtven-xiaomi/playlist.m3u8 #EXTINF:-1 tvg-id="MyZenTV.fr",MyZen TV (1080p) https://cdn-ue1-prod.tsv2.amagi.tv/linear/amg01255-secomcofites-my-myzen-en-plex/playlist.m3u8 #EXTINF:-1 tvg-id="NancyWebTV.fr",Nancy Web TV (394p) [Not 24/7] @@ -223,6 +229,10 @@ https://raw.githubusercontent.com/Paradise-91/ParaTV/main/streams/tf1plus/tf1.m3 https://raw.githubusercontent.com/Paradise-91/ParaTV/main/streams/tf1plus/tf1sf.m3u8 #EXTINF:-1 tvg-id="TFX.fr",TFX (720p) [Geo-blocked] https://raw.githubusercontent.com/Paradise-91/ParaTV/main/streams/tf1plus/tfx.m3u8 +#EXTINF:-1 tvg-id="TiVi5Monde.fr",TiVi5 Monde [Geo-blocked] +https://ott.tv5monde.com/Content/HLS/Live/channel(tivi5)/variant.m3u8 +#EXTINF:-1 tvg-id="TiVi5Monde.fr",TiVi5Monde (1080p) +http://154.197.91.168:7001/play/a0dz/index.m3u8 #EXTINF:-1 tvg-id="TMC.fr",TMC (720p) [Geo-blocked] https://raw.githubusercontent.com/Paradise-91/ParaTV/main/streams/tf1plus/tmc.m3u8 #EXTINF:-1 tvg-id="TraceLatina.fr",Trace Latina @@ -231,8 +241,6 @@ http://185.234.217.27:8002/play/a02f/index.m3u8 https://amg01131-tracetv-amg01131c1-rakuten-us-1081.playouts.now.amagi.tv/playlist/amg01131-tracetvfast-traceurban-rakutenus/playlist.m3u8 #EXTINF:-1 tvg-id="TV3V.fr",TV3V (720p) https://tv3v.hdr-tv.com/live/tv3v/livestream/master.m3u8 -#EXTINF:-1 tvg-id="TiVi5Monde.fr",TiVi5Monde (1080p) -http://154.197.91.168:7001/play/a0dz/index.m3u8 #EXTINF:-1 tvg-id="TV5MondeAsia.fr",TV5 Monde Asia (Asie) (1080p) [Geo-blocked] https://ott.tv5monde.com/Content/HLS/Live/channel(seasie)/variant.m3u8 #EXTINF:-1 tvg-id="TV5MondeEurope.fr",TV5Monde Europe (1080p) [Geo-blocked] @@ -275,11 +283,3 @@ https://vosgestv.live-kd.com/live/vosgestv/vosgestv/playlist.m3u8 https://live.digiteka.com/1/WGQ1NnhEN0lzM0NU/dk1EOHhw/hls/live/playlist.m3u8 #EXTINF:-1 tvg-id="Weo.fr",Wéo (Picardie) (480p) [Not 24/7] https://live.digiteka.com/1/Zks2L0VsM2V0T242/QTBqcFly/hls/live/playlist.m3u8 -#EXTINF:-1 tvg-id="6ter.fr",6ter -https://origin-caf900c010ea8046.live.6cloud.fr/out/v1/29c7a579af3348b48230f76cd75699a5/dash_short_cenc10_6ter_hd_index.mpd -#EXTINF:-1 tvg-id="EuronewsEnglishHD.fr",Euronews English HD (1080p) -http://stream01.vnet.am/Channel_119/mono.m3u8 -#EXTINF:-1 tvg-id="MuseumTVEnglish.fr",Museum TV English (1080p) -https://cdn-ue1-prod.tsv2.amagi.tv/linear/amg01492-secomsasmediart-museumtven-xiaomi/playlist.m3u8 -#EXTINF:-1 tvg-id="TiVi5Monde.fr",TiVi5 Monde [Geo-blocked] -https://ott.tv5monde.com/Content/HLS/Live/channel(tivi5)/variant.m3u8 diff --git a/streams/gr.m3u b/streams/gr.m3u index e57fa4e91..dcc6444bb 100644 --- a/streams/gr.m3u +++ b/streams/gr.m3u @@ -23,6 +23,10 @@ https://www.hellasnet.tv/rest2.live.hn/w2r.alf/playlist.m3u8 http://alphatvlive.siliconweb.com/1/Y2Rsd1lUcUVoajcv/UVdCN25h/hls/live/playlist.m3u8 #EXTINF:-1 tvg-id="ANT1.gr",ANT1 (1080p) [Geo-blocked] http://d1nfykbwa3n98t.cloudfront.net/out/v1/6e5667da5a6843899a337dea72adb61b/antenna.m3u8 +#EXTINF:-1 tvg-id="ANT1.gr" http-referrer="http://watch.antennaplus.gr" http-user-agent="Chrome",ANT1 (1080p) [Geo-blocked] +#EXTVLCOPT:http-referrer=http://watch.antennaplus.gr +#EXTVLCOPT:http-user-agent=Chrome +https://mcdn.antennaplus.gr/live/media0/Ant1/HLS/Ant1.m3u8 #EXTINF:-1 tvg-id="ART.gr",APT (1080p) https://hugh.cdn.rumble.cloud/live/k5e12sb4/slot-82/fdd0-tbln/chunklist_DVR.m3u8 #EXTINF:-1 tvg-id="ARTTV.gr",ART TV (720p) @@ -156,6 +160,8 @@ https://til.pp.ua:3872/live/mesogeiostvlive.m3u8 https://vod.streams.ovh:3876/stream/play.m3u8 #EXTINF:-1 tvg-id="NaftemporikiTV.gr",Naftemporiki TV (1080p) https://naftemporiki-live.cdn.vustreams.com/live/a4b4a88a-681c-4a2d-8e74-33daa5f2cb61/live.isml/.m3u8 +#EXTINF:-1 tvg-id="NationalGeographic.gr",National Geographic (1080p) +http://62.210.211.188:2095/play/a00d #EXTINF:-1 tvg-id="NeaTV.gr",Nea TV (720p) https://live.neatv.gr:8888/hls/neatv.m3u8 #EXTINF:-1 tvg-id="NeaTV.gr",Nea TV (720p) @@ -277,9 +283,3 @@ http://live.cretetv.gr:1935/cretetv/myStream/f1tv.m3u8 https://vod.streams.ovh:3037/stream/play.m3u8 #EXTINF:-1 tvg-id="RIKSat.cy",ΡΙΚ Sat (720p) [Not 24/7] http://l3.cloudskep.com/cybcsat/abr/playlist.m3u8 -#EXTINF:-1 tvg-id="NationalGeographic.gr",National Geographic (1080p) -http://62.210.211.188:2095/play/a00d -#EXTINF:-1 tvg-id="ANT1.gr" http-referrer="http://watch.antennaplus.gr" http-user-agent="Chrome",ANT1 (1080p) [Geo-blocked] -#EXTVLCOPT:http-referrer=http://watch.antennaplus.gr -#EXTVLCOPT:http-user-agent=Chrome -https://mcdn.antennaplus.gr/live/media0/Ant1/HLS/Ant1.m3u8 diff --git a/streams/in.m3u b/streams/in.m3u index 016c15bbb..8112ddcb2 100644 --- a/streams/in.m3u +++ b/streams/in.m3u @@ -7,6 +7,8 @@ https://amg01281-9xmediapvtltd-9xjalwa-samsungin-goszf.amagi.tv/playlist/amg0128 https://amg01281-9xmediapvtltd-9xjhakaas-samsungin-ci2cs.amagi.tv/playlist/amg01281-9xmediapvtltd-9xjhakaas-samsungin/playlist.m3u8 #EXTINF:-1 tvg-id="9XTashan.in",9X Tashan https://amg01281-9xmediapvtltd-9xtashan-samsungin-xz1sd.amagi.tv/playlist/amg01281-9xmediapvtltd-9xtashan-samsungin/playlist.m3u8 +#EXTINF:-1 tvg-id="9XM.in",9XM (576p) +https://d35j504z0x2vu2.cloudfront.net/v1/manifest/0bc8e8376bd8417a1b6761138aa41c26c7309312/9xm/23886666-8fc5-470f-aab1-bd637ed607b1/3.m3u8 #EXTINF:-1 tvg-id="A1TVRajasthan.in",A1 TV Rajasthan (720p) https://5b48d7e1b4bce.streamlock.net/myapp/a1live/playlist.m3u8 #EXTINF:-1 tvg-id="AajTak.in",Aaj Tak @@ -646,6 +648,8 @@ https://yoganadam.cinesoftcdn.com/yoganadam/live/index.m3u8 https://zainabia.livebox.co.in/ZainabiaChannelhls/channel.m3u8 #EXTINF:-1 tvg-id="Zee24Kalak.in",Zee 24 Kalak (720p) https://livetv-channels.b-cdn.net/8077/playlist.m3u8 +#EXTINF:-1 tvg-id="",Zee Alwan (576p) [Not 24/7] +https://tgn.bozztv.com/gin-dvrfl05/ga-zeealwan/index.m3u8 #EXTINF:-1 tvg-id="ZeeBiharJharkhand.in",Zee Bihar Jharkhand (720p) https://d3dxf2v5wg5rcy.cloudfront.net/out/v1/349f643193e347609b16671d8e0bfb4a/index.m3u8 #EXTINF:-1 tvg-id="ZeeBiharJharkhand.in",Zee Bihar Jharkhand (720p) @@ -674,7 +678,3 @@ https://livetv-channels.b-cdn.net/8076/playlist.m3u8 http://183.89.246.119:8881/play/a09a/index.m3u8 #EXTINF:-1 tvg-id="Zoom.in",Zoom (1080p) http://103.81.104.118/hls/stream8.m3u8 -#EXTINF:-1 tvg-id="ZeeAlwan.in",Zee Alwan (576p) [Not 24/7] -https://tgn.bozztv.com/gin-dvrfl05/ga-zeealwan/index.m3u8 -#EXTINF:-1 tvg-id="9XM.in",9XM (576p) -https://d35j504z0x2vu2.cloudfront.net/v1/manifest/0bc8e8376bd8417a1b6761138aa41c26c7309312/9xm/23886666-8fc5-470f-aab1-bd637ed607b1/3.m3u8 diff --git a/streams/iq.m3u b/streams/iq.m3u index 8bdd5d9f7..d67bac805 100644 --- a/streams/iq.m3u +++ b/streams/iq.m3u @@ -3,6 +3,8 @@ https://mediaserver.abnvideos.com/streams/abnsat.m3u8 #EXTINF:-1 tvg-id="AfaqTV.iq",Afaq TV http://63b03f7689049.streamlock.net:1935/live/1/playlist.m3u8 +#EXTINF:-1 tvg-id="AfarinBaxcha.iq",Afarin Baxcha (1080p) +https://5dcabf026b188.streamlock.net/afarinTV/livestream/playlist.m3u8 #EXTINF:-1 tvg-id="AfarinTV.iq",Afarin TV (720p) [Not 24/7] https://65f16f0fdfc51.streamlock.net/afarinTV/livestream/playlist.m3u8 #EXTINF:-1 tvg-id="AlahadTV.iq",Al Ahad TV @@ -32,7 +34,7 @@ https://arrafidain.tvplayer.online/arrafidaintv/source2/playlist.m3u8 https://arrafidain.tvplayer.online/arrafidaintv/source/playlist.m3u8 #EXTINF:-1 tvg-id="AlRasheedTV.iq",Al Rasheed TV (1080p) [Not 24/7] https://media1.livaat.com/static/AL-RASHEED-HD/playlist.m3u8 -#EXTINF:-1 tvg-id="AlShabab.iq",Al Shabab TV (1080p) +#EXTINF:-1 tvg-id="",Al Shabab TV (1080p) http://149.100.11.244:8001/play/a07n/index.m3u8 #EXTINF:-1 tvg-id="AlAimmaTV.iq" http-referrer="https://alaimma.tv",Al-Aimma TV (1080p) #EXTVLCOPT:http-referrer=https://alaimma.tv @@ -138,6 +140,8 @@ http://stream.nubar.tv:1935/private/NUBARtv/playlist.m3u8 https://media2.streambrothers.com:1936/8218/8218/playlist.m3u8 #EXTINF:-1 tvg-id="RudawTV.iq",Rudaw TV (1080p) https://svs.itworkscdn.net/rudawlive/rudawlive.smil/playlist.m3u8 +#EXTINF:-1 tvg-id="ShamsTV.iq",Shams TV (1080p) +https://stream.shams.tv/hls/stream.m3u8 #EXTINF:-1 tvg-id="UTV.iq",UTV (1080p) https://mn-nl.mncdn.com/utviraqi2/64c80359/index.m3u8 #EXTINF:-1 tvg-id="WaarTV.iq",Waar TV @@ -146,7 +150,3 @@ https://ca-rt.onetv.app/Waar/index-0.m3u8 https://5a3ed7a72ed4b.streamlock.net/zagrostv/SMIL:myStream.smil/playlist.m3u8 #EXTINF:-1 tvg-id="",Zarok TV Sorani (720p) https://zindisorani.zaroktv.com.tr/hls/stream.m3u8 -#EXTINF:-1 tvg-id="AfarinBaxcha.iq",Afarin Baxcha (1080p) -https://5dcabf026b188.streamlock.net/afarinTV/livestream/playlist.m3u8 -#EXTINF:-1 tvg-id="ShamsTV.iq",Shams TV (1080p) -https://stream.shams.tv/hls/stream.m3u8 diff --git a/streams/it.m3u b/streams/it.m3u index db57c39b4..f32ed0a4b 100644 --- a/streams/it.m3u +++ b/streams/it.m3u @@ -37,6 +37,8 @@ https://59d7d6f47d7fc.streamlock.net/auroraarte/auroraarte/playlist.m3u8 https://ed05.top-ix.org/avtvlive/azzurra/streaming/playlist.m3u8 #EXTINF:-1 tvg-id="BikeChannel.it",Bike (720p) http://backup.superstreaming.inaria.me/BikeSmartMobilityDTT/playlist.m3u8 +#EXTINF:-1 tvg-id="Boing.it",Boing (720p) +https://liveturner.akamaized.net/75a4d1a90e744fa5b9901a1853d2c47f/eu-central-1/6284318116001/playlist.m3u8 #EXTINF:-1 tvg-id="Boing.it",Boing Italy [Geo-blocked] https://live2.msf.cdn.mediaset.net/content/hls_h0_clr_vos/live/channel(kb)/index.m3u8 #EXTINF:-1 tvg-id="BomChannel.it",Bom Channel @@ -314,6 +316,9 @@ https://mediapolisevent.rai.it/relinker/relinkerServlet.htm?cont=2606803 https://mediapolis.rai.it/relinker/relinkerServlet.htm?cont=308718 #EXTINF:-1 tvg-id="Rai2.it",Rai 2 (302p) [Geo-blocked] http://stream.tvtap.net:8081/live/it-rai2.stream/playlist.m3u8 +#EXTINF:-1 tvg-id="Rai2HD.it" http-referrer="https://babaktv.com/",Rai 2 HD +#EXTVLCOPT:http-referrer=https://babaktv.com/ +https://m3u.iranvids.com/rai02/output.m3u8 #EXTINF:-1 tvg-id="Rai3.it",Rai 3 (720p) https://dash2.antik.sk/live/test_rai_tre_tizen/playlist.m3u8 #EXTINF:-1 tvg-id="Rai3.it",Rai 3 (720p) [Not 24/7] @@ -662,8 +667,3 @@ https://stream.cp.ets-sistemi.it:1936/profservtv/profservtv/playlist.m3u8 https://5f22d76e220e1.streamlock.net/canale5/canale5/playlist.m3u8 #EXTINF:-1 tvg-id="ZerounoTVNews.it",Zerouno TV News (720p) https://5db313b643fd8.streamlock.net/ZerounoTVEventi/ZerounoTVEventi/playlist.m3u8 -#EXTINF:-1 tvg-id="Boing.it",Boing (720p) -https://liveturner.akamaized.net/75a4d1a90e744fa5b9901a1853d2c47f/eu-central-1/6284318116001/playlist.m3u8 -#EXTINF:-1 tvg-id="Rai2HD.it" http-referrer="https://babaktv.com/",Rai 2 HD -#EXTVLCOPT:http-referrer=https://babaktv.com/ -https://m3u.iranvids.com/rai02/output.m3u8 diff --git a/streams/kh.m3u b/streams/kh.m3u index 16f1a0506..904633e8d 100644 --- a/streams/kh.m3u +++ b/streams/kh.m3u @@ -17,6 +17,8 @@ https://streaming.freshnewsasia.com/live/ngrp:myStream_all/playlist.m3u8 http://clive.malisresidences.com:1935/hm_hdtv/_definst_/smil:HMHDTV.smil/playlist.m3u8 #EXTINF:-1 tvg-id="iTVHD.kh",iTV HD http://43.252.18.195:5080/live/streams/itv.khmeretv.m3u8 +#EXTINF:-1 tvg-id="KomsanTV.kh",Komsan TV [Not 24/7] +http://tv.cootel.com.kh:8077/streams/d/Komsan/playlist.m3u8 #EXTINF:-1 tvg-id="MSJTV.kh" http-referrer="https://www.iptvservice.site/",MSJ TV (1080p) #EXTVLCOPT:http-referrer=https://www.iptvservice.site/ https://live-ali7.tv360.metfone.com.kh/live/myStream/playlist.m3u8 @@ -38,10 +40,14 @@ https://fmseatv.netlinkbroadcaster.com/hls/test.m3u8 https://live-evg13.tv360.metfone.com.kh/live/towntv.m3u8 #EXTINF:-1 tvg-id="TownTV.kh",Town TV (720p) https://live.kh.malimarcdn.com/live/towntv.stream/playlist.m3u8 +#EXTINF:-1 tvg-id="TV3.kh",TV 3 +http://206.189.93.160:1935/live/myStream_720p/playlist.m3u8 #EXTINF:-1 tvg-id="TV3.kh",TV 3 (720p) https://edge6a.v2h-cdn.com/tv3cam/tv3cam.stream/playlist.m3u8 #EXTINF:-1 tvg-id="TV5Cambodia.kh",TV5 Cambodia http://live.happywatch99.com/livehd14/77bbe9df6a93cf229cd40f1400af00fa.sdp/playlist.m3u8 +#EXTINF:-1 tvg-id="TV5Cambodia.kh",TV5 Cambodia (1080p) +https://es1-p1-netcdn.metfone.com.kh/netcdn-live-36/36/output/playlist.m3u8 #EXTINF:-1 tvg-id="TV5Cambodia.kh",TV5 Cambodia (720p) https://live-evg3.tv360.metfone.com.kh/live/tv5.m3u8 #EXTINF:-1 tvg-id="TVK.kh",TVK (720p) @@ -50,9 +56,3 @@ https://live.kh.malimarcdn.com/live/tvk.stream/playlist.m3u8 https://live.kh.malimarcdn.com/live/tvk2.stream/playlist.m3u8 #EXTINF:-1 tvg-id="WikiTV.kh",WIKI TV (720p) https://stream.wikitv.asia/live/ngrp:myStream_all/playlist.m3u8 -#EXTINF:-1 tvg-id="TV5Cambodia.kh",TV5 Cambodia (1080p) -https://es1-p1-netcdn.metfone.com.kh/netcdn-live-36/36/output/playlist.m3u8 -#EXTINF:-1 tvg-id="KomsanTV.kh",Komsan TV [Not 24/7] -http://tv.cootel.com.kh:8077/streams/d/Komsan/playlist.m3u8 -#EXTINF:-1 tvg-id="TV3.kh",TV 3 -http://206.189.93.160:1935/live/myStream_720p/playlist.m3u8 diff --git a/streams/kr.m3u b/streams/kr.m3u index 8ca79b27d..96b6a77ed 100644 --- a/streams/kr.m3u +++ b/streams/kr.m3u @@ -35,6 +35,8 @@ https://btn.nowcdn.co.kr/btn/btnlive2m/playlist.m3u8 https://du35ivadp6cxj.cloudfront.net/out/v1/81781d23cbbf490990b2aa9181d4ce19/CGNWebLiveKR.m3u8 #EXTINF:-1 tvg-id="ChannelA.kr",Channel A [Geo-blocked] http://channelalive.ktcdn.co.kr/chalivepc/_definst_/atv2/playlist.m3u8 +#EXTINF:-1 tvg-id="ChannelA.kr",Channel A (360p) +http://www.hwado.net/webtv/catv/52_440DDPPJ.php #EXTINF:-1 tvg-id="CJOnStyle.kr",CJ OnStyle (540p) https://live-ch1.cjonstyle.net/cjmalllive/stream2/playlist.m3u8 #EXTINF:-1 tvg-id="CJOnStylePlus.kr",CJ OnStyle Plus (540p) @@ -145,6 +147,8 @@ https://5ee9633b25727.streamlock.net/jmbc_tv/_definst_/jmbc_tv.stream/playlist.m http://vod.mpmbc.co.kr:1935/live/encoder-tv/playlist.m3u8 #EXTINF:-1 tvg-id="MBCNet.kr",MBC Net (480p) [Geo-blocked] http://mytv.dothome.co.kr/ch/catv/28.php +#EXTINF:-1 tvg-id="MBCTV.kr",MBC TV (720p) +http://www.hwado.net/webtv/catv/503_CFEA7803.php #EXTINF:-1 tvg-id="HLATDTV.kr",MBC Yeosu (여수 MBC) (1080p) [Not 24/7] https://5c3639aa99149.streamlock.net/live_TV/tv/playlist.m3u8 #EXTINF:-1 tvg-id="MTN.kr",MTN (720p) @@ -171,6 +175,8 @@ https://live.knou.ac.kr/knou1/live1/playlist.m3u8 https://rtv-stream2.a04f922e9e85c8d25ebfeae3dfd22a67.com/rtv/rtv.m3u8 #EXTINF:-1 tvg-id="RUTCTV.kr",RUTC TV (720p) http://d26sxnc75smwvh.cloudfront.net/livehttporigin/rutclive_720p2.stream/playlist.m3u8 +#EXTINF:-1 tvg-id="SBS.kr",SBS (480p) +http://www.hwado.net/webtv/catv/502_76142D8F.php #EXTINF:-1 tvg-id="HLDRDTV.kr",SBS CJB (540p) [Not 24/7] http://1.222.207.80:1935/live/cjbtv/playlist.m3u8 #EXTINF:-1 tvg-id="HLCGDTV.kr",SBS G1 (360p) [Not 24/7] @@ -219,9 +225,3 @@ http://157.245.196.186/live/livestream.m3u8 http://202.60.106.14:8080/214/playlist.m3u8 #EXTINF:-1 tvg-id="YTN.kr",YTN (720p) http://202.60.106.14:21585/214/playlist.m3u8 -#EXTINF:-1 tvg-id="SBS.kr",SBS (480p) -http://www.hwado.net/webtv/catv/502_76142D8F.php -#EXTINF:-1 tvg-id="ChannelA.kr",Channel A (360p) -http://www.hwado.net/webtv/catv/52_440DDPPJ.php -#EXTINF:-1 tvg-id="MBCTV.kr",MBC TV (720p) -http://www.hwado.net/webtv/catv/503_CFEA7803.php diff --git a/streams/ma.m3u b/streams/ma.m3u index 2083ea24e..5c5f0ca35 100644 --- a/streams/ma.m3u +++ b/streams/ma.m3u @@ -3,7 +3,7 @@ #EXTVLCOPT:http-referrer=https://2m.ma #EXTVLCOPT:http-user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0 https://cdn-globecast.akamaized.net/live/eds/2m_monde/hls_video_ts_tuhawxpiemz257adfc/2m_monde.m3u8 -#EXTINF:-1 tvg-id="2MNational.ma",2M National (1080p) +#EXTINF:-1 tvg-id="",2M National (1080p) http://154.197.91.168:7001/play/a0fn/index.m3u8 #EXTINF:-1 tvg-id="AlAoulaInter.ma",Al Aoula International (1080p) http://154.197.91.168:7001/play/a0f5/index.m3u8 @@ -21,10 +21,10 @@ https://cdn.live.easybroadcast.io/abr_corp/73_almaghribia_83tz85q/playlist_dvr.m http://149.100.11.244:8001/play/a06j/index.m3u8 #EXTINF:-1 tvg-id="Arryadia.ma",Arryadia (1080p) http://154.197.91.168:7001/play/a0f7/index.m3u8 -#EXTINF:-1 tvg-id="Arryadia.ma",Arryadia (480p) -https://cdn.live.easybroadcast.io/abr_corp/73_arryadia_k2tgcj0/playlist_dvr.m3u8 #EXTINF:-1 tvg-id="Arryadia.ma",Arryadia (1080p) http://154.197.91.168:7001/play/a0fa/index.m3u8 +#EXTINF:-1 tvg-id="Arryadia.ma",Arryadia (480p) +https://cdn.live.easybroadcast.io/abr_corp/73_arryadia_k2tgcj0/playlist_dvr.m3u8 #EXTINF:-1 tvg-id="Assadissa.ma",Assadissa (480p) https://cdn.live.easybroadcast.io/abr_corp/73_assadissa_7b7u5n1/playlist_dvr.m3u8 #EXTINF:-1 tvg-id="Athaqafia.ma",Athaqafia (1080p) @@ -33,6 +33,10 @@ http://154.197.91.168:7001/play/a0f8/index.m3u8 https://cdn.live.easybroadcast.io/abr_corp/73_arrabia_hthcj4p/playlist_dvr.m3u8 #EXTINF:-1 tvg-id="ChadaTV.ma",Chada TV (720p) https://chadatv.vedge.infomaniak.com/livecast/chadatv/playlist.m3u8 +#EXTINF:-1 tvg-id="ChadaTV.ma",Chada TV (720p) +https://edge19.vedge.infomaniak.com/livecast/ik:chadatv/playlist.m3u8 +#EXTINF:-1 tvg-id="M24TV.ma",M24 TV (1080p) +https://67aac8c668349.streamlock.net/live/ngrp:Live2.stream_all/playlist.m3u8 #EXTINF:-1 tvg-id="Medi1TVAfrique.ma",Medi 1 TV Afrique (1080p) [Not 24/7] https://streaming1.medi1tv.com/live/smil:medi1fr.smil/playlist.m3u8 #EXTINF:-1 tvg-id="Medi1TVAfrique.ma",Medi 1 TV Afrique (1080p) [Not 24/7] @@ -49,7 +53,3 @@ https://streaming2.medi1tv.com/live/smil:medi1tv.smil/playlist.m3u8 http://154.197.91.168:7001/play/a0fb/index.m3u8 #EXTINF:-1 tvg-id="TamazightTV.ma",Tamazight (480p) https://cdn.live.easybroadcast.io/abr_corp/73_tamazight_tccybxt/playlist_dvr.m3u8 -#EXTINF:-1 tvg-id="ChadaTV.ma",Chada TV (720p) -https://edge19.vedge.infomaniak.com/livecast/ik:chadatv/playlist.m3u8 -#EXTINF:-1 tvg-id="M24TV.ma",M24 TV (1080p) -https://67aac8c668349.streamlock.net/live/ngrp:Live2.stream_all/playlist.m3u8 diff --git a/streams/md.m3u b/streams/md.m3u index 81ae95bc1..f35e2f221 100644 --- a/streams/md.m3u +++ b/streams/md.m3u @@ -3,29 +3,57 @@ http://hls.protv.md/acasatv/acasatv.m3u8 #EXTINF:-1 tvg-id="BaltiTV.md",Bălţi TV (1080p) [Geo-blocked] http://77.89.199.174:8000/play/1024/index.m3u8 +#EXTINF:-1 tvg-id="BusuiocTV.md",Busuioc TV (1080p) +http://62.233.57.226:8001/play/a005 #EXTINF:-1 tvg-id="BusuiocTV.md",Busuioc TV (540p) [Not 24/7] https://busuioctv.iforward.eu/hls/busuioc.m3u8 +#EXTINF:-1 tvg-id="Cinema1.md",Cinema 1 (1080p) +http://62.233.57.226:8001/play/a00l00 #EXTINF:-1 tvg-id="DrochiaTV.md",Drochia TV (1080p) [Not 24/7] https://hls.drochia.tv/tv/web.m3u8 #EXTINF:-1 tvg-id="DuniaSinema.my",Dunia Sinema (1080p) https://unifi-live05.secureswiftcontent.com/UnifiHD/live27-1080FHD.m3u8 +#EXTINF:-1 tvg-id="ExclusivTV.md",Exclusiv TV (1080p) +http://62.233.57.226:8001/play/a00f +#EXTINF:-1 tvg-id="GRT.md",GRT (1080p) +http://62.233.57.226:8001/play/a00f00 +#EXTINF:-1 tvg-id="JurnalTV.md",Jurnal TV (1080p) +http://62.233.57.226:8001/play/a00i +#EXTINF:-1 tvg-id="Moldova2.md",Moldova 2 (1080p) +http://62.233.57.226:8001/play/a00a #EXTINF:-1 tvg-id="MoldovaTV.md",Moldova TV (576p) [Not 24/7] http://89.38.8.130:39435 +#EXTINF:-1 tvg-id="N4.md",N4 (1080p) +http://62.233.57.226:8001/play/a007 #EXTINF:-1 tvg-id="N4.md",N4 (360p) [Not 24/7] https://web.sats.gstv.tech/cpl11/da8df281-1165-440a-8c86-959f71b695b6/N4web.m3u8 +#EXTINF:-1 tvg-id="NextTV.md",Next TV (1080p) +http://62.233.57.226:8001/play/a00h +#EXTINF:-1 tvg-id="NorocTV.md",Noroc TV (1080p) +http://62.233.57.226:8001/play/a00i00 #EXTINF:-1 tvg-id="NorocTV.md",Noroc TV (576p) [Not 24/7] https://live.noroc.tv/noroc/noroc.m3u8 +#EXTINF:-1 tvg-id="NTSTV.md",NTS TV (1080p) +http://62.233.57.226:8001/play/a00d +#EXTINF:-1 tvg-id="PremieraTV.md",Premiera TV (1080p) +http://62.233.57.226:8001/play/a009 #EXTINF:-1 tvg-id="PrivescEuTV.md",Privesc.Eu TV (2160p) https://cachestar.privesc.eu/liniar/moldova/playlist.m3u8 +#EXTINF:-1 tvg-id="PROTVChisinau.md",PRO TV Chisinau (1080p) +http://62.233.57.226:8001/play/a00g #EXTINF:-1 tvg-id="PublikaTV.md",Publika TV (720p) https://livebeta.publika.press/LIVE/P/6810.m3u8 #EXTINF:-1 tvg-id="RealitateaTV.md",Rlive TV (406p) https://realitatealive.md/tv/rlive.m3u8 #EXTINF:-1 tvg-id="SorTV.md",Sor TV (720p) http://188.237.212.16:8888/live/cameraFeed.m3u8 +#EXTINF:-1 tvg-id="StarTV.md",Star TV (1080p) +http://62.233.57.226:8001/play/a008 #EXTINF:-1 tvg-id="TeleM.md",TeleM (576p) https://tv.streambox.ro/hls/telem/index.m3u8 #EXTINF:-1 tvg-id="TezaurTV.md",Tezaur TV (1080p) +http://62.233.57.226:8001/play/a00j +#EXTINF:-1 tvg-id="TezaurTV.md",Tezaur TV (1080p) https://tezaurtv.md/wp-content/uploads/live/index.m3u8 #EXTINF:-1 tvg-id="TVNord.md",TV-Nord (1080p) https://6065d3147e895.streamlock.net:4444/npcl/live/playlist.m3u8 @@ -33,33 +61,5 @@ https://6065d3147e895.streamlock.net:4444/npcl/live/playlist.m3u8 https://tvr-tvrmoldova.cdn.zitec.com/live/tvrmoldova/main.m3u8 #EXTINF:-1 tvg-id="VoceaBasarabieiTV.md",Vocea Basarabiei TV (720p) [Not 24/7] https://storage.voceabasarabiei.md/vocea/vocea.m3u8 -#EXTINF:-1 tvg-id="ExclusivTV.md",Exclusiv TV (1080p) -http://62.233.57.226:8001/play/a00f -#EXTINF:-1 tvg-id="TezaurTV.md",Tezaur TV (1080p) -http://62.233.57.226:8001/play/a00j -#EXTINF:-1 tvg-id="StarTV.md",Star TV (1080p) -http://62.233.57.226:8001/play/a008 #EXTINF:-1 tvg-id="ZonaM.md",Zona M (576p) http://62.233.57.226:8001/play/a00e -#EXTINF:-1 tvg-id="PROTVChisinau.md",PRO TV Chisinau (1080p) -http://62.233.57.226:8001/play/a00g -#EXTINF:-1 tvg-id="PremieraTV.md",Premiera TV (1080p) -http://62.233.57.226:8001/play/a009 -#EXTINF:-1 tvg-id="NTSTV.md",NTS TV (1080p) -http://62.233.57.226:8001/play/a00d -#EXTINF:-1 tvg-id="NorocTV.md",Noroc TV (1080p) -http://62.233.57.226:8001/play/a00i00 -#EXTINF:-1 tvg-id="NextTV.md",Next TV (1080p) -http://62.233.57.226:8001/play/a00h -#EXTINF:-1 tvg-id="N4.md",N4 (1080p) -http://62.233.57.226:8001/play/a007 -#EXTINF:-1 tvg-id="Moldova2.md",Moldova 2 (1080p) -http://62.233.57.226:8001/play/a00a -#EXTINF:-1 tvg-id="JurnalTV.md",Jurnal TV (1080p) -http://62.233.57.226:8001/play/a00i -#EXTINF:-1 tvg-id="GRT.md",GRT (1080p) -http://62.233.57.226:8001/play/a00f00 -#EXTINF:-1 tvg-id="Cinema1.md",Cinema 1 (1080p) -http://62.233.57.226:8001/play/a00l00 -#EXTINF:-1 tvg-id="BusuiocTV.md",Busuioc TV (1080p) -http://62.233.57.226:8001/play/a005 diff --git a/streams/my.m3u b/streams/my.m3u index fd7d719c8..4b9d6ed1c 100644 --- a/streams/my.m3u +++ b/streams/my.m3u @@ -17,6 +17,8 @@ https://hls.maahtv.live/hls/stream.m3u8 #EXTINF:-1 tvg-id="Okey.my" http-referrer="https://rtm-player.glueapi.io/",Okey RTM [Geo-blocked] #EXTVLCOPT:http-referrer=https://rtm-player.glueapi.io/ https://d25tgymtnqzu8s.cloudfront.net/smil:okey/playlist.m3u8?id=3 +#EXTINF:-1 tvg-id="RTMASEAN.my",RTM ASEAN +https://d25tgymtnqzu8s.cloudfront.net/event/smil:event1/chunklist_b2596000_slENG.m3u8 #EXTINF:-1 tvg-id="ParlimenMalaysia.my" http-referrer="https://rtm-player.glueapi.io/",RTM Parlimen (Dewan Negara) [Geo-blocked] #EXTVLCOPT:http-referrer=https://rtm-player.glueapi.io/ https://d25tgymtnqzu8s.cloudfront.net/smil:negara/playlist.m3u8?id=8 @@ -44,5 +46,3 @@ https://d25tgymtnqzu8s.cloudfront.net/smil:tv6/playlist.m3u8?id=6 https://tonton-live-switch-ssar.akamaized.net/stream-tv9/master.m3u8?bpkio_serviceid=6c0958d82a830a02ca0936d9cfab8311 #EXTINF:-1 tvg-id="TVIKIM.my",TVIKIM https://edge-sg1.vediostream.com/abr/tvikim/playlist.m3u8 -#EXTINF:-1 tvg-id="RTMASEAN.my",RTM ASEAN -https://d25tgymtnqzu8s.cloudfront.net/event/smil:event1/chunklist_b2596000_slENG.m3u8 diff --git a/streams/ng.m3u b/streams/ng.m3u index b2b4c46be..c071468cb 100644 --- a/streams/ng.m3u +++ b/streams/ng.m3u @@ -102,6 +102,8 @@ https://video1.getstreamhosting.com:1936/8398/8398/playlist.m3u8 https://webstreaming.viewmedia.tv/web_038/Stream/playlist.m3u8 #EXTINF:-1 tvg-id="TVC.ng",TVC (1080p) https://tvce.gridpapaservers.com/TVCSEPT/ngrp:myStream_all/playlist.m3u8 +#EXTINF:-1 tvg-id="TVCNews.ng",TVC News (576p) +http://92.114.85.72:8000/play/a0al #EXTINF:-1 tvg-id="WaffiTV.ng",Waffi TV (240p) https://oqgdro3xd4rm-hls-live.5centscdn.com/waffiitvstreaminglivetfmediacast/e0885d428bea69e372309657f3bd895f.sdp/playlist.m3u8 #EXTINF:-1 tvg-id="WapTV.ng",Wap TV (720p) [Not 24/7] @@ -114,5 +116,3 @@ https://wazobia.live:8333/channel/wmax.m3u8 https://wazobia.live:8333/channel/wmaxph.m3u8 #EXTINF:-1 tvg-id="WholeWordTV.ng",Whole Word TV (720p) https://mn-nl.mncdn.com/wholewordtv/wholewordtv/index.m3u8 -#EXTINF:-1 tvg-id="TVCNews.ng",TVC News (576p) -http://92.114.85.72:8000/play/a0al diff --git a/streams/pl.m3u b/streams/pl.m3u index a42fda655..6deb833e6 100644 --- a/streams/pl.m3u +++ b/streams/pl.m3u @@ -3,6 +3,8 @@ http://178.219.128.68:64888/4FUNDANC #EXTINF:-1 tvg-id="4FunDance.pl",4 Fun Dance (576p) http://178.219.128.68:64889/4FUNDANC +#EXTINF:-1 tvg-id="4FunDance.pl",4 Fun Dance (576p) +http://185.236.229.62:9981/play/a020 #EXTINF:-1 tvg-id="4FunKids.pl",4 Fun Kids (576p) http://178.219.128.68:64888/4FUNKIDS #EXTINF:-1 tvg-id="4FunTV.pl",4 Fun TV (576p) @@ -15,12 +17,16 @@ http://109.233.89.166/13_Ulica_HD/index.m3u8 http://109.233.89.170/13_Ulica_HD/index.m3u8 #EXTINF:-1 tvg-id="13Ulica.pl",13 Ulica (1080p) http://178.219.128.68:64888/13ULICHD +#EXTINF:-1 tvg-id="13Ulica.pl",13 Ulica (1080p) +http://185.236.229.62:9981/play/a03o #EXTINF:-1 tvg-id="ActiveFamily.pl",Active Family (1080p) http://109.233.89.166/Active_Family_HD/index.m3u8 #EXTINF:-1 tvg-id="ActiveFamily.pl",Active Family (1080p) http://178.219.128.68:64888/ACTIFAMIHD #EXTINF:-1 tvg-id="ActiveFamily.pl",Active Family (1080p) http://178.219.128.68:64889/ACTIFAMIHD +#EXTINF:-1 tvg-id="ActiveFamily.pl",Active Family (1080p) +http://185.236.229.62:9981/play/a04a #EXTINF:-1 tvg-id="AdventureTV.pl",Adventure TV (1080p) http://109.233.89.170/Adventure_HD/index.m3u8 #EXTINF:-1 tvg-id="AFVFamily.pl",AFV Family (720p) @@ -35,34 +41,48 @@ http://109.233.89.166/AMC_HD/index.m3u8 http://109.233.89.170/AMC_HD/index.m3u8 #EXTINF:-1 tvg-id="AMC.pl",AMC (1080p) http://178.219.128.68:64889/AMCHD +#EXTINF:-1 tvg-id="AMC.pl",AMC (1080p) +http://185.236.229.62:9981/play/a05g #EXTINF:-1 tvg-id="AntenaHD.pl",Antena HD (1080p) http://109.233.89.170/Antena_TV_HD/index.m3u8 #EXTINF:-1 tvg-id="AXN.pl",AXN (1080p) http://178.219.128.68:64888/AXN +#EXTINF:-1 tvg-id="AXN.pl",AXN (1080p) +http://185.236.229.62:9981/play/a07s #EXTINF:-1 tvg-id="AXNBlack.pl",AXN Black (576p) http://185.236.229.62:9981/play/a075 +#EXTINF:-1 tvg-id="AXNSpin.pl",AXN Spin (1080p) +http://185.236.229.62:9981/play/a044 #EXTINF:-1 tvg-id="AXNWhite.pl",AXN White (576p) http://185.236.229.62:9981/play/a074 #EXTINF:-1 tvg-id="BBCBrit.pl",BBC Brit (1080p) +http://109.233.89.170/BBC_Brit_HD/index.m3u8 +#EXTINF:-1 tvg-id="BBCBrit.pl",BBC Brit (1080p) http://178.219.128.68:64889/BBCBRITHD #EXTINF:-1 tvg-id="BBCBrit.pl",BBC Brit (1080p) -http://109.233.89.170/BBC_Brit_HD/index.m3u8 +http://185.236.229.62:9981/play/a06r #EXTINF:-1 tvg-id="BBCEarth.pl",BBC Earth (1080p) http://109.233.89.170/BBC_Earth_HD/index.m3u8 #EXTINF:-1 tvg-id="BBCEarth.pl",BBC Earth (1080p) http://178.219.128.68:64888/BBCEARTHD #EXTINF:-1 tvg-id="BBCEarth.pl",BBC Earth (1080p) http://178.219.128.68:64889/BBCEARTHD +#EXTINF:-1 tvg-id="BBCEarth.pl",BBC Earth (1080p) +http://185.236.229.62:9981/play/a02o #EXTINF:-1 tvg-id="BBCFirst.pl",BBC First (1080p) http://185.236.229.62:9981/play/a02n #EXTINF:-1 tvg-id="BBCLifestyle.pl",BBC Lifestyle (1080p) http://178.219.128.68:64888/BBCLIFEHD +#EXTINF:-1 tvg-id="BBCLifestyle.pl",BBC Lifestyle (1080p) +http://185.236.229.62:9981/play/a06t #EXTINF:-1 tvg-id="Bigtime.pl",Bigtime (720p) https://103f01c3ff79408e83c9212f8a374ecc.mediatailor.us-east-1.amazonaws.com/v1/master/0fb304b2320b25f067414d481a779b77db81760d/RakutenTV-eu_BjgtjmeDarmoweFilmy/playlist.m3u8 #EXTINF:-1 tvg-id="CarCityAdventures.pl",Car City Adventures (720p) https://d39g1vxj2ef6in.cloudfront.net/v1/manifest/3fec3e5cac39a52b2132f9c66c83dae043dc17d4/prod-rakuten-stitched/b6397b24-18b0-49c2-80bf-0333ae568e37/5.m3u8 #EXTINF:-1 tvg-id="CBeebies.pl",CBeebies (1080p) http://185.236.229.62:9981/play/a06s +#EXTINF:-1 tvg-id="CBSEuropa.pl",CBS Europa (1080p) +http://185.236.229.62:9981/play/a06i #EXTINF:-1 tvg-id="CBSReality.pl",CBS Reality (1080p) http://109.233.89.170/CBS_Reality_HD/index.m3u8 #EXTINF:-1 tvg-id="CBSReality.pl",CBS Reality (1080p) @@ -73,10 +93,14 @@ http://109.233.89.166/Comedy_Central_HD/index.m3u8 http://109.233.89.170/Comedy_Central_HD/index.m3u8 #EXTINF:-1 tvg-id="ComedyCentral.pl",Comedy Central (1080p) http://178.219.128.68:64889/COMECENTHD +#EXTINF:-1 tvg-id="ComedyCentral.pl",Comedy Central (1080p) +http://185.236.229.62:9981/play/a068 #EXTINF:-1 tvg-id="CrimePlusInvestigationPolsat.pl",Crime + Investigation Polsat (1080p) http://185.236.229.62:9981/play/a07w #EXTINF:-1 tvg-id="DaVinci.pl",Da Vinci (1080p) http://109.233.89.170/Da_Vinci_HD/index.m3u8 +#EXTINF:-1 tvg-id="DaVinci.pl",Da Vinci (576p) +http://185.236.229.62:9981/play/a024 #EXTINF:-1 tvg-id="DAZNCombat.pl",DAZN Combat (1080p) https://dazn-combat-rakuten.amagi.tv/hls/amagi_hls_data_rakutenAA-dazn-combat-rakuten/CDN/master.m3u8 #EXTINF:-1 tvg-id="DAZNWomensFootball.pl",DAZN Women's Football (1080p) @@ -103,18 +127,30 @@ http://109.233.89.170/Disney_Junior/index.m3u8 http://185.236.229.62:9981/play/a06n #EXTINF:-1 tvg-id="DisneyXD.pl",Disney XD (576p) http://178.219.128.68:64888/DISNXD +#EXTINF:-1 tvg-id="DisneyXD.pl",Disney XD (576p) +http://185.236.229.62:9981/play/a07c #EXTINF:-1 tvg-id="dlaCiebietv.pl",dlaCiebie.tv (1080p) http://178.219.128.68:64889/DLAC +#EXTINF:-1 tvg-id="dlaCiebietv.pl",dlaCiebie.tv (1080p) +http://185.236.229.62:9981/play/a04u #EXTINF:-1 tvg-id="dlaCiebietv.pl",dlaCiebie.tv (1080p) [Not 24/7] http://94.246.128.53:1935/tv/dlaCiebieTv/playlist.m3u8 #EXTINF:-1 tvg-id="dlaCiebietv.pl",dlaCiebie.tv (1080p) [Not 24/7] https://6034e09794f07.streamlock.net/tv/dlaCiebieTv/playlist.m3u8 +#EXTINF:-1 tvg-id="E.pl",E! (1080p) +http://185.236.229.62:9981/play/a03j #EXTINF:-1 tvg-id="Echo24.pl",Echo24 (720p) https://echo24new.pl/LiveAppStreamECHO24/streams/GL0VksiIgQUS1672825288490.m3u8 +#EXTINF:-1 tvg-id="ElevenSports1.pl",Eleven Sports 1 (2160p) +http://9b129915.akadatel.com/iptv/83GA6FAV4DPTPQ/20068/index.m3u8 +#EXTINF:-1 tvg-id="ElevenSports1.pl",Eleven Sports 1 (2160p) +http://185.236.229.62:9981/play/a03t #EXTINF:-1 tvg-id="ElevenSports1.pl",Eleven Sports 1 (1080p) http://109.233.89.166/Eleven_Sports_1_HD/index.m3u8 #EXTINF:-1 tvg-id="ElevenSports1.pl",Eleven Sports 1 (1080p) http://109.233.89.170/Eleven_Sports_1_HD/index.m3u8 +#EXTINF:-1 tvg-id="ElevenSports1.pl",Eleven Sports 1 (1080p) +http://185.236.229.62:9981/play/a05w #EXTINF:-1 tvg-id="ElevenSports1.pl" http-referrer="https://newembedplay.xyz/",Eleven Sports 1 (1080p) #EXTVLCOPT:http-referrer=https://newembedplay.xyz/ https://windnew.iosplayer.ru/wind/premium71/mono.m3u8 @@ -122,6 +158,8 @@ https://windnew.iosplayer.ru/wind/premium71/mono.m3u8 http://109.233.89.166/Eleven_Sports_2_HD/index.m3u8 #EXTINF:-1 tvg-id="ElevenSports2.pl",Eleven Sports 2 (1080p) http://109.233.89.170/Eleven_Sports_2_HD/index.m3u8 +#EXTINF:-1 tvg-id="ElevenSports2.pl",Eleven Sports 2 (1080p) +http://185.236.229.62:9981/play/a05y #EXTINF:-1 tvg-id="ElevenSports2.pl" http-referrer="https://newembedplay.xyz/",Eleven Sports 2 (1080p) #EXTVLCOPT:http-referrer=https://newembedplay.xyz/ https://windnew.iosplayer.ru/wind/premium72/mono.m3u8 @@ -129,6 +167,8 @@ https://windnew.iosplayer.ru/wind/premium72/mono.m3u8 http://109.233.89.166/Eleven_Sports_3_HD/index.m3u8 #EXTINF:-1 tvg-id="ElevenSports3.pl",Eleven Sports 3 (1080p) http://109.233.89.170/Eleven_Sports_3_HD/index.m3u8 +#EXTINF:-1 tvg-id="ElevenSports3.pl",Eleven Sports 3 (1080p) +http://185.236.229.62:9981/play/a061 #EXTINF:-1 tvg-id="ElevenSports3.pl" http-referrer="https://newembedplay.xyz/",Eleven Sports 3 (1080p) #EXTVLCOPT:http-referrer=https://newembedplay.xyz/ https://ddy6new.iosplayer.ru/ddy6/premium428/mono.m3u8 @@ -136,6 +176,10 @@ https://ddy6new.iosplayer.ru/ddy6/premium428/mono.m3u8 http://109.233.89.166/ELEVEN_SPORTS_4_HD/index.m3u8 #EXTINF:-1 tvg-id="ElevenSports4.pl",Eleven Sports 4 (1080p) http://109.233.89.170/ELEVEN_SPORTS_4_HD/index.m3u8 +#EXTINF:-1 tvg-id="EpicDrama.pl",Epic Drama (1080p) +http://185.236.229.62:9981/play/a029 +#EXTINF:-1 tvg-id="EpicDrama.pl",Epic Drama (1080p) +http://195.189.60.33:9010/play/a00e #EXTINF:-1 tvg-id="EskaRockTV.pl",Eska Rock TV (1080p) http://178.219.128.68:64889/ESKAROCKTV #EXTINF:-1 tvg-id="EskaTV.pl",Eska TV (1080p) @@ -144,6 +188,8 @@ http://109.233.89.166/ESKA_TV_HD/index.m3u8 http://109.233.89.170/ESKA_TV_HD/index.m3u8 #EXTINF:-1 tvg-id="EskaTV.pl",Eska TV (1080p) http://178.219.128.68:64888/ESKATVHD +#EXTINF:-1 tvg-id="EskaTV.pl",Eska TV (1080p) +http://185.236.229.62:9981/play/a02f #EXTINF:-1 tvg-id="EskaTVExtra.pl",Eska TV Extra (1080p) http://178.219.128.68:64888/ESKATVEXTRHD #EXTINF:-1 tvg-id="EWTNPoland.pl",EWTN Poland (1080p) @@ -154,20 +200,52 @@ http://live.ezotv.pl:1935/live/EZOTV/playlist.m3u8 https://bd93cfed.wurl.com/master/f36d25e7e52f1ba8d7e56eb859c636563214f541/UmFrdXRlblRWLWV1X0ZhaWxBcm15X0hMUw/playlist.m3u8 #EXTINF:-1 tvg-id="FIFAPlus.pl",FIFA+ (720p) https://a62dad94.wurl.com/master/f36d25e7e52f1ba8d7e56eb859c636563214f541/UmFrdXRlblRWLWV1X0ZJRkFQbHVzRW5nbGlzaF9ITFM/playlist.m3u8 +#EXTINF:-1 tvg-id="FightKlub.pl",Fight Klub (1080p) +http://185.236.229.62:9981/play/a02l +#EXTINF:-1 tvg-id="FightBox.pl",FightBox (1080p) +http://185.236.229.62:9981/play/a03n +#EXTINF:-1 tvg-id="FightBox.pl",FightBox (1080p) +http://195.189.60.33:9002/play/a007 +#EXTINF:-1 tvg-id="FilmBoxAction.pl",FilmBox Action (576p) +http://185.236.229.62:9981/play/a033 +#EXTINF:-1 tvg-id="FilmBoxAction.pl",FilmBox Action (576p) +http://195.189.60.33:9004/play/a00g +#EXTINF:-1 tvg-id="FilmBoxArthouse.pl",FilmBox Arthouse (576p) +http://195.189.60.33:9010/play/a00a #EXTINF:-1 tvg-id="FilmBoxExtra.pl",FilmBox Extra (1080p) http://178.219.128.68:64888/FILMEXTRHD +#EXTINF:-1 tvg-id="FilmBoxExtra.pl",FilmBox Extra (1080p) +http://185.236.229.62:9981/play/a036 +#EXTINF:-1 tvg-id="FilmBoxFamily.pl",FilmBox Family (1080p) +http://178.219.128.68:64888/FILMFAMI +#EXTINF:-1 tvg-id="FilmBoxFamily.pl",FilmBox Family (576p) +http://185.236.229.62:9981/play/a032 +#EXTINF:-1 tvg-id="FilmBoxFamily.pl",FilmBox Family (576p) +http://185.236.229.62:9981/play/a037 #EXTINF:-1 tvg-id="FilmBoxPremiumHD.pl",FilmBox Premium HD (1080p) http://178.219.128.68:64888/FILMPREMHD +#EXTINF:-1 tvg-id="FilmBoxPremiumHD.pl",FilmBox Premium HD (1080p) +http://185.236.229.62:9981/play/a02x #EXTINF:-1 tvg-id="FokusTV.pl",Fokus TV (1080p) http://178.219.128.68:64889/FOKUTV -#EXTINF:-1 tvg-id="Fox.pl",Fox (1080p) -http://178.219.128.68:64889/FOXHD +#EXTINF:-1 tvg-id="FokusTV.pl",Fokus TV (1080p) +http://185.236.229.62:9981/play/a02g #EXTINF:-1 tvg-id="Fox.pl",Fox (1080p) http://109.233.89.166/FOX_HD/index.m3u8 #EXTINF:-1 tvg-id="Fox.pl",Fox (1080p) http://109.233.89.170/FOX_HD/index.m3u8 +#EXTINF:-1 tvg-id="Fox.pl",Fox (1080p) +http://178.219.128.68:64889/FOXHD +#EXTINF:-1 tvg-id="Fox.pl",Fox (1080p) +http://185.236.229.62:9981/play/a07u #EXTINF:-1 tvg-id="FoxComedy.pl",Fox Comedy (1080p) http://178.219.128.68:64889/FOXCOMEHD +#EXTINF:-1 tvg-id="FoxComedy.pl",Fox Comedy (1080p) +http://185.236.229.62:9981/play/a07t +#EXTINF:-1 tvg-id="GolfChannel.pl",Golf Channel (1080p) +http://185.236.229.62:9981/play/a03m +#EXTINF:-1 tvg-id="GolfZone.pl",Golf Zone (1080p) +http://195.189.60.33:9002/play/a006 #EXTINF:-1 tvg-id="Grjngo.pl",Grjngo (720p) https://b6c7c7d1020a4588982ca7c2625f85d1.mediatailor.us-east-1.amazonaws.com/v1/master/0fb304b2320b25f067414d481a779b77db81760d/RakutenTV-eu_GrjngoWesterny/playlist.m3u8 #EXTINF:-1 tvg-id="HardKnocksFightingChampionship.pl",Hard Knocks Fighting Championship (720p) @@ -192,12 +270,20 @@ http://178.219.128.68:64889/HOMETV http://109.233.89.166/Kino_Polska_HD/index.m3u8 #EXTINF:-1 tvg-id="KinoPolska.pl",Kino Polska (1080p) http://178.219.128.68:64888/KINOPOLSHD +#EXTINF:-1 tvg-id="KinoPolska.pl",Kino Polska (1080p) +http://185.236.229.62:9981/play/a05v #EXTINF:-1 tvg-id="KinoPolskaMuzyka.pl",Kino Polska Muzyka (576p) http://185.236.229.62:9981/play/a030 #EXTINF:-1 tvg-id="KinoTV.pl",Kino TV (1080p) http://178.219.128.68:64888/KINOTV +#EXTINF:-1 tvg-id="KinoTV.pl",Kino TV (1080p) +http://185.236.229.62:9981/play/a031 +#EXTINF:-1 tvg-id="LoneStar.pl",Lone Star (720p) +https://6b88cde9.wurl.com/master/f36d25e7e52f1ba8d7e56eb859c636563214f541/UmFrdXRlblRWLWV1X0xvbmVTdGFyX0hMUw/playlist.m3u8 #EXTINF:-1 tvg-id="Moconomy.pl",Moconomy (1080p) https://3ee905090d464be5a51478fd9c642e93.mediatailor.us-east-1.amazonaws.com/v1/master/44f73ba4d03e9607dcd9bebdcb8494d86964f1d8/RakutenTV-pl_Moconomy/playlist.m3u8 +#EXTINF:-1 tvg-id="MonsterJam.pl",Monster Jam (720p) +https://4b9627c7.wurl.com/master/f36d25e7e52f1ba8d7e56eb859c636563214f541/UmFrdXRlblRWLWV1X01vbnN0ZXJKYW1fSExT/playlist.m3u8 #EXTINF:-1 tvg-id="Motowizja.pl",Motowizja (1080p) http://109.233.89.170/Motowizja_HD/index.m3u8 #EXTINF:-1 tvg-id="Motowizja.pl",Motowizja (1080p) @@ -210,12 +296,16 @@ http://178.219.128.68:64888/MTVHD http://185.236.229.62:9981/play/a06f #EXTINF:-1 tvg-id="NationalGeographic.pl",National Geographic (1080p) http://178.219.128.68:64889/NATIGEOGHD +#EXTINF:-1 tvg-id="NationalGeographic.pl",National Geographic (1080p) +http://185.236.229.62:9981/play/a04d #EXTINF:-1 tvg-id="NationalGeographicWild.pl",National Geographic Wild (1080p) http://109.233.89.166/National_Geographic_Wild_HD/index.m3u8 #EXTINF:-1 tvg-id="NationalGeographicWild.pl",National Geographic Wild (1080p) http://109.233.89.170/National_Geographic_Wild_HD/index.m3u8 #EXTINF:-1 tvg-id="NationalGeographicWild.pl",National Geographic Wild (1080p) http://185.236.229.62:9981/play/a05z +#EXTINF:-1 tvg-id="NickJr.pl",Nick Jr. (576p) +http://185.236.229.62:9981/play/a065 #EXTINF:-1 tvg-id="NickJr.pl",Nick Jr. Poland (576i) http://178.219.128.68:64888/NICKJR #EXTINF:-1 tvg-id="Nickelodeon.pl",Nickelodeon (576p) @@ -224,12 +314,16 @@ http://109.233.89.166/Nickelodeon/index.m3u8 http://109.233.89.170/Nickelodeon/index.m3u8 #EXTINF:-1 tvg-id="Nickelodeon.pl",Nickelodeon (576p) http://178.219.128.68:64889/NICK +#EXTINF:-1 tvg-id="Nickelodeon.pl",Nickelodeon (576p) +http://185.236.229.62:9981/play/a067 #EXTINF:-1 tvg-id="Nicktoons.pl",Nicktoons (1080p) http://185.236.229.62:9981/play/a06a #EXTINF:-1 tvg-id="NowaTV.pl",Nowa TV (1080p) http://109.233.89.170/NOWA_TV_HD/index.m3u8 #EXTINF:-1 tvg-id="NowaTV.pl",Nowa TV (1080p) http://178.219.128.68:64889/NOWATVHD +#EXTINF:-1 tvg-id="NowaTV.pl",Nowa TV (1080p) +http://185.236.229.62:9981/play/a02h #EXTINF:-1 tvg-id="NutaTV.pl",Nuta TV (576p) http://178.219.128.68:64888/NUTA #EXTINF:-1 tvg-id="ParamountNetwork.pl",Paramount Network (1080p) @@ -238,10 +332,16 @@ http://109.233.89.166/Paramount_Channel_HD/index.m3u8 http://109.233.89.170/Paramount_Channel_HD/index.m3u8 #EXTINF:-1 tvg-id="ParamountNetwork.pl",Paramount Network (1080p) http://185.236.229.62:9981/play/a069 +#EXTINF:-1 tvg-id="PeopleAreAwesome.pl",People Are Awesome (720p) +https://3ab76e42.wurl.com/master/f36d25e7e52f1ba8d7e56eb859c636563214f541/UmFrdXRlblRWLWV1X1Blb3BsZUFyZUF3ZXNvbWVfSExT/playlist.m3u8 +#EXTINF:-1 tvg-id="PFLMMA.pl",PFL MMA (720p) +https://a883593c.wurl.com/master/f36d25e7e52f1ba8d7e56eb859c636563214f541/UmFrdXRlblRWLWV1X1BGTE1NQV9ITFM/playlist.m3u8 #EXTINF:-1 tvg-id="PoloTV.pl",Polo TV (1080p) http://109.233.89.166/Polo_TV/index.m3u8 #EXTINF:-1 tvg-id="PoloTV.pl",Polo TV (1080p) http://178.219.128.68:64888/POLOTV +#EXTINF:-1 tvg-id="PoloTV.pl",Polo TV (1080p) +http://185.236.229.62:9981/play/a02e #EXTINF:-1 tvg-id="Polonia1.pl",Polonia 1 (1080p) http://178.219.128.68:64889/POLO1 #EXTINF:-1 tvg-id="Polonia1.pl",Polonia 1 (576p) @@ -254,6 +354,8 @@ http://109.233.89.166/Polsat_HD/index.m3u8 http://109.233.89.170/Polsat_HD/index.m3u8 #EXTINF:-1 tvg-id="Polsat.pl",Polsat (1080p) http://178.219.128.68:64889/POLSHD +#EXTINF:-1 tvg-id="Polsat.pl",Polsat (1080p) +http://185.236.229.62:9981/play/a03v #EXTINF:-1 tvg-id="Polsat.pl",Polsat (1080p) [Geo-blocked] https://lb2-e2-19.pluscdn.pl/ch/1502600/308/dash/20a18c30/live.mpd #EXTINF:-1 tvg-id="Polsat2.pl",Polsat 2 (1080p) @@ -262,22 +364,30 @@ http://109.233.89.166/Polsat_2_HD/index.m3u8 http://109.233.89.170/Polsat_2_HD/index.m3u8 #EXTINF:-1 tvg-id="Polsat2.pl",Polsat 2 (1080p) http://178.219.128.68:64888/POLS2HD +#EXTINF:-1 tvg-id="Polsat2.pl",Polsat 2 (1080p) +http://185.236.229.62:9981/play/a042 #EXTINF:-1 tvg-id="PolsatCafe.pl",Polsat Cafe (1080p) http://109.233.89.170/Polsat_Cafe_HD/index.m3u8 #EXTINF:-1 tvg-id="PolsatCafe.pl",Polsat Cafe (1080p) http://178.219.128.68:64889/POLSCAFEHD +#EXTINF:-1 tvg-id="PolsatCafe.pl",Polsat Cafe (1080p) +http://185.236.229.62:9981/play/a03z #EXTINF:-1 tvg-id="PolsatDoku.pl",Polsat Doku (1080p) http://109.233.89.166/Polsat_Doku_HD/index.m3u8 #EXTINF:-1 tvg-id="PolsatDoku.pl",Polsat Doku (1080p) http://109.233.89.170/Polsat_Doku_HD/index.m3u8 #EXTINF:-1 tvg-id="PolsatDoku.pl",Polsat Doku (1080p) http://178.219.128.68:64888/POLSDOKUHD +#EXTINF:-1 tvg-id="PolsatDoku.pl",Polsat Doku (1080p) +http://185.236.229.62:9981/play/a07z #EXTINF:-1 tvg-id="PolsatFilm.pl",Polsat Film (1080p) http://109.233.89.166/Polsat_Film_HD/index.m3u8 #EXTINF:-1 tvg-id="PolsatFilm.pl",Polsat Film (1080p) http://109.233.89.170/Polsat_Film_HD/index.m3u8 #EXTINF:-1 tvg-id="PolsatFilm.pl",Polsat Film (1080p) http://178.219.128.68:64889/POLSFILMHD +#EXTINF:-1 tvg-id="PolsatFilm.pl",Polsat Film (1080p) +http://185.236.229.62:9981/play/a040 #EXTINF:-1 tvg-id="PolsatGames.pl",Polsat Games (1080p) http://109.233.89.166/Polsat_Games/index.m3u8 #EXTINF:-1 tvg-id="PolsatGames.pl",Polsat Games (1080p) @@ -304,46 +414,64 @@ http://cdn-s-lb2.pluscdn.pl/lv/1517830/349/dash/81ec4c32/live.mpd http://109.233.89.166/Polsat_News_2/index.m3u8 #EXTINF:-1 tvg-id="PolsatNews2.pl",Polsat News 2 (1080p) http://178.219.128.68:64889/POLSNEWS2 +#EXTINF:-1 tvg-id="PolsatNews2.pl",Polsat News 2 (1080p) +http://185.236.229.62:9981/play/a03u #EXTINF:-1 tvg-id="PolsatNewsPolityka.pl",Polsat News Polityka (1080p) http://109.233.89.166/Polsat_News_Polityka/index.m3u8 #EXTINF:-1 tvg-id="PolsatNewsPolityka.pl",Polsat News Polityka (1080p) http://109.233.89.170/Polsat_News_Polityka/index.m3u8 #EXTINF:-1 tvg-id="PolsatNewsPolityka.pl",Polsat News Polityka (1080p) http://178.219.128.68:64888/SUPEHD +#EXTINF:-1 tvg-id="PolsatNewsPolityka.pl",Polsat News Polityka (1080p) +http://185.236.229.62:9981/play/a07h #EXTINF:-1 tvg-id="PolsatPlay.pl",Polsat Play (1080p) http://109.233.89.166/Polsat_Play_HD/index.m3u8 #EXTINF:-1 tvg-id="PolsatPlay.pl",Polsat Play (1080p) http://109.233.89.170/Polsat_Play_HD/index.m3u8 #EXTINF:-1 tvg-id="PolsatPlay.pl",Polsat Play (1080p) http://178.219.128.68:64888/POLSPLAYHD +#EXTINF:-1 tvg-id="PolsatPlay.pl",Polsat Play (1080p) +http://185.236.229.62:9981/play/a03w #EXTINF:-1 tvg-id="PolsatRodzina.pl",Polsat Rodzina (1080p) http://109.233.89.170/Polsat_Rodzina_HD/index.m3u8 #EXTINF:-1 tvg-id="PolsatRodzina.pl",Polsat Rodzina (1080p) http://178.219.128.68:64889/POLSRODZHD +#EXTINF:-1 tvg-id="PolsatRodzina.pl",Polsat Rodzina (1080p) +http://185.236.229.62:9981/play/a079 #EXTINF:-1 tvg-id="PolsatSeriale.pl",Polsat Seriale (1080p) http://109.233.89.166/Polsat_Seriale_HD/index.m3u8 #EXTINF:-1 tvg-id="PolsatSeriale.pl",Polsat Seriale (1080p) http://109.233.89.170/Polsat_Seriale_HD/index.m3u8 #EXTINF:-1 tvg-id="PolsatSeriale.pl",Polsat Seriale (1080p) http://178.219.128.68:64888/POLSROMA +#EXTINF:-1 tvg-id="PolsatSeriale.pl",Polsat Seriale (1080p) +http://185.236.229.62:9981/play/a07b #EXTINF:-1 tvg-id="PolsatSport.pl",Polsat Sport (1080p) http://109.233.89.170/Polsat_Sport_HD/index.m3u8 #EXTINF:-1 tvg-id="PolsatSport.pl",Polsat Sport (1080p) http://178.219.128.68:64889/POLSSPORHD +#EXTINF:-1 tvg-id="PolsatSport.pl",Polsat Sport (1080p) +http://185.236.229.62:9981/play/a07n #EXTINF:-1 tvg-id="PolsatSportExtra.pl",Polsat Sport Extra (1080p) http://109.233.89.170/Polsat_Sport_Extra_HD/index.m3u8 #EXTINF:-1 tvg-id="PolsatSportExtra.pl",Polsat Sport Extra (1080p) http://178.219.128.68:64889/POLSSPOREXTRHD +#EXTINF:-1 tvg-id="PolsatSportExtra.pl",Polsat Sport Extra (1080p) +http://185.236.229.62:9981/play/a07q #EXTINF:-1 tvg-id="PolsatSportFight.pl",Polsat Sport Fight (1080p) http://109.233.89.170/Polsat_Sport_Fight_HD/index.m3u8 #EXTINF:-1 tvg-id="PolsatSportFight.pl",Polsat Sport Fight (1080p) http://178.219.128.68:64888/POLSSPORFIGHHD #EXTINF:-1 tvg-id="PolsatSportFight.pl",Polsat Sport Fight (1080p) http://178.219.128.68:64889/POLSSPORFIGHHD +#EXTINF:-1 tvg-id="PolsatSportFight.pl",Polsat Sport Fight (1080p) +http://185.236.229.62:9981/play/a06l #EXTINF:-1 tvg-id="PolsatSportNews.pl",Polsat Sport News (1080p) http://109.233.89.170/Polsat_Sport_News_HD/index.m3u8 #EXTINF:-1 tvg-id="PolsatSportNews.pl",Polsat Sport News (1080p) http://178.219.128.68:64889/POLSSPORNEWSHD +#EXTINF:-1 tvg-id="PolsatSportNews.pl",Polsat Sport News (1080p) +http://185.236.229.62:9981/play/a06m #EXTINF:-1 tvg-id="PolsatViasatExplore.pl",Polsat Viasat Explore (1080p) http://178.219.128.68:64888/POLSVIASEXPLHD #EXTINF:-1 tvg-id="PolsatViasatExplore.pl",Polsat Viasat Explore (1080p) @@ -352,22 +480,32 @@ http://178.219.128.68:64889/POLSVIASEXPLHD http://178.219.128.68:64888/POLSVIASHISTHD #EXTINF:-1 tvg-id="PolsatViasatHistory.pl",Polsat Viasat History (1080p) http://178.219.128.68:64889/POLSVIASHISTHD +#EXTINF:-1 tvg-id="PolsatViasatHistory.pl",Polsat Viasat History (1080p) +http://185.236.229.62:9981/play/a07o #EXTINF:-1 tvg-id="PolsatViasatNature.pl",Polsat Viasat Nature (1080p) http://178.219.128.68:64888/POLSVIASNATUHD #EXTINF:-1 tvg-id="PolsatViasatNature.pl",Polsat Viasat Nature (1080p) http://185.236.229.62:9981/play/a06g #EXTINF:-1 tvg-id="Puls2.pl",Puls 2 (1080p) http://178.219.128.68:64889/PULS2HD +#EXTINF:-1 tvg-id="Puls2.pl",Puls 2 (1080p) +http://185.236.229.62:9981/play/a02y #EXTINF:-1 tvg-id="RadiowaCzworka.pl",Radio Czwórka (1080p) https://stream14.polskieradio.pl/pr4_video/video_pr4.stream/playlist.m3u8 +#EXTINF:-1 tvg-id="RakutenVIKI.pl",Rakuten VIKI (720p) +https://fd18f1cadd404894a31a3362c5f319bd.mediatailor.us-east-1.amazonaws.com/v1/master/04fd913bb278d8775298c26fdca9d9841f37601f/RakutenTV-eu_RakutenViki-1/playlist.m3u8 #EXTINF:-1 tvg-id="RedCarpetTV.pl",Red Carpet TV (1080p) http://185.236.229.62:9981/play/a02q #EXTINF:-1 tvg-id="RedCarpetTVInternational.pl",Red Carpet TV International (1080p) https://fast-rakuten.okast.tv/fa2e8c4385712f9a9076eaf728c751de/channels/1a6ecfaa-40c6-41b8-8634-595c424f856e/21f67fd1-4d21-43ba-8ad8-3afac9982c25/master.m3u8 +#EXTINF:-1 tvg-id="Revry.pl",Revry (720p) +https://99d8b4b6.wurl.com/master/f36d25e7e52f1ba8d7e56eb859c636563214f541/UmFrdXRlblRWLWV1X1JldnJ5X0hMUw/playlist.m3u8 #EXTINF:-1 tvg-id="RomanceTV.pl",Romance TV (1080p) http://109.233.89.166/Romance_TV_HD/index.m3u8 #EXTINF:-1 tvg-id="RomanceTV.pl",Romance TV (1080p) http://109.233.89.170/Romance_TV_HD/index.m3u8 +#EXTINF:-1 tvg-id="RomanceTV.pl",Romance TV (1080p) +http://185.236.229.62:9981/play/a05j #EXTINF:-1 tvg-id="SciFi.pl",Sci Fi (1080p) http://109.233.89.166/SciFi_HD/index.m3u8 #EXTINF:-1 tvg-id="SciFi.pl",Sci Fi (1080p) @@ -376,6 +514,10 @@ http://109.233.89.170/SciFi_HD/index.m3u8 http://185.236.229.62:9981/play/a03k #EXTINF:-1 tvg-id="SferaTV.pl",Sfera TV (480p) [Not 24/7] http://stream.sferatv.pl:1935/sferalive/smil:sferalive.smil/playlist.m3u8 +#EXTINF:-1 tvg-id="ShadesofBlack.pl",Shades of Black (1080p) +https://rakutenaa-fusemedia-shadesofblack-rakutena-giu24.amagi.tv/playlist/rakutenAA-fusemedia-shadesofblack-rakutenA/playlist.m3u8 +#EXTINF:-1 tvg-id="SportKlub.pl",Sport Klub (1080p) +http://185.236.229.62:9981/play/a02k #EXTINF:-1 tvg-id="StarsTV.pl",Stars TV (1080p) http://178.219.128.68:64888/STARTVHD #EXTINF:-1 tvg-id="StopklatkaTV.pl",Stopklatka TV (1080p) @@ -394,10 +536,14 @@ http://109.233.89.166/Super_Polsat_HD/index.m3u8 http://109.233.89.170/Super_Polsat_HD/index.m3u8 #EXTINF:-1 tvg-id="SuperPolsat.pl",Super Polsat (1080p) http://178.219.128.68:64889/SUPEPOLSHD +#EXTINF:-1 tvg-id="SuperPolsat.pl",Super Polsat (1080p) +http://185.236.229.62:9981/play/a043 #EXTINF:-1 tvg-id="Superstacja.pl",Superstacja (1080p) http://109.233.89.166/Wydarzenia_24_HD/index.m3u8 #EXTINF:-1 tvg-id="Superstacja.pl",Superstacja (1080p) http://109.233.89.170/Wydarzenia_24_HD/index.m3u8 +#EXTINF:-1 tvg-id="Superstacja.pl",Superstacja (1080p) +http://185.236.229.62:9981/play/a06j #EXTINF:-1 tvg-id="TeenNick.pl",TeenNick (1080p) http://109.233.89.166/TeenNick/index.m3u8 #EXTINF:-1 tvg-id="TeenNick.pl",TeenNick (1080p) @@ -418,6 +564,12 @@ https://cdn01.sesja.pl/live_tvjaslo/live_tvjaslo.stream/playlist.m3u8 http://stream.herissons.cloud/hls/tvluban.m3u8 #EXTINF:-1 tvg-id="TelewizjaTorun.pl",Telewizja Toruń (1080p) [Not 24/7] http://217.173.176.107:1935/live/ngrp:tvk.stream_mobile/chunks.m3u8 +#EXTINF:-1 tvg-id="ThePetCollective.pl",The Pet Collective (720p) +https://6ec8627d.wurl.com/master/f36d25e7e52f1ba8d7e56eb859c636563214f541/UmFrdXRlblRWLWV1X1RoZVBldENvbGxlY3RpdmVfSExT/playlist.m3u8 +#EXTINF:-1 tvg-id="TNAWrestlingChannel.pl",TNA Wrestling Channel (720p) +https://d39g1vxj2ef6in.cloudfront.net/v1/master/3fec3e5cac39a52b2132f9c66c83dae043dc17d4/prod-rakuten-stitched/master.m3u8?ads.xumo_channelId=88883039 +#EXTINF:-1 tvg-id="TOPBarca.pl",TOP Barca (1080p) +https://amg17560-fcb-amg17560c1-rakuten-uk-4891.playouts.now.amagi.tv/playlist/amg17560-fcbarcelona-topbarcaenglish-rakutenuk/playlist.m3u8 #EXTINF:-1 tvg-id="TopMoviesPolska.pl",Top Movies Polska (720p) https://d14678b7277b4f21964f367309c8f3e2.mediatailor.us-east-1.amazonaws.com/v1/master/44f73ba4d03e9607dcd9bebdcb8494d86964f1d8/RakutenTV-pl_TopMoviesPolska/playlist.m3u8 #EXTINF:-1 tvg-id="TrusoTV.pl",Truso TV (576p) [Not 24/7] @@ -428,6 +580,8 @@ http://109.233.89.166/TV4_HD/index.m3u8 http://109.233.89.170/TV4_HD/index.m3u8 #EXTINF:-1 tvg-id="TV4.pl",TV4 (1080p) http://178.219.128.68:64889/TV4HD +#EXTINF:-1 tvg-id="TV4.pl",TV4 (1080p) +http://185.236.229.62:9981/play/a03x #EXTINF:-1 tvg-id="TV4.pl",TV4 (1080p) [Geo-blocked] https://lb2-e2-32.pluscdn.pl/ch/1502601/309/dash/e25c2c93/live.mpd #EXTINF:-1 tvg-id="TV6.pl",TV6 (1080p) @@ -436,6 +590,8 @@ http://109.233.89.166/TV6_HD/index.m3u8 http://109.233.89.170/TV6_HD/index.m3u8 #EXTINF:-1 tvg-id="TV6.pl",TV6 (1080p) http://178.219.128.68:64889/TV6HD +#EXTINF:-1 tvg-id="TV6.pl",TV6 (1080p) +http://185.236.229.62:9981/play/a03y #EXTINF:-1 tvg-id="TVASTA.pl",TV ASTA (720p) https://5cce8c6f0e84c.streamlock.net/LiveCast/smil:PlayStream9.smil/playlist.m3u8 #EXTINF:-1 tvg-id="TelewizjaImperium.pl",TV Imperium (1080p) [Not 24/7] @@ -446,10 +602,14 @@ http://stream.tvkujawy.pl:8080/live/broadcast.m3u8 https://lb2-e3-20.pluscdn.pl/ch/1523532/366/dash/2cf383bb/live.mpd #EXTINF:-1 tvg-id="TVOkazje.pl",TV Okazje (576p) http://185.236.229.62:9981/play/a07l +#EXTINF:-1 tvg-id="TVOkazje.pl",TV Okazje (576p) +http://185.236.229.62:9981/play/a07m #EXTINF:-1 tvg-id="TVPuls.pl",TV Puls (1080p) http://109.233.89.166/TV_Puls_HD/index.m3u8 #EXTINF:-1 tvg-id="TVPuls.pl",TV Puls (1080p) http://178.219.128.68:64889/TVPULSHD +#EXTINF:-1 tvg-id="TVPuls.pl",TV Puls (1080p) +http://185.236.229.62:9981/play/a034 #EXTINF:-1 tvg-id="TVRegionalnaLubin.pl",TV Regionalna Lubin (576p) [Not 24/7] https://tvreg.klemit.net/regionalna/stream/index.m3u8 #EXTINF:-1 tvg-id="TVRepublika.pl",TV Republika (1080p) @@ -458,6 +618,8 @@ http://109.233.89.166/TV_Republika_HD/index.m3u8 http://109.233.89.170/TV_Republika_HD/index.m3u8 #EXTINF:-1 tvg-id="TVRepublika.pl",TV Republika (1080p) http://178.219.128.68:64888/TVREPU +#EXTINF:-1 tvg-id="TVRepublika.pl",TV Republika (1080p) +http://185.236.229.62:9981/play/a027 #EXTINF:-1 tvg-id="TVTorun.pl",TV Toruń (1080p) [Not 24/7] http://217.173.176.107:1935/live/tvk.stream/playlist.m3u8 #EXTINF:-1 tvg-id="TVTrwam.pl",TV Trwam (1080p) [Geo-blocked] @@ -481,6 +643,8 @@ http://109.233.89.170/TVP2_HD/index.m3u8 #EXTINF:-1 tvg-id="TVP2.pl",TVP2 (1080p) http://178.219.128.68:64889/TVP2HD #EXTINF:-1 tvg-id="TVP2.pl",TVP2 (1080p) +http://185.236.229.62:9981/play/a07p +#EXTINF:-1 tvg-id="TVP2.pl",TVP2 (1080p) https://ec04-waw4.cache.orange.pl/dai4/org2/vb/105/tvp2hd/index.m3u8 #EXTINF:-1 tvg-id="TVP3Bialystok.pl",TVP 3 Białystok (576p) https://cdndai.pl/tvp3bialystoksd/index.m3u8 @@ -510,6 +674,8 @@ https://cdndai.pl/tvp3poznansd/index.m3u8 https://cdndai.pl/tvp3rzeszowsd/index.m3u8 #EXTINF:-1 tvg-id="TVP3Szczecin.pl",TVP 3 Szczecin (576p) https://cdndai.pl/tvp3szczecinsd/index.m3u8 +#EXTINF:-1 tvg-id="TVP3Warszawa.pl",TVP 3 Warszawa (1080p) +http://185.236.229.62:9981/play/a060 #EXTINF:-1 tvg-id="TVP3Warszawa.pl",TVP 3 Warszawa (576p) https://cdndai.pl/tvp3warszawasd/index.m3u8 #EXTINF:-1 tvg-id="TVP3Wroclaw.pl",TVP 3 Wrocław (576p) @@ -518,12 +684,16 @@ https://cdndai.pl/tvp3wroclawsd/index.m3u8 http://109.233.89.170/TVP_ABC/index.m3u8 #EXTINF:-1 tvg-id="TVPABC.pl",TVP ABC (1080p) http://178.219.128.68:64888/TVPABC +#EXTINF:-1 tvg-id="TVPABC.pl",TVP ABC (576p) +http://185.236.229.62:9981/play/a02z #EXTINF:-1 tvg-id="TVPDokument.pl",TVP Dokument (1080p) http://109.233.89.166/TVP_Dokument_HD/index.m3u8 #EXTINF:-1 tvg-id="TVPDokument.pl",TVP Dokument (1080p) http://109.233.89.170/TVP_Dokument_HD/index.m3u8 #EXTINF:-1 tvg-id="TVPDokument.pl",TVP Dokument (1080p) http://178.219.128.68:64889/TVPDOKUHD +#EXTINF:-1 tvg-id="TVPDokument.pl",TVP Dokument (1080p) +http://185.236.229.62:9981/play/a05b #EXTINF:-1 tvg-id="TVPHD.pl",TVP HD (1080p) http://109.233.89.166/TVP_HD/index.m3u8 #EXTINF:-1 tvg-id="TVPHD.pl",TVP HD (1080p) @@ -542,12 +712,16 @@ http://109.233.89.166/TVP_INFO_HD/index.m3u8 http://109.233.89.170/TVP_INFO_HD/index.m3u8 #EXTINF:-1 tvg-id="TVPInfo.pl",TVP Info (1080p) http://178.219.128.68:64889/TVPINFOHD +#EXTINF:-1 tvg-id="TVPInfo.pl",TVP Info (1080p) +http://185.236.229.62:9981/play/a02j #EXTINF:-1 tvg-id="TVPKobieta.pl",TVP Kobieta (1080p) http://109.233.89.170/TVP_Kobieta_HD/index.m3u8 #EXTINF:-1 tvg-id="TVPKobieta.pl",TVP Kobieta (1080p) http://178.219.128.68:64889/TVPKOBIHD #EXTINF:-1 tvg-id="TVPKultura.pl",TVP Kultura (1080p) http://178.219.128.68:64889/TVPKULT +#EXTINF:-1 tvg-id="TVPKultura.pl",TVP Kultura (1080p) +http://185.236.229.62:9981/play/a02t #EXTINF:-1 tvg-id="TVPNauka.pl",TVP Nauka (1080p) http://109.233.89.166/TVP_Nauka/index.m3u8 #EXTINF:-1 tvg-id="TVPNauka.pl",TVP Nauka (1080p) @@ -558,6 +732,8 @@ http://109.233.89.166/TVP_Polonia_HD/index.m3u8 http://109.233.89.170/TVP_Polonia_HD/index.m3u8 #EXTINF:-1 tvg-id="TVPPolonia.pl",TVP Polonia (1080p) http://178.219.128.68:64889/TVPPOLOHD +#EXTINF:-1 tvg-id="TVPPolonia.pl",TVP Polonia (1080p) +http://185.236.229.62:9981/play/a08m #EXTINF:-1 tvg-id="TVPRozrywka.pl",TVP Rozrywka (1080p) http://109.233.89.166/TVP_Rozrywka/index.m3u8 #EXTINF:-1 tvg-id="TVPRozrywka.pl",TVP Rozrywka (1080p) @@ -570,6 +746,14 @@ http://185.236.229.62:9981/play/a026 http://109.233.89.166/TVP_Seriale/index.m3u8 #EXTINF:-1 tvg-id="TVPSeriale.pl",TVP Seriale (1080p) http://178.219.128.68:64889/TVPSERI +#EXTINF:-1 tvg-id="TVPSeriale.pl",TVP Seriale (1080p) +http://185.236.229.62:9981/play/a02w +#EXTINF:-1 tvg-id="TVPSport.pl",TVP Sport (1080p) +http://109.233.89.166/TVP_Sport_HD/index.m3u8 +#EXTINF:-1 tvg-id="TVPSport.pl",TVP Sport (1080p) +http://109.233.89.170/TVP_Sport_HD/index.m3u8 +#EXTINF:-1 tvg-id="TVPSport.pl",TVP Sport (1080p) +http://178.219.128.68:64889/TVPSPORHD #EXTINF:-1 tvg-id="TVPWorld.pl",TVP World (1080p) http://178.219.128.68:64888/TVPWORLHD #EXTINF:-1 tvg-id="TVS.pl",TVS (1080p) @@ -582,6 +766,8 @@ https://live.streamtvt.pl/LiveAppStreamTVT/streams/853271271313930867905724.m3u8 http://gargoyle.tomkow.pl/hls/tvt.m3u8 #EXTINF:-1 tvg-id="ViasatExploreClassic.pl",Viasat Explore Classic (720p) https://da9c49fa.wurl.com/master/f36d25e7e52f1ba8d7e56eb859c636563214f541/UmFrdXRlblRWLXBsX1ZpYXNhdEV4cGxvcmVfSExT/playlist.m3u8 +#EXTINF:-1 tvg-id="ViDocTV.pl",ViDoc TV (1080p) +http://185.236.229.62:9981/play/a051 #EXTINF:-1 tvg-id="VOXMusicTV.pl",VOX Music TV (576p) http://109.233.89.166/VOX/index.m3u8 #EXTINF:-1 tvg-id="WPolscePL.pl",W Polsce PL (1080p) @@ -590,6 +776,10 @@ http://109.233.89.170/wPolsce.PL/index.m3u8 http://109.233.89.166/wPolsce.PL/index.m3u8 #EXTINF:-1 tvg-id="WPolscePL.pl",W Polsce PL (576p) http://185.236.229.62:9981/play/a022 +#EXTINF:-1 tvg-id="WorldBilliards.pl",World Billiards (720p) +https://9a81dd4ee3884d0dbcacafaf0d81327a.mediatailor.us-east-1.amazonaws.com/v1/master/04fd913bb278d8775298c26fdca9d9841f37601f/RakutenTV-eu_BilliardsTV/playlist.m3u8 +#EXTINF:-1 tvg-id="WorldofFreesports.pl",World of Freesports (1080p) +https://rakutenaa-mainstreammediafreesportsintl-rakuten-t7dc0.amagi.tv/playlist/rakutenAA-mainstreammediafreesportsintl-rakuten/playlist.m3u8 #EXTINF:-1 tvg-id="WorldPokerTour.pl",World Poker Tour (1080p) https://d39g1vxj2ef6in.cloudfront.net/v1/manifest/3fec3e5cac39a52b2132f9c66c83dae043dc17d4/prod-rakuten-stitched/15d59f2f-80da-4448-9bce-775cc9f470f7/1.m3u8 #EXTINF:-1 tvg-id="WPTV.pl",WP TV (1080p) @@ -600,6 +790,10 @@ http://109.233.89.170/WP_HD/index.m3u8 http://178.219.128.68:64889/WPHD #EXTINF:-1 tvg-id="WPTV.pl",WP TV (576p) http://185.236.229.62:9981/play/a02u +#EXTINF:-1 tvg-id="ZNation.pl",Z Nation (720p) +https://d39g1vxj2ef6in.cloudfront.net/v1/master/3fec3e5cac39a52b2132f9c66c83dae043dc17d4/prod-rakuten-stitched/master.m3u8?ads.xumo_channelId=88883098 +#EXTINF:-1 tvg-id="ZeeOne.pl",Zee One (720p) +https://89ec2d15e090480bb419d940b8793b9c.mediatailor.us-east-1.amazonaws.com/v1/master/44f73ba4d03e9607dcd9bebdcb8494d86964f1d8/RakutenTV-eu_ZeeWorld-1/playlist.m3u8 #EXTINF:-1 tvg-id="ZoomTV.pl",Zoom TV (1080p) http://109.233.89.166/Zoom_TV_HD/index.m3u8 #EXTINF:-1 tvg-id="ZoomTV.pl",Zoom TV (1080p) @@ -608,197 +802,3 @@ http://109.233.89.170/Zoom_TV_HD/index.m3u8 http://178.219.128.68:64889/ZOOMTVHD #EXTINF:-1 tvg-id="ZoomTV.pl",Zoom TV (576p) http://185.236.229.62:9981/play/a02a -#EXTINF:-1 tvg-id="FilmBoxFamily.pl",FilmBox Family (1080p) -http://178.219.128.68:64888/FILMFAMI -#EXTINF:-1 tvg-id="GolfChannel.pl",Golf Channel (1080p) -http://185.236.229.62:9981/play/a03m -#EXTINF:-1 tvg-id="FightKlub.pl",Fight Klub (1080p) -http://185.236.229.62:9981/play/a02l -#EXTINF:-1 tvg-id="E.pl",E! (1080p) -http://185.236.229.62:9981/play/a03j -#EXTINF:-1 tvg-id="AXNSpin.pl",AXN Spin (1080p) -http://185.236.229.62:9981/play/a044 -#EXTINF:-1 tvg-id="ElevenSports1.pl",Eleven Sports 1 (2160p) -http://9b129915.akadatel.com/iptv/83GA6FAV4DPTPQ/20068/index.m3u8 -#EXTINF:-1 tvg-id="TVPSport.pl",TVP Sport (1080p) -http://109.233.89.166/TVP_Sport_HD/index.m3u8 -#EXTINF:-1 tvg-id="TVPSport.pl",TVP Sport (1080p) -http://109.233.89.170/TVP_Sport_HD/index.m3u8 -#EXTINF:-1 tvg-id="TVPSport.pl",TVP Sport (1080p) -http://178.219.128.68:64889/TVPSPORHD -#EXTINF:-1 tvg-id="ViDocTV.pl",ViDoc TV (1080p) -http://185.236.229.62:9981/play/a051 -#EXTINF:-1 tvg-id="FightBox.pl",FightBox (1080p) -http://185.236.229.62:9981/play/a03n -#EXTINF:-1 tvg-id="FilmBoxAction.pl",FilmBox Action (576p) -http://185.236.229.62:9981/play/a033 -#EXTINF:-1 tvg-id="EpicDrama.pl",Epic Drama (1080p) -http://185.236.229.62:9981/play/a029 -#EXTINF:-1 tvg-id="FightBox.pl",FightBox (1080p) -http://195.189.60.33:9002/play/a007 -#EXTINF:-1 tvg-id="GolfZone.pl",Golf Zone (1080p) -http://195.189.60.33:9002/play/a006 -#EXTINF:-1 tvg-id="FilmBoxAction.pl",FilmBox Action (576p) -http://195.189.60.33:9004/play/a00g -#EXTINF:-1 tvg-id="EpicDrama.pl",Epic Drama (1080p) -http://195.189.60.33:9010/play/a00e -#EXTINF:-1 tvg-id="FilmBoxArthouse.pl",FilmBox Arthouse (576p) -http://195.189.60.33:9010/play/a00a -#EXTINF:-1 tvg-id="TVP3Warszawa.pl",TVP 3 Warszawa (1080p) -http://185.236.229.62:9981/play/a060 -#EXTINF:-1 tvg-id="TVPPolonia.pl",TVP Polonia (1080p) -http://185.236.229.62:9981/play/a08m -#EXTINF:-1 tvg-id="PolsatDoku.pl",Polsat Doku (1080p) -http://185.236.229.62:9981/play/a07z -#EXTINF:-1 tvg-id="Fox.pl",Fox (1080p) -http://185.236.229.62:9981/play/a07u -#EXTINF:-1 tvg-id="FoxComedy.pl",Fox Comedy (1080p) -http://185.236.229.62:9981/play/a07t -#EXTINF:-1 tvg-id="PolsatSportExtra.pl",Polsat Sport Extra (1080p) -http://185.236.229.62:9981/play/a07q -#EXTINF:-1 tvg-id="TVP2.pl",TVP2 (1080p) -http://185.236.229.62:9981/play/a07p -#EXTINF:-1 tvg-id="PolsatViasatHistory.pl",Polsat Viasat History (1080p) -http://185.236.229.62:9981/play/a07o -#EXTINF:-1 tvg-id="PolsatSport.pl",Polsat Sport (1080p) -http://185.236.229.62:9981/play/a07n -#EXTINF:-1 tvg-id="TVOkazje.pl",TV Okazje (576p) -http://185.236.229.62:9981/play/a07m -#EXTINF:-1 tvg-id="PolsatNewsPolityka.pl",Polsat News Polityka (1080p) -http://185.236.229.62:9981/play/a07h -#EXTINF:-1 tvg-id="DisneyXD.pl",Disney XD (576p) -http://185.236.229.62:9981/play/a07c -#EXTINF:-1 tvg-id="PolsatSeriale.pl",Polsat Seriale (1080p) -http://185.236.229.62:9981/play/a07b -#EXTINF:-1 tvg-id="PolsatRodzina.pl",Polsat Rodzina (1080p) -http://185.236.229.62:9981/play/a079 -#EXTINF:-1 tvg-id="BBCLifestyle.pl",BBC Lifestyle (1080p) -http://185.236.229.62:9981/play/a06t -#EXTINF:-1 tvg-id="BBCBrit.pl",BBC Brit (1080p) -http://185.236.229.62:9981/play/a06r -#EXTINF:-1 tvg-id="PolsatSportNews.pl",Polsat Sport News (1080p) -http://185.236.229.62:9981/play/a06m -#EXTINF:-1 tvg-id="PolsatSportFight.pl",Polsat Sport Fight (1080p) -http://185.236.229.62:9981/play/a06l -#EXTINF:-1 tvg-id="Superstacja.pl",Superstacja (1080p) -http://185.236.229.62:9981/play/a06j -#EXTINF:-1 tvg-id="CBSEuropa.pl",CBS Europa (1080p) -http://185.236.229.62:9981/play/a06i -#EXTINF:-1 tvg-id="ComedyCentral.pl",Comedy Central (1080p) -http://185.236.229.62:9981/play/a068 -#EXTINF:-1 tvg-id="Nickelodeon.pl",Nickelodeon (576p) -http://185.236.229.62:9981/play/a067 -#EXTINF:-1 tvg-id="NickJr.pl",Nick Jr. (576p) -http://185.236.229.62:9981/play/a065 -#EXTINF:-1 tvg-id="ElevenSports3.pl",Eleven Sports 3 (1080p) -http://185.236.229.62:9981/play/a061 -#EXTINF:-1 tvg-id="ElevenSports2.pl",Eleven Sports 2 (1080p) -http://185.236.229.62:9981/play/a05y -#EXTINF:-1 tvg-id="ElevenSports1.pl",Eleven Sports 1 (1080p) -http://185.236.229.62:9981/play/a05w -#EXTINF:-1 tvg-id="KinoPolska.pl",Kino Polska (1080p) -http://185.236.229.62:9981/play/a05v -#EXTINF:-1 tvg-id="RomanceTV.pl",Romance TV (1080p) -http://185.236.229.62:9981/play/a05j -#EXTINF:-1 tvg-id="AMC.pl",AMC (1080p) -http://185.236.229.62:9981/play/a05g -#EXTINF:-1 tvg-id="TVPDokument.pl",TVP Dokument (1080p) -http://185.236.229.62:9981/play/a05b -#EXTINF:-1 tvg-id="dlaCiebietv.pl",dlaCiebie.tv (1080p) -http://185.236.229.62:9981/play/a04u -#EXTINF:-1 tvg-id="NationalGeographic.pl",National Geographic (1080p) -http://185.236.229.62:9981/play/a04d -#EXTINF:-1 tvg-id="ActiveFamily.pl",Active Family (1080p) -http://185.236.229.62:9981/play/a04a -#EXTINF:-1 tvg-id="SuperPolsat.pl",Super Polsat (1080p) -http://185.236.229.62:9981/play/a043 -#EXTINF:-1 tvg-id="Polsat2.pl",Polsat 2 (1080p) -http://185.236.229.62:9981/play/a042 -#EXTINF:-1 tvg-id="PolsatFilm.pl",Polsat Film (1080p) -http://185.236.229.62:9981/play/a040 -#EXTINF:-1 tvg-id="PolsatCafe.pl",Polsat Cafe (1080p) -http://185.236.229.62:9981/play/a03z -#EXTINF:-1 tvg-id="TV6.pl",TV6 (1080p) -http://185.236.229.62:9981/play/a03y -#EXTINF:-1 tvg-id="TV4.pl",TV4 (1080p) -http://185.236.229.62:9981/play/a03x -#EXTINF:-1 tvg-id="Polsat.pl",Polsat (1080p) -http://185.236.229.62:9981/play/a03v -#EXTINF:-1 tvg-id="PolsatPlay.pl",Polsat Play (1080p) -http://185.236.229.62:9981/play/a03w -#EXTINF:-1 tvg-id="PolsatNews2.pl",Polsat News 2 (1080p) -http://185.236.229.62:9981/play/a03u -#EXTINF:-1 tvg-id="ElevenSports1.pl",Eleven Sports 1 (2160p) -http://185.236.229.62:9981/play/a03t -#EXTINF:-1 tvg-id="13Ulica.pl",13 Ulica (1080p) -http://185.236.229.62:9981/play/a03o -#EXTINF:-1 tvg-id="FilmBoxFamily.pl",FilmBox Family (576p) -http://185.236.229.62:9981/play/a037 -#EXTINF:-1 tvg-id="FilmBoxExtra.pl",FilmBox Extra (1080p) -http://185.236.229.62:9981/play/a036 -#EXTINF:-1 tvg-id="TVPuls.pl",TV Puls (1080p) -http://185.236.229.62:9981/play/a034 -#EXTINF:-1 tvg-id="FilmBoxFamily.pl",FilmBox Family (576p) -http://185.236.229.62:9981/play/a032 -#EXTINF:-1 tvg-id="KinoTV.pl",Kino TV (1080p) -http://185.236.229.62:9981/play/a031 -#EXTINF:-1 tvg-id="TVPABC.pl",TVP ABC (576p) -http://185.236.229.62:9981/play/a02z -#EXTINF:-1 tvg-id="Puls2.pl",Puls 2 (1080p) -http://185.236.229.62:9981/play/a02y -#EXTINF:-1 tvg-id="FilmBoxPremiumHD.pl",FilmBox Premium HD (1080p) -http://185.236.229.62:9981/play/a02x -#EXTINF:-1 tvg-id="TVPSeriale.pl",TVP Seriale (1080p) -http://185.236.229.62:9981/play/a02w -#EXTINF:-1 tvg-id="TVPKultura.pl",TVP Kultura (1080p) -http://185.236.229.62:9981/play/a02t -#EXTINF:-1 tvg-id="BBCEarth.pl",BBC Earth (1080p) -http://185.236.229.62:9981/play/a02o -#EXTINF:-1 tvg-id="SportKlub.pl",Sport Klub (1080p) -http://185.236.229.62:9981/play/a02k -#EXTINF:-1 tvg-id="TVPInfo.pl",TVP Info (1080p) -http://185.236.229.62:9981/play/a02j -#EXTINF:-1 tvg-id="NowaTV.pl",Nowa TV (1080p) -http://185.236.229.62:9981/play/a02h -#EXTINF:-1 tvg-id="FokusTV.pl",Fokus TV (1080p) -http://185.236.229.62:9981/play/a02g -#EXTINF:-1 tvg-id="EskaTV.pl",Eska TV (1080p) -http://185.236.229.62:9981/play/a02f -#EXTINF:-1 tvg-id="PoloTV.pl",Polo TV (1080p) -http://185.236.229.62:9981/play/a02e -#EXTINF:-1 tvg-id="TVRepublika.pl",TV Republika (1080p) -http://185.236.229.62:9981/play/a027 -#EXTINF:-1 tvg-id="DaVinci.pl",Da Vinci (576p) -http://185.236.229.62:9981/play/a024 -#EXTINF:-1 tvg-id="AXN.pl",AXN (1080p) -http://185.236.229.62:9981/play/a07s -#EXTINF:-1 tvg-id="4FunDance.pl",4 Fun Dance (576p) -http://185.236.229.62:9981/play/a020 -#EXTINF:-1 tvg-id="WorldofFreesports.pl",World of Freesports (1080p) -https://rakutenaa-mainstreammediafreesportsintl-rakuten-t7dc0.amagi.tv/playlist/rakutenAA-mainstreammediafreesportsintl-rakuten/playlist.m3u8 -#EXTINF:-1 tvg-id="PFLMMA.pl",PFL MMA (720p) -https://a883593c.wurl.com/master/f36d25e7e52f1ba8d7e56eb859c636563214f541/UmFrdXRlblRWLWV1X1BGTE1NQV9ITFM/playlist.m3u8 -#EXTINF:-1 tvg-id="TNAWrestlingChannel.pl",TNA Wrestling Channel (720p) -https://d39g1vxj2ef6in.cloudfront.net/v1/master/3fec3e5cac39a52b2132f9c66c83dae043dc17d4/prod-rakuten-stitched/master.m3u8?ads.xumo_channelId=88883039 -#EXTINF:-1 tvg-id="WorldBilliards.pl",World Billiards (720p) -https://9a81dd4ee3884d0dbcacafaf0d81327a.mediatailor.us-east-1.amazonaws.com/v1/master/04fd913bb278d8775298c26fdca9d9841f37601f/RakutenTV-eu_BilliardsTV/playlist.m3u8 -#EXTINF:-1 tvg-id="TOPBarca.pl",TOP Barca (1080p) -https://amg17560-fcb-amg17560c1-rakuten-uk-4891.playouts.now.amagi.tv/playlist/amg17560-fcbarcelona-topbarcaenglish-rakutenuk/playlist.m3u8 -#EXTINF:-1 tvg-id="ZeeOne.pl",Zee One (720p) -https://89ec2d15e090480bb419d940b8793b9c.mediatailor.us-east-1.amazonaws.com/v1/master/44f73ba4d03e9607dcd9bebdcb8494d86964f1d8/RakutenTV-eu_ZeeWorld-1/playlist.m3u8 -#EXTINF:-1 tvg-id="ShadesofBlack.pl",Shades of Black (1080p) -https://rakutenaa-fusemedia-shadesofblack-rakutena-giu24.amagi.tv/playlist/rakutenAA-fusemedia-shadesofblack-rakutenA/playlist.m3u8 -#EXTINF:-1 tvg-id="Revry.pl",Revry (720p) -https://99d8b4b6.wurl.com/master/f36d25e7e52f1ba8d7e56eb859c636563214f541/UmFrdXRlblRWLWV1X1JldnJ5X0hMUw/playlist.m3u8 -#EXTINF:-1 tvg-id="MonsterJam.pl",Monster Jam (720p) -https://4b9627c7.wurl.com/master/f36d25e7e52f1ba8d7e56eb859c636563214f541/UmFrdXRlblRWLWV1X01vbnN0ZXJKYW1fSExT/playlist.m3u8 -#EXTINF:-1 tvg-id="PeopleAreAwesome.pl",People Are Awesome (720p) -https://3ab76e42.wurl.com/master/f36d25e7e52f1ba8d7e56eb859c636563214f541/UmFrdXRlblRWLWV1X1Blb3BsZUFyZUF3ZXNvbWVfSExT/playlist.m3u8 -#EXTINF:-1 tvg-id="ThePetCollective.pl",The Pet Collective (720p) -https://6ec8627d.wurl.com/master/f36d25e7e52f1ba8d7e56eb859c636563214f541/UmFrdXRlblRWLWV1X1RoZVBldENvbGxlY3RpdmVfSExT/playlist.m3u8 -#EXTINF:-1 tvg-id="RakutenVIKI.pl",Rakuten VIKI (720p) -https://fd18f1cadd404894a31a3362c5f319bd.mediatailor.us-east-1.amazonaws.com/v1/master/04fd913bb278d8775298c26fdca9d9841f37601f/RakutenTV-eu_RakutenViki-1/playlist.m3u8 -#EXTINF:-1 tvg-id="ZNation.pl",Z Nation (720p) -https://d39g1vxj2ef6in.cloudfront.net/v1/master/3fec3e5cac39a52b2132f9c66c83dae043dc17d4/prod-rakuten-stitched/master.m3u8?ads.xumo_channelId=88883098 -#EXTINF:-1 tvg-id="LoneStar.pl",Lone Star (720p) -https://6b88cde9.wurl.com/master/f36d25e7e52f1ba8d7e56eb859c636563214f541/UmFrdXRlblRWLWV1X0xvbmVTdGFyX0hMUw/playlist.m3u8 diff --git a/streams/pl_irylek.m3u b/streams/pl_irylek.m3u index e00bb3fb7..fb251189d 100644 --- a/streams/pl_irylek.m3u +++ b/streams/pl_irylek.m3u @@ -33,9 +33,9 @@ https://irylek.ct8.pl/stream/tvpnauka https://irylek.ct8.pl/stream/tvppolonia #EXTINF:-1 tvg-id="TVPRozrywka.pl",TVP Rozrywka (1080p) https://irylek.ct8.pl/stream/tvprozrywka -#EXTINF:-1 tvg-id="TVPWilno.pl",TVP Wilno (1080p) -https://irylek.ct8.pl/stream/tvpwilno #EXTINF:-1 tvg-id="TVPSport.pl",TVP Sport (1080p) https://irylek.ct8.pl/stream/tvpsport +#EXTINF:-1 tvg-id="TVPWilno.pl",TVP Wilno (1080p) +https://irylek.ct8.pl/stream/tvpwilno #EXTINF:-1 tvg-id="TVPWorld.pl",TVP World (1080p) https://irylek.ct8.pl/stream/tvpworld diff --git a/streams/ro.m3u b/streams/ro.m3u index 5bb6fd139..852bd705c 100644 --- a/streams/ro.m3u +++ b/streams/ro.m3u @@ -1,4 +1,6 @@ #EXTM3U +#EXTINF:-1 tvg-id="A7TV.ro",A7TV (1080p) +http://62.233.57.226:8001/play/a00j00 #EXTINF:-1 tvg-id="AgroTV.ro",AgroTV (404p) [Not 24/7] https://stream1.1616.ro:1945/agro/livestream/playlist.m3u8 #EXTINF:-1 tvg-id="AgroTV.ro",AgroTV (360p) [Not 24/7] @@ -53,6 +55,8 @@ http://89.149.30.158:1935/CorneaTV/myStream/playlist.m3u8 http://cdn.credonet.tv:1935/ctv/livecredo/playlist.m3u8 #EXTINF:-1 tvg-id="CredoTV.ro",Credo TV (720p) [Not 24/7] https://5bb3298db4821.streamlock.net/ctv/livecredo/playlist.m3u8 +#EXTINF:-1 tvg-id="Digi24.ro",Digi 24 (1080p) +http://62.233.57.226:8001/play/a00k00 #EXTINF:-1 tvg-id="Digi24.ro",Digi 24 (576p) https://edge-ar.rcs-rds.ro/digi24ar/index.m3u8 #EXTINF:-1 tvg-id="DisneyChannel.ro",Disney Channel Romania (576i) @@ -245,7 +249,3 @@ https://mn-nl.mncdn.com/tvrtgmures_new/smil:tvrtgmures_new.smil/index.m3u8 https://tvr-tvrtimisoara.cdn.zitec.com/live/tvrtimisoara/main.m3u8 #EXTINF:-1 tvg-id="TVSat.ro",TVSat (576p) [Not 24/7] http://89.38.8.130:39443 -#EXTINF:-1 tvg-id="Digi24.ro",Digi 24 (1080p) -http://62.233.57.226:8001/play/a00k00 -#EXTINF:-1 tvg-id="A7TV.ro",A7TV (1080p) -http://62.233.57.226:8001/play/a00j00 diff --git a/streams/rs.m3u b/streams/rs.m3u index 7248633a6..a0a51f3e1 100644 --- a/streams/rs.m3u +++ b/streams/rs.m3u @@ -17,6 +17,10 @@ https://5afd52b55ff79.streamlock.net/MISTV/myStream/playlist.m3u8 https://tv.nisville.com/live/nisville/playlist.m3u8 #EXTINF:-1 tvg-id="Pink.rs",Pink https://live.rednet.rs/providus/pink1.m3u8 +#EXTINF:-1 tvg-id="RadioHitFMTV.rs",Radio Hit FM TV (720p) +https://peer2.tdiradio.com/static/streaming-playlists/hls/bab99862-ec1c-474f-9a02-4f8c8677d565/0.m3u8 +#EXTINF:-1 tvg-id="RadioKarolinaTV.rs",Radio Karolina TV (720p) +https://peer2.tdiradio.com/static/streaming-playlists/hls/4207de1d-52e8-4591-ad9e-218069b864d1/0.m3u8 #EXTINF:-1 tvg-id="RadioLolaTV.rs",Radio Lola (720p) [Not 24/7] https://peer2.tdiradio.com/static/streaming-playlists/hls/7c3ea8d3-49dc-4e1b-8b1e-dc6fab71f5cf/0.m3u8 #EXTINF:-1 tvg-id="RedTV.rs",Red TV (720p) @@ -59,7 +63,3 @@ http://176.67.210.1/hls/kanalm.m3u8 https://stream.pikanal.rs/pikanal/pgm.m3u8 #EXTINF:-1 tvg-id="TVPirot.rs",TV Pirot (240p) [Not 24/7] https://5bc45691ca49f.streamlock.net/tvpirot/uzivo/playlist.m3u8 -#EXTINF:-1 tvg-id="RadioKarolinaTV.rs",Radio Karolina TV (720p) -https://peer2.tdiradio.com/static/streaming-playlists/hls/4207de1d-52e8-4591-ad9e-218069b864d1/0.m3u8 -#EXTINF:-1 tvg-id="RadioHitFMTV.rs",Radio Hit FM TV (720p) -https://peer2.tdiradio.com/static/streaming-playlists/hls/bab99862-ec1c-474f-9a02-4f8c8677d565/0.m3u8 diff --git a/streams/sa.m3u b/streams/sa.m3u index 5b55d7b68..1c4209529 100644 --- a/streams/sa.m3u +++ b/streams/sa.m3u @@ -1,8 +1,12 @@ #EXTM3U #EXTINF:-1 tvg-id="AbdulmajeedAbdullah.sa",Abdulmajeed Abdullah (1080p) https://d2hng5r56zpsbw.cloudfront.net/out/v1/9c4c990f44bb4767bb46271f326dd574/index.m3u8 +#EXTINF:-1 tvg-id="Aflam.sa",Aflam (1080p) +https://shls-live-enc.edgenextcdn.net/out/v1/0044dd4b001a466c941ad77b04a574a2/index.m3u8 #EXTINF:-1 tvg-id="AlHadath.sa",Al Arabiya Al Hadath (1080p) [Not 24/7] https://av.alarabiya.net/alarabiapublish/alhadath.smil/playlist.m3u8 +#EXTINF:-1 tvg-id="AlEkhbariya.sa",Al Ekhbariya (1080p) +https://shd-gcp-live.edgenextcdn.net/live/bitmovin-al-ekhbaria/297b3ef1cd0633ad9cfba7473a686a06/index.m3u8 #EXTINF:-1 tvg-id="AlEkhbariya.sa",Al Ekhbariya (360p) https://cdn-globecast.akamaized.net/live/eds/al_ekhbariya/hls_roku/index.m3u8 #EXTINF:-1 tvg-id="AlHadath.sa",Al Hadath TV (1080p) @@ -21,8 +25,12 @@ http://m.live.net.sa:1935/live/quran/playlist.m3u8 https://cdn-globecast.akamaized.net/live/eds/saudi_quran/hls_roku/index.m3u8 #EXTINF:-1 tvg-id="AlRiyadhRadio.sa",Al Riyadh Radio (1080p) https://live.kwikmotion.com/sbrksariyadhradiolive/srpksariyadhradio/playlist.m3u8 +#EXTINF:-1 tvg-id="AlSaudiya.sa",Al Saudiya (1080p) +https://shd-gcp-live.edgenextcdn.net/live/bitmovin-saudi-tv/2ad66056b51fd8c1b624854623112e43/index.m3u8 #EXTINF:-1 tvg-id="AlSaudiya.sa",Al Saudiya (360p) https://cdn-globecast.akamaized.net/live/eds/saudi_tv/hls_roku/index.m3u8 +#EXTINF:-1 tvg-id="AlSaudiyaAlaan.sa",Al Saudiya Alaan (1080p) +https://shd-gcp-live.edgenextcdn.net/live/bitmovin-ksa-now/71ed3aa814c643306c0a8bc4fcc7d17f/index.m3u8 #EXTINF:-1 tvg-id="AlSunnahAlNabawiyahTV.sa",Al Sunnah Al Nabawiyah TV (1080p) https://sbc-prod-dub-enc.edgenextcdn.net/out/v1/b09bbb8d9b684763be4211b088168de7/index.m3u8 #EXTINF:-1 tvg-id="AlSunnahAlNabawiyahTV.sa",Al Sunnah Al Nabawiyah TV (720p) @@ -51,6 +59,8 @@ https://svs.itworkscdn.net/asharqradiovlive/asharqradiov/playlist.m3u8 https://5aafcc5de91f1.streamlock.net/atfal1.com/atfal2/playlist.m3u8 #EXTINF:-1 tvg-id="AtfalMawahebTV.sa",Atfal & Mawaheb TV (1080p) https://5d658d7e9f562.streamlock.net/atfal1.com/atfal2/playlist.m3u8 +#EXTINF:-1 tvg-id="BabAlHara.sa",Bab Al Hara (1080p) +https://shls-live-enc.edgenextcdn.net/out/v1/948c54279b594944adde578c95f1d7d1/index.m3u8 #EXTINF:-1 tvg-id="BedayaTV.sa",Bedaya TV (1080p) https://shls-live-enc.edgenextcdn.net/out/v1/97427be47b79457b9ca245e22a8db23a/index.m3u8 #EXTINF:-1 tvg-id="BigTimePlus.sa",Big Time Plus (1080p) @@ -61,6 +71,8 @@ https://playlist.fasttvcdn.com/pl/dlkqw1ftuvuuzkcb4pxdcg/Iqraafasttv3/playlist.m https://playlist.fasttvcdn.com/pl/dlkqw1ftuvuuzkcb4pxdcg/Iqraafasttv2/playlist.m3u8 #EXTINF:-1 tvg-id="JeddahRadio.sa",Jeddah Radio (1080p) https://live.kwikmotion.com/sbrksajeddahradiolive/srpksajeddahradio/playlist.m3u8 +#EXTINF:-1 tvg-id="KhalijiComedy.sa",Khaliji Comedy (1080p) +https://shls-live-enc.edgenextcdn.net/out/v1/ea4275b6dc0840c198c17f6dc6f1ec49/index.m3u8 #EXTINF:-1 tvg-id="MPlusHD.sa",M+ HD (1080p) https://d35j504z0x2vu2.cloudfront.net/v1/master/0bc8e8376bd8417a1b6761138aa41c26c7309312/m-plus/playlist.m3u8 #EXTINF:-1 tvg-id="MajidAlMohandis.sa",Majid Al Mohandis (1080p) @@ -69,12 +81,18 @@ https://shls-live-mood-ak.akamaized.net/out/v1/8e2419c6c7494dbba478be025af490ee/ https://media2.streambrothers.com:1936/8122/8122/playlist.m3u8 #EXTINF:-1 tvg-id="MBCLoud.sa",MBC Loud (1080p) https://d2lfa0y84k5bwn.cloudfront.net/out/v1/86dd4506a70c4d7fb35e2ab50296d9a3/index.m3u8 +#EXTINF:-1 tvg-id="MBCMasrDrama.sa",MBC Masr Drama (1080p) +https://shls-live-enc.edgenextcdn.net/out/v1/08eca926a78a41339b8010c882410307/index.m3u8 #EXTINF:-1 tvg-id="MBCPlusDrama.sa",MBC+ Drama (1080p) https://mbcplusdrama-prod-dub-enc.edgenextcdn.net/out/v1/97ca0ce6fc6142f4b14c0a694af59eab/index.m3u8 #EXTINF:-1 tvg-id="MBCPlusDrama.sa",MBC+ Drama (1080p) https://shls-mbcplusdrama-prod-dub.shahid.net/out/v1/97ca0ce6fc6142f4b14c0a694af59eab/index.m3u8 #EXTINF:-1 tvg-id="MohammedAbdo.sa",Mohammed Abdo (1080p) https://d2ow8h651gs7dx.cloudfront.net/out/v1/371fb663da604e659a2fb99bf89d92d4/index.m3u8 +#EXTINF:-1 tvg-id="MoviesAction.sa",Movies Action (1080p) +https://shls-live-enc.edgenextcdn.net/out/v1/46079e838e65490c8299f902a7731168/index.m3u8 +#EXTINF:-1 tvg-id="MoviesThriller.sa",Movies Thriller (1080p) +https://shls-live-enc.edgenextcdn.net/out/v1/f6d718e841f8442f8374de47f18c93a7/index.m3u8 #EXTINF:-1 tvg-id="NidaeAlIslamRadio.sa",Nidae AlIslam Radio (1080p) https://live.kwikmotion.com/sbrksanedaradiolive/srpksanedaradio/playlist.m3u8 #EXTINF:-1 tvg-id="PanoramaFM.sa",Panorama FM (1080p) @@ -83,6 +101,8 @@ https://d6izdil55uftn.cloudfront.net/out/v1/0a06d1d6377c47edbd48721ed724bd08/ind https://shls-panoramafm-prod-dub.shahid.net/out/v1/66262e420d824475aaae794dc2d69f14/index.m3u8 #EXTINF:-1 tvg-id="QuranRadio.sa",Quran Radio (1080p) https://live.kwikmotion.com/sbrksaquranradiolive/srpksaquranradio/playlist.m3u8 +#EXTINF:-1 tvg-id="Ramez.sa",Ramez (1080p) +https://shls-live-enc.edgenextcdn.net/out/v1/0ef83323c0374a1187c182645db2a45f/index.m3u8 #EXTINF:-1 tvg-id="RashidAlMajed.sa",Rashid AlMajed (1080p) https://dphwv2ufgnfsq.cloudfront.net/out/v1/59cd80dfe93a479eb8b4d79bc6f225ca/index.m3u8 #EXTINF:-1 tvg-id="RotanaAflamPlusHD.sa",Rotana Aflam+ HD (1080p) @@ -97,6 +117,8 @@ rtmp://live.restream.io/pull/play_320121_94512612fd0e084bd284 https://thaqafeyyah-ak.akamaized.net/out/v1/f6851f68ada94f82ae6b64a441eb5ab1/index.m3u8 #EXTINF:-1 tvg-id="SaudiaRadio.sa",Saudia Radio (1080p) https://live.kwikmotion.com/sbrksasaudiaradiolive/srpksasaudiaradio/playlist.m3u8 +#EXTINF:-1 tvg-id="SBC.sa",SBC (1080p) +https://shd-gcp-live.edgenextcdn.net/live/bitmovin-sbc/90e09c0c28db26435799b4a14892a167/index.m3u8 #EXTINF:-1 tvg-id="SSCActionWaleed.sa",SSC Action Waleed (1080p) [Not 24/7] https://shls-live-event2-prod-dub.shahid.net/out/v1/0456ede1a39145d98b3d8c8062ddc998/index.m3u8 #EXTINF:-1 tvg-id="Tarab.sa",Tarab (1080p) @@ -105,25 +127,3 @@ https://shls-live-enc.edgenextcdn.net/out/v1/90143f040feb40589d18c57863d9e829/in https://shls-live-mood-ak.akamaized.net/out/v1/90143f040feb40589d18c57863d9e829/index.m3u8 #EXTINF:-1 tvg-id="ThikrayatTV.sa",Thikrayat TV (1080p) https://al-ekhbaria-prod-dub.shahid.net/out/v1/ef87956651694f4ba2ccc16e852dbb95/index.m3u8 -#EXTINF:-1 tvg-id="MBCMasrDrama.sa",MBC Masr Drama (1080p) -https://shls-live-enc.edgenextcdn.net/out/v1/08eca926a78a41339b8010c882410307/index.m3u8 -#EXTINF:-1 tvg-id="Ramez.sa",Ramez (1080p) -https://shls-live-enc.edgenextcdn.net/out/v1/0ef83323c0374a1187c182645db2a45f/index.m3u8 -#EXTINF:-1 tvg-id="MoviesThriller.sa",Movies Thriller (1080p) -https://shls-live-enc.edgenextcdn.net/out/v1/f6d718e841f8442f8374de47f18c93a7/index.m3u8 -#EXTINF:-1 tvg-id="MoviesAction.sa",Movies Action (1080p) -https://shls-live-enc.edgenextcdn.net/out/v1/46079e838e65490c8299f902a7731168/index.m3u8 -#EXTINF:-1 tvg-id="KhalijiComedy.sa",Khaliji Comedy (1080p) -https://shls-live-enc.edgenextcdn.net/out/v1/ea4275b6dc0840c198c17f6dc6f1ec49/index.m3u8 -#EXTINF:-1 tvg-id="BabAlHara.sa",Bab Al Hara (1080p) -https://shls-live-enc.edgenextcdn.net/out/v1/948c54279b594944adde578c95f1d7d1/index.m3u8 -#EXTINF:-1 tvg-id="Aflam.sa",Aflam (1080p) -https://shls-live-enc.edgenextcdn.net/out/v1/0044dd4b001a466c941ad77b04a574a2/index.m3u8 -#EXTINF:-1 tvg-id="AlSaudiyaAlaan.sa",Al Saudiya Alaan (1080p) -https://shd-gcp-live.edgenextcdn.net/live/bitmovin-ksa-now/71ed3aa814c643306c0a8bc4fcc7d17f/index.m3u8 -#EXTINF:-1 tvg-id="AlSaudiya.sa",Al Saudiya (1080p) -https://shd-gcp-live.edgenextcdn.net/live/bitmovin-saudi-tv/2ad66056b51fd8c1b624854623112e43/index.m3u8 -#EXTINF:-1 tvg-id="AlEkhbariya.sa",Al Ekhbariya (1080p) -https://shd-gcp-live.edgenextcdn.net/live/bitmovin-al-ekhbaria/297b3ef1cd0633ad9cfba7473a686a06/index.m3u8 -#EXTINF:-1 tvg-id="SBC.sa",SBC (1080p) -https://shd-gcp-live.edgenextcdn.net/live/bitmovin-sbc/90e09c0c28db26435799b4a14892a167/index.m3u8 diff --git a/streams/sk.m3u b/streams/sk.m3u index 0a6540fa9..0346ce78a 100644 --- a/streams/sk.m3u +++ b/streams/sk.m3u @@ -10,9 +10,15 @@ http://88.212.7.11/live/test_doma_hd_hevc/playlist.m3u8 #EXTINF:-1 tvg-id="ducktv.sk",ducktv (720p) https://jmp2.uk/sam-ESBC4700001GR.m3u8 #EXTINF:-1 tvg-id="ducktv.sk",ducktv (720p) +https://mmm-dk.otteravision.com/DexaYJdJXkLqFxTK_DuckTVHDSAMS/DuckTVHDSAMS.stream/playlist.m3u8 +#EXTINF:-1 tvg-id="ducktv.sk",ducktv (720p) +https://stream.ads.ottera.tv/playlist.m3u8?network_id=13168 +#EXTINF:-1 tvg-id="ducktv.sk",ducktv (720p) https://weyyak-live.akamaized.net/weyyak_ducktv/index.m3u8 #EXTINF:-1 tvg-id="Dvojka.sk",Dvojka STV2 (720p) [Not 24/7] https://n5.stv.livebox.sk/stv-tv/addfd31846e34200883cc2b4e9e6c855/stv2.smil/playlist.m3u8 +#EXTINF:-1 tvg-id="Jednotka.sk",Jednotka (1080p) +https://sktv.plainrock127.xyz/get.php?x=STV1 #EXTINF:-1 tvg-id="Jednotka.sk",Jednotka STV1 (720p) [Not 24/7] https://n4.stv.livebox.sk/stv-tv/fe09ae603df84846978c9d960f699900/stv1.smil/playlist.m3u8 #EXTINF:-1 tvg-id="LubovnianskaTV.sk",L'ubovnianska TV (1080p) @@ -33,6 +39,8 @@ https://ottst05.flexitv.sk/2827-tv-pc.m3u8 http://tv.geniusnet.sk:8081/regiotv/pl.m3u8 #EXTINF:-1 tvg-id="Senzi.sk",Senzi (720p) http://lb.streaming.sk/senzi/stream/playlist.m3u8 +#EXTINF:-1 tvg-id="TA3.sk",TA3 (360p) +https://sktv.plainrock127.xyz/get.php?x=TA3 #EXTINF:-1 tvg-id="TeleviziaMocenok.sk",Televízia Močenok (720p) https://5ca49f2417d90.streamlock.net/mocenok/livestream/playlist.m3u8 #EXTINF:-1 tvg-id="TV8.sk",Televízia OSEM (576p) @@ -87,11 +95,3 @@ https://5ca49f2417d90.streamlock.net/live/turzovka/playlist.m3u8 http://slovanet-livestream.ceelabs.com:1935/live/VioTV.stream_transcoded/playlist.m3u8 #EXTINF:-1 tvg-id="ZapadoslovenskaTV.sk",Západoslovenská TV (1080p) https://live.zstv.sk/memfs/5b0f9dd2-8f77-4fe5-9527-bc11bb8b18e5.m3u8 -#EXTINF:-1 tvg-id="ducktv.sk",ducktv (720p) -https://mmm-dk.otteravision.com/DexaYJdJXkLqFxTK_DuckTVHDSAMS/DuckTVHDSAMS.stream/playlist.m3u8 -#EXTINF:-1 tvg-id="ducktv.sk",ducktv (720p) -https://stream.ads.ottera.tv/playlist.m3u8?network_id=13168 -#EXTINF:-1 tvg-id="TA3.sk",TA3 (360p) -https://sktv.plainrock127.xyz/get.php?x=TA3 -#EXTINF:-1 tvg-id="Jednotka.sk",Jednotka (1080p) -https://sktv.plainrock127.xyz/get.php?x=STV1 diff --git a/streams/so.m3u b/streams/so.m3u index 5aa55f710..fcdd43637 100644 --- a/streams/so.m3u +++ b/streams/so.m3u @@ -1,4 +1,6 @@ #EXTM3U +#EXTINF:-1 tvg-id="ArlaadiTV.so",Arlaadi TV +https://ap02.iqplay.tv:8082/iqb8002/alr114iapp/playlist.m3u8 #EXTINF:-1 tvg-id="BulshoTV.so",Bulsho TV https://cdn.mediavisionuk.com:9000/bulshotv/index.m3u8 #EXTINF:-1 tvg-id="DacwaTV.ke",Dacwa TV (576p) [Not 24/7] @@ -17,5 +19,3 @@ http://cdn.mediavisionuae.com:1935/live/sbctv.stream/playlist.m3u8 https://ap02.iqplay.tv:8082/iqb8002/s2tve/playlist.m3u8 #EXTINF:-1 tvg-id="SomaliNationalTV.so",Somali National TV (576p) https://ap02.iqplay.tv:8082/iqb8002/s4ne/playlist.m3u8 -#EXTINF:-1 tvg-id="ArlaadiTV.so",Arlaadi TV -https://ap02.iqplay.tv:8082/iqb8002/alr114iapp/playlist.m3u8 diff --git a/streams/tr.m3u b/streams/tr.m3u index f9b439038..078d12901 100644 --- a/streams/tr.m3u +++ b/streams/tr.m3u @@ -150,6 +150,8 @@ http://stream2.taksimbilisim.com:1935/caytv/bant1/CAYTV.m3u8 https://cdn-cekmekoybeltv.yayin.com.tr/cekmekoybeltv/cekmekoybeltv/playlist.m3u8 #EXTINF:-1 tvg-id="CekmekoyTV.tr",Cekmeköy TV (1080p) https://cdn-cekmekoybeltv.yayin.com.tr/cekmekoybeltv/cekmekoybeltv_1080p/playlist.m3u8 +#EXTINF:-1 tvg-id="CGTNDocumentary.tr",CGTN Documentary +https://mn-nl.mncdn.com/dogusdyg_drone/cgtn/playlist.m3u8 #EXTINF:-1 tvg-id="CiftciTV.tr",Ciftci TV (576p) http://185.234.111.229:8000/play/a04i #EXTINF:-1 tvg-id="CiftciTV.tr",Çiftçi TV (1080p) [Not 24/7] @@ -206,7 +208,7 @@ http://185.234.111.229:8000/play/a00w https://mn-nl.mncdn.com/blutv_ekoturk2/live.m3u8 #EXTINF:-1 tvg-id="ElmasTV.tr",Elmas TV (720p) [Not 24/7] https://5be5d840359c6.streamlock.net/elmas67tv/elmas67tv/chunklist.m3u8 -#EXTINF:-1 tvg-id="EmTV.tr",Em TV (486p) +#EXTINF:-1 tvg-id="",Em TV (486p) https://cdn.yayin.com.tr/TVEM/TVEM/playlist.m3u8 #EXTINF:-1 tvg-id="ERTV.tr",Er TV (1080p) [Geo-blocked] https://live.artidijitalmedya.com/artidijital_ertv_new/ertv/playlist.m3u8 @@ -452,6 +454,8 @@ https://trkvz-live.daioncdn.net/minikago/minikago.m3u8 https://tgn.bozztv.com/dvrfl05/gin-minikago/index.m3u8 #EXTINF:-1 tvg-id="MTurkTV.tr",MTürk TV (1080p) https://edge1.socialsmart.tv/muglaturk/bant1/playlist.m3u8 +#EXTINF:-1 tvg-id="NationalGeographicWild.tr",National Geographic Wild +https://tv.arectv13.sbs/live/natgeowild.m3u8 #EXTINF:-1 tvg-id="NaturalTV.tr",Natural TV (720p) [Not 24/7] http://broadcasttr.com:1935/naturaltv/bant1/playlist.m3u8 #EXTINF:-1 tvg-id="NaturalTV.tr",Natural TV (720p) [Not 24/7] @@ -459,6 +463,8 @@ https://edge1.socialsmart.tv/naturaltv/bant1/playlist.m3u8 #EXTINF:-1 tvg-id="NoraTV.tr",Nora TV (1080p) https://live.artidijitalmedya.com/artidijital_noratv/noratv/playlist.m3u8 #EXTINF:-1 tvg-id="NOWTV.tr",NOW TV +http://116.202.238.88/FOXTV_TR/index.m3u8 +#EXTINF:-1 tvg-id="NOWTV.tr",NOW TV https://c.fulltvizle.com/fox/index.m3u8 #EXTINF:-1 tvg-id="NTV.tr",NTV (720p) [Not 24/7] https://dogus-live.daioncdn.net/ntv/ntv.m3u8 @@ -527,6 +533,10 @@ https://mn-nl.mncdn.com/qaf/live/playlist.m3u8 https://yayin30.haber100.com/live/rehbertv/playlist.m3u8 #EXTINF:-1 tvg-id="RumeliTV.tr",Rumeli TV (576p) http://185.234.111.229:8000/play/a023 +#EXTINF:-1 tvg-id="SSport.tr",S Sport +https://bcovlive-a.akamaihd.net/540fcb034b144b848e7ff887f61a293a/eu-central-1/6415845530001/profile_0/chunklist.m3u8 +#EXTINF:-1 tvg-id="SSport2.tr",S Sport 2 +https://bcovlive-a.akamaihd.net/29c60f23ea4840ba8726925a77fcfd0b/eu-central-1/6415845530001/profile_0/chunklist.m3u8 #EXTINF:-1 tvg-id="SariyerTV.tr",Sarıyer TV (360p) https://s01.vpis.io/sariyer/sariyer.m3u8 #EXTINF:-1 tvg-id="Sat7Pars.cy",Sat7 Pars (1080p) @@ -575,6 +585,8 @@ https://live.kwikmotion.com/syriatvlive/syriatv.smil/playlist_dvr.m3u8 https://stream.ads.ottera.tv/playlist.m3u8?network_id=6017 #EXTINF:-1 tvg-id="SyriaTV.tr",Syria TV (1080p) https://svs.itworkscdn.net/syriatvlive/syriatv.smil/playlist_dvr.m3u8 +#EXTINF:-1 tvg-id="TabiiSpor6.tr",Tabii Spor 6 (720p) [Geo-blocked] +https://vbtob9hyq58eiophct5qctxr2.medya.trt.com.tr/master.m3u8 #EXTINF:-1 tvg-id="TarimTV.tr",Tarim TV (1080p) https://content.tvkur.com/l/c7e1da7mm25p552d9u9g/master.m3u8 #EXTINF:-1 tvg-id="TatlisesTV.tr",Tatlises TV (1080p) [Not 24/7] @@ -659,7 +671,7 @@ https://tv-trtdiyanetcocuk.medya.trt.com.tr/master.m3u8 https://tv-e-okul00.medya.trt.com.tr/master.m3u8 #EXTINF:-1 tvg-id="TRTEBALise.tr",TRT EBA Lise (720p) https://tv-e-okul02.medya.trt.com.tr/master.m3u8 -#EXTINF:-1 tvg-id="TRTEBAOrtaokul.tr",TRT EBA Ortaokul (720p) +#EXTINF:-1 tvg-id="",TRT EBA Ortaokul (720p) https://tv-e-okul01.medya.trt.com.tr/master.m3u8 #EXTINF:-1 tvg-id="TRTHaber.tr",TRT Haber (1080p) http://185.234.111.229:8000/play/a00d @@ -686,13 +698,23 @@ http://185.234.111.229:8000/play/a00h #EXTINF:-1 tvg-id="TRTTurk.tr",TRT Türk (720p) https://tv-trtturk.medya.trt.com.tr/master.m3u8 #EXTINF:-1 tvg-id="TRTWorld.tr",TRT World (1080p) +http://92.114.85.72:8000/play/a02v +#EXTINF:-1 tvg-id="TRTWorld.tr",TRT World (1080p) http://185.234.111.229:8000/play/a00g #EXTINF:-1 tvg-id="TRTWorld.tr",TRT World (1080p) http://185.234.111.229:8000/play/a003 #EXTINF:-1 tvg-id="TRTWorld.tr",TRT World (1080p) [Not 24/7] https://tv-trtworld.medya.trt.com.tr/master.m3u8 +#EXTINF:-1 tvg-id="TRTWorld.tr",TRT World (576p) +http://92.114.85.72:8000/play/a0a9 #EXTINF:-1 tvg-id="TurkHaberTV.tr",TürkHaber (720p) https://edge1.socialsmart.tv/turkhaber/bant1/playlist.m3u8 +#EXTINF:-1 tvg-id="TurksatSaat.tr",Turksat Saat +http://185.234.111.229:8000/play/a01f +#EXTINF:-1 tvg-id="TurksatTanitim.tr",Turksat Tanitim +http://185.234.111.229:8000/play/a01d +#EXTINF:-1 tvg-id="TurksatTanitim.tr",Turksat Tanitim +http://185.234.111.229:8000/play/a01e #EXTINF:-1 tvg-id="TV1.tr",TV 1 (720p) https://edge1.socialsmart.tv/tv1/bant1/playlist.m3u8 #EXTINF:-1 tvg-id="TV4.tr",TV4 (720p) @@ -703,7 +725,7 @@ https://tv8.daioncdn.net/tv8/tv8.m3u8?app=7ddc255a-ef47-4e81-ab14-c0e5f2949788&c https://tv8-live.daioncdn.net/tv8/tv8.m3u8 #EXTINF:-1 tvg-id="TV85.tr",TV 8.5 (720p) http://bozztv.com/gin-dvrfl05/gin-tv8_5/index.m3u8 -#EXTINF:-1 tvg-id="TV8International.tr",TV8 International (1080p) +#EXTINF:-1 tvg-id="",TV8 International (1080p) http://185.234.111.229:8000/play/a01x #EXTINF:-1 tvg-id="24TV.tr",TV 24 (720p) https://turkmedya-live.ercdn.net/tv24/tv24.m3u8 @@ -731,12 +753,14 @@ https://b01c02nl.mediatriple.net/videoonlylive/mtdxkkitgbrckilive/broadcast_5ee2 https://live.artidijitalmedya.com/artidijital_tva/tva/playlist.m3u8 #EXTINF:-1 tvg-id="TVDen.tr",TV Den (576p) [Not 24/7] http://canli.tvden.com.tr/hls/live.m3u8 -#EXTINF:-1 tvg-id="TVEm.tr",TV Em (486p) +#EXTINF:-1 tvg-id="",TV Em (486p) https://cdn-tvem.yayin.com.tr/TVEM/TVEM/playlist.m3u8 -#EXTINF:-1 tvg-id="TVEm.tr",TV Em (486p) +#EXTINF:-1 tvg-id="",TV Em (486p) https://cdn.yayin.com.tr/TVEM/TVEM/chunklist.m3u8 #EXTINF:-1 tvg-id="TVNET.tr",TVnet (720p) https://mn-nl.mncdn.com/tvnet/tvnet/playlist.m3u8 +#EXTINF:-1 tvg-id="TYTTurk.tr",TYT Turk (720p) +https://cdn4.yayin.com.tr/tytturk/index.m3u8 #EXTINF:-1 tvg-id="UcanKusTV.tr",UçanKuş TV (720p) https://ucankus-live.cdnnew.com/ucankus/ucankus.m3u8 #EXTINF:-1 tvg-id="UlkeTV.tr",Ülke TV (720p) @@ -756,6 +780,8 @@ https://uskudarunv.mediatriple.net/uskudarunv/uskudar2/playlist.m3u8 https://serdar.tiviplayer.com/player/m3u8/65aae71c9b93f0965aaed3a92660d98b/65aae71c9b93f0965aaed3a92660d98b.m3u8 #EXTINF:-1 tvg-id="VavTV.tr",Vav TV (1080p) http://185.234.111.229:8000/play/a01n +#EXTINF:-1 tvg-id="ViasatExplore.tr",Viasat Explore +https://tv.arectv29.sbs/live/viasathistory.m3u8 #EXTINF:-1 tvg-id="Vizyon58TV.tr",Vizyon 58 TV (720p) [Geo-blocked] https://live.artidijitalmedya.com/artidijital_vizyon58/vizyon58/playlist.m3u8 #EXTINF:-1 tvg-id="VuslatTV.tr",Vuslat TV (720p) [Not 24/7] @@ -776,29 +802,3 @@ https://cdn-yildiz.yayin.com.tr/yildiz/yildiz/playlist.m3u8 https://stream.yol.tv:9443/medialive/yol.m3u8 #EXTINF:-1 tvg-id="ZarokTV.tr",Zarok TV (720p) https://zindikurmanci.zaroktv.com.tr/hls/stream.m3u8 -#EXTINF:-1 tvg-id="TabiiSpor6.tr",Tabii Spor 6 (720p) [Geo-blocked] -https://vbtob9hyq58eiophct5qctxr2.medya.trt.com.tr/master.m3u8 -#EXTINF:-1 tvg-id="TurksatTanitim.tr",Turksat Tanitim -http://185.234.111.229:8000/play/a01d -#EXTINF:-1 tvg-id="TurksatTanitim.tr",Turksat Tanitim -http://185.234.111.229:8000/play/a01e -#EXTINF:-1 tvg-id="TurksatSaat.tr",Turksat Saat -http://185.234.111.229:8000/play/a01f -#EXTINF:-1 tvg-id="TYTTurk.tr",TYT Turk (720p) -https://cdn4.yayin.com.tr/tytturk/index.m3u8 -#EXTINF:-1 tvg-id="TRTWorld.tr",TRT World (1080p) -http://92.114.85.72:8000/play/a02v -#EXTINF:-1 tvg-id="TRTWorld.tr",TRT World (576p) -http://92.114.85.72:8000/play/a0a9 -#EXTINF:-1 tvg-id="CGTNDocumentary.tr",CGTN Documentary -https://mn-nl.mncdn.com/dogusdyg_drone/cgtn/playlist.m3u8 -#EXTINF:-1 tvg-id="NOWTV.tr",NOW TV -http://116.202.238.88/FOXTV_TR/index.m3u8 -#EXTINF:-1 tvg-id="ViasatExplore.tr",Viasat Explore -https://tv.arectv29.sbs/live/viasathistory.m3u8 -#EXTINF:-1 tvg-id="SSport2.tr",S Sport 2 -https://bcovlive-a.akamaihd.net/29c60f23ea4840ba8726925a77fcfd0b/eu-central-1/6415845530001/profile_0/chunklist.m3u8 -#EXTINF:-1 tvg-id="SSport.tr",S Sport -https://bcovlive-a.akamaihd.net/540fcb034b144b848e7ff887f61a293a/eu-central-1/6415845530001/profile_0/chunklist.m3u8 -#EXTINF:-1 tvg-id="NationalGeographicWild.tr",National Geographic Wild -https://tv.arectv13.sbs/live/natgeowild.m3u8 diff --git a/streams/ua.m3u b/streams/ua.m3u index b808589c8..6ee285106 100644 --- a/streams/ua.m3u +++ b/streams/ua.m3u @@ -36,6 +36,8 @@ https://stream.uagit.tv/gittv.m3u8 https://kie2.cdn.i-ua.tv/hlsme/iuatv.m3u8 #EXTINF:-1 tvg-id="Inter.ua",IHTEP (576p) https://edge1.iptv.macc.com.ua/img/inter_3/index.m3u8 +#EXTINF:-1 tvg-id="InterPlus.ua",Inter+ (1080p) +http://62.233.57.226:8001/play/a00q #EXTINF:-1 tvg-id="IT3.ua",IT-3 (720p) http://cdn10.live-tv.od.ua:8081/it3od/720p/playlist.m3u8 #EXTINF:-1 tvg-id="ITV.ua",ITV (480p) @@ -160,5 +162,3 @@ https://tuso.cdn-01.cosmonova.net.ua/hls/tuso_ua.m3u8 http://46.175.163.130/ks_plus/index.m3u8 #EXTINF:-1 tvg-id="ChPinfo.ua",ЧП Инфо (576p) http://edge3.iptv.macc.com.ua/life/magnolia_3/index.m3u8 -#EXTINF:-1 tvg-id="InterPlus.ua",Inter+ (1080p) -http://62.233.57.226:8001/play/a00q diff --git a/streams/uk.m3u b/streams/uk.m3u index b5b9fd661..5e292f035 100644 --- a/streams/uk.m3u +++ b/streams/uk.m3u @@ -26,6 +26,8 @@ https://xyzdddd.mizhls.ru/lb/premium356/index.m3u8 http://92.114.85.72:8000/play/a0mp #EXTINF:-1 tvg-id="BBCScotland.uk",BBC Scotland (1080p) http://92.114.85.72:8000/play/a0mf +#EXTINF:-1 tvg-id="BBCThree.uk",BBC Three +https://x.canlitvapp.com/u-bbc3/index.m3u8 #EXTINF:-1 tvg-id="BBCTwo.uk",BBC Two https://x.canlitvapp.com/u-bbc2/index.m3u8 #EXTINF:-1 tvg-id="Blaze.uk",Blaze (576p) [Geo-blocked] @@ -36,12 +38,20 @@ https://bloomberg.com/media-manifest/streams/eu-event.m3u8 https://bloomberg.com/media-manifest/streams/eu.m3u8 #EXTINF:-1 tvg-id="Bridezillas.uk",Bridezillas https://run-br-uk.otteravision.com/run/br_uk/br_uk_720.m3u8 +#EXTINF:-1 tvg-id="CBeebies.uk",CBeebies +https://x.canlitvapp.com/u-cbeebies/index.m3u8 +#EXTINF:-1 tvg-id="Channel4.uk",Channel 4 +https://x.canlitvapp.com/u-channel-4/index.m3u8 +#EXTINF:-1 tvg-id="Channel5.uk",Channel 5 +https://x.canlitvapp.com/u-channel-5/index.m3u8 #EXTINF:-1 tvg-id="ChannelS.uk",Channel S (576p) [Not 24/7] https://cdn149.anystream.uk:8082/g1/tvchsuk03/playlist.m3u8 #EXTINF:-1 tvg-id="CNBCEurope.uk",CNBC Europe/World (1080p) [Geo-blocked] https://amg01079-nbcuuk-amg01079c1-samsung-es-1261.playouts.now.amagi.tv/playlist/amg01079-nbcuukfast-cnbcpe-samsunges/playlist.m3u8 #EXTINF:-1 tvg-id="DeenTV.uk",Deen TV (576p) [Not 24/7] https://ap02.iqplay.tv:8082/iqb8002/d33ntv/playlist.m3u8 +#EXTINF:-1 tvg-id="E4.uk",E4 +https://x.canlitvapp.com/u-e4/index.m3u8 #EXTINF:-1 tvg-id="ElshaddaiTelevisionNetwork.uk",Elshaddai Television Network (720p) https://5d00db0e0fcd5.streamlock.net/7586/7586/playlist.m3u8 #EXTINF:-1 tvg-id="EmanChannel.uk",Eman Channel (576p) @@ -53,11 +63,21 @@ https://og2qd3aal7an-hls-live.5centscdn.com/garshomtv/d0dbe915091d400bd8ee7f27f0 #EXTINF:-1 tvg-id="GBNews.uk",GB News (1080p) https://amg01076-lightning-amg01076c7-lg-gb-2019.playouts.now.amagi.tv/playlist/amg01076-lightning-gbnews-lggb/playlist.m3u8 #EXTINF:-1 tvg-id="GBNews.uk",GB News (1080p) +https://jmp2.uk/sam-GBBB1600008R3.m3u8 +#EXTINF:-1 tvg-id="GBNews.uk",GB News (1080p) https://live-gbnews-ssai.simplestreamcdn.com/v1/master/82267e84b9e5053b3fd0ade12cb1a146df74169a/gbnews-live/index.m3u8 #EXTINF:-1 tvg-id="GBNews.uk",GB News (1080p) https://live-gbnews.simplestreamcdn.com/live5/gbnews/bitrate1.isml/manifest.m3u8 +#EXTINF:-1 tvg-id="GemsTV.uk",Gems TV (720p) +https://lo3.gemporia.com/abrgemporiaukgfx/smil:livestream.smil/playlist.m3u8 #EXTINF:-1 tvg-id="GemsTV.uk",Gems TV (360p) https://lo2-1.gemporia.com/abrgemporiaukgfx/smil:livestream.smil/playlist.m3u8 +#EXTINF:-1 tvg-id="GREATmovies.uk",GREAT! movies (1080p) +https://amg01753-narrativeuk-amg01753c3-lg-gb-1833.playouts.now.amagi.tv/playlist/amg01753-narrativeuk-greatmovies-lggb/playlist.m3u8 +#EXTINF:-1 tvg-id="GREATMystery.uk",GREAT! Mystery (1080p) +https://linear-861.frequency.stream/dist/lg-uk/861/hls/master/playlist.m3u8 +#EXTINF:-1 tvg-id="GREATromance.uk",GREAT! romance (1080p) +https://amg01753-narrativeuk-amg01753c2-lg-gb-1832.playouts.now.amagi.tv/playlist/amg01753-narrativeuk-greatchristmas-lggb/playlist.m3u8 #EXTINF:-1 tvg-id="",Hadi TV French (720p) https://live.ishiacloud.com/haditv.co.uk/haditv8.m3u8 #EXTINF:-1 tvg-id="",Hadi TV Indonesian and Thai (720p) @@ -66,6 +86,8 @@ https://live.ishiacloud.com/haditv.co.uk/haditv2.m3u8 https://live.ishiacloud.com/haditv.co.uk/haditv7.m3u8 #EXTINF:-1 tvg-id="HalaLondon.uk",Hala London (1080p) https://halalondon-live.ercdn.net/halalondon/halalondon.m3u8 +#EXTINF:-1 tvg-id="HobbyMaker.uk",Hobby Maker (720p) +https://lo3.gemporia.com/abrhobbymakerukgfx/smil:livestreamFullHD.smil/playlist.m3u8 #EXTINF:-1 tvg-id="HorseCountryTV.uk",Horse & Country TV (1080p) https://hnc-free-viewlift.amagi.tv/HNC_AUSTRALIA.m3u8 #EXTINF:-1 tvg-id="InsideCrime.uk",Inside Crime (1080p) [Geo-blocked] @@ -84,6 +106,14 @@ https://live.playstop.me/LS-63503-4/index.m3u8 https://live.islamchannel.tv/live11/islamtv_english/bitrate1.isml/live.m3u8 #EXTINF:-1 tvg-id="IslamChannelUrdu.uk",Islam Channel Urdu https://live-islamtv-urdu.simplestreamcdn.com/live13/islamtv_urdu/bitrate1.isml/live.m3u8 +#EXTINF:-1 tvg-id="ITV1.uk",ITV1 +https://x.canlitvapp.com/u-itv1/index.m3u8 +#EXTINF:-1 tvg-id="ITV2.uk",ITV2 +https://x.canlitvapp.com/u-itv2/index.m3u8 +#EXTINF:-1 tvg-id="ITV3.uk",ITV3 +https://x.canlitvapp.com/u-itv3/index.m3u8 +#EXTINF:-1 tvg-id="ITV4.uk",ITV4 (576p) +https://x.canlitvapp.com/u-itv4/index.m3u8 #EXTINF:-1 tvg-id="JewelleryMaker.uk",Jewelery Maker (1080p) https://lo2-1.gemporia.com/abrjewellerymaker/smil:livestream.smil/playlist.m3u8 #EXTINF:-1 tvg-id="KalsanTV.uk",Kalsan TV (576p) @@ -100,6 +130,8 @@ https://5a0e89631aa14.streamlock.net/LatestTelevision/LatestTelevision/playlist. https://cdn3.wowza.com/5/L1Uzd2FrbVlLRG1W/live/smil:lwukweb.smil/playlist.m3u8 #EXTINF:-1 tvg-id="MagnavisionTV.uk",Magna Vision (1080p) https://j78dpa3edq5r-hls-live.5centscdn.com/abr/0864028584026e6ad9cdf922473177a4/playlist.m3u8 +#EXTINF:-1 tvg-id="MBC.uk",MBC (1080p) +https://cdn8.fntvchannel.com/v1/master/02eeb1726c343dc9c30c32e93dee82013e157021/FNTV-CHANNEL_CDN77/index.m3u8 #EXTINF:-1 tvg-id="MTA1World.uk",MTA1 World (720p) https://chlivemta1.akamaized.net/hls/live/2008145/mta1/playlist.m3u8 #EXTINF:-1 tvg-id="MTA2Europe.uk",MTA2 Europe (720p) @@ -116,6 +148,8 @@ https://livemtaasia.akamaized.net/hls/live/2039224/mta6asia/playlist.m3u8 https://livemtaasia.akamaized.net/hls/live/2039224/mtaasia2/playlist.m3u8 #EXTINF:-1 tvg-id="MTA8America.uk",MTA8 America (1080p) https://chlivemta.akamaized.net/hls/live/2016718/mta8/playlist.m3u8 +#EXTINF:-1 tvg-id="MTVHitsEurope.uk",MTV Hits Europe +http://45.88.92.3/tr3_MTVHits_SD/index.m3u8?token=test #EXTINF:-1 tvg-id="MTVLive.uk",MTV Live http://190.102.246.93:9005/play/a01p #EXTINF:-1 tvg-id="MUTV.uk",MUTV (720p) @@ -182,10 +216,24 @@ https://csm-e-stv-eb.tls1.yospace.com/csm/extlive/stv01,prd-ml-stvplusone-gla-su https://stvwest.akamaized.net/out/v1/0a8c175eec414b0d8bf7ac8178ad7aae/index.m3u8 #EXTINF:-1 tvg-id="TakbeerTV.uk",Takbeer TV (1080p) https://ap02.iqplay.tv:8082/iqb8002/t5kb86/playlist.m3u8 +#EXTINF:-1 tvg-id="TakbeerTV.uk",Takbeer TV (576p) +http://92.114.85.72:8000/play/a09b +#EXTINF:-1 tvg-id="TalkingPicturesTV.uk",Talking Pictures TV (576p) +http://92.114.85.72:8000/play/a0la +#EXTINF:-1 tvg-id="talkSPORT.uk",talkSPORT (1080p) +https://af7a8b4e.wurl.com/master/f36d25e7e52f1ba8d7e56eb859c636563214f541/TEctZ2JfdGFsa1NQT1JUX0hMUw/playlist.m3u8 #EXTINF:-1 tvg-id="TalkTV.uk",TalkTV (1080p) https://amg00738-newsuk-amg00738c1-lg-gb-3426.playouts.now.amagi.tv/playlist/amg00738-newscorpukandirelandlimited-talktv-lggb/playlist.m3u8 #EXTINF:-1 tvg-id="TalkTV.uk",TalkTV (1080p) https://live-talktv-ssai.simplestreamcdn.com/v1/master/774d979dd66704abea7c5b62cb34c6815fda0d35/talktv-live/index.m3u8 +#EXTINF:-1 tvg-id="TBNUK.uk",TBN UK (1080p) +https://live-tbn-ssai.simplestreamcdn.com/v1/master/774d979dd66704abea7c5b62cb34c6815fda0d35/tbn-live/manifest.m3u8 +#EXTINF:-1 tvg-id="TBNUK.uk",TBN UK (576p) +http://92.114.85.72:8000/play/a0nj +#EXTINF:-1 tvg-id="Thats70s.uk",That's 70s (576p) +http://92.114.85.72:8000/play/a0lc +#EXTINF:-1 tvg-id="ThatsTV.uk",That's TV (576p) +http://92.114.85.72:8000/play/a0lb #EXTINF:-1 tvg-id="TheCraftStore.uk",The Craft Store (720p) https://live-hochanda.simplestreamcdn.com/hochanda/live.m3u8 #EXTINF:-1 tvg-id="TinyPop.uk",Tiny Pop (1080p) @@ -194,81 +242,33 @@ https://amg01753-narrativeuk-amg01753c1-lg-gb-1830.playouts.now.amagi.tv/playlis https://jmp2.uk/sam-GBBD3200003T6.m3u8 #EXTINF:-1 tvg-id="TinyPop.uk",Tiny Pop (1080p) https://live-pop-ssai.simplestreamcdn.com/v1/master/774d979dd66704abea7c5b62cb34c6815fda0d35/narrative-tinypop-live-amagi/playlist.m3u8 -#EXTINF:-1 tvg-id="TJC.uk",TJC (1080p) -https://cdn-shop-lc-01.akamaized.net/Content/HLS_HLS/Live/channel(TJCOTT)/index.m3u8 -#EXTINF:-1 tvg-id="TraceHits.uk",Trace Hits (1080p) -https://d35j504z0x2vu2.cloudfront.net/v1/master/0bc8e8376bd8417a1b6761138aa41c26c7309312/trace-uk/encrypted.m3u8 -#EXTINF:-1 tvg-id="TVWarehouse.uk",TV Warehouse (720p) -https://tvwarehouse.r.worldssl.net/mystream.m3u8 -#EXTINF:-1 tvg-id="V2BEATTV.uk",V2BEAT (720p) [Not 24/7] -https://abr.de1se01.v2beat.live/playlist.m3u8 -#EXTINF:-1 tvg-id="GBNews.uk",GB News (1080p) -https://jmp2.uk/sam-GBBB1600008R3.m3u8 -#EXTINF:-1 tvg-id="UAlibi.uk",U&Alibi (576p) -http://92.114.85.72:8000/play/a0bi -#EXTINF:-1 tvg-id="TogetherTV.uk",Together TV (576p) -http://92.114.85.72:8000/play/a0j8 -#EXTINF:-1 tvg-id="TinyPopPlus1.uk",Tiny Pop +1 (576p) -http://92.114.85.72:8000/play/a08p #EXTINF:-1 tvg-id="TinyPop.uk",Tiny Pop (576p) http://92.114.85.72:8000/play/a08g -#EXTINF:-1 tvg-id="ThatsTV.uk",That's TV (576p) -http://92.114.85.72:8000/play/a0lb -#EXTINF:-1 tvg-id="Thats70s.uk",That's 70s (576p) -http://92.114.85.72:8000/play/a0lc -#EXTINF:-1 tvg-id="TalkingPicturesTV.uk",Talking Pictures TV (576p) -http://92.114.85.72:8000/play/a0la -#EXTINF:-1 tvg-id="TakbeerTV.uk",Takbeer TV (576p) -http://92.114.85.72:8000/play/a09b -#EXTINF:-1 tvg-id="TVWarehouse.uk",TV Warehouse (576p) -http://92.114.85.72:8000/play/a09i -#EXTINF:-1 tvg-id="TVOne.uk",TV One (576p) -http://92.114.85.72:8000/play/a070 -#EXTINF:-1 tvg-id="TBNUK.uk",TBN UK (576p) -http://92.114.85.72:8000/play/a0nj -#EXTINF:-1 tvg-id="UYesterday.uk",U&Yesterday -http://92.114.85.72:8000/play/aOb3 -#EXTINF:-1 tvg-id="UW.uk",U&W -http://92.114.85.72:8000/play/a0bj -#EXTINF:-1 tvg-id="CBeebies.uk",CBeebies -https://x.canlitvapp.com/u-cbeebies/index.m3u8 -#EXTINF:-1 tvg-id="BBCThree.uk",BBC Three -https://x.canlitvapp.com/u-bbc3/index.m3u8 -#EXTINF:-1 tvg-id="ITV3.uk",ITV3 -https://x.canlitvapp.com/u-itv3/index.m3u8 -#EXTINF:-1 tvg-id="GREATMystery.uk",GREAT! Mystery (1080p) -https://linear-861.frequency.stream/dist/lg-uk/861/hls/master/playlist.m3u8 -#EXTINF:-1 tvg-id="GREATmovies.uk",GREAT! movies (1080p) -https://amg01753-narrativeuk-amg01753c3-lg-gb-1833.playouts.now.amagi.tv/playlist/amg01753-narrativeuk-greatmovies-lggb/playlist.m3u8 -#EXTINF:-1 tvg-id="GREATromance.uk",GREAT! romance (1080p) -https://amg01753-narrativeuk-amg01753c2-lg-gb-1832.playouts.now.amagi.tv/playlist/amg01753-narrativeuk-greatchristmas-lggb/playlist.m3u8 -#EXTINF:-1 tvg-id="talkSPORT.uk",talkSPORT (1080p) -https://af7a8b4e.wurl.com/master/f36d25e7e52f1ba8d7e56eb859c636563214f541/TEctZ2JfdGFsa1NQT1JUX0hMUw/playlist.m3u8 -#EXTINF:-1 tvg-id="GemsTV.uk",Gems TV (720p) -https://lo3.gemporia.com/abrgemporiaukgfx/smil:livestream.smil/playlist.m3u8 -#EXTINF:-1 tvg-id="TBNUK.uk",TBN UK (1080p) -https://live-tbn-ssai.simplestreamcdn.com/v1/master/774d979dd66704abea7c5b62cb34c6815fda0d35/tbn-live/manifest.m3u8 -#EXTINF:-1 tvg-id="HobbyMaker.uk",Hobby Maker (720p) -https://lo3.gemporia.com/abrhobbymakerukgfx/smil:livestreamFullHD.smil/playlist.m3u8 +#EXTINF:-1 tvg-id="TinyPopPlus1.uk",Tiny Pop +1 (576p) +http://92.114.85.72:8000/play/a08p +#EXTINF:-1 tvg-id="TJC.uk",TJC (1080p) +https://cdn-shop-lc-01.akamaized.net/Content/HLS_HLS/Live/channel(TJCOTT)/index.m3u8 #EXTINF:-1 tvg-id="TJC.uk",TJC (1080p) https://cdn-shop-lc-01.vos360.video/Content/HLS_HLS/Live/channel(HDTJCcustomGFX)/master.m3u8 +#EXTINF:-1 tvg-id="TogetherTV.uk",Together TV (576p) +http://92.114.85.72:8000/play/a0j8 +#EXTINF:-1 tvg-id="TraceHits.uk",Trace Hits (1080p) +https://d35j504z0x2vu2.cloudfront.net/v1/master/0bc8e8376bd8417a1b6761138aa41c26c7309312/trace-uk/encrypted.m3u8 +#EXTINF:-1 tvg-id="TVOne.uk",TV One (576p) +http://92.114.85.72:8000/play/a070 +#EXTINF:-1 tvg-id="TVWarehouse.uk",TV Warehouse (720p) +https://tvwarehouse.r.worldssl.net/mystream.m3u8 +#EXTINF:-1 tvg-id="TVWarehouse.uk",TV Warehouse (576p) +http://92.114.85.72:8000/play/a09i +#EXTINF:-1 tvg-id="UAlibi.uk",U&Alibi (576p) +http://92.114.85.72:8000/play/a0bi +#EXTINF:-1 tvg-id="UW.uk",U&W +http://92.114.85.72:8000/play/a0bj +#EXTINF:-1 tvg-id="UYesterday.uk",U&Yesterday +http://92.114.85.72:8000/play/aOb3 +#EXTINF:-1 tvg-id="V2BEATTV.uk",V2BEAT (720p) [Not 24/7] +https://abr.de1se01.v2beat.live/playlist.m3u8 #EXTINF:-1 tvg-id="WildEarth.uk",WildEarth (1080p) https://wildearth-ono.amagi.tv/playlist/amg01290-wildearth-oando/playlist.m3u8 -#EXTINF:-1 tvg-id="ITV4.uk",ITV4 (576p) -https://x.canlitvapp.com/u-itv4/index.m3u8 -#EXTINF:-1 tvg-id="MTVHitsEurope.uk",MTV Hits Europe -http://45.88.92.3:80/tr3_MTVHits_SD/index.m3u8?token=test -#EXTINF:-1 tvg-id="E4.uk",E4 -https://x.canlitvapp.com/u-e4/index.m3u8 -#EXTINF:-1 tvg-id="Channel5.uk",Channel 5 -https://x.canlitvapp.com/u-channel-5/index.m3u8 -#EXTINF:-1 tvg-id="Channel4.uk",Channel 4 -https://x.canlitvapp.com/u-channel-4/index.m3u8 -#EXTINF:-1 tvg-id="ITV2.uk",ITV2 -https://x.canlitvapp.com/u-itv2/index.m3u8 -#EXTINF:-1 tvg-id="ITV1.uk",ITV1 -https://x.canlitvapp.com/u-itv1/index.m3u8 -#EXTINF:-1 tvg-id="MBC.uk",MBC (1080p) -https://cdn8.fntvchannel.com/v1/master/02eeb1726c343dc9c30c32e93dee82013e157021/FNTV-CHANNEL_CDN77/index.m3u8 #EXTINF:-1 tvg-id="YAAAS.uk",YAAAS! (720p) [Geo-blocked] https://jmp2.uk/sam-GB340000289.m3u8 diff --git a/streams/uk_bbc.m3u b/streams/uk_bbc.m3u index e5928a7f0..be06ab867 100644 --- a/streams/uk_bbc.m3u +++ b/streams/uk_bbc.m3u @@ -109,6 +109,8 @@ https://vs-cmaf-pushb-ww.live.cf.md.bbci.co.uk/x=3/i=urn:bbc:pips:service:bbc_pe https://vs-cmaf-pushb-ww.live.cf.md.bbci.co.uk/x=3/i=urn:bbc:pips:service:bbc_persian_tv/pc_hd_abr_v2_cloudfrontms_live_http.mpd #EXTINF:-1 tvg-id="BBCPersian.uk",BBC Persian (720p) https://vs-hls-pushb-ww-live.akamaized.net/x=4/i=urn:bbc:pips:service:bbc_persian_tv/t=3840/v=pv14/b=5070016/main.m3u8 +#EXTINF:-1 tvg-id="BBCRedButton1HD.uk",BBC RB 1 (720p) [Geo-blocked] +https://vs-cmaf-pushb-uk.live.cf.md.bbci.co.uk/x=4/i=urn:bbc:pips:service:red_button_one/iptv_hd_abr_v1.mpd #EXTINF:-1 tvg-id="BBCRedButton1.uk",BBC Red Button 1 (720p) [Geo-blocked] https://ve-cmaf-push-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:uk_bbc_stream_001/iptv_hd_abr_v1.mpd #EXTINF:-1 tvg-id="BBCRedButton2.uk",BBC Red Button 2 (720p) [Geo-blocked] @@ -157,8 +159,6 @@ https://ve-cmaf-push-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:uk_bbc_str https://ve-cmaf-push-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:uk_bbc_stream_023/iptv_hd_abr_v1.mpd #EXTINF:-1 tvg-id="BBCRedButton24.uk",BBC Red Button 24 (720p) [Geo-blocked] https://ve-cmaf-push-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:uk_bbc_stream_024/iptv_hd_abr_v1.mpd -#EXTINF:-1 tvg-id="BBCRedButton1HD.uk",BBC RB 1 (720p) [Geo-blocked] -https://vs-cmaf-pushb-uk.live.cf.md.bbci.co.uk/x=4/i=urn:bbc:pips:service:red_button_one/iptv_hd_abr_v1.mpd #EXTINF:-1 tvg-id="BBCScotland.uk",BBC Scotland (540p) [Geo-blocked] https://vs-hls-pushb-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:bbc_scotland_hd/pc_hd_abr_v2.m3u8 #EXTINF:-1 tvg-id="BBCScotland.uk",BBC Scotland HD (720p) [Geo-blocked] diff --git a/streams/us.m3u b/streams/us.m3u index 8fd9e11d4..094a47d1a 100644 --- a/streams/us.m3u +++ b/streams/us.m3u @@ -179,6 +179,10 @@ https://reflect-stream-bronxnet.cablecast.tv/live-18/live/live.m3u8 https://reflect-stream-bronxnet.cablecast.tv/live-16/live/live.m3u8 #EXTINF:-1 tvg-id="BYUTV.us",BYU TV (720p) https://content.uplynk.com/channel/2f29cb20fcb74f68a85c38b99ca384bc.m3u8 +#EXTINF:-1 tvg-id="CSPAN.us" http-referrer="https://pkpakiplay.xyz/" http-user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 17_7 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.0 Mobile/15E148 Safari/604.1",C-SPAN +#EXTVLCOPT:http-referrer=https://pkpakiplay.xyz/ +#EXTVLCOPT:http-user-agent=Mozilla/5.0 (iPhone; CPU iPhone OS 17_7 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.0 Mobile/15E148 Safari/604.1 +https://windnew.koskoros.ru/wind/premium750/mono.m3u8 #EXTINF:-1 tvg-id="CafeTradeTV.us",Cafe Trade TV (720p) https://cafetradehls.wns.live/hls/stream.m3u8 #EXTINF:-1 tvg-id="CaliforniaMusicChannel.us",California Music Channel (720p) [Not 24/7] @@ -233,6 +237,8 @@ https://cmc-ono.amagi.tv/playlist.m3u8 https://hwlive.streamingmediahosting.com/14215-live/0_obd393sh/playlist.m3u8 #EXTINF:-1 tvg-id="CNBCIndonesia.id",CNBC Indonesia (720p) https://live.cnbcindonesia.com/livecnbc/smil:cnbctv.smil/playlist.m3u8 +#EXTINF:-1 tvg-id="ConcertChannel.us",Concert Channel +http://45.228.233.254:18000/play/a04u/index.m3u8 #EXTINF:-1 tvg-id="CookingPanda.us",Cooking Panda (576p) https://stream-us-east-1.getpublica.com/playlist.m3u8?network_id=46 #EXTINF:-1 tvg-id="Cops.us",Cops (720p) @@ -287,6 +293,8 @@ http://media3.smc-host.com:1935/elbesharagtv.com/gtv.smil/playlist.m3u8 https://elec-en.otteravision.com/elec/en/elec_en.m3u8 #EXTINF:-1 tvg-id="EntertainmentTonight.us",Entertainment Tonight (720p) https://cbsta49f-cbsta49f-ms.global.ssl.fastly.net/amagi7b98-AmagiMixible/master/amagi7b98-AmagiMixible.m3u8 +#EXTINF:-1 tvg-id="ESNETV.us",ESNE TV (480p) +http://190.2.212.209:8050/play/a0na #EXTINF:-1 tvg-id="ESR24x7eSportsNetwork.us",ESR 24x7 eSports Network (1080p) https://eyeonesports.com/ES2RA-628g.m3u8 #EXTINF:-1 tvg-id="EternalLifeTVNetwork.us",Eternal Life TV Network (1080p) @@ -323,12 +331,16 @@ http://41.205.93.154/FOXBUSINESS/index.m3u8 #EXTVLCOPT:http-referrer=https://www.newslive.com/ #EXTVLCOPT:http-user-agent=Mozilla/5.0 (iPhone; CPU iPhone OS 17_7 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.0 Mobile/15E148 Safari/604.1 https://stream.livenewsplay.com:9443/hls/foxnews/foxsd.m3u8 +#EXTINF:-1 tvg-id="FoxNewsChannel.us",Fox News Channel (720p) +https://v1.thetvapp.to/hls/FoxNewsChannel/index.m3u8 #EXTINF:-1 tvg-id="FoxNewsChannel.us" http-referrer="https://pkpakiplay.xyz/" http-user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 17_7 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.0 Mobile/15E148 Safari/604.1",Fox News Channel (720p) #EXTVLCOPT:http-referrer=https://pkpakiplay.xyz/ #EXTVLCOPT:http-user-agent=Mozilla/5.0 (iPhone; CPU iPhone OS 17_7 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.0 Mobile/15E148 Safari/604.1 https://zekonew.koskoros.ru/zeko/premium347/mono.m3u8 #EXTINF:-1 tvg-id="FoxNewsChannel.us",Fox News Channel (144p) http://247preview.foxnews.com/hls/live/2020027/fncv3preview/primary.m3u8 +#EXTINF:-1 tvg-id="FoxNewsRadio.us",Fox News Radio (720p) +https://radiovid.foxnews.com/hls/live/661547/RADIOVID/index.m3u8 #EXTINF:-1 tvg-id="FoxWeather.us",Fox Weather (720p) https://247wlive.foxweather.com/stream/index.m3u8 #EXTINF:-1 tvg-id="FreeSpeechTV.us",Free Speech TV (720p) @@ -431,8 +443,12 @@ http://teleredmcp.com:1935/jrestv/jrestv/playlist.m3u8 https://livevideo01.kare11.com/hls/live/2014544/elvs/live.m3u8 #EXTINF:-1 tvg-id="KBMTDT1.us",KBMT-DT1 (1080p) https://livevideo01.12newsnow.com/hls/live/2017379/elvs/live.m3u8 +#EXTINF:-1 tvg-id="KCMNLD6.us",KCMN-LD6 (1080p) +https://cdn-uw2-prod.tsv2.amagi.tv/linear/amg02873-kravemedia-mtrspt1-distrotv/playlist.m3u8 #EXTINF:-1 tvg-id="KCTVDT1.us",KCTV-DT1 [Geo-blocked] https://cdn-uw2-prod.tsv2.amagi.tv/linear/amg00312-graytelevisioni-kctv5news-vizious/playlist.m3u8 +#EXTINF:-1 tvg-id="KetchupTV.us",Ketchup TV (720p) +https://stream.ads.ottera.tv/playlist.m3u8?network_id=13171 #EXTINF:-1 tvg-id="KFMBDT1.us",KFMB-DT1 (1080p) https://livevideo01.cbs8.com/hls/live/2014967/elvs/live.m3u8 #EXTINF:-1 tvg-id="KFSMDT1.us",KFSM-DT1 (1080p) @@ -479,6 +495,8 @@ https://1840769862.rsc.cdn77.org/FTF/LSN_SCTE.m3u8 https://livefta.malimarcdn.com/ftaedge00/laothaius.sdp/playlist.m3u8 #EXTINF:-1 tvg-id="LatinZone.us",Latin Zone TV (720p) https://cdn.streamingcpanel.com:3784/live/latinzonetvlive.m3u8 +#EXTINF:-1 tvg-id="LegoChannel.us",Lego Channel (1080p) +https://jmp2.uk/sam-GBBC4300005AL.m3u8 #EXTINF:-1 tvg-id="LifevisionTV.us",LifevisionTV (406p) [Not 24/7] https://tgn.bozztv.com/lifevision/lifevision/index.m3u8 #EXTINF:-1 tvg-id="LLBNHisLight.us",Lighting Lives Blessing Nations His Light (LLBN) (720p) @@ -521,6 +539,8 @@ https://cdn3.wowza.com/5/RGtVZkFxL3FOQkxX/LWU/ngrp:lwu.stream_all/playlist.m3u8 https://bozztv.com/gusa/gusa-mwg/index.m3u8 #EXTINF:-1 tvg-id="MajestadTV.us",Majestad Televisión (480p) [Not 24/7] https://livetv.305streamhd.com:3667/live/majestadtvlive.m3u8 +#EXTINF:-1 tvg-id="MarqueeSportsNetwork.us",Marquee Sports Network +https://v15.thetvapp.to/hls/marquee-sports-network/index.m3u8 #EXTINF:-1 tvg-id="",MAV Select CANADA https://d70mb4nkspm3g.cloudfront.net/v1/master/3722c60a815c199d9c0ef36c5b73da68a62b09d1/cc-vvwqo3j029lz0/playlist.m3u8 #EXTINF:-1 tvg-id="MAVTVSelect.us",MAV Select USA @@ -573,6 +593,8 @@ https://nbculocalfast.akamaized.net/hls/live/2096797/nbcchicago/master.m3u8 https://nbculocallive.akamaized.net/hls/live/2037098/sandiego/stream1/master.m3u8 #EXTINF:-1 tvg-id="NBCLX.us",NBCLX https://nbculocallive.akamaized.net/hls/live/2037096/lx/use1.m3u8 +#EXTINF:-1 tvg-id="NEWKPOP.us",NEW K-POP (1080p) +https://newidco-newkid-1-eu.xiaomi.wurl.tv/playlist.m3u8 #EXTINF:-1 tvg-id="Newsmax2.us",Newsmax 2 (720p) https://nmxlive.akamaized.net/hls/live/529965/Live_1/index.m3u8 #EXTINF:-1 tvg-id="NewsmaxTV.us",Newsmax TV (720p) @@ -725,6 +747,8 @@ https://content.uplynk.com/channel/f9aafa1f132e40af9b9e7238bc18d128.m3u8 https://tv2.fastcast4u.com:3238/live/radiotelebostonlive.m3u8 #EXTINF:-1 tvg-id="TelemundoCorpusChristi.us",Telemundo Corpus Christi https://content.uplynk.com/channel/b6a96ed39d694ae1b738faa98cf7dd3f.m3u8 +#EXTINF:-1 tvg-id="TelemundoInternacional.us",Telemundo Internacional (480p) +http://190.2.212.209:8050/play/a0oa #EXTINF:-1 tvg-id="TelemundoWest.us",Telemundo West (720p) https://content.uplynk.com/channel/b6a96ed39d694ae1b738faa98cf7dd3f.m3u8?delay=10800 #EXTINF:-1 tvg-id="TennisChannel.us",Tennis Channel (1080p) @@ -797,6 +821,8 @@ https://server80.servistreaming.com:3074/hybrid/play.m3u8 https://tstv-stream.tsm.utexas.edu/hls/livestream_hi/index.m3u8 #EXTINF:-1 tvg-id="TUDN.us",TUDN https://dai.google.com/linear/hls/event/LKaz-eTgQvawHshATl-Qdw/master.m3u8 +#EXTINF:-1 tvg-id="TUDN.us",TUDN (1080p) +https://tkx.mp.lura.live/rest/v2/mcp/video/adstkZj0NvKqzB6e?anvack=NVQrq6a3oZfdBzkefWT1rvdRCoj9XOyx&token=eyJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJOVlFycTZhM29aZmRCemtlZldUMXJ2ZFJDb2o5WE95eCIsImV4cCI6MTY1NjE5ODE4NSwiYWRfcGFycyI6eyJkZnAiOnsiaXVfdmFsdWVfZnJvbV9wYWdlIjoiL3VuZGVmaW5lZC9yZC51bml2aXNpb25fdmlkZW9fZGVwb3J0ZXMvZGFpIiwidXJsIjoiaHR0cHM6Ly93d3cudHVkbi5jb20vdHVkbi1saXZlc3RyZWFtLTI0LTciLCJwbGF5ZXJfd2lkdGgiOiI3NTMiLCJwbGF5ZXJfaGVpZ2h0IjoiNDI0IiwicHAiOiJEZXNrdG9wQml0UmF0ZXMiLCJtdnBkIjoidGVtcF9wYXNzIn19LCJ2aWQiOiJhZHN0a1pqME52S3F6QjZlIiwidXNlcl9wYXJzIjp7InByZWZlcnJlZF9jZG4iOnsibmFtZSI6ImFrYW1haSIsImZvcmNlIjp0cnVlfX19.Y9JMF-b_SUsCZ3WMkjU1cmNkiHvT7lmvYLsVbCx-Dhg #EXTINF:-1 tvg-id="TUTV.us",TUTV https://livestream.telvue.com/templeuni1/f7b44cfafd5c52223d5498196c8a2e7b.sdp/playlist.m3u8 #EXTINF:-1 tvg-id="TVSBowlingNetwork.us",TVS Bowling Network (720p) @@ -867,12 +893,18 @@ https://bozztv.com/gusa/gusa-tvswsn/index.m3u8 https://rpn.bozztv.com/gusa/gusa-ConsumerDirect/index.m3u8 #EXTINF:-1 tvg-id="UNWebTV.us",UN Web TV (540p) https://cdnapi.kaltura.com/p/2503451/sp/250345100/playManifest/entryId/1_gb6tjmle/protocol/https/format/applehttp/a.m3u8 +#EXTINF:-1 tvg-id="UniversalCinema.us",Universal Cinema (480p) +http://190.2.212.209:8050/play/a0q3 +#EXTINF:-1 tvg-id="UniversalComedy.us",Universal Comedy (480p) +http://190.2.212.209:8050/play/a0q4 #EXTINF:-1 tvg-id="VallenatoInternacional.us",Vallenato Internacional (720p) [Not 24/7] https://server80.servistreaming.com:3884/hybrid/play.m3u8 #EXTINF:-1 tvg-id="VBSTV.us",VBS TV (480p) [Not 24/7] http://uni6rtmp.tulix.tv:1935/vbstv/vbsabr.smil/playlist.m3u8 #EXTINF:-1 tvg-id="VelayatTVNetwork.us",Velayat TV (480p) https://nl.livekadeh.com/hls2/velayattv.m3u8 +#EXTINF:-1 tvg-id="VevoPop.us",Vevo Pop (1080p) +https://jmp2.uk/sam-GBBC19000017V.m3u8 #EXTINF:-1 tvg-id="VICETV.us",Vice East https://d2do1g43aq7264.cloudfront.net/playlist.m3u8 #EXTINF:-1 tvg-id="VictorValleyTV.us",Victor Valley Movies (1080p) [Not 24/7] @@ -903,6 +935,8 @@ https://livevideo01.10tv.com/hls/live/2013836/elvs/live.m3u8 https://livestream.pbskids.org/out/v1/1e3d77b418ad4a819b3f4c80ac0373b5/est_124.m3u8 #EXTINF:-1 tvg-id="WBZDT1.us",WBZ-DT1 (720p) http://143.244.60.30/CBSEAST/index.m3u8 +#EXTINF:-1 tvg-id="WCBSDT1.us",WCBS-DT1 (720p) +https://tvpass.org/live/WCBSDT1/hd #EXTINF:-1 tvg-id="WCNCDT1.us",WCNC-DT1 (1080p) https://livevideo01.wcnc.com/hls/live/2015505/elvs/live.m3u8 #EXTINF:-1 tvg-id="WeatherSpy.us",WeatherSpy (720p) @@ -975,42 +1009,8 @@ https://d1ewctnvcwvvvu.cloudfront.net/playlist.m3u8 https://thegateway.app/YouToo/CueTones/playlist.m3u8 #EXTINF:-1 tvg-id="YoutooAmerica.us",Youtoo America (1080p) https://thegateway.app/YouToo/YTamerica/playlist.m3u8 +#EXTINF:-1 tvg-id="YuGiOh.us",Yu-Gi-Oh! (1080p) +https://fastmedia-yu-gi-oh-1-gb.xiaomi.wurl.tv/playlist.m3u8 #EXTINF:-1 tvg-id="ZoomNews.us" http-referrer="https://zoomnews.info/",Zoom TV Kurdish (720p) #EXTVLCOPT:http-referrer=https://zoomnews.info/ https://live.zoomnews.info/live/Zoom_playlist.m3u8 -#EXTINF:-1 tvg-id="CSPAN.us" http-referrer="https://pkpakiplay.xyz/" http-user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 17_7 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.0 Mobile/15E148 Safari/604.1",C-SPAN -#EXTVLCOPT:http-referrer=https://pkpakiplay.xyz/ -#EXTVLCOPT:http-user-agent=Mozilla/5.0 (iPhone; CPU iPhone OS 17_7 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.0 Mobile/15E148 Safari/604.1 -https://windnew.koskoros.ru/wind/premium750/mono.m3u8 -#EXTINF:-1 tvg-id="WCBSDT1.us",WCBS-DT1 (720p) -https://tvpass.org/live/WCBSDT1/hd/ -#EXTINF:-1 tvg-id="NEWKPOP.us",NEW K-POP (1080p) -https://newidco-newkid-1-eu.xiaomi.wurl.tv/playlist.m3u8 -#EXTINF:-1 tvg-id="YuGiOh.us",Yu-Gi-Oh! (1080p) -https://fastmedia-yu-gi-oh-1-gb.xiaomi.wurl.tv/playlist.m3u8 -#EXTINF:-1 tvg-id="LegoChannel.us",Lego Channel (1080p) -https://jmp2.uk/sam-GBBC4300005AL.m3u8 -#EXTINF:-1 tvg-id="VevoPop.us",Vevo Pop (1080p) -https://jmp2.uk/sam-GBBC19000017V.m3u8 -#EXTINF:-1 tvg-id="UniversalCinema.us",Universal Cinema (480p) -http://190.2.212.209:8050/play/a0q3 -#EXTINF:-1 tvg-id="UniversalComedy.us",Universal Comedy (480p) -http://190.2.212.209:8050/play/a0q4 -#EXTINF:-1 tvg-id="ESNETV.us",ESNE TV (480p) -http://190.2.212.209:8050/play/a0na -#EXTINF:-1 tvg-id="TelemundoInternacional.us",Telemundo Internacional (480p) -http://190.2.212.209:8050/play/a0oa -#EXTINF:-1 tvg-id="TUDN.us",TUDN (1080p) -https://tkx.mp.lura.live/rest/v2/mcp/video/adstkZj0NvKqzB6e?anvack=NVQrq6a3oZfdBzkefWT1rvdRCoj9XOyx&token=eyJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJOVlFycTZhM29aZmRCemtlZldUMXJ2ZFJDb2o5WE95eCIsImV4cCI6MTY1NjE5ODE4NSwiYWRfcGFycyI6eyJkZnAiOnsiaXVfdmFsdWVfZnJvbV9wYWdlIjoiL3VuZGVmaW5lZC9yZC51bml2aXNpb25fdmlkZW9fZGVwb3J0ZXMvZGFpIiwidXJsIjoiaHR0cHM6Ly93d3cudHVkbi5jb20vdHVkbi1saXZlc3RyZWFtLTI0LTciLCJwbGF5ZXJfd2lkdGgiOiI3NTMiLCJwbGF5ZXJfaGVpZ2h0IjoiNDI0IiwicHAiOiJEZXNrdG9wQml0UmF0ZXMiLCJtdnBkIjoidGVtcF9wYXNzIn19LCJ2aWQiOiJhZHN0a1pqME52S3F6QjZlIiwidXNlcl9wYXJzIjp7InByZWZlcnJlZF9jZG4iOnsibmFtZSI6ImFrYW1haSIsImZvcmNlIjp0cnVlfX19.Y9JMF-b_SUsCZ3WMkjU1cmNkiHvT7lmvYLsVbCx-Dhg -#EXTINF:-1 tvg-id="ConcertChannel.us",Concert Channel -http://45.228.233.254:18000/play/a04u/index.m3u8 -#EXTINF:-1 tvg-id="KetchupTV.us",Ketchup TV (720p) -https://stream.ads.ottera.tv/playlist.m3u8?network_id=13171 -#EXTINF:-1 tvg-id="KCMNLD6.us",KCMN-LD6 (1080p) -https://cdn-uw2-prod.tsv2.amagi.tv/linear/amg02873-kravemedia-mtrspt1-distrotv/playlist.m3u8 -#EXTINF:-1 tvg-id="FoxNewsRadio.us",Fox News Radio (720p) -https://radiovid.foxnews.com/hls/live/661547/RADIOVID/index.m3u8 -#EXTINF:-1 tvg-id="FoxNewsChannel.us",Fox News Channel (720p) -https://v1.thetvapp.to/hls/FoxNewsChannel/index.m3u8 -#EXTINF:-1 tvg-id="MarqueeSportsNetwork.us",Marquee Sports Network -https://v15.thetvapp.to/hls/marquee-sports-network/index.m3u8 diff --git a/streams/ve.m3u b/streams/ve.m3u index 78ab49b20..20da61d9a 100644 --- a/streams/ve.m3u +++ b/streams/ve.m3u @@ -25,6 +25,8 @@ https://cloud.fastchannel.es/manifiest/hls/prog9/catatumbotv.m3u8 https://glb.bozztv.com/glb/ssh101/1234chivacoa/index.m3u8 #EXTINF:-1 tvg-id="EXCTV.ve",Explosión Creativa (720p) [Not 24/7] https://vcp.myplaytv.com/explosioncreativa/explosioncreativa/playlist.m3u8 +#EXTINF:-1 tvg-id="",GlobalTV (480p) +https://streamtv.intervenhosting.net:3179/live/globaltvlive.m3u8 #EXTINF:-1 tvg-id="GuaroTV.ve",Guaro TV (1080p) https://streamtv.intervenhosting.net:3592/live/guarotvbqtolive.m3u8 #EXTINF:-1 tvg-id="InterTV.ve",interTV (1080p) @@ -115,5 +117,3 @@ https://vod2live.univtec.com/manifest/4c41c0d8-e2e4-43cc-bd43-79afe715e1b3.m3u8 https://cloud.fastchannel.es/manifiest/hls/prog9/vepacotv.m3u8 #EXTINF:-1 tvg-id="VPItv.ve",VPItv (1080p) https://ott3.streann.com/loadbalancer/services/public/channels/5d23d5882cdce61dae029fd8/playlist.m3u8 -#EXTINF:-1 tvg-id="GlobalTV.ve",GlobalTV (480p) -https://streamtv.intervenhosting.net:3179/live/globaltvlive.m3u8 diff --git a/streams/vn.m3u b/streams/vn.m3u index 2e0ec7d16..fc45056c2 100644 --- a/streams/vn.m3u +++ b/streams/vn.m3u @@ -51,6 +51,8 @@ https://livefta.malimarcdn.com/ftaedge00/cvabroadcasting.stream/playlist.m3u8 https://vc.101vn.com/htv/htvcmb.php?id=2631 #EXTINF:-1 tvg-id="HTV7.vn",HTV7 (576p) http://125hvt.ddns.net:21585/htv7/tracks-v1a1/mono.m3u8 +#EXTINF:-1 tvg-id="HTV9.vn",HTV9 (576p) +http://125hvt.ddns.net:21585/htv9/index.m3u8 #EXTINF:-1 tvg-id="KhanhHoaTV.vn",Khanh Hoa TV (720p) http://210.245.20.94/hls/ktv1.m3u8 #EXTINF:-1 tvg-id="KienGiangTV.vn",KienGiangTV (1080p) [Geo-blocked] @@ -117,6 +119,10 @@ http://vinhphuctv.vn:8090/vinhphuclive/web.stream/playlist.m3u8 http://125hvt.ddns.net:21585/vtv1/tracks-v1a1/mono.m3u8 #EXTINF:-1 tvg-id="VTV2.vn",VTV2 (1080p) http://str1.cvtv.xyz/vtv2?token=live +#EXTINF:-1 tvg-id="VTV2.vn",VTV2 (1080p) [Geo-blocked] +https://live.fptplay53.net/fnxch2/vtv2hd_abr.smil/chunklist.m3u8 +#EXTINF:-1 tvg-id="VTV3.vn",VTV3 (1080p) [Geo-blocked] +https://live.fptplay53.net/fnxch2/vtv3hd_abr.smil/chunklist_b4200000.m3u8 #EXTINF:-1 tvg-id="VTV4.vn",VTV4 (576p) http://125hvt.ddns.net:21585/vtv4/tracks-v1a1/mono.m3u8 #EXTINF:-1 tvg-id="VTV5.vn",VTV5 @@ -129,13 +135,7 @@ https://liveh12.vtvcab.vn/hls/ONVTV5_CL/04.m3u8 https://liveh12.vtvcab.vn/hls/ONVTV5TNB_CL/04.m3u8 #EXTINF:-1 tvg-id="VTV9.vn",VTV9 (1080p) https://e2.endpoint.cdn.sctvonline.vn/hls/vtv9/index.m3u8 -#EXTINF:-1 tvg-id="VTVCanTho.vn",VTV Can Tho (720p) -http://125hvt.ddns.net:21585/vtv6/playlist.m3u8 #EXTINF:-1 tvg-id="VTV9.vn",VTV9 (576p) http://125hvt.ddns.net:21585/vtv9/tracks-v1a1/mono.m3u8 -#EXTINF:-1 tvg-id="VTV3.vn",VTV3 (1080p) [Geo-blocked] -https://live.fptplay53.net/fnxch2/vtv3hd_abr.smil/chunklist_b4200000.m3u8 -#EXTINF:-1 tvg-id="HTV9.vn",HTV9 (576p) -http://125hvt.ddns.net:21585/htv9/index.m3u8 -#EXTINF:-1 tvg-id="VTV2.vn",VTV2 (1080p) [Geo-blocked] -https://live.fptplay53.net/fnxch2/vtv2hd_abr.smil/chunklist.m3u8 +#EXTINF:-1 tvg-id="VTVCanTho.vn",VTV Can Tho (720p) +http://125hvt.ddns.net:21585/vtv6/playlist.m3u8 From a4c23f7eefa376107193fb733811636deebe5ee8 Mon Sep 17 00:00:00 2001 From: LEaver Date: Sat, 29 Mar 2025 14:37:05 +0800 Subject: [PATCH 13/85] Update my.m3u Added Malaysia 8TV --- streams/my.m3u | 2 ++ 1 file changed, 2 insertions(+) diff --git a/streams/my.m3u b/streams/my.m3u index 4b9d6ed1c..b521e72c7 100644 --- a/streams/my.m3u +++ b/streams/my.m3u @@ -44,5 +44,7 @@ https://tonton-live-switch-ssar.akamaized.net/stream-tv3/master.m3u8?bpkio_servi https://d25tgymtnqzu8s.cloudfront.net/smil:tv6/playlist.m3u8?id=6 #EXTINF:-1 tvg-id="TV9.my",TV9 https://tonton-live-switch-ssar.akamaized.net/stream-tv9/master.m3u8?bpkio_serviceid=6c0958d82a830a02ca0936d9cfab8311 +#EXTINF:-1 tvg-id="8TV.my",8TV +https://tonton-live-switch-ssar.akamaized.net/stream-8tv/master.m3u8?bpkio_serviceid=6c0958d82a830a02ca0936d9cfab8311 #EXTINF:-1 tvg-id="TVIKIM.my",TVIKIM https://edge-sg1.vediostream.com/abr/tvikim/playlist.m3u8 From 03bee94a6402502cc0200dcdfb46fb19d723ca1e Mon Sep 17 00:00:00 2001 From: freearhey <7253922+freearhey@users.noreply.github.com> Date: Sat, 29 Mar 2025 11:38:31 +0300 Subject: [PATCH 14/85] Update dependencies --- package-lock.json | 30 +++++++++++++++++++++++------- package.json | 2 +- yarn.lock | 14 ++++++++++---- 3 files changed, 34 insertions(+), 12 deletions(-) diff --git a/package-lock.json b/package-lock.json index 94161cfca..a9d29de73 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10,7 +10,7 @@ "dependencies": { "@eslint/eslintrc": "^3.3.0", "@eslint/js": "^9.21.0", - "@freearhey/core": "^0.2.1", + "@freearhey/core": "^0.7.0", "@octokit/core": "^6.1.4", "@octokit/plugin-paginate-rest": "^11.4.3", "@octokit/plugin-rest-endpoint-methods": "^7.1.3", @@ -1063,9 +1063,9 @@ } }, "node_modules/@freearhey/core": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/@freearhey/core/-/core-0.2.1.tgz", - "integrity": "sha512-kEdIxZClykKhGpgyCSlkwuVuSCCAWr3J5YvOUMJQDPgVAYvT5VbD8MYKPm+OwNi9T4HFmF6qqY90qwKJPoOXCA==", + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/@freearhey/core/-/core-0.7.0.tgz", + "integrity": "sha512-HXkKPYGY7ife7JAc1q/Qxzy0WUdSnyt3rHThCShZHgnH3rz0tpkjHFW7LNegB3he0IKn/Zc95/YSOQ97Fq8ctA==", "dependencies": { "@types/fs-extra": "^11.0.2", "@types/lodash": "^4.14.198", @@ -1078,6 +1078,7 @@ "node-gzip": "^1.1.2", "normalize-url": "^6.1.0", "object-treeify": "^2.1.1", + "run-script-os": "^1.1.6", "signale": "^1.4.0" } }, @@ -6059,6 +6060,15 @@ "queue-microtask": "^1.2.2" } }, + "node_modules/run-script-os": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/run-script-os/-/run-script-os-1.1.6.tgz", + "integrity": "sha512-ql6P2LzhBTTDfzKts+Qo4H94VUKpxKDFz6QxxwaUZN0mwvi7L3lpOI7BqPCq7lgDh3XLl0dpeXwfcVIitlrYrw==", + "bin": { + "run-os": "index.js", + "run-script-os": "index.js" + } + }, "node_modules/semver": { "version": "7.6.3", "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", @@ -7455,9 +7465,9 @@ } }, "@freearhey/core": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/@freearhey/core/-/core-0.2.1.tgz", - "integrity": "sha512-kEdIxZClykKhGpgyCSlkwuVuSCCAWr3J5YvOUMJQDPgVAYvT5VbD8MYKPm+OwNi9T4HFmF6qqY90qwKJPoOXCA==", + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/@freearhey/core/-/core-0.7.0.tgz", + "integrity": "sha512-HXkKPYGY7ife7JAc1q/Qxzy0WUdSnyt3rHThCShZHgnH3rz0tpkjHFW7LNegB3he0IKn/Zc95/YSOQ97Fq8ctA==", "requires": { "@types/fs-extra": "^11.0.2", "@types/lodash": "^4.14.198", @@ -7470,6 +7480,7 @@ "node-gzip": "^1.1.2", "normalize-url": "^6.1.0", "object-treeify": "^2.1.1", + "run-script-os": "^1.1.6", "signale": "^1.4.0" }, "dependencies": { @@ -11122,6 +11133,11 @@ "queue-microtask": "^1.2.2" } }, + "run-script-os": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/run-script-os/-/run-script-os-1.1.6.tgz", + "integrity": "sha512-ql6P2LzhBTTDfzKts+Qo4H94VUKpxKDFz6QxxwaUZN0mwvi7L3lpOI7BqPCq7lgDh3XLl0dpeXwfcVIitlrYrw==" + }, "semver": { "version": "7.6.3", "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", diff --git a/package.json b/package.json index 7db699386..d3aec1ea8 100644 --- a/package.json +++ b/package.json @@ -39,7 +39,7 @@ "dependencies": { "@eslint/eslintrc": "^3.3.0", "@eslint/js": "^9.21.0", - "@freearhey/core": "^0.2.1", + "@freearhey/core": "^0.7.0", "@octokit/core": "^6.1.4", "@octokit/plugin-paginate-rest": "^11.4.3", "@octokit/plugin-rest-endpoint-methods": "^7.1.3", diff --git a/yarn.lock b/yarn.lock index 06a905285..82088c20d 100644 --- a/yarn.lock +++ b/yarn.lock @@ -366,10 +366,10 @@ "@eslint/core" "^0.12.0" levn "^0.4.1" -"@freearhey/core@^0.2.1": - version "0.2.1" - resolved "https://registry.npmjs.org/@freearhey/core/-/core-0.2.1.tgz" - integrity sha512-kEdIxZClykKhGpgyCSlkwuVuSCCAWr3J5YvOUMJQDPgVAYvT5VbD8MYKPm+OwNi9T4HFmF6qqY90qwKJPoOXCA== +"@freearhey/core@^0.7.0": + version "0.7.0" + resolved "https://registry.npmjs.org/@freearhey/core/-/core-0.7.0.tgz" + integrity sha512-HXkKPYGY7ife7JAc1q/Qxzy0WUdSnyt3rHThCShZHgnH3rz0tpkjHFW7LNegB3he0IKn/Zc95/YSOQ97Fq8ctA== dependencies: "@types/fs-extra" "^11.0.2" "@types/lodash" "^4.14.198" @@ -382,6 +382,7 @@ node-gzip "^1.1.2" normalize-url "^6.1.0" object-treeify "^2.1.1" + run-script-os "^1.1.6" signale "^1.4.0" "@humanfs/core@^0.19.1": @@ -3435,6 +3436,11 @@ run-parallel@^1.1.9: dependencies: queue-microtask "^1.2.2" +run-script-os@^1.1.6: + version "1.1.6" + resolved "https://registry.npmjs.org/run-script-os/-/run-script-os-1.1.6.tgz" + integrity sha512-ql6P2LzhBTTDfzKts+Qo4H94VUKpxKDFz6QxxwaUZN0mwvi7L3lpOI7BqPCq7lgDh3XLl0dpeXwfcVIitlrYrw== + semver@^6.3.0: version "6.3.1" resolved "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz" From 32e38bda52c3dbee1a8ba042233eb88ddba73679 Mon Sep 17 00:00:00 2001 From: freearhey <7253922+freearhey@users.noreply.github.com> Date: Sat, 29 Mar 2025 11:39:02 +0300 Subject: [PATCH 15/85] Update tests/__data__ --- tests/__data__/expected/.api/streams.json | 1 - .../expected/.gh-pages/categories/general.m3u | 5 - .../.gh-pages/categories/legislative.m3u | 1 - .../expected/.gh-pages/categories/news.m3u | 3 - .../.gh-pages/categories/undefined.m3u | 11 - .../expected/.gh-pages/categories/weather.m3u | 3 - .../expected/.gh-pages/categories/xxx.m3u | 3 - .../expected/.gh-pages/countries/ad.m3u | 5 - .../expected/.gh-pages/countries/ca.m3u | 3 - .../expected/.gh-pages/countries/in.m3u | 3 - .../expected/.gh-pages/countries/ru.m3u | 3 - .../expected/.gh-pages/index.category.m3u | 19 - .../expected/.gh-pages/index.country.m3u | 17 - .../expected/.gh-pages/index.language.m3u | 17 - tests/__data__/expected/.gh-pages/index.m3u | 17 - .../expected/.gh-pages/index.region.m3u | 45 - .../expected/.gh-pages/languages/eng.m3u | 3 - .../expected/.gh-pages/languages/rus.m3u | 3 - .../.gh-pages/languages/undefined.m3u | 11 - .../expected/.gh-pages/regions/afr.m3u | 1 - .../expected/.gh-pages/regions/amer.m3u | 3 - .../expected/.gh-pages/regions/apac.m3u | 3 - .../expected/.gh-pages/regions/arab.m3u | 1 - .../expected/.gh-pages/regions/asia.m3u | 5 - .../expected/.gh-pages/regions/carib.m3u | 1 - .../expected/.gh-pages/regions/cas.m3u | 1 - .../expected/.gh-pages/regions/cis.m3u | 3 - .../expected/.gh-pages/regions/emea.m3u | 7 - .../expected/.gh-pages/regions/eur.m3u | 7 - .../expected/.gh-pages/regions/hispam.m3u | 1 - .../expected/.gh-pages/regions/lac.m3u | 1 - .../expected/.gh-pages/regions/latam.m3u | 1 - .../expected/.gh-pages/regions/maghreb.m3u | 1 - .../expected/.gh-pages/regions/mena.m3u | 1 - .../expected/.gh-pages/regions/mideast.m3u | 1 - .../expected/.gh-pages/regions/nam.m3u | 3 - .../expected/.gh-pages/regions/noram.m3u | 3 - .../expected/.gh-pages/regions/nord.m3u | 1 - .../expected/.gh-pages/regions/oce.m3u | 1 - .../expected/.gh-pages/regions/sas.m3u | 3 - .../expected/.gh-pages/regions/ssa.m3u | 1 - .../expected/.gh-pages/regions/wafr.m3u | 1 - .../expected/.gh-pages/subdivisions/ca-on.m3u | 3 - tests/__data__/expected/logs/generators.log | 70 -- .../in.m3u | 0 .../nl.m3u | 4 +- .../playlist_generate/logs/generators.log | 71 ++ .../__data__/expected/playlist_update/cy.m3u | 3 + .../fr.m3u | 2 +- .../uk.m3u | 0 .../us.m3u | 2 +- .../expected/{ => readme_update}/_readme.md | 4 +- tests/__data__/expected/streams_update/cy.m3u | 1 - .../{streams_generate => api_generate}/ad.m3u | 2 +- .../{streams_generate => api_generate}/ca.m3u | 0 .../{streams_generate => api_generate}/in.m3u | 0 .../{streams_generate => api_generate}/uk.m3u | 0 .../unsorted.m3u | 0 tests/__data__/input/data/blocklist.json | 2 +- tests/__data__/input/data/channels.json | 593 +------------ tests/__data__/input/data/feeds.json | 802 ++++++++++++++++++ tests/__data__/input/data/languages.json | 2 +- tests/__data__/input/data/timezones.json | 1 + tests/__data__/input/logs/generators.log | 73 -- .../in.m3u | 0 .../nl.m3u | 4 +- tests/__data__/input/playlist_generate/ad.m3u | 5 + tests/__data__/input/playlist_generate/ca.m3u | 3 + tests/__data__/input/playlist_generate/in.m3u | 3 + tests/__data__/input/playlist_generate/uk.m3u | 3 + .../input/playlist_generate/unsorted.m3u | 9 + .../{streams_test => playlist_test}/ag.m3u | 2 +- .../all.js => playlist_test/results.js} | 0 .../br.m3u | 0 .../cy.m3u | 2 + .../all.js => playlist_update/issues.js} | 151 +--- .../uk.m3u | 0 .../us_blocked.m3u | 2 +- .../wrong_id.m3u | 0 .../{ => readme_update}/.readme/config.json | 0 .../{ => readme_update}/.readme/template.md | 0 .../input/readme_update/generators.log | 75 ++ .../{streams_update => report_create}/br.m3u | 0 .../{streams_report => report_create}/cy.m3u | 0 .../{streams_update => report_create}/uk.m3u | 0 .../{streams_report => report_create}/us.m3u | 0 86 files changed, 1037 insertions(+), 1081 deletions(-) delete mode 100644 tests/__data__/expected/.api/streams.json delete mode 100644 tests/__data__/expected/.gh-pages/categories/general.m3u delete mode 100644 tests/__data__/expected/.gh-pages/categories/legislative.m3u delete mode 100644 tests/__data__/expected/.gh-pages/categories/news.m3u delete mode 100644 tests/__data__/expected/.gh-pages/categories/undefined.m3u delete mode 100644 tests/__data__/expected/.gh-pages/categories/weather.m3u delete mode 100644 tests/__data__/expected/.gh-pages/categories/xxx.m3u delete mode 100644 tests/__data__/expected/.gh-pages/countries/ad.m3u delete mode 100644 tests/__data__/expected/.gh-pages/countries/ca.m3u delete mode 100644 tests/__data__/expected/.gh-pages/countries/in.m3u delete mode 100644 tests/__data__/expected/.gh-pages/countries/ru.m3u delete mode 100644 tests/__data__/expected/.gh-pages/index.category.m3u delete mode 100644 tests/__data__/expected/.gh-pages/index.country.m3u delete mode 100644 tests/__data__/expected/.gh-pages/index.language.m3u delete mode 100644 tests/__data__/expected/.gh-pages/index.m3u delete mode 100644 tests/__data__/expected/.gh-pages/index.region.m3u delete mode 100644 tests/__data__/expected/.gh-pages/languages/eng.m3u delete mode 100644 tests/__data__/expected/.gh-pages/languages/rus.m3u delete mode 100644 tests/__data__/expected/.gh-pages/languages/undefined.m3u delete mode 100644 tests/__data__/expected/.gh-pages/regions/afr.m3u delete mode 100644 tests/__data__/expected/.gh-pages/regions/amer.m3u delete mode 100644 tests/__data__/expected/.gh-pages/regions/apac.m3u delete mode 100644 tests/__data__/expected/.gh-pages/regions/arab.m3u delete mode 100644 tests/__data__/expected/.gh-pages/regions/asia.m3u delete mode 100644 tests/__data__/expected/.gh-pages/regions/carib.m3u delete mode 100644 tests/__data__/expected/.gh-pages/regions/cas.m3u delete mode 100644 tests/__data__/expected/.gh-pages/regions/cis.m3u delete mode 100644 tests/__data__/expected/.gh-pages/regions/emea.m3u delete mode 100644 tests/__data__/expected/.gh-pages/regions/eur.m3u delete mode 100644 tests/__data__/expected/.gh-pages/regions/hispam.m3u delete mode 100644 tests/__data__/expected/.gh-pages/regions/lac.m3u delete mode 100644 tests/__data__/expected/.gh-pages/regions/latam.m3u delete mode 100644 tests/__data__/expected/.gh-pages/regions/maghreb.m3u delete mode 100644 tests/__data__/expected/.gh-pages/regions/mena.m3u delete mode 100644 tests/__data__/expected/.gh-pages/regions/mideast.m3u delete mode 100644 tests/__data__/expected/.gh-pages/regions/nam.m3u delete mode 100644 tests/__data__/expected/.gh-pages/regions/noram.m3u delete mode 100644 tests/__data__/expected/.gh-pages/regions/nord.m3u delete mode 100644 tests/__data__/expected/.gh-pages/regions/oce.m3u delete mode 100644 tests/__data__/expected/.gh-pages/regions/sas.m3u delete mode 100644 tests/__data__/expected/.gh-pages/regions/ssa.m3u delete mode 100644 tests/__data__/expected/.gh-pages/regions/wafr.m3u delete mode 100644 tests/__data__/expected/.gh-pages/subdivisions/ca-on.m3u delete mode 100644 tests/__data__/expected/logs/generators.log rename tests/__data__/expected/{streams_format => playlist_format}/in.m3u (100%) rename tests/__data__/expected/{streams_format => playlist_format}/nl.m3u (77%) create mode 100644 tests/__data__/expected/playlist_generate/logs/generators.log create mode 100644 tests/__data__/expected/playlist_update/cy.m3u rename tests/__data__/expected/{streams_update => playlist_update}/fr.m3u (51%) rename tests/__data__/expected/{streams_update => playlist_update}/uk.m3u (100%) rename tests/__data__/expected/{streams_update => playlist_update}/us.m3u (65%) rename tests/__data__/expected/{ => readme_update}/_readme.md (97%) delete mode 100644 tests/__data__/expected/streams_update/cy.m3u rename tests/__data__/input/{streams_generate => api_generate}/ad.m3u (78%) rename tests/__data__/input/{streams_generate => api_generate}/ca.m3u (100%) rename tests/__data__/input/{streams_generate => api_generate}/in.m3u (100%) rename tests/__data__/input/{streams_generate => api_generate}/uk.m3u (100%) rename tests/__data__/input/{streams_generate => api_generate}/unsorted.m3u (100%) create mode 100644 tests/__data__/input/data/feeds.json create mode 100644 tests/__data__/input/data/timezones.json delete mode 100644 tests/__data__/input/logs/generators.log rename tests/__data__/input/{streams_format => playlist_format}/in.m3u (100%) rename tests/__data__/input/{streams_format => playlist_format}/nl.m3u (76%) create mode 100644 tests/__data__/input/playlist_generate/ad.m3u create mode 100644 tests/__data__/input/playlist_generate/ca.m3u create mode 100644 tests/__data__/input/playlist_generate/in.m3u create mode 100644 tests/__data__/input/playlist_generate/uk.m3u create mode 100644 tests/__data__/input/playlist_generate/unsorted.m3u rename tests/__data__/input/{streams_test => playlist_test}/ag.m3u (86%) rename tests/__data__/input/{test_results/all.js => playlist_test/results.js} (100%) rename tests/__data__/input/{streams_report => playlist_update}/br.m3u (100%) rename tests/__data__/input/{streams_update => playlist_update}/cy.m3u (62%) rename tests/__data__/input/{issues/all.js => playlist_update/issues.js} (87%) rename tests/__data__/input/{streams_report => playlist_update}/uk.m3u (100%) rename tests/__data__/input/{streams_validate => playlist_validate}/us_blocked.m3u (75%) rename tests/__data__/input/{streams_validate => playlist_validate}/wrong_id.m3u (100%) rename tests/__data__/input/{ => readme_update}/.readme/config.json (100%) rename tests/__data__/input/{ => readme_update}/.readme/template.md (100%) create mode 100644 tests/__data__/input/readme_update/generators.log rename tests/__data__/input/{streams_update => report_create}/br.m3u (100%) rename tests/__data__/input/{streams_report => report_create}/cy.m3u (100%) rename tests/__data__/input/{streams_update => report_create}/uk.m3u (100%) rename tests/__data__/input/{streams_report => report_create}/us.m3u (100%) diff --git a/tests/__data__/expected/.api/streams.json b/tests/__data__/expected/.api/streams.json deleted file mode 100644 index 2dfb3cd3e..000000000 --- a/tests/__data__/expected/.api/streams.json +++ /dev/null @@ -1 +0,0 @@ -[{"channel":null,"url":"http://51.15.246.58:8081/daawahtv/daawahtv2/playlist.m3u8","referrer":null,"user_agent":null},{"channel":null,"url":"http://1111296894.rsc.cdn77.org/LS-ATL-54548-6/index2.m3u8","referrer":"http://imn.iq","user_agent":"Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148"},{"channel":"AndorraTV.ad","url":"https://iptv-all.lanesh4d0w.repl.co/andorra/atv","referrer":null,"user_agent":null},{"channel":"BBCNews.uk","url":"http://1111296894.rsc.cdn77.org/LS-ATL-54548-6/index.m3u8","referrer":null,"user_agent":null},{"channel":"LDPRTV.ru","url":"http://46.46.143.222:1935/live/mp4:ldpr.stream/blocked.m3u8","referrer":null,"user_agent":null},{"channel":"MeteoMedia.ca","url":"http://encodercdn1.frontline.ca/encoder181/output/Meteo_Media_720p/playlist.m3u8","referrer":null,"user_agent":null},{"channel":"VisitXTV.nl","url":"https://stream.visit-x.tv/vxtv/ngrp:live_all/30fps.m3u8","referrer":null,"user_agent":null},{"channel":"Zoo.ad","url":"https://iptv-all.lanesh4d0w.repl.co/andorra/zoo","referrer":null,"user_agent":null}] \ No newline at end of file diff --git a/tests/__data__/expected/.gh-pages/categories/general.m3u b/tests/__data__/expected/.gh-pages/categories/general.m3u deleted file mode 100644 index d3b81a411..000000000 --- a/tests/__data__/expected/.gh-pages/categories/general.m3u +++ /dev/null @@ -1,5 +0,0 @@ -#EXTM3U -#EXTINF:-1 tvg-id="BBCNews.uk" tvg-logo="https://raw.githubusercontent.com/Tapiosinn/tv-logos/master/countries/united-kingdom/bbc-news-uk.png" group-title="General;News",BBC News HD -http://1111296894.rsc.cdn77.org/LS-ATL-54548-6/index.m3u8 -#EXTINF:-1 tvg-id="LDPRTV.ru" tvg-logo="https://iptvx.one/icn/ldpr-tv.png" group-title="General",ЛДПР ТВ (1080p) -http://46.46.143.222:1935/live/mp4:ldpr.stream/blocked.m3u8 diff --git a/tests/__data__/expected/.gh-pages/categories/legislative.m3u b/tests/__data__/expected/.gh-pages/categories/legislative.m3u deleted file mode 100644 index fcd718794..000000000 --- a/tests/__data__/expected/.gh-pages/categories/legislative.m3u +++ /dev/null @@ -1 +0,0 @@ -#EXTM3U diff --git a/tests/__data__/expected/.gh-pages/categories/news.m3u b/tests/__data__/expected/.gh-pages/categories/news.m3u deleted file mode 100644 index cf4e62a9a..000000000 --- a/tests/__data__/expected/.gh-pages/categories/news.m3u +++ /dev/null @@ -1,3 +0,0 @@ -#EXTM3U -#EXTINF:-1 tvg-id="BBCNews.uk" tvg-logo="https://raw.githubusercontent.com/Tapiosinn/tv-logos/master/countries/united-kingdom/bbc-news-uk.png" group-title="General;News",BBC News HD -http://1111296894.rsc.cdn77.org/LS-ATL-54548-6/index.m3u8 diff --git a/tests/__data__/expected/.gh-pages/categories/undefined.m3u b/tests/__data__/expected/.gh-pages/categories/undefined.m3u deleted file mode 100644 index 33ab86e59..000000000 --- a/tests/__data__/expected/.gh-pages/categories/undefined.m3u +++ /dev/null @@ -1,11 +0,0 @@ -#EXTM3U -#EXTINF:-1 tvg-id="" tvg-logo="" group-title="Undefined" http-referrer="http://imn.iq" http-user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148",Andorra TV (720p) [Not 24/7] -#EXTVLCOPT:http-referrer=http://imn.iq -#EXTVLCOPT:http-user-agent=Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 -http://1111296894.rsc.cdn77.org/LS-ATL-54548-6/index2.m3u8 -#EXTINF:-1 tvg-id="AndorraTV.ad" tvg-logo="" group-title="Undefined",ATV -https://iptv-all.lanesh4d0w.repl.co/andorra/atv -#EXTINF:-1 tvg-id="" tvg-logo="" group-title="Undefined",Daawah TV -http://51.15.246.58:8081/daawahtv/daawahtv2/playlist.m3u8 -#EXTINF:-1 tvg-id="Zoo.ad" tvg-logo="" group-title="Undefined",Zoo (720p) -https://iptv-all.lanesh4d0w.repl.co/andorra/zoo diff --git a/tests/__data__/expected/.gh-pages/categories/weather.m3u b/tests/__data__/expected/.gh-pages/categories/weather.m3u deleted file mode 100644 index 4686c68f4..000000000 --- a/tests/__data__/expected/.gh-pages/categories/weather.m3u +++ /dev/null @@ -1,3 +0,0 @@ -#EXTM3U -#EXTINF:-1 tvg-id="MeteoMedia.ca" tvg-logo="https://s1.twnmm.com/images/en_ca/mobile/logos/twn-mobile-logo.png" group-title="Weather",Meteomedia -http://encodercdn1.frontline.ca/encoder181/output/Meteo_Media_720p/playlist.m3u8 diff --git a/tests/__data__/expected/.gh-pages/categories/xxx.m3u b/tests/__data__/expected/.gh-pages/categories/xxx.m3u deleted file mode 100644 index d1e3a69bc..000000000 --- a/tests/__data__/expected/.gh-pages/categories/xxx.m3u +++ /dev/null @@ -1,3 +0,0 @@ -#EXTM3U -#EXTINF:-1 tvg-id="VisitXTV.nl" tvg-logo="https://i.imgur.com/RJ9wbNF.jpg" group-title="XXX",Visit-X TV -https://stream.visit-x.tv/vxtv/ngrp:live_all/30fps.m3u8 diff --git a/tests/__data__/expected/.gh-pages/countries/ad.m3u b/tests/__data__/expected/.gh-pages/countries/ad.m3u deleted file mode 100644 index ea69856d8..000000000 --- a/tests/__data__/expected/.gh-pages/countries/ad.m3u +++ /dev/null @@ -1,5 +0,0 @@ -#EXTM3U -#EXTINF:-1 tvg-id="AndorraTV.ad" tvg-logo="" group-title="Undefined",ATV -https://iptv-all.lanesh4d0w.repl.co/andorra/atv -#EXTINF:-1 tvg-id="Zoo.ad" tvg-logo="" group-title="Undefined",Zoo (720p) -https://iptv-all.lanesh4d0w.repl.co/andorra/zoo diff --git a/tests/__data__/expected/.gh-pages/countries/ca.m3u b/tests/__data__/expected/.gh-pages/countries/ca.m3u deleted file mode 100644 index 4686c68f4..000000000 --- a/tests/__data__/expected/.gh-pages/countries/ca.m3u +++ /dev/null @@ -1,3 +0,0 @@ -#EXTM3U -#EXTINF:-1 tvg-id="MeteoMedia.ca" tvg-logo="https://s1.twnmm.com/images/en_ca/mobile/logos/twn-mobile-logo.png" group-title="Weather",Meteomedia -http://encodercdn1.frontline.ca/encoder181/output/Meteo_Media_720p/playlist.m3u8 diff --git a/tests/__data__/expected/.gh-pages/countries/in.m3u b/tests/__data__/expected/.gh-pages/countries/in.m3u deleted file mode 100644 index 4708e622d..000000000 --- a/tests/__data__/expected/.gh-pages/countries/in.m3u +++ /dev/null @@ -1,3 +0,0 @@ -#EXTM3U -#EXTINF:-1 tvg-id="" tvg-logo="" group-title="Undefined",Daawah TV -http://51.15.246.58:8081/daawahtv/daawahtv2/playlist.m3u8 diff --git a/tests/__data__/expected/.gh-pages/countries/ru.m3u b/tests/__data__/expected/.gh-pages/countries/ru.m3u deleted file mode 100644 index cbfde9249..000000000 --- a/tests/__data__/expected/.gh-pages/countries/ru.m3u +++ /dev/null @@ -1,3 +0,0 @@ -#EXTM3U -#EXTINF:-1 tvg-id="LDPRTV.ru" tvg-logo="https://iptvx.one/icn/ldpr-tv.png" group-title="General",ЛДПР ТВ (1080p) -http://46.46.143.222:1935/live/mp4:ldpr.stream/blocked.m3u8 diff --git a/tests/__data__/expected/.gh-pages/index.category.m3u b/tests/__data__/expected/.gh-pages/index.category.m3u deleted file mode 100644 index f63d34846..000000000 --- a/tests/__data__/expected/.gh-pages/index.category.m3u +++ /dev/null @@ -1,19 +0,0 @@ -#EXTM3U -#EXTINF:-1 tvg-id="BBCNews.uk" tvg-logo="https://raw.githubusercontent.com/Tapiosinn/tv-logos/master/countries/united-kingdom/bbc-news-uk.png" group-title="General",BBC News HD -http://1111296894.rsc.cdn77.org/LS-ATL-54548-6/index.m3u8 -#EXTINF:-1 tvg-id="LDPRTV.ru" tvg-logo="https://iptvx.one/icn/ldpr-tv.png" group-title="General",ЛДПР ТВ (1080p) -http://46.46.143.222:1935/live/mp4:ldpr.stream/blocked.m3u8 -#EXTINF:-1 tvg-id="BBCNews.uk" tvg-logo="https://raw.githubusercontent.com/Tapiosinn/tv-logos/master/countries/united-kingdom/bbc-news-uk.png" group-title="News",BBC News HD -http://1111296894.rsc.cdn77.org/LS-ATL-54548-6/index.m3u8 -#EXTINF:-1 tvg-id="MeteoMedia.ca" tvg-logo="https://s1.twnmm.com/images/en_ca/mobile/logos/twn-mobile-logo.png" group-title="Weather",Meteomedia -http://encodercdn1.frontline.ca/encoder181/output/Meteo_Media_720p/playlist.m3u8 -#EXTINF:-1 tvg-id="" tvg-logo="" group-title="Undefined" http-referrer="http://imn.iq" http-user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148",Andorra TV (720p) [Not 24/7] -#EXTVLCOPT:http-referrer=http://imn.iq -#EXTVLCOPT:http-user-agent=Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 -http://1111296894.rsc.cdn77.org/LS-ATL-54548-6/index2.m3u8 -#EXTINF:-1 tvg-id="AndorraTV.ad" tvg-logo="" group-title="Undefined",ATV -https://iptv-all.lanesh4d0w.repl.co/andorra/atv -#EXTINF:-1 tvg-id="" tvg-logo="" group-title="Undefined",Daawah TV -http://51.15.246.58:8081/daawahtv/daawahtv2/playlist.m3u8 -#EXTINF:-1 tvg-id="Zoo.ad" tvg-logo="" group-title="Undefined",Zoo (720p) -https://iptv-all.lanesh4d0w.repl.co/andorra/zoo diff --git a/tests/__data__/expected/.gh-pages/index.country.m3u b/tests/__data__/expected/.gh-pages/index.country.m3u deleted file mode 100644 index 2df73910b..000000000 --- a/tests/__data__/expected/.gh-pages/index.country.m3u +++ /dev/null @@ -1,17 +0,0 @@ -#EXTM3U -#EXTINF:-1 tvg-id="AndorraTV.ad" tvg-logo="" group-title="Andorra",ATV -https://iptv-all.lanesh4d0w.repl.co/andorra/atv -#EXTINF:-1 tvg-id="Zoo.ad" tvg-logo="" group-title="Andorra",Zoo (720p) -https://iptv-all.lanesh4d0w.repl.co/andorra/zoo -#EXTINF:-1 tvg-id="MeteoMedia.ca" tvg-logo="https://s1.twnmm.com/images/en_ca/mobile/logos/twn-mobile-logo.png" group-title="Canada",Meteomedia -http://encodercdn1.frontline.ca/encoder181/output/Meteo_Media_720p/playlist.m3u8 -#EXTINF:-1 tvg-id="" tvg-logo="" group-title="India",Daawah TV -http://51.15.246.58:8081/daawahtv/daawahtv2/playlist.m3u8 -#EXTINF:-1 tvg-id="LDPRTV.ru" tvg-logo="https://iptvx.one/icn/ldpr-tv.png" group-title="Russia",ЛДПР ТВ (1080p) -http://46.46.143.222:1935/live/mp4:ldpr.stream/blocked.m3u8 -#EXTINF:-1 tvg-id="BBCNews.uk" tvg-logo="https://raw.githubusercontent.com/Tapiosinn/tv-logos/master/countries/united-kingdom/bbc-news-uk.png" group-title="International",BBC News HD -http://1111296894.rsc.cdn77.org/LS-ATL-54548-6/index.m3u8 -#EXTINF:-1 tvg-id="" tvg-logo="" group-title="Undefined" http-referrer="http://imn.iq" http-user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148",Andorra TV (720p) [Not 24/7] -#EXTVLCOPT:http-referrer=http://imn.iq -#EXTVLCOPT:http-user-agent=Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 -http://1111296894.rsc.cdn77.org/LS-ATL-54548-6/index2.m3u8 diff --git a/tests/__data__/expected/.gh-pages/index.language.m3u b/tests/__data__/expected/.gh-pages/index.language.m3u deleted file mode 100644 index 94479bedb..000000000 --- a/tests/__data__/expected/.gh-pages/index.language.m3u +++ /dev/null @@ -1,17 +0,0 @@ -#EXTM3U -#EXTINF:-1 tvg-id="BBCNews.uk" tvg-logo="https://raw.githubusercontent.com/Tapiosinn/tv-logos/master/countries/united-kingdom/bbc-news-uk.png" group-title="English",BBC News HD -http://1111296894.rsc.cdn77.org/LS-ATL-54548-6/index.m3u8 -#EXTINF:-1 tvg-id="LDPRTV.ru" tvg-logo="https://iptvx.one/icn/ldpr-tv.png" group-title="Russian",ЛДПР ТВ (1080p) -http://46.46.143.222:1935/live/mp4:ldpr.stream/blocked.m3u8 -#EXTINF:-1 tvg-id="AndorraTV.ad" tvg-logo="" group-title="Valencian",ATV -https://iptv-all.lanesh4d0w.repl.co/andorra/atv -#EXTINF:-1 tvg-id="" tvg-logo="" group-title="Undefined" http-referrer="http://imn.iq" http-user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148",Andorra TV (720p) [Not 24/7] -#EXTVLCOPT:http-referrer=http://imn.iq -#EXTVLCOPT:http-user-agent=Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 -http://1111296894.rsc.cdn77.org/LS-ATL-54548-6/index2.m3u8 -#EXTINF:-1 tvg-id="" tvg-logo="" group-title="Undefined",Daawah TV -http://51.15.246.58:8081/daawahtv/daawahtv2/playlist.m3u8 -#EXTINF:-1 tvg-id="MeteoMedia.ca" tvg-logo="https://s1.twnmm.com/images/en_ca/mobile/logos/twn-mobile-logo.png" group-title="Undefined",Meteomedia -http://encodercdn1.frontline.ca/encoder181/output/Meteo_Media_720p/playlist.m3u8 -#EXTINF:-1 tvg-id="Zoo.ad" tvg-logo="" group-title="Undefined",Zoo (720p) -https://iptv-all.lanesh4d0w.repl.co/andorra/zoo diff --git a/tests/__data__/expected/.gh-pages/index.m3u b/tests/__data__/expected/.gh-pages/index.m3u deleted file mode 100644 index 52b63d17a..000000000 --- a/tests/__data__/expected/.gh-pages/index.m3u +++ /dev/null @@ -1,17 +0,0 @@ -#EXTM3U -#EXTINF:-1 tvg-id="" tvg-logo="" group-title="Undefined" http-referrer="http://imn.iq" http-user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148",Andorra TV (720p) [Not 24/7] -#EXTVLCOPT:http-referrer=http://imn.iq -#EXTVLCOPT:http-user-agent=Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 -http://1111296894.rsc.cdn77.org/LS-ATL-54548-6/index2.m3u8 -#EXTINF:-1 tvg-id="AndorraTV.ad" tvg-logo="" group-title="Undefined",ATV -https://iptv-all.lanesh4d0w.repl.co/andorra/atv -#EXTINF:-1 tvg-id="BBCNews.uk" tvg-logo="https://raw.githubusercontent.com/Tapiosinn/tv-logos/master/countries/united-kingdom/bbc-news-uk.png" group-title="General;News",BBC News HD -http://1111296894.rsc.cdn77.org/LS-ATL-54548-6/index.m3u8 -#EXTINF:-1 tvg-id="" tvg-logo="" group-title="Undefined",Daawah TV -http://51.15.246.58:8081/daawahtv/daawahtv2/playlist.m3u8 -#EXTINF:-1 tvg-id="MeteoMedia.ca" tvg-logo="https://s1.twnmm.com/images/en_ca/mobile/logos/twn-mobile-logo.png" group-title="Weather",Meteomedia -http://encodercdn1.frontline.ca/encoder181/output/Meteo_Media_720p/playlist.m3u8 -#EXTINF:-1 tvg-id="Zoo.ad" tvg-logo="" group-title="Undefined",Zoo (720p) -https://iptv-all.lanesh4d0w.repl.co/andorra/zoo -#EXTINF:-1 tvg-id="LDPRTV.ru" tvg-logo="https://iptvx.one/icn/ldpr-tv.png" group-title="General",ЛДПР ТВ (1080p) -http://46.46.143.222:1935/live/mp4:ldpr.stream/blocked.m3u8 diff --git a/tests/__data__/expected/.gh-pages/index.region.m3u b/tests/__data__/expected/.gh-pages/index.region.m3u deleted file mode 100644 index c1594ab58..000000000 --- a/tests/__data__/expected/.gh-pages/index.region.m3u +++ /dev/null @@ -1,45 +0,0 @@ -#EXTM3U -#EXTINF:-1 tvg-id="MeteoMedia.ca" tvg-logo="https://s1.twnmm.com/images/en_ca/mobile/logos/twn-mobile-logo.png" group-title="Americas",Meteomedia -http://encodercdn1.frontline.ca/encoder181/output/Meteo_Media_720p/playlist.m3u8 -#EXTINF:-1 tvg-id="" tvg-logo="" group-title="Asia",Daawah TV -http://51.15.246.58:8081/daawahtv/daawahtv2/playlist.m3u8 -#EXTINF:-1 tvg-id="LDPRTV.ru" tvg-logo="https://iptvx.one/icn/ldpr-tv.png" group-title="Asia",ЛДПР ТВ (1080p) -http://46.46.143.222:1935/live/mp4:ldpr.stream/blocked.m3u8 -#EXTINF:-1 tvg-id="" tvg-logo="" group-title="Asia-Pacific",Daawah TV -http://51.15.246.58:8081/daawahtv/daawahtv2/playlist.m3u8 -#EXTINF:-1 tvg-id="LDPRTV.ru" tvg-logo="https://iptvx.one/icn/ldpr-tv.png" group-title="Commonwealth of Independent States",ЛДПР ТВ (1080p) -http://46.46.143.222:1935/live/mp4:ldpr.stream/blocked.m3u8 -#EXTINF:-1 tvg-id="AndorraTV.ad" tvg-logo="" group-title="Europe",ATV -https://iptv-all.lanesh4d0w.repl.co/andorra/atv -#EXTINF:-1 tvg-id="Zoo.ad" tvg-logo="" group-title="Europe",Zoo (720p) -https://iptv-all.lanesh4d0w.repl.co/andorra/zoo -#EXTINF:-1 tvg-id="LDPRTV.ru" tvg-logo="https://iptvx.one/icn/ldpr-tv.png" group-title="Europe",ЛДПР ТВ (1080p) -http://46.46.143.222:1935/live/mp4:ldpr.stream/blocked.m3u8 -#EXTINF:-1 tvg-id="AndorraTV.ad" tvg-logo="" group-title="Europe, the Middle East and Africa",ATV -https://iptv-all.lanesh4d0w.repl.co/andorra/atv -#EXTINF:-1 tvg-id="Zoo.ad" tvg-logo="" group-title="Europe, the Middle East and Africa",Zoo (720p) -https://iptv-all.lanesh4d0w.repl.co/andorra/zoo -#EXTINF:-1 tvg-id="LDPRTV.ru" tvg-logo="https://iptvx.one/icn/ldpr-tv.png" group-title="Europe, the Middle East and Africa",ЛДПР ТВ (1080p) -http://46.46.143.222:1935/live/mp4:ldpr.stream/blocked.m3u8 -#EXTINF:-1 tvg-id="MeteoMedia.ca" tvg-logo="https://s1.twnmm.com/images/en_ca/mobile/logos/twn-mobile-logo.png" group-title="North America",Meteomedia -http://encodercdn1.frontline.ca/encoder181/output/Meteo_Media_720p/playlist.m3u8 -#EXTINF:-1 tvg-id="MeteoMedia.ca" tvg-logo="https://s1.twnmm.com/images/en_ca/mobile/logos/twn-mobile-logo.png" group-title="Northern America",Meteomedia -http://encodercdn1.frontline.ca/encoder181/output/Meteo_Media_720p/playlist.m3u8 -#EXTINF:-1 tvg-id="" tvg-logo="" group-title="South Asia",Daawah TV -http://51.15.246.58:8081/daawahtv/daawahtv2/playlist.m3u8 -#EXTINF:-1 tvg-id="AndorraTV.ad" tvg-logo="" group-title="Worldwide",ATV -https://iptv-all.lanesh4d0w.repl.co/andorra/atv -#EXTINF:-1 tvg-id="BBCNews.uk" tvg-logo="https://raw.githubusercontent.com/Tapiosinn/tv-logos/master/countries/united-kingdom/bbc-news-uk.png" group-title="Worldwide",BBC News HD -http://1111296894.rsc.cdn77.org/LS-ATL-54548-6/index.m3u8 -#EXTINF:-1 tvg-id="" tvg-logo="" group-title="Worldwide",Daawah TV -http://51.15.246.58:8081/daawahtv/daawahtv2/playlist.m3u8 -#EXTINF:-1 tvg-id="MeteoMedia.ca" tvg-logo="https://s1.twnmm.com/images/en_ca/mobile/logos/twn-mobile-logo.png" group-title="Worldwide",Meteomedia -http://encodercdn1.frontline.ca/encoder181/output/Meteo_Media_720p/playlist.m3u8 -#EXTINF:-1 tvg-id="Zoo.ad" tvg-logo="" group-title="Worldwide",Zoo (720p) -https://iptv-all.lanesh4d0w.repl.co/andorra/zoo -#EXTINF:-1 tvg-id="LDPRTV.ru" tvg-logo="https://iptvx.one/icn/ldpr-tv.png" group-title="Worldwide",ЛДПР ТВ (1080p) -http://46.46.143.222:1935/live/mp4:ldpr.stream/blocked.m3u8 -#EXTINF:-1 tvg-id="" tvg-logo="" group-title="Undefined" http-referrer="http://imn.iq" http-user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148",Andorra TV (720p) [Not 24/7] -#EXTVLCOPT:http-referrer=http://imn.iq -#EXTVLCOPT:http-user-agent=Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 -http://1111296894.rsc.cdn77.org/LS-ATL-54548-6/index2.m3u8 diff --git a/tests/__data__/expected/.gh-pages/languages/eng.m3u b/tests/__data__/expected/.gh-pages/languages/eng.m3u deleted file mode 100644 index cf4e62a9a..000000000 --- a/tests/__data__/expected/.gh-pages/languages/eng.m3u +++ /dev/null @@ -1,3 +0,0 @@ -#EXTM3U -#EXTINF:-1 tvg-id="BBCNews.uk" tvg-logo="https://raw.githubusercontent.com/Tapiosinn/tv-logos/master/countries/united-kingdom/bbc-news-uk.png" group-title="General;News",BBC News HD -http://1111296894.rsc.cdn77.org/LS-ATL-54548-6/index.m3u8 diff --git a/tests/__data__/expected/.gh-pages/languages/rus.m3u b/tests/__data__/expected/.gh-pages/languages/rus.m3u deleted file mode 100644 index cbfde9249..000000000 --- a/tests/__data__/expected/.gh-pages/languages/rus.m3u +++ /dev/null @@ -1,3 +0,0 @@ -#EXTM3U -#EXTINF:-1 tvg-id="LDPRTV.ru" tvg-logo="https://iptvx.one/icn/ldpr-tv.png" group-title="General",ЛДПР ТВ (1080p) -http://46.46.143.222:1935/live/mp4:ldpr.stream/blocked.m3u8 diff --git a/tests/__data__/expected/.gh-pages/languages/undefined.m3u b/tests/__data__/expected/.gh-pages/languages/undefined.m3u deleted file mode 100644 index 7267ae5e1..000000000 --- a/tests/__data__/expected/.gh-pages/languages/undefined.m3u +++ /dev/null @@ -1,11 +0,0 @@ -#EXTM3U -#EXTINF:-1 tvg-id="" tvg-logo="" group-title="Undefined" http-referrer="http://imn.iq" http-user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148",Andorra TV (720p) [Not 24/7] -#EXTVLCOPT:http-referrer=http://imn.iq -#EXTVLCOPT:http-user-agent=Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 -http://1111296894.rsc.cdn77.org/LS-ATL-54548-6/index2.m3u8 -#EXTINF:-1 tvg-id="" tvg-logo="" group-title="Undefined",Daawah TV -http://51.15.246.58:8081/daawahtv/daawahtv2/playlist.m3u8 -#EXTINF:-1 tvg-id="MeteoMedia.ca" tvg-logo="https://s1.twnmm.com/images/en_ca/mobile/logos/twn-mobile-logo.png" group-title="Weather",Meteomedia -http://encodercdn1.frontline.ca/encoder181/output/Meteo_Media_720p/playlist.m3u8 -#EXTINF:-1 tvg-id="Zoo.ad" tvg-logo="" group-title="Undefined",Zoo (720p) -https://iptv-all.lanesh4d0w.repl.co/andorra/zoo diff --git a/tests/__data__/expected/.gh-pages/regions/afr.m3u b/tests/__data__/expected/.gh-pages/regions/afr.m3u deleted file mode 100644 index fcd718794..000000000 --- a/tests/__data__/expected/.gh-pages/regions/afr.m3u +++ /dev/null @@ -1 +0,0 @@ -#EXTM3U diff --git a/tests/__data__/expected/.gh-pages/regions/amer.m3u b/tests/__data__/expected/.gh-pages/regions/amer.m3u deleted file mode 100644 index 4686c68f4..000000000 --- a/tests/__data__/expected/.gh-pages/regions/amer.m3u +++ /dev/null @@ -1,3 +0,0 @@ -#EXTM3U -#EXTINF:-1 tvg-id="MeteoMedia.ca" tvg-logo="https://s1.twnmm.com/images/en_ca/mobile/logos/twn-mobile-logo.png" group-title="Weather",Meteomedia -http://encodercdn1.frontline.ca/encoder181/output/Meteo_Media_720p/playlist.m3u8 diff --git a/tests/__data__/expected/.gh-pages/regions/apac.m3u b/tests/__data__/expected/.gh-pages/regions/apac.m3u deleted file mode 100644 index 4708e622d..000000000 --- a/tests/__data__/expected/.gh-pages/regions/apac.m3u +++ /dev/null @@ -1,3 +0,0 @@ -#EXTM3U -#EXTINF:-1 tvg-id="" tvg-logo="" group-title="Undefined",Daawah TV -http://51.15.246.58:8081/daawahtv/daawahtv2/playlist.m3u8 diff --git a/tests/__data__/expected/.gh-pages/regions/arab.m3u b/tests/__data__/expected/.gh-pages/regions/arab.m3u deleted file mode 100644 index fcd718794..000000000 --- a/tests/__data__/expected/.gh-pages/regions/arab.m3u +++ /dev/null @@ -1 +0,0 @@ -#EXTM3U diff --git a/tests/__data__/expected/.gh-pages/regions/asia.m3u b/tests/__data__/expected/.gh-pages/regions/asia.m3u deleted file mode 100644 index 27e5170bd..000000000 --- a/tests/__data__/expected/.gh-pages/regions/asia.m3u +++ /dev/null @@ -1,5 +0,0 @@ -#EXTM3U -#EXTINF:-1 tvg-id="" tvg-logo="" group-title="Undefined",Daawah TV -http://51.15.246.58:8081/daawahtv/daawahtv2/playlist.m3u8 -#EXTINF:-1 tvg-id="LDPRTV.ru" tvg-logo="https://iptvx.one/icn/ldpr-tv.png" group-title="General",ЛДПР ТВ (1080p) -http://46.46.143.222:1935/live/mp4:ldpr.stream/blocked.m3u8 diff --git a/tests/__data__/expected/.gh-pages/regions/carib.m3u b/tests/__data__/expected/.gh-pages/regions/carib.m3u deleted file mode 100644 index fcd718794..000000000 --- a/tests/__data__/expected/.gh-pages/regions/carib.m3u +++ /dev/null @@ -1 +0,0 @@ -#EXTM3U diff --git a/tests/__data__/expected/.gh-pages/regions/cas.m3u b/tests/__data__/expected/.gh-pages/regions/cas.m3u deleted file mode 100644 index fcd718794..000000000 --- a/tests/__data__/expected/.gh-pages/regions/cas.m3u +++ /dev/null @@ -1 +0,0 @@ -#EXTM3U diff --git a/tests/__data__/expected/.gh-pages/regions/cis.m3u b/tests/__data__/expected/.gh-pages/regions/cis.m3u deleted file mode 100644 index cbfde9249..000000000 --- a/tests/__data__/expected/.gh-pages/regions/cis.m3u +++ /dev/null @@ -1,3 +0,0 @@ -#EXTM3U -#EXTINF:-1 tvg-id="LDPRTV.ru" tvg-logo="https://iptvx.one/icn/ldpr-tv.png" group-title="General",ЛДПР ТВ (1080p) -http://46.46.143.222:1935/live/mp4:ldpr.stream/blocked.m3u8 diff --git a/tests/__data__/expected/.gh-pages/regions/emea.m3u b/tests/__data__/expected/.gh-pages/regions/emea.m3u deleted file mode 100644 index 6b40ee03c..000000000 --- a/tests/__data__/expected/.gh-pages/regions/emea.m3u +++ /dev/null @@ -1,7 +0,0 @@ -#EXTM3U -#EXTINF:-1 tvg-id="AndorraTV.ad" tvg-logo="" group-title="Undefined",ATV -https://iptv-all.lanesh4d0w.repl.co/andorra/atv -#EXTINF:-1 tvg-id="Zoo.ad" tvg-logo="" group-title="Undefined",Zoo (720p) -https://iptv-all.lanesh4d0w.repl.co/andorra/zoo -#EXTINF:-1 tvg-id="LDPRTV.ru" tvg-logo="https://iptvx.one/icn/ldpr-tv.png" group-title="General",ЛДПР ТВ (1080p) -http://46.46.143.222:1935/live/mp4:ldpr.stream/blocked.m3u8 diff --git a/tests/__data__/expected/.gh-pages/regions/eur.m3u b/tests/__data__/expected/.gh-pages/regions/eur.m3u deleted file mode 100644 index 6b40ee03c..000000000 --- a/tests/__data__/expected/.gh-pages/regions/eur.m3u +++ /dev/null @@ -1,7 +0,0 @@ -#EXTM3U -#EXTINF:-1 tvg-id="AndorraTV.ad" tvg-logo="" group-title="Undefined",ATV -https://iptv-all.lanesh4d0w.repl.co/andorra/atv -#EXTINF:-1 tvg-id="Zoo.ad" tvg-logo="" group-title="Undefined",Zoo (720p) -https://iptv-all.lanesh4d0w.repl.co/andorra/zoo -#EXTINF:-1 tvg-id="LDPRTV.ru" tvg-logo="https://iptvx.one/icn/ldpr-tv.png" group-title="General",ЛДПР ТВ (1080p) -http://46.46.143.222:1935/live/mp4:ldpr.stream/blocked.m3u8 diff --git a/tests/__data__/expected/.gh-pages/regions/hispam.m3u b/tests/__data__/expected/.gh-pages/regions/hispam.m3u deleted file mode 100644 index fcd718794..000000000 --- a/tests/__data__/expected/.gh-pages/regions/hispam.m3u +++ /dev/null @@ -1 +0,0 @@ -#EXTM3U diff --git a/tests/__data__/expected/.gh-pages/regions/lac.m3u b/tests/__data__/expected/.gh-pages/regions/lac.m3u deleted file mode 100644 index fcd718794..000000000 --- a/tests/__data__/expected/.gh-pages/regions/lac.m3u +++ /dev/null @@ -1 +0,0 @@ -#EXTM3U diff --git a/tests/__data__/expected/.gh-pages/regions/latam.m3u b/tests/__data__/expected/.gh-pages/regions/latam.m3u deleted file mode 100644 index fcd718794..000000000 --- a/tests/__data__/expected/.gh-pages/regions/latam.m3u +++ /dev/null @@ -1 +0,0 @@ -#EXTM3U diff --git a/tests/__data__/expected/.gh-pages/regions/maghreb.m3u b/tests/__data__/expected/.gh-pages/regions/maghreb.m3u deleted file mode 100644 index fcd718794..000000000 --- a/tests/__data__/expected/.gh-pages/regions/maghreb.m3u +++ /dev/null @@ -1 +0,0 @@ -#EXTM3U diff --git a/tests/__data__/expected/.gh-pages/regions/mena.m3u b/tests/__data__/expected/.gh-pages/regions/mena.m3u deleted file mode 100644 index fcd718794..000000000 --- a/tests/__data__/expected/.gh-pages/regions/mena.m3u +++ /dev/null @@ -1 +0,0 @@ -#EXTM3U diff --git a/tests/__data__/expected/.gh-pages/regions/mideast.m3u b/tests/__data__/expected/.gh-pages/regions/mideast.m3u deleted file mode 100644 index fcd718794..000000000 --- a/tests/__data__/expected/.gh-pages/regions/mideast.m3u +++ /dev/null @@ -1 +0,0 @@ -#EXTM3U diff --git a/tests/__data__/expected/.gh-pages/regions/nam.m3u b/tests/__data__/expected/.gh-pages/regions/nam.m3u deleted file mode 100644 index 4686c68f4..000000000 --- a/tests/__data__/expected/.gh-pages/regions/nam.m3u +++ /dev/null @@ -1,3 +0,0 @@ -#EXTM3U -#EXTINF:-1 tvg-id="MeteoMedia.ca" tvg-logo="https://s1.twnmm.com/images/en_ca/mobile/logos/twn-mobile-logo.png" group-title="Weather",Meteomedia -http://encodercdn1.frontline.ca/encoder181/output/Meteo_Media_720p/playlist.m3u8 diff --git a/tests/__data__/expected/.gh-pages/regions/noram.m3u b/tests/__data__/expected/.gh-pages/regions/noram.m3u deleted file mode 100644 index 4686c68f4..000000000 --- a/tests/__data__/expected/.gh-pages/regions/noram.m3u +++ /dev/null @@ -1,3 +0,0 @@ -#EXTM3U -#EXTINF:-1 tvg-id="MeteoMedia.ca" tvg-logo="https://s1.twnmm.com/images/en_ca/mobile/logos/twn-mobile-logo.png" group-title="Weather",Meteomedia -http://encodercdn1.frontline.ca/encoder181/output/Meteo_Media_720p/playlist.m3u8 diff --git a/tests/__data__/expected/.gh-pages/regions/nord.m3u b/tests/__data__/expected/.gh-pages/regions/nord.m3u deleted file mode 100644 index fcd718794..000000000 --- a/tests/__data__/expected/.gh-pages/regions/nord.m3u +++ /dev/null @@ -1 +0,0 @@ -#EXTM3U diff --git a/tests/__data__/expected/.gh-pages/regions/oce.m3u b/tests/__data__/expected/.gh-pages/regions/oce.m3u deleted file mode 100644 index fcd718794..000000000 --- a/tests/__data__/expected/.gh-pages/regions/oce.m3u +++ /dev/null @@ -1 +0,0 @@ -#EXTM3U diff --git a/tests/__data__/expected/.gh-pages/regions/sas.m3u b/tests/__data__/expected/.gh-pages/regions/sas.m3u deleted file mode 100644 index 4708e622d..000000000 --- a/tests/__data__/expected/.gh-pages/regions/sas.m3u +++ /dev/null @@ -1,3 +0,0 @@ -#EXTM3U -#EXTINF:-1 tvg-id="" tvg-logo="" group-title="Undefined",Daawah TV -http://51.15.246.58:8081/daawahtv/daawahtv2/playlist.m3u8 diff --git a/tests/__data__/expected/.gh-pages/regions/ssa.m3u b/tests/__data__/expected/.gh-pages/regions/ssa.m3u deleted file mode 100644 index fcd718794..000000000 --- a/tests/__data__/expected/.gh-pages/regions/ssa.m3u +++ /dev/null @@ -1 +0,0 @@ -#EXTM3U diff --git a/tests/__data__/expected/.gh-pages/regions/wafr.m3u b/tests/__data__/expected/.gh-pages/regions/wafr.m3u deleted file mode 100644 index fcd718794..000000000 --- a/tests/__data__/expected/.gh-pages/regions/wafr.m3u +++ /dev/null @@ -1 +0,0 @@ -#EXTM3U diff --git a/tests/__data__/expected/.gh-pages/subdivisions/ca-on.m3u b/tests/__data__/expected/.gh-pages/subdivisions/ca-on.m3u deleted file mode 100644 index 4686c68f4..000000000 --- a/tests/__data__/expected/.gh-pages/subdivisions/ca-on.m3u +++ /dev/null @@ -1,3 +0,0 @@ -#EXTM3U -#EXTINF:-1 tvg-id="MeteoMedia.ca" tvg-logo="https://s1.twnmm.com/images/en_ca/mobile/logos/twn-mobile-logo.png" group-title="Weather",Meteomedia -http://encodercdn1.frontline.ca/encoder181/output/Meteo_Media_720p/playlist.m3u8 diff --git a/tests/__data__/expected/logs/generators.log b/tests/__data__/expected/logs/generators.log deleted file mode 100644 index 6bb3175f4..000000000 --- a/tests/__data__/expected/logs/generators.log +++ /dev/null @@ -1,70 +0,0 @@ -{"filepath":"categories/auto.m3u","count":0} -{"filepath":"categories/animation.m3u","count":0} -{"filepath":"categories/business.m3u","count":0} -{"filepath":"categories/classic.m3u","count":0} -{"filepath":"categories/comedy.m3u","count":0} -{"filepath":"categories/cooking.m3u","count":0} -{"filepath":"categories/culture.m3u","count":0} -{"filepath":"categories/documentary.m3u","count":0} -{"filepath":"categories/education.m3u","count":0} -{"filepath":"categories/entertainment.m3u","count":0} -{"filepath":"categories/family.m3u","count":0} -{"filepath":"categories/general.m3u","count":2} -{"filepath":"categories/kids.m3u","count":0} -{"filepath":"categories/legislative.m3u","count":0} -{"filepath":"categories/lifestyle.m3u","count":0} -{"filepath":"categories/movies.m3u","count":0} -{"filepath":"categories/music.m3u","count":0} -{"filepath":"categories/news.m3u","count":1} -{"filepath":"categories/outdoor.m3u","count":0} -{"filepath":"categories/relax.m3u","count":0} -{"filepath":"categories/religious.m3u","count":0} -{"filepath":"categories/series.m3u","count":0} -{"filepath":"categories/science.m3u","count":0} -{"filepath":"categories/shop.m3u","count":0} -{"filepath":"categories/sports.m3u","count":0} -{"filepath":"categories/travel.m3u","count":0} -{"filepath":"categories/weather.m3u","count":1} -{"filepath":"categories/xxx.m3u","count":1} -{"filepath":"categories/undefined.m3u","count":4} -{"filepath":"countries/ad.m3u","count":2} -{"filepath":"countries/ca.m3u","count":1} -{"filepath":"subdivisions/ca-on.m3u","count":1} -{"filepath":"countries/in.m3u","count":1} -{"filepath":"countries/ru.m3u","count":1} -{"filepath":"countries/int.m3u","count":1} -{"filepath":"index.category.m3u","count":8} -{"filepath":"index.country.m3u","count":7} -{"filepath":"index.language.m3u","count":7} -{"filepath":"index.m3u","count":7} -{"filepath":"index.region.m3u","count":21} -{"filepath":"languages/eng.m3u","count":1} -{"filepath":"languages/rus.m3u","count":1} -{"filepath":"languages/cat.m3u","count":1} -{"filepath":"languages/undefined.m3u","count":4} -{"filepath":"regions/afr.m3u","count":0} -{"filepath":"regions/amer.m3u","count":1} -{"filepath":"regions/apac.m3u","count":1} -{"filepath":"regions/arab.m3u","count":0} -{"filepath":"regions/asean.m3u","count":0} -{"filepath":"regions/asia.m3u","count":2} -{"filepath":"regions/carib.m3u","count":0} -{"filepath":"regions/cas.m3u","count":0} -{"filepath":"regions/cenamer.m3u","count":0} -{"filepath":"regions/cis.m3u","count":1} -{"filepath":"regions/emea.m3u","count":3} -{"filepath":"regions/eur.m3u","count":3} -{"filepath":"regions/hispam.m3u","count":0} -{"filepath":"regions/lac.m3u","count":0} -{"filepath":"regions/latam.m3u","count":0} -{"filepath":"regions/maghreb.m3u","count":0} -{"filepath":"regions/mena.m3u","count":0} -{"filepath":"regions/mideast.m3u","count":0} -{"filepath":"regions/nam.m3u","count":1} -{"filepath":"regions/noram.m3u","count":1} -{"filepath":"regions/nord.m3u","count":0} -{"filepath":"regions/oce.m3u","count":0} -{"filepath":"regions/sas.m3u","count":1} -{"filepath":"regions/southam.m3u","count":0} -{"filepath":"regions/ssa.m3u","count":0} -{"filepath":"regions/wafr.m3u","count":0} diff --git a/tests/__data__/expected/streams_format/in.m3u b/tests/__data__/expected/playlist_format/in.m3u similarity index 100% rename from tests/__data__/expected/streams_format/in.m3u rename to tests/__data__/expected/playlist_format/in.m3u diff --git a/tests/__data__/expected/streams_format/nl.m3u b/tests/__data__/expected/playlist_format/nl.m3u similarity index 77% rename from tests/__data__/expected/streams_format/nl.m3u rename to tests/__data__/expected/playlist_format/nl.m3u index 2eef58b98..8f1e0ba2a 100644 --- a/tests/__data__/expected/streams_format/nl.m3u +++ b/tests/__data__/expected/playlist_format/nl.m3u @@ -1,5 +1,5 @@ #EXTM3U -#EXTINF:-1 tvg-id="NPO1.nl",NPO 1 (342p) [Geo-blocked] +#EXTINF:-1 tvg-id="NPO1.nl@SD",NPO 1 (342p) [Geo-blocked] http://resolver.streaming.api.nos.nl/livestream?url=/live/npo/tvlive/npo1/npo1.isml/.m3u8 #EXTINF:-1 tvg-id="NPO2.nl",NPO 2 (342p) http://resolver.streaming.api.nos.nl/livestream?url=/live/npo/tvlive/npo2/npo2.isml/.m3u8 @@ -7,3 +7,5 @@ http://resolver.streaming.api.nos.nl/livestream?url=/live/npo/tvlive/npo2/npo2.i #EXTVLCOPT:http-referrer=http://imn.iq #EXTVLCOPT:http-user-agent=Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 http://stream.tvtap.net:8081/live/nl-npo2.stream/playlist.m3u8 +#EXTINF:-1 tvg-id="NPO2.nl",NPO 2 [Geo-blocked] +http://resolver.streaming.api.nos.nl/livestream?url=/live/npo/tvlive/npo2/npo22.isml/.m3u8 diff --git a/tests/__data__/expected/playlist_generate/logs/generators.log b/tests/__data__/expected/playlist_generate/logs/generators.log new file mode 100644 index 000000000..fddee804f --- /dev/null +++ b/tests/__data__/expected/playlist_generate/logs/generators.log @@ -0,0 +1,71 @@ +{"type":"category","filepath":"categories/auto.m3u","count":0} +{"type":"category","filepath":"categories/animation.m3u","count":0} +{"type":"category","filepath":"categories/business.m3u","count":0} +{"type":"category","filepath":"categories/classic.m3u","count":0} +{"type":"category","filepath":"categories/comedy.m3u","count":0} +{"type":"category","filepath":"categories/cooking.m3u","count":0} +{"type":"category","filepath":"categories/culture.m3u","count":0} +{"type":"category","filepath":"categories/documentary.m3u","count":0} +{"type":"category","filepath":"categories/education.m3u","count":0} +{"type":"category","filepath":"categories/entertainment.m3u","count":0} +{"type":"category","filepath":"categories/family.m3u","count":0} +{"type":"category","filepath":"categories/general.m3u","count":2} +{"type":"category","filepath":"categories/kids.m3u","count":0} +{"type":"category","filepath":"categories/legislative.m3u","count":0} +{"type":"category","filepath":"categories/lifestyle.m3u","count":0} +{"type":"category","filepath":"categories/movies.m3u","count":0} +{"type":"category","filepath":"categories/music.m3u","count":0} +{"type":"category","filepath":"categories/news.m3u","count":1} +{"type":"category","filepath":"categories/outdoor.m3u","count":0} +{"type":"category","filepath":"categories/relax.m3u","count":0} +{"type":"category","filepath":"categories/religious.m3u","count":0} +{"type":"category","filepath":"categories/series.m3u","count":0} +{"type":"category","filepath":"categories/science.m3u","count":0} +{"type":"category","filepath":"categories/shop.m3u","count":0} +{"type":"category","filepath":"categories/sports.m3u","count":0} +{"type":"category","filepath":"categories/travel.m3u","count":0} +{"type":"category","filepath":"categories/weather.m3u","count":1} +{"type":"category","filepath":"categories/xxx.m3u","count":1} +{"type":"category","filepath":"categories/undefined.m3u","count":4} +{"type":"country","filepath":"countries/ad.m3u","count":2} +{"type":"country","filepath":"countries/ca.m3u","count":1} +{"type":"subdivision","filepath":"subdivisions/ca-on.m3u","count":1} +{"type":"country","filepath":"countries/ru.m3u","count":1} +{"type":"country","filepath":"countries/undefined.m3u","count":2} +{"type":"index","filepath":"index.category.m3u","count":8} +{"type":"index","filepath":"index.country.m3u","count":7} +{"type":"index","filepath":"index.language.m3u","count":7} +{"type":"index","filepath":"index.m3u","count":7} +{"type":"index","filepath":"index.region.m3u","count":18} +{"type":"language","filepath":"languages/eng.m3u","count":1} +{"type":"language","filepath":"languages/rus.m3u","count":1} +{"type":"language","filepath":"languages/cat.m3u","count":1} +{"type":"language","filepath":"languages/undefined.m3u","count":4} +{"type":"region","filepath":"regions/afr.m3u","count":0} +{"type":"region","filepath":"regions/amer.m3u","count":1} +{"type":"region","filepath":"regions/apac.m3u","count":0} +{"type":"region","filepath":"regions/arab.m3u","count":0} +{"type":"region","filepath":"regions/asean.m3u","count":0} +{"type":"region","filepath":"regions/asia.m3u","count":1} +{"type":"region","filepath":"regions/carib.m3u","count":0} +{"type":"region","filepath":"regions/cas.m3u","count":0} +{"type":"region","filepath":"regions/cenamer.m3u","count":0} +{"type":"region","filepath":"regions/cis.m3u","count":1} +{"type":"region","filepath":"regions/emea.m3u","count":3} +{"type":"region","filepath":"regions/eur.m3u","count":3} +{"type":"region","filepath":"regions/hispam.m3u","count":0} +{"type":"region","filepath":"regions/lac.m3u","count":0} +{"type":"region","filepath":"regions/latam.m3u","count":0} +{"type":"region","filepath":"regions/maghreb.m3u","count":0} +{"type":"region","filepath":"regions/mena.m3u","count":0} +{"type":"region","filepath":"regions/mideast.m3u","count":0} +{"type":"region","filepath":"regions/nam.m3u","count":1} +{"type":"region","filepath":"regions/noram.m3u","count":1} +{"type":"region","filepath":"regions/nord.m3u","count":0} +{"type":"region","filepath":"regions/oce.m3u","count":0} +{"type":"region","filepath":"regions/sas.m3u","count":0} +{"type":"region","filepath":"regions/southam.m3u","count":0} +{"type":"region","filepath":"regions/ssa.m3u","count":0} +{"type":"region","filepath":"regions/wafr.m3u","count":0} +{"type":"region","filepath":"regions/int.m3u","count":1} +{"type":"region","filepath":"regions/undefined.m3u","count":2} diff --git a/tests/__data__/expected/playlist_update/cy.m3u b/tests/__data__/expected/playlist_update/cy.m3u new file mode 100644 index 000000000..987825ca1 --- /dev/null +++ b/tests/__data__/expected/playlist_update/cy.m3u @@ -0,0 +1,3 @@ +#EXTM3U +#EXTINF:-1 tvg-id="AdaTV.cy",AdaTV +https://ythls.onrender.com/channel/UC40TUSUx490U5uR1lZt3Ajg.m3u8 diff --git a/tests/__data__/expected/streams_update/fr.m3u b/tests/__data__/expected/playlist_update/fr.m3u similarity index 51% rename from tests/__data__/expected/streams_update/fr.m3u rename to tests/__data__/expected/playlist_update/fr.m3u index 2dcf9fed5..82856b338 100644 --- a/tests/__data__/expected/streams_update/fr.m3u +++ b/tests/__data__/expected/playlist_update/fr.m3u @@ -2,4 +2,4 @@ #EXTINF:-1 tvg-id="TFX.fr" http-referrer="https://pkpakiplay.xyz/" http-user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 17_7 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.0 Mobile/15E148 Safari/604.1",TFX #EXTVLCOPT:http-referrer=https://pkpakiplay.xyz/ #EXTVLCOPT:http-user-agent=Mozilla/5.0 (iPhone; CPU iPhone OS 17_7 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.0 Mobile/15E148 Safari/604.1 -http://livetv.ktv.zone/13/play.m3u8 +https://stitcher-ipv4.pluto.tv/v1/stitch/embed/hls/channel/64c109a4798def0008a6e03e/master.m3u8?advertisingId={PSID}&appVersion=unknown&deviceDNT={TARGETOPT}&deviceId={PSID}&deviceLat=0&deviceLon=0&deviceMake=samsung&deviceModel=samsung&deviceType=samsung-tvplus&deviceVersion=unknown&embedPartner=samsung-tvplus&profileFloor=&profileLimit=&samsung_app_domain={APP_DOMAIN}&samsung_app_name={APP_NAME}&us_privacy=1YNY diff --git a/tests/__data__/expected/streams_update/uk.m3u b/tests/__data__/expected/playlist_update/uk.m3u similarity index 100% rename from tests/__data__/expected/streams_update/uk.m3u rename to tests/__data__/expected/playlist_update/uk.m3u diff --git a/tests/__data__/expected/streams_update/us.m3u b/tests/__data__/expected/playlist_update/us.m3u similarity index 65% rename from tests/__data__/expected/streams_update/us.m3u rename to tests/__data__/expected/playlist_update/us.m3u index 1562c6075..5271483e5 100644 --- a/tests/__data__/expected/streams_update/us.m3u +++ b/tests/__data__/expected/playlist_update/us.m3u @@ -1,5 +1,5 @@ #EXTM3U -#EXTINF:-1 tvg-id="BBCAmericaEast.us" http-user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36 Edge/12.246",BBC America East (720p) +#EXTINF:-1 tvg-id="BBCAmerica.us@East" http-user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36 Edge/12.246",BBC America East (720p) #EXTVLCOPT:http-user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36 Edge/12.246 https://servilive.com:3126/live/tele2000live.m3u8 #EXTINF:-1 tvg-id="FastTV.us",Fast TV diff --git a/tests/__data__/expected/_readme.md b/tests/__data__/expected/readme_update/_readme.md similarity index 97% rename from tests/__data__/expected/_readme.md rename to tests/__data__/expected/readme_update/_readme.md index 7cd308c41..9fc78acc2 100644 --- a/tests/__data__/expected/_readme.md +++ b/tests/__data__/expected/readme_update/_readme.md @@ -155,7 +155,7 @@ Same thing, but split up into separate files: 🇧🇱 Saint Barthélemy1https://iptv-org.github.io/iptv/countries/bl.m3u 🇸🇭 Saint Helena1https://iptv-org.github.io/iptv/countries/sh.m3u 🇰🇳 Saint Kitts and Nevis1https://iptv-org.github.io/iptv/countries/kn.m3u - 🌍 International1https://iptv-org.github.io/iptv/countries/int.m3u + Undefined2https://iptv-org.github.io/iptv/countries/undefined.m3u @@ -207,6 +207,8 @@ Same thing, but split up into separate files: South Asia1https://iptv-org.github.io/iptv/regions/sas.m3u Sub-Saharan Africa0https://iptv-org.github.io/iptv/regions/ssa.m3u West Africa0https://iptv-org.github.io/iptv/regions/wafr.m3u + Worldwide1https://iptv-org.github.io/iptv/regions/int.m3u + Undefined2https://iptv-org.github.io/iptv/regions/undefined.m3u diff --git a/tests/__data__/expected/streams_update/cy.m3u b/tests/__data__/expected/streams_update/cy.m3u deleted file mode 100644 index fcd718794..000000000 --- a/tests/__data__/expected/streams_update/cy.m3u +++ /dev/null @@ -1 +0,0 @@ -#EXTM3U diff --git a/tests/__data__/input/streams_generate/ad.m3u b/tests/__data__/input/api_generate/ad.m3u similarity index 78% rename from tests/__data__/input/streams_generate/ad.m3u rename to tests/__data__/input/api_generate/ad.m3u index aed019154..64a1dc0cf 100644 --- a/tests/__data__/input/streams_generate/ad.m3u +++ b/tests/__data__/input/api_generate/ad.m3u @@ -1,5 +1,5 @@ #EXTM3U #EXTINF:-1 tvg-id="Zoo.ad",Zoo (720p) https://iptv-all.lanesh4d0w.repl.co/andorra/zoo -#EXTINF:-1 tvg-id="AndorraTV.ad",ATV +#EXTINF:-1 tvg-id="AndorraTV.ad@SD",ATV https://iptv-all.lanesh4d0w.repl.co/andorra/atv diff --git a/tests/__data__/input/streams_generate/ca.m3u b/tests/__data__/input/api_generate/ca.m3u similarity index 100% rename from tests/__data__/input/streams_generate/ca.m3u rename to tests/__data__/input/api_generate/ca.m3u diff --git a/tests/__data__/input/streams_generate/in.m3u b/tests/__data__/input/api_generate/in.m3u similarity index 100% rename from tests/__data__/input/streams_generate/in.m3u rename to tests/__data__/input/api_generate/in.m3u diff --git a/tests/__data__/input/streams_generate/uk.m3u b/tests/__data__/input/api_generate/uk.m3u similarity index 100% rename from tests/__data__/input/streams_generate/uk.m3u rename to tests/__data__/input/api_generate/uk.m3u diff --git a/tests/__data__/input/streams_generate/unsorted.m3u b/tests/__data__/input/api_generate/unsorted.m3u similarity index 100% rename from tests/__data__/input/streams_generate/unsorted.m3u rename to tests/__data__/input/api_generate/unsorted.m3u diff --git a/tests/__data__/input/data/blocklist.json b/tests/__data__/input/data/blocklist.json index cfba11f57..10dace03f 100644 --- a/tests/__data__/input/data/blocklist.json +++ b/tests/__data__/input/data/blocklist.json @@ -1 +1 @@ -[{"channel":"FoxSports1.us","reason":"dmca","ref":"https://github.com/iptv-org/iptv/issues/0001"},{"channel":"FoxSports2Asia.us","reason":"dmca","ref":"https://github.com/iptv-org/iptv/issues/0002"},{"channel":"TVN.pl","reason":"nsfw","ref":"https://github.com/iptv-org/iptv/issues/0003"},{"channel":"TV3.my","reason":"dmca","ref":"https://github.com/iptv-org/iptv/issues/0004"}] \ No newline at end of file +[{"channel":"FoxSports1.us","reason":"dmca","ref":"https://github.com/iptv-org/iptv/issues/0001"},{"channel":"FoxSports2.us","reason":"dmca","ref":"https://github.com/iptv-org/iptv/issues/0002"},{"channel":"TVN.pl","reason":"nsfw","ref":"https://github.com/iptv-org/iptv/issues/0003"},{"channel":"TV3.my","reason":"dmca","ref":"https://github.com/iptv-org/iptv/issues/0004"}] \ No newline at end of file diff --git a/tests/__data__/input/data/channels.json b/tests/__data__/input/data/channels.json index 59bc80b71..22cd9d0a0 100644 --- a/tests/__data__/input/data/channels.json +++ b/tests/__data__/input/data/channels.json @@ -6,12 +6,6 @@ "country": "AD", "subdivision": null, "city": null, - "broadcast_area": [ - "c/AD" - ], - "languages": [ - "cat" - ], "categories": [], "is_nsfw": false, "logo": null @@ -23,12 +17,6 @@ "country": "UK", "subdivision": null, "city": null, - "broadcast_area": [ - "r/INT" - ], - "languages": [ - "eng" - ], "categories": [ "news", "general" @@ -43,12 +31,6 @@ "country": "US", "subdivision": null, "city": null, - "broadcast_area": [ - "c/US" - ], - "languages": [ - "eng" - ], "categories": [], "is_nsfw": false, "logo": "https://www.lyngsat.com/logo/tv/ee/eve_us.png" @@ -60,12 +42,6 @@ "country": "US", "subdivision": null, "city": null, - "broadcast_area": [ - "c/US" - ], - "languages": [ - "eng" - ], "categories": [], "is_nsfw": false, "logo": "https://i.imgur.com/Iam3ol3.png" @@ -77,29 +53,17 @@ "country": "US", "subdivision": null, "city": null, - "broadcast_area": [ - "c/US" - ], - "languages": [ - "eng" - ], "categories": [], "is_nsfw": false, "logo": "https://cdn.tvpassport.com/image/station/100x100/fs1.png" }, { - "id": "FoxSports2Asia.us", - "name": "Fox Sports 2 Asia", + "id": "FoxSports2.us", + "name": "Fox Sports 2", "network": null, "country": "US", "subdivision": null, "city": null, - "broadcast_area": [ - "c/US" - ], - "languages": [ - "eng" - ], "categories": [], "is_nsfw": false, "logo": null @@ -111,12 +75,6 @@ "country": "RU", "subdivision": null, "city": null, - "broadcast_area": [ - "c/RU" - ], - "languages": [ - "rus" - ], "categories": [ "general" ], @@ -130,12 +88,6 @@ "country": "LY", "subdivision": null, "city": null, - "broadcast_area": [ - "c/LY" - ], - "languages": [ - "eng" - ], "categories": [], "is_nsfw": false, "logo": "https://i.imgur.com/RD9wbNF.jpg" @@ -147,12 +99,6 @@ "country": "CA", "subdivision": null, "city": null, - "broadcast_area": [ - "s/CA-ON" - ], - "languages": [ - "fru" - ], "categories": [ "weather" ], @@ -166,12 +112,6 @@ "country": "PL", "subdivision": null, "city": null, - "broadcast_area": [ - "c/PL" - ], - "languages": [ - "pol" - ], "categories": [], "is_nsfw": false, "logo": "https://www.sms.cz/kategorie/televize/bmp/loga/velka/TVN.png" @@ -183,12 +123,6 @@ "country": "NL", "subdivision": null, "city": null, - "broadcast_area": [ - "r/INT" - ], - "languages": [ - "nld" - ], "categories": [ "xxx" ], @@ -202,12 +136,6 @@ "country": "US", "subdivision": null, "city": null, - "broadcast_area": [ - "c/US" - ], - "languages": [ - "eng" - ], "categories": [ "general" ], @@ -225,12 +153,6 @@ "country": "IN", "subdivision": null, "city": null, - "broadcast_area": [ - "c/IN" - ], - "languages": [ - "mal" - ], "categories": [ "news" ], @@ -250,12 +172,6 @@ "country": "MY", "subdivision": null, "city": null, - "broadcast_area": [ - "c/MY" - ], - "languages": [ - "eng" - ], "categories": [ "news" ], @@ -267,20 +183,14 @@ "logo": "https://i.imgur.com/adjRrVx.png" }, { - "id": "BBCAmericaEast.us", - "name": "BBC America East", + "id": "BBCAmerica.us", + "name": "BBC America", "alt_names": [], "network": null, "owners": [], "country": "US", "subdivision": null, "city": null, - "broadcast_area": [ - "c/US" - ], - "languages": [ - "eng" - ], "categories": [ "news" ], @@ -302,12 +212,6 @@ "country": "PE", "subdivision": "PE-LIM", "city": "Lima", - "broadcast_area": [ - "c/PE" - ], - "languages": [ - "spa" - ], "categories": [ "news" ], @@ -327,12 +231,6 @@ "country": "UK", "subdivision": null, "city": "London", - "broadcast_area": [ - "c/UK" - ], - "languages": [ - "eng" - ], "categories": [ "series" ], @@ -356,12 +254,6 @@ "country": "JP", "subdivision": null, "city": "Tokyo", - "broadcast_area": [ - "c/JP" - ], - "languages": [ - "jpn" - ], "categories": [ "animation" ], @@ -383,13 +275,6 @@ "country": "IN", "subdivision": null, "city": "Noida", - "broadcast_area": [ - "c/IN", - "c/UK" - ], - "languages": [ - "hin" - ], "categories": [ "news" ], @@ -409,12 +294,6 @@ "country": "JP", "subdivision": null, "city": null, - "broadcast_area": [ - "c/JP" - ], - "languages": [ - "jpn" - ], "categories": [ "weather" ], @@ -436,12 +315,6 @@ "country": "LK", "subdivision": null, "city": "Athurugiriya", - "broadcast_area": [ - "c/LK" - ], - "languages": [ - "tam" - ], "categories": [ "religious" ], @@ -461,12 +334,6 @@ "country": "HU", "subdivision": null, "city": null, - "broadcast_area": [ - "c/HU" - ], - "languages": [ - "hun" - ], "categories": [ "sports" ], @@ -491,12 +358,6 @@ "country": "US", "subdivision": null, "city": null, - "broadcast_area": [ - "c/US" - ], - "languages": [ - "eng" - ], "categories": [], "is_nsfw": false, "launched": "2022-10-26", @@ -518,12 +379,6 @@ "country": "TH", "subdivision": null, "city": "Bangkok", - "broadcast_area": [ - "c/TH" - ], - "languages": [ - "tha" - ], "categories": [ "general" ], @@ -547,12 +402,6 @@ "country": "TH", "subdivision": null, "city": "Bangkok", - "broadcast_area": [ - "c/TH" - ], - "languages": [ - "tha" - ], "categories": [ "entertainment" ], @@ -574,12 +423,6 @@ "country": "FR", "subdivision": null, "city": "Paris", - "broadcast_area": [ - "c/FR" - ], - "languages": [ - "fra" - ], "categories": [ "general" ], @@ -601,12 +444,6 @@ "country": "FR", "subdivision": null, "city": "Paris", - "broadcast_area": [ - "c/FR" - ], - "languages": [ - "fra" - ], "categories": [ "general" ], @@ -628,12 +465,6 @@ "country": "FR", "subdivision": null, "city": "Paris", - "broadcast_area": [ - "c/FR" - ], - "languages": [ - "fra" - ], "categories": [ "general" ], @@ -645,8 +476,8 @@ "logo": "https://upload.wikimedia.org/wikipedia/commons/thumb/5/50/France_5_2018.svg/512px-France_5_2018.svg.png" }, { - "id": "France3Aquitaine.fr", - "name": "France 3 Aquitaine", + "id": "France3.fr", + "name": "France 3", "alt_names": [], "network": null, "owners": [ @@ -655,12 +486,6 @@ "country": "FR", "subdivision": null, "city": "Paris", - "broadcast_area": [ - "c/FR" - ], - "languages": [ - "fra" - ], "categories": [ "general" ], @@ -671,363 +496,6 @@ "website": "https://france3-regions.francetvinfo.fr/nouvelle-aquitaine/", "logo": "https://upload.wikimedia.org/wikipedia/commons/thumb/a/a7/France_3_Aquitaine_-_Logo_2018.svg/512px-France_3_Aquitaine_-_Logo_2018.svg.png" }, - { - "id": "France3Auvergne.fr", - "name": "France 3 Auvergne", - "alt_names": [], - "network": null, - "owners": [ - "France Télévisions" - ], - "country": "FR", - "subdivision": null, - "city": "Paris", - "broadcast_area": [ - "c/FR" - ], - "languages": [ - "fra" - ], - "categories": [ - "general" - ], - "is_nsfw": false, - "launched": null, - "closed": null, - "replaced_by": null, - "website": "https://france3-regions.francetvinfo.fr/auvergne-rhone-alpes/", - "logo": "https://i.imgur.com/OOEHRei.png" - }, - { - "id": "France3BasseNormandie.fr", - "name": "France 3 Basse-Normandie", - "alt_names": [], - "network": null, - "owners": [ - "France Télévisions" - ], - "country": "FR", - "subdivision": null, - "city": "Paris", - "broadcast_area": [ - "c/FR" - ], - "languages": [ - "fra" - ], - "categories": [ - "general" - ], - "is_nsfw": false, - "launched": null, - "closed": null, - "replaced_by": null, - "website": "https://france3-regions.francetvinfo.fr/normandie/", - "logo": "https://i.imgur.com/nTM78Ig.png" - }, - { - "id": "France3Bourgogne.fr", - "name": "France 3 Bourgogne", - "alt_names": [], - "network": null, - "owners": [ - "France Télévisions" - ], - "country": "FR", - "subdivision": null, - "city": "Paris", - "broadcast_area": [ - "c/FR" - ], - "languages": [ - "fra" - ], - "categories": [ - "general" - ], - "is_nsfw": false, - "launched": "1965-11-15", - "closed": null, - "replaced_by": null, - "website": "https://france3-regions.francetvinfo.fr/bourgogne-franche-comte/", - "logo": "https://upload.wikimedia.org/wikipedia/commons/thumb/7/77/France_3_Bourgogne_-_Logo_2018.svg/512px-France_3_Bourgogne_-_Logo_2018.svg.png" - }, - { - "id": "France3Bretagne.fr", - "name": "France 3 Bretagne", - "alt_names": [], - "network": null, - "owners": [ - "France Télévisions" - ], - "country": "FR", - "subdivision": null, - "city": "Paris", - "broadcast_area": [ - "c/FR" - ], - "languages": [ - "fra" - ], - "categories": [ - "general" - ], - "is_nsfw": false, - "launched": null, - "closed": null, - "replaced_by": null, - "website": "https://france3-regions.francetvinfo.fr/bretagne/", - "logo": "https://upload.wikimedia.org/wikipedia/commons/thumb/c/c2/France_3_Bretagne_-_Logo_2018.svg/512px-France_3_Bretagne_-_Logo_2018.svg.png" - }, - { - "id": "France3CentreValdeLoire.fr", - "name": "France 3 Centre-Val de Loire", - "alt_names": [], - "network": null, - "owners": [ - "France Télévisions" - ], - "country": "FR", - "subdivision": null, - "city": "Paris", - "broadcast_area": [ - "c/FR" - ], - "languages": [ - "fra" - ], - "categories": [ - "general" - ], - "is_nsfw": false, - "launched": null, - "closed": null, - "replaced_by": null, - "website": "https://france3-regions.francetvinfo.fr/centre-val-de-loire/", - "logo": "https://i.imgur.com/jDh4rUk.png" - }, - { - "id": "France3ChampagneArdenne.fr", - "name": "France 3 Champagne-Ardenne", - "alt_names": [], - "network": null, - "owners": [ - "France Télévisions" - ], - "country": "FR", - "subdivision": null, - "city": "Paris", - "broadcast_area": [ - "c/FR" - ], - "languages": [ - "fra" - ], - "categories": [ - "general" - ], - "is_nsfw": false, - "launched": null, - "closed": null, - "replaced_by": null, - "website": "https://france3-regions.francetvinfo.fr/grand-est/", - "logo": "https://i.imgur.com/V9nhfLC.png" - }, - { - "id": "France3CorseViaStella.fr", - "name": "France 3 Corse Via Stella", - "alt_names": [], - "network": null, - "owners": [ - "France Télévisions" - ], - "country": "FR", - "subdivision": null, - "city": "Paris", - "broadcast_area": [ - "c/FR" - ], - "languages": [ - "fra" - ], - "categories": [ - "general" - ], - "is_nsfw": false, - "launched": null, - "closed": null, - "replaced_by": null, - "website": "https://france3-regions.francetvinfo.fr/corse/", - "logo": "https://i.imgur.com/Sx9VLAt.png" - }, - { - "id": "France3CotedAzur.fr", - "name": "France 3 Cote d'Azur", - "alt_names": [ - "France 3 Côte d'Azur" - ], - "network": null, - "owners": [ - "France Télévisions" - ], - "country": "FR", - "subdivision": null, - "city": "Paris", - "broadcast_area": [ - "c/FR" - ], - "languages": [ - "fra" - ], - "categories": [ - "general" - ], - "is_nsfw": false, - "launched": null, - "closed": null, - "replaced_by": null, - "website": "https://france3-regions.francetvinfo.fr/provence-alpes-cote-d-azur/", - "logo": "https://i.imgur.com/dQC6Rm3.png" - }, - { - "id": "France3FrancheComte.fr", - "name": "France 3 Franche-Comte", - "alt_names": [ - "France 3 Franche-Comté" - ], - "network": null, - "owners": [ - "France Télévisions" - ], - "country": "FR", - "subdivision": null, - "city": "Paris", - "broadcast_area": [ - "c/FR" - ], - "languages": [ - "fra" - ], - "categories": [ - "general" - ], - "is_nsfw": false, - "launched": null, - "closed": null, - "replaced_by": null, - "website": "https://france3-regions.francetvinfo.fr/bourgogne-franche-comte/", - "logo": "https://i.imgur.com/41b7194.png" - }, - { - "id": "France3HauteNormandie.fr", - "name": "France 3 Haute-Normandie", - "alt_names": [], - "network": null, - "owners": [ - "France Télévisions" - ], - "country": "FR", - "subdivision": null, - "city": "Paris", - "broadcast_area": [ - "c/FR" - ], - "languages": [ - "fra" - ], - "categories": [ - "general" - ], - "is_nsfw": false, - "launched": null, - "closed": null, - "replaced_by": null, - "website": "https://france3-regions.francetvinfo.fr/normandie/", - "logo": "https://i.imgur.com/nTM78Ig.png" - }, - { - "id": "France3NouvelleAquitaine.fr", - "name": "France 3 Nouvelle-Aquitaine", - "alt_names": [], - "network": null, - "owners": [ - "France Télévisions" - ], - "country": "FR", - "subdivision": null, - "city": "Paris", - "broadcast_area": [ - "c/FR" - ], - "languages": [ - "fra" - ], - "categories": [ - "general" - ], - "is_nsfw": false, - "launched": null, - "closed": null, - "replaced_by": null, - "website": "https://france3-regions.francetvinfo.fr/nouvelle-aquitaine/", - "logo": "https://i.imgur.com/ScAQW1B.png" - }, - { - "id": "France3ProvenceAlpes.fr", - "name": "France 3 Provence-Alpes", - "alt_names": [], - "network": null, - "owners": [ - "France Télévisions" - ], - "country": "FR", - "subdivision": null, - "city": "Paris", - "broadcast_area": [ - "c/FR" - ], - "languages": [ - "fra" - ], - "categories": [ - "general" - ], - "is_nsfw": false, - "launched": null, - "closed": null, - "replaced_by": null, - "website": "https://france3-regions.francetvinfo.fr/provence-alpes-cote-d-azur/", - "logo": "https://i.imgur.com/W6TyDLx.png" - }, - { - "id": "France3RhoneAlpes.fr", - "name": "France 3 Rhone-Alpes", - "alt_names": [ - "France 3 Rhône-Alpes" - ], - "network": null, - "owners": [ - "France Télévisions" - ], - "country": "FR", - "subdivision": null, - "city": "Paris", - "broadcast_area": [ - "c/FR" - ], - "languages": [ - "fra" - ], - "categories": [ - "general" - ], - "is_nsfw": false, - "launched": null, - "closed": null, - "replaced_by": null, - "website": "https://france3-regions.francetvinfo.fr/auvergne-rhone-alpes/", - "logo": "https://i.imgur.com/XIdPu3o.png" - }, { "id": "TF1.fr", "name": "TF1", @@ -1039,12 +507,6 @@ "country": "FR", "subdivision": null, "city": null, - "broadcast_area": [ - "c/FR" - ], - "languages": [ - "fra" - ], "categories": [ "entertainment" ], @@ -1068,12 +530,6 @@ "country": "FR", "subdivision": null, "city": null, - "broadcast_area": [ - "c/FR" - ], - "languages": [ - "fra" - ], "categories": [ "movies" ], @@ -1095,13 +551,6 @@ "country": "FR", "subdivision": null, "city": null, - "broadcast_area": [ - "c/FR", - "c/MC" - ], - "languages": [ - "fra" - ], "categories": [ "general" ], @@ -1121,13 +570,6 @@ "country": "FR", "subdivision": null, "city": null, - "broadcast_area": [ - "c/FR" - ], - "languages": [ - "fra", - "eng" - ], "categories": [], "is_nsfw": false, "launched": null, @@ -1147,12 +589,6 @@ "country": "IN", "subdivision": null, "city": "Kottayam", - "broadcast_area": [ - "c/IN" - ], - "languages": [ - "mal" - ], "categories": [ "news" ], @@ -1174,12 +610,6 @@ "country": "AU", "subdivision": null, "city": "New York City", - "broadcast_area": [ - "c/AU" - ], - "languages": [ - "eng" - ], "categories": [ "entertainment" ], @@ -1189,5 +619,16 @@ "replaced_by": "Sleuth.au", "website": "http://www.13thstreet.com.au/", "logo": "https://upload.wikimedia.org/wikipedia/commons/thumb/0/0c/13th_street_logo_uk_master_rgb_black.png/512px-13th_street_logo_uk_master_rgb_black.png" + }, + { + "id": "Zoo.ad", + "name": "Zoo", + "network": null, + "country": "CA", + "subdivision": null, + "city": null, + "categories": [], + "is_nsfw": false, + "logo": null } ] \ No newline at end of file diff --git a/tests/__data__/input/data/feeds.json b/tests/__data__/input/data/feeds.json new file mode 100644 index 000000000..a0a7e22b2 --- /dev/null +++ b/tests/__data__/input/data/feeds.json @@ -0,0 +1,802 @@ +[ + { + "channel": "AndorraTV.ad", + "id": "SD", + "name": "SD", + "is_main": true, + "broadcast_area": [ + "c/AD" + ], + "languages": [ + "cat" + ], + "timezones": [ + "America/Port_of_Spain" + ], + "video_format": "576i" + }, + { + "channel": "AdaTV.cy", + "id": "SD", + "name": "SD", + "is_main": true, + "broadcast_area": [ + "c/CY" + ], + "languages": [ + "tur" + ], + "timezones": [ + "America/Port_of_Spain" + ], + "video_format": "576i" + }, + { + "channel": "BBCNews.uk", + "id": "SD", + "name": "SD", + "is_main": true, + "broadcast_area": [ + "r/INT" + ], + "languages": [ + "eng" + ], + "timezones": [ + "America/Port_of_Spain" + ], + "video_format": "576i" + }, + { + "channel": "Eve.us", + "id": "SD", + "name": "SD", + "is_main": true, + "broadcast_area": [ + "c/US" + ], + "languages": [ + "eng" + ], + "timezones": [ + "America/Port_of_Spain" + ], + "video_format": "576i" + }, + { + "channel": "EverydayHeroes.us", + "id": "SD", + "name": "SD", + "is_main": true, + "broadcast_area": [ + "c/US" + ], + "languages": [ + "eng" + ], + "timezones": [ + "America/Port_of_Spain" + ], + "video_format": "576i" + }, + { + "channel": "FoxSports1.us", + "id": "SD", + "name": "SD", + "broadcast_area": [ + "c/US" + ], + "languages": [ + "eng" + ], + "timezones": [ + "America/Port_of_Spain" + ], + "video_format": "576i" + }, + { + "channel": "FoxSports2.us", + "id": "Asia", + "name": "Asia", + "is_main": false, + "broadcast_area": [ + "c/US" + ], + "languages": [ + "eng" + ], + "timezones": [ + "America/Port_of_Spain" + ], + "video_format": "576i" + }, + { + "channel": "LDPRTV.ru", + "id": "SD", + "name": "SD", + "is_main": true, + "broadcast_area": [ + "c/RU" + ], + "languages": [ + "rus" + ], + "timezones": [ + "America/Port_of_Spain" + ], + "video_format": "576i" + }, + { + "channel": "LibyasChannel.ly", + "id": "SD", + "name": "SD", + "is_main": true, + "broadcast_area": [ + "c/LY" + ], + "languages": [ + "eng" + ], + "timezones": [ + "America/Port_of_Spain" + ], + "video_format": "576i" + }, + { + "channel": "MeteoMedia.ca", + "id": "SD", + "name": "SD", + "is_main": true, + "broadcast_area": [ + "s/CA-ON" + ], + "languages": [ + "fru" + ], + "timezones": [ + "America/Port_of_Spain" + ], + "video_format": "576i" + }, + { + "channel": "TVN.pl", + "id": "SD", + "name": "SD", + "is_main": true, + "broadcast_area": [ + "c/PL" + ], + "languages": [ + "pol" + ], + "timezones": [ + "America/Port_of_Spain" + ], + "video_format": "576i" + }, + { + "channel": "VisitXTV.nl", + "id": "SD", + "name": "SD", + "is_main": true, + "broadcast_area": [ + "r/INT" + ], + "languages": [ + "nld" + ], + "timezones": [ + "America/Port_of_Spain" + ], + "video_format": "576i" + }, + { + "channel": "TUTV.us", + "id": "SD", + "name": "SD", + "is_main": true, + "broadcast_area": [ + "c/US" + ], + "languages": [ + "eng" + ], + "timezones": [ + "America/Port_of_Spain" + ], + "video_format": "576i" + }, + { + "channel": "ManoramaNews.in", + "id": "SD", + "name": "SD", + "is_main": true, + "broadcast_area": [ + "c/IN" + ], + "languages": [ + "mal" + ], + "timezones": [ + "America/Port_of_Spain" + ], + "video_format": "576i" + }, + { + "channel": "TV3.my", + "id": "SD", + "name": "SD", + "is_main": true, + "broadcast_area": [ + "c/MY" + ], + "languages": [ + "eng" + ], + "timezones": [ + "America/Port_of_Spain" + ], + "video_format": "576i" + }, + { + "channel": "BBCAmerica.us", + "id": "East", + "name": "East", + "is_main": false, + "broadcast_area": [ + "c/US" + ], + "languages": [ + "eng" + ], + "timezones": [ + "America/Port_of_Spain" + ], + "video_format": "576i" + }, + { + "channel": "ATVPlus.pe", + "id": "SD", + "name": "SD", + "is_main": true, + "broadcast_area": [ + "c/PE" + ], + "languages": [ + "spa" + ], + "timezones": [ + "America/Port_of_Spain" + ], + "video_format": "576i" + }, + { + "channel": "BeanoTV.uk", + "id": "SD", + "name": "SD", + "is_main": true, + "broadcast_area": [ + "c/UK" + ], + "languages": [ + "eng" + ], + "timezones": [ + "America/Port_of_Spain" + ], + "video_format": "576i" + }, + { + "channel": "ATX.jp", + "id": "SD", + "name": "SD", + "is_main": true, + "broadcast_area": [ + "c/JP" + ], + "languages": [ + "jpn" + ], + "timezones": [ + "America/Port_of_Spain" + ], + "video_format": "576i" + }, + { + "channel": "AajTak.in", + "id": "SD", + "name": "SD", + "is_main": true, + "broadcast_area": [ + "c/IN", + "c/UK" + ], + "languages": [ + "hin" + ], + "timezones": [ + "America/Port_of_Spain" + ], + "video_format": "576i" + }, + { + "channel": "Weathernews.jp", + "id": "SD", + "name": "SD", + "is_main": true, + "broadcast_area": [ + "c/JP" + ], + "languages": [ + "jpn" + ], + "timezones": [ + "America/Port_of_Spain" + ], + "video_format": "576i" + }, + { + "channel": "MethTV.lk", + "id": "SD", + "name": "SD", + "is_main": true, + "broadcast_area": [ + "c/LK" + ], + "languages": [ + "tam" + ], + "timezones": [ + "America/Port_of_Spain" + ], + "video_format": "576i" + }, + { + "channel": "Match4.hu", + "id": "SD", + "name": "SD", + "is_main": true, + "broadcast_area": [ + "c/HU" + ], + "languages": [ + "hun" + ], + "timezones": [ + "America/Port_of_Spain" + ], + "video_format": "576i" + }, + { + "channel": "FastTV.us", + "id": "SD", + "name": "SD", + "is_main": true, + "broadcast_area": [ + "c/US" + ], + "languages": [ + "eng" + ], + "timezones": [ + "America/Port_of_Spain" + ], + "video_format": "576i" + }, + { + "channel": "MCOTHD.th", + "id": "SD", + "name": "SD", + "is_main": true, + "broadcast_area": [ + "c/TH" + ], + "languages": [ + "tha" + ], + "timezones": [ + "America/Port_of_Spain" + ], + "video_format": "576i" + }, + { + "channel": "AmarinTV.th", + "id": "SD", + "name": "SD", + "is_main": true, + "broadcast_area": [ + "c/TH" + ], + "languages": [ + "tha" + ], + "timezones": [ + "America/Port_of_Spain" + ], + "video_format": "576i" + }, + { + "channel": "France2.fr", + "id": "SD", + "name": "SD", + "is_main": true, + "broadcast_area": [ + "c/FR" + ], + "languages": [ + "fra" + ], + "timezones": [ + "America/Port_of_Spain" + ], + "video_format": "576i" + }, + { + "channel": "France3.fr", + "id": "SD", + "name": "SD", + "is_main": true, + "broadcast_area": [ + "c/FR" + ], + "languages": [ + "fra" + ], + "timezones": [ + "America/Port_of_Spain" + ], + "video_format": "576i" + }, + { + "channel": "France5.fr", + "id": "SD", + "name": "SD", + "is_main": true, + "broadcast_area": [ + "c/FR" + ], + "languages": [ + "fra" + ], + "timezones": [ + "America/Port_of_Spain" + ], + "video_format": "576i" + }, + { + "channel": "France3.fr", + "id": "Aquitaine", + "name": "Aquitaine", + "is_main": false, + "broadcast_area": [ + "c/FR" + ], + "languages": [ + "fra" + ], + "timezones": [ + "America/Port_of_Spain" + ], + "video_format": "576i" + }, + { + "channel": "France3.fr", + "id": "Auvergne", + "name": "Auvergne", + "is_main": false, + "broadcast_area": [ + "c/FR" + ], + "languages": [ + "fra" + ], + "timezones": [ + "America/Port_of_Spain" + ], + "video_format": "576i" + }, + { + "channel": "France3.fr", + "id": "BasseNormandie", + "name": "Basse-Normandie", + "is_main": false, + "broadcast_area": [ + "c/FR" + ], + "languages": [ + "fra" + ], + "timezones": [ + "America/Port_of_Spain" + ], + "video_format": "576i" + }, + { + "channel": "France3.fr", + "id": "Bourgogne", + "name": "Bourgogne", + "is_main": false, + "broadcast_area": [ + "c/FR" + ], + "languages": [ + "fra" + ], + "timezones": [ + "America/Port_of_Spain" + ], + "video_format": "576i" + }, + { + "channel": "France3.fr", + "id": "Bretagne", + "name": "Bretagne", + "is_main": false, + "broadcast_area": [ + "c/FR" + ], + "languages": [ + "fra" + ], + "timezones": [ + "America/Port_of_Spain" + ], + "video_format": "576i" + }, + { + "channel": "France3.fr", + "id": "CentreValdeLoire", + "name": "Centre-Val de Loire", + "is_main": false, + "broadcast_area": [ + "c/FR" + ], + "languages": [ + "fra" + ], + "timezones": [ + "America/Port_of_Spain" + ], + "video_format": "576i" + }, + { + "channel": "France3.fr", + "id": "ChampagneArdenne", + "name": "Champagne-Ardenne", + "is_main": false, + "broadcast_area": [ + "c/FR" + ], + "languages": [ + "fra" + ], + "timezones": [ + "America/Port_of_Spain" + ], + "video_format": "576i" + }, + { + "channel": "France3.fr", + "id": "CorseViaStella", + "name": "Corse Via Stella", + "is_main": false, + "broadcast_area": [ + "c/FR" + ], + "languages": [ + "fra" + ], + "timezones": [ + "America/Port_of_Spain" + ], + "video_format": "576i" + }, + { + "channel": "France3.fr", + "id": "CotedAzur", + "name": "Cote d'Azur", + "is_main": false, + "broadcast_area": [ + "c/FR" + ], + "languages": [ + "fra" + ], + "timezones": [ + "America/Port_of_Spain" + ], + "video_format": "576i" + }, + { + "channel": "France3.fr", + "id": "FrancheComte", + "name": "Franche-Comte", + "is_main": false, + "broadcast_area": [ + "c/FR" + ], + "languages": [ + "fra" + ], + "timezones": [ + "America/Port_of_Spain" + ], + "video_format": "576i" + }, + { + "channel": "France3.fr", + "id": "HauteNormandie", + "name": "Haute-Normandie", + "is_main": false, + "broadcast_area": [ + "c/FR" + ], + "languages": [ + "fra" + ], + "timezones": [ + "America/Port_of_Spain" + ], + "video_format": "576i" + }, + { + "channel": "France3.fr", + "id": "NouvelleAquitaine", + "name": "Nouvelle-Aquitaine", + "is_main": false, + "broadcast_area": [ + "c/FR" + ], + "languages": [ + "fra" + ], + "timezones": [ + "America/Port_of_Spain" + ], + "video_format": "576i" + }, + { + "channel": "France3.fr", + "id": "ProvenceAlpes", + "name": "Provence-Alpes", + "is_main": false, + "broadcast_area": [ + "c/FR" + ], + "languages": [ + "fra" + ], + "timezones": [ + "America/Port_of_Spain" + ], + "video_format": "576i" + }, + { + "channel": "France3.fr", + "id": "RhoneAlpes", + "name": "Rhone-Alpes", + "is_main": false, + "broadcast_area": [ + "c/FR" + ], + "languages": [ + "fra" + ], + "timezones": [ + "America/Port_of_Spain" + ], + "video_format": "576i" + }, + { + "channel": "TF1.fr", + "id": "SD", + "name": "SD", + "is_main": true, + "broadcast_area": [ + "c/FR" + ], + "languages": [ + "fra" + ], + "timezones": [ + "America/Port_of_Spain" + ], + "video_format": "576i" + }, + { + "channel": "TF1SeriesFilms.fr", + "id": "SD", + "name": "SD", + "is_main": true, + "broadcast_area": [ + "c/FR" + ], + "languages": [ + "fra" + ], + "timezones": [ + "America/Port_of_Spain" + ], + "video_format": "576i" + }, + { + "channel": "TMC.fr", + "id": "SD", + "name": "SD", + "is_main": true, + "broadcast_area": [ + "c/FR", + "c/MC" + ], + "languages": [ + "fra" + ], + "timezones": [ + "America/Port_of_Spain" + ], + "video_format": "576i" + }, + { + "channel": "TFX.fr", + "id": "SD", + "name": "SD", + "is_main": true, + "broadcast_area": [ + "c/FR" + ], + "languages": [ + "fra", + "eng" + ], + "timezones": [ + "America/Port_of_Spain" + ], + "video_format": "576i" + }, + { + "channel": "ManoramaNews.in", + "id": "SD", + "name": "SD", + "is_main": true, + "broadcast_area": [ + "c/IN" + ], + "languages": [ + "mal" + ], + "timezones": [ + "America/Port_of_Spain" + ], + "video_format": "576i" + }, + { + "channel": "13thStreet.au", + "id": "SD", + "name": "SD", + "is_main": true, + "broadcast_area": [ + "c/AU" + ], + "languages": [ + "eng" + ], + "timezones": [ + "America/Port_of_Spain" + ], + "video_format": "576i" + }, + { + "channel": "Zoo.ad", + "id": "SD", + "name": "SD", + "is_main": true, + "broadcast_area": [ + "c/AD" + ], + "languages": [], + "timezones": [ + "America/Port_of_Spain" + ], + "video_format": "576i" + } +] \ No newline at end of file diff --git a/tests/__data__/input/data/languages.json b/tests/__data__/input/data/languages.json index 6b2570a79..7997d55ca 100644 --- a/tests/__data__/input/data/languages.json +++ b/tests/__data__/input/data/languages.json @@ -1 +1 @@ -[{"name":"Ghotuo","code":"aaa"},{"name":"Alumu-Tesu","code":"aab"},{"name":"Ari","code":"aac"},{"name":"Amal","code":"aad"},{"name":"Arbëreshë Albanian","code":"aae"},{"name":"Aranadan","code":"aaf"},{"name":"Ambrak","code":"aag"},{"name":"Abu' Arapesh","code":"aah"},{"name":"Arifama-Miniafia","code":"aai"},{"name":"Ankave","code":"aak"},{"name":"Afade","code":"aal"},{"name":"Anambé","code":"aan"},{"name":"Algerian Saharan Arabic","code":"aao"},{"name":"Pará Arára","code":"aap"},{"name":"Eastern Abnaki","code":"aaq"},{"name":"Afar","code":"aar"},{"name":"Aasáx","code":"aas"},{"name":"Arvanitika Albanian","code":"aat"},{"name":"Abau","code":"aau"},{"name":"Solong","code":"aaw"},{"name":"Mandobo Atas","code":"aax"},{"name":"Amarasi","code":"aaz"},{"name":"Abé","code":"aba"},{"name":"Bankon","code":"abb"},{"name":"Ambala Ayta","code":"abc"},{"name":"Manide","code":"abd"},{"name":"Western Abnaki","code":"abe"},{"name":"Abai Sungai","code":"abf"},{"name":"Abaga","code":"abg"},{"name":"Tajiki Arabic","code":"abh"},{"name":"Abidji","code":"abi"},{"name":"Aka-Bea","code":"abj"},{"name":"Abkhazian","code":"abk"},{"name":"Lampung Nyo","code":"abl"},{"name":"Abanyom","code":"abm"},{"name":"Abua","code":"abn"},{"name":"Abon","code":"abo"},{"name":"Abellen Ayta","code":"abp"},{"name":"Abaza","code":"abq"},{"name":"Abron","code":"abr"},{"name":"Ambonese Malay","code":"abs"},{"name":"Ambulas","code":"abt"},{"name":"Abure","code":"abu"},{"name":"Baharna Arabic","code":"abv"},{"name":"Pal","code":"abw"},{"name":"Inabaknon","code":"abx"},{"name":"Aneme Wake","code":"aby"},{"name":"Abui","code":"abz"},{"name":"Achagua","code":"aca"},{"name":"Áncá","code":"acb"},{"name":"Gikyode","code":"acd"},{"name":"Achinese","code":"ace"},{"name":"Saint Lucian Creole French","code":"acf"},{"name":"Acoli","code":"ach"},{"name":"Aka-Cari","code":"aci"},{"name":"Aka-Kora","code":"ack"},{"name":"Akar-Bale","code":"acl"},{"name":"Mesopotamian Arabic","code":"acm"},{"name":"Achang","code":"acn"},{"name":"Eastern Acipa","code":"acp"},{"name":"Ta'izzi-Adeni Arabic","code":"acq"},{"name":"Achi","code":"acr"},{"name":"Acroá","code":"acs"},{"name":"Achterhoeks","code":"act"},{"name":"Achuar-Shiwiar","code":"acu"},{"name":"Achumawi","code":"acv"},{"name":"Hijazi Arabic","code":"acw"},{"name":"Omani Arabic","code":"acx"},{"name":"Cypriot Arabic","code":"acy"},{"name":"Acheron","code":"acz"},{"name":"Adangme","code":"ada"},{"name":"Atauran","code":"adb"},{"name":"Dzodinka","code":"add"},{"name":"Lidzonka","code":"add"},{"name":"Adele","code":"ade"},{"name":"Dhofari Arabic","code":"adf"},{"name":"Andegerebinha","code":"adg"},{"name":"Adhola","code":"adh"},{"name":"Adi","code":"adi"},{"name":"Adioukrou","code":"adj"},{"name":"Galo","code":"adl"},{"name":"Adang","code":"adn"},{"name":"Abu","code":"ado"},{"name":"Adangbe","code":"adq"},{"name":"Adonara","code":"adr"},{"name":"Adamorobe Sign Language","code":"ads"},{"name":"Adnyamathanha","code":"adt"},{"name":"Aduge","code":"adu"},{"name":"Amundava","code":"adw"},{"name":"Amdo Tibetan","code":"adx"},{"name":"Adygei","code":"ady"},{"name":"Adyghe","code":"ady"},{"name":"Adzera","code":"adz"},{"name":"Areba","code":"aea"},{"name":"Tunisian Arabic","code":"aeb"},{"name":"Saidi Arabic","code":"aec"},{"name":"Argentine Sign Language","code":"aed"},{"name":"Northeast Pashai","code":"aee"},{"name":"Northeast Pashayi","code":"aee"},{"name":"Haeke","code":"aek"},{"name":"Ambele","code":"ael"},{"name":"Arem","code":"aem"},{"name":"Armenian Sign Language","code":"aen"},{"name":"Aer","code":"aeq"},{"name":"Eastern Arrernte","code":"aer"},{"name":"Alsea","code":"aes"},{"name":"Akeu","code":"aeu"},{"name":"Ambakich","code":"aew"},{"name":"Amele","code":"aey"},{"name":"Aeka","code":"aez"},{"name":"Gulf Arabic","code":"afb"},{"name":"Andai","code":"afd"},{"name":"Putukwam","code":"afe"},{"name":"Afghan Sign Language","code":"afg"},{"name":"Afrihili","code":"afh"},{"name":"Akrukay","code":"afi"},{"name":"Chini","code":"afi"},{"name":"Nanubae","code":"afk"},{"name":"Defaka","code":"afn"},{"name":"Eloyi","code":"afo"},{"name":"Tapei","code":"afp"},{"name":"Afrikaans","code":"afr"},{"name":"Afro-Seminole Creole","code":"afs"},{"name":"Afitti","code":"aft"},{"name":"Awutu","code":"afu"},{"name":"Obokuitai","code":"afz"},{"name":"Aguano","code":"aga"},{"name":"Legbo","code":"agb"},{"name":"Agatu","code":"agc"},{"name":"Agarabi","code":"agd"},{"name":"Angal","code":"age"},{"name":"Arguni","code":"agf"},{"name":"Angor","code":"agg"},{"name":"Ngelima","code":"agh"},{"name":"Agariya","code":"agi"},{"name":"Argobba","code":"agj"},{"name":"Isarog Agta","code":"agk"},{"name":"Fembe","code":"agl"},{"name":"Angaataha","code":"agm"},{"name":"Agutaynen","code":"agn"},{"name":"Tainae","code":"ago"},{"name":"Aghem","code":"agq"},{"name":"Aguaruna","code":"agr"},{"name":"Esimbi","code":"ags"},{"name":"Central Cagayan Agta","code":"agt"},{"name":"Aguacateco","code":"agu"},{"name":"Remontado Dumagat","code":"agv"},{"name":"Kahua","code":"agw"},{"name":"Aghul","code":"agx"},{"name":"Southern Alta","code":"agy"},{"name":"Mt. Iriga Agta","code":"agz"},{"name":"Ahanta","code":"aha"},{"name":"Axamb","code":"ahb"},{"name":"Qimant","code":"ahg"},{"name":"Aghu","code":"ahh"},{"name":"Tiagbamrin Aizi","code":"ahi"},{"name":"Akha","code":"ahk"},{"name":"Igo","code":"ahl"},{"name":"Mobumrin Aizi","code":"ahm"},{"name":"Àhàn","code":"ahn"},{"name":"Ahom","code":"aho"},{"name":"Aproumu Aizi","code":"ahp"},{"name":"Ahirani","code":"ahr"},{"name":"Ashe","code":"ahs"},{"name":"Ahtena","code":"aht"},{"name":"Arosi","code":"aia"},{"name":"Ainu (China)","code":"aib"},{"name":"Ainbai","code":"aic"},{"name":"Alngith","code":"aid"},{"name":"Amara","code":"aie"},{"name":"Agi","code":"aif"},{"name":"Antigua and Barbuda Creole English","code":"aig"},{"name":"Ai-Cham","code":"aih"},{"name":"Assyrian Neo-Aramaic","code":"aii"},{"name":"Lishanid Noshan","code":"aij"},{"name":"Ake","code":"aik"},{"name":"Aimele","code":"ail"},{"name":"Aimol","code":"aim"},{"name":"Ainu (Japan)","code":"ain"},{"name":"Aiton","code":"aio"},{"name":"Burumakok","code":"aip"},{"name":"Aimaq","code":"aiq"},{"name":"Airoran","code":"air"},{"name":"Arikem","code":"ait"},{"name":"Aari","code":"aiw"},{"name":"Aighon","code":"aix"},{"name":"Ali","code":"aiy"},{"name":"Aja (South Sudan)","code":"aja"},{"name":"Aja (Benin)","code":"ajg"},{"name":"Ajië","code":"aji"},{"name":"Andajin","code":"ajn"},{"name":"South Levantine Arabic","code":"ajp"},{"name":"Judeo-Tunisian Arabic","code":"ajt"},{"name":"Judeo-Moroccan Arabic","code":"aju"},{"name":"Ajawa","code":"ajw"},{"name":"Amri Karbi","code":"ajz"},{"name":"Akan","code":"aka"},{"name":"Batak Angkola","code":"akb"},{"name":"Mpur","code":"akc"},{"name":"Ukpet-Ehom","code":"akd"},{"name":"Akawaio","code":"ake"},{"name":"Akpa","code":"akf"},{"name":"Anakalangu","code":"akg"},{"name":"Angal Heneng","code":"akh"},{"name":"Aiome","code":"aki"},{"name":"Aka-Jeru","code":"akj"},{"name":"Akkadian","code":"akk"},{"name":"Aklanon","code":"akl"},{"name":"Aka-Bo","code":"akm"},{"name":"Akurio","code":"ako"},{"name":"Siwu","code":"akp"},{"name":"Ak","code":"akq"},{"name":"Araki","code":"akr"},{"name":"Akaselem","code":"aks"},{"name":"Akolet","code":"akt"},{"name":"Akum","code":"aku"},{"name":"Akhvakh","code":"akv"},{"name":"Akwa","code":"akw"},{"name":"Aka-Kede","code":"akx"},{"name":"Aka-Kol","code":"aky"},{"name":"Alabama","code":"akz"},{"name":"Alago","code":"ala"},{"name":"Qawasqar","code":"alc"},{"name":"Alladian","code":"ald"},{"name":"Aleut","code":"ale"},{"name":"Alege","code":"alf"},{"name":"Alawa","code":"alh"},{"name":"Amaimon","code":"ali"},{"name":"Alangan","code":"alj"},{"name":"Alak","code":"alk"},{"name":"Allar","code":"all"},{"name":"Amblong","code":"alm"},{"name":"Gheg Albanian","code":"aln"},{"name":"Larike-Wakasihu","code":"alo"},{"name":"Alune","code":"alp"},{"name":"Algonquin","code":"alq"},{"name":"Alutor","code":"alr"},{"name":"Tosk Albanian","code":"als"},{"name":"Southern Altai","code":"alt"},{"name":"'Are'are","code":"alu"},{"name":"Alaba-K’abeena","code":"alw"},{"name":"Wanbasana","code":"alw"},{"name":"Amol","code":"alx"},{"name":"Alyawarr","code":"aly"},{"name":"Alur","code":"alz"},{"name":"Amanayé","code":"ama"},{"name":"Ambo","code":"amb"},{"name":"Amahuaca","code":"amc"},{"name":"Yanesha'","code":"ame"},{"name":"Hamer-Banna","code":"amf"},{"name":"Amurdak","code":"amg"},{"name":"Amharic","code":"amh"},{"name":"Amis","code":"ami"},{"name":"Amdang","code":"amj"},{"name":"Ambai","code":"amk"},{"name":"War-Jaintia","code":"aml"},{"name":"Ama (Papua New Guinea)","code":"amm"},{"name":"Amanab","code":"amn"},{"name":"Amo","code":"amo"},{"name":"Alamblak","code":"amp"},{"name":"Amahai","code":"amq"},{"name":"Amarakaeri","code":"amr"},{"name":"Southern Amami-Oshima","code":"ams"},{"name":"Amto","code":"amt"},{"name":"Guerrero Amuzgo","code":"amu"},{"name":"Ambelau","code":"amv"},{"name":"Western Neo-Aramaic","code":"amw"},{"name":"Anmatyerre","code":"amx"},{"name":"Ami","code":"amy"},{"name":"Atampaya","code":"amz"},{"name":"Andaqui","code":"ana"},{"name":"Andoa","code":"anb"},{"name":"Ngas","code":"anc"},{"name":"Ansus","code":"and"},{"name":"Xârâcùù","code":"ane"},{"name":"Animere","code":"anf"},{"name":"Old English (ca. 450-1100)","code":"ang"},{"name":"Nend","code":"anh"},{"name":"Andi","code":"ani"},{"name":"Anor","code":"anj"},{"name":"Goemai","code":"ank"},{"name":"Anu-Hkongso Chin","code":"anl"},{"name":"Anal","code":"anm"},{"name":"Obolo","code":"ann"},{"name":"Andoque","code":"ano"},{"name":"Angika","code":"anp"},{"name":"Jarawa (India)","code":"anq"},{"name":"Andh","code":"anr"},{"name":"Anserma","code":"ans"},{"name":"Antakarinya","code":"ant"},{"name":"Antikarinya","code":"ant"},{"name":"Anuak","code":"anu"},{"name":"Denya","code":"anv"},{"name":"Anaang","code":"anw"},{"name":"Andra-Hus","code":"anx"},{"name":"Anyin","code":"any"},{"name":"Anem","code":"anz"},{"name":"Angolar","code":"aoa"},{"name":"Abom","code":"aob"},{"name":"Pemon","code":"aoc"},{"name":"Andarum","code":"aod"},{"name":"Angal Enen","code":"aoe"},{"name":"Bragat","code":"aof"},{"name":"Angoram","code":"aog"},{"name":"Anindilyakwa","code":"aoi"},{"name":"Mufian","code":"aoj"},{"name":"Arhö","code":"aok"},{"name":"Alor","code":"aol"},{"name":"Ömie","code":"aom"},{"name":"Bumbita Arapesh","code":"aon"},{"name":"Aore","code":"aor"},{"name":"Taikat","code":"aos"},{"name":"A'tong","code":"aot"},{"name":"Atong (India)","code":"aot"},{"name":"A'ou","code":"aou"},{"name":"Atorada","code":"aox"},{"name":"Uab Meto","code":"aoz"},{"name":"Sa'a","code":"apb"},{"name":"North Levantine Arabic","code":"apc"},{"name":"Sudanese Arabic","code":"apd"},{"name":"Bukiyip","code":"ape"},{"name":"Pahanan Agta","code":"apf"},{"name":"Ampanang","code":"apg"},{"name":"Athpariya","code":"aph"},{"name":"Apiaká","code":"api"},{"name":"Jicarilla Apache","code":"apj"},{"name":"Kiowa Apache","code":"apk"},{"name":"Lipan Apache","code":"apl"},{"name":"Mescalero-Chiricahua Apache","code":"apm"},{"name":"Apinayé","code":"apn"},{"name":"Ambul","code":"apo"},{"name":"Apma","code":"app"},{"name":"A-Pucikwar","code":"apq"},{"name":"Arop-Lokep","code":"apr"},{"name":"Arop-Sissano","code":"aps"},{"name":"Apatani","code":"apt"},{"name":"Apurinã","code":"apu"},{"name":"Alapmunte","code":"apv"},{"name":"Western Apache","code":"apw"},{"name":"Aputai","code":"apx"},{"name":"Apalaí","code":"apy"},{"name":"Safeyoka","code":"apz"},{"name":"Archi","code":"aqc"},{"name":"Ampari Dogon","code":"aqd"},{"name":"Arigidi","code":"aqg"},{"name":"Aninka","code":"aqk"},{"name":"Atohwaim","code":"aqm"},{"name":"Northern Alta","code":"aqn"},{"name":"Atakapa","code":"aqp"},{"name":"Arhâ","code":"aqr"},{"name":"Angaité","code":"aqt"},{"name":"Akuntsu","code":"aqz"},{"name":"Arabic","code":"ara"},{"name":"Standard Arabic","code":"arb"},{"name":"Imperial Aramaic (700-300 BCE)","code":"arc"},{"name":"Official Aramaic (700-300 BCE)","code":"arc"},{"name":"Arabana","code":"ard"},{"name":"Western Arrarnta","code":"are"},{"name":"Aragonese","code":"arg"},{"name":"Arhuaco","code":"arh"},{"name":"Arikara","code":"ari"},{"name":"Arapaso","code":"arj"},{"name":"Arikapú","code":"ark"},{"name":"Arabela","code":"arl"},{"name":"Mapuche","code":"arn"},{"name":"Mapudungun","code":"arn"},{"name":"Araona","code":"aro"},{"name":"Arapaho","code":"arp"},{"name":"Algerian Arabic","code":"arq"},{"name":"Karo (Brazil)","code":"arr"},{"name":"Najdi Arabic","code":"ars"},{"name":"Arawá","code":"aru"},{"name":"Aruá (Amazonas State)","code":"aru"},{"name":"Arbore","code":"arv"},{"name":"Arawak","code":"arw"},{"name":"Aruá (Rodonia State)","code":"arx"},{"name":"Moroccan Arabic","code":"ary"},{"name":"Egyptian Arabic","code":"arz"},{"name":"Asu (Tanzania)","code":"asa"},{"name":"Assiniboine","code":"asb"},{"name":"Casuarina Coast Asmat","code":"asc"},{"name":"American Sign Language","code":"ase"},{"name":"Auslan","code":"asf"},{"name":"Australian Sign Language","code":"asf"},{"name":"Cishingini","code":"asg"},{"name":"Abishira","code":"ash"},{"name":"Buruwai","code":"asi"},{"name":"Sari","code":"asj"},{"name":"Ashkun","code":"ask"},{"name":"Asilulu","code":"asl"},{"name":"Assamese","code":"asm"},{"name":"Xingú Asuriní","code":"asn"},{"name":"Dano","code":"aso"},{"name":"Algerian Sign Language","code":"asp"},{"name":"Austrian Sign Language","code":"asq"},{"name":"Asuri","code":"asr"},{"name":"Ipulo","code":"ass"},{"name":"Asturian","code":"ast"},{"name":"Asturleonese","code":"ast"},{"name":"Bable","code":"ast"},{"name":"Leonese","code":"ast"},{"name":"Tocantins Asurini","code":"asu"},{"name":"Asoa","code":"asv"},{"name":"Australian Aborigines Sign Language","code":"asw"},{"name":"Muratayak","code":"asx"},{"name":"Yaosakor Asmat","code":"asy"},{"name":"As","code":"asz"},{"name":"Pele-Ata","code":"ata"},{"name":"Zaiwa","code":"atb"},{"name":"Atsahuaca","code":"atc"},{"name":"Ata Manobo","code":"atd"},{"name":"Atemble","code":"ate"},{"name":"Ivbie North-Okpela-Arhe","code":"atg"},{"name":"Attié","code":"ati"},{"name":"Atikamekw","code":"atj"},{"name":"Ati","code":"atk"},{"name":"Mt. Iraya Agta","code":"atl"},{"name":"Ata","code":"atm"},{"name":"Ashtiani","code":"atn"},{"name":"Atong (Cameroon)","code":"ato"},{"name":"Pudtol Atta","code":"atp"},{"name":"Aralle-Tabulahan","code":"atq"},{"name":"Waimiri-Atroari","code":"atr"},{"name":"Gros Ventre","code":"ats"},{"name":"Pamplona Atta","code":"att"},{"name":"Reel","code":"atu"},{"name":"Northern Altai","code":"atv"},{"name":"Atsugewi","code":"atw"},{"name":"Arutani","code":"atx"},{"name":"Aneityum","code":"aty"},{"name":"Arta","code":"atz"},{"name":"Asumboa","code":"aua"},{"name":"Alugu","code":"aub"},{"name":"Waorani","code":"auc"},{"name":"Anuta","code":"aud"},{"name":"Aguna","code":"aug"},{"name":"Aushi","code":"auh"},{"name":"Anuki","code":"aui"},{"name":"Awjilah","code":"auj"},{"name":"Heyo","code":"auk"},{"name":"Aulua","code":"aul"},{"name":"Asu (Nigeria)","code":"aum"},{"name":"Molmo One","code":"aun"},{"name":"Auyokawa","code":"auo"},{"name":"Makayam","code":"aup"},{"name":"Anus","code":"auq"},{"name":"Korur","code":"auq"},{"name":"Aruek","code":"aur"},{"name":"Austral","code":"aut"},{"name":"Auye","code":"auu"},{"name":"Awyi","code":"auw"},{"name":"Aurá","code":"aux"},{"name":"Awiyaana","code":"auy"},{"name":"Uzbeki Arabic","code":"auz"},{"name":"Avaric","code":"ava"},{"name":"Avau","code":"avb"},{"name":"Alviri-Vidari","code":"avd"},{"name":"Avestan","code":"ave"},{"name":"Avikam","code":"avi"},{"name":"Kotava","code":"avk"},{"name":"Eastern Egyptian Bedawi Arabic","code":"avl"},{"name":"Angkamuthi","code":"avm"},{"name":"Avatime","code":"avn"},{"name":"Agavotaguerra","code":"avo"},{"name":"Aushiri","code":"avs"},{"name":"Au","code":"avt"},{"name":"Avokaya","code":"avu"},{"name":"Avá-Canoeiro","code":"avv"},{"name":"Awadhi","code":"awa"},{"name":"Awa (Papua New Guinea)","code":"awb"},{"name":"Cicipu","code":"awc"},{"name":"Awetí","code":"awe"},{"name":"Anguthimri","code":"awg"},{"name":"Awbono","code":"awh"},{"name":"Aekyom","code":"awi"},{"name":"Awabakal","code":"awk"},{"name":"Arawum","code":"awm"},{"name":"Awngi","code":"awn"},{"name":"Awak","code":"awo"},{"name":"Awera","code":"awr"},{"name":"South Awyu","code":"aws"},{"name":"Araweté","code":"awt"},{"name":"Central Awyu","code":"awu"},{"name":"Jair Awyu","code":"awv"},{"name":"Awun","code":"aww"},{"name":"Awara","code":"awx"},{"name":"Edera Awyu","code":"awy"},{"name":"Abipon","code":"axb"},{"name":"Ayerrerenge","code":"axe"},{"name":"Mato Grosso Arára","code":"axg"},{"name":"Yaka (Central African Republic)","code":"axk"},{"name":"Lower Southern Aranda","code":"axl"},{"name":"Middle Armenian","code":"axm"},{"name":"Xârâgurè","code":"axx"},{"name":"Awar","code":"aya"},{"name":"Ayizo Gbe","code":"ayb"},{"name":"Southern Aymara","code":"ayc"},{"name":"Ayabadhu","code":"ayd"},{"name":"Ayere","code":"aye"},{"name":"Ginyanga","code":"ayg"},{"name":"Hadrami Arabic","code":"ayh"},{"name":"Leyigha","code":"ayi"},{"name":"Akuku","code":"ayk"},{"name":"Libyan Arabic","code":"ayl"},{"name":"Aymara","code":"aym"},{"name":"Sanaani Arabic","code":"ayn"},{"name":"Ayoreo","code":"ayo"},{"name":"North Mesopotamian Arabic","code":"ayp"},{"name":"Ayi (Papua New Guinea)","code":"ayq"},{"name":"Central Aymara","code":"ayr"},{"name":"Sorsogon Ayta","code":"ays"},{"name":"Magbukun Ayta","code":"ayt"},{"name":"Ayu","code":"ayu"},{"name":"Mai Brat","code":"ayz"},{"name":"Azha","code":"aza"},{"name":"South Azerbaijani","code":"azb"},{"name":"Eastern Durango Nahuatl","code":"azd"},{"name":"Azerbaijani","code":"aze"},{"name":"San Pedro Amuzgos Amuzgo","code":"azg"},{"name":"North Azerbaijani","code":"azj"},{"name":"Ipalapa Amuzgo","code":"azm"},{"name":"Western Durango Nahuatl","code":"azn"},{"name":"Awing","code":"azo"},{"name":"Faire Atta","code":"azt"},{"name":"Highland Puebla Nahuatl","code":"azz"},{"name":"Babatana","code":"baa"},{"name":"Bainouk-Gunyuño","code":"bab"},{"name":"Badui","code":"bac"},{"name":"Baré","code":"bae"},{"name":"Nubaca","code":"baf"},{"name":"Tuki","code":"bag"},{"name":"Bahamas Creole English","code":"bah"},{"name":"Barakai","code":"baj"},{"name":"Bashkir","code":"bak"},{"name":"Baluchi","code":"bal"},{"name":"Bambara","code":"bam"},{"name":"Balinese","code":"ban"},{"name":"Waimaha","code":"bao"},{"name":"Bantawa","code":"bap"},{"name":"Bavarian","code":"bar"},{"name":"Basa (Cameroon)","code":"bas"},{"name":"Bada (Nigeria)","code":"bau"},{"name":"Vengo","code":"bav"},{"name":"Bambili-Bambui","code":"baw"},{"name":"Bamun","code":"bax"},{"name":"Batuley","code":"bay"},{"name":"Baatonum","code":"bba"},{"name":"Barai","code":"bbb"},{"name":"Batak Toba","code":"bbc"},{"name":"Bau","code":"bbd"},{"name":"Bangba","code":"bbe"},{"name":"Baibai","code":"bbf"},{"name":"Barama","code":"bbg"},{"name":"Bugan","code":"bbh"},{"name":"Barombi","code":"bbi"},{"name":"Ghomálá'","code":"bbj"},{"name":"Babanki","code":"bbk"},{"name":"Bats","code":"bbl"},{"name":"Babango","code":"bbm"},{"name":"Uneapa","code":"bbn"},{"name":"Konabéré","code":"bbo"},{"name":"Northern Bobo Madaré","code":"bbo"},{"name":"West Central Banda","code":"bbp"},{"name":"Bamali","code":"bbq"},{"name":"Girawa","code":"bbr"},{"name":"Bakpinka","code":"bbs"},{"name":"Mburku","code":"bbt"},{"name":"Kulung (Nigeria)","code":"bbu"},{"name":"Karnai","code":"bbv"},{"name":"Baba","code":"bbw"},{"name":"Bubia","code":"bbx"},{"name":"Befang","code":"bby"},{"name":"Central Bai","code":"bca"},{"name":"Bainouk-Samik","code":"bcb"},{"name":"Southern Balochi","code":"bcc"},{"name":"North Babar","code":"bcd"},{"name":"Bamenyam","code":"bce"},{"name":"Bamu","code":"bcf"},{"name":"Baga Pokur","code":"bcg"},{"name":"Bariai","code":"bch"},{"name":"Baoulé","code":"bci"},{"name":"Bardi","code":"bcj"},{"name":"Bunuba","code":"bck"},{"name":"Central Bikol","code":"bcl"},{"name":"Bannoni","code":"bcm"},{"name":"Bali (Nigeria)","code":"bcn"},{"name":"Kaluli","code":"bco"},{"name":"Bali (Democratic Republic of Congo)","code":"bcp"},{"name":"Bench","code":"bcq"},{"name":"Babine","code":"bcr"},{"name":"Kohumono","code":"bcs"},{"name":"Bendi","code":"bct"},{"name":"Awad Bing","code":"bcu"},{"name":"Shoo-Minda-Nye","code":"bcv"},{"name":"Bana","code":"bcw"},{"name":"Bacama","code":"bcy"},{"name":"Bainouk-Gunyaamolo","code":"bcz"},{"name":"Bayot","code":"bda"},{"name":"Basap","code":"bdb"},{"name":"Emberá-Baudó","code":"bdc"},{"name":"Bunama","code":"bdd"},{"name":"Bade","code":"bde"},{"name":"Biage","code":"bdf"},{"name":"Bonggi","code":"bdg"},{"name":"Baka (South Sudan)","code":"bdh"},{"name":"Burun","code":"bdi"},{"name":"Bai","code":"bdj"},{"name":"Bai (South Sudan)","code":"bdj"},{"name":"Budukh","code":"bdk"},{"name":"Indonesian Bajau","code":"bdl"},{"name":"Buduma","code":"bdm"},{"name":"Baldemu","code":"bdn"},{"name":"Morom","code":"bdo"},{"name":"Bende","code":"bdp"},{"name":"Bahnar","code":"bdq"},{"name":"West Coast Bajau","code":"bdr"},{"name":"Burunge","code":"bds"},{"name":"Bokoto","code":"bdt"},{"name":"Oroko","code":"bdu"},{"name":"Bodo Parja","code":"bdv"},{"name":"Baham","code":"bdw"},{"name":"Budong-Budong","code":"bdx"},{"name":"Bandjalang","code":"bdy"},{"name":"Badeshi","code":"bdz"},{"name":"Beaver","code":"bea"},{"name":"Bebele","code":"beb"},{"name":"Iceve-Maci","code":"bec"},{"name":"Bedoanas","code":"bed"},{"name":"Byangsi","code":"bee"},{"name":"Benabena","code":"bef"},{"name":"Belait","code":"beg"},{"name":"Biali","code":"beh"},{"name":"Bekati'","code":"bei"},{"name":"Bedawiyet","code":"bej"},{"name":"Beja","code":"bej"},{"name":"Bebeli","code":"bek"},{"name":"Belarusian","code":"bel"},{"name":"Bemba (Zambia)","code":"bem"},{"name":"Bengali","code":"ben"},{"name":"Beami","code":"beo"},{"name":"Besoa","code":"bep"},{"name":"Beembe","code":"beq"},{"name":"Besme","code":"bes"},{"name":"Guiberoua Béte","code":"bet"},{"name":"Blagar","code":"beu"},{"name":"Daloa Bété","code":"bev"},{"name":"Betawi","code":"bew"},{"name":"Jur Modo","code":"bex"},{"name":"Beli (Papua New Guinea)","code":"bey"},{"name":"Bena (Tanzania)","code":"bez"},{"name":"Bari","code":"bfa"},{"name":"Pauri Bareli","code":"bfb"},{"name":"Northern Bai","code":"bfc"},{"name":"Panyi Bai","code":"bfc"},{"name":"Bafut","code":"bfd"},{"name":"Betaf","code":"bfe"},{"name":"Tena","code":"bfe"},{"name":"Bofi","code":"bff"},{"name":"Busang Kayan","code":"bfg"},{"name":"Blafe","code":"bfh"},{"name":"British Sign Language","code":"bfi"},{"name":"Bafanji","code":"bfj"},{"name":"Ban Khor Sign Language","code":"bfk"},{"name":"Banda-Ndélé","code":"bfl"},{"name":"Mmen","code":"bfm"},{"name":"Bunak","code":"bfn"},{"name":"Malba Birifor","code":"bfo"},{"name":"Beba","code":"bfp"},{"name":"Badaga","code":"bfq"},{"name":"Bazigar","code":"bfr"},{"name":"Southern Bai","code":"bfs"},{"name":"Balti","code":"bft"},{"name":"Gahri","code":"bfu"},{"name":"Bondo","code":"bfw"},{"name":"Bantayanon","code":"bfx"},{"name":"Bagheli","code":"bfy"},{"name":"Mahasu Pahari","code":"bfz"},{"name":"Gwamhi-Wuri","code":"bga"},{"name":"Bobongko","code":"bgb"},{"name":"Haryanvi","code":"bgc"},{"name":"Rathwi Bareli","code":"bgd"},{"name":"Bauria","code":"bge"},{"name":"Bangandu","code":"bgf"},{"name":"Bugun","code":"bgg"},{"name":"Giangan","code":"bgi"},{"name":"Bangolan","code":"bgj"},{"name":"Bit","code":"bgk"},{"name":"Buxinhua","code":"bgk"},{"name":"Bo (Laos)","code":"bgl"},{"name":"Western Balochi","code":"bgn"},{"name":"Baga Koga","code":"bgo"},{"name":"Eastern Balochi","code":"bgp"},{"name":"Bagri","code":"bgq"},{"name":"Bawm Chin","code":"bgr"},{"name":"Tagabawa","code":"bgs"},{"name":"Bughotu","code":"bgt"},{"name":"Mbongno","code":"bgu"},{"name":"Warkay-Bipim","code":"bgv"},{"name":"Bhatri","code":"bgw"},{"name":"Balkan Gagauz Turkish","code":"bgx"},{"name":"Benggoi","code":"bgy"},{"name":"Banggai","code":"bgz"},{"name":"Bharia","code":"bha"},{"name":"Bhili","code":"bhb"},{"name":"Biga","code":"bhc"},{"name":"Bhadrawahi","code":"bhd"},{"name":"Bhaya","code":"bhe"},{"name":"Odiai","code":"bhf"},{"name":"Binandere","code":"bhg"},{"name":"Bukharic","code":"bhh"},{"name":"Bhilali","code":"bhi"},{"name":"Bahing","code":"bhj"},{"name":"Bimin","code":"bhl"},{"name":"Bathari","code":"bhm"},{"name":"Bohtan Neo-Aramaic","code":"bhn"},{"name":"Bhojpuri","code":"bho"},{"name":"Bima","code":"bhp"},{"name":"Tukang Besi South","code":"bhq"},{"name":"Bara Malagasy","code":"bhr"},{"name":"Buwal","code":"bhs"},{"name":"Bhattiyali","code":"bht"},{"name":"Bhunjia","code":"bhu"},{"name":"Bahau","code":"bhv"},{"name":"Biak","code":"bhw"},{"name":"Bhalay","code":"bhx"},{"name":"Bhele","code":"bhy"},{"name":"Bada (Indonesia)","code":"bhz"},{"name":"Badimaya","code":"bia"},{"name":"Bisa","code":"bib"},{"name":"Bissa","code":"bib"},{"name":"Bidiyo","code":"bid"},{"name":"Bepour","code":"bie"},{"name":"Biafada","code":"bif"},{"name":"Biangai","code":"big"},{"name":"Bikol","code":"bik"},{"name":"Bile","code":"bil"},{"name":"Bimoba","code":"bim"},{"name":"Bini","code":"bin"},{"name":"Edo","code":"bin"},{"name":"Nai","code":"bio"},{"name":"Bila","code":"bip"},{"name":"Bipi","code":"biq"},{"name":"Bisorio","code":"bir"},{"name":"Bislama","code":"bis"},{"name":"Berinomo","code":"bit"},{"name":"Biete","code":"biu"},{"name":"Southern Birifor","code":"biv"},{"name":"Kol (Cameroon)","code":"biw"},{"name":"Bijori","code":"bix"},{"name":"Birhor","code":"biy"},{"name":"Baloi","code":"biz"},{"name":"Budza","code":"bja"},{"name":"Banggarla","code":"bjb"},{"name":"Bariji","code":"bjc"},{"name":"Biao-Jiao Mien","code":"bje"},{"name":"Barzani Jewish Neo-Aramaic","code":"bjf"},{"name":"Bidyogo","code":"bjg"},{"name":"Bahinemo","code":"bjh"},{"name":"Burji","code":"bji"},{"name":"Kanauji","code":"bjj"},{"name":"Barok","code":"bjk"},{"name":"Bulu (Papua New Guinea)","code":"bjl"},{"name":"Bajelani","code":"bjm"},{"name":"Banjar","code":"bjn"},{"name":"Mid-Southern Banda","code":"bjo"},{"name":"Fanamaket","code":"bjp"},{"name":"Binumarien","code":"bjr"},{"name":"Bajan","code":"bjs"},{"name":"Balanta-Ganja","code":"bjt"},{"name":"Busuu","code":"bju"},{"name":"Bedjond","code":"bjv"},{"name":"Bakwé","code":"bjw"},{"name":"Banao Itneg","code":"bjx"},{"name":"Bayali","code":"bjy"},{"name":"Baruga","code":"bjz"},{"name":"Kyak","code":"bka"},{"name":"Baka (Cameroon)","code":"bkc"},{"name":"Binukid","code":"bkd"},{"name":"Talaandig","code":"bkd"},{"name":"Beeke","code":"bkf"},{"name":"Buraka","code":"bkg"},{"name":"Bakoko","code":"bkh"},{"name":"Baki","code":"bki"},{"name":"Pande","code":"bkj"},{"name":"Brokskat","code":"bkk"},{"name":"Berik","code":"bkl"},{"name":"Kom (Cameroon)","code":"bkm"},{"name":"Bukitan","code":"bkn"},{"name":"Kwa'","code":"bko"},{"name":"Boko (Democratic Republic of Congo)","code":"bkp"},{"name":"Bakairí","code":"bkq"},{"name":"Bakumpai","code":"bkr"},{"name":"Northern Sorsoganon","code":"bks"},{"name":"Boloki","code":"bkt"},{"name":"Buhid","code":"bku"},{"name":"Bekwarra","code":"bkv"},{"name":"Bekwel","code":"bkw"},{"name":"Baikeno","code":"bkx"},{"name":"Bokyi","code":"bky"},{"name":"Bungku","code":"bkz"},{"name":"Siksika","code":"bla"},{"name":"Bilua","code":"blb"},{"name":"Bella Coola","code":"blc"},{"name":"Bolango","code":"bld"},{"name":"Balanta-Kentohe","code":"ble"},{"name":"Buol","code":"blf"},{"name":"Kuwaa","code":"blh"},{"name":"Bolia","code":"bli"},{"name":"Bolongan","code":"blj"},{"name":"Pa'O","code":"blk"},{"name":"Pa'o Karen","code":"blk"},{"name":"Biloxi","code":"bll"},{"name":"Beli (South Sudan)","code":"blm"},{"name":"Southern Catanduanes Bikol","code":"bln"},{"name":"Anii","code":"blo"},{"name":"Blablanga","code":"blp"},{"name":"Baluan-Pam","code":"blq"},{"name":"Blang","code":"blr"},{"name":"Balaesang","code":"bls"},{"name":"Tai Dam","code":"blt"},{"name":"Bolo","code":"blv"},{"name":"Kibala","code":"blv"},{"name":"Balangao","code":"blw"},{"name":"Mag-Indi Ayta","code":"blx"},{"name":"Notre","code":"bly"},{"name":"Balantak","code":"blz"},{"name":"Lame","code":"bma"},{"name":"Bembe","code":"bmb"},{"name":"Biem","code":"bmc"},{"name":"Baga Manduri","code":"bmd"},{"name":"Limassa","code":"bme"},{"name":"Bom-Kim","code":"bmf"},{"name":"Bamwe","code":"bmg"},{"name":"Kein","code":"bmh"},{"name":"Bagirmi","code":"bmi"},{"name":"Bote-Majhi","code":"bmj"},{"name":"Ghayavi","code":"bmk"},{"name":"Bomboli","code":"bml"},{"name":"Northern Betsimisaraka Malagasy","code":"bmm"},{"name":"Bina (Papua New Guinea)","code":"bmn"},{"name":"Bambalang","code":"bmo"},{"name":"Bulgebi","code":"bmp"},{"name":"Bomu","code":"bmq"},{"name":"Muinane","code":"bmr"},{"name":"Bilma Kanuri","code":"bms"},{"name":"Biao Mon","code":"bmt"},{"name":"Somba-Siawari","code":"bmu"},{"name":"Bum","code":"bmv"},{"name":"Bomwali","code":"bmw"},{"name":"Baimak","code":"bmx"},{"name":"Baramu","code":"bmz"},{"name":"Bonerate","code":"bna"},{"name":"Bookan","code":"bnb"},{"name":"Bontok","code":"bnc"},{"name":"Banda (Indonesia)","code":"bnd"},{"name":"Bintauna","code":"bne"},{"name":"Masiwang","code":"bnf"},{"name":"Benga","code":"bng"},{"name":"Bangi","code":"bni"},{"name":"Eastern Tawbuid","code":"bnj"},{"name":"Bierebo","code":"bnk"},{"name":"Boon","code":"bnl"},{"name":"Batanga","code":"bnm"},{"name":"Bunun","code":"bnn"},{"name":"Bantoanon","code":"bno"},{"name":"Bola","code":"bnp"},{"name":"Bantik","code":"bnq"},{"name":"Butmas-Tur","code":"bnr"},{"name":"Bundeli","code":"bns"},{"name":"Bentong","code":"bnu"},{"name":"Beneraf","code":"bnv"},{"name":"Bonerif","code":"bnv"},{"name":"Edwas","code":"bnv"},{"name":"Bisis","code":"bnw"},{"name":"Bangubangu","code":"bnx"},{"name":"Bintulu","code":"bny"},{"name":"Beezen","code":"bnz"},{"name":"Bora","code":"boa"},{"name":"Aweer","code":"bob"},{"name":"Tibetan","code":"bod"},{"name":"Mundabli","code":"boe"},{"name":"Bolon","code":"bof"},{"name":"Bamako Sign Language","code":"bog"},{"name":"Boma","code":"boh"},{"name":"Barbareño","code":"boi"},{"name":"Anjam","code":"boj"},{"name":"Bonjo","code":"bok"},{"name":"Bole","code":"bol"},{"name":"Berom","code":"bom"},{"name":"Bine","code":"bon"},{"name":"Tiemacèwè Bozo","code":"boo"},{"name":"Bonkiman","code":"bop"},{"name":"Bogaya","code":"boq"},{"name":"Borôro","code":"bor"},{"name":"Bosnian","code":"bos"},{"name":"Bongo","code":"bot"},{"name":"Bondei","code":"bou"},{"name":"Tuwuli","code":"bov"},{"name":"Rema","code":"bow"},{"name":"Buamu","code":"box"},{"name":"Bodo (Central African Republic)","code":"boy"},{"name":"Tiéyaxo Bozo","code":"boz"},{"name":"Daakaka","code":"bpa"},{"name":"Banda-Banda","code":"bpd"},{"name":"Bauni","code":"bpe"},{"name":"Bonggo","code":"bpg"},{"name":"Botlikh","code":"bph"},{"name":"Bagupi","code":"bpi"},{"name":"Binji","code":"bpj"},{"name":"'Ôrôê","code":"bpk"},{"name":"Orowe","code":"bpk"},{"name":"Broome Pearling Lugger Pidgin","code":"bpl"},{"name":"Biyom","code":"bpm"},{"name":"Dzao Min","code":"bpn"},{"name":"Anasi","code":"bpo"},{"name":"Kaure","code":"bpp"},{"name":"Banda Malay","code":"bpq"},{"name":"Koronadal Blaan","code":"bpr"},{"name":"Sarangani Blaan","code":"bps"},{"name":"Barrow Point","code":"bpt"},{"name":"Bongu","code":"bpu"},{"name":"Bian Marind","code":"bpv"},{"name":"Bo (Papua New Guinea)","code":"bpw"},{"name":"Palya Bareli","code":"bpx"},{"name":"Bishnupriya","code":"bpy"},{"name":"Bilba","code":"bpz"},{"name":"Tchumbuli","code":"bqa"},{"name":"Bagusa","code":"bqb"},{"name":"Boko (Benin)","code":"bqc"},{"name":"Boo","code":"bqc"},{"name":"Bung","code":"bqd"},{"name":"Baga Kaloum","code":"bqf"},{"name":"Bago-Kusuntu","code":"bqg"},{"name":"Baima","code":"bqh"},{"name":"Bakhtiari","code":"bqi"},{"name":"Bandial","code":"bqj"},{"name":"Banda-Mbrès","code":"bqk"},{"name":"Bilakura","code":"bql"},{"name":"Wumboko","code":"bqm"},{"name":"Bulgarian Sign Language","code":"bqn"},{"name":"Balo","code":"bqo"},{"name":"Busa","code":"bqp"},{"name":"Biritai","code":"bqq"},{"name":"Burusu","code":"bqr"},{"name":"Bosngun","code":"bqs"},{"name":"Bamukumbit","code":"bqt"},{"name":"Boguru","code":"bqu"},{"name":"Begbere-Ejar","code":"bqv"},{"name":"Koro Wachi","code":"bqv"},{"name":"Buru (Nigeria)","code":"bqw"},{"name":"Baangi","code":"bqx"},{"name":"Bengkala Sign Language","code":"bqy"},{"name":"Bakaka","code":"bqz"},{"name":"Braj","code":"bra"},{"name":"Lave","code":"brb"},{"name":"Berbice Creole Dutch","code":"brc"},{"name":"Baraamu","code":"brd"},{"name":"Breton","code":"bre"},{"name":"Bira","code":"brf"},{"name":"Baure","code":"brg"},{"name":"Brahui","code":"brh"},{"name":"Mokpwe","code":"bri"},{"name":"Bieria","code":"brj"},{"name":"Birked","code":"brk"},{"name":"Birwa","code":"brl"},{"name":"Barambu","code":"brm"},{"name":"Boruca","code":"brn"},{"name":"Brokkat","code":"bro"},{"name":"Barapasi","code":"brp"},{"name":"Breri","code":"brq"},{"name":"Birao","code":"brr"},{"name":"Baras","code":"brs"},{"name":"Bitare","code":"brt"},{"name":"Eastern Bru","code":"bru"},{"name":"Western Bru","code":"brv"},{"name":"Bellari","code":"brw"},{"name":"Bodo (India)","code":"brx"},{"name":"Burui","code":"bry"},{"name":"Bilbil","code":"brz"},{"name":"Abinomn","code":"bsa"},{"name":"Brunei Bisaya","code":"bsb"},{"name":"Bassari","code":"bsc"},{"name":"Oniyan","code":"bsc"},{"name":"Wushi","code":"bse"},{"name":"Bauchi","code":"bsf"},{"name":"Bashkardi","code":"bsg"},{"name":"Kati","code":"bsh"},{"name":"Bassossi","code":"bsi"},{"name":"Bangwinji","code":"bsj"},{"name":"Burushaski","code":"bsk"},{"name":"Basa-Gumna","code":"bsl"},{"name":"Busami","code":"bsm"},{"name":"Barasana-Eduria","code":"bsn"},{"name":"Buso","code":"bso"},{"name":"Baga Sitemu","code":"bsp"},{"name":"Bassa","code":"bsq"},{"name":"Bassa-Kontagora","code":"bsr"},{"name":"Akoose","code":"bss"},{"name":"Basketo","code":"bst"},{"name":"Bahonsuai","code":"bsu"},{"name":"Baga Sobané","code":"bsv"},{"name":"Baiso","code":"bsw"},{"name":"Yangkam","code":"bsx"},{"name":"Sabah Bisaya","code":"bsy"},{"name":"Bata","code":"bta"},{"name":"Bati (Cameroon)","code":"btc"},{"name":"Batak Dairi","code":"btd"},{"name":"Gamo-Ningi","code":"bte"},{"name":"Birgit","code":"btf"},{"name":"Gagnoa Bété","code":"btg"},{"name":"Biatah Bidayuh","code":"bth"},{"name":"Burate","code":"bti"},{"name":"Bacanese Malay","code":"btj"},{"name":"Batak Mandailing","code":"btm"},{"name":"Ratagnon","code":"btn"},{"name":"Rinconada Bikol","code":"bto"},{"name":"Budibud","code":"btp"},{"name":"Batek","code":"btq"},{"name":"Baetora","code":"btr"},{"name":"Batak Simalungun","code":"bts"},{"name":"Bete-Bendi","code":"btt"},{"name":"Batu","code":"btu"},{"name":"Bateri","code":"btv"},{"name":"Butuanon","code":"btw"},{"name":"Batak Karo","code":"btx"},{"name":"Bobot","code":"bty"},{"name":"Batak Alas-Kluet","code":"btz"},{"name":"Buriat","code":"bua"},{"name":"Bua","code":"bub"},{"name":"Bushi","code":"buc"},{"name":"Ntcham","code":"bud"},{"name":"Beothuk","code":"bue"},{"name":"Bushoong","code":"buf"},{"name":"Buginese","code":"bug"},{"name":"Younuo Bunu","code":"buh"},{"name":"Bongili","code":"bui"},{"name":"Basa-Gurmana","code":"buj"},{"name":"Bugawac","code":"buk"},{"name":"Bulgarian","code":"bul"},{"name":"Bulu (Cameroon)","code":"bum"},{"name":"Sherbro","code":"bun"},{"name":"Terei","code":"buo"},{"name":"Busoa","code":"bup"},{"name":"Brem","code":"buq"},{"name":"Bokobaru","code":"bus"},{"name":"Bungain","code":"but"},{"name":"Budu","code":"buu"},{"name":"Bun","code":"buv"},{"name":"Bubi","code":"buw"},{"name":"Boghom","code":"bux"},{"name":"Bullom So","code":"buy"},{"name":"Bukwen","code":"buz"},{"name":"Barein","code":"bva"},{"name":"Bube","code":"bvb"},{"name":"Baelelea","code":"bvc"},{"name":"Baeggu","code":"bvd"},{"name":"Berau Malay","code":"bve"},{"name":"Boor","code":"bvf"},{"name":"Bonkeng","code":"bvg"},{"name":"Bure","code":"bvh"},{"name":"Belanda Viri","code":"bvi"},{"name":"Baan","code":"bvj"},{"name":"Bukat","code":"bvk"},{"name":"Bolivian Sign Language","code":"bvl"},{"name":"Bamunka","code":"bvm"},{"name":"Buna","code":"bvn"},{"name":"Bolgo","code":"bvo"},{"name":"Bumang","code":"bvp"},{"name":"Birri","code":"bvq"},{"name":"Burarra","code":"bvr"},{"name":"Bati (Indonesia)","code":"bvt"},{"name":"Bukit Malay","code":"bvu"},{"name":"Baniva","code":"bvv"},{"name":"Boga","code":"bvw"},{"name":"Dibole","code":"bvx"},{"name":"Baybayanon","code":"bvy"},{"name":"Bauzi","code":"bvz"},{"name":"Bwatoo","code":"bwa"},{"name":"Namosi-Naitasiri-Serua","code":"bwb"},{"name":"Bwile","code":"bwc"},{"name":"Bwaidoka","code":"bwd"},{"name":"Bwe Karen","code":"bwe"},{"name":"Boselewa","code":"bwf"},{"name":"Barwe","code":"bwg"},{"name":"Bishuo","code":"bwh"},{"name":"Baniwa","code":"bwi"},{"name":"Láá Láá Bwamu","code":"bwj"},{"name":"Bauwaki","code":"bwk"},{"name":"Bwela","code":"bwl"},{"name":"Biwat","code":"bwm"},{"name":"Wunai Bunu","code":"bwn"},{"name":"Borna (Ethiopia)","code":"bwo"},{"name":"Boro (Ethiopia)","code":"bwo"},{"name":"Mandobo Bawah","code":"bwp"},{"name":"Southern Bobo Madaré","code":"bwq"},{"name":"Bura-Pabir","code":"bwr"},{"name":"Bomboma","code":"bws"},{"name":"Bafaw-Balong","code":"bwt"},{"name":"Buli (Ghana)","code":"bwu"},{"name":"Bwa","code":"bww"},{"name":"Bu-Nao Bunu","code":"bwx"},{"name":"Cwi Bwamu","code":"bwy"},{"name":"Bwisi","code":"bwz"},{"name":"Tairaha","code":"bxa"},{"name":"Belanda Bor","code":"bxb"},{"name":"Molengue","code":"bxc"},{"name":"Pela","code":"bxd"},{"name":"Birale","code":"bxe"},{"name":"Bilur","code":"bxf"},{"name":"Minigir","code":"bxf"},{"name":"Bangala","code":"bxg"},{"name":"Buhutu","code":"bxh"},{"name":"Pirlatapa","code":"bxi"},{"name":"Bayungu","code":"bxj"},{"name":"Bukusu","code":"bxk"},{"name":"Lubukusu","code":"bxk"},{"name":"Jalkunan","code":"bxl"},{"name":"Mongolia Buriat","code":"bxm"},{"name":"Burduna","code":"bxn"},{"name":"Barikanchi","code":"bxo"},{"name":"Bebil","code":"bxp"},{"name":"Beele","code":"bxq"},{"name":"Russia Buriat","code":"bxr"},{"name":"Busam","code":"bxs"},{"name":"China Buriat","code":"bxu"},{"name":"Berakou","code":"bxv"},{"name":"Bankagooma","code":"bxw"},{"name":"Binahari","code":"bxz"},{"name":"Batak","code":"bya"},{"name":"Bikya","code":"byb"},{"name":"Ubaghara","code":"byc"},{"name":"Benyadu'","code":"byd"},{"name":"Pouye","code":"bye"},{"name":"Bete","code":"byf"},{"name":"Baygo","code":"byg"},{"name":"Bhujel","code":"byh"},{"name":"Buyu","code":"byi"},{"name":"Bina (Nigeria)","code":"byj"},{"name":"Biao","code":"byk"},{"name":"Bayono","code":"byl"},{"name":"Bidjara","code":"bym"},{"name":"Bilin","code":"byn"},{"name":"Blin","code":"byn"},{"name":"Biyo","code":"byo"},{"name":"Bumaji","code":"byp"},{"name":"Basay","code":"byq"},{"name":"Baruya","code":"byr"},{"name":"Yipma","code":"byr"},{"name":"Burak","code":"bys"},{"name":"Berti","code":"byt"},{"name":"Medumba","code":"byv"},{"name":"Belhariya","code":"byw"},{"name":"Qaqet","code":"byx"},{"name":"Banaro","code":"byz"},{"name":"Bandi","code":"bza"},{"name":"Andio","code":"bzb"},{"name":"Southern Betsimisaraka Malagasy","code":"bzc"},{"name":"Bribri","code":"bzd"},{"name":"Jenaama Bozo","code":"bze"},{"name":"Boikin","code":"bzf"},{"name":"Babuza","code":"bzg"},{"name":"Mapos Buang","code":"bzh"},{"name":"Bisu","code":"bzi"},{"name":"Belize Kriol English","code":"bzj"},{"name":"Nicaragua Creole English","code":"bzk"},{"name":"Boano (Sulawesi)","code":"bzl"},{"name":"Bolondo","code":"bzm"},{"name":"Boano (Maluku)","code":"bzn"},{"name":"Bozaba","code":"bzo"},{"name":"Kemberano","code":"bzp"},{"name":"Buli (Indonesia)","code":"bzq"},{"name":"Biri","code":"bzr"},{"name":"Brazilian Sign Language","code":"bzs"},{"name":"Brithenig","code":"bzt"},{"name":"Burmeso","code":"bzu"},{"name":"Naami","code":"bzv"},{"name":"Basa (Nigeria)","code":"bzw"},{"name":"Kɛlɛngaxo Bozo","code":"bzx"},{"name":"Obanliku","code":"bzy"},{"name":"Evant","code":"bzz"},{"name":"Chortí","code":"caa"},{"name":"Garifuna","code":"cab"},{"name":"Chuj","code":"cac"},{"name":"Caddo","code":"cad"},{"name":"Laalaa","code":"cae"},{"name":"Lehar","code":"cae"},{"name":"Southern Carrier","code":"caf"},{"name":"Nivaclé","code":"cag"},{"name":"Cahuarano","code":"cah"},{"name":"Chané","code":"caj"},{"name":"Cakchiquel","code":"cak"},{"name":"Kaqchikel","code":"cak"},{"name":"Carolinian","code":"cal"},{"name":"Cemuhî","code":"cam"},{"name":"Chambri","code":"can"},{"name":"Chácobo","code":"cao"},{"name":"Chipaya","code":"cap"},{"name":"Car Nicobarese","code":"caq"},{"name":"Galibi Carib","code":"car"},{"name":"Tsimané","code":"cas"},{"name":"Catalan","code":"cat"},{"name":"Valencian","code":"cat"},{"name":"Cavineña","code":"cav"},{"name":"Callawalla","code":"caw"},{"name":"Chiquitano","code":"cax"},{"name":"Cayuga","code":"cay"},{"name":"Canichana","code":"caz"},{"name":"Cabiyarí","code":"cbb"},{"name":"Carapana","code":"cbc"},{"name":"Carijona","code":"cbd"},{"name":"Chimila","code":"cbg"},{"name":"Chachi","code":"cbi"},{"name":"Ede Cabe","code":"cbj"},{"name":"Chavacano","code":"cbk"},{"name":"Bualkhaw Chin","code":"cbl"},{"name":"Nyahkur","code":"cbn"},{"name":"Izora","code":"cbo"},{"name":"Cuba","code":"cbq"},{"name":"Tsucuba","code":"cbq"},{"name":"Cashibo-Cacataibo","code":"cbr"},{"name":"Cashinahua","code":"cbs"},{"name":"Chayahuita","code":"cbt"},{"name":"Candoshi-Shapra","code":"cbu"},{"name":"Cacua","code":"cbv"},{"name":"Kinabalian","code":"cbw"},{"name":"Carabayo","code":"cby"},{"name":"Chamicuro","code":"ccc"},{"name":"Cafundo Creole","code":"ccd"},{"name":"Chopi","code":"cce"},{"name":"Samba Daka","code":"ccg"},{"name":"Atsam","code":"cch"},{"name":"Kasanga","code":"ccj"},{"name":"Cutchi-Swahili","code":"ccl"},{"name":"Malaccan Creole Malay","code":"ccm"},{"name":"Comaltepec Chinantec","code":"cco"},{"name":"Chakma","code":"ccp"},{"name":"Cacaopera","code":"ccr"},{"name":"Choni","code":"cda"},{"name":"Chenchu","code":"cde"},{"name":"Chiru","code":"cdf"},{"name":"Chambeali","code":"cdh"},{"name":"Chodri","code":"cdi"},{"name":"Churahi","code":"cdj"},{"name":"Chepang","code":"cdm"},{"name":"Chaudangsi","code":"cdn"},{"name":"Min Dong Chinese","code":"cdo"},{"name":"Cinda-Regi-Tiyal","code":"cdr"},{"name":"Chadian Sign Language","code":"cds"},{"name":"Chadong","code":"cdy"},{"name":"Koda","code":"cdz"},{"name":"Lower Chehalis","code":"cea"},{"name":"Cebuano","code":"ceb"},{"name":"Chamacoco","code":"ceg"},{"name":"Eastern Khumi Chin","code":"cek"},{"name":"Cen","code":"cen"},{"name":"Czech","code":"ces"},{"name":"Centúúm","code":"cet"},{"name":"Ekai Chin","code":"cey"},{"name":"Dijim-Bwilim","code":"cfa"},{"name":"Cara","code":"cfd"},{"name":"Como Karim","code":"cfg"},{"name":"Falam Chin","code":"cfm"},{"name":"Changriwa","code":"cga"},{"name":"Kagayanen","code":"cgc"},{"name":"Chiga","code":"cgg"},{"name":"Chocangacakha","code":"cgk"},{"name":"Chamorro","code":"cha"},{"name":"Chibcha","code":"chb"},{"name":"Catawba","code":"chc"},{"name":"Highland Oaxaca Chontal","code":"chd"},{"name":"Chechen","code":"che"},{"name":"Tabasco Chontal","code":"chf"},{"name":"Chagatai","code":"chg"},{"name":"Chinook","code":"chh"},{"name":"Ojitlán Chinantec","code":"chj"},{"name":"Chuukese","code":"chk"},{"name":"Cahuilla","code":"chl"},{"name":"Mari (Russia)","code":"chm"},{"name":"Chinook jargon","code":"chn"},{"name":"Choctaw","code":"cho"},{"name":"Chipewyan","code":"chp"},{"name":"Dene Suline","code":"chp"},{"name":"Quiotepec Chinantec","code":"chq"},{"name":"Cherokee","code":"chr"},{"name":"Cholón","code":"cht"},{"name":"Church Slavic","code":"chu"},{"name":"Church Slavonic","code":"chu"},{"name":"Old Bulgarian","code":"chu"},{"name":"Old Church Slavonic","code":"chu"},{"name":"Old Slavonic","code":"chu"},{"name":"Chuvash","code":"chv"},{"name":"Chuwabu","code":"chw"},{"name":"Chantyal","code":"chx"},{"name":"Cheyenne","code":"chy"},{"name":"Ozumacín Chinantec","code":"chz"},{"name":"Cia-Cia","code":"cia"},{"name":"Ci Gbe","code":"cib"},{"name":"Chickasaw","code":"cic"},{"name":"Chimariko","code":"cid"},{"name":"Cineni","code":"cie"},{"name":"Chinali","code":"cih"},{"name":"Chitkuli Kinnauri","code":"cik"},{"name":"Cimbrian","code":"cim"},{"name":"Cinta Larga","code":"cin"},{"name":"Chiapanec","code":"cip"},{"name":"Haméa","code":"cir"},{"name":"Méa","code":"cir"},{"name":"Tiri","code":"cir"},{"name":"Chippewa","code":"ciw"},{"name":"Chaima","code":"ciy"},{"name":"Western Cham","code":"cja"},{"name":"Chru","code":"cje"},{"name":"Upper Chehalis","code":"cjh"},{"name":"Chamalal","code":"cji"},{"name":"Chokwe","code":"cjk"},{"name":"Eastern Cham","code":"cjm"},{"name":"Chenapian","code":"cjn"},{"name":"Ashéninka Pajonal","code":"cjo"},{"name":"Cabécar","code":"cjp"},{"name":"Shor","code":"cjs"},{"name":"Chuave","code":"cjv"},{"name":"Jinyu Chinese","code":"cjy"},{"name":"Central Kurdish","code":"ckb"},{"name":"Chak","code":"ckh"},{"name":"Cibak","code":"ckl"},{"name":"Chakavian","code":"ckm"},{"name":"Kaang Chin","code":"ckn"},{"name":"Anufo","code":"cko"},{"name":"Kajakse","code":"ckq"},{"name":"Kairak","code":"ckr"},{"name":"Tayo","code":"cks"},{"name":"Chukot","code":"ckt"},{"name":"Koasati","code":"cku"},{"name":"Kavalan","code":"ckv"},{"name":"Caka","code":"ckx"},{"name":"Cakfem-Mushere","code":"cky"},{"name":"Cakchiquel-Quiché Mixed Language","code":"ckz"},{"name":"Ron","code":"cla"},{"name":"Chilcotin","code":"clc"},{"name":"Chaldean Neo-Aramaic","code":"cld"},{"name":"Lealao Chinantec","code":"cle"},{"name":"Chilisso","code":"clh"},{"name":"Chakali","code":"cli"},{"name":"Laitu Chin","code":"clj"},{"name":"Idu-Mishmi","code":"clk"},{"name":"Chala","code":"cll"},{"name":"Clallam","code":"clm"},{"name":"Lowland Oaxaca Chontal","code":"clo"},{"name":"Lautu Chin","code":"clt"},{"name":"Caluyanun","code":"clu"},{"name":"Chulym","code":"clw"},{"name":"Eastern Highland Chatino","code":"cly"},{"name":"Maa","code":"cma"},{"name":"Cerma","code":"cme"},{"name":"Classical Mongolian","code":"cmg"},{"name":"Emberá-Chamí","code":"cmi"},{"name":"Campalagian","code":"cml"},{"name":"Michigamea","code":"cmm"},{"name":"Mandarin Chinese","code":"cmn"},{"name":"Central Mnong","code":"cmo"},{"name":"Mro-Khimi Chin","code":"cmr"},{"name":"Messapic","code":"cms"},{"name":"Camtho","code":"cmt"},{"name":"Changthang","code":"cna"},{"name":"Chinbon Chin","code":"cnb"},{"name":"Côông","code":"cnc"},{"name":"Northern Qiang","code":"cng"},{"name":"Haka Chin","code":"cnh"},{"name":"Hakha Chin","code":"cnh"},{"name":"Asháninka","code":"cni"},{"name":"Khumi Chin","code":"cnk"},{"name":"Lalana Chinantec","code":"cnl"},{"name":"Con","code":"cno"},{"name":"Northern Ping Chinese","code":"cnp"},{"name":"Northern Pinghua","code":"cnp"},{"name":"Montenegrin","code":"cnr"},{"name":"Central Asmat","code":"cns"},{"name":"Tepetotutla Chinantec","code":"cnt"},{"name":"Chenoua","code":"cnu"},{"name":"Ngawn Chin","code":"cnw"},{"name":"Middle Cornish","code":"cnx"},{"name":"Cocos Islands Malay","code":"coa"},{"name":"Chicomuceltec","code":"cob"},{"name":"Cocopa","code":"coc"},{"name":"Cocama-Cocamilla","code":"cod"},{"name":"Koreguaje","code":"coe"},{"name":"Colorado","code":"cof"},{"name":"Chong","code":"cog"},{"name":"Chichonyi-Chidzihana-Chikauma","code":"coh"},{"name":"Chonyi-Dzihana-Kauma","code":"coh"},{"name":"Cochimi","code":"coj"},{"name":"Santa Teresa Cora","code":"cok"},{"name":"Columbia-Wenatchi","code":"col"},{"name":"Comanche","code":"com"},{"name":"Cofán","code":"con"},{"name":"Comox","code":"coo"},{"name":"Coptic","code":"cop"},{"name":"Coquille","code":"coq"},{"name":"Cornish","code":"cor"},{"name":"Corsican","code":"cos"},{"name":"Caquinte","code":"cot"},{"name":"Wamey","code":"cou"},{"name":"Cao Miao","code":"cov"},{"name":"Cowlitz","code":"cow"},{"name":"Nanti","code":"cox"},{"name":"Chochotec","code":"coz"},{"name":"Palantla Chinantec","code":"cpa"},{"name":"Ucayali-Yurúa Ashéninka","code":"cpb"},{"name":"Ajyíninka Apurucayali","code":"cpc"},{"name":"Cappadocian Greek","code":"cpg"},{"name":"Chinese Pidgin English","code":"cpi"},{"name":"Cherepon","code":"cpn"},{"name":"Kpeego","code":"cpo"},{"name":"Capiznon","code":"cps"},{"name":"Pichis Ashéninka","code":"cpu"},{"name":"Pu-Xian Chinese","code":"cpx"},{"name":"South Ucayali Ashéninka","code":"cpy"},{"name":"Chuanqiandian Cluster Miao","code":"cqd"},{"name":"Chara","code":"cra"},{"name":"Island Carib","code":"crb"},{"name":"Lonwolwol","code":"crc"},{"name":"Coeur d'Alene","code":"crd"},{"name":"Cree","code":"cre"},{"name":"Caramanta","code":"crf"},{"name":"Michif","code":"crg"},{"name":"Crimean Tatar","code":"crh"},{"name":"Crimean Turkish","code":"crh"},{"name":"Sãotomense","code":"cri"},{"name":"Southern East Cree","code":"crj"},{"name":"Plains Cree","code":"crk"},{"name":"Northern East Cree","code":"crl"},{"name":"Moose Cree","code":"crm"},{"name":"El Nayar Cora","code":"crn"},{"name":"Crow","code":"cro"},{"name":"Iyo'wujwa Chorote","code":"crq"},{"name":"Carolina Algonquian","code":"crr"},{"name":"Seselwa Creole French","code":"crs"},{"name":"Iyojwa'ja Chorote","code":"crt"},{"name":"Chaura","code":"crv"},{"name":"Chrau","code":"crw"},{"name":"Carrier","code":"crx"},{"name":"Cori","code":"cry"},{"name":"Cruzeño","code":"crz"},{"name":"Chiltepec Chinantec","code":"csa"},{"name":"Kashubian","code":"csb"},{"name":"Catalan Sign Language","code":"csc"},{"name":"Lengua de señas catalana","code":"csc"},{"name":"Llengua de Signes Catalana","code":"csc"},{"name":"Chiangmai Sign Language","code":"csd"},{"name":"Czech Sign Language","code":"cse"},{"name":"Cuba Sign Language","code":"csf"},{"name":"Chilean Sign Language","code":"csg"},{"name":"Asho Chin","code":"csh"},{"name":"Coast Miwok","code":"csi"},{"name":"Songlai Chin","code":"csj"},{"name":"Jola-Kasa","code":"csk"},{"name":"Chinese Sign Language","code":"csl"},{"name":"Central Sierra Miwok","code":"csm"},{"name":"Colombian Sign Language","code":"csn"},{"name":"Sochiapam Chinantec","code":"cso"},{"name":"Sochiapan Chinantec","code":"cso"},{"name":"Southern Ping Chinese","code":"csp"},{"name":"Southern Pinghua","code":"csp"},{"name":"Croatia Sign Language","code":"csq"},{"name":"Costa Rican Sign Language","code":"csr"},{"name":"Southern Ohlone","code":"css"},{"name":"Northern Ohlone","code":"cst"},{"name":"Sumtu Chin","code":"csv"},{"name":"Swampy Cree","code":"csw"},{"name":"Cambodian Sign Language","code":"csx"},{"name":"Siyin Chin","code":"csy"},{"name":"Coos","code":"csz"},{"name":"Tataltepec Chatino","code":"cta"},{"name":"Chetco","code":"ctc"},{"name":"Tedim Chin","code":"ctd"},{"name":"Tepinapa Chinantec","code":"cte"},{"name":"Chittagonian","code":"ctg"},{"name":"Thaiphum Chin","code":"cth"},{"name":"Tlacoatzintepec Chinantec","code":"ctl"},{"name":"Chitimacha","code":"ctm"},{"name":"Chhintange","code":"ctn"},{"name":"Emberá-Catío","code":"cto"},{"name":"Western Highland Chatino","code":"ctp"},{"name":"Northern Catanduanes Bikol","code":"cts"},{"name":"Wayanad Chetti","code":"ctt"},{"name":"Chol","code":"ctu"},{"name":"Moundadan Chetty","code":"cty"},{"name":"Zacatepec Chatino","code":"ctz"},{"name":"Cua","code":"cua"},{"name":"Cubeo","code":"cub"},{"name":"Usila Chinantec","code":"cuc"},{"name":"Chungmboko","code":"cug"},{"name":"Cung","code":"cug"},{"name":"Chuka","code":"cuh"},{"name":"Gichuka","code":"cuh"},{"name":"Cuiba","code":"cui"},{"name":"Mashco Piro","code":"cuj"},{"name":"San Blas Kuna","code":"cuk"},{"name":"Culina","code":"cul"},{"name":"Kulina","code":"cul"},{"name":"Cumanagoto","code":"cuo"},{"name":"Cupeño","code":"cup"},{"name":"Cun","code":"cuq"},{"name":"Chhulung","code":"cur"},{"name":"Teutila Cuicatec","code":"cut"},{"name":"Tai Ya","code":"cuu"},{"name":"Cuvok","code":"cuv"},{"name":"Chukwa","code":"cuw"},{"name":"Tepeuxila Cuicatec","code":"cux"},{"name":"Cuitlatec","code":"cuy"},{"name":"Chug","code":"cvg"},{"name":"Valle Nacional Chinantec","code":"cvn"},{"name":"Kabwa","code":"cwa"},{"name":"Maindo","code":"cwb"},{"name":"Woods Cree","code":"cwd"},{"name":"Kwere","code":"cwe"},{"name":"Cheq Wong","code":"cwg"},{"name":"Chewong","code":"cwg"},{"name":"Kuwaataay","code":"cwt"},{"name":"Nopala Chatino","code":"cya"},{"name":"Cayubaba","code":"cyb"},{"name":"Welsh","code":"cym"},{"name":"Cuyonon","code":"cyo"},{"name":"Huizhou Chinese","code":"czh"},{"name":"Knaanic","code":"czk"},{"name":"Zenzontepec Chatino","code":"czn"},{"name":"Min Zhong Chinese","code":"czo"},{"name":"Zotung Chin","code":"czt"},{"name":"Dangaléat","code":"daa"},{"name":"Dambi","code":"dac"},{"name":"Marik","code":"dad"},{"name":"Duupa","code":"dae"},{"name":"Dagbani","code":"dag"},{"name":"Gwahatike","code":"dah"},{"name":"Day","code":"dai"},{"name":"Dar Fur Daju","code":"daj"},{"name":"Dakota","code":"dak"},{"name":"Dahalo","code":"dal"},{"name":"Damakawa","code":"dam"},{"name":"Danish","code":"dan"},{"name":"Daai Chin","code":"dao"},{"name":"Dandami Maria","code":"daq"},{"name":"Dargwa","code":"dar"},{"name":"Daho-Doo","code":"das"},{"name":"Dar Sila Daju","code":"dau"},{"name":"Dawida","code":"dav"},{"name":"Taita","code":"dav"},{"name":"Davawenyo","code":"daw"},{"name":"Dayi","code":"dax"},{"name":"Dao","code":"daz"},{"name":"Bangime","code":"dba"},{"name":"Deno","code":"dbb"},{"name":"Dadiya","code":"dbd"},{"name":"Dabe","code":"dbe"},{"name":"Edopi","code":"dbf"},{"name":"Dogul Dom Dogon","code":"dbg"},{"name":"Doka","code":"dbi"},{"name":"Ida'an","code":"dbj"},{"name":"Dyirbal","code":"dbl"},{"name":"Duguri","code":"dbm"},{"name":"Duriankere","code":"dbn"},{"name":"Dulbu","code":"dbo"},{"name":"Duwai","code":"dbp"},{"name":"Daba","code":"dbq"},{"name":"Dabarre","code":"dbr"},{"name":"Ben Tey Dogon","code":"dbt"},{"name":"Bondum Dom Dogon","code":"dbu"},{"name":"Dungu","code":"dbv"},{"name":"Bankan Tey Dogon","code":"dbw"},{"name":"Dibiyaso","code":"dby"},{"name":"Deccan","code":"dcc"},{"name":"Negerhollands","code":"dcr"},{"name":"Dadi Dadi","code":"dda"},{"name":"Dongotono","code":"ddd"},{"name":"Doondo","code":"dde"},{"name":"Fataluku","code":"ddg"},{"name":"West Goodenough","code":"ddi"},{"name":"Jaru","code":"ddj"},{"name":"Dendi (Benin)","code":"ddn"},{"name":"Dido","code":"ddo"},{"name":"Dhudhuroa","code":"ddr"},{"name":"Donno So Dogon","code":"dds"},{"name":"Dawera-Daweloor","code":"ddw"},{"name":"Dagik","code":"dec"},{"name":"Dedua","code":"ded"},{"name":"Dewoin","code":"dee"},{"name":"Dezfuli","code":"def"},{"name":"Degema","code":"deg"},{"name":"Dehwari","code":"deh"},{"name":"Demisa","code":"dei"},{"name":"Dek","code":"dek"},{"name":"Delaware","code":"del"},{"name":"Dem","code":"dem"},{"name":"Slave (Athapascan)","code":"den"},{"name":"Pidgin Delaware","code":"dep"},{"name":"Dendi (Central African Republic)","code":"deq"},{"name":"Deori","code":"der"},{"name":"Desano","code":"des"},{"name":"German","code":"deu"},{"name":"Domung","code":"dev"},{"name":"Dengese","code":"dez"},{"name":"Southern Dagaare","code":"dga"},{"name":"Bunoge Dogon","code":"dgb"},{"name":"Casiguran Dumagat Agta","code":"dgc"},{"name":"Dagaari Dioula","code":"dgd"},{"name":"Degenan","code":"dge"},{"name":"Doga","code":"dgg"},{"name":"Dghwede","code":"dgh"},{"name":"Northern Dagara","code":"dgi"},{"name":"Dagba","code":"dgk"},{"name":"Andaandi","code":"dgl"},{"name":"Dongolawi","code":"dgl"},{"name":"Dagoman","code":"dgn"},{"name":"Dogri (individual language)","code":"dgo"},{"name":"Dogrib","code":"dgr"},{"name":"Tłı̨chǫ","code":"dgr"},{"name":"Dogoso","code":"dgs"},{"name":"Ndra'ngith","code":"dgt"},{"name":"Daungwurrung","code":"dgw"},{"name":"Doghoro","code":"dgx"},{"name":"Daga","code":"dgz"},{"name":"Dhundari","code":"dhd"},{"name":"Dhangu","code":"dhg"},{"name":"Dhangu-Djangu","code":"dhg"},{"name":"Djangu","code":"dhg"},{"name":"Dhimal","code":"dhi"},{"name":"Dhalandji","code":"dhl"},{"name":"Zemba","code":"dhm"},{"name":"Dhanki","code":"dhn"},{"name":"Dhodia","code":"dho"},{"name":"Dhargari","code":"dhr"},{"name":"Dhaiso","code":"dhs"},{"name":"Dhurga","code":"dhu"},{"name":"Dehu","code":"dhv"},{"name":"Drehu","code":"dhv"},{"name":"Dhanwar (Nepal)","code":"dhw"},{"name":"Dhungaloo","code":"dhx"},{"name":"Dia","code":"dia"},{"name":"South Central Dinka","code":"dib"},{"name":"Lakota Dida","code":"dic"},{"name":"Didinga","code":"did"},{"name":"Dieri","code":"dif"},{"name":"Diyari","code":"dif"},{"name":"Chidigo","code":"dig"},{"name":"Digo","code":"dig"},{"name":"Kumiai","code":"dih"},{"name":"Dimbong","code":"dii"},{"name":"Dai","code":"dij"},{"name":"Southwestern Dinka","code":"dik"},{"name":"Dilling","code":"dil"},{"name":"Dime","code":"dim"},{"name":"Dinka","code":"din"},{"name":"Dibo","code":"dio"},{"name":"Northeastern Dinka","code":"dip"},{"name":"Dimli (individual language)","code":"diq"},{"name":"Dirim","code":"dir"},{"name":"Dimasa","code":"dis"},{"name":"Diriku","code":"diu"},{"name":"Dhivehi","code":"div"},{"name":"Divehi","code":"div"},{"name":"Maldivian","code":"div"},{"name":"Northwestern Dinka","code":"diw"},{"name":"Dixon Reef","code":"dix"},{"name":"Diuwe","code":"diy"},{"name":"Ding","code":"diz"},{"name":"Djadjawurrung","code":"dja"},{"name":"Djinba","code":"djb"},{"name":"Dar Daju Daju","code":"djc"},{"name":"Djamindjung","code":"djd"},{"name":"Ngaliwurru","code":"djd"},{"name":"Zarma","code":"dje"},{"name":"Djangun","code":"djf"},{"name":"Djinang","code":"dji"},{"name":"Djeebbana","code":"djj"},{"name":"Businenge Tongo","code":"djk"},{"name":"Eastern Maroon Creole","code":"djk"},{"name":"Nenge","code":"djk"},{"name":"Jamsay Dogon","code":"djm"},{"name":"Djauan","code":"djn"},{"name":"Jawoyn","code":"djn"},{"name":"Jangkang","code":"djo"},{"name":"Djambarrpuyngu","code":"djr"},{"name":"Kapriman","code":"dju"},{"name":"Djawi","code":"djw"},{"name":"Dakpakha","code":"dka"},{"name":"Kadung","code":"dkg"},{"name":"Dakka","code":"dkk"},{"name":"Kuijau","code":"dkr"},{"name":"Southeastern Dinka","code":"dks"},{"name":"Mazagway","code":"dkx"},{"name":"Dolgan","code":"dlg"},{"name":"Dahalik","code":"dlk"},{"name":"Dalmatian","code":"dlm"},{"name":"Darlong","code":"dln"},{"name":"Duma","code":"dma"},{"name":"Mombo Dogon","code":"dmb"},{"name":"Gavak","code":"dmc"},{"name":"Madhi Madhi","code":"dmd"},{"name":"Dugwor","code":"dme"},{"name":"Medefaidrin","code":"dmf"},{"name":"Upper Kinabatangan","code":"dmg"},{"name":"Domaaki","code":"dmk"},{"name":"Dameli","code":"dml"},{"name":"Dama","code":"dmm"},{"name":"Kemedzung","code":"dmo"},{"name":"East Damar","code":"dmr"},{"name":"Dampelas","code":"dms"},{"name":"Dubu","code":"dmu"},{"name":"Tebi","code":"dmu"},{"name":"Dumpas","code":"dmv"},{"name":"Mudburra","code":"dmw"},{"name":"Dema","code":"dmx"},{"name":"Demta","code":"dmy"},{"name":"Sowari","code":"dmy"},{"name":"Upper Grand Valley Dani","code":"dna"},{"name":"Daonda","code":"dnd"},{"name":"Ndendeule","code":"dne"},{"name":"Dungan","code":"dng"},{"name":"Lower Grand Valley Dani","code":"dni"},{"name":"Dan","code":"dnj"},{"name":"Dengka","code":"dnk"},{"name":"Dzùùngoo","code":"dnn"},{"name":"Ndrulo","code":"dno"},{"name":"Northern Lendu","code":"dno"},{"name":"Danaru","code":"dnr"},{"name":"Mid Grand Valley Dani","code":"dnt"},{"name":"Danau","code":"dnu"},{"name":"Danu","code":"dnv"},{"name":"Western Dani","code":"dnw"},{"name":"Dení","code":"dny"},{"name":"Dom","code":"doa"},{"name":"Dobu","code":"dob"},{"name":"Northern Dong","code":"doc"},{"name":"Doe","code":"doe"},{"name":"Domu","code":"dof"},{"name":"Dong","code":"doh"},{"name":"Dogri (macrolanguage)","code":"doi"},{"name":"Dondo","code":"dok"},{"name":"Doso","code":"dol"},{"name":"Toura (Papua New Guinea)","code":"don"},{"name":"Dongo","code":"doo"},{"name":"Lukpa","code":"dop"},{"name":"Dominican Sign Language","code":"doq"},{"name":"Dori'o","code":"dor"},{"name":"Dogosé","code":"dos"},{"name":"Dass","code":"dot"},{"name":"Dombe","code":"dov"},{"name":"Doyayo","code":"dow"},{"name":"Bussa","code":"dox"},{"name":"Dompo","code":"doy"},{"name":"Dorze","code":"doz"},{"name":"Papar","code":"dpp"},{"name":"Dair","code":"drb"},{"name":"Minderico","code":"drc"},{"name":"Darmiya","code":"drd"},{"name":"Dolpo","code":"dre"},{"name":"Rungus","code":"drg"},{"name":"C'Lela","code":"dri"},{"name":"Paakantyi","code":"drl"},{"name":"West Damar","code":"drn"},{"name":"Daro-Matu Melanau","code":"dro"},{"name":"Dura","code":"drq"},{"name":"Gedeo","code":"drs"},{"name":"Drents","code":"drt"},{"name":"Rukai","code":"dru"},{"name":"Darai","code":"dry"},{"name":"Lower Sorbian","code":"dsb"},{"name":"Dutch Sign Language","code":"dse"},{"name":"Daasanach","code":"dsh"},{"name":"Disa","code":"dsi"},{"name":"Danish Sign Language","code":"dsl"},{"name":"Dusner","code":"dsn"},{"name":"Desiya","code":"dso"},{"name":"Tadaksahak","code":"dsq"},{"name":"Daur","code":"dta"},{"name":"Labuk-Kinabatangan Kadazan","code":"dtb"},{"name":"Ditidaht","code":"dtd"},{"name":"Adithinngithigh","code":"dth"},{"name":"Ana Tinga Dogon","code":"dti"},{"name":"Tene Kan Dogon","code":"dtk"},{"name":"Tomo Kan Dogon","code":"dtm"},{"name":"Daatsʼíin","code":"dtn"},{"name":"Tommo So Dogon","code":"dto"},{"name":"Central Dusun","code":"dtp"},{"name":"Kadazan Dusun","code":"dtp"},{"name":"Lotud","code":"dtr"},{"name":"Toro So Dogon","code":"dts"},{"name":"Toro Tegu Dogon","code":"dtt"},{"name":"Tebul Ure Dogon","code":"dtu"},{"name":"Dotyali","code":"dty"},{"name":"Duala","code":"dua"},{"name":"Dubli","code":"dub"},{"name":"Duna","code":"duc"},{"name":"Umiray Dumaget Agta","code":"due"},{"name":"Drubea","code":"duf"},{"name":"Dumbea","code":"duf"},{"name":"Chiduruma","code":"dug"},{"name":"Duruma","code":"dug"},{"name":"Dungra Bhil","code":"duh"},{"name":"Dumun","code":"dui"},{"name":"Uyajitaya","code":"duk"},{"name":"Alabat Island Agta","code":"dul"},{"name":"Middle Dutch (ca. 1050-1350)","code":"dum"},{"name":"Dusun Deyah","code":"dun"},{"name":"Dupaninan Agta","code":"duo"},{"name":"Duano","code":"dup"},{"name":"Dusun Malang","code":"duq"},{"name":"Dii","code":"dur"},{"name":"Dumi","code":"dus"},{"name":"Drung","code":"duu"},{"name":"Duvle","code":"duv"},{"name":"Dusun Witu","code":"duw"},{"name":"Duungooma","code":"dux"},{"name":"Dicamay Agta","code":"duy"},{"name":"Duli-Gey","code":"duz"},{"name":"Duau","code":"dva"},{"name":"Diri","code":"dwa"},{"name":"Dawik Kui","code":"dwk"},{"name":"Dawro","code":"dwr"},{"name":"Dutton World Speedwords","code":"dws"},{"name":"Dhuwal","code":"dwu"},{"name":"Dawawa","code":"dww"},{"name":"Dhuwaya","code":"dwy"},{"name":"Dewas Rai","code":"dwz"},{"name":"Dyan","code":"dya"},{"name":"Dyaberdyaber","code":"dyb"},{"name":"Dyugun","code":"dyd"},{"name":"Villa Viciosa Agta","code":"dyg"},{"name":"Djimini Senoufo","code":"dyi"},{"name":"Yanda Dom Dogon","code":"dym"},{"name":"Dhanggatti","code":"dyn"},{"name":"Dyangadi","code":"dyn"},{"name":"Jola-Fonyi","code":"dyo"},{"name":"Dyula","code":"dyu"},{"name":"Djabugay","code":"dyy"},{"name":"Dyaabugay","code":"dyy"},{"name":"Tunzu","code":"dza"},{"name":"Djiwarli","code":"dze"},{"name":"Dazaga","code":"dzg"},{"name":"Dzalakha","code":"dzl"},{"name":"Dzando","code":"dzn"},{"name":"Dzongkha","code":"dzo"},{"name":"Karenggapa","code":"eaa"},{"name":"Beginci","code":"ebc"},{"name":"Ebughu","code":"ebg"},{"name":"Eastern Bontok","code":"ebk"},{"name":"Teke-Ebo","code":"ebo"},{"name":"Ebrié","code":"ebr"},{"name":"Embu","code":"ebu"},{"name":"Kiembu","code":"ebu"},{"name":"Eteocretan","code":"ecr"},{"name":"Ecuadorian Sign Language","code":"ecs"},{"name":"Eteocypriot","code":"ecy"},{"name":"E","code":"eee"},{"name":"Efai","code":"efa"},{"name":"Efe","code":"efe"},{"name":"Efik","code":"efi"},{"name":"Ega","code":"ega"},{"name":"Emilian","code":"egl"},{"name":"Eggon","code":"ego"},{"name":"Egyptian (Ancient)","code":"egy"},{"name":"Miyakubo Sign Language","code":"ehs"},{"name":"Ehueun","code":"ehu"},{"name":"Eipomek","code":"eip"},{"name":"Eitiep","code":"eit"},{"name":"Askopan","code":"eiv"},{"name":"Ejamat","code":"eja"},{"name":"Ekajuk","code":"eka"},{"name":"Ekit","code":"eke"},{"name":"Ekari","code":"ekg"},{"name":"Eki","code":"eki"},{"name":"Standard Estonian","code":"ekk"},{"name":"Kol","code":"ekl"},{"name":"Kol (Bangladesh)","code":"ekl"},{"name":"Elip","code":"ekm"},{"name":"Koti","code":"eko"},{"name":"Ekpeye","code":"ekp"},{"name":"Yace","code":"ekr"},{"name":"Eastern Kayah","code":"eky"},{"name":"Elepi","code":"ele"},{"name":"El Hugeirat","code":"elh"},{"name":"Nding","code":"eli"},{"name":"Elkei","code":"elk"},{"name":"Greek","code":"ell"},{"name":"Modern Greek (1453-)","code":"ell"},{"name":"Eleme","code":"elm"},{"name":"El Molo","code":"elo"},{"name":"Elu","code":"elu"},{"name":"Elamite","code":"elx"},{"name":"Emai-Iuleha-Ora","code":"ema"},{"name":"Embaloh","code":"emb"},{"name":"Emerillon","code":"eme"},{"name":"Eastern Meohang","code":"emg"},{"name":"Mussau-Emira","code":"emi"},{"name":"Eastern Maninkakan","code":"emk"},{"name":"Mamulique","code":"emm"},{"name":"Eman","code":"emn"},{"name":"Northern Emberá","code":"emp"},{"name":"Eastern Minyag","code":"emq"},{"name":"Pacific Gulf Yupik","code":"ems"},{"name":"Eastern Muria","code":"emu"},{"name":"Emplawas","code":"emw"},{"name":"Erromintxela","code":"emx"},{"name":"Epigraphic Mayan","code":"emy"},{"name":"Mbessa","code":"emz"},{"name":"Apali","code":"ena"},{"name":"Markweeta","code":"enb"},{"name":"En","code":"enc"},{"name":"Ende","code":"end"},{"name":"Forest Enets","code":"enf"},{"name":"English","code":"eng"},{"name":"Tundra Enets","code":"enh"},{"name":"Enlhet","code":"enl"},{"name":"Middle English (1100-1500)","code":"enm"},{"name":"Engenni","code":"enn"},{"name":"Enggano","code":"eno"},{"name":"Enga","code":"enq"},{"name":"Emem","code":"enr"},{"name":"Emumu","code":"enr"},{"name":"Enu","code":"enu"},{"name":"Enwan (Edu State)","code":"env"},{"name":"Enwan (Akwa Ibom State)","code":"enw"},{"name":"Enxet","code":"enx"},{"name":"Beti (Côte d'Ivoire)","code":"eot"},{"name":"Epie","code":"epi"},{"name":"Esperanto","code":"epo"},{"name":"Eravallan","code":"era"},{"name":"Sie","code":"erg"},{"name":"Eruwa","code":"erh"},{"name":"Ogea","code":"eri"},{"name":"South Efate","code":"erk"},{"name":"Horpa","code":"ero"},{"name":"Erre","code":"err"},{"name":"Ersu","code":"ers"},{"name":"Eritai","code":"ert"},{"name":"Erokwanas","code":"erw"},{"name":"Ese Ejja","code":"ese"},{"name":"Aheri Gondi","code":"esg"},{"name":"Eshtehardi","code":"esh"},{"name":"North Alaskan Inupiatun","code":"esi"},{"name":"Northwest Alaska Inupiatun","code":"esk"},{"name":"Egypt Sign Language","code":"esl"},{"name":"Esuma","code":"esm"},{"name":"Salvadoran Sign Language","code":"esn"},{"name":"Estonian Sign Language","code":"eso"},{"name":"Esselen","code":"esq"},{"name":"Central Siberian Yupik","code":"ess"},{"name":"Estonian","code":"est"},{"name":"Central Yupik","code":"esu"},{"name":"Eskayan","code":"esy"},{"name":"Etebi","code":"etb"},{"name":"Etchemin","code":"etc"},{"name":"Ethiopian Sign Language","code":"eth"},{"name":"Eton (Vanuatu)","code":"etn"},{"name":"Eton (Cameroon)","code":"eto"},{"name":"Edolo","code":"etr"},{"name":"Yekhee","code":"ets"},{"name":"Etruscan","code":"ett"},{"name":"Ejagham","code":"etu"},{"name":"Eten","code":"etx"},{"name":"Semimi","code":"etz"},{"name":"Basque","code":"eus"},{"name":"Even","code":"eve"},{"name":"Uvbie","code":"evh"},{"name":"Evenki","code":"evn"},{"name":"Ewe","code":"ewe"},{"name":"Ewondo","code":"ewo"},{"name":"Extremaduran","code":"ext"},{"name":"Eyak","code":"eya"},{"name":"Keiyo","code":"eyo"},{"name":"Ezaa","code":"eza"},{"name":"Uzekwe","code":"eze"},{"name":"Fasu","code":"faa"},{"name":"Fa d'Ambu","code":"fab"},{"name":"Wagi","code":"fad"},{"name":"Fagani","code":"faf"},{"name":"Finongan","code":"fag"},{"name":"Baissa Fali","code":"fah"},{"name":"Faiwol","code":"fai"},{"name":"Faita","code":"faj"},{"name":"Fang (Cameroon)","code":"fak"},{"name":"South Fali","code":"fal"},{"name":"Fam","code":"fam"},{"name":"Fang (Equatorial Guinea)","code":"fan"},{"name":"Faroese","code":"fao"},{"name":"Paloor","code":"fap"},{"name":"Fataleka","code":"far"},{"name":"Persian","code":"fas"},{"name":"Fanti","code":"fat"},{"name":"Fayu","code":"fau"},{"name":"Fala","code":"fax"},{"name":"Southwestern Fars","code":"fay"},{"name":"Northwestern Fars","code":"faz"},{"name":"West Albay Bikol","code":"fbl"},{"name":"Quebec Sign Language","code":"fcs"},{"name":"Feroge","code":"fer"},{"name":"Foia Foia","code":"ffi"},{"name":"Maasina Fulfulde","code":"ffm"},{"name":"Fongoro","code":"fgr"},{"name":"Nobiin","code":"fia"},{"name":"Fyer","code":"fie"},{"name":"Faifi","code":"fif"},{"name":"Fijian","code":"fij"},{"name":"Filipino","code":"fil"},{"name":"Pilipino","code":"fil"},{"name":"Finnish","code":"fin"},{"name":"Fipa","code":"fip"},{"name":"Firan","code":"fir"},{"name":"Tornedalen Finnish","code":"fit"},{"name":"Fiwaga","code":"fiw"},{"name":"Kirya-Konzəl","code":"fkk"},{"name":"Kven Finnish","code":"fkv"},{"name":"Kalispel-Pend d'Oreille","code":"fla"},{"name":"Foau","code":"flh"},{"name":"Fali","code":"fli"},{"name":"North Fali","code":"fll"},{"name":"Flinders Island","code":"fln"},{"name":"Fuliiru","code":"flr"},{"name":"Flaaitaal","code":"fly"},{"name":"Tsotsitaal","code":"fly"},{"name":"Fe'fe'","code":"fmp"},{"name":"Far Western Muria","code":"fmu"},{"name":"Fanbak","code":"fnb"},{"name":"Fanagalo","code":"fng"},{"name":"Fania","code":"fni"},{"name":"Foodo","code":"fod"},{"name":"Foi","code":"foi"},{"name":"Foma","code":"fom"},{"name":"Fon","code":"fon"},{"name":"Fore","code":"for"},{"name":"Siraya","code":"fos"},{"name":"Fernando Po Creole English","code":"fpe"},{"name":"Fas","code":"fqs"},{"name":"French","code":"fra"},{"name":"Cajun French","code":"frc"},{"name":"Fordata","code":"frd"},{"name":"Frankish","code":"frk"},{"name":"Middle French (ca. 1400-1600)","code":"frm"},{"name":"Old French (842-ca. 1400)","code":"fro"},{"name":"Arpitan","code":"frp"},{"name":"Francoprovençal","code":"frp"},{"name":"Forak","code":"frq"},{"name":"Northern Frisian","code":"frr"},{"name":"Eastern Frisian","code":"frs"},{"name":"Fortsenal","code":"frt"},{"name":"Western Frisian","code":"fry"},{"name":"Finnish Sign Language","code":"fse"},{"name":"French Sign Language","code":"fsl"},{"name":"finlandssvenskt teckenspråk","code":"fss"},{"name":"Finland-Swedish Sign Language","code":"fss"},{"name":"suomenruotsalainen viittomakieli","code":"fss"},{"name":"Adamawa Fulfulde","code":"fub"},{"name":"Pulaar","code":"fuc"},{"name":"East Futuna","code":"fud"},{"name":"Borgu Fulfulde","code":"fue"},{"name":"Pular","code":"fuf"},{"name":"Western Niger Fulfulde","code":"fuh"},{"name":"Bagirmi Fulfulde","code":"fui"},{"name":"Ko","code":"fuj"},{"name":"Fulah","code":"ful"},{"name":"Fum","code":"fum"},{"name":"Fulniô","code":"fun"},{"name":"Central-Eastern Niger Fulfulde","code":"fuq"},{"name":"Friulian","code":"fur"},{"name":"Futuna-Aniwa","code":"fut"},{"name":"Furu","code":"fuu"},{"name":"Nigerian Fulfulde","code":"fuv"},{"name":"Fuyug","code":"fuy"},{"name":"Fur","code":"fvr"},{"name":"Fwâi","code":"fwa"},{"name":"Fwe","code":"fwe"},{"name":"Ga","code":"gaa"},{"name":"Gabri","code":"gab"},{"name":"Mixed Great Andamanese","code":"gac"},{"name":"Gaddang","code":"gad"},{"name":"Guarequena","code":"gae"},{"name":"Gende","code":"gaf"},{"name":"Gagauz","code":"gag"},{"name":"Alekano","code":"gah"},{"name":"Borei","code":"gai"},{"name":"Gadsup","code":"gaj"},{"name":"Gamkonora","code":"gak"},{"name":"Galolen","code":"gal"},{"name":"Kandawo","code":"gam"},{"name":"Gan Chinese","code":"gan"},{"name":"Gants","code":"gao"},{"name":"Gal","code":"gap"},{"name":"Gata'","code":"gaq"},{"name":"Galeya","code":"gar"},{"name":"Adiwasi Garasia","code":"gas"},{"name":"Kenati","code":"gat"},{"name":"Mudhili Gadaba","code":"gau"},{"name":"Nobonob","code":"gaw"},{"name":"Borana-Arsi-Guji Oromo","code":"gax"},{"name":"Gayo","code":"gay"},{"name":"West Central Oromo","code":"gaz"},{"name":"Gbaya (Central African Republic)","code":"gba"},{"name":"Kaytetye","code":"gbb"},{"name":"Karajarri","code":"gbd"},{"name":"Niksek","code":"gbe"},{"name":"Gaikundi","code":"gbf"},{"name":"Gbanziri","code":"gbg"},{"name":"Defi Gbe","code":"gbh"},{"name":"Galela","code":"gbi"},{"name":"Bodo Gadaba","code":"gbj"},{"name":"Gaddi","code":"gbk"},{"name":"Gamit","code":"gbl"},{"name":"Garhwali","code":"gbm"},{"name":"Mo'da","code":"gbn"},{"name":"Northern Grebo","code":"gbo"},{"name":"Gbaya-Bossangoa","code":"gbp"},{"name":"Gbaya-Bozoum","code":"gbq"},{"name":"Gbagyi","code":"gbr"},{"name":"Gbesi Gbe","code":"gbs"},{"name":"Gagadu","code":"gbu"},{"name":"Gbanu","code":"gbv"},{"name":"Gabi-Gabi","code":"gbw"},{"name":"Eastern Xwla Gbe","code":"gbx"},{"name":"Gbari","code":"gby"},{"name":"Zoroastrian Dari","code":"gbz"},{"name":"Mali","code":"gcc"},{"name":"Ganggalida","code":"gcd"},{"name":"Galice","code":"gce"},{"name":"Guadeloupean Creole French","code":"gcf"},{"name":"Grenadian Creole English","code":"gcl"},{"name":"Gaina","code":"gcn"},{"name":"Guianese Creole French","code":"gcr"},{"name":"Colonia Tovar German","code":"gct"},{"name":"Gade Lohar","code":"gda"},{"name":"Pottangi Ollar Gadaba","code":"gdb"},{"name":"Gugu Badhun","code":"gdc"},{"name":"Gedaged","code":"gdd"},{"name":"Gude","code":"gde"},{"name":"Guduf-Gava","code":"gdf"},{"name":"Ga'dang","code":"gdg"},{"name":"Gadjerawang","code":"gdh"},{"name":"Gajirrabeng","code":"gdh"},{"name":"Gundi","code":"gdi"},{"name":"Gurdjar","code":"gdj"},{"name":"Gadang","code":"gdk"},{"name":"Dirasha","code":"gdl"},{"name":"Laal","code":"gdm"},{"name":"Umanakaina","code":"gdn"},{"name":"Ghodoberi","code":"gdo"},{"name":"Mehri","code":"gdq"},{"name":"Wipi","code":"gdr"},{"name":"Ghandruk Sign Language","code":"gds"},{"name":"Kungardutyi","code":"gdt"},{"name":"Gudu","code":"gdu"},{"name":"Godwari","code":"gdx"},{"name":"Geruma","code":"gea"},{"name":"Kire","code":"geb"},{"name":"Gboloo Grebo","code":"gec"},{"name":"Gade","code":"ged"},{"name":"Gerai","code":"gef"},{"name":"Gengle","code":"geg"},{"name":"Hutterisch","code":"geh"},{"name":"Hutterite German","code":"geh"},{"name":"Gebe","code":"gei"},{"name":"Gen","code":"gej"},{"name":"Ywom","code":"gek"},{"name":"ut-Ma'in","code":"gel"},{"name":"Geme","code":"geq"},{"name":"Geser-Gorom","code":"ges"},{"name":"Eviya","code":"gev"},{"name":"Gera","code":"gew"},{"name":"Garre","code":"gex"},{"name":"Enya","code":"gey"},{"name":"Geez","code":"gez"},{"name":"Patpatar","code":"gfk"},{"name":"Gafat","code":"gft"},{"name":"Gao","code":"gga"},{"name":"Gbii","code":"ggb"},{"name":"Gugadj","code":"ggd"},{"name":"Gurr-goni","code":"gge"},{"name":"Gurgula","code":"ggg"},{"name":"Kungarakany","code":"ggk"},{"name":"Ganglau","code":"ggl"},{"name":"Gitua","code":"ggt"},{"name":"Gagu","code":"ggu"},{"name":"Gban","code":"ggu"},{"name":"Gogodala","code":"ggw"},{"name":"Ghadamès","code":"gha"},{"name":"Hiberno-Scottish Gaelic","code":"ghc"},{"name":"Southern Ghale","code":"ghe"},{"name":"Northern Ghale","code":"ghh"},{"name":"Geko Karen","code":"ghk"},{"name":"Ghulfan","code":"ghl"},{"name":"Ghanongga","code":"ghn"},{"name":"Ghomara","code":"gho"},{"name":"Ghera","code":"ghr"},{"name":"Guhu-Samane","code":"ghs"},{"name":"Kuke","code":"ght"},{"name":"Kutang Ghale","code":"ght"},{"name":"Kija","code":"gia"},{"name":"Gibanawa","code":"gib"},{"name":"Gail","code":"gic"},{"name":"Gidar","code":"gid"},{"name":"Gaɓogbo","code":"gie"},{"name":"Guébie","code":"gie"},{"name":"Goaria","code":"gig"},{"name":"Githabul","code":"gih"},{"name":"Girirra","code":"gii"},{"name":"Gilbertese","code":"gil"},{"name":"Gimi (Eastern Highlands)","code":"gim"},{"name":"Hinukh","code":"gin"},{"name":"Gimi (West New Britain)","code":"gip"},{"name":"Green Gelao","code":"giq"},{"name":"Red Gelao","code":"gir"},{"name":"North Giziga","code":"gis"},{"name":"Gitxsan","code":"git"},{"name":"Mulao","code":"giu"},{"name":"White Gelao","code":"giw"},{"name":"Gilima","code":"gix"},{"name":"Giyug","code":"giy"},{"name":"South Giziga","code":"giz"},{"name":"Kachi Koli","code":"gjk"},{"name":"Gunditjmara","code":"gjm"},{"name":"Gonja","code":"gjn"},{"name":"Gurindji Kriol","code":"gjr"},{"name":"Gujari","code":"gju"},{"name":"Guya","code":"gka"},{"name":"Magɨ (Madang Province)","code":"gkd"},{"name":"Ndai","code":"gke"},{"name":"Gokana","code":"gkn"},{"name":"Kok-Nar","code":"gko"},{"name":"Guinea Kpelle","code":"gkp"},{"name":"ǂUngkue","code":"gku"},{"name":"Gaelic","code":"gla"},{"name":"Scottish Gaelic","code":"gla"},{"name":"Belning","code":"glb"},{"name":"Bon Gula","code":"glc"},{"name":"Nanai","code":"gld"},{"name":"Irish","code":"gle"},{"name":"Galician","code":"glg"},{"name":"Northwest Pashai","code":"glh"},{"name":"Northwest Pashayi","code":"glh"},{"name":"Gula Iro","code":"glj"},{"name":"Gilaki","code":"glk"},{"name":"Garlali","code":"gll"},{"name":"Galambu","code":"glo"},{"name":"Glaro-Twabo","code":"glr"},{"name":"Gula (Chad)","code":"glu"},{"name":"Manx","code":"glv"},{"name":"Glavda","code":"glw"},{"name":"Gule","code":"gly"},{"name":"Gambera","code":"gma"},{"name":"Gula'alaa","code":"gmb"},{"name":"Mághdì","code":"gmd"},{"name":"Magɨyi","code":"gmg"},{"name":"Middle High German (ca. 1050-1500)","code":"gmh"},{"name":"Middle Low German","code":"gml"},{"name":"Gbaya-Mbodomo","code":"gmm"},{"name":"Gimnime","code":"gmn"},{"name":"Mirning","code":"gmr"},{"name":"Mirniny","code":"gmr"},{"name":"Gumalu","code":"gmu"},{"name":"Gamo","code":"gmv"},{"name":"Magoma","code":"gmx"},{"name":"Mycenaean Greek","code":"gmy"},{"name":"Mgbolizhia","code":"gmz"},{"name":"Kaansa","code":"gna"},{"name":"Gangte","code":"gnb"},{"name":"Guanche","code":"gnc"},{"name":"Zulgo-Gemzek","code":"gnd"},{"name":"Ganang","code":"gne"},{"name":"Ngangam","code":"gng"},{"name":"Lere","code":"gnh"},{"name":"Gooniyandi","code":"gni"},{"name":"Ngen","code":"gnj"},{"name":"ǁGana","code":"gnk"},{"name":"Gangulu","code":"gnl"},{"name":"Ginuman","code":"gnm"},{"name":"Gumatj","code":"gnn"},{"name":"Northern Gondi","code":"gno"},{"name":"Gana","code":"gnq"},{"name":"Gureng Gureng","code":"gnr"},{"name":"Guntai","code":"gnt"},{"name":"Gnau","code":"gnu"},{"name":"Western Bolivian Guaraní","code":"gnw"},{"name":"Ganzi","code":"gnz"},{"name":"Guro","code":"goa"},{"name":"Playero","code":"gob"},{"name":"Gorakor","code":"goc"},{"name":"Godié","code":"god"},{"name":"Gongduk","code":"goe"},{"name":"Gofa","code":"gof"},{"name":"Gogo","code":"gog"},{"name":"Old High German (ca. 750-1050)","code":"goh"},{"name":"Gobasi","code":"goi"},{"name":"Gowlan","code":"goj"},{"name":"Gowli","code":"gok"},{"name":"Gola","code":"gol"},{"name":"Goan Konkani","code":"gom"},{"name":"Gondi","code":"gon"},{"name":"Gone Dau","code":"goo"},{"name":"Yeretuar","code":"gop"},{"name":"Gorap","code":"goq"},{"name":"Gorontalo","code":"gor"},{"name":"Gronings","code":"gos"},{"name":"Gothic","code":"got"},{"name":"Gavar","code":"gou"},{"name":"Gorowa","code":"gow"},{"name":"Gobu","code":"gox"},{"name":"Goundo","code":"goy"},{"name":"Gozarkhani","code":"goz"},{"name":"Gupa-Abawa","code":"gpa"},{"name":"Ghanaian Pidgin English","code":"gpe"},{"name":"Taiap","code":"gpn"},{"name":"Ga'anda","code":"gqa"},{"name":"Guiqiong","code":"gqi"},{"name":"Guana (Brazil)","code":"gqn"},{"name":"Gor","code":"gqr"},{"name":"Qau","code":"gqu"},{"name":"Rajput Garasia","code":"gra"},{"name":"Grebo","code":"grb"},{"name":"Ancient Greek (to 1453)","code":"grc"},{"name":"Guruntum-Mbaaru","code":"grd"},{"name":"Madi","code":"grg"},{"name":"Gbiri-Niragu","code":"grh"},{"name":"Ghari","code":"gri"},{"name":"Southern Grebo","code":"grj"},{"name":"Kota Marudu Talantang","code":"grm"},{"name":"Guarani","code":"grn"},{"name":"Groma","code":"gro"},{"name":"Gorovu","code":"grq"},{"name":"Taznatit","code":"grr"},{"name":"Gresi","code":"grs"},{"name":"Garo","code":"grt"},{"name":"Kistane","code":"gru"},{"name":"Central Grebo","code":"grv"},{"name":"Gweda","code":"grw"},{"name":"Guriaso","code":"grx"},{"name":"Barclayville Grebo","code":"gry"},{"name":"Guramalum","code":"grz"},{"name":"Ghanaian Sign Language","code":"gse"},{"name":"German Sign Language","code":"gsg"},{"name":"Gusilay","code":"gsl"},{"name":"Guatemalan Sign Language","code":"gsm"},{"name":"Gusan","code":"gsn"},{"name":"Nema","code":"gsn"},{"name":"Southwest Gbaya","code":"gso"},{"name":"Wasembo","code":"gsp"},{"name":"Greek Sign Language","code":"gss"},{"name":"Alemannic","code":"gsw"},{"name":"Alsatian","code":"gsw"},{"name":"Swiss German","code":"gsw"},{"name":"Guató","code":"gta"},{"name":"Aghu-Tharnggala","code":"gtu"},{"name":"Shiki","code":"gua"},{"name":"Guajajára","code":"gub"},{"name":"Wayuu","code":"guc"},{"name":"Yocoboué Dida","code":"gud"},{"name":"Gurindji","code":"gue"},{"name":"Gupapuyngu","code":"guf"},{"name":"Paraguayan Guaraní","code":"gug"},{"name":"Guahibo","code":"guh"},{"name":"Eastern Bolivian Guaraní","code":"gui"},{"name":"Gujarati","code":"guj"},{"name":"Gumuz","code":"guk"},{"name":"Sea Island Creole English","code":"gul"},{"name":"Guambiano","code":"gum"},{"name":"Mbyá Guaraní","code":"gun"},{"name":"Guayabero","code":"guo"},{"name":"Gunwinggu","code":"gup"},{"name":"Aché","code":"guq"},{"name":"Farefare","code":"gur"},{"name":"Guinean Sign Language","code":"gus"},{"name":"Maléku Jaíka","code":"gut"},{"name":"Yanomamö","code":"guu"},{"name":"Gun","code":"guw"},{"name":"Gourmanchéma","code":"gux"},{"name":"Ekegusii","code":"guz"},{"name":"Gusii","code":"guz"},{"name":"Guana (Paraguay)","code":"gva"},{"name":"Guanano","code":"gvc"},{"name":"Duwet","code":"gve"},{"name":"Golin","code":"gvf"},{"name":"Guajá","code":"gvj"},{"name":"Gulay","code":"gvl"},{"name":"Gurmana","code":"gvm"},{"name":"Kuku-Yalanji","code":"gvn"},{"name":"Gavião Do Jiparaná","code":"gvo"},{"name":"Pará Gavião","code":"gvp"},{"name":"Gurung","code":"gvr"},{"name":"Gumawana","code":"gvs"},{"name":"Guyani","code":"gvy"},{"name":"Mbato","code":"gwa"},{"name":"Gwa","code":"gwb"},{"name":"Gawri","code":"gwc"},{"name":"Kalami","code":"gwc"},{"name":"Gawwada","code":"gwd"},{"name":"Gweno","code":"gwe"},{"name":"Gowro","code":"gwf"},{"name":"Moo","code":"gwg"},{"name":"Gwichʼin","code":"gwi"},{"name":"ǀGwi","code":"gwj"},{"name":"Awngthim","code":"gwm"},{"name":"Gwandara","code":"gwn"},{"name":"Gwere","code":"gwr"},{"name":"Gawar-Bati","code":"gwt"},{"name":"Guwamu","code":"gwu"},{"name":"Kwini","code":"gww"},{"name":"Gua","code":"gwx"},{"name":"Wè Southern","code":"gxx"},{"name":"Northwest Gbaya","code":"gya"},{"name":"Garus","code":"gyb"},{"name":"Kayardild","code":"gyd"},{"name":"Gyem","code":"gye"},{"name":"Gungabula","code":"gyf"},{"name":"Gbayi","code":"gyg"},{"name":"Gyele","code":"gyi"},{"name":"Gayil","code":"gyl"},{"name":"Ngäbere","code":"gym"},{"name":"Guyanese Creole English","code":"gyn"},{"name":"Gyalsumdo","code":"gyo"},{"name":"Guarayu","code":"gyr"},{"name":"Gunya","code":"gyy"},{"name":"Geji","code":"gyz"},{"name":"Gyaazi","code":"gyz"},{"name":"Ganza","code":"gza"},{"name":"Gazi","code":"gzi"},{"name":"Gane","code":"gzn"},{"name":"Han","code":"haa"},{"name":"Hanoi Sign Language","code":"hab"},{"name":"Gurani","code":"hac"},{"name":"Hatam","code":"had"},{"name":"Eastern Oromo","code":"hae"},{"name":"Haiphong Sign Language","code":"haf"},{"name":"Hanga","code":"hag"},{"name":"Hahon","code":"hah"},{"name":"Haida","code":"hai"},{"name":"Hajong","code":"haj"},{"name":"Hakka Chinese","code":"hak"},{"name":"Halang","code":"hal"},{"name":"Hewa","code":"ham"},{"name":"Hangaza","code":"han"},{"name":"Hakö","code":"hao"},{"name":"Hupla","code":"hap"},{"name":"Ha","code":"haq"},{"name":"Harari","code":"har"},{"name":"Haisla","code":"has"},{"name":"Haitian","code":"hat"},{"name":"Haitian Creole","code":"hat"},{"name":"Hausa","code":"hau"},{"name":"Havu","code":"hav"},{"name":"Hawaiian","code":"haw"},{"name":"Southern Haida","code":"hax"},{"name":"Haya","code":"hay"},{"name":"Hazaragi","code":"haz"},{"name":"Hamba","code":"hba"},{"name":"Huba","code":"hbb"},{"name":"Heiban","code":"hbn"},{"name":"Ancient Hebrew","code":"hbo"},{"name":"Serbo-Croatian","code":"hbs"},{"name":"Habu","code":"hbu"},{"name":"Andaman Creole Hindi","code":"hca"},{"name":"Huichol","code":"hch"},{"name":"Northern Haida","code":"hdn"},{"name":"Honduras Sign Language","code":"hds"},{"name":"Hadiyya","code":"hdy"},{"name":"Northern Qiandong Miao","code":"hea"},{"name":"Hebrew","code":"heb"},{"name":"Herdé","code":"hed"},{"name":"Helong","code":"heg"},{"name":"Hehe","code":"heh"},{"name":"Heiltsuk","code":"hei"},{"name":"Hemba","code":"hem"},{"name":"Herero","code":"her"},{"name":"Haiǁom","code":"hgm"},{"name":"Haigwai","code":"hgw"},{"name":"Hoia Hoia","code":"hhi"},{"name":"Kerak","code":"hhr"},{"name":"Hoyahoya","code":"hhy"},{"name":"Lamang","code":"hia"},{"name":"Hibito","code":"hib"},{"name":"Hidatsa","code":"hid"},{"name":"Fiji Hindi","code":"hif"},{"name":"Kamwe","code":"hig"},{"name":"Pamosu","code":"hih"},{"name":"Hinduri","code":"hii"},{"name":"Hijuk","code":"hij"},{"name":"Seit-Kaitetu","code":"hik"},{"name":"Hiligaynon","code":"hil"},{"name":"Hindi","code":"hin"},{"name":"Tsoa","code":"hio"},{"name":"Himarimã","code":"hir"},{"name":"Hittite","code":"hit"},{"name":"Hiw","code":"hiw"},{"name":"Hixkaryána","code":"hix"},{"name":"Haji","code":"hji"},{"name":"Kahe","code":"hka"},{"name":"Hunde","code":"hke"},{"name":"Khah","code":"hkh"},{"name":"Poguli","code":"hkh"},{"name":"Hunjara-Kaina Ke","code":"hkk"},{"name":"Mel-Khaonh","code":"hkn"},{"name":"Heung Kong Sau Yue","code":"hks"},{"name":"Hong Kong Sign Language","code":"hks"},{"name":"Halia","code":"hla"},{"name":"Halbi","code":"hlb"},{"name":"Halang Doan","code":"hld"},{"name":"Hlersu","code":"hle"},{"name":"Matu Chin","code":"hlt"},{"name":"Hieroglyphic Luwian","code":"hlu"},{"name":"Southern Mashan Hmong","code":"hma"},{"name":"Southern Mashan Miao","code":"hma"},{"name":"Humburi Senni Songhay","code":"hmb"},{"name":"Central Huishui Hmong","code":"hmc"},{"name":"Central Huishui Miao","code":"hmc"},{"name":"A-hmaos","code":"hmd"},{"name":"Da-Hua Miao","code":"hmd"},{"name":"Large Flowery Miao","code":"hmd"},{"name":"Eastern Huishui Hmong","code":"hme"},{"name":"Eastern Huishui Miao","code":"hme"},{"name":"Hmong Don","code":"hmf"},{"name":"Southwestern Guiyang Hmong","code":"hmg"},{"name":"Southwestern Huishui Hmong","code":"hmh"},{"name":"Southwestern Huishui Miao","code":"hmh"},{"name":"Northern Huishui Hmong","code":"hmi"},{"name":"Northern Huishui Miao","code":"hmi"},{"name":"Ge","code":"hmj"},{"name":"Gejia","code":"hmj"},{"name":"Maek","code":"hmk"},{"name":"Luopohe Hmong","code":"hml"},{"name":"Luopohe Miao","code":"hml"},{"name":"Central Mashan Hmong","code":"hmm"},{"name":"Central Mashan Miao","code":"hmm"},{"name":"Hmong","code":"hmn"},{"name":"Mong","code":"hmn"},{"name":"Hiri Motu","code":"hmo"},{"name":"Northern Mashan Hmong","code":"hmp"},{"name":"Northern Mashan Miao","code":"hmp"},{"name":"Eastern Qiandong Miao","code":"hmq"},{"name":"Hmar","code":"hmr"},{"name":"Southern Qiandong Miao","code":"hms"},{"name":"Hamtai","code":"hmt"},{"name":"Hamap","code":"hmu"},{"name":"Hmong Dô","code":"hmv"},{"name":"Western Mashan Hmong","code":"hmw"},{"name":"Western Mashan Miao","code":"hmw"},{"name":"Southern Guiyang Hmong","code":"hmy"},{"name":"Southern Guiyang Miao","code":"hmy"},{"name":"Hmong Shua","code":"hmz"},{"name":"Sinicized Miao","code":"hmz"},{"name":"Mina (Cameroon)","code":"hna"},{"name":"Southern Hindko","code":"hnd"},{"name":"Chhattisgarhi","code":"hne"},{"name":"Hungu","code":"hng"},{"name":"ǁAni","code":"hnh"},{"name":"Hani","code":"hni"},{"name":"Hmong Njua","code":"hnj"},{"name":"Mong Leng","code":"hnj"},{"name":"Mong Njua","code":"hnj"},{"name":"Hanunoo","code":"hnn"},{"name":"Northern Hindko","code":"hno"},{"name":"Caribbean Hindustani","code":"hns"},{"name":"Hung","code":"hnu"},{"name":"Hoava","code":"hoa"},{"name":"Mari (Madang Province)","code":"hob"},{"name":"Ho","code":"hoc"},{"name":"Holma","code":"hod"},{"name":"Horom","code":"hoe"},{"name":"Hobyót","code":"hoh"},{"name":"Holikachuk","code":"hoi"},{"name":"Hadothi","code":"hoj"},{"name":"Haroti","code":"hoj"},{"name":"Holu","code":"hol"},{"name":"Homa","code":"hom"},{"name":"Holoholo","code":"hoo"},{"name":"Hopi","code":"hop"},{"name":"Horo","code":"hor"},{"name":"Ho Chi Minh City Sign Language","code":"hos"},{"name":"Hote","code":"hot"},{"name":"Malê","code":"hot"},{"name":"Hovongan","code":"hov"},{"name":"Honi","code":"how"},{"name":"Holiya","code":"hoy"},{"name":"Hozo","code":"hoz"},{"name":"Hpon","code":"hpo"},{"name":"Hawai'i Pidgin Sign Language","code":"hps"},{"name":"Hawai'i Sign Language (HSL)","code":"hps"},{"name":"Hrangkhol","code":"hra"},{"name":"Niwer Mil","code":"hrc"},{"name":"Hre","code":"hre"},{"name":"Haruku","code":"hrk"},{"name":"Horned Miao","code":"hrm"},{"name":"Haroi","code":"hro"},{"name":"Nhirrpi","code":"hrp"},{"name":"Hértevin","code":"hrt"},{"name":"Hruso","code":"hru"},{"name":"Croatian","code":"hrv"},{"name":"Warwar Feni","code":"hrw"},{"name":"Hunsrik","code":"hrx"},{"name":"Harzani","code":"hrz"},{"name":"Upper Sorbian","code":"hsb"},{"name":"Hungarian Sign Language","code":"hsh"},{"name":"Hausa Sign Language","code":"hsl"},{"name":"Xiang Chinese","code":"hsn"},{"name":"Harsusi","code":"hss"},{"name":"Hoti","code":"hti"},{"name":"Minica Huitoto","code":"hto"},{"name":"Hadza","code":"hts"},{"name":"Hitu","code":"htu"},{"name":"Middle Hittite","code":"htx"},{"name":"Huambisa","code":"hub"},{"name":"ǂ'Amkhoe","code":"huc"},{"name":"ǂHua","code":"huc"},{"name":"Huaulu","code":"hud"},{"name":"San Francisco Del Mar Huave","code":"hue"},{"name":"Humene","code":"huf"},{"name":"Huachipaeri","code":"hug"},{"name":"Huilliche","code":"huh"},{"name":"Huli","code":"hui"},{"name":"Northern Guiyang Hmong","code":"huj"},{"name":"Northern Guiyang Miao","code":"huj"},{"name":"Hulung","code":"huk"},{"name":"Hula","code":"hul"},{"name":"Hungana","code":"hum"},{"name":"Hungarian","code":"hun"},{"name":"Hu","code":"huo"},{"name":"Hupa","code":"hup"},{"name":"Tsat","code":"huq"},{"name":"Halkomelem","code":"hur"},{"name":"Huastec","code":"hus"},{"name":"Humla","code":"hut"},{"name":"Murui Huitoto","code":"huu"},{"name":"San Mateo Del Mar Huave","code":"huv"},{"name":"Hukumina","code":"huw"},{"name":"Nüpode Huitoto","code":"hux"},{"name":"Hulaulá","code":"huy"},{"name":"Hunzib","code":"huz"},{"name":"Haitian Vodoun Culture Language","code":"hvc"},{"name":"San Dionisio Del Mar Huave","code":"hve"},{"name":"Haveke","code":"hvk"},{"name":"Sabu","code":"hvn"},{"name":"Santa María Del Mar Huave","code":"hvv"},{"name":"Wané","code":"hwa"},{"name":"Hawai'i Creole English","code":"hwc"},{"name":"Hawai'i Pidgin","code":"hwc"},{"name":"Hwana","code":"hwo"},{"name":"Hya","code":"hya"},{"name":"Armenian","code":"hye"},{"name":"Western Armenian","code":"hyw"},{"name":"Iaai","code":"iai"},{"name":"Iatmul","code":"ian"},{"name":"Purari","code":"iar"},{"name":"Iban","code":"iba"},{"name":"Ibibio","code":"ibb"},{"name":"Iwaidja","code":"ibd"},{"name":"Akpes","code":"ibe"},{"name":"Ibanag","code":"ibg"},{"name":"Bih","code":"ibh"},{"name":"Ibaloi","code":"ibl"},{"name":"Agoi","code":"ibm"},{"name":"Ibino","code":"ibn"},{"name":"Igbo","code":"ibo"},{"name":"Ibuoro","code":"ibr"},{"name":"Ibu","code":"ibu"},{"name":"Ibani","code":"iby"},{"name":"Ede Ica","code":"ica"},{"name":"Etkywan","code":"ich"},{"name":"Icelandic Sign Language","code":"icl"},{"name":"Islander Creole English","code":"icr"},{"name":"Idakho-Isukha-Tiriki","code":"ida"},{"name":"Luidakho-Luisukha-Lutirichi","code":"ida"},{"name":"Indo-Portuguese","code":"idb"},{"name":"Ajiya","code":"idc"},{"name":"Idon","code":"idc"},{"name":"Ede Idaca","code":"idd"},{"name":"Idere","code":"ide"},{"name":"Idi","code":"idi"},{"name":"Ido","code":"ido"},{"name":"Indri","code":"idr"},{"name":"Idesa","code":"ids"},{"name":"Idaté","code":"idt"},{"name":"Idoma","code":"idu"},{"name":"Amganad Ifugao","code":"ifa"},{"name":"Ayangan Ifugao","code":"ifb"},{"name":"Batad Ifugao","code":"ifb"},{"name":"Ifè","code":"ife"},{"name":"Ifo","code":"iff"},{"name":"Tuwali Ifugao","code":"ifk"},{"name":"Teke-Fuumu","code":"ifm"},{"name":"Mayoyao Ifugao","code":"ifu"},{"name":"Keley-I Kallahan","code":"ify"},{"name":"Ebira","code":"igb"},{"name":"Igede","code":"ige"},{"name":"Igana","code":"igg"},{"name":"Igala","code":"igl"},{"name":"Kanggape","code":"igm"},{"name":"Ignaciano","code":"ign"},{"name":"Isebe","code":"igo"},{"name":"Interglossa","code":"igs"},{"name":"Igwe","code":"igw"},{"name":"Iha Based Pidgin","code":"ihb"},{"name":"Ihievbe","code":"ihi"},{"name":"Iha","code":"ihp"},{"name":"Bidhawal","code":"ihw"},{"name":"Nuosu","code":"iii"},{"name":"Sichuan Yi","code":"iii"},{"name":"Thiin","code":"iin"},{"name":"Izon","code":"ijc"},{"name":"Biseni","code":"ije"},{"name":"Ede Ije","code":"ijj"},{"name":"Kalabari","code":"ijn"},{"name":"Southeast Ijo","code":"ijs"},{"name":"Eastern Canadian Inuktitut","code":"ike"},{"name":"Iko","code":"iki"},{"name":"Ika","code":"ikk"},{"name":"Ikulu","code":"ikl"},{"name":"Olulumo-Ikom","code":"iko"},{"name":"Ikpeshi","code":"ikp"},{"name":"Ikaranggal","code":"ikr"},{"name":"Inuit Sign Language","code":"iks"},{"name":"Inuinnaqtun","code":"ikt"},{"name":"Western Canadian Inuktitut","code":"ikt"},{"name":"Inuktitut","code":"iku"},{"name":"Iku-Gora-Ankwa","code":"ikv"},{"name":"Ikwere","code":"ikw"},{"name":"Ik","code":"ikx"},{"name":"Ikizu","code":"ikz"},{"name":"Ile Ape","code":"ila"},{"name":"Ila","code":"ilb"},{"name":"Interlingue","code":"ile"},{"name":"Occidental","code":"ile"},{"name":"Garig-Ilgar","code":"ilg"},{"name":"Ili Turki","code":"ili"},{"name":"Ilongot","code":"ilk"},{"name":"Iranun (Malaysia)","code":"ilm"},{"name":"Iloko","code":"ilo"},{"name":"Iranun (Philippines)","code":"ilp"},{"name":"International Sign","code":"ils"},{"name":"Ili'uun","code":"ilu"},{"name":"Ilue","code":"ilv"},{"name":"Mala Malasar","code":"ima"},{"name":"Anamgura","code":"imi"},{"name":"Miluk","code":"iml"},{"name":"Imonda","code":"imn"},{"name":"Imbongu","code":"imo"},{"name":"Imroing","code":"imr"},{"name":"Marsian","code":"ims"},{"name":"Milyan","code":"imy"},{"name":"Interlingua (International Auxiliary Language Association)","code":"ina"},{"name":"Inga","code":"inb"},{"name":"Indonesian","code":"ind"},{"name":"Degexit'an","code":"ing"},{"name":"Ingush","code":"inh"},{"name":"Jungle Inga","code":"inj"},{"name":"Indonesian Sign Language","code":"inl"},{"name":"Minaean","code":"inm"},{"name":"Isinai","code":"inn"},{"name":"Inoke-Yate","code":"ino"},{"name":"Iñapari","code":"inp"},{"name":"Indian Sign Language","code":"ins"},{"name":"Intha","code":"int"},{"name":"Ineseño","code":"inz"},{"name":"Inor","code":"ior"},{"name":"Tuma-Irumu","code":"iou"},{"name":"Iowa-Oto","code":"iow"},{"name":"Ipili","code":"ipi"},{"name":"Inupiaq","code":"ipk"},{"name":"Ipiko","code":"ipo"},{"name":"Iquito","code":"iqu"},{"name":"Ikwo","code":"iqw"},{"name":"Iresim","code":"ire"},{"name":"Irarutu","code":"irh"},{"name":"Irigwe","code":"iri"},{"name":"Rigwe","code":"iri"},{"name":"Iraqw","code":"irk"},{"name":"Irántxe","code":"irn"},{"name":"Ir","code":"irr"},{"name":"Irula","code":"iru"},{"name":"Kamberau","code":"irx"},{"name":"Iraya","code":"iry"},{"name":"Isabi","code":"isa"},{"name":"Isconahua","code":"isc"},{"name":"Isnag","code":"isd"},{"name":"Italian Sign Language","code":"ise"},{"name":"Irish Sign Language","code":"isg"},{"name":"Esan","code":"ish"},{"name":"Nkem-Nkum","code":"isi"},{"name":"Ishkashimi","code":"isk"},{"name":"Icelandic","code":"isl"},{"name":"Masimasi","code":"ism"},{"name":"Isanzu","code":"isn"},{"name":"Isoko","code":"iso"},{"name":"Israeli Sign Language","code":"isr"},{"name":"Istriot","code":"ist"},{"name":"Isu (Menchum Division)","code":"isu"},{"name":"Italian","code":"ita"},{"name":"Binongan Itneg","code":"itb"},{"name":"Southern Tidung","code":"itd"},{"name":"Itene","code":"ite"},{"name":"Inlaod Itneg","code":"iti"},{"name":"Judeo-Italian","code":"itk"},{"name":"Itelmen","code":"itl"},{"name":"Itu Mbon Uzo","code":"itm"},{"name":"Itonama","code":"ito"},{"name":"Iteri","code":"itr"},{"name":"Isekiri","code":"its"},{"name":"Maeng Itneg","code":"itt"},{"name":"Itawit","code":"itv"},{"name":"Ito","code":"itw"},{"name":"Itik","code":"itx"},{"name":"Moyadan Itneg","code":"ity"},{"name":"Itzá","code":"itz"},{"name":"Iu Mien","code":"ium"},{"name":"Ibatan","code":"ivb"},{"name":"Ivatan","code":"ivv"},{"name":"I-Wak","code":"iwk"},{"name":"Iwam","code":"iwm"},{"name":"Iwur","code":"iwo"},{"name":"Sepik Iwam","code":"iws"},{"name":"Ixcatec","code":"ixc"},{"name":"Ixil","code":"ixl"},{"name":"Iyayu","code":"iya"},{"name":"Mesaka","code":"iyo"},{"name":"Yaka (Congo)","code":"iyx"},{"name":"Ingrian","code":"izh"},{"name":"Izere","code":"izr"},{"name":"Izii","code":"izz"},{"name":"Jamamadí","code":"jaa"},{"name":"Hyam","code":"jab"},{"name":"Jakalteko","code":"jac"},{"name":"Popti'","code":"jac"},{"name":"Jahanka","code":"jad"},{"name":"Yabem","code":"jae"},{"name":"Jara","code":"jaf"},{"name":"Jah Hut","code":"jah"},{"name":"Zazao","code":"jaj"},{"name":"Jakun","code":"jak"},{"name":"Yalahatan","code":"jal"},{"name":"Jamaican Creole English","code":"jam"},{"name":"Jandai","code":"jan"},{"name":"Yanyuwa","code":"jao"},{"name":"Yaqay","code":"jaq"},{"name":"New Caledonian Javanese","code":"jas"},{"name":"Jakati","code":"jat"},{"name":"Yaur","code":"jau"},{"name":"Javanese","code":"jav"},{"name":"Jambi Malay","code":"jax"},{"name":"Nhangu","code":"jay"},{"name":"Yan-nhangu","code":"jay"},{"name":"Jawe","code":"jaz"},{"name":"Judeo-Berber","code":"jbe"},{"name":"Badjiri","code":"jbi"},{"name":"Arandai","code":"jbj"},{"name":"Barikewa","code":"jbk"},{"name":"Bijim","code":"jbm"},{"name":"Nafusi","code":"jbn"},{"name":"Lojban","code":"jbo"},{"name":"Jofotek-Bromnya","code":"jbr"},{"name":"Jabutí","code":"jbt"},{"name":"Jukun Takum","code":"jbu"},{"name":"Yawijibaya","code":"jbw"},{"name":"Jamaican Country Sign Language","code":"jcs"},{"name":"Krymchak","code":"jct"},{"name":"Jad","code":"jda"},{"name":"Jadgali","code":"jdg"},{"name":"Judeo-Tat","code":"jdt"},{"name":"Jebero","code":"jeb"},{"name":"Jerung","code":"jee"},{"name":"Jeh","code":"jeh"},{"name":"Yei","code":"jei"},{"name":"Jeri Kuo","code":"jek"},{"name":"Yelmek","code":"jel"},{"name":"Dza","code":"jen"},{"name":"Jere","code":"jer"},{"name":"Manem","code":"jet"},{"name":"Jonkor Bourmataguil","code":"jeu"},{"name":"Ngbee","code":"jgb"},{"name":"Judeo-Georgian","code":"jge"},{"name":"Gwak","code":"jgk"},{"name":"Ngomba","code":"jgo"},{"name":"Jehai","code":"jhi"},{"name":"Jhankot Sign Language","code":"jhs"},{"name":"Jina","code":"jia"},{"name":"Jibu","code":"jib"},{"name":"Tol","code":"jic"},{"name":"Bu (Kaduna State)","code":"jid"},{"name":"Jilbe","code":"jie"},{"name":"Djingili","code":"jig"},{"name":"Jingulu","code":"jig"},{"name":"Shangzhai","code":"jih"},{"name":"sTodsde","code":"jih"},{"name":"Jiiddu","code":"jii"},{"name":"Jilim","code":"jil"},{"name":"Jimi (Cameroon)","code":"jim"},{"name":"Jiamao","code":"jio"},{"name":"Guanyinqiao","code":"jiq"},{"name":"Lavrung","code":"jiq"},{"name":"Jita","code":"jit"},{"name":"Youle Jinuo","code":"jiu"},{"name":"Shuar","code":"jiv"},{"name":"Buyuan Jinuo","code":"jiy"},{"name":"Jejueo","code":"jje"},{"name":"Bankal","code":"jjr"},{"name":"Kaera","code":"jka"},{"name":"Mobwa Karen","code":"jkm"},{"name":"Kubo","code":"jko"},{"name":"Paku Karen","code":"jkp"},{"name":"Koro (India)","code":"jkr"},{"name":"Amami Koniya Sign Language","code":"jks"},{"name":"Labir","code":"jku"},{"name":"Ngile","code":"jle"},{"name":"Jamaican Sign Language","code":"jls"},{"name":"Dima","code":"jma"},{"name":"Zumbun","code":"jmb"},{"name":"Machame","code":"jmc"},{"name":"Yamdena","code":"jmd"},{"name":"Jimi (Nigeria)","code":"jmi"},{"name":"Jumli","code":"jml"},{"name":"Makuri Naga","code":"jmn"},{"name":"Kamara","code":"jmr"},{"name":"Mashi (Nigeria)","code":"jms"},{"name":"Mouwase","code":"jmw"},{"name":"Western Juxtlahuaca Mixtec","code":"jmx"},{"name":"Jangshung","code":"jna"},{"name":"Jandavra","code":"jnd"},{"name":"Yangman","code":"jng"},{"name":"Janji","code":"jni"},{"name":"Yemsa","code":"jnj"},{"name":"Rawat","code":"jnl"},{"name":"Jaunsari","code":"jns"},{"name":"Joba","code":"job"},{"name":"Wojenaka","code":"jod"},{"name":"Jogi","code":"jog"},{"name":"Jorá","code":"jor"},{"name":"Jordanian Sign Language","code":"jos"},{"name":"Jowulu","code":"jow"},{"name":"Jewish Palestinian Aramaic","code":"jpa"},{"name":"Japanese","code":"jpn"},{"name":"Judeo-Persian","code":"jpr"},{"name":"Jaqaru","code":"jqr"},{"name":"Jarai","code":"jra"},{"name":"Judeo-Arabic","code":"jrb"},{"name":"Jiru","code":"jrr"},{"name":"Jakattoe","code":"jrt"},{"name":"Japrería","code":"jru"},{"name":"Japanese Sign Language","code":"jsl"},{"name":"Júma","code":"jua"},{"name":"Wannu","code":"jub"},{"name":"Jurchen","code":"juc"},{"name":"Worodougou","code":"jud"},{"name":"Hõne","code":"juh"},{"name":"Ngadjuri","code":"jui"},{"name":"Wapan","code":"juk"},{"name":"Jirel","code":"jul"},{"name":"Jumjum","code":"jum"},{"name":"Juang","code":"jun"},{"name":"Jiba","code":"juo"},{"name":"Hupdë","code":"jup"},{"name":"Jurúna","code":"jur"},{"name":"Jumla Sign Language","code":"jus"},{"name":"Jutish","code":"jut"},{"name":"Ju","code":"juu"},{"name":"Wãpha","code":"juw"},{"name":"Juray","code":"juy"},{"name":"Javindo","code":"jvd"},{"name":"Caribbean Javanese","code":"jvn"},{"name":"Jwira-Pepesa","code":"jwi"},{"name":"Jiarong","code":"jya"},{"name":"Judeo-Yemeni Arabic","code":"jye"},{"name":"Jaya","code":"jyy"},{"name":"Karakalpak","code":"kaa"},{"name":"Kara-Kalpak","code":"kaa"},{"name":"Kabyle","code":"kab"},{"name":"Jingpho","code":"kac"},{"name":"Kachin","code":"kac"},{"name":"Adara","code":"kad"},{"name":"Ketangalan","code":"kae"},{"name":"Katso","code":"kaf"},{"name":"Kajaman","code":"kag"},{"name":"Kara (Central African Republic)","code":"kah"},{"name":"Karekare","code":"kai"},{"name":"Jju","code":"kaj"},{"name":"Kalanguya","code":"kak"},{"name":"Kayapa Kallahan","code":"kak"},{"name":"Greenlandic","code":"kal"},{"name":"Kalaallisut","code":"kal"},{"name":"Kamba (Kenya)","code":"kam"},{"name":"Kannada","code":"kan"},{"name":"Xaasongaxango","code":"kao"},{"name":"Bezhta","code":"kap"},{"name":"Capanahua","code":"kaq"},{"name":"Kashmiri","code":"kas"},{"name":"Georgian","code":"kat"},{"name":"Kanuri","code":"kau"},{"name":"Katukína","code":"kav"},{"name":"Kawi","code":"kaw"},{"name":"Kao","code":"kax"},{"name":"Kamayurá","code":"kay"},{"name":"Kazakh","code":"kaz"},{"name":"Kalarko","code":"kba"},{"name":"Kaxuiâna","code":"kbb"},{"name":"Kadiwéu","code":"kbc"},{"name":"Kabardian","code":"kbd"},{"name":"Kanju","code":"kbe"},{"name":"Khamba","code":"kbg"},{"name":"Camsá","code":"kbh"},{"name":"Kaptiau","code":"kbi"},{"name":"Kari","code":"kbj"},{"name":"Grass Koiari","code":"kbk"},{"name":"Kanembu","code":"kbl"},{"name":"Iwal","code":"kbm"},{"name":"Kare (Central African Republic)","code":"kbn"},{"name":"Keliko","code":"kbo"},{"name":"Kabiyè","code":"kbp"},{"name":"Kamano","code":"kbq"},{"name":"Kafa","code":"kbr"},{"name":"Kande","code":"kbs"},{"name":"Abadi","code":"kbt"},{"name":"Kabutra","code":"kbu"},{"name":"Dera (Indonesia)","code":"kbv"},{"name":"Kaiep","code":"kbw"},{"name":"Ap Ma","code":"kbx"},{"name":"Manga Kanuri","code":"kby"},{"name":"Duhwa","code":"kbz"},{"name":"Khanty","code":"kca"},{"name":"Kawacha","code":"kcb"},{"name":"Lubila","code":"kcc"},{"name":"Ngkâlmpw Kanum","code":"kcd"},{"name":"Kaivi","code":"kce"},{"name":"Ukaan","code":"kcf"},{"name":"Tyap","code":"kcg"},{"name":"Vono","code":"kch"},{"name":"Kamantan","code":"kci"},{"name":"Kobiana","code":"kcj"},{"name":"Kalanga","code":"kck"},{"name":"Kala","code":"kcl"},{"name":"Kela (Papua New Guinea)","code":"kcl"},{"name":"Gula (Central African Republic)","code":"kcm"},{"name":"Nubi","code":"kcn"},{"name":"Kinalakna","code":"kco"},{"name":"Kanga","code":"kcp"},{"name":"Kamo","code":"kcq"},{"name":"Katla","code":"kcr"},{"name":"Koenoem","code":"kcs"},{"name":"Kaian","code":"kct"},{"name":"Kami (Tanzania)","code":"kcu"},{"name":"Kete","code":"kcv"},{"name":"Kabwari","code":"kcw"},{"name":"Kachama-Ganjule","code":"kcx"},{"name":"Korandje","code":"kcy"},{"name":"Konongo","code":"kcz"},{"name":"Worimi","code":"kda"},{"name":"Kutu","code":"kdc"},{"name":"Yankunytjatjara","code":"kdd"},{"name":"Makonde","code":"kde"},{"name":"Mamusi","code":"kdf"},{"name":"Seba","code":"kdg"},{"name":"Tem","code":"kdh"},{"name":"Kumam","code":"kdi"},{"name":"Karamojong","code":"kdj"},{"name":"Kwényi","code":"kdk"},{"name":"Numèè","code":"kdk"},{"name":"Tsikimba","code":"kdl"},{"name":"Kagoma","code":"kdm"},{"name":"Kunda","code":"kdn"},{"name":"Kaningdon-Nindem","code":"kdp"},{"name":"Koch","code":"kdq"},{"name":"Karaim","code":"kdr"},{"name":"Kuy","code":"kdt"},{"name":"Kadaru","code":"kdu"},{"name":"Koneraw","code":"kdw"},{"name":"Kam","code":"kdx"},{"name":"Keder","code":"kdy"},{"name":"Keijar","code":"kdy"},{"name":"Kwaja","code":"kdz"},{"name":"Kabuverdianu","code":"kea"},{"name":"Kélé","code":"keb"},{"name":"Keiga","code":"kec"},{"name":"Kerewe","code":"ked"},{"name":"Eastern Keres","code":"kee"},{"name":"Kpessi","code":"kef"},{"name":"Tese","code":"keg"},{"name":"Keak","code":"keh"},{"name":"Kei","code":"kei"},{"name":"Kadar","code":"kej"},{"name":"Kekchí","code":"kek"},{"name":"Kela (Democratic Republic of Congo)","code":"kel"},{"name":"Kemak","code":"kem"},{"name":"Kenyang","code":"ken"},{"name":"Kakwa","code":"keo"},{"name":"Kaikadi","code":"kep"},{"name":"Kamar","code":"keq"},{"name":"Kera","code":"ker"},{"name":"Kugbo","code":"kes"},{"name":"Ket","code":"ket"},{"name":"Akebu","code":"keu"},{"name":"Kanikkaran","code":"kev"},{"name":"West Kewa","code":"kew"},{"name":"Kukna","code":"kex"},{"name":"Kupia","code":"key"},{"name":"Kukele","code":"kez"},{"name":"Kodava","code":"kfa"},{"name":"Northwestern Kolami","code":"kfb"},{"name":"Konda-Dora","code":"kfc"},{"name":"Korra Koraga","code":"kfd"},{"name":"Kota (India)","code":"kfe"},{"name":"Koya","code":"kff"},{"name":"Kudiya","code":"kfg"},{"name":"Kurichiya","code":"kfh"},{"name":"Kannada Kurumba","code":"kfi"},{"name":"Kemiehua","code":"kfj"},{"name":"Kinnauri","code":"kfk"},{"name":"Kung","code":"kfl"},{"name":"Khunsari","code":"kfm"},{"name":"Kuk","code":"kfn"},{"name":"Koro (Côte d'Ivoire)","code":"kfo"},{"name":"Korwa","code":"kfp"},{"name":"Korku","code":"kfq"},{"name":"Kachhi","code":"kfr"},{"name":"Kutchi","code":"kfr"},{"name":"Bilaspuri","code":"kfs"},{"name":"Kanjari","code":"kft"},{"name":"Katkari","code":"kfu"},{"name":"Kurmukar","code":"kfv"},{"name":"Kharam Naga","code":"kfw"},{"name":"Kullu Pahari","code":"kfx"},{"name":"Kumaoni","code":"kfy"},{"name":"Koromfé","code":"kfz"},{"name":"Koyaga","code":"kga"},{"name":"Kawe","code":"kgb"},{"name":"Komering","code":"kge"},{"name":"Kube","code":"kgf"},{"name":"Kusunda","code":"kgg"},{"name":"Selangor Sign Language","code":"kgi"},{"name":"Gamale Kham","code":"kgj"},{"name":"Kaiwá","code":"kgk"},{"name":"Kunggari","code":"kgl"},{"name":"Karipúna","code":"kgm"},{"name":"Karingani","code":"kgn"},{"name":"Krongo","code":"kgo"},{"name":"Kaingang","code":"kgp"},{"name":"Kamoro","code":"kgq"},{"name":"Abun","code":"kgr"},{"name":"Kumbainggar","code":"kgs"},{"name":"Somyev","code":"kgt"},{"name":"Kobol","code":"kgu"},{"name":"Karas","code":"kgv"},{"name":"Karon Dori","code":"kgw"},{"name":"Kamaru","code":"kgx"},{"name":"Kyerung","code":"kgy"},{"name":"Khasi","code":"kha"},{"name":"Lü","code":"khb"},{"name":"Tukang Besi North","code":"khc"},{"name":"Bädi Kanum","code":"khd"},{"name":"Korowai","code":"khe"},{"name":"Khuen","code":"khf"},{"name":"Khams Tibetan","code":"khg"},{"name":"Kehu","code":"khh"},{"name":"Kuturmi","code":"khj"},{"name":"Halh Mongolian","code":"khk"},{"name":"Lusi","code":"khl"},{"name":"Khmer","code":"khm"},{"name":"Central Khmer","code":"khm"},{"name":"Khandesi","code":"khn"},{"name":"Khotanese","code":"kho"},{"name":"Sakan","code":"kho"},{"name":"Kapauri","code":"khp"},{"name":"Kapori","code":"khp"},{"name":"Koyra Chiini Songhay","code":"khq"},{"name":"Kharia","code":"khr"},{"name":"Kasua","code":"khs"},{"name":"Khamti","code":"kht"},{"name":"Nkhumbi","code":"khu"},{"name":"Khvarshi","code":"khv"},{"name":"Khowar","code":"khw"},{"name":"Kanu","code":"khx"},{"name":"Kele (Democratic Republic of Congo)","code":"khy"},{"name":"Keapara","code":"khz"},{"name":"Kim","code":"kia"},{"name":"Koalib","code":"kib"},{"name":"Kickapoo","code":"kic"},{"name":"Koshin","code":"kid"},{"name":"Kibet","code":"kie"},{"name":"Eastern Parbate Kham","code":"kif"},{"name":"Kimaama","code":"kig"},{"name":"Kimaghima","code":"kig"},{"name":"Kilmeri","code":"kih"},{"name":"Kitsai","code":"kii"},{"name":"Kilivila","code":"kij"},{"name":"Gikuyu","code":"kik"},{"name":"Kikuyu","code":"kik"},{"name":"Kariya","code":"kil"},{"name":"Karagas","code":"kim"},{"name":"Kinyarwanda","code":"kin"},{"name":"Kiowa","code":"kio"},{"name":"Sheshi Kham","code":"kip"},{"name":"Kosadle","code":"kiq"},{"name":"Kosare","code":"kiq"},{"name":"Kirghiz","code":"kir"},{"name":"Kyrgyz","code":"kir"},{"name":"Kis","code":"kis"},{"name":"Agob","code":"kit"},{"name":"Kirmanjki (individual language)","code":"kiu"},{"name":"Kimbu","code":"kiv"},{"name":"Northeast Kiwai","code":"kiw"},{"name":"Khiamniungan Naga","code":"kix"},{"name":"Kirikiri","code":"kiy"},{"name":"Kisi","code":"kiz"},{"name":"Mlap","code":"kja"},{"name":"Kanjobal","code":"kjb"},{"name":"Q'anjob'al","code":"kjb"},{"name":"Coastal Konjo","code":"kjc"},{"name":"Southern Kiwai","code":"kjd"},{"name":"Kisar","code":"kje"},{"name":"Khmu","code":"kjg"},{"name":"Khakas","code":"kjh"},{"name":"Zabana","code":"kji"},{"name":"Khinalugh","code":"kjj"},{"name":"Highland Konjo","code":"kjk"},{"name":"Western Parbate Kham","code":"kjl"},{"name":"Kháng","code":"kjm"},{"name":"Kunjen","code":"kjn"},{"name":"Harijan Kinnauri","code":"kjo"},{"name":"Pwo Eastern Karen","code":"kjp"},{"name":"Western Keres","code":"kjq"},{"name":"Kurudu","code":"kjr"},{"name":"East Kewa","code":"kjs"},{"name":"Phrae Pwo Karen","code":"kjt"},{"name":"Kashaya","code":"kju"},{"name":"Kaikavian Literary Language","code":"kjv"},{"name":"Ramopa","code":"kjx"},{"name":"Erave","code":"kjy"},{"name":"Bumthangkha","code":"kjz"},{"name":"Kakanda","code":"kka"},{"name":"Kwerisa","code":"kkb"},{"name":"Odoodee","code":"kkc"},{"name":"Kinuku","code":"kkd"},{"name":"Kakabe","code":"kke"},{"name":"Kalaktang Monpa","code":"kkf"},{"name":"Mabaka Valley Kalinga","code":"kkg"},{"name":"Khün","code":"kkh"},{"name":"Kagulu","code":"kki"},{"name":"Kako","code":"kkj"},{"name":"Kokota","code":"kkk"},{"name":"Kosarek Yale","code":"kkl"},{"name":"Kiong","code":"kkm"},{"name":"Kon Keu","code":"kkn"},{"name":"Karko","code":"kko"},{"name":"Gugubera","code":"kkp"},{"name":"Koko-Bera","code":"kkp"},{"name":"Kaeku","code":"kkq"},{"name":"Kir-Balar","code":"kkr"},{"name":"Giiwo","code":"kks"},{"name":"Koi","code":"kkt"},{"name":"Tumi","code":"kku"},{"name":"Kangean","code":"kkv"},{"name":"Teke-Kukuya","code":"kkw"},{"name":"Kohin","code":"kkx"},{"name":"Guguyimidjir","code":"kky"},{"name":"Guugu Yimidhirr","code":"kky"},{"name":"Kaska","code":"kkz"},{"name":"Klamath-Modoc","code":"kla"},{"name":"Kiliwa","code":"klb"},{"name":"Kolbila","code":"klc"},{"name":"Gamilaraay","code":"kld"},{"name":"Kulung (Nepal)","code":"kle"},{"name":"Kendeje","code":"klf"},{"name":"Tagakaulo","code":"klg"},{"name":"Weliki","code":"klh"},{"name":"Kalumpang","code":"kli"},{"name":"Khalaj","code":"klj"},{"name":"Kono (Nigeria)","code":"klk"},{"name":"Kagan Kalagan","code":"kll"},{"name":"Migum","code":"klm"},{"name":"Kalenjin","code":"kln"},{"name":"Kapya","code":"klo"},{"name":"Kamasa","code":"klp"},{"name":"Rumu","code":"klq"},{"name":"Khaling","code":"klr"},{"name":"Kalasha","code":"kls"},{"name":"Nukna","code":"klt"},{"name":"Klao","code":"klu"},{"name":"Maskelynes","code":"klv"},{"name":"Lindu","code":"klw"},{"name":"Tado","code":"klw"},{"name":"Koluwawa","code":"klx"},{"name":"Kalao","code":"kly"},{"name":"Kabola","code":"klz"},{"name":"Konni","code":"kma"},{"name":"Kimbundu","code":"kmb"},{"name":"Southern Dong","code":"kmc"},{"name":"Majukayang Kalinga","code":"kmd"},{"name":"Bakole","code":"kme"},{"name":"Kare (Papua New Guinea)","code":"kmf"},{"name":"Kâte","code":"kmg"},{"name":"Kalam","code":"kmh"},{"name":"Kami (Nigeria)","code":"kmi"},{"name":"Kumarbhag Paharia","code":"kmj"},{"name":"Limos Kalinga","code":"kmk"},{"name":"Tanudan Kalinga","code":"kml"},{"name":"Kom (India)","code":"kmm"},{"name":"Awtuw","code":"kmn"},{"name":"Kwoma","code":"kmo"},{"name":"Gimme","code":"kmp"},{"name":"Kwama","code":"kmq"},{"name":"Northern Kurdish","code":"kmr"},{"name":"Kamasau","code":"kms"},{"name":"Kemtuik","code":"kmt"},{"name":"Kanite","code":"kmu"},{"name":"Karipúna Creole French","code":"kmv"},{"name":"Komo (Democratic Republic of Congo)","code":"kmw"},{"name":"Waboda","code":"kmx"},{"name":"Koma","code":"kmy"},{"name":"Khorasani Turkish","code":"kmz"},{"name":"Dera (Nigeria)","code":"kna"},{"name":"Lubuagan Kalinga","code":"knb"},{"name":"Central Kanuri","code":"knc"},{"name":"Konda","code":"knd"},{"name":"Kankanaey","code":"kne"},{"name":"Mankanya","code":"knf"},{"name":"Koongo","code":"kng"},{"name":"Kanufi","code":"kni"},{"name":"Western Kanjobal","code":"knj"},{"name":"Kuranko","code":"knk"},{"name":"Keninjal","code":"knl"},{"name":"Kanamarí","code":"knm"},{"name":"Konkani (individual language)","code":"knn"},{"name":"Kono (Sierra Leone)","code":"kno"},{"name":"Kwanja","code":"knp"},{"name":"Kintaq","code":"knq"},{"name":"Kaningra","code":"knr"},{"name":"Kensiu","code":"kns"},{"name":"Panoan Katukína","code":"knt"},{"name":"Kono (Guinea)","code":"knu"},{"name":"Tabo","code":"knv"},{"name":"Kung-Ekoka","code":"knw"},{"name":"Kendayan","code":"knx"},{"name":"Salako","code":"knx"},{"name":"Kanyok","code":"kny"},{"name":"Kalamsé","code":"knz"},{"name":"Konomala","code":"koa"},{"name":"Kpati","code":"koc"},{"name":"Kodi","code":"kod"},{"name":"Kacipo-Bale Suri","code":"koe"},{"name":"Kubi","code":"kof"},{"name":"Cogui","code":"kog"},{"name":"Kogi","code":"kog"},{"name":"Koyo","code":"koh"},{"name":"Komi-Permyak","code":"koi"},{"name":"Konkani (macrolanguage)","code":"kok"},{"name":"Kol (Papua New Guinea)","code":"kol"},{"name":"Komi","code":"kom"},{"name":"Kongo","code":"kon"},{"name":"Konzo","code":"koo"},{"name":"Waube","code":"kop"},{"name":"Kota (Gabon)","code":"koq"},{"name":"Korean","code":"kor"},{"name":"Kosraean","code":"kos"},{"name":"Lagwan","code":"kot"},{"name":"Koke","code":"kou"},{"name":"Kudu-Camo","code":"kov"},{"name":"Kugama","code":"kow"},{"name":"Koyukon","code":"koy"},{"name":"Korak","code":"koz"},{"name":"Kutto","code":"kpa"},{"name":"Mullu Kurumba","code":"kpb"},{"name":"Curripaco","code":"kpc"},{"name":"Koba","code":"kpd"},{"name":"Kpelle","code":"kpe"},{"name":"Komba","code":"kpf"},{"name":"Kapingamarangi","code":"kpg"},{"name":"Kplang","code":"kph"},{"name":"Kofei","code":"kpi"},{"name":"Karajá","code":"kpj"},{"name":"Kpan","code":"kpk"},{"name":"Kpala","code":"kpl"},{"name":"Koho","code":"kpm"},{"name":"Kepkiriwát","code":"kpn"},{"name":"Ikposo","code":"kpo"},{"name":"Korupun-Sela","code":"kpq"},{"name":"Korafe-Yegha","code":"kpr"},{"name":"Tehit","code":"kps"},{"name":"Karata","code":"kpt"},{"name":"Kafoa","code":"kpu"},{"name":"Komi-Zyrian","code":"kpv"},{"name":"Kobon","code":"kpw"},{"name":"Mountain Koiali","code":"kpx"},{"name":"Koryak","code":"kpy"},{"name":"Kupsabiny","code":"kpz"},{"name":"Mum","code":"kqa"},{"name":"Kovai","code":"kqb"},{"name":"Doromu-Koki","code":"kqc"},{"name":"Koy Sanjaq Surat","code":"kqd"},{"name":"Kalagan","code":"kqe"},{"name":"Kakabai","code":"kqf"},{"name":"Khe","code":"kqg"},{"name":"Kisankasa","code":"kqh"},{"name":"Koitabu","code":"kqi"},{"name":"Koromira","code":"kqj"},{"name":"Kotafon Gbe","code":"kqk"},{"name":"Kyenele","code":"kql"},{"name":"Khisa","code":"kqm"},{"name":"Kaonde","code":"kqn"},{"name":"Eastern Krahn","code":"kqo"},{"name":"Kimré","code":"kqp"},{"name":"Krenak","code":"kqq"},{"name":"Kimaragang","code":"kqr"},{"name":"Northern Kissi","code":"kqs"},{"name":"Klias River Kadazan","code":"kqt"},{"name":"Seroa","code":"kqu"},{"name":"Okolod","code":"kqv"},{"name":"Kandas","code":"kqw"},{"name":"Mser","code":"kqx"},{"name":"Koorete","code":"kqy"},{"name":"Korana","code":"kqz"},{"name":"Kumhali","code":"kra"},{"name":"Karkin","code":"krb"},{"name":"Karachay-Balkar","code":"krc"},{"name":"Kairui-Midiki","code":"krd"},{"name":"Panará","code":"kre"},{"name":"Koro (Vanuatu)","code":"krf"},{"name":"Kurama","code":"krh"},{"name":"Krio","code":"kri"},{"name":"Kinaray-A","code":"krj"},{"name":"Kerek","code":"krk"},{"name":"Karelian","code":"krl"},{"name":"Sapo","code":"krn"},{"name":"Korop","code":"krp"},{"name":"Krung","code":"krr"},{"name":"Gbaya (Sudan)","code":"krs"},{"name":"Tumari Kanuri","code":"krt"},{"name":"Kurukh","code":"kru"},{"name":"Kavet","code":"krv"},{"name":"Western Krahn","code":"krw"},{"name":"Karon","code":"krx"},{"name":"Kryts","code":"kry"},{"name":"Sota Kanum","code":"krz"},{"name":"Shuwa-Zamani","code":"ksa"},{"name":"Shambala","code":"ksb"},{"name":"Southern Kalinga","code":"ksc"},{"name":"Kuanua","code":"ksd"},{"name":"Kuni","code":"kse"},{"name":"Bafia","code":"ksf"},{"name":"Kusaghe","code":"ksg"},{"name":"Kölsch","code":"ksh"},{"name":"I'saka","code":"ksi"},{"name":"Krisa","code":"ksi"},{"name":"Uare","code":"ksj"},{"name":"Kansa","code":"ksk"},{"name":"Kumalu","code":"ksl"},{"name":"Kumba","code":"ksm"},{"name":"Kasiguranin","code":"ksn"},{"name":"Kofa","code":"kso"},{"name":"Kaba","code":"ksp"},{"name":"Kwaami","code":"ksq"},{"name":"Borong","code":"ksr"},{"name":"Southern Kisi","code":"kss"},{"name":"Winyé","code":"kst"},{"name":"Khamyang","code":"ksu"},{"name":"Kusu","code":"ksv"},{"name":"S'gaw Karen","code":"ksw"},{"name":"Kedang","code":"ksx"},{"name":"Kharia Thar","code":"ksy"},{"name":"Kodaku","code":"ksz"},{"name":"Katua","code":"kta"},{"name":"Kambaata","code":"ktb"},{"name":"Kholok","code":"ktc"},{"name":"Kokata","code":"ktd"},{"name":"Kukatha","code":"ktd"},{"name":"Nubri","code":"kte"},{"name":"Kwami","code":"ktf"},{"name":"Kalkutung","code":"ktg"},{"name":"Karanga","code":"kth"},{"name":"North Muyu","code":"kti"},{"name":"Plapo Krumen","code":"ktj"},{"name":"Kaniet","code":"ktk"},{"name":"Koroshi","code":"ktl"},{"name":"Kurti","code":"ktm"},{"name":"Karitiâna","code":"ktn"},{"name":"Kuot","code":"kto"},{"name":"Kaduo","code":"ktp"},{"name":"Katabaga","code":"ktq"},{"name":"South Muyu","code":"kts"},{"name":"Ketum","code":"ktt"},{"name":"Kituba (Democratic Republic of Congo)","code":"ktu"},{"name":"Eastern Katu","code":"ktv"},{"name":"Kato","code":"ktw"},{"name":"Kaxararí","code":"ktx"},{"name":"Kango (Bas-Uélé District)","code":"kty"},{"name":"Juǀʼhoan","code":"ktz"},{"name":"Juǀʼhoansi","code":"ktz"},{"name":"Kuanyama","code":"kua"},{"name":"Kwanyama","code":"kua"},{"name":"Kutep","code":"kub"},{"name":"Kwinsu","code":"kuc"},{"name":"'Auhelawa","code":"kud"},{"name":"Kuman (Papua New Guinea)","code":"kue"},{"name":"Western Katu","code":"kuf"},{"name":"Kupa","code":"kug"},{"name":"Kushi","code":"kuh"},{"name":"Kalapalo","code":"kui"},{"name":"Kuikúro-Kalapálo","code":"kui"},{"name":"Kuria","code":"kuj"},{"name":"Kepo'","code":"kuk"},{"name":"Kulere","code":"kul"},{"name":"Kumyk","code":"kum"},{"name":"Kunama","code":"kun"},{"name":"Kumukio","code":"kuo"},{"name":"Kunimaipa","code":"kup"},{"name":"Karipuna","code":"kuq"},{"name":"Kurdish","code":"kur"},{"name":"Kusaal","code":"kus"},{"name":"Kutenai","code":"kut"},{"name":"Upper Kuskokwim","code":"kuu"},{"name":"Kur","code":"kuv"},{"name":"Kpagua","code":"kuw"},{"name":"Kukatja","code":"kux"},{"name":"Kuuku-Ya'u","code":"kuy"},{"name":"Kunza","code":"kuz"},{"name":"Bagvalal","code":"kva"},{"name":"Kubu","code":"kvb"},{"name":"Kove","code":"kvc"},{"name":"Kui (Indonesia)","code":"kvd"},{"name":"Kalabakan","code":"kve"},{"name":"Kabalai","code":"kvf"},{"name":"Kuni-Boazi","code":"kvg"},{"name":"Komodo","code":"kvh"},{"name":"Kwang","code":"kvi"},{"name":"Psikye","code":"kvj"},{"name":"Korean Sign Language","code":"kvk"},{"name":"Kayaw","code":"kvl"},{"name":"Kendem","code":"kvm"},{"name":"Border Kuna","code":"kvn"},{"name":"Dobel","code":"kvo"},{"name":"Kompane","code":"kvp"},{"name":"Geba Karen","code":"kvq"},{"name":"Kerinci","code":"kvr"},{"name":"Lahta","code":"kvt"},{"name":"Lahta Karen","code":"kvt"},{"name":"Yinbaw Karen","code":"kvu"},{"name":"Kola","code":"kvv"},{"name":"Wersing","code":"kvw"},{"name":"Parkari Koli","code":"kvx"},{"name":"Yintale","code":"kvy"},{"name":"Yintale Karen","code":"kvy"},{"name":"Tsakwambo","code":"kvz"},{"name":"Tsaukambo","code":"kvz"},{"name":"Dâw","code":"kwa"},{"name":"Kwa","code":"kwb"},{"name":"Likwala","code":"kwc"},{"name":"Kwaio","code":"kwd"},{"name":"Kwerba","code":"kwe"},{"name":"Kwara'ae","code":"kwf"},{"name":"Sara Kaba Deme","code":"kwg"},{"name":"Kowiai","code":"kwh"},{"name":"Awa-Cuaiquer","code":"kwi"},{"name":"Kwanga","code":"kwj"},{"name":"Kwakiutl","code":"kwk"},{"name":"Kofyar","code":"kwl"},{"name":"Kwambi","code":"kwm"},{"name":"Kwangali","code":"kwn"},{"name":"Kwomtari","code":"kwo"},{"name":"Kodia","code":"kwp"},{"name":"Kwer","code":"kwr"},{"name":"Kwese","code":"kws"},{"name":"Kwesten","code":"kwt"},{"name":"Kwakum","code":"kwu"},{"name":"Sara Kaba Náà","code":"kwv"},{"name":"Kwinti","code":"kww"},{"name":"Khirwar","code":"kwx"},{"name":"San Salvador Kongo","code":"kwy"},{"name":"Kwadi","code":"kwz"},{"name":"Kairiru","code":"kxa"},{"name":"Krobu","code":"kxb"},{"name":"Khonso","code":"kxc"},{"name":"Konso","code":"kxc"},{"name":"Brunei","code":"kxd"},{"name":"Manumanaw","code":"kxf"},{"name":"Manumanaw Karen","code":"kxf"},{"name":"Karo (Ethiopia)","code":"kxh"},{"name":"Keningau Murut","code":"kxi"},{"name":"Kulfa","code":"kxj"},{"name":"Zayein Karen","code":"kxk"},{"name":"Northern Khmer","code":"kxm"},{"name":"Kanowit-Tanjong Melanau","code":"kxn"},{"name":"Kanoé","code":"kxo"},{"name":"Wadiyara Koli","code":"kxp"},{"name":"Smärky Kanum","code":"kxq"},{"name":"Koro (Papua New Guinea)","code":"kxr"},{"name":"Kangjia","code":"kxs"},{"name":"Koiwat","code":"kxt"},{"name":"Kuvi","code":"kxv"},{"name":"Konai","code":"kxw"},{"name":"Likuba","code":"kxx"},{"name":"Kayong","code":"kxy"},{"name":"Kerewo","code":"kxz"},{"name":"Kwaya","code":"kya"},{"name":"Butbut Kalinga","code":"kyb"},{"name":"Kyaka","code":"kyc"},{"name":"Karey","code":"kyd"},{"name":"Krache","code":"kye"},{"name":"Kouya","code":"kyf"},{"name":"Keyagana","code":"kyg"},{"name":"Karok","code":"kyh"},{"name":"Kiput","code":"kyi"},{"name":"Karao","code":"kyj"},{"name":"Kamayo","code":"kyk"},{"name":"Kalapuya","code":"kyl"},{"name":"Kpatili","code":"kym"},{"name":"Northern Binukidnon","code":"kyn"},{"name":"Kelon","code":"kyo"},{"name":"Kang","code":"kyp"},{"name":"Kenga","code":"kyq"},{"name":"Kuruáya","code":"kyr"},{"name":"Baram Kayan","code":"kys"},{"name":"Kayagar","code":"kyt"},{"name":"Western Kayah","code":"kyu"},{"name":"Kayort","code":"kyv"},{"name":"Kudmali","code":"kyw"},{"name":"Rapoisi","code":"kyx"},{"name":"Kambaira","code":"kyy"},{"name":"Kayabí","code":"kyz"},{"name":"Western Karaboro","code":"kza"},{"name":"Kaibobo","code":"kzb"},{"name":"Bondoukou Kulango","code":"kzc"},{"name":"Kadai","code":"kzd"},{"name":"Kosena","code":"kze"},{"name":"Da'a Kaili","code":"kzf"},{"name":"Kikai","code":"kzg"},{"name":"Kelabit","code":"kzi"},{"name":"Kazukuru","code":"kzk"},{"name":"Kayeli","code":"kzl"},{"name":"Kais","code":"kzm"},{"name":"Kokola","code":"kzn"},{"name":"Kaningi","code":"kzo"},{"name":"Kaidipang","code":"kzp"},{"name":"Kaike","code":"kzq"},{"name":"Karang","code":"kzr"},{"name":"Sugut Dusun","code":"kzs"},{"name":"Kayupulau","code":"kzu"},{"name":"Komyandaret","code":"kzv"},{"name":"Karirí-Xocó","code":"kzw"},{"name":"Kamarian","code":"kzx"},{"name":"Kango (Tshopo District)","code":"kzy"},{"name":"Kalabra","code":"kzz"},{"name":"Southern Subanen","code":"laa"},{"name":"Linear A","code":"lab"},{"name":"Lacandon","code":"lac"},{"name":"Ladino","code":"lad"},{"name":"Pattani","code":"lae"},{"name":"Lafofa","code":"laf"},{"name":"Langi","code":"lag"},{"name":"Lahnda","code":"lah"},{"name":"Lambya","code":"lai"},{"name":"Lango (Uganda)","code":"laj"},{"name":"Laka (Nigeria)","code":"lak"},{"name":"Lalia","code":"lal"},{"name":"Lamba","code":"lam"},{"name":"Laru","code":"lan"},{"name":"Lao","code":"lao"},{"name":"Laka (Chad)","code":"lap"},{"name":"Qabiao","code":"laq"},{"name":"Larteh","code":"lar"},{"name":"Lama (Togo)","code":"las"},{"name":"Latin","code":"lat"},{"name":"Laba","code":"lau"},{"name":"Latvian","code":"lav"},{"name":"Lauje","code":"law"},{"name":"Tiwa","code":"lax"},{"name":"Lama Bai","code":"lay"},{"name":"Aribwatsa","code":"laz"},{"name":"Label","code":"lbb"},{"name":"Lakkia","code":"lbc"},{"name":"Lak","code":"lbe"},{"name":"Tinani","code":"lbf"},{"name":"Laopang","code":"lbg"},{"name":"La'bi","code":"lbi"},{"name":"Ladakhi","code":"lbj"},{"name":"Central Bontok","code":"lbk"},{"name":"Libon Bikol","code":"lbl"},{"name":"Lodhi","code":"lbm"},{"name":"Rmeet","code":"lbn"},{"name":"Laven","code":"lbo"},{"name":"Wampar","code":"lbq"},{"name":"Lohorung","code":"lbr"},{"name":"Libyan Sign Language","code":"lbs"},{"name":"Lachi","code":"lbt"},{"name":"Labu","code":"lbu"},{"name":"Lavatbura-Lamusong","code":"lbv"},{"name":"Tolaki","code":"lbw"},{"name":"Lawangan","code":"lbx"},{"name":"Lamalama","code":"lby"},{"name":"Lamu-Lamu","code":"lby"},{"name":"Lardil","code":"lbz"},{"name":"Legenyem","code":"lcc"},{"name":"Lola","code":"lcd"},{"name":"Loncong","code":"lce"},{"name":"Sekak","code":"lce"},{"name":"Lubu","code":"lcf"},{"name":"Luchazi","code":"lch"},{"name":"Lisela","code":"lcl"},{"name":"Tungag","code":"lcm"},{"name":"Western Lawa","code":"lcp"},{"name":"Luhu","code":"lcq"},{"name":"Lisabata-Nuniali","code":"lcs"},{"name":"Kla-Dan","code":"lda"},{"name":"Dũya","code":"ldb"},{"name":"Luri","code":"ldd"},{"name":"Lenyima","code":"ldg"},{"name":"Lamja-Dengsa-Tola","code":"ldh"},{"name":"Laari","code":"ldi"},{"name":"Lemoro","code":"ldj"},{"name":"Leelau","code":"ldk"},{"name":"Kaan","code":"ldl"},{"name":"Landoma","code":"ldm"},{"name":"Láadan","code":"ldn"},{"name":"Loo","code":"ldo"},{"name":"Tso","code":"ldp"},{"name":"Lufu","code":"ldq"},{"name":"Lega-Shabunda","code":"lea"},{"name":"Lala-Bisa","code":"leb"},{"name":"Leco","code":"lec"},{"name":"Lendu","code":"led"},{"name":"Lyélé","code":"lee"},{"name":"Lelemi","code":"lef"},{"name":"Lenje","code":"leh"},{"name":"Lemio","code":"lei"},{"name":"Lengola","code":"lej"},{"name":"Leipon","code":"lek"},{"name":"Lele (Democratic Republic of Congo)","code":"lel"},{"name":"Nomaande","code":"lem"},{"name":"Lenca","code":"len"},{"name":"Leti (Cameroon)","code":"leo"},{"name":"Lepcha","code":"lep"},{"name":"Lembena","code":"leq"},{"name":"Lenkau","code":"ler"},{"name":"Lese","code":"les"},{"name":"Amio-Gelimi","code":"let"},{"name":"Lesing-Gelimi","code":"let"},{"name":"Kara (Papua New Guinea)","code":"leu"},{"name":"Lamma","code":"lev"},{"name":"Ledo Kaili","code":"lew"},{"name":"Luang","code":"lex"},{"name":"Lemolang","code":"ley"},{"name":"Lezghian","code":"lez"},{"name":"Lefa","code":"lfa"},{"name":"Lingua Franca Nova","code":"lfn"},{"name":"Lungga","code":"lga"},{"name":"Laghu","code":"lgb"},{"name":"Lugbara","code":"lgg"},{"name":"Laghuu","code":"lgh"},{"name":"Lengilu","code":"lgi"},{"name":"Lingarak","code":"lgk"},{"name":"Neverver","code":"lgk"},{"name":"Wala","code":"lgl"},{"name":"Lega-Mwenga","code":"lgm"},{"name":"Opuuo","code":"lgn"},{"name":"T'apo","code":"lgn"},{"name":"Logba","code":"lgq"},{"name":"Lengo","code":"lgr"},{"name":"Pahi","code":"lgt"},{"name":"Longgu","code":"lgu"},{"name":"Ligenza","code":"lgz"},{"name":"Laha (Viet Nam)","code":"lha"},{"name":"Laha (Indonesia)","code":"lhh"},{"name":"Lahu Shi","code":"lhi"},{"name":"Lahul Lohar","code":"lhl"},{"name":"Lhomi","code":"lhm"},{"name":"Lahanan","code":"lhn"},{"name":"Lhokpu","code":"lhp"},{"name":"Mlahsö","code":"lhs"},{"name":"Lo-Toga","code":"lht"},{"name":"Lahu","code":"lhu"},{"name":"West-Central Limba","code":"lia"},{"name":"Likum","code":"lib"},{"name":"Hlai","code":"lic"},{"name":"Nyindrou","code":"lid"},{"name":"Likila","code":"lie"},{"name":"Limbu","code":"lif"},{"name":"Ligbi","code":"lig"},{"name":"Lihir","code":"lih"},{"name":"Ligurian","code":"lij"},{"name":"Lika","code":"lik"},{"name":"Lillooet","code":"lil"},{"name":"Limburgan","code":"lim"},{"name":"Limburger","code":"lim"},{"name":"Limburgish","code":"lim"},{"name":"Lingala","code":"lin"},{"name":"Liki","code":"lio"},{"name":"Sekpele","code":"lip"},{"name":"Libido","code":"liq"},{"name":"Liberian English","code":"lir"},{"name":"Lisu","code":"lis"},{"name":"Lithuanian","code":"lit"},{"name":"Logorik","code":"liu"},{"name":"Liv","code":"liv"},{"name":"Col","code":"liw"},{"name":"Liabuku","code":"lix"},{"name":"Banda-Bambari","code":"liy"},{"name":"Libinza","code":"liz"},{"name":"Golpa","code":"lja"},{"name":"Rampi","code":"lje"},{"name":"Laiyolo","code":"lji"},{"name":"Li'o","code":"ljl"},{"name":"Lampung Api","code":"ljp"},{"name":"Yirandali","code":"ljw"},{"name":"Yuru","code":"ljx"},{"name":"Lakalei","code":"lka"},{"name":"Kabras","code":"lkb"},{"name":"Lukabaras","code":"lkb"},{"name":"Kucong","code":"lkc"},{"name":"Lakondê","code":"lkd"},{"name":"Kenyi","code":"lke"},{"name":"Lakha","code":"lkh"},{"name":"Laki","code":"lki"},{"name":"Remun","code":"lkj"},{"name":"Laeko-Libuat","code":"lkl"},{"name":"Kalaamaya","code":"lkm"},{"name":"Lakon","code":"lkn"},{"name":"Vure","code":"lkn"},{"name":"Khayo","code":"lko"},{"name":"Olukhayo","code":"lko"},{"name":"Päri","code":"lkr"},{"name":"Kisa","code":"lks"},{"name":"Olushisa","code":"lks"},{"name":"Lakota","code":"lkt"},{"name":"Kungkari","code":"lku"},{"name":"Lokoya","code":"lky"},{"name":"Lala-Roba","code":"lla"},{"name":"Lolo","code":"llb"},{"name":"Lele (Guinea)","code":"llc"},{"name":"Ladin","code":"lld"},{"name":"Lele (Papua New Guinea)","code":"lle"},{"name":"Hermit","code":"llf"},{"name":"Lole","code":"llg"},{"name":"Lamu","code":"llh"},{"name":"Teke-Laali","code":"lli"},{"name":"Ladji Ladji","code":"llj"},{"name":"Lelak","code":"llk"},{"name":"Lilau","code":"lll"},{"name":"Lasalimu","code":"llm"},{"name":"Lele (Chad)","code":"lln"},{"name":"North Efate","code":"llp"},{"name":"Lolak","code":"llq"},{"name":"Lithuanian Sign Language","code":"lls"},{"name":"Lau","code":"llu"},{"name":"Lauan","code":"llx"},{"name":"East Limba","code":"lma"},{"name":"Merei","code":"lmb"},{"name":"Limilngan","code":"lmc"},{"name":"Lumun","code":"lmd"},{"name":"Pévé","code":"lme"},{"name":"South Lembata","code":"lmf"},{"name":"Lamogai","code":"lmg"},{"name":"Lambichhong","code":"lmh"},{"name":"Lombi","code":"lmi"},{"name":"West Lembata","code":"lmj"},{"name":"Lamkang","code":"lmk"},{"name":"Hano","code":"lml"},{"name":"Lambadi","code":"lmn"},{"name":"Lombard","code":"lmo"},{"name":"Limbum","code":"lmp"},{"name":"Lamatuka","code":"lmq"},{"name":"Lamalera","code":"lmr"},{"name":"Lamenu","code":"lmu"},{"name":"Lomaiviti","code":"lmv"},{"name":"Lake Miwok","code":"lmw"},{"name":"Laimbue","code":"lmx"},{"name":"Lamboya","code":"lmy"},{"name":"Langbashe","code":"lna"},{"name":"Mbalanhu","code":"lnb"},{"name":"Lun Bawang","code":"lnd"},{"name":"Lundayeh","code":"lnd"},{"name":"Langobardic","code":"lng"},{"name":"Lanoh","code":"lnh"},{"name":"Daantanai'","code":"lni"},{"name":"Leningitij","code":"lnj"},{"name":"South Central Banda","code":"lnl"},{"name":"Langam","code":"lnm"},{"name":"Lorediakarkar","code":"lnn"},{"name":"Lango (South Sudan)","code":"lno"},{"name":"Lamnso'","code":"lns"},{"name":"Longuda","code":"lnu"},{"name":"Lanima","code":"lnw"},{"name":"Lonzo","code":"lnz"},{"name":"Loloda","code":"loa"},{"name":"Lobi","code":"lob"},{"name":"Inonhan","code":"loc"},{"name":"Saluan","code":"loe"},{"name":"Logol","code":"lof"},{"name":"Logo","code":"log"},{"name":"Narim","code":"loh"},{"name":"Loma (Côte d'Ivoire)","code":"loi"},{"name":"Lou","code":"loj"},{"name":"Loko","code":"lok"},{"name":"Mongo","code":"lol"},{"name":"Loma (Liberia)","code":"lom"},{"name":"Malawi Lomwe","code":"lon"},{"name":"Lombo","code":"loo"},{"name":"Lopa","code":"lop"},{"name":"Lobala","code":"loq"},{"name":"Téén","code":"lor"},{"name":"Loniu","code":"los"},{"name":"Otuho","code":"lot"},{"name":"Louisiana Creole","code":"lou"},{"name":"Lopi","code":"lov"},{"name":"Tampias Lobu","code":"low"},{"name":"Loun","code":"lox"},{"name":"Loke","code":"loy"},{"name":"Lozi","code":"loz"},{"name":"Lelepa","code":"lpa"},{"name":"Lepki","code":"lpe"},{"name":"Long Phuri Naga","code":"lpn"},{"name":"Lipo","code":"lpo"},{"name":"Lopit","code":"lpx"},{"name":"Rara Bakati'","code":"lra"},{"name":"Northern Luri","code":"lrc"},{"name":"Laurentian","code":"lre"},{"name":"Laragia","code":"lrg"},{"name":"Marachi","code":"lri"},{"name":"Olumarachi","code":"lri"},{"name":"Loarki","code":"lrk"},{"name":"Lari","code":"lrl"},{"name":"Marama","code":"lrm"},{"name":"Olumarama","code":"lrm"},{"name":"Lorang","code":"lrn"},{"name":"Laro","code":"lro"},{"name":"Southern Yamphu","code":"lrr"},{"name":"Larantuka Malay","code":"lrt"},{"name":"Larevat","code":"lrv"},{"name":"Lemerig","code":"lrz"},{"name":"Lasgerdi","code":"lsa"},{"name":"Burundian Sign Language","code":"lsb"},{"name":"Langue des Signes Burundaise","code":"lsb"},{"name":"Lishana Deni","code":"lsd"},{"name":"Lusengo","code":"lse"},{"name":"Lish","code":"lsh"},{"name":"Lashi","code":"lsi"},{"name":"Latvian Sign Language","code":"lsl"},{"name":"Olusamia","code":"lsm"},{"name":"Saamia","code":"lsm"},{"name":"Tibetan Sign Language","code":"lsn"},{"name":"Laos Sign Language","code":"lso"},{"name":"Lengua de Señas Panameñas","code":"lsp"},{"name":"Panamanian Sign Language","code":"lsp"},{"name":"Aruop","code":"lsr"},{"name":"Lasi","code":"lss"},{"name":"Trinidad and Tobago Sign Language","code":"lst"},{"name":"Sivia Sign Language","code":"lsv"},{"name":"Mauritian Sign Language","code":"lsy"},{"name":"Late Middle Chinese","code":"ltc"},{"name":"Latgalian","code":"ltg"},{"name":"Thur","code":"lth"},{"name":"Leti (Indonesia)","code":"lti"},{"name":"Latundê","code":"ltn"},{"name":"Olutsotso","code":"lto"},{"name":"Tsotso","code":"lto"},{"name":"Lutachoni","code":"lts"},{"name":"Tachoni","code":"lts"},{"name":"Latu","code":"ltu"},{"name":"Letzeburgesch","code":"ltz"},{"name":"Luxembourgish","code":"ltz"},{"name":"Luba-Lulua","code":"lua"},{"name":"Luba-Katanga","code":"lub"},{"name":"Aringa","code":"luc"},{"name":"Ludian","code":"lud"},{"name":"Luvale","code":"lue"},{"name":"Laua","code":"luf"},{"name":"Ganda","code":"lug"},{"name":"Luiseno","code":"lui"},{"name":"Luna","code":"luj"},{"name":"Lunanakha","code":"luk"},{"name":"Olu'bo","code":"lul"},{"name":"Luimbi","code":"lum"},{"name":"Lunda","code":"lun"},{"name":"Dholuo","code":"luo"},{"name":"Luo (Kenya and Tanzania)","code":"luo"},{"name":"Lumbu","code":"lup"},{"name":"Lucumi","code":"luq"},{"name":"Laura","code":"lur"},{"name":"Lushai","code":"lus"},{"name":"Lushootseed","code":"lut"},{"name":"Lumba-Yakkha","code":"luu"},{"name":"Luwati","code":"luv"},{"name":"Luo (Cameroon)","code":"luw"},{"name":"Luyia","code":"luy"},{"name":"Oluluyia","code":"luy"},{"name":"Southern Luri","code":"luz"},{"name":"Maku'a","code":"lva"},{"name":"Lavi","code":"lvi"},{"name":"Lavukaleve","code":"lvk"},{"name":"Standard Latvian","code":"lvs"},{"name":"Levuka","code":"lvu"},{"name":"Lwalu","code":"lwa"},{"name":"Lewo Eleng","code":"lwe"},{"name":"Oluwanga","code":"lwg"},{"name":"Wanga","code":"lwg"},{"name":"White Lachi","code":"lwh"},{"name":"Eastern Lawa","code":"lwl"},{"name":"Laomian","code":"lwm"},{"name":"Luwo","code":"lwo"},{"name":"Malawian Sign Language","code":"lws"},{"name":"Lewotobi","code":"lwt"},{"name":"Lawu","code":"lwu"},{"name":"Lewo","code":"lww"},{"name":"Lakurumau","code":"lxm"},{"name":"Layakha","code":"lya"},{"name":"Lyngngam","code":"lyg"},{"name":"Luyana","code":"lyn"},{"name":"Literary Chinese","code":"lzh"},{"name":"Litzlitz","code":"lzl"},{"name":"Leinong Naga","code":"lzn"},{"name":"Laz","code":"lzz"},{"name":"San Jerónimo Tecóatl Mazatec","code":"maa"},{"name":"Yutanduchi Mixtec","code":"mab"},{"name":"Madurese","code":"mad"},{"name":"Bo-Rukul","code":"mae"},{"name":"Mafa","code":"maf"},{"name":"Magahi","code":"mag"},{"name":"Marshallese","code":"mah"},{"name":"Maithili","code":"mai"},{"name":"Jalapa De Díaz Mazatec","code":"maj"},{"name":"Makasar","code":"mak"},{"name":"Malayalam","code":"mal"},{"name":"Mam","code":"mam"},{"name":"Manding","code":"man"},{"name":"Mandingo","code":"man"},{"name":"Chiquihuitlán Mazatec","code":"maq"},{"name":"Marathi","code":"mar"},{"name":"Masai","code":"mas"},{"name":"San Francisco Matlatzinca","code":"mat"},{"name":"Huautla Mazatec","code":"mau"},{"name":"Sateré-Mawé","code":"mav"},{"name":"Mampruli","code":"maw"},{"name":"North Moluccan Malay","code":"max"},{"name":"Central Mazahua","code":"maz"},{"name":"Higaonon","code":"mba"},{"name":"Western Bukidnon Manobo","code":"mbb"},{"name":"Macushi","code":"mbc"},{"name":"Dibabawon Manobo","code":"mbd"},{"name":"Molale","code":"mbe"},{"name":"Baba Malay","code":"mbf"},{"name":"Mangseng","code":"mbh"},{"name":"Ilianen Manobo","code":"mbi"},{"name":"Nadëb","code":"mbj"},{"name":"Malol","code":"mbk"},{"name":"Maxakalí","code":"mbl"},{"name":"Ombamba","code":"mbm"},{"name":"Macaguán","code":"mbn"},{"name":"Mbo (Cameroon)","code":"mbo"},{"name":"Malayo","code":"mbp"},{"name":"Maisin","code":"mbq"},{"name":"Nukak Makú","code":"mbr"},{"name":"Sarangani Manobo","code":"mbs"},{"name":"Matigsalug Manobo","code":"mbt"},{"name":"Mbula-Bwazza","code":"mbu"},{"name":"Mbulungish","code":"mbv"},{"name":"Maring","code":"mbw"},{"name":"Mari (East Sepik Province)","code":"mbx"},{"name":"Memoni","code":"mby"},{"name":"Amoltepec Mixtec","code":"mbz"},{"name":"Maca","code":"mca"},{"name":"Machiguenga","code":"mcb"},{"name":"Bitur","code":"mcc"},{"name":"Sharanahua","code":"mcd"},{"name":"Itundujia Mixtec","code":"mce"},{"name":"Matsés","code":"mcf"},{"name":"Mapoyo","code":"mcg"},{"name":"Maquiritari","code":"mch"},{"name":"Mese","code":"mci"},{"name":"Mvanip","code":"mcj"},{"name":"Mbunda","code":"mck"},{"name":"Macaguaje","code":"mcl"},{"name":"Malaccan Creole Portuguese","code":"mcm"},{"name":"Masana","code":"mcn"},{"name":"Coatlán Mixe","code":"mco"},{"name":"Makaa","code":"mcp"},{"name":"Ese","code":"mcq"},{"name":"Menya","code":"mcr"},{"name":"Mambai","code":"mcs"},{"name":"Mengisa","code":"mct"},{"name":"Cameroon Mambila","code":"mcu"},{"name":"Minanibai","code":"mcv"},{"name":"Mawa (Chad)","code":"mcw"},{"name":"Mpiemo","code":"mcx"},{"name":"South Watut","code":"mcy"},{"name":"Mawan","code":"mcz"},{"name":"Mada (Nigeria)","code":"mda"},{"name":"Morigi","code":"mdb"},{"name":"Male (Papua New Guinea)","code":"mdc"},{"name":"Mbum","code":"mdd"},{"name":"Maba (Chad)","code":"mde"},{"name":"Moksha","code":"mdf"},{"name":"Massalat","code":"mdg"},{"name":"Maguindanaon","code":"mdh"},{"name":"Mamvu","code":"mdi"},{"name":"Mangbetu","code":"mdj"},{"name":"Mangbutu","code":"mdk"},{"name":"Maltese Sign Language","code":"mdl"},{"name":"Mayogo","code":"mdm"},{"name":"Mbati","code":"mdn"},{"name":"Mbala","code":"mdp"},{"name":"Mbole","code":"mdq"},{"name":"Mandar","code":"mdr"},{"name":"Maria (Papua New Guinea)","code":"mds"},{"name":"Mbere","code":"mdt"},{"name":"Mboko","code":"mdu"},{"name":"Santa Lucía Monteverde Mixtec","code":"mdv"},{"name":"Mbosi","code":"mdw"},{"name":"Dizin","code":"mdx"},{"name":"Male (Ethiopia)","code":"mdy"},{"name":"Suruí Do Pará","code":"mdz"},{"name":"Menka","code":"mea"},{"name":"Ikobi","code":"meb"},{"name":"Marra","code":"mec"},{"name":"Melpa","code":"med"},{"name":"Mengen","code":"mee"},{"name":"Megam","code":"mef"},{"name":"Southwestern Tlaxiaco Mixtec","code":"meh"},{"name":"Midob","code":"mei"},{"name":"Meyah","code":"mej"},{"name":"Mekeo","code":"mek"},{"name":"Central Melanau","code":"mel"},{"name":"Mangala","code":"mem"},{"name":"Mende (Sierra Leone)","code":"men"},{"name":"Kedah Malay","code":"meo"},{"name":"Miriwoong","code":"mep"},{"name":"Merey","code":"meq"},{"name":"Meru","code":"mer"},{"name":"Masmaje","code":"mes"},{"name":"Mato","code":"met"},{"name":"Motu","code":"meu"},{"name":"Mano","code":"mev"},{"name":"Maaka","code":"mew"},{"name":"Hassaniyya","code":"mey"},{"name":"Menominee","code":"mez"},{"name":"Pattani Malay","code":"mfa"},{"name":"Bangka","code":"mfb"},{"name":"Mba","code":"mfc"},{"name":"Mendankwe-Nkwen","code":"mfd"},{"name":"Morisyen","code":"mfe"},{"name":"Naki","code":"mff"},{"name":"Mogofin","code":"mfg"},{"name":"Matal","code":"mfh"},{"name":"Wandala","code":"mfi"},{"name":"Mefele","code":"mfj"},{"name":"North Mofu","code":"mfk"},{"name":"Putai","code":"mfl"},{"name":"Marghi South","code":"mfm"},{"name":"Cross River Mbembe","code":"mfn"},{"name":"Mbe","code":"mfo"},{"name":"Makassar Malay","code":"mfp"},{"name":"Moba","code":"mfq"},{"name":"Marrithiyel","code":"mfr"},{"name":"Mexican Sign Language","code":"mfs"},{"name":"Mokerang","code":"mft"},{"name":"Mbwela","code":"mfu"},{"name":"Mandjak","code":"mfv"},{"name":"Mulaha","code":"mfw"},{"name":"Melo","code":"mfx"},{"name":"Mayo","code":"mfy"},{"name":"Mabaan","code":"mfz"},{"name":"Middle Irish (900-1200)","code":"mga"},{"name":"Mararit","code":"mgb"},{"name":"Morokodo","code":"mgc"},{"name":"Moru","code":"mgd"},{"name":"Mango","code":"mge"},{"name":"Maklew","code":"mgf"},{"name":"Mpumpong","code":"mgg"},{"name":"Makhuwa-Meetto","code":"mgh"},{"name":"Lijili","code":"mgi"},{"name":"Abureni","code":"mgj"},{"name":"Mawes","code":"mgk"},{"name":"Maleu-Kilenge","code":"mgl"},{"name":"Mambae","code":"mgm"},{"name":"Mbangi","code":"mgn"},{"name":"Meta'","code":"mgo"},{"name":"Eastern Magar","code":"mgp"},{"name":"Malila","code":"mgq"},{"name":"Mambwe-Lungu","code":"mgr"},{"name":"Manda (Tanzania)","code":"mgs"},{"name":"Mongol","code":"mgt"},{"name":"Mailu","code":"mgu"},{"name":"Matengo","code":"mgv"},{"name":"Matumbi","code":"mgw"},{"name":"Mbunga","code":"mgy"},{"name":"Mbugwe","code":"mgz"},{"name":"Manda (India)","code":"mha"},{"name":"Mahongwe","code":"mhb"},{"name":"Mocho","code":"mhc"},{"name":"Mbugu","code":"mhd"},{"name":"Besisi","code":"mhe"},{"name":"Mah Meri","code":"mhe"},{"name":"Mamaa","code":"mhf"},{"name":"Margu","code":"mhg"},{"name":"Ma'di","code":"mhi"},{"name":"Mogholi","code":"mhj"},{"name":"Mungaka","code":"mhk"},{"name":"Mauwake","code":"mhl"},{"name":"Makhuwa-Moniga","code":"mhm"},{"name":"Mócheno","code":"mhn"},{"name":"Mashi (Zambia)","code":"mho"},{"name":"Balinese Malay","code":"mhp"},{"name":"Mandan","code":"mhq"},{"name":"Eastern Mari","code":"mhr"},{"name":"Buru (Indonesia)","code":"mhs"},{"name":"Mandahuaca","code":"mht"},{"name":"Darang Deng","code":"mhu"},{"name":"Digaro-Mishmi","code":"mhu"},{"name":"Mbukushu","code":"mhw"},{"name":"Lhaovo","code":"mhx"},{"name":"Maru","code":"mhx"},{"name":"Ma'anyan","code":"mhy"},{"name":"Mor (Mor Islands)","code":"mhz"},{"name":"Miami","code":"mia"},{"name":"Atatláhuca Mixtec","code":"mib"},{"name":"Micmac","code":"mic"},{"name":"Mi'kmaq","code":"mic"},{"name":"Mandaic","code":"mid"},{"name":"Ocotepec Mixtec","code":"mie"},{"name":"Mofu-Gudur","code":"mif"},{"name":"San Miguel El Grande Mixtec","code":"mig"},{"name":"Chayuco Mixtec","code":"mih"},{"name":"Chigmecatitlán Mixtec","code":"mii"},{"name":"Abar","code":"mij"},{"name":"Mungbam","code":"mij"},{"name":"Mikasuki","code":"mik"},{"name":"Peñoles Mixtec","code":"mil"},{"name":"Alacatlatzala Mixtec","code":"mim"},{"name":"Minangkabau","code":"min"},{"name":"Pinotepa Nacional Mixtec","code":"mio"},{"name":"Apasco-Apoala Mixtec","code":"mip"},{"name":"Mískito","code":"miq"},{"name":"Isthmus Mixe","code":"mir"},{"name":"Uncoded languages","code":"mis"},{"name":"Southern Puebla Mixtec","code":"mit"},{"name":"Cacaloxtepec Mixtec","code":"miu"},{"name":"Akoye","code":"miw"},{"name":"Mixtepec Mixtec","code":"mix"},{"name":"Ayutla Mixtec","code":"miy"},{"name":"Coatzospan Mixtec","code":"miz"},{"name":"Makalero","code":"mjb"},{"name":"San Juan Colorado Mixtec","code":"mjc"},{"name":"Northwest Maidu","code":"mjd"},{"name":"Muskum","code":"mje"},{"name":"Tu","code":"mjg"},{"name":"Mwera (Nyasa)","code":"mjh"},{"name":"Kim Mun","code":"mji"},{"name":"Mawak","code":"mjj"},{"name":"Matukar","code":"mjk"},{"name":"Mandeali","code":"mjl"},{"name":"Medebur","code":"mjm"},{"name":"Ma (Papua New Guinea)","code":"mjn"},{"name":"Malankuravan","code":"mjo"},{"name":"Malapandaram","code":"mjp"},{"name":"Malaryan","code":"mjq"},{"name":"Malavedan","code":"mjr"},{"name":"Miship","code":"mjs"},{"name":"Sauria Paharia","code":"mjt"},{"name":"Manna-Dora","code":"mju"},{"name":"Mannan","code":"mjv"},{"name":"Karbi","code":"mjw"},{"name":"Mahali","code":"mjx"},{"name":"Mahican","code":"mjy"},{"name":"Majhi","code":"mjz"},{"name":"Mbre","code":"mka"},{"name":"Mal Paharia","code":"mkb"},{"name":"Siliput","code":"mkc"},{"name":"Macedonian","code":"mkd"},{"name":"Mawchi","code":"mke"},{"name":"Miya","code":"mkf"},{"name":"Mak (China)","code":"mkg"},{"name":"Dhatki","code":"mki"},{"name":"Mokilese","code":"mkj"},{"name":"Byep","code":"mkk"},{"name":"Mokole","code":"mkl"},{"name":"Moklen","code":"mkm"},{"name":"Kupang Malay","code":"mkn"},{"name":"Mingang Doso","code":"mko"},{"name":"Moikodi","code":"mkp"},{"name":"Bay Miwok","code":"mkq"},{"name":"Malas","code":"mkr"},{"name":"Silacayoapan Mixtec","code":"mks"},{"name":"Vamale","code":"mkt"},{"name":"Konyanka Maninka","code":"mku"},{"name":"Mafea","code":"mkv"},{"name":"Kituba (Congo)","code":"mkw"},{"name":"Kinamiging Manobo","code":"mkx"},{"name":"East Makian","code":"mky"},{"name":"Makasae","code":"mkz"},{"name":"Malo","code":"mla"},{"name":"Mbule","code":"mlb"},{"name":"Cao Lan","code":"mlc"},{"name":"Manambu","code":"mle"},{"name":"Mal","code":"mlf"},{"name":"Malagasy","code":"mlg"},{"name":"Mape","code":"mlh"},{"name":"Malimpung","code":"mli"},{"name":"Miltu","code":"mlj"},{"name":"Ilwana","code":"mlk"},{"name":"Kiwilwana","code":"mlk"},{"name":"Malua Bay","code":"mll"},{"name":"Mulam","code":"mlm"},{"name":"Malango","code":"mln"},{"name":"Mlomp","code":"mlo"},{"name":"Bargam","code":"mlp"},{"name":"Western Maninkakan","code":"mlq"},{"name":"Vame","code":"mlr"},{"name":"Masalit","code":"mls"},{"name":"Maltese","code":"mlt"},{"name":"To'abaita","code":"mlu"},{"name":"Motlav","code":"mlv"},{"name":"Mwotlap","code":"mlv"},{"name":"Moloko","code":"mlw"},{"name":"Malfaxal","code":"mlx"},{"name":"Naha'ai","code":"mlx"},{"name":"Malaynon","code":"mlz"},{"name":"Mama","code":"mma"},{"name":"Momina","code":"mmb"},{"name":"Michoacán Mazahua","code":"mmc"},{"name":"Maonan","code":"mmd"},{"name":"Mae","code":"mme"},{"name":"Mundat","code":"mmf"},{"name":"North Ambrym","code":"mmg"},{"name":"Mehináku","code":"mmh"},{"name":"Musar","code":"mmi"},{"name":"Majhwar","code":"mmj"},{"name":"Mukha-Dora","code":"mmk"},{"name":"Man Met","code":"mml"},{"name":"Maii","code":"mmm"},{"name":"Mamanwa","code":"mmn"},{"name":"Mangga Buang","code":"mmo"},{"name":"Siawi","code":"mmp"},{"name":"Musak","code":"mmq"},{"name":"Western Xiangxi Miao","code":"mmr"},{"name":"Malalamai","code":"mmt"},{"name":"Mmaala","code":"mmu"},{"name":"Miriti","code":"mmv"},{"name":"Emae","code":"mmw"},{"name":"Madak","code":"mmx"},{"name":"Migaama","code":"mmy"},{"name":"Mabaale","code":"mmz"},{"name":"Mbula","code":"mna"},{"name":"Muna","code":"mnb"},{"name":"Manchu","code":"mnc"},{"name":"Mondé","code":"mnd"},{"name":"Naba","code":"mne"},{"name":"Mundani","code":"mnf"},{"name":"Eastern Mnong","code":"mng"},{"name":"Mono (Democratic Republic of Congo)","code":"mnh"},{"name":"Manipuri","code":"mni"},{"name":"Munji","code":"mnj"},{"name":"Mandinka","code":"mnk"},{"name":"Tiale","code":"mnl"},{"name":"Mapena","code":"mnm"},{"name":"Southern Mnong","code":"mnn"},{"name":"Min Bei Chinese","code":"mnp"},{"name":"Minriq","code":"mnq"},{"name":"Mono (USA)","code":"mnr"},{"name":"Mansi","code":"mns"},{"name":"Mer","code":"mnu"},{"name":"Rennell-Bellona","code":"mnv"},{"name":"Mon","code":"mnw"},{"name":"Manikion","code":"mnx"},{"name":"Manyawa","code":"mny"},{"name":"Moni","code":"mnz"},{"name":"Mwan","code":"moa"},{"name":"Mocoví","code":"moc"},{"name":"Mobilian","code":"mod"},{"name":"Innu","code":"moe"},{"name":"Montagnais","code":"moe"},{"name":"Mongondow","code":"mog"},{"name":"Mohawk","code":"moh"},{"name":"Mboi","code":"moi"},{"name":"Monzombo","code":"moj"},{"name":"Morori","code":"mok"},{"name":"Mangue","code":"mom"},{"name":"Mongolian","code":"mon"},{"name":"Monom","code":"moo"},{"name":"Mopán Maya","code":"mop"},{"name":"Mor (Bomberai Peninsula)","code":"moq"},{"name":"Moro","code":"mor"},{"name":"Mossi","code":"mos"},{"name":"Barí","code":"mot"},{"name":"Mogum","code":"mou"},{"name":"Mohave","code":"mov"},{"name":"Moi (Congo)","code":"mow"},{"name":"Molima","code":"mox"},{"name":"Shekkacho","code":"moy"},{"name":"Gergiko","code":"moz"},{"name":"Mukulu","code":"moz"},{"name":"Mpoto","code":"mpa"},{"name":"Malak Malak","code":"mpb"},{"name":"Mullukmulluk","code":"mpb"},{"name":"Mangarrayi","code":"mpc"},{"name":"Machinere","code":"mpd"},{"name":"Majang","code":"mpe"},{"name":"Marba","code":"mpg"},{"name":"Maung","code":"mph"},{"name":"Mpade","code":"mpi"},{"name":"Martu Wangka","code":"mpj"},{"name":"Wangkajunga","code":"mpj"},{"name":"Mbara (Chad)","code":"mpk"},{"name":"Middle Watut","code":"mpl"},{"name":"Yosondúa Mixtec","code":"mpm"},{"name":"Mindiri","code":"mpn"},{"name":"Miu","code":"mpo"},{"name":"Migabac","code":"mpp"},{"name":"Matís","code":"mpq"},{"name":"Vangunu","code":"mpr"},{"name":"Dadibi","code":"mps"},{"name":"Mian","code":"mpt"},{"name":"Makuráp","code":"mpu"},{"name":"Mungkip","code":"mpv"},{"name":"Mapidian","code":"mpw"},{"name":"Misima-Panaeati","code":"mpx"},{"name":"Mapia","code":"mpy"},{"name":"Mpi","code":"mpz"},{"name":"Maba (Indonesia)","code":"mqa"},{"name":"Mbuko","code":"mqb"},{"name":"Mangole","code":"mqc"},{"name":"Matepi","code":"mqe"},{"name":"Momuna","code":"mqf"},{"name":"Kota Bangun Kutai Malay","code":"mqg"},{"name":"Tlazoyaltepec Mixtec","code":"mqh"},{"name":"Mariri","code":"mqi"},{"name":"Mamasa","code":"mqj"},{"name":"Rajah Kabunsuwan Manobo","code":"mqk"},{"name":"Mbelime","code":"mql"},{"name":"South Marquesan","code":"mqm"},{"name":"Moronene","code":"mqn"},{"name":"Modole","code":"mqo"},{"name":"Manipa","code":"mqp"},{"name":"Minokok","code":"mqq"},{"name":"Mander","code":"mqr"},{"name":"West Makian","code":"mqs"},{"name":"Mok","code":"mqt"},{"name":"Mandari","code":"mqu"},{"name":"Mosimo","code":"mqv"},{"name":"Murupi","code":"mqw"},{"name":"Mamuju","code":"mqx"},{"name":"Manggarai","code":"mqy"},{"name":"Pano","code":"mqz"},{"name":"Mlabri","code":"mra"},{"name":"Marino","code":"mrb"},{"name":"Maricopa","code":"mrc"},{"name":"Western Magar","code":"mrd"},{"name":"Martha's Vineyard Sign Language","code":"mre"},{"name":"Elseng","code":"mrf"},{"name":"Mising","code":"mrg"},{"name":"Mara Chin","code":"mrh"},{"name":"Maori","code":"mri"},{"name":"Western Mari","code":"mrj"},{"name":"Hmwaveke","code":"mrk"},{"name":"Mortlockese","code":"mrl"},{"name":"Merlav","code":"mrm"},{"name":"Mwerlap","code":"mrm"},{"name":"Cheke Holo","code":"mrn"},{"name":"Mru","code":"mro"},{"name":"Morouas","code":"mrp"},{"name":"North Marquesan","code":"mrq"},{"name":"Maria (India)","code":"mrr"},{"name":"Maragus","code":"mrs"},{"name":"Marghi Central","code":"mrt"},{"name":"Mono (Cameroon)","code":"mru"},{"name":"Mangareva","code":"mrv"},{"name":"Maranao","code":"mrw"},{"name":"Dineor","code":"mrx"},{"name":"Maremgi","code":"mrx"},{"name":"Mandaya","code":"mry"},{"name":"Marind","code":"mrz"},{"name":"Malay","code":"msa"},{"name":"Malay (macrolanguage)","code":"msa"},{"name":"Masbatenyo","code":"msb"},{"name":"Sankaran Maninka","code":"msc"},{"name":"Yucatec Maya Sign Language","code":"msd"},{"name":"Musey","code":"mse"},{"name":"Mekwei","code":"msf"},{"name":"Moraid","code":"msg"},{"name":"Masikoro Malagasy","code":"msh"},{"name":"Sabah Malay","code":"msi"},{"name":"Ma (Democratic Republic of Congo)","code":"msj"},{"name":"Mansaka","code":"msk"},{"name":"Molof","code":"msl"},{"name":"Poule","code":"msl"},{"name":"Agusan Manobo","code":"msm"},{"name":"Vurës","code":"msn"},{"name":"Mombum","code":"mso"},{"name":"Maritsauá","code":"msp"},{"name":"Caac","code":"msq"},{"name":"Mongolian Sign Language","code":"msr"},{"name":"West Masela","code":"mss"},{"name":"Musom","code":"msu"},{"name":"Maslam","code":"msv"},{"name":"Mansoanka","code":"msw"},{"name":"Moresada","code":"msx"},{"name":"Aruamu","code":"msy"},{"name":"Momare","code":"msz"},{"name":"Cotabato Manobo","code":"mta"},{"name":"Anyin Morofo","code":"mtb"},{"name":"Munit","code":"mtc"},{"name":"Mualang","code":"mtd"},{"name":"Mono (Solomon Islands)","code":"mte"},{"name":"Murik (Papua New Guinea)","code":"mtf"},{"name":"Una","code":"mtg"},{"name":"Munggui","code":"mth"},{"name":"Maiwa (Papua New Guinea)","code":"mti"},{"name":"Moskona","code":"mtj"},{"name":"Mbe'","code":"mtk"},{"name":"Montol","code":"mtl"},{"name":"Mator","code":"mtm"},{"name":"Matagalpa","code":"mtn"},{"name":"Totontepec Mixe","code":"mto"},{"name":"Wichí Lhamtés Nocten","code":"mtp"},{"name":"Muong","code":"mtq"},{"name":"Mewari","code":"mtr"},{"name":"Yora","code":"mts"},{"name":"Mota","code":"mtt"},{"name":"Tututepec Mixtec","code":"mtu"},{"name":"Asaro'o","code":"mtv"},{"name":"Southern Binukidnon","code":"mtw"},{"name":"Tidaá Mixtec","code":"mtx"},{"name":"Nabi","code":"mty"},{"name":"Mundang","code":"mua"},{"name":"Mubi","code":"mub"},{"name":"Ajumbu","code":"muc"},{"name":"Mednyj Aleut","code":"mud"},{"name":"Media Lengua","code":"mue"},{"name":"Musgu","code":"mug"},{"name":"Mündü","code":"muh"},{"name":"Musi","code":"mui"},{"name":"Mabire","code":"muj"},{"name":"Mugom","code":"muk"},{"name":"Multiple languages","code":"mul"},{"name":"Maiwala","code":"mum"},{"name":"Nyong","code":"muo"},{"name":"Malvi","code":"mup"},{"name":"Eastern Xiangxi Miao","code":"muq"},{"name":"Murle","code":"mur"},{"name":"Creek","code":"mus"},{"name":"Western Muria","code":"mut"},{"name":"Yaaku","code":"muu"},{"name":"Muthuvan","code":"muv"},{"name":"Bo-Ung","code":"mux"},{"name":"Muyang","code":"muy"},{"name":"Mursi","code":"muz"},{"name":"Manam","code":"mva"},{"name":"Mattole","code":"mvb"},{"name":"Mamboru","code":"mvd"},{"name":"Marwari (Pakistan)","code":"mve"},{"name":"Peripheral Mongolian","code":"mvf"},{"name":"Yucuañe Mixtec","code":"mvg"},{"name":"Mulgi","code":"mvh"},{"name":"Miyako","code":"mvi"},{"name":"Mekmek","code":"mvk"},{"name":"Mbara (Australia)","code":"mvl"},{"name":"Minaveha","code":"mvn"},{"name":"Marovo","code":"mvo"},{"name":"Duri","code":"mvp"},{"name":"Moere","code":"mvq"},{"name":"Marau","code":"mvr"},{"name":"Massep","code":"mvs"},{"name":"Mpotovoro","code":"mvt"},{"name":"Marfa","code":"mvu"},{"name":"Tagal Murut","code":"mvv"},{"name":"Machinga","code":"mvw"},{"name":"Meoswar","code":"mvx"},{"name":"Indus Kohistani","code":"mvy"},{"name":"Mesqan","code":"mvz"},{"name":"Mwatebu","code":"mwa"},{"name":"Juwal","code":"mwb"},{"name":"Are","code":"mwc"},{"name":"Mwera (Chimwera)","code":"mwe"},{"name":"Murrinh-Patha","code":"mwf"},{"name":"Aiklep","code":"mwg"},{"name":"Mouk-Aria","code":"mwh"},{"name":"Labo","code":"mwi"},{"name":"Ninde","code":"mwi"},{"name":"Kita Maninkakan","code":"mwk"},{"name":"Mirandese","code":"mwl"},{"name":"Sar","code":"mwm"},{"name":"Nyamwanga","code":"mwn"},{"name":"Central Maewo","code":"mwo"},{"name":"Kala Lagaw Ya","code":"mwp"},{"name":"Mün Chin","code":"mwq"},{"name":"Marwari","code":"mwr"},{"name":"Mwimbi-Muthambi","code":"mws"},{"name":"Moken","code":"mwt"},{"name":"Mittu","code":"mwu"},{"name":"Mentawai","code":"mwv"},{"name":"Hmong Daw","code":"mww"},{"name":"Moingi","code":"mwz"},{"name":"Northwest Oaxaca Mixtec","code":"mxa"},{"name":"Tezoatlán Mixtec","code":"mxb"},{"name":"Manyika","code":"mxc"},{"name":"Modang","code":"mxd"},{"name":"Mele-Fila","code":"mxe"},{"name":"Malgbe","code":"mxf"},{"name":"Mbangala","code":"mxg"},{"name":"Mvuba","code":"mxh"},{"name":"Mozarabic","code":"mxi"},{"name":"Geman Deng","code":"mxj"},{"name":"Miju-Mishmi","code":"mxj"},{"name":"Monumbo","code":"mxk"},{"name":"Maxi Gbe","code":"mxl"},{"name":"Meramera","code":"mxm"},{"name":"Moi (Indonesia)","code":"mxn"},{"name":"Mbowe","code":"mxo"},{"name":"Tlahuitoltepec Mixe","code":"mxp"},{"name":"Juquila Mixe","code":"mxq"},{"name":"Murik (Malaysia)","code":"mxr"},{"name":"Huitepec Mixtec","code":"mxs"},{"name":"Jamiltepec Mixtec","code":"mxt"},{"name":"Mada (Cameroon)","code":"mxu"},{"name":"Metlatónoc Mixtec","code":"mxv"},{"name":"Namo","code":"mxw"},{"name":"Mahou","code":"mxx"},{"name":"Mawukakan","code":"mxx"},{"name":"Southeastern Nochixtlán Mixtec","code":"mxy"},{"name":"Central Masela","code":"mxz"},{"name":"Burmese","code":"mya"},{"name":"Mbay","code":"myb"},{"name":"Mayeka","code":"myc"},{"name":"Myene","code":"mye"},{"name":"Bambassi","code":"myf"},{"name":"Manta","code":"myg"},{"name":"Makah","code":"myh"},{"name":"Mangayat","code":"myj"},{"name":"Mamara Senoufo","code":"myk"},{"name":"Moma","code":"myl"},{"name":"Me'en","code":"mym"},{"name":"Anfillo","code":"myo"},{"name":"Pirahã","code":"myp"},{"name":"Muniche","code":"myr"},{"name":"Mesmes","code":"mys"},{"name":"Mundurukú","code":"myu"},{"name":"Erzya","code":"myv"},{"name":"Muyuw","code":"myw"},{"name":"Masaaba","code":"myx"},{"name":"Macuna","code":"myy"},{"name":"Classical Mandaic","code":"myz"},{"name":"Santa María Zacatepec Mixtec","code":"mza"},{"name":"Tumzabt","code":"mzb"},{"name":"Madagascar Sign Language","code":"mzc"},{"name":"Malimba","code":"mzd"},{"name":"Morawa","code":"mze"},{"name":"Monastic Sign Language","code":"mzg"},{"name":"Wichí Lhamtés Güisnay","code":"mzh"},{"name":"Ixcatlán Mazatec","code":"mzi"},{"name":"Manya","code":"mzj"},{"name":"Nigeria Mambila","code":"mzk"},{"name":"Mazatlán Mixe","code":"mzl"},{"name":"Mumuye","code":"mzm"},{"name":"Mazanderani","code":"mzn"},{"name":"Matipuhy","code":"mzo"},{"name":"Movima","code":"mzp"},{"name":"Mori Atas","code":"mzq"},{"name":"Marúbo","code":"mzr"},{"name":"Macanese","code":"mzs"},{"name":"Mintil","code":"mzt"},{"name":"Inapang","code":"mzu"},{"name":"Manza","code":"mzv"},{"name":"Deg","code":"mzw"},{"name":"Mawayana","code":"mzx"},{"name":"Mozambican Sign Language","code":"mzy"},{"name":"Maiadomu","code":"mzz"},{"name":"Namla","code":"naa"},{"name":"Southern Nambikuára","code":"nab"},{"name":"Narak","code":"nac"},{"name":"Naka'ela","code":"nae"},{"name":"Nabak","code":"naf"},{"name":"Naga Pidgin","code":"nag"},{"name":"Nalu","code":"naj"},{"name":"Nakanai","code":"nak"},{"name":"Nalik","code":"nal"},{"name":"Ngan'gityemerri","code":"nam"},{"name":"Min Nan Chinese","code":"nan"},{"name":"Naaba","code":"nao"},{"name":"Neapolitan","code":"nap"},{"name":"Khoekhoe","code":"naq"},{"name":"Nama (Namibia)","code":"naq"},{"name":"Iguta","code":"nar"},{"name":"Naasioi","code":"nas"},{"name":"Ca̱hungwa̱rya̱","code":"nat"},{"name":"Hungworo","code":"nat"},{"name":"Nauru","code":"nau"},{"name":"Navaho","code":"nav"},{"name":"Navajo","code":"nav"},{"name":"Nawuri","code":"naw"},{"name":"Nakwi","code":"nax"},{"name":"Ngarrindjeri","code":"nay"},{"name":"Coatepec Nahuatl","code":"naz"},{"name":"Nyemba","code":"nba"},{"name":"Ndoe","code":"nbb"},{"name":"Chang Naga","code":"nbc"},{"name":"Ngbinda","code":"nbd"},{"name":"Konyak Naga","code":"nbe"},{"name":"Nagarchal","code":"nbg"},{"name":"Ngamo","code":"nbh"},{"name":"Mao Naga","code":"nbi"},{"name":"Ngarinyman","code":"nbj"},{"name":"Nake","code":"nbk"},{"name":"South Ndebele","code":"nbl"},{"name":"Ngbaka Ma'bo","code":"nbm"},{"name":"Kuri","code":"nbn"},{"name":"Nkukoli","code":"nbo"},{"name":"Nnam","code":"nbp"},{"name":"Nggem","code":"nbq"},{"name":"Numana","code":"nbr"},{"name":"Namibian Sign Language","code":"nbs"},{"name":"Na","code":"nbt"},{"name":"Rongmei Naga","code":"nbu"},{"name":"Ngamambo","code":"nbv"},{"name":"Southern Ngbandi","code":"nbw"},{"name":"Ningera","code":"nby"},{"name":"Iyo","code":"nca"},{"name":"Central Nicobarese","code":"ncb"},{"name":"Ponam","code":"ncc"},{"name":"Nachering","code":"ncd"},{"name":"Yale","code":"nce"},{"name":"Notsi","code":"ncf"},{"name":"Nisga'a","code":"ncg"},{"name":"Central Huasteca Nahuatl","code":"nch"},{"name":"Classical Nahuatl","code":"nci"},{"name":"Northern Puebla Nahuatl","code":"ncj"},{"name":"Na-kara","code":"nck"},{"name":"Michoacán Nahuatl","code":"ncl"},{"name":"Nambo","code":"ncm"},{"name":"Nauna","code":"ncn"},{"name":"Sibe","code":"nco"},{"name":"Northern Katang","code":"ncq"},{"name":"Ncane","code":"ncr"},{"name":"Nicaraguan Sign Language","code":"ncs"},{"name":"Chothe Naga","code":"nct"},{"name":"Chumburung","code":"ncu"},{"name":"Central Puebla Nahuatl","code":"ncx"},{"name":"Natchez","code":"ncz"},{"name":"Ndasa","code":"nda"},{"name":"Kenswei Nsei","code":"ndb"},{"name":"Ndau","code":"ndc"},{"name":"Nde-Nsele-Nta","code":"ndd"},{"name":"North Ndebele","code":"nde"},{"name":"Nadruvian","code":"ndf"},{"name":"Ndengereko","code":"ndg"},{"name":"Ndali","code":"ndh"},{"name":"Samba Leko","code":"ndi"},{"name":"Ndamba","code":"ndj"},{"name":"Ndaka","code":"ndk"},{"name":"Ndolo","code":"ndl"},{"name":"Ndam","code":"ndm"},{"name":"Ngundi","code":"ndn"},{"name":"Ndonga","code":"ndo"},{"name":"Ndo","code":"ndp"},{"name":"Ndombe","code":"ndq"},{"name":"Ndoola","code":"ndr"},{"name":"Low German","code":"nds"},{"name":"Low Saxon","code":"nds"},{"name":"Ndunga","code":"ndt"},{"name":"Dugun","code":"ndu"},{"name":"Ndut","code":"ndv"},{"name":"Ndobo","code":"ndw"},{"name":"Nduga","code":"ndx"},{"name":"Lutos","code":"ndy"},{"name":"Ndogo","code":"ndz"},{"name":"Eastern Ngad'a","code":"nea"},{"name":"Toura (Côte d'Ivoire)","code":"neb"},{"name":"Nedebang","code":"nec"},{"name":"Nde-Gbite","code":"ned"},{"name":"Nêlêmwa-Nixumwak","code":"nee"},{"name":"Nefamese","code":"nef"},{"name":"Negidal","code":"neg"},{"name":"Nyenkha","code":"neh"},{"name":"Neo-Hittite","code":"nei"},{"name":"Neko","code":"nej"},{"name":"Neku","code":"nek"},{"name":"Nemi","code":"nem"},{"name":"Nengone","code":"nen"},{"name":"Ná-Meo","code":"neo"},{"name":"Nepali","code":"nep"},{"name":"Nepali (macrolanguage)","code":"nep"},{"name":"North Central Mixe","code":"neq"},{"name":"Yahadian","code":"ner"},{"name":"Bhoti Kinnauri","code":"nes"},{"name":"Nete","code":"net"},{"name":"Neo","code":"neu"},{"name":"Nyaheun","code":"nev"},{"name":"Nepal Bhasa","code":"new"},{"name":"Newari","code":"new"},{"name":"Neme","code":"nex"},{"name":"Neyo","code":"ney"},{"name":"Nez Perce","code":"nez"},{"name":"Dhao","code":"nfa"},{"name":"Ahwai","code":"nfd"},{"name":"Äiwoo","code":"nfl"},{"name":"Ayiwo","code":"nfl"},{"name":"Nafaanra","code":"nfr"},{"name":"Mfumte","code":"nfu"},{"name":"Ngbaka","code":"nga"},{"name":"Northern Ngbandi","code":"ngb"},{"name":"Ngombe (Democratic Republic of Congo)","code":"ngc"},{"name":"Ngando (Central African Republic)","code":"ngd"},{"name":"Ngemba","code":"nge"},{"name":"Ngbaka Manza","code":"ngg"},{"name":"Nǁng","code":"ngh"},{"name":"Ngizim","code":"ngi"},{"name":"Ngie","code":"ngj"},{"name":"Dalabon","code":"ngk"},{"name":"Lomwe","code":"ngl"},{"name":"Ngatik Men's Creole","code":"ngm"},{"name":"Ngwo","code":"ngn"},{"name":"Ngulu","code":"ngp"},{"name":"Ngoreme","code":"ngq"},{"name":"Ngurimi","code":"ngq"},{"name":"Engdewu","code":"ngr"},{"name":"Gvoko","code":"ngs"},{"name":"Kriang","code":"ngt"},{"name":"Ngeq","code":"ngt"},{"name":"Guerrero Nahuatl","code":"ngu"},{"name":"Nagumi","code":"ngv"},{"name":"Ngwaba","code":"ngw"},{"name":"Nggwahyi","code":"ngx"},{"name":"Tibea","code":"ngy"},{"name":"Ngungwel","code":"ngz"},{"name":"Nhanda","code":"nha"},{"name":"Beng","code":"nhb"},{"name":"Tabasco Nahuatl","code":"nhc"},{"name":"Ava Guaraní","code":"nhd"},{"name":"Chiripá","code":"nhd"},{"name":"Eastern Huasteca Nahuatl","code":"nhe"},{"name":"Nhuwala","code":"nhf"},{"name":"Tetelcingo Nahuatl","code":"nhg"},{"name":"Nahari","code":"nhh"},{"name":"Zacatlán-Ahuacatlán-Tepetzintla Nahuatl","code":"nhi"},{"name":"Isthmus-Cosoleacaque Nahuatl","code":"nhk"},{"name":"Morelos Nahuatl","code":"nhm"},{"name":"Central Nahuatl","code":"nhn"},{"name":"Takuu","code":"nho"},{"name":"Isthmus-Pajapan Nahuatl","code":"nhp"},{"name":"Huaxcaleca Nahuatl","code":"nhq"},{"name":"Naro","code":"nhr"},{"name":"Ometepec Nahuatl","code":"nht"},{"name":"Noone","code":"nhu"},{"name":"Temascaltepec Nahuatl","code":"nhv"},{"name":"Western Huasteca Nahuatl","code":"nhw"},{"name":"Isthmus-Mecayapan Nahuatl","code":"nhx"},{"name":"Northern Oaxaca Nahuatl","code":"nhy"},{"name":"Santa María La Alta Nahuatl","code":"nhz"},{"name":"Nias","code":"nia"},{"name":"Nakame","code":"nib"},{"name":"Ngandi","code":"nid"},{"name":"Niellim","code":"nie"},{"name":"Nek","code":"nif"},{"name":"Ngalakgan","code":"nig"},{"name":"Nyiha (Tanzania)","code":"nih"},{"name":"Nii","code":"nii"},{"name":"Ngaju","code":"nij"},{"name":"Southern Nicobarese","code":"nik"},{"name":"Nila","code":"nil"},{"name":"Nilamba","code":"nim"},{"name":"Ninzo","code":"nin"},{"name":"Nganasan","code":"nio"},{"name":"Nandi","code":"niq"},{"name":"Nimboran","code":"nir"},{"name":"Nimi","code":"nis"},{"name":"Southeastern Kolami","code":"nit"},{"name":"Niuean","code":"niu"},{"name":"Gilyak","code":"niv"},{"name":"Nimo","code":"niw"},{"name":"Hema","code":"nix"},{"name":"Ngiti","code":"niy"},{"name":"Ningil","code":"niz"},{"name":"Nzanyi","code":"nja"},{"name":"Nocte Naga","code":"njb"},{"name":"Ndonde Hamba","code":"njd"},{"name":"Lotha Naga","code":"njh"},{"name":"Gudanji","code":"nji"},{"name":"Njen","code":"njj"},{"name":"Njalgulgule","code":"njl"},{"name":"Angami Naga","code":"njm"},{"name":"Liangmai Naga","code":"njn"},{"name":"Ao Naga","code":"njo"},{"name":"Njerep","code":"njr"},{"name":"Nisa","code":"njs"},{"name":"Ndyuka-Trio Pidgin","code":"njt"},{"name":"Ngadjunmaya","code":"nju"},{"name":"Kunyi","code":"njx"},{"name":"Njyem","code":"njy"},{"name":"Nyishi","code":"njz"},{"name":"Nkoya","code":"nka"},{"name":"Khoibu Naga","code":"nkb"},{"name":"Nkongho","code":"nkc"},{"name":"Koireng","code":"nkd"},{"name":"Duke","code":"nke"},{"name":"Inpui Naga","code":"nkf"},{"name":"Nekgini","code":"nkg"},{"name":"Khezha Naga","code":"nkh"},{"name":"Thangal Naga","code":"nki"},{"name":"Nakai","code":"nkj"},{"name":"Nokuku","code":"nkk"},{"name":"Namat","code":"nkm"},{"name":"Nkangala","code":"nkn"},{"name":"Nkonya","code":"nko"},{"name":"Niuatoputapu","code":"nkp"},{"name":"Nkami","code":"nkq"},{"name":"Nukuoro","code":"nkr"},{"name":"North Asmat","code":"nks"},{"name":"Nyika (Tanzania)","code":"nkt"},{"name":"Bouna Kulango","code":"nku"},{"name":"Nyika (Malawi and Zambia)","code":"nkv"},{"name":"Nkutu","code":"nkw"},{"name":"Nkoroo","code":"nkx"},{"name":"Nkari","code":"nkz"},{"name":"Ngombale","code":"nla"},{"name":"Nalca","code":"nlc"},{"name":"Dutch","code":"nld"},{"name":"Flemish","code":"nld"},{"name":"East Nyala","code":"nle"},{"name":"Gela","code":"nlg"},{"name":"Grangali","code":"nli"},{"name":"Nyali","code":"nlj"},{"name":"Ninia Yali","code":"nlk"},{"name":"Nihali","code":"nll"},{"name":"Mankiyali","code":"nlm"},{"name":"Ngul","code":"nlo"},{"name":"Lao Naga","code":"nlq"},{"name":"Nchumbulu","code":"nlu"},{"name":"Orizaba Nahuatl","code":"nlv"},{"name":"Walangama","code":"nlw"},{"name":"Nahali","code":"nlx"},{"name":"Nyamal","code":"nly"},{"name":"Nalögo","code":"nlz"},{"name":"Maram Naga","code":"nma"},{"name":"Big Nambas","code":"nmb"},{"name":"V'ënen Taut","code":"nmb"},{"name":"Ngam","code":"nmc"},{"name":"Ndumu","code":"nmd"},{"name":"Mzieme Naga","code":"nme"},{"name":"Tangkhul Naga (India)","code":"nmf"},{"name":"Kwasio","code":"nmg"},{"name":"Monsang Naga","code":"nmh"},{"name":"Nyam","code":"nmi"},{"name":"Ngombe (Central African Republic)","code":"nmj"},{"name":"Namakura","code":"nmk"},{"name":"Ndemli","code":"nml"},{"name":"Manangba","code":"nmm"},{"name":"ǃXóõ","code":"nmn"},{"name":"Moyon Naga","code":"nmo"},{"name":"Nimanbur","code":"nmp"},{"name":"Nambya","code":"nmq"},{"name":"Nimbari","code":"nmr"},{"name":"Letemboi","code":"nms"},{"name":"Namonuito","code":"nmt"},{"name":"Northeast Maidu","code":"nmu"},{"name":"Ngamini","code":"nmv"},{"name":"Nimoa","code":"nmw"},{"name":"Rifao","code":"nmw"},{"name":"Nama (Papua New Guinea)","code":"nmx"},{"name":"Namuyi","code":"nmy"},{"name":"Nawdm","code":"nmz"},{"name":"Nyangumarta","code":"nna"},{"name":"Nande","code":"nnb"},{"name":"Nancere","code":"nnc"},{"name":"West Ambae","code":"nnd"},{"name":"Ngandyera","code":"nne"},{"name":"Ngaing","code":"nnf"},{"name":"Maring Naga","code":"nng"},{"name":"Ngiemboon","code":"nnh"},{"name":"North Nuaulu","code":"nni"},{"name":"Nyangatom","code":"nnj"},{"name":"Nankina","code":"nnk"},{"name":"Northern Rengma Naga","code":"nnl"},{"name":"Namia","code":"nnm"},{"name":"Ngete","code":"nnn"},{"name":"Norwegian Nynorsk","code":"nno"},{"name":"Wancho Naga","code":"nnp"},{"name":"Ngindo","code":"nnq"},{"name":"Narungga","code":"nnr"},{"name":"Nanticoke","code":"nnt"},{"name":"Dwang","code":"nnu"},{"name":"Nugunu (Australia)","code":"nnv"},{"name":"Southern Nuni","code":"nnw"},{"name":"Nyangga","code":"nny"},{"name":"Nda'nda'","code":"nnz"},{"name":"Woun Meu","code":"noa"},{"name":"Norwegian Bokmål","code":"nob"},{"name":"Nuk","code":"noc"},{"name":"Northern Thai","code":"nod"},{"name":"Nimadi","code":"noe"},{"name":"Nomane","code":"nof"},{"name":"Nogai","code":"nog"},{"name":"Nomu","code":"noh"},{"name":"Noiri","code":"noi"},{"name":"Nonuya","code":"noj"},{"name":"Nooksack","code":"nok"},{"name":"Nomlaki","code":"nol"},{"name":"Nocamán","code":"nom"},{"name":"Old Norse","code":"non"},{"name":"Numanggang","code":"nop"},{"name":"Ngongo","code":"noq"},{"name":"Norwegian","code":"nor"},{"name":"Eastern Nisu","code":"nos"},{"name":"Nomatsiguenga","code":"not"},{"name":"Ewage-Notu","code":"nou"},{"name":"Novial","code":"nov"},{"name":"Nyambo","code":"now"},{"name":"Noy","code":"noy"},{"name":"Nayi","code":"noz"},{"name":"Nar Phu","code":"npa"},{"name":"Nupbikha","code":"npb"},{"name":"Ponyo-Gongwang Naga","code":"npg"},{"name":"Phom Naga","code":"nph"},{"name":"Nepali (individual language)","code":"npi"},{"name":"Southeastern Puebla Nahuatl","code":"npl"},{"name":"Mondropolon","code":"npn"},{"name":"Pochuri Naga","code":"npo"},{"name":"Nipsan","code":"nps"},{"name":"Puimei Naga","code":"npu"},{"name":"Noipx","code":"npx"},{"name":"Napu","code":"npy"},{"name":"Southern Nago","code":"nqg"},{"name":"Kura Ede Nago","code":"nqk"},{"name":"Ngendelengo","code":"nql"},{"name":"Ndom","code":"nqm"},{"name":"Nen","code":"nqn"},{"name":"N'Ko","code":"nqo"},{"name":"Kyan-Karyaw Naga","code":"nqq"},{"name":"Nteng","code":"nqt"},{"name":"Akyaung Ari Naga","code":"nqy"},{"name":"Ngom","code":"nra"},{"name":"Nara","code":"nrb"},{"name":"Noric","code":"nrc"},{"name":"Southern Rengma Naga","code":"nre"},{"name":"Guernésiais","code":"nrf"},{"name":"Jèrriais","code":"nrf"},{"name":"Narango","code":"nrg"},{"name":"Chokri Naga","code":"nri"},{"name":"Ngarla","code":"nrk"},{"name":"Ngarluma","code":"nrl"},{"name":"Narom","code":"nrm"},{"name":"Norn","code":"nrn"},{"name":"North Picene","code":"nrp"},{"name":"Nora","code":"nrr"},{"name":"Norra","code":"nrr"},{"name":"Northern Kalapuya","code":"nrt"},{"name":"Narua","code":"nru"},{"name":"Ngurmbur","code":"nrx"},{"name":"Lala","code":"nrz"},{"name":"Sangtam Naga","code":"nsa"},{"name":"Lower Nossob","code":"nsb"},{"name":"Nshi","code":"nsc"},{"name":"Southern Nisu","code":"nsd"},{"name":"Nsenga","code":"nse"},{"name":"Northwestern Nisu","code":"nsf"},{"name":"Ngasa","code":"nsg"},{"name":"Ngoshie","code":"nsh"},{"name":"Nigerian Sign Language","code":"nsi"},{"name":"Naskapi","code":"nsk"},{"name":"Norwegian Sign Language","code":"nsl"},{"name":"Sumi Naga","code":"nsm"},{"name":"Nehan","code":"nsn"},{"name":"Northern Sotho","code":"nso"},{"name":"Pedi","code":"nso"},{"name":"Sepedi","code":"nso"},{"name":"Nepalese Sign Language","code":"nsp"},{"name":"Northern Sierra Miwok","code":"nsq"},{"name":"Maritime Sign Language","code":"nsr"},{"name":"Nali","code":"nss"},{"name":"Tase Naga","code":"nst"},{"name":"Sierra Negra Nahuatl","code":"nsu"},{"name":"Southwestern Nisu","code":"nsv"},{"name":"Navut","code":"nsw"},{"name":"Nsongo","code":"nsx"},{"name":"Nasal","code":"nsy"},{"name":"Nisenan","code":"nsz"},{"name":"Northern Tidung","code":"ntd"},{"name":"Nathembo","code":"nte"},{"name":"Ngantangarra","code":"ntg"},{"name":"Natioro","code":"nti"},{"name":"Ngaanyatjarra","code":"ntj"},{"name":"Ikoma-Nata-Isenye","code":"ntk"},{"name":"Nateni","code":"ntm"},{"name":"Ntomba","code":"nto"},{"name":"Northern Tepehuan","code":"ntp"},{"name":"Delo","code":"ntr"},{"name":"Natügu","code":"ntu"},{"name":"Nottoway","code":"ntw"},{"name":"Tangkhul Naga (Myanmar)","code":"ntx"},{"name":"Mantsi","code":"nty"},{"name":"Natanzi","code":"ntz"},{"name":"Yuanga","code":"nua"},{"name":"Nukuini","code":"nuc"},{"name":"Ngala","code":"nud"},{"name":"Ngundu","code":"nue"},{"name":"Nusu","code":"nuf"},{"name":"Nungali","code":"nug"},{"name":"Ndunda","code":"nuh"},{"name":"Ngumbi","code":"nui"},{"name":"Nyole","code":"nuj"},{"name":"Nuuchahnulth","code":"nuk"},{"name":"Nuu-chah-nulth","code":"nuk"},{"name":"Nusa Laut","code":"nul"},{"name":"Niuafo'ou","code":"num"},{"name":"Anong","code":"nun"},{"name":"Nguôn","code":"nuo"},{"name":"Nupe-Nupe-Tako","code":"nup"},{"name":"Nukumanu","code":"nuq"},{"name":"Nukuria","code":"nur"},{"name":"Nuer","code":"nus"},{"name":"Nung (Viet Nam)","code":"nut"},{"name":"Ngbundu","code":"nuu"},{"name":"Northern Nuni","code":"nuv"},{"name":"Nguluwan","code":"nuw"},{"name":"Mehek","code":"nux"},{"name":"Nunggubuyu","code":"nuy"},{"name":"Tlamacazapa Nahuatl","code":"nuz"},{"name":"Nasarian","code":"nvh"},{"name":"Namiae","code":"nvm"},{"name":"Nyokon","code":"nvo"},{"name":"Nawathinehena","code":"nwa"},{"name":"Nyabwa","code":"nwb"},{"name":"Classical Nepal Bhasa","code":"nwc"},{"name":"Classical Newari","code":"nwc"},{"name":"Old Newari","code":"nwc"},{"name":"Ngwe","code":"nwe"},{"name":"Ngayawung","code":"nwg"},{"name":"Southwest Tanna","code":"nwi"},{"name":"Nyamusa-Molo","code":"nwm"},{"name":"Nauo","code":"nwo"},{"name":"Nawaru","code":"nwr"},{"name":"Middle Newar","code":"nwx"},{"name":"Nottoway-Meherrin","code":"nwy"},{"name":"Nauete","code":"nxa"},{"name":"Ngando (Democratic Republic of Congo)","code":"nxd"},{"name":"Nage","code":"nxe"},{"name":"Ngad'a","code":"nxg"},{"name":"Nindi","code":"nxi"},{"name":"Koki Naga","code":"nxk"},{"name":"South Nuaulu","code":"nxl"},{"name":"Numidian","code":"nxm"},{"name":"Ngawun","code":"nxn"},{"name":"Ndambomo","code":"nxo"},{"name":"Naxi","code":"nxq"},{"name":"Ninggerum","code":"nxr"},{"name":"Nafri","code":"nxx"},{"name":"Chewa","code":"nya"},{"name":"Chichewa","code":"nya"},{"name":"Nyanja","code":"nya"},{"name":"Nyangbo","code":"nyb"},{"name":"Nyanga-li","code":"nyc"},{"name":"Nyore","code":"nyd"},{"name":"Olunyole","code":"nyd"},{"name":"Nyengo","code":"nye"},{"name":"Giryama","code":"nyf"},{"name":"Kigiryama","code":"nyf"},{"name":"Nyindu","code":"nyg"},{"name":"Nyikina","code":"nyh"},{"name":"Ama (Sudan)","code":"nyi"},{"name":"Nyanga","code":"nyj"},{"name":"Nyaneka","code":"nyk"},{"name":"Nyeu","code":"nyl"},{"name":"Nyamwezi","code":"nym"},{"name":"Nyankole","code":"nyn"},{"name":"Nyoro","code":"nyo"},{"name":"Nyang'i","code":"nyp"},{"name":"Nayini","code":"nyq"},{"name":"Nyiha (Malawi)","code":"nyr"},{"name":"Nyungar","code":"nys"},{"name":"Nyawaygi","code":"nyt"},{"name":"Nyungwe","code":"nyu"},{"name":"Nyulnyul","code":"nyv"},{"name":"Nyaw","code":"nyw"},{"name":"Nganyaywana","code":"nyx"},{"name":"Nyakyusa-Ngonde","code":"nyy"},{"name":"Tigon Mbembe","code":"nza"},{"name":"Njebi","code":"nzb"},{"name":"Nzadi","code":"nzd"},{"name":"Nzima","code":"nzi"},{"name":"Nzakara","code":"nzk"},{"name":"Zeme Naga","code":"nzm"},{"name":"New Zealand Sign Language","code":"nzs"},{"name":"Teke-Nzikou","code":"nzu"},{"name":"Nzakambay","code":"nzy"},{"name":"Nanga Dama Dogon","code":"nzz"},{"name":"Orok","code":"oaa"},{"name":"Oroch","code":"oac"},{"name":"Ancient Aramaic (up to 700 BCE)","code":"oar"},{"name":"Old Aramaic (up to 700 BCE)","code":"oar"},{"name":"Old Avar","code":"oav"},{"name":"Obispeño","code":"obi"},{"name":"Southern Bontok","code":"obk"},{"name":"Oblo","code":"obl"},{"name":"Moabite","code":"obm"},{"name":"Obo Manobo","code":"obo"},{"name":"Old Burmese","code":"obr"},{"name":"Old Breton","code":"obt"},{"name":"Obulom","code":"obu"},{"name":"Ocaina","code":"oca"},{"name":"Old Chinese","code":"och"},{"name":"Occitan (post 1500)","code":"oci"},{"name":"Old Cham","code":"ocm"},{"name":"Old Cornish","code":"oco"},{"name":"Atzingo Matlatzinca","code":"ocu"},{"name":"Odut","code":"oda"},{"name":"Od","code":"odk"},{"name":"Old Dutch","code":"odt"},{"name":"Odual","code":"odu"},{"name":"Ofo","code":"ofo"},{"name":"Old Frisian","code":"ofs"},{"name":"Efutop","code":"ofu"},{"name":"Ogbia","code":"ogb"},{"name":"Ogbah","code":"ogc"},{"name":"Old Georgian","code":"oge"},{"name":"Ogbogolo","code":"ogg"},{"name":"Khana","code":"ogo"},{"name":"Ogbronuagum","code":"ogu"},{"name":"Old Hittite","code":"oht"},{"name":"Old Hungarian","code":"ohu"},{"name":"Oirata","code":"oia"},{"name":"Inebu One","code":"oin"},{"name":"Northwestern Ojibwa","code":"ojb"},{"name":"Central Ojibwa","code":"ojc"},{"name":"Eastern Ojibwa","code":"ojg"},{"name":"Ojibwa","code":"oji"},{"name":"Old Japanese","code":"ojp"},{"name":"Severn Ojibwa","code":"ojs"},{"name":"Ontong Java","code":"ojv"},{"name":"Western Ojibwa","code":"ojw"},{"name":"Okanagan","code":"oka"},{"name":"Okobo","code":"okb"},{"name":"Kobo","code":"okc"},{"name":"Okodia","code":"okd"},{"name":"Okpe (Southwestern Edo)","code":"oke"},{"name":"Koko Babangk","code":"okg"},{"name":"Koresh-e Rostam","code":"okh"},{"name":"Okiek","code":"oki"},{"name":"Oko-Juwoi","code":"okj"},{"name":"Kwamtim One","code":"okk"},{"name":"Old Kentish Sign Language","code":"okl"},{"name":"Middle Korean (10th-16th cent.)","code":"okm"},{"name":"Oki-No-Erabu","code":"okn"},{"name":"Old Korean (3rd-9th cent.)","code":"oko"},{"name":"Kirike","code":"okr"},{"name":"Oko-Eni-Osayen","code":"oks"},{"name":"Oku","code":"oku"},{"name":"Orokaiva","code":"okv"},{"name":"Okpe (Northwestern Edo)","code":"okx"},{"name":"Old Khmer","code":"okz"},{"name":"Walungge","code":"ola"},{"name":"Mochi","code":"old"},{"name":"Olekha","code":"ole"},{"name":"Olkol","code":"olk"},{"name":"Oloma","code":"olm"},{"name":"Livvi","code":"olo"},{"name":"Olrat","code":"olr"},{"name":"Old Lithuanian","code":"olt"},{"name":"Kuvale","code":"olu"},{"name":"Omaha-Ponca","code":"oma"},{"name":"East Ambae","code":"omb"},{"name":"Mochica","code":"omc"},{"name":"Omagua","code":"omg"},{"name":"Omi","code":"omi"},{"name":"Omok","code":"omk"},{"name":"Ombo","code":"oml"},{"name":"Minoan","code":"omn"},{"name":"Utarmbung","code":"omo"},{"name":"Old Manipuri","code":"omp"},{"name":"Old Marathi","code":"omr"},{"name":"Omotik","code":"omt"},{"name":"Omurano","code":"omu"},{"name":"South Tairora","code":"omw"},{"name":"Old Mon","code":"omx"},{"name":"Old Malay","code":"omy"},{"name":"Ona","code":"ona"},{"name":"Lingao","code":"onb"},{"name":"Oneida","code":"one"},{"name":"Olo","code":"ong"},{"name":"Onin","code":"oni"},{"name":"Onjob","code":"onj"},{"name":"Kabore One","code":"onk"},{"name":"Onobasulu","code":"onn"},{"name":"Onondaga","code":"ono"},{"name":"Sartang","code":"onp"},{"name":"Northern One","code":"onr"},{"name":"Ono","code":"ons"},{"name":"Ontenu","code":"ont"},{"name":"Unua","code":"onu"},{"name":"Old Nubian","code":"onw"},{"name":"Onin Based Pidgin","code":"onx"},{"name":"Tohono O'odham","code":"ood"},{"name":"Ong","code":"oog"},{"name":"Önge","code":"oon"},{"name":"Oorlams","code":"oor"},{"name":"Old Ossetic","code":"oos"},{"name":"Okpamheri","code":"opa"},{"name":"Kopkaka","code":"opk"},{"name":"Oksapmin","code":"opm"},{"name":"Opao","code":"opo"},{"name":"Opata","code":"opt"},{"name":"Ofayé","code":"opy"},{"name":"Oroha","code":"ora"},{"name":"Orma","code":"orc"},{"name":"Orejón","code":"ore"},{"name":"Oring","code":"org"},{"name":"Oroqen","code":"orh"},{"name":"Oriya (macrolanguage)","code":"ori"},{"name":"Oromo","code":"orm"},{"name":"Orang Kanaq","code":"orn"},{"name":"Orokolo","code":"oro"},{"name":"Oruma","code":"orr"},{"name":"Orang Seletar","code":"ors"},{"name":"Adivasi Oriya","code":"ort"},{"name":"Ormuri","code":"oru"},{"name":"Old Russian","code":"orv"},{"name":"Oro Win","code":"orw"},{"name":"Oro","code":"orx"},{"name":"Odia","code":"ory"},{"name":"Oriya (individual language)","code":"ory"},{"name":"Ormu","code":"orz"},{"name":"Osage","code":"osa"},{"name":"Oscan","code":"osc"},{"name":"Osing","code":"osi"},{"name":"Old Sundanese","code":"osn"},{"name":"Ososo","code":"oso"},{"name":"Old Spanish","code":"osp"},{"name":"Ossetian","code":"oss"},{"name":"Ossetic","code":"oss"},{"name":"Osatu","code":"ost"},{"name":"Southern One","code":"osu"},{"name":"Old Saxon","code":"osx"},{"name":"Ottoman Turkish (1500-1928)","code":"ota"},{"name":"Old Tibetan","code":"otb"},{"name":"Ot Danum","code":"otd"},{"name":"Mezquital Otomi","code":"ote"},{"name":"Oti","code":"oti"},{"name":"Old Turkish","code":"otk"},{"name":"Tilapa Otomi","code":"otl"},{"name":"Eastern Highland Otomi","code":"otm"},{"name":"Tenango Otomi","code":"otn"},{"name":"Querétaro Otomi","code":"otq"},{"name":"Otoro","code":"otr"},{"name":"Estado de México Otomi","code":"ots"},{"name":"Temoaya Otomi","code":"ott"},{"name":"Otuke","code":"otu"},{"name":"Ottawa","code":"otw"},{"name":"Texcatepec Otomi","code":"otx"},{"name":"Old Tamil","code":"oty"},{"name":"Ixtenco Otomi","code":"otz"},{"name":"Tagargrent","code":"oua"},{"name":"Glio-Oubi","code":"oub"},{"name":"Oune","code":"oue"},{"name":"Old Uighur","code":"oui"},{"name":"Ouma","code":"oum"},{"name":"Elfdalian","code":"ovd"},{"name":"Övdalian","code":"ovd"},{"name":"Owiniga","code":"owi"},{"name":"Old Welsh","code":"owl"},{"name":"Oy","code":"oyb"},{"name":"Oyda","code":"oyd"},{"name":"Wayampi","code":"oym"},{"name":"Oya'oya","code":"oyy"},{"name":"Koonzime","code":"ozm"},{"name":"Parecís","code":"pab"},{"name":"Pacoh","code":"pac"},{"name":"Paumarí","code":"pad"},{"name":"Pagibete","code":"pae"},{"name":"Paranawát","code":"paf"},{"name":"Pangasinan","code":"pag"},{"name":"Tenharim","code":"pah"},{"name":"Pe","code":"pai"},{"name":"Parakanã","code":"pak"},{"name":"Pahlavi","code":"pal"},{"name":"Kapampangan","code":"pam"},{"name":"Pampanga","code":"pam"},{"name":"Panjabi","code":"pan"},{"name":"Punjabi","code":"pan"},{"name":"Northern Paiute","code":"pao"},{"name":"Papiamento","code":"pap"},{"name":"Parya","code":"paq"},{"name":"Panamint","code":"par"},{"name":"Timbisha","code":"par"},{"name":"Papasena","code":"pas"},{"name":"Palauan","code":"pau"},{"name":"Pakaásnovos","code":"pav"},{"name":"Pawnee","code":"paw"},{"name":"Pankararé","code":"pax"},{"name":"Pech","code":"pay"},{"name":"Pankararú","code":"paz"},{"name":"Páez","code":"pbb"},{"name":"Patamona","code":"pbc"},{"name":"Mezontla Popoloca","code":"pbe"},{"name":"Coyotepec Popoloca","code":"pbf"},{"name":"Paraujano","code":"pbg"},{"name":"E'ñapa Woromaipu","code":"pbh"},{"name":"Parkwa","code":"pbi"},{"name":"Mak (Nigeria)","code":"pbl"},{"name":"Puebla Mazatec","code":"pbm"},{"name":"Kpasam","code":"pbn"},{"name":"Papel","code":"pbo"},{"name":"Badyara","code":"pbp"},{"name":"Pangwa","code":"pbr"},{"name":"Central Pame","code":"pbs"},{"name":"Southern Pashto","code":"pbt"},{"name":"Northern Pashto","code":"pbu"},{"name":"Pnar","code":"pbv"},{"name":"Pyu (Papua New Guinea)","code":"pby"},{"name":"Santa Inés Ahuatempan Popoloca","code":"pca"},{"name":"Pear","code":"pcb"},{"name":"Bouyei","code":"pcc"},{"name":"Picard","code":"pcd"},{"name":"Ruching Palaung","code":"pce"},{"name":"Paliyan","code":"pcf"},{"name":"Paniya","code":"pcg"},{"name":"Pardhan","code":"pch"},{"name":"Duruwa","code":"pci"},{"name":"Parenga","code":"pcj"},{"name":"Paite Chin","code":"pck"},{"name":"Pardhi","code":"pcl"},{"name":"Nigerian Pidgin","code":"pcm"},{"name":"Piti","code":"pcn"},{"name":"Pacahuara","code":"pcp"},{"name":"Pyapun","code":"pcw"},{"name":"Anam","code":"pda"},{"name":"Pennsylvania German","code":"pdc"},{"name":"Pa Di","code":"pdi"},{"name":"Fedan","code":"pdn"},{"name":"Podena","code":"pdn"},{"name":"Padoe","code":"pdo"},{"name":"Plautdietsch","code":"pdt"},{"name":"Kayan","code":"pdu"},{"name":"Peranakan Indonesian","code":"pea"},{"name":"Eastern Pomo","code":"peb"},{"name":"Mala (Papua New Guinea)","code":"ped"},{"name":"Taje","code":"pee"},{"name":"Northeastern Pomo","code":"pef"},{"name":"Pengo","code":"peg"},{"name":"Bonan","code":"peh"},{"name":"Chichimeca-Jonaz","code":"pei"},{"name":"Northern Pomo","code":"pej"},{"name":"Penchal","code":"pek"},{"name":"Pekal","code":"pel"},{"name":"Phende","code":"pem"},{"name":"Old Persian (ca. 600-400 B.C.)","code":"peo"},{"name":"Kunja","code":"pep"},{"name":"Southern Pomo","code":"peq"},{"name":"Iranian Persian","code":"pes"},{"name":"Pémono","code":"pev"},{"name":"Petats","code":"pex"},{"name":"Petjo","code":"pey"},{"name":"Eastern Penan","code":"pez"},{"name":"Pááfang","code":"pfa"},{"name":"Pere","code":"pfe"},{"name":"Pfaelzisch","code":"pfl"},{"name":"Sudanese Creole Arabic","code":"pga"},{"name":"Gāndhārī","code":"pgd"},{"name":"Pangwali","code":"pgg"},{"name":"Pagi","code":"pgi"},{"name":"Rerep","code":"pgk"},{"name":"Primitive Irish","code":"pgl"},{"name":"Paelignian","code":"pgn"},{"name":"Pangseng","code":"pgs"},{"name":"Pagu","code":"pgu"},{"name":"Papua New Guinean Sign Language","code":"pgz"},{"name":"Pa-Hng","code":"pha"},{"name":"Phudagi","code":"phd"},{"name":"Phuong","code":"phg"},{"name":"Phukha","code":"phh"},{"name":"Phake","code":"phk"},{"name":"Palula","code":"phl"},{"name":"Phalura","code":"phl"},{"name":"Phimbi","code":"phm"},{"name":"Phoenician","code":"phn"},{"name":"Phunoi","code":"pho"},{"name":"Phana'","code":"phq"},{"name":"Pahari-Potwari","code":"phr"},{"name":"Phu Thai","code":"pht"},{"name":"Phuan","code":"phu"},{"name":"Pahlavani","code":"phv"},{"name":"Phangduwali","code":"phw"},{"name":"Pima Bajo","code":"pia"},{"name":"Yine","code":"pib"},{"name":"Pinji","code":"pic"},{"name":"Piaroa","code":"pid"},{"name":"Piro","code":"pie"},{"name":"Pingelapese","code":"pif"},{"name":"Pisabo","code":"pig"},{"name":"Pitcairn-Norfolk","code":"pih"},{"name":"Pini","code":"pii"},{"name":"Pijao","code":"pij"},{"name":"Yom","code":"pil"},{"name":"Powhatan","code":"pim"},{"name":"Piame","code":"pin"},{"name":"Piapoco","code":"pio"},{"name":"Pero","code":"pip"},{"name":"Piratapuyo","code":"pir"},{"name":"Pijin","code":"pis"},{"name":"Pitta Pitta","code":"pit"},{"name":"Pintupi-Luritja","code":"piu"},{"name":"Pileni","code":"piv"},{"name":"Vaeakau-Taumako","code":"piv"},{"name":"Pimbwe","code":"piw"},{"name":"Piu","code":"pix"},{"name":"Piya-Kwonci","code":"piy"},{"name":"Pije","code":"piz"},{"name":"Pitjantjatjara","code":"pjt"},{"name":"Ardhamāgadhī Prākrit","code":"pka"},{"name":"Kipfokomo","code":"pkb"},{"name":"Pokomo","code":"pkb"},{"name":"Paekche","code":"pkc"},{"name":"Pak-Tong","code":"pkg"},{"name":"Pankhu","code":"pkh"},{"name":"Pakanha","code":"pkn"},{"name":"Pökoot","code":"pko"},{"name":"Pukapuka","code":"pkp"},{"name":"Attapady Kurumba","code":"pkr"},{"name":"Pakistan Sign Language","code":"pks"},{"name":"Maleng","code":"pkt"},{"name":"Paku","code":"pku"},{"name":"Miani","code":"pla"},{"name":"Polonombauk","code":"plb"},{"name":"Central Palawano","code":"plc"},{"name":"Polari","code":"pld"},{"name":"Palu'e","code":"ple"},{"name":"Pilagá","code":"plg"},{"name":"Paulohi","code":"plh"},{"name":"Pali","code":"pli"},{"name":"Polci","code":"plj"},{"name":"Kohistani Shina","code":"plk"},{"name":"Shwe Palaung","code":"pll"},{"name":"Palenquero","code":"pln"},{"name":"Oluta Popoluca","code":"plo"},{"name":"Palaic","code":"plq"},{"name":"Palaka Senoufo","code":"plr"},{"name":"San Marcos Tlacoyalco Popoloca","code":"pls"},{"name":"San Marcos Tlalcoyalco Popoloca","code":"pls"},{"name":"Plateau Malagasy","code":"plt"},{"name":"Palikúr","code":"plu"},{"name":"Southwest Palawano","code":"plv"},{"name":"Brooke's Point Palawano","code":"plw"},{"name":"Bolyu","code":"ply"},{"name":"Paluan","code":"plz"},{"name":"Paama","code":"pma"},{"name":"Pambia","code":"pmb"},{"name":"Pallanganmiddang","code":"pmd"},{"name":"Pwaamei","code":"pme"},{"name":"Pamona","code":"pmf"},{"name":"Māhārāṣṭri Prākrit","code":"pmh"},{"name":"Northern Pumi","code":"pmi"},{"name":"Southern Pumi","code":"pmj"},{"name":"Pamlico","code":"pmk"},{"name":"Lingua Franca","code":"pml"},{"name":"Pomo","code":"pmm"},{"name":"Pam","code":"pmn"},{"name":"Pom","code":"pmo"},{"name":"Northern Pame","code":"pmq"},{"name":"Paynamar","code":"pmr"},{"name":"Piemontese","code":"pms"},{"name":"Tuamotuan","code":"pmt"},{"name":"Plains Miwok","code":"pmw"},{"name":"Poumei Naga","code":"pmx"},{"name":"Papuan Malay","code":"pmy"},{"name":"Southern Pame","code":"pmz"},{"name":"Punan Bah-Biau","code":"pna"},{"name":"Western Panjabi","code":"pnb"},{"name":"Pannei","code":"pnc"},{"name":"Mpinda","code":"pnd"},{"name":"Western Penan","code":"pne"},{"name":"Pangu","code":"png"},{"name":"Pongu","code":"png"},{"name":"Penrhyn","code":"pnh"},{"name":"Aoheng","code":"pni"},{"name":"Pinjarup","code":"pnj"},{"name":"Paunaka","code":"pnk"},{"name":"Paleni","code":"pnl"},{"name":"Punan Batu 1","code":"pnm"},{"name":"Pinai-Hagahai","code":"pnn"},{"name":"Panobo","code":"pno"},{"name":"Pancana","code":"pnp"},{"name":"Pana (Burkina Faso)","code":"pnq"},{"name":"Panim","code":"pnr"},{"name":"Ponosakan","code":"pns"},{"name":"Pontic","code":"pnt"},{"name":"Jiongnai Bunu","code":"pnu"},{"name":"Pinigura","code":"pnv"},{"name":"Banyjima","code":"pnw"},{"name":"Panytyima","code":"pnw"},{"name":"Phong-Kniang","code":"pnx"},{"name":"Pinyin","code":"pny"},{"name":"Pana (Central African Republic)","code":"pnz"},{"name":"Poqomam","code":"poc"},{"name":"San Juan Atzingo Popoloca","code":"poe"},{"name":"Poke","code":"pof"},{"name":"Potiguára","code":"pog"},{"name":"Poqomchi'","code":"poh"},{"name":"Highland Popoluca","code":"poi"},{"name":"Pokangá","code":"pok"},{"name":"Polish","code":"pol"},{"name":"Southeastern Pomo","code":"pom"},{"name":"Pohnpeian","code":"pon"},{"name":"Central Pomo","code":"poo"},{"name":"Pwapwâ","code":"pop"},{"name":"Texistepec Popoluca","code":"poq"},{"name":"Portuguese","code":"por"},{"name":"Sayula Popoluca","code":"pos"},{"name":"Potawatomi","code":"pot"},{"name":"Upper Guinea Crioulo","code":"pov"},{"name":"San Felipe Otlaltepec Popoloca","code":"pow"},{"name":"Polabian","code":"pox"},{"name":"Pogolo","code":"poy"},{"name":"Papi","code":"ppe"},{"name":"Paipai","code":"ppi"},{"name":"Uma","code":"ppk"},{"name":"Nicarao","code":"ppl"},{"name":"Pipil","code":"ppl"},{"name":"Papuma","code":"ppm"},{"name":"Papapana","code":"ppn"},{"name":"Folopa","code":"ppo"},{"name":"Pelende","code":"ppp"},{"name":"Pei","code":"ppq"},{"name":"San Luís Temalacayuca Popoloca","code":"pps"},{"name":"Pare","code":"ppt"},{"name":"Papora","code":"ppu"},{"name":"Pa'a","code":"pqa"},{"name":"Malecite-Passamaquoddy","code":"pqm"},{"name":"Parachi","code":"prc"},{"name":"Parsi-Dari","code":"prd"},{"name":"Principense","code":"pre"},{"name":"Paranan","code":"prf"},{"name":"Prussian","code":"prg"},{"name":"Porohanon","code":"prh"},{"name":"Paicî","code":"pri"},{"name":"Parauk","code":"prk"},{"name":"Peruvian Sign Language","code":"prl"},{"name":"Kibiri","code":"prm"},{"name":"Prasuni","code":"prn"},{"name":"Old Occitan (to 1500)","code":"pro"},{"name":"Old Provençal (to 1500)","code":"pro"},{"name":"Parsi","code":"prp"},{"name":"Ashéninka Perené","code":"prq"},{"name":"Puri","code":"prr"},{"name":"Afghan Persian","code":"prs"},{"name":"Dari","code":"prs"},{"name":"Phai","code":"prt"},{"name":"Puragi","code":"pru"},{"name":"Parawen","code":"prw"},{"name":"Purik","code":"prx"},{"name":"Providencia Sign Language","code":"prz"},{"name":"Asue Awyu","code":"psa"},{"name":"Persian Sign Language","code":"psc"},{"name":"Plains Indian Sign Language","code":"psd"},{"name":"Central Malay","code":"pse"},{"name":"Penang Sign Language","code":"psg"},{"name":"Southwest Pashai","code":"psh"},{"name":"Southwest Pashayi","code":"psh"},{"name":"Southeast Pashai","code":"psi"},{"name":"Southeast Pashayi","code":"psi"},{"name":"Puerto Rican Sign Language","code":"psl"},{"name":"Pauserna","code":"psm"},{"name":"Panasuan","code":"psn"},{"name":"Polish Sign Language","code":"pso"},{"name":"Philippine Sign Language","code":"psp"},{"name":"Pasi","code":"psq"},{"name":"Portuguese Sign Language","code":"psr"},{"name":"Kaulong","code":"pss"},{"name":"Central Pashto","code":"pst"},{"name":"Sauraseni Prākrit","code":"psu"},{"name":"Port Sandwich","code":"psw"},{"name":"Piscataway","code":"psy"},{"name":"Pai Tavytera","code":"pta"},{"name":"Pataxó Hã-Ha-Hãe","code":"pth"},{"name":"Pindiini","code":"pti"},{"name":"Wangkatha","code":"pti"},{"name":"Patani","code":"ptn"},{"name":"Zo'é","code":"pto"},{"name":"Patep","code":"ptp"},{"name":"Pattapu","code":"ptq"},{"name":"Piamatsina","code":"ptr"},{"name":"Enrekang","code":"ptt"},{"name":"Bambam","code":"ptu"},{"name":"Port Vato","code":"ptv"},{"name":"Pentlatch","code":"ptw"},{"name":"Pathiya","code":"pty"},{"name":"Western Highland Purepecha","code":"pua"},{"name":"Purum","code":"pub"},{"name":"Punan Merap","code":"puc"},{"name":"Punan Aput","code":"pud"},{"name":"Puelche","code":"pue"},{"name":"Punan Merah","code":"puf"},{"name":"Phuie","code":"pug"},{"name":"Puinave","code":"pui"},{"name":"Punan Tubu","code":"puj"},{"name":"Puma","code":"pum"},{"name":"Puoc","code":"puo"},{"name":"Pulabu","code":"pup"},{"name":"Puquina","code":"puq"},{"name":"Puruborá","code":"pur"},{"name":"Pushto","code":"pus"},{"name":"Pashto","code":"pus"},{"name":"Putoh","code":"put"},{"name":"Punu","code":"puu"},{"name":"Puluwatese","code":"puw"},{"name":"Puare","code":"pux"},{"name":"Purisimeño","code":"puy"},{"name":"Pawaia","code":"pwa"},{"name":"Panawa","code":"pwb"},{"name":"Gapapaiwa","code":"pwg"},{"name":"Patwin","code":"pwi"},{"name":"Molbog","code":"pwm"},{"name":"Paiwan","code":"pwn"},{"name":"Pwo Western Karen","code":"pwo"},{"name":"Powari","code":"pwr"},{"name":"Pwo Northern Karen","code":"pww"},{"name":"Quetzaltepec Mixe","code":"pxm"},{"name":"Pye Krumen","code":"pye"},{"name":"Fyam","code":"pym"},{"name":"Poyanáwa","code":"pyn"},{"name":"Lengua de Señas del Paraguay","code":"pys"},{"name":"Paraguayan Sign Language","code":"pys"},{"name":"Puyuma","code":"pyu"},{"name":"Pyu (Myanmar)","code":"pyx"},{"name":"Pyen","code":"pyy"},{"name":"Para Naga","code":"pzn"},{"name":"Quapaw","code":"qua"},{"name":"Huallaga Huánuco Quechua","code":"qub"},{"name":"K'iche'","code":"quc"},{"name":"Quiché","code":"quc"},{"name":"Calderón Highland Quichua","code":"qud"},{"name":"Quechua","code":"que"},{"name":"Lambayeque Quechua","code":"quf"},{"name":"Chimborazo Highland Quichua","code":"qug"},{"name":"South Bolivian Quechua","code":"quh"},{"name":"Quileute","code":"qui"},{"name":"Chachapoyas Quechua","code":"quk"},{"name":"North Bolivian Quechua","code":"qul"},{"name":"Sipacapense","code":"qum"},{"name":"Quinault","code":"qun"},{"name":"Southern Pastaza Quechua","code":"qup"},{"name":"Quinqui","code":"quq"},{"name":"Yanahuanca Pasco Quechua","code":"qur"},{"name":"Santiago del Estero Quichua","code":"qus"},{"name":"Sacapulteco","code":"quv"},{"name":"Tena Lowland Quichua","code":"quw"},{"name":"Yauyos Quechua","code":"qux"},{"name":"Ayacucho Quechua","code":"quy"},{"name":"Cusco Quechua","code":"quz"},{"name":"Ambo-Pasco Quechua","code":"qva"},{"name":"Cajamarca Quechua","code":"qvc"},{"name":"Eastern Apurímac Quechua","code":"qve"},{"name":"Huamalíes-Dos de Mayo Huánuco Quechua","code":"qvh"},{"name":"Imbabura Highland Quichua","code":"qvi"},{"name":"Loja Highland Quichua","code":"qvj"},{"name":"Cajatambo North Lima Quechua","code":"qvl"},{"name":"Margos-Yarowilca-Lauricocha Quechua","code":"qvm"},{"name":"North Junín Quechua","code":"qvn"},{"name":"Napo Lowland Quechua","code":"qvo"},{"name":"Pacaraos Quechua","code":"qvp"},{"name":"San Martín Quechua","code":"qvs"},{"name":"Huaylla Wanca Quechua","code":"qvw"},{"name":"Queyu","code":"qvy"},{"name":"Northern Pastaza Quichua","code":"qvz"},{"name":"Corongo Ancash Quechua","code":"qwa"},{"name":"Classical Quechua","code":"qwc"},{"name":"Huaylas Ancash Quechua","code":"qwh"},{"name":"Kuman (Russia)","code":"qwm"},{"name":"Sihuas Ancash Quechua","code":"qws"},{"name":"Kwalhioqua-Tlatskanai","code":"qwt"},{"name":"Chiquián Ancash Quechua","code":"qxa"},{"name":"Chincha Quechua","code":"qxc"},{"name":"Panao Huánuco Quechua","code":"qxh"},{"name":"Salasaca Highland Quichua","code":"qxl"},{"name":"Northern Conchucos Ancash Quechua","code":"qxn"},{"name":"Southern Conchucos Ancash Quechua","code":"qxo"},{"name":"Puno Quechua","code":"qxp"},{"name":"Qashqa'i","code":"qxq"},{"name":"Cañar Highland Quichua","code":"qxr"},{"name":"Southern Qiang","code":"qxs"},{"name":"Santa Ana de Tusi Pasco Quechua","code":"qxt"},{"name":"Arequipa-La Unión Quechua","code":"qxu"},{"name":"Jauja Wanca Quechua","code":"qxw"},{"name":"Quenya","code":"qya"},{"name":"Quiripi","code":"qyp"},{"name":"Dungmali","code":"raa"},{"name":"Camling","code":"rab"},{"name":"Rasawa","code":"rac"},{"name":"Rade","code":"rad"},{"name":"Western Meohang","code":"raf"},{"name":"Logooli","code":"rag"},{"name":"Lulogooli","code":"rag"},{"name":"Rabha","code":"rah"},{"name":"Ramoaaina","code":"rai"},{"name":"Rajasthani","code":"raj"},{"name":"Tulu-Bohuai","code":"rak"},{"name":"Ralte","code":"ral"},{"name":"Canela","code":"ram"},{"name":"Riantana","code":"ran"},{"name":"Rao","code":"rao"},{"name":"Rapanui","code":"rap"},{"name":"Saam","code":"raq"},{"name":"Cook Islands Maori","code":"rar"},{"name":"Rarotongan","code":"rar"},{"name":"Tegali","code":"ras"},{"name":"Razajerdi","code":"rat"},{"name":"Raute","code":"rau"},{"name":"Sampang","code":"rav"},{"name":"Rawang","code":"raw"},{"name":"Rang","code":"rax"},{"name":"Rapa","code":"ray"},{"name":"Rahambuu","code":"raz"},{"name":"Rumai Palaung","code":"rbb"},{"name":"Northern Bontok","code":"rbk"},{"name":"Miraya Bikol","code":"rbl"},{"name":"Barababaraba","code":"rbp"},{"name":"Réunion Creole French","code":"rcf"},{"name":"Rudbari","code":"rdb"},{"name":"Rerau","code":"rea"},{"name":"Rembong","code":"reb"},{"name":"Rejang Kayan","code":"ree"},{"name":"Kara (Tanzania)","code":"reg"},{"name":"Reli","code":"rei"},{"name":"Rejang","code":"rej"},{"name":"Rendille","code":"rel"},{"name":"Remo","code":"rem"},{"name":"Rengao","code":"ren"},{"name":"Rer Bare","code":"rer"},{"name":"Reshe","code":"res"},{"name":"Retta","code":"ret"},{"name":"Reyesano","code":"rey"},{"name":"Roria","code":"rga"},{"name":"Romano-Greek","code":"rge"},{"name":"Rangkas","code":"rgk"},{"name":"Romagnol","code":"rgn"},{"name":"Resígaro","code":"rgr"},{"name":"Southern Roglai","code":"rgs"},{"name":"Ringgou","code":"rgu"},{"name":"Rohingya","code":"rhg"},{"name":"Yahang","code":"rhp"},{"name":"Riang (India)","code":"ria"},{"name":"Tarifit","code":"rif"},{"name":"Riang (Myanmar)","code":"ril"},{"name":"Riang Lang","code":"ril"},{"name":"Nyaturu","code":"rim"},{"name":"Nungu","code":"rin"},{"name":"Ribun","code":"rir"},{"name":"Ritharrngu","code":"rit"},{"name":"Riung","code":"riu"},{"name":"Rajong","code":"rjg"},{"name":"Raji","code":"rji"},{"name":"Rajbanshi","code":"rjs"},{"name":"Kraol","code":"rka"},{"name":"Rikbaktsa","code":"rkb"},{"name":"Rakahanga-Manihiki","code":"rkh"},{"name":"Rakhine","code":"rki"},{"name":"Marka","code":"rkm"},{"name":"Kamta","code":"rkt"},{"name":"Rangpuri","code":"rkt"},{"name":"Arakwal","code":"rkw"},{"name":"Rama","code":"rma"},{"name":"Rembarrnga","code":"rmb"},{"name":"Carpathian Romani","code":"rmc"},{"name":"Traveller Danish","code":"rmd"},{"name":"Angloromani","code":"rme"},{"name":"Kalo Finnish Romani","code":"rmf"},{"name":"Traveller Norwegian","code":"rmg"},{"name":"Murkim","code":"rmh"},{"name":"Lomavren","code":"rmi"},{"name":"Romkun","code":"rmk"},{"name":"Baltic Romani","code":"rml"},{"name":"Roma","code":"rmm"},{"name":"Balkan Romani","code":"rmn"},{"name":"Sinte Romani","code":"rmo"},{"name":"Rempi","code":"rmp"},{"name":"Caló","code":"rmq"},{"name":"Romanian Sign Language","code":"rms"},{"name":"Domari","code":"rmt"},{"name":"Tavringer Romani","code":"rmu"},{"name":"Romanova","code":"rmv"},{"name":"Welsh Romani","code":"rmw"},{"name":"Romam","code":"rmx"},{"name":"Vlax Romani","code":"rmy"},{"name":"Marma","code":"rmz"},{"name":"Ruund","code":"rnd"},{"name":"Ronga","code":"rng"},{"name":"Ranglong","code":"rnl"},{"name":"Roon","code":"rnn"},{"name":"Rongpo","code":"rnp"},{"name":"Nari Nari","code":"rnr"},{"name":"Rungwa","code":"rnw"},{"name":"Tae'","code":"rob"},{"name":"Cacgia Roglai","code":"roc"},{"name":"Rogo","code":"rod"},{"name":"Ronji","code":"roe"},{"name":"Rombo","code":"rof"},{"name":"Northern Roglai","code":"rog"},{"name":"Romansh","code":"roh"},{"name":"Romblomanon","code":"rol"},{"name":"Romany","code":"rom"},{"name":"Romanian","code":"ron"},{"name":"Moldavian","code":"ron"},{"name":"Moldovan","code":"ron"},{"name":"Rotokas","code":"roo"},{"name":"Kriol","code":"rop"},{"name":"Rongga","code":"ror"},{"name":"Runga","code":"rou"},{"name":"Dela-Oenale","code":"row"},{"name":"Repanbitip","code":"rpn"},{"name":"Rapting","code":"rpt"},{"name":"Ririo","code":"rri"},{"name":"Waima","code":"rro"},{"name":"Arritinngithigh","code":"rrt"},{"name":"Romano-Serbian","code":"rsb"},{"name":"Russian Sign Language","code":"rsl"},{"name":"Miriwoong Sign Language","code":"rsm"},{"name":"Rungtu Chin","code":"rtc"},{"name":"Ratahan","code":"rth"},{"name":"Rotuman","code":"rtm"},{"name":"Yurats","code":"rts"},{"name":"Rathawi","code":"rtw"},{"name":"Gungu","code":"rub"},{"name":"Ruuli","code":"ruc"},{"name":"Rusyn","code":"rue"},{"name":"Luguru","code":"ruf"},{"name":"Roviana","code":"rug"},{"name":"Ruga","code":"ruh"},{"name":"Rufiji","code":"rui"},{"name":"Che","code":"ruk"},{"name":"Rundi","code":"run"},{"name":"Istro Romanian","code":"ruo"},{"name":"Aromanian","code":"rup"},{"name":"Arumanian","code":"rup"},{"name":"Macedo-Romanian","code":"rup"},{"name":"Megleno Romanian","code":"ruq"},{"name":"Russian","code":"rus"},{"name":"Rutul","code":"rut"},{"name":"Lanas Lobu","code":"ruu"},{"name":"Mala (Nigeria)","code":"ruy"},{"name":"Ruma","code":"ruz"},{"name":"Rawo","code":"rwa"},{"name":"Rwa","code":"rwk"},{"name":"Ruwila","code":"rwl"},{"name":"Amba (Uganda)","code":"rwm"},{"name":"Rawa","code":"rwo"},{"name":"Marwari (India)","code":"rwr"},{"name":"Ngardi","code":"rxd"},{"name":"Garuwali","code":"rxw"},{"name":"Karuwali","code":"rxw"},{"name":"Northern Amami-Oshima","code":"ryn"},{"name":"Yaeyama","code":"rys"},{"name":"Central Okinawan","code":"ryu"},{"name":"Rāziḥī","code":"rzh"},{"name":"Saba","code":"saa"},{"name":"Buglere","code":"sab"},{"name":"Meskwaki","code":"sac"},{"name":"Sandawe","code":"sad"},{"name":"Sabanê","code":"sae"},{"name":"Safaliba","code":"saf"},{"name":"Sango","code":"sag"},{"name":"Yakut","code":"sah"},{"name":"Sahu","code":"saj"},{"name":"Sake","code":"sak"},{"name":"Samaritan Aramaic","code":"sam"},{"name":"Sanskrit","code":"san"},{"name":"Sause","code":"sao"},{"name":"Samburu","code":"saq"},{"name":"Saraveca","code":"sar"},{"name":"Sasak","code":"sas"},{"name":"Santali","code":"sat"},{"name":"Saleman","code":"sau"},{"name":"Saafi-Saafi","code":"sav"},{"name":"Sawi","code":"saw"},{"name":"Sa","code":"sax"},{"name":"Saya","code":"say"},{"name":"Saurashtra","code":"saz"},{"name":"Ngambay","code":"sba"},{"name":"Simbo","code":"sbb"},{"name":"Kele (Papua New Guinea)","code":"sbc"},{"name":"Southern Samo","code":"sbd"},{"name":"Saliba","code":"sbe"},{"name":"Chabu","code":"sbf"},{"name":"Shabo","code":"sbf"},{"name":"Seget","code":"sbg"},{"name":"Sori-Harengan","code":"sbh"},{"name":"Seti","code":"sbi"},{"name":"Surbakhal","code":"sbj"},{"name":"Safwa","code":"sbk"},{"name":"Botolan Sambal","code":"sbl"},{"name":"Sagala","code":"sbm"},{"name":"Sindhi Bhil","code":"sbn"},{"name":"Sabüm","code":"sbo"},{"name":"Sangu (Tanzania)","code":"sbp"},{"name":"Sileibi","code":"sbq"},{"name":"Sembakung Murut","code":"sbr"},{"name":"Subiya","code":"sbs"},{"name":"Kimki","code":"sbt"},{"name":"Stod Bhoti","code":"sbu"},{"name":"Sabine","code":"sbv"},{"name":"Simba","code":"sbw"},{"name":"Seberuang","code":"sbx"},{"name":"Soli","code":"sby"},{"name":"Sara Kaba","code":"sbz"},{"name":"Chut","code":"scb"},{"name":"Dongxiang","code":"sce"},{"name":"San Miguel Creole French","code":"scf"},{"name":"Sanggau","code":"scg"},{"name":"Sakachep","code":"sch"},{"name":"Sri Lankan Creole Malay","code":"sci"},{"name":"Sadri","code":"sck"},{"name":"Shina","code":"scl"},{"name":"Sicilian","code":"scn"},{"name":"Scots","code":"sco"},{"name":"Helambu Sherpa","code":"scp"},{"name":"Hyolmo","code":"scp"},{"name":"Sa'och","code":"scq"},{"name":"North Slavey","code":"scs"},{"name":"Southern Katang","code":"sct"},{"name":"Shumcho","code":"scu"},{"name":"Sheni","code":"scv"},{"name":"Sha","code":"scw"},{"name":"Sicel","code":"scx"},{"name":"Toraja-Sa'dan","code":"sda"},{"name":"Shabak","code":"sdb"},{"name":"Sassarese Sardinian","code":"sdc"},{"name":"Surubu","code":"sde"},{"name":"Sarli","code":"sdf"},{"name":"Savi","code":"sdg"},{"name":"Southern Kurdish","code":"sdh"},{"name":"Suundi","code":"sdj"},{"name":"Sos Kundi","code":"sdk"},{"name":"Saudi Arabian Sign Language","code":"sdl"},{"name":"Gallurese Sardinian","code":"sdn"},{"name":"Bukar-Sadung Bidayuh","code":"sdo"},{"name":"Sherdukpen","code":"sdp"},{"name":"Semandang","code":"sdq"},{"name":"Oraon Sadri","code":"sdr"},{"name":"Sened","code":"sds"},{"name":"Shuadit","code":"sdt"},{"name":"Sarudu","code":"sdu"},{"name":"Sibu Melanau","code":"sdx"},{"name":"Sallands","code":"sdz"},{"name":"Semai","code":"sea"},{"name":"Shempire Senoufo","code":"seb"},{"name":"Sechelt","code":"sec"},{"name":"Sedang","code":"sed"},{"name":"Seneca","code":"see"},{"name":"Cebaara Senoufo","code":"sef"},{"name":"Segeju","code":"seg"},{"name":"Sena","code":"seh"},{"name":"Seri","code":"sei"},{"name":"Sene","code":"sej"},{"name":"Sekani","code":"sek"},{"name":"Selkup","code":"sel"},{"name":"Nanerigé Sénoufo","code":"sen"},{"name":"Suarmin","code":"seo"},{"name":"Sìcìté Sénoufo","code":"sep"},{"name":"Senara Sénoufo","code":"seq"},{"name":"Serrano","code":"ser"},{"name":"Koyraboro Senni Songhai","code":"ses"},{"name":"Sentani","code":"set"},{"name":"Serui-Laut","code":"seu"},{"name":"Nyarafolo Senoufo","code":"sev"},{"name":"Sewa Bay","code":"sew"},{"name":"Secoya","code":"sey"},{"name":"Senthang Chin","code":"sez"},{"name":"French Belgian Sign Language","code":"sfb"},{"name":"Langue des signes de Belgique Francophone","code":"sfb"},{"name":"Eastern Subanen","code":"sfe"},{"name":"Small Flowery Miao","code":"sfm"},{"name":"South African Sign Language","code":"sfs"},{"name":"Sehwi","code":"sfw"},{"name":"Old Irish (to 900)","code":"sga"},{"name":"Mag-antsi Ayta","code":"sgb"},{"name":"Kipsigis","code":"sgc"},{"name":"Surigaonon","code":"sgd"},{"name":"Segai","code":"sge"},{"name":"Swiss-German Sign Language","code":"sgg"},{"name":"Shughni","code":"sgh"},{"name":"Suga","code":"sgi"},{"name":"Surgujia","code":"sgj"},{"name":"Sangkong","code":"sgk"},{"name":"Singa","code":"sgm"},{"name":"Singpho","code":"sgp"},{"name":"Sangisari","code":"sgr"},{"name":"Samogitian","code":"sgs"},{"name":"Brokpake","code":"sgt"},{"name":"Salas","code":"sgu"},{"name":"Sebat Bet Gurage","code":"sgw"},{"name":"Sierra Leone Sign Language","code":"sgx"},{"name":"Sanglechi","code":"sgy"},{"name":"Sursurunga","code":"sgz"},{"name":"Shall-Zwall","code":"sha"},{"name":"Ninam","code":"shb"},{"name":"Sonde","code":"shc"},{"name":"Kundal Shahi","code":"shd"},{"name":"Sheko","code":"she"},{"name":"Shua","code":"shg"},{"name":"Shoshoni","code":"shh"},{"name":"Tachelhit","code":"shi"},{"name":"Shatt","code":"shj"},{"name":"Shilluk","code":"shk"},{"name":"Shendu","code":"shl"},{"name":"Shahrudi","code":"shm"},{"name":"Shan","code":"shn"},{"name":"Shanga","code":"sho"},{"name":"Shipibo-Conibo","code":"shp"},{"name":"Sala","code":"shq"},{"name":"Shi","code":"shr"},{"name":"Shuswap","code":"shs"},{"name":"Shasta","code":"sht"},{"name":"Chadian Arabic","code":"shu"},{"name":"Shehri","code":"shv"},{"name":"Shwai","code":"shw"},{"name":"She","code":"shx"},{"name":"Tachawit","code":"shy"},{"name":"Syenara Senoufo","code":"shz"},{"name":"Akkala Sami","code":"sia"},{"name":"Sebop","code":"sib"},{"name":"Sidamo","code":"sid"},{"name":"Simaa","code":"sie"},{"name":"Siamou","code":"sif"},{"name":"Paasaal","code":"sig"},{"name":"Sîshëë","code":"sih"},{"name":"Zire","code":"sih"},{"name":"Shom Peng","code":"sii"},{"name":"Numbami","code":"sij"},{"name":"Sikiana","code":"sik"},{"name":"Tumulung Sisaala","code":"sil"},{"name":"Mende (Papua New Guinea)","code":"sim"},{"name":"Sinhala","code":"sin"},{"name":"Sinhalese","code":"sin"},{"name":"Sikkimese","code":"sip"},{"name":"Sonia","code":"siq"},{"name":"Siri","code":"sir"},{"name":"Siuslaw","code":"sis"},{"name":"Sinagen","code":"siu"},{"name":"Sumariup","code":"siv"},{"name":"Siwai","code":"siw"},{"name":"Sumau","code":"six"},{"name":"Sivandi","code":"siy"},{"name":"Siwi","code":"siz"},{"name":"Epena","code":"sja"},{"name":"Sajau Basap","code":"sjb"},{"name":"Kildin Sami","code":"sjd"},{"name":"Pite Sami","code":"sje"},{"name":"Assangori","code":"sjg"},{"name":"Kemi Sami","code":"sjk"},{"name":"Miji","code":"sjl"},{"name":"Sajalong","code":"sjl"},{"name":"Mapun","code":"sjm"},{"name":"Sindarin","code":"sjn"},{"name":"Xibe","code":"sjo"},{"name":"Surjapuri","code":"sjp"},{"name":"Siar-Lak","code":"sjr"},{"name":"Senhaja De Srair","code":"sjs"},{"name":"Ter Sami","code":"sjt"},{"name":"Ume Sami","code":"sju"},{"name":"Shawnee","code":"sjw"},{"name":"Skagit","code":"ska"},{"name":"Saek","code":"skb"},{"name":"Ma Manda","code":"skc"},{"name":"Southern Sierra Miwok","code":"skd"},{"name":"Seke (Vanuatu)","code":"ske"},{"name":"Sakirabiá","code":"skf"},{"name":"Sakalava Malagasy","code":"skg"},{"name":"Sikule","code":"skh"},{"name":"Sika","code":"ski"},{"name":"Seke (Nepal)","code":"skj"},{"name":"Kutong","code":"skm"},{"name":"Kolibugan Subanon","code":"skn"},{"name":"Seko Tengah","code":"sko"},{"name":"Sekapan","code":"skp"},{"name":"Sininkere","code":"skq"},{"name":"Saraiki","code":"skr"},{"name":"Seraiki","code":"skr"},{"name":"Maia","code":"sks"},{"name":"Sakata","code":"skt"},{"name":"Sakao","code":"sku"},{"name":"Skou","code":"skv"},{"name":"Skepi Creole Dutch","code":"skw"},{"name":"Seko Padang","code":"skx"},{"name":"Sikaiana","code":"sky"},{"name":"Sekar","code":"skz"},{"name":"Sáliba","code":"slc"},{"name":"Sissala","code":"sld"},{"name":"Sholaga","code":"sle"},{"name":"Swiss-Italian Sign Language","code":"slf"},{"name":"Selungai Murut","code":"slg"},{"name":"Southern Puget Sound Salish","code":"slh"},{"name":"Lower Silesian","code":"sli"},{"name":"Salumá","code":"slj"},{"name":"Slovak","code":"slk"},{"name":"Salt-Yui","code":"sll"},{"name":"Pangutaran Sama","code":"slm"},{"name":"Salinan","code":"sln"},{"name":"Lamaholot","code":"slp"},{"name":"Salchuq","code":"slq"},{"name":"Salar","code":"slr"},{"name":"Singapore Sign Language","code":"sls"},{"name":"Sila","code":"slt"},{"name":"Selaru","code":"slu"},{"name":"Slovenian","code":"slv"},{"name":"Sialum","code":"slw"},{"name":"Salampasu","code":"slx"},{"name":"Selayar","code":"sly"},{"name":"Ma'ya","code":"slz"},{"name":"Southern Sami","code":"sma"},{"name":"Simbari","code":"smb"},{"name":"Som","code":"smc"},{"name":"Sama","code":"smd"},{"name":"Northern Sami","code":"sme"},{"name":"Auwe","code":"smf"},{"name":"Simbali","code":"smg"},{"name":"Samei","code":"smh"},{"name":"Lule Sami","code":"smj"},{"name":"Bolinao","code":"smk"},{"name":"Central Sama","code":"sml"},{"name":"Musasa","code":"smm"},{"name":"Inari Sami","code":"smn"},{"name":"Samoan","code":"smo"},{"name":"Samaritan","code":"smp"},{"name":"Samo","code":"smq"},{"name":"Simeulue","code":"smr"},{"name":"Skolt Sami","code":"sms"},{"name":"Simte","code":"smt"},{"name":"Somray","code":"smu"},{"name":"Samvedi","code":"smv"},{"name":"Sumbawa","code":"smw"},{"name":"Samba","code":"smx"},{"name":"Semnani","code":"smy"},{"name":"Simeku","code":"smz"},{"name":"Shona","code":"sna"},{"name":"Sebuyau","code":"snb"},{"name":"Sinaugoro","code":"snc"},{"name":"Sindhi","code":"snd"},{"name":"Bau Bidayuh","code":"sne"},{"name":"Noon","code":"snf"},{"name":"Sanga (Democratic Republic of Congo)","code":"sng"},{"name":"Sensi","code":"sni"},{"name":"Riverain Sango","code":"snj"},{"name":"Soninke","code":"snk"},{"name":"Sangil","code":"snl"},{"name":"Southern Ma'di","code":"snm"},{"name":"Siona","code":"snn"},{"name":"Snohomish","code":"sno"},{"name":"Siane","code":"snp"},{"name":"Sangu (Gabon)","code":"snq"},{"name":"Sihan","code":"snr"},{"name":"Nahavaq","code":"sns"},{"name":"South West Bay","code":"sns"},{"name":"Senggi","code":"snu"},{"name":"Viid","code":"snu"},{"name":"Sa'ban","code":"snv"},{"name":"Selee","code":"snw"},{"name":"Sam","code":"snx"},{"name":"Saniyo-Hiyewe","code":"sny"},{"name":"Kou","code":"snz"},{"name":"Thai Song","code":"soa"},{"name":"Sobei","code":"sob"},{"name":"So (Democratic Republic of Congo)","code":"soc"},{"name":"Songoora","code":"sod"},{"name":"Songomeno","code":"soe"},{"name":"Sogdian","code":"sog"},{"name":"Aka","code":"soh"},{"name":"Sonha","code":"soi"},{"name":"Soi","code":"soj"},{"name":"Sokoro","code":"sok"},{"name":"Solos","code":"sol"},{"name":"Somali","code":"som"},{"name":"Songo","code":"soo"},{"name":"Songe","code":"sop"},{"name":"Kanasi","code":"soq"},{"name":"Somrai","code":"sor"},{"name":"Seeku","code":"sos"},{"name":"Southern Sotho","code":"sot"},{"name":"Southern Thai","code":"sou"},{"name":"Sonsorol","code":"sov"},{"name":"Sowanda","code":"sow"},{"name":"Swo","code":"sox"},{"name":"Miyobe","code":"soy"},{"name":"Temi","code":"soz"},{"name":"Spanish","code":"spa"},{"name":"Castilian","code":"spa"},{"name":"Sepa (Indonesia)","code":"spb"},{"name":"Sapé","code":"spc"},{"name":"Saep","code":"spd"},{"name":"Sepa (Papua New Guinea)","code":"spe"},{"name":"Sian","code":"spg"},{"name":"Saponi","code":"spi"},{"name":"Sengo","code":"spk"},{"name":"Selepet","code":"spl"},{"name":"Akukem","code":"spm"},{"name":"Sanapaná","code":"spn"},{"name":"Spokane","code":"spo"},{"name":"Supyire Senoufo","code":"spp"},{"name":"Loreto-Ucayali Spanish","code":"spq"},{"name":"Saparua","code":"spr"},{"name":"Saposa","code":"sps"},{"name":"Spiti Bhoti","code":"spt"},{"name":"Sapuan","code":"spu"},{"name":"Kosli","code":"spv"},{"name":"Sambalpuri","code":"spv"},{"name":"South Picene","code":"spx"},{"name":"Sabaot","code":"spy"},{"name":"Shama-Sambuga","code":"sqa"},{"name":"Shau","code":"sqh"},{"name":"Albanian","code":"sqi"},{"name":"Albanian Sign Language","code":"sqk"},{"name":"Suma","code":"sqm"},{"name":"Susquehannock","code":"sqn"},{"name":"Sorkhei","code":"sqo"},{"name":"Sou","code":"sqq"},{"name":"Siculo Arabic","code":"sqr"},{"name":"Sri Lankan Sign Language","code":"sqs"},{"name":"Soqotri","code":"sqt"},{"name":"Squamish","code":"squ"},{"name":"Kufr Qassem Sign Language (KQSL)","code":"sqx"},{"name":"Saruga","code":"sra"},{"name":"Sora","code":"srb"},{"name":"Logudorese Sardinian","code":"src"},{"name":"Sardinian","code":"srd"},{"name":"Sara","code":"sre"},{"name":"Nafi","code":"srf"},{"name":"Sulod","code":"srg"},{"name":"Sarikoli","code":"srh"},{"name":"Siriano","code":"sri"},{"name":"Serudung Murut","code":"srk"},{"name":"Isirawa","code":"srl"},{"name":"Saramaccan","code":"srm"},{"name":"Sranan Tongo","code":"srn"},{"name":"Campidanese Sardinian","code":"sro"},{"name":"Serbian","code":"srp"},{"name":"Sirionó","code":"srq"},{"name":"Serer","code":"srr"},{"name":"Sarsi","code":"srs"},{"name":"Sauri","code":"srt"},{"name":"Suruí","code":"sru"},{"name":"Southern Sorsoganon","code":"srv"},{"name":"Serua","code":"srw"},{"name":"Sirmauri","code":"srx"},{"name":"Sera","code":"sry"},{"name":"Shahmirzadi","code":"srz"},{"name":"Southern Sama","code":"ssb"},{"name":"Suba-Simbiti","code":"ssc"},{"name":"Siroi","code":"ssd"},{"name":"Balangingi","code":"sse"},{"name":"Bangingih Sama","code":"sse"},{"name":"Thao","code":"ssf"},{"name":"Seimat","code":"ssg"},{"name":"Shihhi Arabic","code":"ssh"},{"name":"Sansi","code":"ssi"},{"name":"Sausi","code":"ssj"},{"name":"Sunam","code":"ssk"},{"name":"Western Sisaala","code":"ssl"},{"name":"Semnam","code":"ssm"},{"name":"Waata","code":"ssn"},{"name":"Sissano","code":"sso"},{"name":"Spanish Sign Language","code":"ssp"},{"name":"So'a","code":"ssq"},{"name":"Swiss-French Sign Language","code":"ssr"},{"name":"Sô","code":"sss"},{"name":"Sinasina","code":"sst"},{"name":"Susuami","code":"ssu"},{"name":"Shark Bay","code":"ssv"},{"name":"Swati","code":"ssw"},{"name":"Samberigi","code":"ssx"},{"name":"Saho","code":"ssy"},{"name":"Sengseng","code":"ssz"},{"name":"Settla","code":"sta"},{"name":"Northern Subanen","code":"stb"},{"name":"Sentinel","code":"std"},{"name":"Liana-Seti","code":"ste"},{"name":"Seta","code":"stf"},{"name":"Trieng","code":"stg"},{"name":"Shelta","code":"sth"},{"name":"Bulo Stieng","code":"sti"},{"name":"Matya Samo","code":"stj"},{"name":"Arammba","code":"stk"},{"name":"Stellingwerfs","code":"stl"},{"name":"Setaman","code":"stm"},{"name":"Owa","code":"stn"},{"name":"Stoney","code":"sto"},{"name":"Southeastern Tepehuan","code":"stp"},{"name":"Saterfriesisch","code":"stq"},{"name":"Straits Salish","code":"str"},{"name":"Shumashti","code":"sts"},{"name":"Budeh Stieng","code":"stt"},{"name":"Samtao","code":"stu"},{"name":"Silt'e","code":"stv"},{"name":"Satawalese","code":"stw"},{"name":"Siberian Tatar","code":"sty"},{"name":"Sulka","code":"sua"},{"name":"Suku","code":"sub"},{"name":"Western Subanon","code":"suc"},{"name":"Suena","code":"sue"},{"name":"Suganga","code":"sug"},{"name":"Suki","code":"sui"},{"name":"Shubi","code":"suj"},{"name":"Sukuma","code":"suk"},{"name":"Sundanese","code":"sun"},{"name":"Bouni","code":"suo"},{"name":"Suri","code":"suq"},{"name":"Tirmaga-Chai Suri","code":"suq"},{"name":"Mwaghavul","code":"sur"},{"name":"Susu","code":"sus"},{"name":"Subtiaba","code":"sut"},{"name":"Puroik","code":"suv"},{"name":"Sumbwa","code":"suw"},{"name":"Sumerian","code":"sux"},{"name":"Suyá","code":"suy"},{"name":"Sunwar","code":"suz"},{"name":"Svan","code":"sva"},{"name":"Ulau-Suain","code":"svb"},{"name":"Vincentian Creole English","code":"svc"},{"name":"Serili","code":"sve"},{"name":"Slovakian Sign Language","code":"svk"},{"name":"Slavomolisano","code":"svm"},{"name":"Savosavo","code":"svs"},{"name":"Skalvian","code":"svx"},{"name":"Swahili","code":"swa"},{"name":"Swahili (macrolanguage)","code":"swa"},{"name":"Maore Comorian","code":"swb"},{"name":"Congo Swahili","code":"swc"},{"name":"Swedish","code":"swe"},{"name":"Sere","code":"swf"},{"name":"Swabian","code":"swg"},{"name":"Kiswahili","code":"swh"},{"name":"Swahili (individual language)","code":"swh"},{"name":"Sui","code":"swi"},{"name":"Sira","code":"swj"},{"name":"Malawi Sena","code":"swk"},{"name":"Swedish Sign Language","code":"swl"},{"name":"Samosa","code":"swm"},{"name":"Sawknah","code":"swn"},{"name":"Shanenawa","code":"swo"},{"name":"Suau","code":"swp"},{"name":"Sharwa","code":"swq"},{"name":"Saweru","code":"swr"},{"name":"Seluwasan","code":"sws"},{"name":"Sawila","code":"swt"},{"name":"Suwawa","code":"swu"},{"name":"Shekhawati","code":"swv"},{"name":"Sowa","code":"sww"},{"name":"Suruahá","code":"swx"},{"name":"Sarua","code":"swy"},{"name":"Suba","code":"sxb"},{"name":"Sicanian","code":"sxc"},{"name":"Sighu","code":"sxe"},{"name":"Shixing","code":"sxg"},{"name":"Shuhi","code":"sxg"},{"name":"Southern Kalapuya","code":"sxk"},{"name":"Selian","code":"sxl"},{"name":"Samre","code":"sxm"},{"name":"Sangir","code":"sxn"},{"name":"Sorothaptic","code":"sxo"},{"name":"Saaroa","code":"sxr"},{"name":"Sasaru","code":"sxs"},{"name":"Upper Saxon","code":"sxu"},{"name":"Saxwe Gbe","code":"sxw"},{"name":"Siang","code":"sya"},{"name":"Central Subanen","code":"syb"},{"name":"Classical Syriac","code":"syc"},{"name":"Seki","code":"syi"},{"name":"Sukur","code":"syk"},{"name":"Sylheti","code":"syl"},{"name":"Maya Samo","code":"sym"},{"name":"Senaya","code":"syn"},{"name":"Suoy","code":"syo"},{"name":"Syriac","code":"syr"},{"name":"Sinyar","code":"sys"},{"name":"Kagate","code":"syw"},{"name":"Samay","code":"syx"},{"name":"Al-Sayyid Bedouin Sign Language","code":"syy"},{"name":"Semelai","code":"sza"},{"name":"Ngalum","code":"szb"},{"name":"Semaq Beri","code":"szc"},{"name":"Seru","code":"szd"},{"name":"Seze","code":"sze"},{"name":"Sengele","code":"szg"},{"name":"Silesian","code":"szl"},{"name":"Sula","code":"szn"},{"name":"Suabo","code":"szp"},{"name":"Solomon Islands Sign Language","code":"szs"},{"name":"Isu (Fako Division)","code":"szv"},{"name":"Sawai","code":"szw"},{"name":"Sakizaya","code":"szy"},{"name":"Lower Tanana","code":"taa"},{"name":"Tabassaran","code":"tab"},{"name":"Lowland Tarahumara","code":"tac"},{"name":"Tause","code":"tad"},{"name":"Tariana","code":"tae"},{"name":"Tapirapé","code":"taf"},{"name":"Tagoi","code":"tag"},{"name":"Tahitian","code":"tah"},{"name":"Eastern Tamang","code":"taj"},{"name":"Tala","code":"tak"},{"name":"Tal","code":"tal"},{"name":"Tamil","code":"tam"},{"name":"Tangale","code":"tan"},{"name":"Yami","code":"tao"},{"name":"Taabwa","code":"tap"},{"name":"Tamasheq","code":"taq"},{"name":"Central Tarahumara","code":"tar"},{"name":"Tay Boi","code":"tas"},{"name":"Tatar","code":"tat"},{"name":"Upper Tanana","code":"tau"},{"name":"Tatuyo","code":"tav"},{"name":"Tai","code":"taw"},{"name":"Tamki","code":"tax"},{"name":"Atayal","code":"tay"},{"name":"Tocho","code":"taz"},{"name":"Aikanã","code":"tba"},{"name":"Takia","code":"tbc"},{"name":"Kaki Ae","code":"tbd"},{"name":"Tanimbili","code":"tbe"},{"name":"Mandara","code":"tbf"},{"name":"North Tairora","code":"tbg"},{"name":"Dharawal","code":"tbh"},{"name":"Thurawal","code":"tbh"},{"name":"Gaam","code":"tbi"},{"name":"Tiang","code":"tbj"},{"name":"Calamian Tagbanwa","code":"tbk"},{"name":"Tboli","code":"tbl"},{"name":"Tagbu","code":"tbm"},{"name":"Barro Negro Tunebo","code":"tbn"},{"name":"Tawala","code":"tbo"},{"name":"Diebroud","code":"tbp"},{"name":"Taworta","code":"tbp"},{"name":"Tumtum","code":"tbr"},{"name":"Tanguat","code":"tbs"},{"name":"Tembo (Kitembo)","code":"tbt"},{"name":"Tubar","code":"tbu"},{"name":"Tobo","code":"tbv"},{"name":"Tagbanwa","code":"tbw"},{"name":"Kapin","code":"tbx"},{"name":"Tabaru","code":"tby"},{"name":"Ditammari","code":"tbz"},{"name":"Ticuna","code":"tca"},{"name":"Tanacross","code":"tcb"},{"name":"Datooga","code":"tcc"},{"name":"Tafi","code":"tcd"},{"name":"Southern Tutchone","code":"tce"},{"name":"Malinaltepec Me'phaa","code":"tcf"},{"name":"Malinaltepec Tlapanec","code":"tcf"},{"name":"Tamagario","code":"tcg"},{"name":"Turks And Caicos Creole English","code":"tch"},{"name":"Wára","code":"tci"},{"name":"Tchitchege","code":"tck"},{"name":"Taman (Myanmar)","code":"tcl"},{"name":"Tanahmerah","code":"tcm"},{"name":"Tichurong","code":"tcn"},{"name":"Taungyo","code":"tco"},{"name":"Tawr Chin","code":"tcp"},{"name":"Kaiy","code":"tcq"},{"name":"Torres Strait Creole","code":"tcs"},{"name":"Yumplatok","code":"tcs"},{"name":"T'en","code":"tct"},{"name":"Southeastern Tarahumara","code":"tcu"},{"name":"Tecpatlán Totonac","code":"tcw"},{"name":"Toda","code":"tcx"},{"name":"Tulu","code":"tcy"},{"name":"Thado Chin","code":"tcz"},{"name":"Tagdal","code":"tda"},{"name":"Panchpargania","code":"tdb"},{"name":"Emberá-Tadó","code":"tdc"},{"name":"Tai Nüa","code":"tdd"},{"name":"Tiranige Diga Dogon","code":"tde"},{"name":"Talieng","code":"tdf"},{"name":"Western Tamang","code":"tdg"},{"name":"Thulung","code":"tdh"},{"name":"Tomadino","code":"tdi"},{"name":"Tajio","code":"tdj"},{"name":"Tambas","code":"tdk"},{"name":"Sur","code":"tdl"},{"name":"Taruma","code":"tdm"},{"name":"Tondano","code":"tdn"},{"name":"Teme","code":"tdo"},{"name":"Tita","code":"tdq"},{"name":"Todrah","code":"tdr"},{"name":"Doutai","code":"tds"},{"name":"Tetun Dili","code":"tdt"},{"name":"Toro","code":"tdv"},{"name":"Tandroy-Mahafaly Malagasy","code":"tdx"},{"name":"Tadyawan","code":"tdy"},{"name":"Temiar","code":"tea"},{"name":"Tetete","code":"teb"},{"name":"Terik","code":"tec"},{"name":"Tepo Krumen","code":"ted"},{"name":"Huehuetla Tepehua","code":"tee"},{"name":"Teressa","code":"tef"},{"name":"Teke-Tege","code":"teg"},{"name":"Tehuelche","code":"teh"},{"name":"Torricelli","code":"tei"},{"name":"Ibali Teke","code":"tek"},{"name":"Telugu","code":"tel"},{"name":"Timne","code":"tem"},{"name":"Tama (Colombia)","code":"ten"},{"name":"Teso","code":"teo"},{"name":"Tepecano","code":"tep"},{"name":"Temein","code":"teq"},{"name":"Tereno","code":"ter"},{"name":"Tengger","code":"tes"},{"name":"Tetum","code":"tet"},{"name":"Soo","code":"teu"},{"name":"Teor","code":"tev"},{"name":"Tewa (USA)","code":"tew"},{"name":"Tennet","code":"tex"},{"name":"Tulishi","code":"tey"},{"name":"Tetserret","code":"tez"},{"name":"Tofin Gbe","code":"tfi"},{"name":"Tanaina","code":"tfn"},{"name":"Tefaro","code":"tfo"},{"name":"Teribe","code":"tfr"},{"name":"Ternate","code":"tft"},{"name":"Sagalla","code":"tga"},{"name":"Tobilung","code":"tgb"},{"name":"Tigak","code":"tgc"},{"name":"Ciwogai","code":"tgd"},{"name":"Eastern Gorkha Tamang","code":"tge"},{"name":"Chalikha","code":"tgf"},{"name":"Tobagonian Creole English","code":"tgh"},{"name":"Lawunuia","code":"tgi"},{"name":"Tagin","code":"tgj"},{"name":"Tajik","code":"tgk"},{"name":"Tagalog","code":"tgl"},{"name":"Tandaganon","code":"tgn"},{"name":"Sudest","code":"tgo"},{"name":"Tangoa","code":"tgp"},{"name":"Tring","code":"tgq"},{"name":"Tareng","code":"tgr"},{"name":"Nume","code":"tgs"},{"name":"Central Tagbanwa","code":"tgt"},{"name":"Tanggu","code":"tgu"},{"name":"Tingui-Boto","code":"tgv"},{"name":"Tagwana Senoufo","code":"tgw"},{"name":"Tagish","code":"tgx"},{"name":"Togoyo","code":"tgy"},{"name":"Tagalaka","code":"tgz"},{"name":"Thai","code":"tha"},{"name":"Kuuk Thaayorre","code":"thd"},{"name":"Thayore","code":"thd"},{"name":"Chitwania Tharu","code":"the"},{"name":"Thangmi","code":"thf"},{"name":"Northern Tarahumara","code":"thh"},{"name":"Tai Long","code":"thi"},{"name":"Kitharaka","code":"thk"},{"name":"Tharaka","code":"thk"},{"name":"Dangaura Tharu","code":"thl"},{"name":"Aheu","code":"thm"},{"name":"Thachanadan","code":"thn"},{"name":"Thompson","code":"thp"},{"name":"Kochila Tharu","code":"thq"},{"name":"Rana Tharu","code":"thr"},{"name":"Thakali","code":"ths"},{"name":"Tahltan","code":"tht"},{"name":"Thuri","code":"thu"},{"name":"Tahaggart Tamahaq","code":"thv"},{"name":"Tha","code":"thy"},{"name":"Tayart Tamajeq","code":"thz"},{"name":"Tidikelt Tamazight","code":"tia"},{"name":"Tira","code":"tic"},{"name":"Tifal","code":"tif"},{"name":"Tigre","code":"tig"},{"name":"Timugon Murut","code":"tih"},{"name":"Tiene","code":"tii"},{"name":"Tilung","code":"tij"},{"name":"Tikar","code":"tik"},{"name":"Tillamook","code":"til"},{"name":"Timbe","code":"tim"},{"name":"Tindi","code":"tin"},{"name":"Teop","code":"tio"},{"name":"Trimuris","code":"tip"},{"name":"Tiéfo","code":"tiq"},{"name":"Tigrinya","code":"tir"},{"name":"Masadiit Itneg","code":"tis"},{"name":"Tinigua","code":"tit"},{"name":"Adasen","code":"tiu"},{"name":"Tiv","code":"tiv"},{"name":"Tiwi","code":"tiw"},{"name":"Southern Tiwa","code":"tix"},{"name":"Tiruray","code":"tiy"},{"name":"Tai Hongjin","code":"tiz"},{"name":"Tajuasohn","code":"tja"},{"name":"Tunjung","code":"tjg"},{"name":"Northern Tujia","code":"tji"},{"name":"Tjungundji","code":"tjj"},{"name":"Tai Laing","code":"tjl"},{"name":"Timucua","code":"tjm"},{"name":"Tonjon","code":"tjn"},{"name":"Temacine Tamazight","code":"tjo"},{"name":"Tjupany","code":"tjp"},{"name":"Southern Tujia","code":"tjs"},{"name":"Tjurruru","code":"tju"},{"name":"Djabwurrung","code":"tjw"},{"name":"Truká","code":"tka"},{"name":"Buksa","code":"tkb"},{"name":"Tukudede","code":"tkd"},{"name":"Takwane","code":"tke"},{"name":"Tukumanféd","code":"tkf"},{"name":"Tesaka Malagasy","code":"tkg"},{"name":"Tokelau","code":"tkl"},{"name":"Takelma","code":"tkm"},{"name":"Toku-No-Shima","code":"tkn"},{"name":"Tikopia","code":"tkp"},{"name":"Tee","code":"tkq"},{"name":"Tsakhur","code":"tkr"},{"name":"Takestani","code":"tks"},{"name":"Kathoriya Tharu","code":"tkt"},{"name":"Upper Necaxa Totonac","code":"tku"},{"name":"Mur Pano","code":"tkv"},{"name":"Teanu","code":"tkw"},{"name":"Tangko","code":"tkx"},{"name":"Takua","code":"tkz"},{"name":"Southwestern Tepehuan","code":"tla"},{"name":"Tobelo","code":"tlb"},{"name":"Yecuatla Totonac","code":"tlc"},{"name":"Talaud","code":"tld"},{"name":"Telefol","code":"tlf"},{"name":"Tofanma","code":"tlg"},{"name":"Klingon","code":"tlh"},{"name":"tlhIngan Hol","code":"tlh"},{"name":"Tlingit","code":"tli"},{"name":"Talinga-Bwisi","code":"tlj"},{"name":"Taloki","code":"tlk"},{"name":"Tetela","code":"tll"},{"name":"Tolomako","code":"tlm"},{"name":"Talondo'","code":"tln"},{"name":"Talodi","code":"tlo"},{"name":"Filomena Mata-Coahuitlán Totonac","code":"tlp"},{"name":"Tai Loi","code":"tlq"},{"name":"Talise","code":"tlr"},{"name":"Tambotalo","code":"tls"},{"name":"Sou Nama","code":"tlt"},{"name":"Teluti","code":"tlt"},{"name":"Tulehu","code":"tlu"},{"name":"Taliabu","code":"tlv"},{"name":"Khehek","code":"tlx"},{"name":"Talysh","code":"tly"},{"name":"Tama (Chad)","code":"tma"},{"name":"Avava","code":"tmb"},{"name":"Katbol","code":"tmb"},{"name":"Tumak","code":"tmc"},{"name":"Haruai","code":"tmd"},{"name":"Tremembé","code":"tme"},{"name":"Toba-Maskoy","code":"tmf"},{"name":"Ternateño","code":"tmg"},{"name":"Tamashek","code":"tmh"},{"name":"Tutuba","code":"tmi"},{"name":"Samarokena","code":"tmj"},{"name":"Northwestern Tamang","code":"tmk"},{"name":"Tamnim Citak","code":"tml"},{"name":"Tai Thanh","code":"tmm"},{"name":"Taman (Indonesia)","code":"tmn"},{"name":"Temoq","code":"tmo"},{"name":"Tumleo","code":"tmq"},{"name":"Jewish Babylonian Aramaic (ca. 200-1200 CE)","code":"tmr"},{"name":"Tima","code":"tms"},{"name":"Tasmate","code":"tmt"},{"name":"Iau","code":"tmu"},{"name":"Tembo (Motembo)","code":"tmv"},{"name":"Temuan","code":"tmw"},{"name":"Tami","code":"tmy"},{"name":"Tamanaku","code":"tmz"},{"name":"Tacana","code":"tna"},{"name":"Western Tunebo","code":"tnb"},{"name":"Tanimuca-Retuarã","code":"tnc"},{"name":"Angosturas Tunebo","code":"tnd"},{"name":"Tobanga","code":"tng"},{"name":"Maiani","code":"tnh"},{"name":"Tandia","code":"tni"},{"name":"Kwamera","code":"tnk"},{"name":"Lenakel","code":"tnl"},{"name":"Tabla","code":"tnm"},{"name":"North Tanna","code":"tnn"},{"name":"Toromono","code":"tno"},{"name":"Whitesands","code":"tnp"},{"name":"Taino","code":"tnq"},{"name":"Ménik","code":"tnr"},{"name":"Tenis","code":"tns"},{"name":"Tontemboan","code":"tnt"},{"name":"Tay Khang","code":"tnu"},{"name":"Tangchangya","code":"tnv"},{"name":"Tonsawang","code":"tnw"},{"name":"Tanema","code":"tnx"},{"name":"Tongwe","code":"tny"},{"name":"Ten'edn","code":"tnz"},{"name":"Toba","code":"tob"},{"name":"Coyutla Totonac","code":"toc"},{"name":"Toma","code":"tod"},{"name":"Gizrra","code":"tof"},{"name":"Tonga (Nyasa)","code":"tog"},{"name":"Gitonga","code":"toh"},{"name":"Tonga (Zambia)","code":"toi"},{"name":"Tojolabal","code":"toj"},{"name":"Tolowa","code":"tol"},{"name":"Tombulu","code":"tom"},{"name":"Tonga (Tonga Islands)","code":"ton"},{"name":"Xicotepec De Juárez Totonac","code":"too"},{"name":"Papantla Totonac","code":"top"},{"name":"Toposa","code":"toq"},{"name":"Togbo-Vara Banda","code":"tor"},{"name":"Highland Totonac","code":"tos"},{"name":"Tho","code":"tou"},{"name":"Upper Taromi","code":"tov"},{"name":"Jemez","code":"tow"},{"name":"Tobian","code":"tox"},{"name":"Topoiyo","code":"toy"},{"name":"To","code":"toz"},{"name":"Taupota","code":"tpa"},{"name":"Azoyú Me'phaa","code":"tpc"},{"name":"Azoyú Tlapanec","code":"tpc"},{"name":"Tippera","code":"tpe"},{"name":"Tarpia","code":"tpf"},{"name":"Kula","code":"tpg"},{"name":"Tok Pisin","code":"tpi"},{"name":"Tapieté","code":"tpj"},{"name":"Tupinikin","code":"tpk"},{"name":"Tlacoapa Me'phaa","code":"tpl"},{"name":"Tlacoapa Tlapanec","code":"tpl"},{"name":"Tampulma","code":"tpm"},{"name":"Tupinambá","code":"tpn"},{"name":"Tai Pao","code":"tpo"},{"name":"Pisaflores Tepehua","code":"tpp"},{"name":"Tukpa","code":"tpq"},{"name":"Tuparí","code":"tpr"},{"name":"Tlachichilco Tepehua","code":"tpt"},{"name":"Tampuan","code":"tpu"},{"name":"Tanapag","code":"tpv"},{"name":"Tupí","code":"tpw"},{"name":"Acatepec Me'phaa","code":"tpx"},{"name":"Acatepec Tlapanec","code":"tpx"},{"name":"Trumai","code":"tpy"},{"name":"Tinputz","code":"tpz"},{"name":"Tembé","code":"tqb"},{"name":"Lehali","code":"tql"},{"name":"Turumsa","code":"tqm"},{"name":"Tenino","code":"tqn"},{"name":"Toaripi","code":"tqo"},{"name":"Tomoip","code":"tqp"},{"name":"Tunni","code":"tqq"},{"name":"Torona","code":"tqr"},{"name":"Western Totonac","code":"tqt"},{"name":"Touo","code":"tqu"},{"name":"Tonkawa","code":"tqw"},{"name":"Tirahi","code":"tra"},{"name":"Terebu","code":"trb"},{"name":"Copala Triqui","code":"trc"},{"name":"Turi","code":"trd"},{"name":"East Tarangan","code":"tre"},{"name":"Trinidadian Creole English","code":"trf"},{"name":"Lishán Didán","code":"trg"},{"name":"Turaka","code":"trh"},{"name":"Trió","code":"tri"},{"name":"Toram","code":"trj"},{"name":"Traveller Scottish","code":"trl"},{"name":"Tregami","code":"trm"},{"name":"Trinitario","code":"trn"},{"name":"Tarao Naga","code":"tro"},{"name":"Kok Borok","code":"trp"},{"name":"San Martín Itunyoso Triqui","code":"trq"},{"name":"Taushiro","code":"trr"},{"name":"Chicahuaxtla Triqui","code":"trs"},{"name":"Tunggare","code":"trt"},{"name":"Surayt","code":"tru"},{"name":"Turoyo","code":"tru"},{"name":"Taroko","code":"trv"},{"name":"Torwali","code":"trw"},{"name":"Tringgus-Sembaan Bidayuh","code":"trx"},{"name":"Turung","code":"try"},{"name":"Torá","code":"trz"},{"name":"Tsaangi","code":"tsa"},{"name":"Tsamai","code":"tsb"},{"name":"Tswa","code":"tsc"},{"name":"Tsakonian","code":"tsd"},{"name":"Tunisian Sign Language","code":"tse"},{"name":"Tausug","code":"tsg"},{"name":"Tsuvan","code":"tsh"},{"name":"Tsimshian","code":"tsi"},{"name":"Tshangla","code":"tsj"},{"name":"Tseku","code":"tsk"},{"name":"Ts'ün-Lao","code":"tsl"},{"name":"Türk İşaret Dili","code":"tsm"},{"name":"Turkish Sign Language","code":"tsm"},{"name":"Tswana","code":"tsn"},{"name":"Tsonga","code":"tso"},{"name":"Northern Toussian","code":"tsp"},{"name":"Thai Sign Language","code":"tsq"},{"name":"Akei","code":"tsr"},{"name":"Taiwan Sign Language","code":"tss"},{"name":"Tondi Songway Kiini","code":"tst"},{"name":"Tsou","code":"tsu"},{"name":"Tsogo","code":"tsv"},{"name":"Tsishingini","code":"tsw"},{"name":"Mubami","code":"tsx"},{"name":"Tebul Sign Language","code":"tsy"},{"name":"Purepecha","code":"tsz"},{"name":"Tutelo","code":"tta"},{"name":"Gaa","code":"ttb"},{"name":"Tektiteko","code":"ttc"},{"name":"Tauade","code":"ttd"},{"name":"Bwanabwana","code":"tte"},{"name":"Tuotomb","code":"ttf"},{"name":"Tutong","code":"ttg"},{"name":"Upper Ta'oih","code":"tth"},{"name":"Tobati","code":"tti"},{"name":"Tooro","code":"ttj"},{"name":"Totoro","code":"ttk"},{"name":"Totela","code":"ttl"},{"name":"Northern Tutchone","code":"ttm"},{"name":"Towei","code":"ttn"},{"name":"Lower Ta'oih","code":"tto"},{"name":"Tombelala","code":"ttp"},{"name":"Tawallammat Tamajaq","code":"ttq"},{"name":"Tera","code":"ttr"},{"name":"Northeastern Thai","code":"tts"},{"name":"Muslim Tat","code":"ttt"},{"name":"Torau","code":"ttu"},{"name":"Titan","code":"ttv"},{"name":"Long Wat","code":"ttw"},{"name":"Sikaritai","code":"tty"},{"name":"Tsum","code":"ttz"},{"name":"Wiarumus","code":"tua"},{"name":"Tübatulabal","code":"tub"},{"name":"Mutu","code":"tuc"},{"name":"Tuxá","code":"tud"},{"name":"Tuyuca","code":"tue"},{"name":"Central Tunebo","code":"tuf"},{"name":"Tunia","code":"tug"},{"name":"Taulil","code":"tuh"},{"name":"Tupuri","code":"tui"},{"name":"Tugutil","code":"tuj"},{"name":"Turkmen","code":"tuk"},{"name":"Tula","code":"tul"},{"name":"Tumbuka","code":"tum"},{"name":"Tunica","code":"tun"},{"name":"Tucano","code":"tuo"},{"name":"Tedaga","code":"tuq"},{"name":"Turkish","code":"tur"},{"name":"Tuscarora","code":"tus"},{"name":"Tututni","code":"tuu"},{"name":"Turkana","code":"tuv"},{"name":"Tuxináwa","code":"tux"},{"name":"Tugen","code":"tuy"},{"name":"Turka","code":"tuz"},{"name":"Vaghua","code":"tva"},{"name":"Tsuvadi","code":"tvd"},{"name":"Te'un","code":"tve"},{"name":"Southeast Ambrym","code":"tvk"},{"name":"Tuvalu","code":"tvl"},{"name":"Tela-Masbuar","code":"tvm"},{"name":"Tavoyan","code":"tvn"},{"name":"Tidore","code":"tvo"},{"name":"Taveta","code":"tvs"},{"name":"Tutsa Naga","code":"tvt"},{"name":"Tunen","code":"tvu"},{"name":"Sedoa","code":"tvw"},{"name":"Taivoan","code":"tvx"},{"name":"Timor Pidgin","code":"tvy"},{"name":"Twana","code":"twa"},{"name":"Western Tawbuid","code":"twb"},{"name":"Teshenawa","code":"twc"},{"name":"Twents","code":"twd"},{"name":"Tewa (Indonesia)","code":"twe"},{"name":"Northern Tiwa","code":"twf"},{"name":"Tereweng","code":"twg"},{"name":"Tai Dón","code":"twh"},{"name":"Twi","code":"twi"},{"name":"Tawara","code":"twl"},{"name":"Tawang Monpa","code":"twm"},{"name":"Twendi","code":"twn"},{"name":"Tswapong","code":"two"},{"name":"Ere","code":"twp"},{"name":"Tasawaq","code":"twq"},{"name":"Southwestern Tarahumara","code":"twr"},{"name":"Turiwára","code":"twt"},{"name":"Termanu","code":"twu"},{"name":"Tuwari","code":"tww"},{"name":"Tewe","code":"twx"},{"name":"Tawoyan","code":"twy"},{"name":"Tombonuo","code":"txa"},{"name":"Tokharian B","code":"txb"},{"name":"Tsetsaut","code":"txc"},{"name":"Totoli","code":"txe"},{"name":"Tangut","code":"txg"},{"name":"Thracian","code":"txh"},{"name":"Ikpeng","code":"txi"},{"name":"Tarjumo","code":"txj"},{"name":"Tomini","code":"txm"},{"name":"West Tarangan","code":"txn"},{"name":"Toto","code":"txo"},{"name":"Tii","code":"txq"},{"name":"Tartessian","code":"txr"},{"name":"Tonsea","code":"txs"},{"name":"Citak","code":"txt"},{"name":"Kayapó","code":"txu"},{"name":"Tatana","code":"txx"},{"name":"Tanosy Malagasy","code":"txy"},{"name":"Tauya","code":"tya"},{"name":"Kyanga","code":"tye"},{"name":"O'du","code":"tyh"},{"name":"Teke-Tsaayi","code":"tyi"},{"name":"Tai Do","code":"tyj"},{"name":"Tai Yo","code":"tyj"},{"name":"Thu Lao","code":"tyl"},{"name":"Kombai","code":"tyn"},{"name":"Thaypan","code":"typ"},{"name":"Tai Daeng","code":"tyr"},{"name":"Tày Sa Pa","code":"tys"},{"name":"Tày Tac","code":"tyt"},{"name":"Kua","code":"tyu"},{"name":"Tuvinian","code":"tyv"},{"name":"Teke-Tyee","code":"tyx"},{"name":"Tiyaa","code":"tyy"},{"name":"Tày","code":"tyz"},{"name":"Tanzanian Sign Language","code":"tza"},{"name":"Tzeltal","code":"tzh"},{"name":"Tz'utujil","code":"tzj"},{"name":"Talossan","code":"tzl"},{"name":"Central Atlas Tamazight","code":"tzm"},{"name":"Tugun","code":"tzn"},{"name":"Tzotzil","code":"tzo"},{"name":"Tabriak","code":"tzx"},{"name":"Uamué","code":"uam"},{"name":"Kuan","code":"uan"},{"name":"Tairuma","code":"uar"},{"name":"Ubang","code":"uba"},{"name":"Ubi","code":"ubi"},{"name":"Buhi'non Bikol","code":"ubl"},{"name":"Ubir","code":"ubr"},{"name":"Umbu-Ungu","code":"ubu"},{"name":"Ubykh","code":"uby"},{"name":"Uda","code":"uda"},{"name":"Udihe","code":"ude"},{"name":"Muduga","code":"udg"},{"name":"Udi","code":"udi"},{"name":"Ujir","code":"udj"},{"name":"Wuzlam","code":"udl"},{"name":"Udmurt","code":"udm"},{"name":"Uduk","code":"udu"},{"name":"Kioko","code":"ues"},{"name":"Ufim","code":"ufi"},{"name":"Ugaritic","code":"uga"},{"name":"Kuku-Ugbanh","code":"ugb"},{"name":"Ughele","code":"uge"},{"name":"Ugandan Sign Language","code":"ugn"},{"name":"Ugong","code":"ugo"},{"name":"Uruguayan Sign Language","code":"ugy"},{"name":"Uhami","code":"uha"},{"name":"Damal","code":"uhn"},{"name":"Uighur","code":"uig"},{"name":"Uyghur","code":"uig"},{"name":"Uisai","code":"uis"},{"name":"Iyive","code":"uiv"},{"name":"Tanjijili","code":"uji"},{"name":"Kaburi","code":"uka"},{"name":"Ukuriguma","code":"ukg"},{"name":"Ukhwejo","code":"ukh"},{"name":"Kui (India)","code":"uki"},{"name":"Muak Sa-aak","code":"ukk"},{"name":"Ukrainian Sign Language","code":"ukl"},{"name":"Ukpe-Bayobiri","code":"ukp"},{"name":"Ukwa","code":"ukq"},{"name":"Ukrainian","code":"ukr"},{"name":"Kaapor Sign Language","code":"uks"},{"name":"Urubú-Kaapor Sign Language","code":"uks"},{"name":"Ukue","code":"uku"},{"name":"Kuku","code":"ukv"},{"name":"Ukwuani-Aboh-Ndoni","code":"ukw"},{"name":"Kuuk-Yak","code":"uky"},{"name":"Fungwa","code":"ula"},{"name":"Ulukwumi","code":"ulb"},{"name":"Ulch","code":"ulc"},{"name":"Lule","code":"ule"},{"name":"Afra","code":"ulf"},{"name":"Usku","code":"ulf"},{"name":"Ulithian","code":"uli"},{"name":"Meriam Mir","code":"ulk"},{"name":"Ullatan","code":"ull"},{"name":"Ulumanda'","code":"ulm"},{"name":"Unserdeutsch","code":"uln"},{"name":"Uma' Lung","code":"ulu"},{"name":"Ulwa","code":"ulw"},{"name":"Umatilla","code":"uma"},{"name":"Umbundu","code":"umb"},{"name":"Marrucinian","code":"umc"},{"name":"Umbindhamu","code":"umd"},{"name":"Morrobalama","code":"umg"},{"name":"Umbuygamu","code":"umg"},{"name":"Ukit","code":"umi"},{"name":"Umon","code":"umm"},{"name":"Makyan Naga","code":"umn"},{"name":"Umotína","code":"umo"},{"name":"Umpila","code":"ump"},{"name":"Umbugarla","code":"umr"},{"name":"Pendau","code":"ums"},{"name":"Munsee","code":"umu"},{"name":"North Watut","code":"una"},{"name":"Undetermined","code":"und"},{"name":"Uneme","code":"une"},{"name":"Ngarinyin","code":"ung"},{"name":"Uni","code":"uni"},{"name":"Enawené-Nawé","code":"unk"},{"name":"Unami","code":"unm"},{"name":"Kurnai","code":"unn"},{"name":"Mundari","code":"unr"},{"name":"Unubahe","code":"unu"},{"name":"Munda","code":"unx"},{"name":"Unde Kaili","code":"unz"},{"name":"Umeda","code":"upi"},{"name":"Uripiv-Wala-Rano-Atchin","code":"upv"},{"name":"Urarina","code":"ura"},{"name":"Kaapor","code":"urb"},{"name":"Urubú-Kaapor","code":"urb"},{"name":"Urningangg","code":"urc"},{"name":"Urdu","code":"urd"},{"name":"Uru","code":"ure"},{"name":"Uradhi","code":"urf"},{"name":"Urigina","code":"urg"},{"name":"Urhobo","code":"urh"},{"name":"Urim","code":"uri"},{"name":"Urak Lawoi'","code":"urk"},{"name":"Urali","code":"url"},{"name":"Urapmin","code":"urm"},{"name":"Uruangnirin","code":"urn"},{"name":"Ura (Papua New Guinea)","code":"uro"},{"name":"Uru-Pa-In","code":"urp"},{"name":"Lehalurup","code":"urr"},{"name":"Löyöp","code":"urr"},{"name":"Urat","code":"urt"},{"name":"Urumi","code":"uru"},{"name":"Uruava","code":"urv"},{"name":"Sop","code":"urw"},{"name":"Urimo","code":"urx"},{"name":"Orya","code":"ury"},{"name":"Uru-Eu-Wau-Wau","code":"urz"},{"name":"Usarufa","code":"usa"},{"name":"Ushojo","code":"ush"},{"name":"Usui","code":"usi"},{"name":"Usaghade","code":"usk"},{"name":"Uspanteco","code":"usp"},{"name":"us-Saare","code":"uss"},{"name":"Uya","code":"usu"},{"name":"Otank","code":"uta"},{"name":"Ute-Southern Paiute","code":"ute"},{"name":"ut-Hun","code":"uth"},{"name":"Amba (Solomon Islands)","code":"utp"},{"name":"Etulo","code":"utr"},{"name":"Utu","code":"utu"},{"name":"Urum","code":"uum"},{"name":"Kulon-Pazeh","code":"uun"},{"name":"Ura (Vanuatu)","code":"uur"},{"name":"U","code":"uuu"},{"name":"Fagauvea","code":"uve"},{"name":"West Uvean","code":"uve"},{"name":"Uri","code":"uvh"},{"name":"Lote","code":"uvl"},{"name":"Kuku-Uwanh","code":"uwa"},{"name":"Doko-Uyanga","code":"uya"},{"name":"Uzbek","code":"uzb"},{"name":"Northern Uzbek","code":"uzn"},{"name":"Southern Uzbek","code":"uzs"},{"name":"Vaagri Booli","code":"vaa"},{"name":"Vale","code":"vae"},{"name":"Vafsi","code":"vaf"},{"name":"Vagla","code":"vag"},{"name":"Varhadi-Nagpuri","code":"vah"},{"name":"Vai","code":"vai"},{"name":"Northwestern ǃKung","code":"vaj"},{"name":"Sekele","code":"vaj"},{"name":"Vasekele","code":"vaj"},{"name":"Vehes","code":"val"},{"name":"Vanimo","code":"vam"},{"name":"Valman","code":"van"},{"name":"Vao","code":"vao"},{"name":"Vaiphei","code":"vap"},{"name":"Huarijio","code":"var"},{"name":"Vasavi","code":"vas"},{"name":"Vanuma","code":"vau"},{"name":"Varli","code":"vav"},{"name":"Wayu","code":"vay"},{"name":"Southeast Babar","code":"vbb"},{"name":"Southwestern Bontok","code":"vbk"},{"name":"Venetian","code":"vec"},{"name":"Veddah","code":"ved"},{"name":"Veluws","code":"vel"},{"name":"Vemgo-Mabas","code":"vem"},{"name":"Venda","code":"ven"},{"name":"Ventureño","code":"veo"},{"name":"Veps","code":"vep"},{"name":"Mom Jango","code":"ver"},{"name":"Vaghri","code":"vgr"},{"name":"Flemish Sign Language","code":"vgt"},{"name":"Vlaamse Gebarentaal","code":"vgt"},{"name":"Virgin Islands Creole English","code":"vic"},{"name":"Vidunda","code":"vid"},{"name":"Vietnamese","code":"vie"},{"name":"Vili","code":"vif"},{"name":"Viemo","code":"vig"},{"name":"Vilela","code":"vil"},{"name":"Vinza","code":"vin"},{"name":"Vishavan","code":"vis"},{"name":"Viti","code":"vit"},{"name":"Iduna","code":"viv"},{"name":"Kariyarra","code":"vka"},{"name":"Kujarge","code":"vkj"},{"name":"Kaur","code":"vkk"},{"name":"Kulisusu","code":"vkl"},{"name":"Kamakan","code":"vkm"},{"name":"Koro Nulu","code":"vkn"},{"name":"Kodeoha","code":"vko"},{"name":"Korlai Creole Portuguese","code":"vkp"},{"name":"Tenggarong Kutai Malay","code":"vkt"},{"name":"Kurrama","code":"vku"},{"name":"Koro Zuba","code":"vkz"},{"name":"Valpei","code":"vlp"},{"name":"Vlaams","code":"vls"},{"name":"Martuyhunira","code":"vma"},{"name":"Barbaram","code":"vmb"},{"name":"Juxtlahuaca Mixtec","code":"vmc"},{"name":"Mudu Koraga","code":"vmd"},{"name":"East Masela","code":"vme"},{"name":"Mainfränkisch","code":"vmf"},{"name":"Lungalunga","code":"vmg"},{"name":"Maraghei","code":"vmh"},{"name":"Miwa","code":"vmi"},{"name":"Ixtayutla Mixtec","code":"vmj"},{"name":"Makhuwa-Shirima","code":"vmk"},{"name":"Malgana","code":"vml"},{"name":"Mitlatongo Mixtec","code":"vmm"},{"name":"Soyaltepec Mazatec","code":"vmp"},{"name":"Soyaltepec Mixtec","code":"vmq"},{"name":"Marenje","code":"vmr"},{"name":"Moksela","code":"vms"},{"name":"Muluridyi","code":"vmu"},{"name":"Valley Maidu","code":"vmv"},{"name":"Makhuwa","code":"vmw"},{"name":"Tamazola Mixtec","code":"vmx"},{"name":"Ayautla Mazatec","code":"vmy"},{"name":"Mazatlán Mazatec","code":"vmz"},{"name":"Lovono","code":"vnk"},{"name":"Vano","code":"vnk"},{"name":"Neve'ei","code":"vnm"},{"name":"Vinmavis","code":"vnm"},{"name":"Vunapu","code":"vnp"},{"name":"Volapük","code":"vol"},{"name":"Voro","code":"vor"},{"name":"Votic","code":"vot"},{"name":"Vera'a","code":"vra"},{"name":"Võro","code":"vro"},{"name":"Varisi","code":"vrs"},{"name":"Banam Bay","code":"vrt"},{"name":"Burmbar","code":"vrt"},{"name":"Moldova Sign Language","code":"vsi"},{"name":"Venezuelan Sign Language","code":"vsl"},{"name":"Llengua de signes valenciana","code":"vsv"},{"name":"Valencian Sign Language","code":"vsv"},{"name":"Vitou","code":"vto"},{"name":"Vumbu","code":"vum"},{"name":"Vunjo","code":"vun"},{"name":"Vute","code":"vut"},{"name":"Awa (China)","code":"vwa"},{"name":"Walla Walla","code":"waa"},{"name":"Wab","code":"wab"},{"name":"Wasco-Wishram","code":"wac"},{"name":"Wamesa","code":"wad"},{"name":"Wondama","code":"wad"},{"name":"Walser","code":"wae"},{"name":"Wakoná","code":"waf"},{"name":"Wa'ema","code":"wag"},{"name":"Watubela","code":"wah"},{"name":"Wares","code":"wai"},{"name":"Waffa","code":"waj"},{"name":"Wolaitta","code":"wal"},{"name":"Wolaytta","code":"wal"},{"name":"Wampanoag","code":"wam"},{"name":"Wan","code":"wan"},{"name":"Wappo","code":"wao"},{"name":"Wapishana","code":"wap"},{"name":"Wagiman","code":"waq"},{"name":"Waray (Philippines)","code":"war"},{"name":"Washo","code":"was"},{"name":"Kaninuwa","code":"wat"},{"name":"Waurá","code":"wau"},{"name":"Waka","code":"wav"},{"name":"Waiwai","code":"waw"},{"name":"Marangis","code":"wax"},{"name":"Watam","code":"wax"},{"name":"Wayana","code":"way"},{"name":"Wampur","code":"waz"},{"name":"Warao","code":"wba"},{"name":"Wabo","code":"wbb"},{"name":"Waritai","code":"wbe"},{"name":"Wara","code":"wbf"},{"name":"Wanda","code":"wbh"},{"name":"Vwanji","code":"wbi"},{"name":"Alagwa","code":"wbj"},{"name":"Waigali","code":"wbk"},{"name":"Wakhi","code":"wbl"},{"name":"Wa","code":"wbm"},{"name":"Warlpiri","code":"wbp"},{"name":"Waddar","code":"wbq"},{"name":"Wagdi","code":"wbr"},{"name":"West Bengal Sign Language","code":"wbs"},{"name":"Warnman","code":"wbt"},{"name":"Wajarri","code":"wbv"},{"name":"Woi","code":"wbw"},{"name":"Yanomámi","code":"wca"},{"name":"Waci Gbe","code":"wci"},{"name":"Wandji","code":"wdd"},{"name":"Wadaginam","code":"wdg"},{"name":"Wadjiginy","code":"wdj"},{"name":"Wadikali","code":"wdk"},{"name":"Wadjigu","code":"wdu"},{"name":"Wadjabangayi","code":"wdy"},{"name":"Wewaw","code":"wea"},{"name":"Wè Western","code":"wec"},{"name":"Wedau","code":"wed"},{"name":"Wergaia","code":"weg"},{"name":"Weh","code":"weh"},{"name":"Kiunum","code":"wei"},{"name":"Weme Gbe","code":"wem"},{"name":"Wemale","code":"weo"},{"name":"Westphalien","code":"wep"},{"name":"Weri","code":"wer"},{"name":"Cameroon Pidgin","code":"wes"},{"name":"Perai","code":"wet"},{"name":"Rawngtu Chin","code":"weu"},{"name":"Wejewa","code":"wew"},{"name":"Yafi","code":"wfg"},{"name":"Zorop","code":"wfg"},{"name":"Wagaya","code":"wga"},{"name":"Wagawaga","code":"wgb"},{"name":"Wangganguru","code":"wgg"},{"name":"Wangkangurru","code":"wgg"},{"name":"Wahgi","code":"wgi"},{"name":"Waigeo","code":"wgo"},{"name":"Wirangu","code":"wgu"},{"name":"Warrgamay","code":"wgy"},{"name":"Manusela","code":"wha"},{"name":"Sou Upaa","code":"wha"},{"name":"North Wahgi","code":"whg"},{"name":"Wahau Kenyah","code":"whk"},{"name":"Wahau Kayan","code":"whu"},{"name":"Southern Toussian","code":"wib"},{"name":"Wichita","code":"wic"},{"name":"Wik-Epa","code":"wie"},{"name":"Wik-Keyangan","code":"wif"},{"name":"Wik Ngathan","code":"wig"},{"name":"Wik-Me'anha","code":"wih"},{"name":"Minidien","code":"wii"},{"name":"Wik-Iiyanh","code":"wij"},{"name":"Wikalkan","code":"wik"},{"name":"Wilawila","code":"wil"},{"name":"Wik-Mungkan","code":"wim"},{"name":"Ho-Chunk","code":"win"},{"name":"Wiraféd","code":"wir"},{"name":"Wiru","code":"wiu"},{"name":"Vitu","code":"wiv"},{"name":"Wiyot","code":"wiy"},{"name":"Waja","code":"wja"},{"name":"Warji","code":"wji"},{"name":"Kw'adza","code":"wka"},{"name":"Kumbaran","code":"wkb"},{"name":"Mo","code":"wkd"},{"name":"Wakde","code":"wkd"},{"name":"Kalanadi","code":"wkl"},{"name":"Keerray-Woorroong","code":"wkr"},{"name":"Kunduvadi","code":"wku"},{"name":"Wakawaka","code":"wkw"},{"name":"Wangkayutyuru","code":"wky"},{"name":"Walio","code":"wla"},{"name":"Mwali Comorian","code":"wlc"},{"name":"Wolane","code":"wle"},{"name":"Kunbarlang","code":"wlg"},{"name":"Welaun","code":"wlh"},{"name":"Waioli","code":"wli"},{"name":"Wailaki","code":"wlk"},{"name":"Wali (Sudan)","code":"wll"},{"name":"Middle Welsh","code":"wlm"},{"name":"Walloon","code":"wln"},{"name":"Wolio","code":"wlo"},{"name":"Wailapa","code":"wlr"},{"name":"Wallisian","code":"wls"},{"name":"Wuliwuli","code":"wlu"},{"name":"Wichí Lhamtés Vejoz","code":"wlv"},{"name":"Walak","code":"wlw"},{"name":"Wali (Ghana)","code":"wlx"},{"name":"Waling","code":"wly"},{"name":"Mawa (Nigeria)","code":"wma"},{"name":"Wambaya","code":"wmb"},{"name":"Wamas","code":"wmc"},{"name":"Mamaindé","code":"wmd"},{"name":"Wambule","code":"wme"},{"name":"Western Minyag","code":"wmg"},{"name":"Waima'a","code":"wmh"},{"name":"Wamin","code":"wmi"},{"name":"Maiwa (Indonesia)","code":"wmm"},{"name":"Waamwang","code":"wmn"},{"name":"Wom (Papua New Guinea)","code":"wmo"},{"name":"Wambon","code":"wms"},{"name":"Walmajarri","code":"wmt"},{"name":"Mwani","code":"wmw"},{"name":"Womo","code":"wmx"},{"name":"Wanambre","code":"wnb"},{"name":"Wantoat","code":"wnc"},{"name":"Wandarang","code":"wnd"},{"name":"Waneci","code":"wne"},{"name":"Wanggom","code":"wng"},{"name":"Ndzwani Comorian","code":"wni"},{"name":"Wanukaka","code":"wnk"},{"name":"Wanggamala","code":"wnm"},{"name":"Wunumara","code":"wnn"},{"name":"Wano","code":"wno"},{"name":"Wanap","code":"wnp"},{"name":"Usan","code":"wnu"},{"name":"Wintu","code":"wnw"},{"name":"Waanyi","code":"wny"},{"name":"Wanyi","code":"wny"},{"name":"Kuwema","code":"woa"},{"name":"Tyaraity","code":"woa"},{"name":"Wè Northern","code":"wob"},{"name":"Wogeo","code":"woc"},{"name":"Wolani","code":"wod"},{"name":"Woleaian","code":"woe"},{"name":"Gambian Wolof","code":"wof"},{"name":"Wogamusin","code":"wog"},{"name":"Kamang","code":"woi"},{"name":"Longto","code":"wok"},{"name":"Wolof","code":"wol"},{"name":"Wom (Nigeria)","code":"wom"},{"name":"Wongo","code":"won"},{"name":"Manombai","code":"woo"},{"name":"Woria","code":"wor"},{"name":"Hanga Hundi","code":"wos"},{"name":"Wawonii","code":"wow"},{"name":"Weyto","code":"woy"},{"name":"Maco","code":"wpc"},{"name":"Waluwarra","code":"wrb"},{"name":"Warluwara","code":"wrb"},{"name":"Warduji","code":"wrd"},{"name":"Gudjal","code":"wrg"},{"name":"Warungu","code":"wrg"},{"name":"Wiradjuri","code":"wrh"},{"name":"Wariyangga","code":"wri"},{"name":"Garrwa","code":"wrk"},{"name":"Warlmanpa","code":"wrl"},{"name":"Warumungu","code":"wrm"},{"name":"Warnang","code":"wrn"},{"name":"Worrorra","code":"wro"},{"name":"Waropen","code":"wrp"},{"name":"Wardaman","code":"wrr"},{"name":"Waris","code":"wrs"},{"name":"Waru","code":"wru"},{"name":"Waruna","code":"wrv"},{"name":"Gugu Warra","code":"wrw"},{"name":"Wae Rana","code":"wrx"},{"name":"Merwari","code":"wry"},{"name":"Waray (Australia)","code":"wrz"},{"name":"Warembori","code":"wsa"},{"name":"Adilabad Gondi","code":"wsg"},{"name":"Wusi","code":"wsi"},{"name":"Waskia","code":"wsk"},{"name":"Owenia","code":"wsr"},{"name":"Wasa","code":"wss"},{"name":"Wasu","code":"wsu"},{"name":"Wotapuri-Katarqalai","code":"wsv"},{"name":"Watiwa","code":"wtf"},{"name":"Wathawurrung","code":"wth"},{"name":"Berta","code":"wti"},{"name":"Watakataui","code":"wtk"},{"name":"Mewati","code":"wtm"},{"name":"Wotu","code":"wtw"},{"name":"Wikngenchera","code":"wua"},{"name":"Wunambal","code":"wub"},{"name":"Wudu","code":"wud"},{"name":"Wutunhua","code":"wuh"},{"name":"Silimo","code":"wul"},{"name":"Wumbvu","code":"wum"},{"name":"Bungu","code":"wun"},{"name":"Wurrugu","code":"wur"},{"name":"Wutung","code":"wut"},{"name":"Wu Chinese","code":"wuu"},{"name":"Wuvulu-Aua","code":"wuv"},{"name":"Wulna","code":"wux"},{"name":"Wauyai","code":"wuy"},{"name":"Waama","code":"wwa"},{"name":"Wakabunga","code":"wwb"},{"name":"Dorig","code":"wwo"},{"name":"Wetamut","code":"wwo"},{"name":"Warrwa","code":"wwr"},{"name":"Wawa","code":"www"},{"name":"Waxianghua","code":"wxa"},{"name":"Wardandi","code":"wxw"},{"name":"Wyandot","code":"wya"},{"name":"Wangaaybuwan-Ngiyambaa","code":"wyb"},{"name":"Woiwurrung","code":"wyi"},{"name":"Wymysorys","code":"wym"},{"name":"Wayoró","code":"wyr"},{"name":"Western Fijian","code":"wyy"},{"name":"Andalusian Arabic","code":"xaa"},{"name":"Sambe","code":"xab"},{"name":"Kachari","code":"xac"},{"name":"Adai","code":"xad"},{"name":"Aequian","code":"xae"},{"name":"Aghwan","code":"xag"},{"name":"Kaimbé","code":"xai"},{"name":"Ararandewára","code":"xaj"},{"name":"Máku","code":"xak"},{"name":"Kalmyk","code":"xal"},{"name":"Oirat","code":"xal"},{"name":"ǀXam","code":"xam"},{"name":"Xamtanga","code":"xan"},{"name":"Khao","code":"xao"},{"name":"Apalachee","code":"xap"},{"name":"Aquitanian","code":"xaq"},{"name":"Karami","code":"xar"},{"name":"Kamas","code":"xas"},{"name":"Katawixi","code":"xat"},{"name":"Kauwera","code":"xau"},{"name":"Xavánte","code":"xav"},{"name":"Kawaiisu","code":"xaw"},{"name":"Kayan Mahakam","code":"xay"},{"name":"Lower Burdekin","code":"xbb"},{"name":"Bactrian","code":"xbc"},{"name":"Bindal","code":"xbd"},{"name":"Bigambal","code":"xbe"},{"name":"Bunganditj","code":"xbg"},{"name":"Kombio","code":"xbi"},{"name":"Birrpayi","code":"xbj"},{"name":"Middle Breton","code":"xbm"},{"name":"Kenaboi","code":"xbn"},{"name":"Bolgarian","code":"xbo"},{"name":"Bibbulman","code":"xbp"},{"name":"Kambera","code":"xbr"},{"name":"Kambiwá","code":"xbw"},{"name":"Batjala","code":"xby"},{"name":"Batyala","code":"xby"},{"name":"Cumbric","code":"xcb"},{"name":"Camunic","code":"xcc"},{"name":"Celtiberian","code":"xce"},{"name":"Cisalpine Gaulish","code":"xcg"},{"name":"Chemakum","code":"xch"},{"name":"Chimakum","code":"xch"},{"name":"Classical Armenian","code":"xcl"},{"name":"Comecrudo","code":"xcm"},{"name":"Cotoname","code":"xcn"},{"name":"Chorasmian","code":"xco"},{"name":"Carian","code":"xcr"},{"name":"Classical Tibetan","code":"xct"},{"name":"Curonian","code":"xcu"},{"name":"Chuvantsy","code":"xcv"},{"name":"Coahuilteco","code":"xcw"},{"name":"Cayuse","code":"xcy"},{"name":"Darkinyung","code":"xda"},{"name":"Dacian","code":"xdc"},{"name":"Dharuk","code":"xdk"},{"name":"Edomite","code":"xdm"},{"name":"Kwandu","code":"xdo"},{"name":"Malayic Dayak","code":"xdy"},{"name":"Eblan","code":"xeb"},{"name":"Hdi","code":"xed"},{"name":"ǁXegwi","code":"xeg"},{"name":"Kelo","code":"xel"},{"name":"Kembayan","code":"xem"},{"name":"Epi-Olmec","code":"xep"},{"name":"Xerénte","code":"xer"},{"name":"Kesawai","code":"xes"},{"name":"Xetá","code":"xet"},{"name":"Keoru-Ahia","code":"xeu"},{"name":"Faliscan","code":"xfa"},{"name":"Galatian","code":"xga"},{"name":"Gbin","code":"xgb"},{"name":"Gudang","code":"xgd"},{"name":"Gabrielino-Fernandeño","code":"xgf"},{"name":"Goreng","code":"xgg"},{"name":"Garingbal","code":"xgi"},{"name":"Galindan","code":"xgl"},{"name":"Dharumbal","code":"xgm"},{"name":"Guwinmal","code":"xgm"},{"name":"Garza","code":"xgr"},{"name":"Unggumi","code":"xgu"},{"name":"Guwa","code":"xgw"},{"name":"Harami","code":"xha"},{"name":"Hunnic","code":"xhc"},{"name":"Hadrami","code":"xhd"},{"name":"Khetrani","code":"xhe"},{"name":"Xhosa","code":"xho"},{"name":"Hernican","code":"xhr"},{"name":"Hattic","code":"xht"},{"name":"Hurrian","code":"xhu"},{"name":"Khua","code":"xhv"},{"name":"Iberian","code":"xib"},{"name":"Xiri","code":"xii"},{"name":"Illyrian","code":"xil"},{"name":"Xinca","code":"xin"},{"name":"Xiriâna","code":"xir"},{"name":"Kisan","code":"xis"},{"name":"Indus Valley Language","code":"xiv"},{"name":"Xipaya","code":"xiy"},{"name":"Minjungbal","code":"xjb"},{"name":"Jaitmatang","code":"xjt"},{"name":"Kalkoti","code":"xka"},{"name":"Northern Nago","code":"xkb"},{"name":"Kho'ini","code":"xkc"},{"name":"Mendalam Kayan","code":"xkd"},{"name":"Kereho","code":"xke"},{"name":"Khengkha","code":"xkf"},{"name":"Kagoro","code":"xkg"},{"name":"Kenyan Sign Language","code":"xki"},{"name":"Kajali","code":"xkj"},{"name":"Kaco'","code":"xkk"},{"name":"Mainstream Kenyah","code":"xkl"},{"name":"Kayan River Kayan","code":"xkn"},{"name":"Kiorr","code":"xko"},{"name":"Kabatei","code":"xkp"},{"name":"Koroni","code":"xkq"},{"name":"Xakriabá","code":"xkr"},{"name":"Kumbewaha","code":"xks"},{"name":"Kantosi","code":"xkt"},{"name":"Kaamba","code":"xku"},{"name":"Kgalagadi","code":"xkv"},{"name":"Kembra","code":"xkw"},{"name":"Karore","code":"xkx"},{"name":"Uma' Lasan","code":"xky"},{"name":"Kurtokha","code":"xkz"},{"name":"Kamula","code":"xla"},{"name":"Loup B","code":"xlb"},{"name":"Lycian","code":"xlc"},{"name":"Lydian","code":"xld"},{"name":"Lemnian","code":"xle"},{"name":"Ligurian (Ancient)","code":"xlg"},{"name":"Liburnian","code":"xli"},{"name":"Alanic","code":"xln"},{"name":"Loup A","code":"xlo"},{"name":"Lepontic","code":"xlp"},{"name":"Lusitanian","code":"xls"},{"name":"Cuneiform Luwian","code":"xlu"},{"name":"Elymian","code":"xly"},{"name":"Mushungulu","code":"xma"},{"name":"Mbonga","code":"xmb"},{"name":"Makhuwa-Marrevone","code":"xmc"},{"name":"Mbudum","code":"xmd"},{"name":"Median","code":"xme"},{"name":"Mingrelian","code":"xmf"},{"name":"Mengaka","code":"xmg"},{"name":"Kugu-Muminh","code":"xmh"},{"name":"Majera","code":"xmj"},{"name":"Ancient Macedonian","code":"xmk"},{"name":"Malaysian Sign Language","code":"xml"},{"name":"Manado Malay","code":"xmm"},{"name":"Manichaean Middle Persian","code":"xmn"},{"name":"Morerebi","code":"xmo"},{"name":"Kuku-Mu'inh","code":"xmp"},{"name":"Kuku-Mangk","code":"xmq"},{"name":"Meroitic","code":"xmr"},{"name":"Moroccan Sign Language","code":"xms"},{"name":"Matbat","code":"xmt"},{"name":"Kamu","code":"xmu"},{"name":"Antankarana Malagasy","code":"xmv"},{"name":"Tankarana Malagasy","code":"xmv"},{"name":"Tsimihety Malagasy","code":"xmw"},{"name":"Maden","code":"xmx"},{"name":"Mayaguduna","code":"xmy"},{"name":"Mori Bawah","code":"xmz"},{"name":"Ancient North Arabian","code":"xna"},{"name":"Kanakanabu","code":"xnb"},{"name":"Middle Mongolian","code":"xng"},{"name":"Kuanhua","code":"xnh"},{"name":"Ngarigu","code":"xni"},{"name":"Ngoni (Tanzania)","code":"xnj"},{"name":"Nganakarti","code":"xnk"},{"name":"Ngumbarl","code":"xnm"},{"name":"Northern Kankanay","code":"xnn"},{"name":"Anglo-Norman","code":"xno"},{"name":"Ngoni (Mozambique)","code":"xnq"},{"name":"Kangri","code":"xnr"},{"name":"Kanashi","code":"xns"},{"name":"Narragansett","code":"xnt"},{"name":"Nukunul","code":"xnu"},{"name":"Nyiyaparli","code":"xny"},{"name":"Kenzi","code":"xnz"},{"name":"Mattoki","code":"xnz"},{"name":"O'chi'chi'","code":"xoc"},{"name":"Kokoda","code":"xod"},{"name":"Soga","code":"xog"},{"name":"Kominimung","code":"xoi"},{"name":"Xokleng","code":"xok"},{"name":"Komo (Sudan)","code":"xom"},{"name":"Konkomba","code":"xon"},{"name":"Xukurú","code":"xoo"},{"name":"Kopar","code":"xop"},{"name":"Korubo","code":"xor"},{"name":"Kowaki","code":"xow"},{"name":"Pirriya","code":"xpa"},{"name":"Northeastern Tasmanian","code":"xpb"},{"name":"Pyemmairrener","code":"xpb"},{"name":"Pecheneg","code":"xpc"},{"name":"Oyster Bay Tasmanian","code":"xpd"},{"name":"Liberia Kpelle","code":"xpe"},{"name":"Nuenonne","code":"xpf"},{"name":"Southeast Tasmanian","code":"xpf"},{"name":"Phrygian","code":"xpg"},{"name":"North Midlands Tasmanian","code":"xph"},{"name":"Tyerrenoterpanner","code":"xph"},{"name":"Pictish","code":"xpi"},{"name":"Mpalitjanh","code":"xpj"},{"name":"Kulina Pano","code":"xpk"},{"name":"Port Sorell Tasmanian","code":"xpl"},{"name":"Pumpokol","code":"xpm"},{"name":"Kapinawá","code":"xpn"},{"name":"Pochutec","code":"xpo"},{"name":"Puyo-Paekche","code":"xpp"},{"name":"Mohegan-Pequot","code":"xpq"},{"name":"Parthian","code":"xpr"},{"name":"Pisidian","code":"xps"},{"name":"Punthamara","code":"xpt"},{"name":"Punic","code":"xpu"},{"name":"Northern Tasmanian","code":"xpv"},{"name":"Tommeginne","code":"xpv"},{"name":"Northwestern Tasmanian","code":"xpw"},{"name":"Peerapper","code":"xpw"},{"name":"Southwestern Tasmanian","code":"xpx"},{"name":"Toogee","code":"xpx"},{"name":"Puyo","code":"xpy"},{"name":"Bruny Island Tasmanian","code":"xpz"},{"name":"Karakhanid","code":"xqa"},{"name":"Qatabanian","code":"xqt"},{"name":"Krahô","code":"xra"},{"name":"Eastern Karaboro","code":"xrb"},{"name":"Gundungurra","code":"xrd"},{"name":"Kreye","code":"xre"},{"name":"Minang","code":"xrg"},{"name":"Krikati-Timbira","code":"xri"},{"name":"Armazic","code":"xrm"},{"name":"Arin","code":"xrn"},{"name":"Raetic","code":"xrr"},{"name":"Aranama-Tamique","code":"xrt"},{"name":"Marriammu","code":"xru"},{"name":"Karawa","code":"xrw"},{"name":"Sabaean","code":"xsa"},{"name":"Sambal","code":"xsb"},{"name":"Scythian","code":"xsc"},{"name":"Sidetic","code":"xsd"},{"name":"Sempan","code":"xse"},{"name":"Shamang","code":"xsh"},{"name":"Sio","code":"xsi"},{"name":"Subi","code":"xsj"},{"name":"South Slavey","code":"xsl"},{"name":"Kasem","code":"xsm"},{"name":"Sanga (Nigeria)","code":"xsn"},{"name":"Solano","code":"xso"},{"name":"Silopi","code":"xsp"},{"name":"Makhuwa-Saka","code":"xsq"},{"name":"Sherpa","code":"xsr"},{"name":"Assan","code":"xss"},{"name":"Sanumá","code":"xsu"},{"name":"Sudovian","code":"xsv"},{"name":"Saisiyat","code":"xsy"},{"name":"Alcozauca Mixtec","code":"xta"},{"name":"Chazumba Mixtec","code":"xtb"},{"name":"Katcha-Kadugli-Miri","code":"xtc"},{"name":"Diuxi-Tilantongo Mixtec","code":"xtd"},{"name":"Ketengban","code":"xte"},{"name":"Transalpine Gaulish","code":"xtg"},{"name":"Yitha Yitha","code":"xth"},{"name":"Sinicahua Mixtec","code":"xti"},{"name":"San Juan Teita Mixtec","code":"xtj"},{"name":"Tijaltepec Mixtec","code":"xtl"},{"name":"Magdalena Peñasco Mixtec","code":"xtm"},{"name":"Northern Tlaxiaco Mixtec","code":"xtn"},{"name":"Tokharian A","code":"xto"},{"name":"San Miguel Piedras Mixtec","code":"xtp"},{"name":"Tumshuqese","code":"xtq"},{"name":"Early Tripuri","code":"xtr"},{"name":"Sindihui Mixtec","code":"xts"},{"name":"Tacahua Mixtec","code":"xtt"},{"name":"Cuyamecalco Mixtec","code":"xtu"},{"name":"Thawa","code":"xtv"},{"name":"Tawandê","code":"xtw"},{"name":"Yoloxochitl Mixtec","code":"xty"},{"name":"Alu Kurumba","code":"xua"},{"name":"Betta Kurumba","code":"xub"},{"name":"Umiida","code":"xud"},{"name":"Kunigami","code":"xug"},{"name":"Jennu Kurumba","code":"xuj"},{"name":"Ngunawal","code":"xul"},{"name":"Nunukul","code":"xul"},{"name":"Umbrian","code":"xum"},{"name":"Unggaranggu","code":"xun"},{"name":"Kuo","code":"xuo"},{"name":"Upper Umpqua","code":"xup"},{"name":"Urartian","code":"xur"},{"name":"Kuthant","code":"xut"},{"name":"Khwedam","code":"xuu"},{"name":"Kxoe","code":"xuu"},{"name":"Venetic","code":"xve"},{"name":"Kamviri","code":"xvi"},{"name":"Vandalic","code":"xvn"},{"name":"Volscian","code":"xvo"},{"name":"Vestinian","code":"xvs"},{"name":"Kwaza","code":"xwa"},{"name":"Woccon","code":"xwc"},{"name":"Wadi Wadi","code":"xwd"},{"name":"Xwela Gbe","code":"xwe"},{"name":"Kwegu","code":"xwg"},{"name":"Wajuk","code":"xwj"},{"name":"Wangkumara","code":"xwk"},{"name":"Western Xwla Gbe","code":"xwl"},{"name":"Written Oirat","code":"xwo"},{"name":"Kwerba Mamberamo","code":"xwr"},{"name":"Wotjobaluk","code":"xwt"},{"name":"Wemba Wemba","code":"xww"},{"name":"Boro (Ghana)","code":"xxb"},{"name":"Ke'o","code":"xxk"},{"name":"Minkin","code":"xxm"},{"name":"Koropó","code":"xxr"},{"name":"Tambora","code":"xxt"},{"name":"Yaygir","code":"xya"},{"name":"Yandjibara","code":"xyb"},{"name":"Mayi-Yapi","code":"xyj"},{"name":"Mayi-Kulan","code":"xyk"},{"name":"Yalakalore","code":"xyl"},{"name":"Mayi-Thakurti","code":"xyt"},{"name":"Yorta Yorta","code":"xyy"},{"name":"Zhang-Zhung","code":"xzh"},{"name":"Zemgalian","code":"xzm"},{"name":"Ancient Zapotec","code":"xzp"},{"name":"Yaminahua","code":"yaa"},{"name":"Yuhup","code":"yab"},{"name":"Pass Valley Yali","code":"yac"},{"name":"Yagua","code":"yad"},{"name":"Pumé","code":"yae"},{"name":"Yaka (Democratic Republic of Congo)","code":"yaf"},{"name":"Yámana","code":"yag"},{"name":"Yazgulyam","code":"yah"},{"name":"Yagnobi","code":"yai"},{"name":"Banda-Yangere","code":"yaj"},{"name":"Yakama","code":"yak"},{"name":"Yalunka","code":"yal"},{"name":"Yamba","code":"yam"},{"name":"Mayangna","code":"yan"},{"name":"Yao","code":"yao"},{"name":"Yapese","code":"yap"},{"name":"Yaqui","code":"yaq"},{"name":"Yabarana","code":"yar"},{"name":"Nugunu (Cameroon)","code":"yas"},{"name":"Yambeta","code":"yat"},{"name":"Yuwana","code":"yau"},{"name":"Yangben","code":"yav"},{"name":"Yawalapití","code":"yaw"},{"name":"Yauma","code":"yax"},{"name":"Agwagwune","code":"yay"},{"name":"Lokaa","code":"yaz"},{"name":"Yala","code":"yba"},{"name":"Yemba","code":"ybb"},{"name":"West Yugur","code":"ybe"},{"name":"Yakha","code":"ybh"},{"name":"Yamphu","code":"ybi"},{"name":"Hasha","code":"ybj"},{"name":"Bokha","code":"ybk"},{"name":"Yukuben","code":"ybl"},{"name":"Yaben","code":"ybm"},{"name":"Yabaâna","code":"ybn"},{"name":"Yabong","code":"ybo"},{"name":"Yawiyo","code":"ybx"},{"name":"Yaweyuha","code":"yby"},{"name":"Chesu","code":"ych"},{"name":"Lolopo","code":"ycl"},{"name":"Yucuna","code":"ycn"},{"name":"Chepya","code":"ycp"},{"name":"Yanda","code":"yda"},{"name":"Eastern Yiddish","code":"ydd"},{"name":"Yangum Dey","code":"yde"},{"name":"Yidgha","code":"ydg"},{"name":"Yoidik","code":"ydk"},{"name":"Ravula","code":"yea"},{"name":"Yeniche","code":"yec"},{"name":"Yimas","code":"yee"},{"name":"Yeni","code":"yei"},{"name":"Yevanic","code":"yej"},{"name":"Yela","code":"yel"},{"name":"Tarok","code":"yer"},{"name":"Nyankpa","code":"yes"},{"name":"Yetfa","code":"yet"},{"name":"Yerukula","code":"yeu"},{"name":"Yapunda","code":"yev"},{"name":"Yeyi","code":"yey"},{"name":"Malyangapa","code":"yga"},{"name":"Yiningayi","code":"ygi"},{"name":"Yangum Gel","code":"ygl"},{"name":"Yagomi","code":"ygm"},{"name":"Gepo","code":"ygp"},{"name":"Yagaria","code":"ygr"},{"name":"Yolŋu Sign Language","code":"ygs"},{"name":"Yugul","code":"ygu"},{"name":"Yagwoia","code":"ygw"},{"name":"Baha Buyang","code":"yha"},{"name":"Judeo-Iraqi Arabic","code":"yhd"},{"name":"Hlepho Phowa","code":"yhl"},{"name":"Yan-nhaŋu Sign Language","code":"yhs"},{"name":"Yinggarda","code":"yia"},{"name":"Yiddish","code":"yid"},{"name":"Ache","code":"yif"},{"name":"Wusa Nasu","code":"yig"},{"name":"Western Yiddish","code":"yih"},{"name":"Yidiny","code":"yii"},{"name":"Yindjibarndi","code":"yij"},{"name":"Dongshanba Lalo","code":"yik"},{"name":"Yindjilandji","code":"yil"},{"name":"Yimchungru Naga","code":"yim"},{"name":"Riang Lai","code":"yin"},{"name":"Yinchia","code":"yin"},{"name":"Pholo","code":"yip"},{"name":"Miqie","code":"yiq"},{"name":"North Awyu","code":"yir"},{"name":"Yis","code":"yis"},{"name":"Eastern Lalu","code":"yit"},{"name":"Awu","code":"yiu"},{"name":"Northern Nisu","code":"yiv"},{"name":"Axi Yi","code":"yix"},{"name":"Azhe","code":"yiz"},{"name":"Yakan","code":"yka"},{"name":"Northern Yukaghir","code":"ykg"},{"name":"Yoke","code":"yki"},{"name":"Yakaikeke","code":"ykk"},{"name":"Khlula","code":"ykl"},{"name":"Kap","code":"ykm"},{"name":"Kua-nsi","code":"ykn"},{"name":"Yasa","code":"yko"},{"name":"Yekora","code":"ykr"},{"name":"Kathu","code":"ykt"},{"name":"Kuamasi","code":"yku"},{"name":"Yakoma","code":"yky"},{"name":"Yaul","code":"yla"},{"name":"Yaleba","code":"ylb"},{"name":"Yele","code":"yle"},{"name":"Yelogu","code":"ylg"},{"name":"Angguruk Yali","code":"yli"},{"name":"Yil","code":"yll"},{"name":"Limi","code":"ylm"},{"name":"Langnian Buyang","code":"yln"},{"name":"Naluo Yi","code":"ylo"},{"name":"Yalarnnga","code":"ylr"},{"name":"Aribwaung","code":"ylu"},{"name":"Nyâlayu","code":"yly"},{"name":"Nyelâyu","code":"yly"},{"name":"Yambes","code":"ymb"},{"name":"Southern Muji","code":"ymc"},{"name":"Muda","code":"ymd"},{"name":"Yameo","code":"yme"},{"name":"Yamongeri","code":"ymg"},{"name":"Mili","code":"ymh"},{"name":"Moji","code":"ymi"},{"name":"Makwe","code":"ymk"},{"name":"Iamalele","code":"yml"},{"name":"Maay","code":"ymm"},{"name":"Sunum","code":"ymn"},{"name":"Yamna","code":"ymn"},{"name":"Yangum Mon","code":"ymo"},{"name":"Yamap","code":"ymp"},{"name":"Qila Muji","code":"ymq"},{"name":"Malasar","code":"ymr"},{"name":"Mysian","code":"yms"},{"name":"Northern Muji","code":"ymx"},{"name":"Muzi","code":"ymz"},{"name":"Aluo","code":"yna"},{"name":"Yandruwandha","code":"ynd"},{"name":"Lang'e","code":"yne"},{"name":"Yango","code":"yng"},{"name":"Naukan Yupik","code":"ynk"},{"name":"Yangulam","code":"ynl"},{"name":"Yana","code":"ynn"},{"name":"Yong","code":"yno"},{"name":"Yendang","code":"ynq"},{"name":"Yansi","code":"yns"},{"name":"Yahuna","code":"ynu"},{"name":"Yoba","code":"yob"},{"name":"Yogad","code":"yog"},{"name":"Yonaguni","code":"yoi"},{"name":"Yokuts","code":"yok"},{"name":"Yola","code":"yol"},{"name":"Yombe","code":"yom"},{"name":"Yongkom","code":"yon"},{"name":"Yoruba","code":"yor"},{"name":"Yotti","code":"yot"},{"name":"Yoron","code":"yox"},{"name":"Yoy","code":"yoy"},{"name":"Phala","code":"ypa"},{"name":"Labo Phowa","code":"ypb"},{"name":"Phola","code":"ypg"},{"name":"Phupha","code":"yph"},{"name":"Phuma","code":"ypm"},{"name":"Ani Phowa","code":"ypn"},{"name":"Alo Phola","code":"ypo"},{"name":"Phupa","code":"ypp"},{"name":"Phuza","code":"ypz"},{"name":"Yerakai","code":"yra"},{"name":"Yareba","code":"yrb"},{"name":"Yaouré","code":"yre"},{"name":"Nenets","code":"yrk"},{"name":"Nhengatu","code":"yrl"},{"name":"Yirrk-Mel","code":"yrm"},{"name":"Yerong","code":"yrn"},{"name":"Yaroamë","code":"yro"},{"name":"Yarsun","code":"yrs"},{"name":"Yarawata","code":"yrw"},{"name":"Yarluyandi","code":"yry"},{"name":"Yassic","code":"ysc"},{"name":"Samatao","code":"ysd"},{"name":"Sonaga","code":"ysg"},{"name":"Yugoslavian Sign Language","code":"ysl"},{"name":"Myanmar Sign Language","code":"ysm"},{"name":"Sani","code":"ysn"},{"name":"Nisi (China)","code":"yso"},{"name":"Southern Lolopo","code":"ysp"},{"name":"Sirenik Yupik","code":"ysr"},{"name":"Yessan-Mayo","code":"yss"},{"name":"Sanie","code":"ysy"},{"name":"Talu","code":"yta"},{"name":"Tanglang","code":"ytl"},{"name":"Thopho","code":"ytp"},{"name":"Yout Wam","code":"ytw"},{"name":"Yatay","code":"yty"},{"name":"Yucatec Maya","code":"yua"},{"name":"Yucateco","code":"yua"},{"name":"Yugambal","code":"yub"},{"name":"Yuchi","code":"yuc"},{"name":"Judeo-Tripolitanian Arabic","code":"yud"},{"name":"Yue Chinese","code":"yue"},{"name":"Havasupai-Walapai-Yavapai","code":"yuf"},{"name":"Yug","code":"yug"},{"name":"Yurutí","code":"yui"},{"name":"Karkar-Yuri","code":"yuj"},{"name":"Yuki","code":"yuk"},{"name":"Yulu","code":"yul"},{"name":"Quechan","code":"yum"},{"name":"Bena (Nigeria)","code":"yun"},{"name":"Yukpa","code":"yup"},{"name":"Yuqui","code":"yuq"},{"name":"Yurok","code":"yur"},{"name":"Yopno","code":"yut"},{"name":"Yau (Morobe Province)","code":"yuw"},{"name":"Southern Yukaghir","code":"yux"},{"name":"East Yugur","code":"yuy"},{"name":"Yuracare","code":"yuz"},{"name":"Yawa","code":"yva"},{"name":"Yavitero","code":"yvt"},{"name":"Kalou","code":"ywa"},{"name":"Yinhawangka","code":"ywg"},{"name":"Western Lalu","code":"ywl"},{"name":"Yawanawa","code":"ywn"},{"name":"Wuding-Luquan Yi","code":"ywq"},{"name":"Yawuru","code":"ywr"},{"name":"Central Lalo","code":"ywt"},{"name":"Xishanba Lalo","code":"ywt"},{"name":"Wumeng Nasu","code":"ywu"},{"name":"Yawarawarga","code":"yww"},{"name":"Mayawali","code":"yxa"},{"name":"Yagara","code":"yxg"},{"name":"Yardliyawarra","code":"yxl"},{"name":"Yinwum","code":"yxm"},{"name":"Yuyu","code":"yxu"},{"name":"Yabula Yabula","code":"yxy"},{"name":"Yir Yoront","code":"yyr"},{"name":"Yau (Sandaun Province)","code":"yyu"},{"name":"Ayizi","code":"yyz"},{"name":"E'ma Buyang","code":"yzg"},{"name":"Zokhuo","code":"yzk"},{"name":"Sierra de Juárez Zapotec","code":"zaa"},{"name":"San Juan Guelavía Zapotec","code":"zab"},{"name":"Western Tlacolula Valley Zapotec","code":"zab"},{"name":"Ocotlán Zapotec","code":"zac"},{"name":"Cajonos Zapotec","code":"zad"},{"name":"Yareni Zapotec","code":"zae"},{"name":"Ayoquesco Zapotec","code":"zaf"},{"name":"Zaghawa","code":"zag"},{"name":"Zangwal","code":"zah"},{"name":"Isthmus Zapotec","code":"zai"},{"name":"Zaramo","code":"zaj"},{"name":"Zanaki","code":"zak"},{"name":"Zauzou","code":"zal"},{"name":"Miahuatlán Zapotec","code":"zam"},{"name":"Ozolotepec Zapotec","code":"zao"},{"name":"Zapotec","code":"zap"},{"name":"Aloápam Zapotec","code":"zaq"},{"name":"Rincón Zapotec","code":"zar"},{"name":"Santo Domingo Albarradas Zapotec","code":"zas"},{"name":"Tabaa Zapotec","code":"zat"},{"name":"Zangskari","code":"zau"},{"name":"Yatzachi Zapotec","code":"zav"},{"name":"Mitla Zapotec","code":"zaw"},{"name":"Xadani Zapotec","code":"zax"},{"name":"Zaysete","code":"zay"},{"name":"Zayse-Zergulla","code":"zay"},{"name":"Zari","code":"zaz"},{"name":"Balaibalan","code":"zba"},{"name":"Central Berawan","code":"zbc"},{"name":"East Berawan","code":"zbe"},{"name":"Bliss","code":"zbl"},{"name":"Blissymbolics","code":"zbl"},{"name":"Blissymbols","code":"zbl"},{"name":"Batui","code":"zbt"},{"name":"Bu (Bauchi State)","code":"zbu"},{"name":"West Berawan","code":"zbw"},{"name":"Coatecas Altas Zapotec","code":"zca"},{"name":"Central Hongshuihe Zhuang","code":"zch"},{"name":"Ngazidja Comorian","code":"zdj"},{"name":"Zeeuws","code":"zea"},{"name":"Zenag","code":"zeg"},{"name":"Eastern Hongshuihe Zhuang","code":"zeh"},{"name":"Zenaga","code":"zen"},{"name":"Kinga","code":"zga"},{"name":"Guibei Zhuang","code":"zgb"},{"name":"Standard Moroccan Tamazight","code":"zgh"},{"name":"Minz Zhuang","code":"zgm"},{"name":"Guibian Zhuang","code":"zgn"},{"name":"Magori","code":"zgr"},{"name":"Chuang","code":"zha"},{"name":"Zhuang","code":"zha"},{"name":"Zhaba","code":"zhb"},{"name":"Dai Zhuang","code":"zhd"},{"name":"Zhire","code":"zhi"},{"name":"Nong Zhuang","code":"zhn"},{"name":"Chinese","code":"zho"},{"name":"Zhoa","code":"zhw"},{"name":"Zia","code":"zia"},{"name":"Zimbabwe Sign Language","code":"zib"},{"name":"Zimakani","code":"zik"},{"name":"Zialo","code":"zil"},{"name":"Mesme","code":"zim"},{"name":"Zinza","code":"zin"},{"name":"Zigula","code":"ziw"},{"name":"Zizilivakan","code":"ziz"},{"name":"Kaimbulawa","code":"zka"},{"name":"Koibal","code":"zkb"},{"name":"Kadu","code":"zkd"},{"name":"Koguryo","code":"zkg"},{"name":"Khorezmian","code":"zkh"},{"name":"Karankawa","code":"zkk"},{"name":"Kanan","code":"zkn"},{"name":"Kott","code":"zko"},{"name":"São Paulo Kaingáng","code":"zkp"},{"name":"Zakhring","code":"zkr"},{"name":"Kitan","code":"zkt"},{"name":"Kaurna","code":"zku"},{"name":"Krevinian","code":"zkv"},{"name":"Khazar","code":"zkz"},{"name":"Zula","code":"zla"},{"name":"Liujiang Zhuang","code":"zlj"},{"name":"Malay (individual language)","code":"zlm"},{"name":"Lianshan Zhuang","code":"zln"},{"name":"Liuqian Zhuang","code":"zlq"},{"name":"Manda (Australia)","code":"zma"},{"name":"Zimba","code":"zmb"},{"name":"Margany","code":"zmc"},{"name":"Maridan","code":"zmd"},{"name":"Mangerr","code":"zme"},{"name":"Mfinu","code":"zmf"},{"name":"Marti Ke","code":"zmg"},{"name":"Makolkol","code":"zmh"},{"name":"Negeri Sembilan Malay","code":"zmi"},{"name":"Maridjabin","code":"zmj"},{"name":"Mandandanyi","code":"zmk"},{"name":"Matngala","code":"zml"},{"name":"Marimanindji","code":"zmm"},{"name":"Marramaninyshi","code":"zmm"},{"name":"Mbangwe","code":"zmn"},{"name":"Molo","code":"zmo"},{"name":"Mpuono","code":"zmp"},{"name":"Mituku","code":"zmq"},{"name":"Maranunggu","code":"zmr"},{"name":"Mbesa","code":"zms"},{"name":"Maringarr","code":"zmt"},{"name":"Muruwari","code":"zmu"},{"name":"Mbariman-Gudhinma","code":"zmv"},{"name":"Mbo (Democratic Republic of Congo)","code":"zmw"},{"name":"Bomitaba","code":"zmx"},{"name":"Mariyedi","code":"zmy"},{"name":"Mbandja","code":"zmz"},{"name":"Zan Gula","code":"zna"},{"name":"Zande (individual language)","code":"zne"},{"name":"Mang","code":"zng"},{"name":"Manangkari","code":"znk"},{"name":"Mangas","code":"zns"},{"name":"Copainalá Zoque","code":"zoc"},{"name":"Chimalapa Zoque","code":"zoh"},{"name":"Zou","code":"zom"},{"name":"Asunción Mixtepec Zapotec","code":"zoo"},{"name":"Tabasco Zoque","code":"zoq"},{"name":"Rayón Zoque","code":"zor"},{"name":"Francisco León Zoque","code":"zos"},{"name":"Lachiguiri Zapotec","code":"zpa"},{"name":"Yautepec Zapotec","code":"zpb"},{"name":"Choapan Zapotec","code":"zpc"},{"name":"Southeastern Ixtlán Zapotec","code":"zpd"},{"name":"Petapa Zapotec","code":"zpe"},{"name":"San Pedro Quiatoni Zapotec","code":"zpf"},{"name":"Guevea De Humboldt Zapotec","code":"zpg"},{"name":"Totomachapan Zapotec","code":"zph"},{"name":"Santa María Quiegolani Zapotec","code":"zpi"},{"name":"Quiavicuzas Zapotec","code":"zpj"},{"name":"Tlacolulita Zapotec","code":"zpk"},{"name":"Lachixío Zapotec","code":"zpl"},{"name":"Mixtepec Zapotec","code":"zpm"},{"name":"Santa Inés Yatzechi Zapotec","code":"zpn"},{"name":"Amatlán Zapotec","code":"zpo"},{"name":"El Alto Zapotec","code":"zpp"},{"name":"Zoogocho Zapotec","code":"zpq"},{"name":"Santiago Xanica Zapotec","code":"zpr"},{"name":"Coatlán Zapotec","code":"zps"},{"name":"San Vicente Coatlán Zapotec","code":"zpt"},{"name":"Yalálag Zapotec","code":"zpu"},{"name":"Chichicapan Zapotec","code":"zpv"},{"name":"Zaniza Zapotec","code":"zpw"},{"name":"San Baltazar Loxicha Zapotec","code":"zpx"},{"name":"Mazaltepec Zapotec","code":"zpy"},{"name":"Texmelucan Zapotec","code":"zpz"},{"name":"Qiubei Zhuang","code":"zqe"},{"name":"Kara (Korea)","code":"zra"},{"name":"Mirgan","code":"zrg"},{"name":"Zerenkel","code":"zrn"},{"name":"Záparo","code":"zro"},{"name":"Zarphatic","code":"zrp"},{"name":"Mairasi","code":"zrs"},{"name":"Sarasira","code":"zsa"},{"name":"Kaskean","code":"zsk"},{"name":"Zambian Sign Language","code":"zsl"},{"name":"Standard Malay","code":"zsm"},{"name":"Southern Rincon Zapotec","code":"zsr"},{"name":"Sukurum","code":"zsu"},{"name":"Elotepec Zapotec","code":"zte"},{"name":"Xanaguía Zapotec","code":"ztg"},{"name":"Lapaguía-Guivini Zapotec","code":"ztl"},{"name":"San Agustín Mixtepec Zapotec","code":"ztm"},{"name":"Santa Catarina Albarradas Zapotec","code":"ztn"},{"name":"Loxicha Zapotec","code":"ztp"},{"name":"Quioquitani-Quierí Zapotec","code":"ztq"},{"name":"Tilquiapan Zapotec","code":"zts"},{"name":"Tejalapan Zapotec","code":"ztt"},{"name":"Güilá Zapotec","code":"ztu"},{"name":"Zaachila Zapotec","code":"ztx"},{"name":"Yatee Zapotec","code":"zty"},{"name":"Zeem","code":"zua"},{"name":"Tokano","code":"zuh"},{"name":"Zulu","code":"zul"},{"name":"Kumzari","code":"zum"},{"name":"Zuni","code":"zun"},{"name":"Zumaya","code":"zuy"},{"name":"Zay","code":"zwa"},{"name":"No linguistic content","code":"zxx"},{"name":"Not applicable","code":"zxx"},{"name":"Yongbei Zhuang","code":"zyb"},{"name":"Yang Zhuang","code":"zyg"},{"name":"Youjiang Zhuang","code":"zyj"},{"name":"Yongnan Zhuang","code":"zyn"},{"name":"Zyphe Chin","code":"zyp"},{"name":"Dimili","code":"zza"},{"name":"Dimli (macrolanguage)","code":"zza"},{"name":"Kirdki","code":"zza"},{"name":"Kirmanjki (macrolanguage)","code":"zza"},{"name":"Zaza","code":"zza"},{"name":"Zazaki","code":"zza"},{"name":"Zuojiang Zhuang","code":"zzj"}] \ No newline at end of file +[{"code":"aaa","name":"Ghotuo"},{"code":"aab","name":"Alumu-Tesu"},{"code":"aac","name":"Ari"},{"code":"aad","name":"Amal"},{"code":"aae","name":"Arbëreshë Albanian"},{"code":"aaf","name":"Aranadan"},{"code":"aag","name":"Ambrak"},{"code":"aah","name":"Abu' Arapesh"},{"code":"aai","name":"Arifama-Miniafia"},{"code":"aak","name":"Ankave"},{"code":"aal","name":"Afade"},{"code":"aan","name":"Anambé"},{"code":"aao","name":"Algerian Saharan Arabic"},{"code":"aap","name":"Pará Arára"},{"code":"aaq","name":"Eastern Abnaki"},{"code":"aar","name":"Afar"},{"code":"aas","name":"Aasáx"},{"code":"aat","name":"Arvanitika Albanian"},{"code":"aau","name":"Abau"},{"code":"aaw","name":"Solong"},{"code":"aax","name":"Mandobo Atas"},{"code":"aaz","name":"Amarasi"},{"code":"aba","name":"Abé"},{"code":"abb","name":"Bankon"},{"code":"abc","name":"Ambala Ayta"},{"code":"abd","name":"Manide"},{"code":"abe","name":"Western Abnaki"},{"code":"abf","name":"Abai Sungai"},{"code":"abg","name":"Abaga"},{"code":"abh","name":"Tajiki Arabic"},{"code":"abi","name":"Abidji"},{"code":"abj","name":"Aka-Bea"},{"code":"abk","name":"Abkhazian"},{"code":"abl","name":"Lampung Nyo"},{"code":"abm","name":"Abanyom"},{"code":"abn","name":"Abua"},{"code":"abo","name":"Abon"},{"code":"abp","name":"Abellen Ayta"},{"code":"abq","name":"Abaza"},{"code":"abr","name":"Abron"},{"code":"abs","name":"Ambonese Malay"},{"code":"abt","name":"Ambulas"},{"code":"abu","name":"Abure"},{"code":"abv","name":"Baharna Arabic"},{"code":"abw","name":"Pal"},{"code":"abx","name":"Inabaknon"},{"code":"aby","name":"Aneme Wake"},{"code":"abz","name":"Abui"},{"code":"aca","name":"Achagua"},{"code":"acb","name":"Áncá"},{"code":"acd","name":"Gikyode"},{"code":"ace","name":"Achinese"},{"code":"acf","name":"Saint Lucian Creole French"},{"code":"ach","name":"Acoli"},{"code":"aci","name":"Aka-Cari"},{"code":"ack","name":"Aka-Kora"},{"code":"acl","name":"Akar-Bale"},{"code":"acm","name":"Mesopotamian Arabic"},{"code":"acn","name":"Achang"},{"code":"acp","name":"Eastern Acipa"},{"code":"acq","name":"Ta'izzi-Adeni Arabic"},{"code":"acr","name":"Achi"},{"code":"acs","name":"Acroá"},{"code":"act","name":"Achterhoeks"},{"code":"acu","name":"Achuar-Shiwiar"},{"code":"acv","name":"Achumawi"},{"code":"acw","name":"Hijazi Arabic"},{"code":"acx","name":"Omani Arabic"},{"code":"acy","name":"Cypriot Arabic"},{"code":"acz","name":"Acheron"},{"code":"ada","name":"Adangme"},{"code":"adb","name":"Atauran"},{"code":"add","name":"Dzodinka"},{"code":"ade","name":"Adele"},{"code":"adf","name":"Dhofari Arabic"},{"code":"adg","name":"Andegerebinha"},{"code":"adh","name":"Adhola"},{"code":"adi","name":"Adi"},{"code":"adj","name":"Adioukrou"},{"code":"adl","name":"Galo"},{"code":"adn","name":"Adang"},{"code":"ado","name":"Abu"},{"code":"adq","name":"Adangbe"},{"code":"adr","name":"Adonara"},{"code":"ads","name":"Adamorobe Sign Language"},{"code":"adt","name":"Adnyamathanha"},{"code":"adu","name":"Aduge"},{"code":"adw","name":"Amundava"},{"code":"adx","name":"Amdo Tibetan"},{"code":"ady","name":"Adygei"},{"code":"adz","name":"Adzera"},{"code":"aea","name":"Areba"},{"code":"aeb","name":"Tunisian Arabic"},{"code":"aec","name":"Saidi Arabic"},{"code":"aed","name":"Argentine Sign Language"},{"code":"aee","name":"Northeast Pashai"},{"code":"aek","name":"Haeke"},{"code":"ael","name":"Ambele"},{"code":"aem","name":"Arem"},{"code":"aen","name":"Armenian Sign Language"},{"code":"aeq","name":"Aer"},{"code":"aer","name":"Eastern Arrernte"},{"code":"aes","name":"Alsea"},{"code":"aeu","name":"Akeu"},{"code":"aew","name":"Ambakich"},{"code":"aey","name":"Amele"},{"code":"aez","name":"Aeka"},{"code":"afb","name":"Gulf Arabic"},{"code":"afd","name":"Andai"},{"code":"afe","name":"Putukwam"},{"code":"afg","name":"Afghan Sign Language"},{"code":"afh","name":"Afrihili"},{"code":"afi","name":"Akrukay"},{"code":"afk","name":"Nanubae"},{"code":"afn","name":"Defaka"},{"code":"afo","name":"Eloyi"},{"code":"afp","name":"Tapei"},{"code":"afr","name":"Afrikaans"},{"code":"afs","name":"Afro-Seminole Creole"},{"code":"aft","name":"Afitti"},{"code":"afu","name":"Awutu"},{"code":"afz","name":"Obokuitai"},{"code":"aga","name":"Aguano"},{"code":"agb","name":"Legbo"},{"code":"agc","name":"Agatu"},{"code":"agd","name":"Agarabi"},{"code":"age","name":"Angal"},{"code":"agf","name":"Arguni"},{"code":"agg","name":"Angor"},{"code":"agh","name":"Ngelima"},{"code":"agi","name":"Agariya"},{"code":"agj","name":"Argobba"},{"code":"agk","name":"Isarog Agta"},{"code":"agl","name":"Fembe"},{"code":"agm","name":"Angaataha"},{"code":"agn","name":"Agutaynen"},{"code":"ago","name":"Tainae"},{"code":"agq","name":"Aghem"},{"code":"agr","name":"Aguaruna"},{"code":"ags","name":"Esimbi"},{"code":"agt","name":"Central Cagayan Agta"},{"code":"agu","name":"Aguacateco"},{"code":"agv","name":"Remontado Dumagat"},{"code":"agw","name":"Kahua"},{"code":"agx","name":"Aghul"},{"code":"agy","name":"Southern Alta"},{"code":"agz","name":"Mt. Iriga Agta"},{"code":"aha","name":"Ahanta"},{"code":"ahb","name":"Axamb"},{"code":"ahg","name":"Qimant"},{"code":"ahh","name":"Aghu"},{"code":"ahi","name":"Tiagbamrin Aizi"},{"code":"ahk","name":"Akha"},{"code":"ahl","name":"Igo"},{"code":"ahm","name":"Mobumrin Aizi"},{"code":"ahn","name":"Àhàn"},{"code":"aho","name":"Ahom"},{"code":"ahp","name":"Aproumu Aizi"},{"code":"ahr","name":"Ahirani"},{"code":"ahs","name":"Ashe"},{"code":"aht","name":"Ahtena"},{"code":"aia","name":"Arosi"},{"code":"aib","name":"Ainu (China)"},{"code":"aic","name":"Ainbai"},{"code":"aid","name":"Alngith"},{"code":"aie","name":"Amara"},{"code":"aif","name":"Agi"},{"code":"aig","name":"Antigua and Barbuda Creole English"},{"code":"aih","name":"Ai-Cham"},{"code":"aii","name":"Assyrian Neo-Aramaic"},{"code":"aij","name":"Lishanid Noshan"},{"code":"aik","name":"Ake"},{"code":"ail","name":"Aimele"},{"code":"aim","name":"Aimol"},{"code":"ain","name":"Ainu (Japan)"},{"code":"aio","name":"Aiton"},{"code":"aip","name":"Burumakok"},{"code":"aiq","name":"Aimaq"},{"code":"air","name":"Airoran"},{"code":"ait","name":"Arikem"},{"code":"aiw","name":"Aari"},{"code":"aix","name":"Aighon"},{"code":"aiy","name":"Ali"},{"code":"aja","name":"Aja (South Sudan)"},{"code":"ajg","name":"Aja (Benin)"},{"code":"aji","name":"Ajië"},{"code":"ajn","name":"Andajin"},{"code":"ajp","name":"South Levantine Arabic"},{"code":"ajt","name":"Judeo-Tunisian Arabic"},{"code":"aju","name":"Judeo-Moroccan Arabic"},{"code":"ajw","name":"Ajawa"},{"code":"ajz","name":"Amri Karbi"},{"code":"aka","name":"Akan"},{"code":"akb","name":"Batak Angkola"},{"code":"akc","name":"Mpur"},{"code":"akd","name":"Ukpet-Ehom"},{"code":"ake","name":"Akawaio"},{"code":"akf","name":"Akpa"},{"code":"akg","name":"Anakalangu"},{"code":"akh","name":"Angal Heneng"},{"code":"aki","name":"Aiome"},{"code":"akj","name":"Aka-Jeru"},{"code":"akk","name":"Akkadian"},{"code":"akl","name":"Aklanon"},{"code":"akm","name":"Aka-Bo"},{"code":"ako","name":"Akurio"},{"code":"akp","name":"Siwu"},{"code":"akq","name":"Ak"},{"code":"akr","name":"Araki"},{"code":"aks","name":"Akaselem"},{"code":"akt","name":"Akolet"},{"code":"aku","name":"Akum"},{"code":"akv","name":"Akhvakh"},{"code":"akw","name":"Akwa"},{"code":"akx","name":"Aka-Kede"},{"code":"aky","name":"Aka-Kol"},{"code":"akz","name":"Alabama"},{"code":"ala","name":"Alago"},{"code":"alc","name":"Qawasqar"},{"code":"ald","name":"Alladian"},{"code":"ale","name":"Aleut"},{"code":"alf","name":"Alege"},{"code":"alh","name":"Alawa"},{"code":"ali","name":"Amaimon"},{"code":"alj","name":"Alangan"},{"code":"alk","name":"Alak"},{"code":"all","name":"Allar"},{"code":"alm","name":"Amblong"},{"code":"aln","name":"Gheg Albanian"},{"code":"alo","name":"Larike-Wakasihu"},{"code":"alp","name":"Alune"},{"code":"alq","name":"Algonquin"},{"code":"alr","name":"Alutor"},{"code":"als","name":"Tosk Albanian"},{"code":"alt","name":"Southern Altai"},{"code":"alu","name":"'Are'are"},{"code":"alw","name":"Alaba-K’abeena"},{"code":"alx","name":"Amol"},{"code":"aly","name":"Alyawarr"},{"code":"alz","name":"Alur"},{"code":"ama","name":"Amanayé"},{"code":"amb","name":"Ambo"},{"code":"amc","name":"Amahuaca"},{"code":"ame","name":"Yanesha'"},{"code":"amf","name":"Hamer-Banna"},{"code":"amg","name":"Amurdak"},{"code":"amh","name":"Amharic"},{"code":"ami","name":"Amis"},{"code":"amj","name":"Amdang"},{"code":"amk","name":"Ambai"},{"code":"aml","name":"War-Jaintia"},{"code":"amm","name":"Ama (Papua New Guinea)"},{"code":"amn","name":"Amanab"},{"code":"amo","name":"Amo"},{"code":"amp","name":"Alamblak"},{"code":"amq","name":"Amahai"},{"code":"amr","name":"Amarakaeri"},{"code":"ams","name":"Southern Amami-Oshima"},{"code":"amt","name":"Amto"},{"code":"amu","name":"Guerrero Amuzgo"},{"code":"amv","name":"Ambelau"},{"code":"amw","name":"Western Neo-Aramaic"},{"code":"amx","name":"Anmatyerre"},{"code":"amy","name":"Ami"},{"code":"amz","name":"Atampaya"},{"code":"ana","name":"Andaqui"},{"code":"anb","name":"Andoa"},{"code":"anc","name":"Ngas"},{"code":"and","name":"Ansus"},{"code":"ane","name":"Xârâcùù"},{"code":"anf","name":"Animere"},{"code":"ang","name":"Old English (ca. 450-1100)"},{"code":"anh","name":"Nend"},{"code":"ani","name":"Andi"},{"code":"anj","name":"Anor"},{"code":"ank","name":"Goemai"},{"code":"anl","name":"Anu-Hkongso Chin"},{"code":"anm","name":"Anal"},{"code":"ann","name":"Obolo"},{"code":"ano","name":"Andoque"},{"code":"anp","name":"Angika"},{"code":"anq","name":"Jarawa (India)"},{"code":"anr","name":"Andh"},{"code":"ans","name":"Anserma"},{"code":"ant","name":"Antakarinya"},{"code":"anu","name":"Anuak"},{"code":"anv","name":"Denya"},{"code":"anw","name":"Anaang"},{"code":"anx","name":"Andra-Hus"},{"code":"any","name":"Anyin"},{"code":"anz","name":"Anem"},{"code":"aoa","name":"Angolar"},{"code":"aob","name":"Abom"},{"code":"aoc","name":"Pemon"},{"code":"aod","name":"Andarum"},{"code":"aoe","name":"Angal Enen"},{"code":"aof","name":"Bragat"},{"code":"aog","name":"Angoram"},{"code":"aoi","name":"Anindilyakwa"},{"code":"aoj","name":"Mufian"},{"code":"aok","name":"Arhö"},{"code":"aol","name":"Alor"},{"code":"aom","name":"Ömie"},{"code":"aon","name":"Bumbita Arapesh"},{"code":"aor","name":"Aore"},{"code":"aos","name":"Taikat"},{"code":"aot","name":"A'tong"},{"code":"aou","name":"A'ou"},{"code":"aox","name":"Atorada"},{"code":"aoz","name":"Uab Meto"},{"code":"apb","name":"Sa'a"},{"code":"apc","name":"North Levantine Arabic"},{"code":"apd","name":"Sudanese Arabic"},{"code":"ape","name":"Bukiyip"},{"code":"apf","name":"Pahanan Agta"},{"code":"apg","name":"Ampanang"},{"code":"aph","name":"Athpariya"},{"code":"api","name":"Apiaká"},{"code":"apj","name":"Jicarilla Apache"},{"code":"apk","name":"Kiowa Apache"},{"code":"apl","name":"Lipan Apache"},{"code":"apm","name":"Mescalero-Chiricahua Apache"},{"code":"apn","name":"Apinayé"},{"code":"apo","name":"Ambul"},{"code":"app","name":"Apma"},{"code":"apq","name":"A-Pucikwar"},{"code":"apr","name":"Arop-Lokep"},{"code":"aps","name":"Arop-Sissano"},{"code":"apt","name":"Apatani"},{"code":"apu","name":"Apurinã"},{"code":"apv","name":"Alapmunte"},{"code":"apw","name":"Western Apache"},{"code":"apx","name":"Aputai"},{"code":"apy","name":"Apalaí"},{"code":"apz","name":"Safeyoka"},{"code":"aqc","name":"Archi"},{"code":"aqd","name":"Ampari Dogon"},{"code":"aqg","name":"Arigidi"},{"code":"aqk","name":"Aninka"},{"code":"aqm","name":"Atohwaim"},{"code":"aqn","name":"Northern Alta"},{"code":"aqp","name":"Atakapa"},{"code":"aqr","name":"Arhâ"},{"code":"aqt","name":"Angaité"},{"code":"aqz","name":"Akuntsu"},{"code":"ara","name":"Arabic"},{"code":"arb","name":"Standard Arabic"},{"code":"arc","name":"Imperial Aramaic (700-300 BCE)"},{"code":"ard","name":"Arabana"},{"code":"are","name":"Western Arrarnta"},{"code":"arg","name":"Aragonese"},{"code":"arh","name":"Arhuaco"},{"code":"ari","name":"Arikara"},{"code":"arj","name":"Arapaso"},{"code":"ark","name":"Arikapú"},{"code":"arl","name":"Arabela"},{"code":"arn","name":"Mapuche"},{"code":"aro","name":"Araona"},{"code":"arp","name":"Arapaho"},{"code":"arq","name":"Algerian Arabic"},{"code":"arr","name":"Karo (Brazil)"},{"code":"ars","name":"Najdi Arabic"},{"code":"aru","name":"Arawá"},{"code":"arv","name":"Arbore"},{"code":"arw","name":"Arawak"},{"code":"arx","name":"Aruá (Rodonia State)"},{"code":"ary","name":"Moroccan Arabic"},{"code":"arz","name":"Egyptian Arabic"},{"code":"asa","name":"Asu (Tanzania)"},{"code":"asb","name":"Assiniboine"},{"code":"asc","name":"Casuarina Coast Asmat"},{"code":"ase","name":"American Sign Language"},{"code":"asf","name":"Auslan"},{"code":"asg","name":"Cishingini"},{"code":"ash","name":"Abishira"},{"code":"asi","name":"Buruwai"},{"code":"asj","name":"Sari"},{"code":"ask","name":"Ashkun"},{"code":"asl","name":"Asilulu"},{"code":"asm","name":"Assamese"},{"code":"asn","name":"Xingú Asuriní"},{"code":"aso","name":"Dano"},{"code":"asp","name":"Algerian Sign Language"},{"code":"asq","name":"Austrian Sign Language"},{"code":"asr","name":"Asuri"},{"code":"ass","name":"Ipulo"},{"code":"ast","name":"Asturian"},{"code":"asu","name":"Tocantins Asurini"},{"code":"asv","name":"Asoa"},{"code":"asw","name":"Australian Aborigines Sign Language"},{"code":"asx","name":"Muratayak"},{"code":"asy","name":"Yaosakor Asmat"},{"code":"asz","name":"As"},{"code":"ata","name":"Pele-Ata"},{"code":"atb","name":"Zaiwa"},{"code":"atc","name":"Atsahuaca"},{"code":"atd","name":"Ata Manobo"},{"code":"ate","name":"Atemble"},{"code":"atg","name":"Ivbie North-Okpela-Arhe"},{"code":"ati","name":"Attié"},{"code":"atj","name":"Atikamekw"},{"code":"atk","name":"Ati"},{"code":"atl","name":"Mt. Iraya Agta"},{"code":"atm","name":"Ata"},{"code":"atn","name":"Ashtiani"},{"code":"ato","name":"Atong (Cameroon)"},{"code":"atp","name":"Pudtol Atta"},{"code":"atq","name":"Aralle-Tabulahan"},{"code":"atr","name":"Waimiri-Atroari"},{"code":"ats","name":"Gros Ventre"},{"code":"att","name":"Pamplona Atta"},{"code":"atu","name":"Reel"},{"code":"atv","name":"Northern Altai"},{"code":"atw","name":"Atsugewi"},{"code":"atx","name":"Arutani"},{"code":"aty","name":"Aneityum"},{"code":"atz","name":"Arta"},{"code":"aua","name":"Asumboa"},{"code":"aub","name":"Alugu"},{"code":"auc","name":"Waorani"},{"code":"aud","name":"Anuta"},{"code":"aug","name":"Aguna"},{"code":"auh","name":"Aushi"},{"code":"aui","name":"Anuki"},{"code":"auj","name":"Awjilah"},{"code":"auk","name":"Heyo"},{"code":"aul","name":"Aulua"},{"code":"aum","name":"Asu (Nigeria)"},{"code":"aun","name":"Molmo One"},{"code":"auo","name":"Auyokawa"},{"code":"aup","name":"Makayam"},{"code":"auq","name":"Anus"},{"code":"aur","name":"Aruek"},{"code":"aut","name":"Austral"},{"code":"auu","name":"Auye"},{"code":"auw","name":"Awyi"},{"code":"aux","name":"Aurá"},{"code":"auy","name":"Awiyaana"},{"code":"auz","name":"Uzbeki Arabic"},{"code":"ava","name":"Avaric"},{"code":"avb","name":"Avau"},{"code":"avd","name":"Alviri-Vidari"},{"code":"ave","name":"Avestan"},{"code":"avi","name":"Avikam"},{"code":"avk","name":"Kotava"},{"code":"avl","name":"Eastern Egyptian Bedawi Arabic"},{"code":"avm","name":"Angkamuthi"},{"code":"avn","name":"Avatime"},{"code":"avo","name":"Agavotaguerra"},{"code":"avs","name":"Aushiri"},{"code":"avt","name":"Au"},{"code":"avu","name":"Avokaya"},{"code":"avv","name":"Avá-Canoeiro"},{"code":"awa","name":"Awadhi"},{"code":"awb","name":"Awa (Papua New Guinea)"},{"code":"awc","name":"Cicipu"},{"code":"awe","name":"Awetí"},{"code":"awg","name":"Anguthimri"},{"code":"awh","name":"Awbono"},{"code":"awi","name":"Aekyom"},{"code":"awk","name":"Awabakal"},{"code":"awm","name":"Arawum"},{"code":"awn","name":"Awngi"},{"code":"awo","name":"Awak"},{"code":"awr","name":"Awera"},{"code":"aws","name":"South Awyu"},{"code":"awt","name":"Araweté"},{"code":"awu","name":"Central Awyu"},{"code":"awv","name":"Jair Awyu"},{"code":"aww","name":"Awun"},{"code":"awx","name":"Awara"},{"code":"awy","name":"Edera Awyu"},{"code":"axb","name":"Abipon"},{"code":"axe","name":"Ayerrerenge"},{"code":"axg","name":"Mato Grosso Arára"},{"code":"axk","name":"Yaka (Central African Republic)"},{"code":"axl","name":"Lower Southern Aranda"},{"code":"axm","name":"Middle Armenian"},{"code":"axx","name":"Xârâgurè"},{"code":"aya","name":"Awar"},{"code":"ayb","name":"Ayizo Gbe"},{"code":"ayc","name":"Southern Aymara"},{"code":"ayd","name":"Ayabadhu"},{"code":"aye","name":"Ayere"},{"code":"ayg","name":"Ginyanga"},{"code":"ayh","name":"Hadrami Arabic"},{"code":"ayi","name":"Leyigha"},{"code":"ayk","name":"Akuku"},{"code":"ayl","name":"Libyan Arabic"},{"code":"aym","name":"Aymara"},{"code":"ayn","name":"Sanaani Arabic"},{"code":"ayo","name":"Ayoreo"},{"code":"ayp","name":"North Mesopotamian Arabic"},{"code":"ayq","name":"Ayi (Papua New Guinea)"},{"code":"ayr","name":"Central Aymara"},{"code":"ays","name":"Sorsogon Ayta"},{"code":"ayt","name":"Magbukun Ayta"},{"code":"ayu","name":"Ayu"},{"code":"ayz","name":"Mai Brat"},{"code":"aza","name":"Azha"},{"code":"azb","name":"South Azerbaijani"},{"code":"azd","name":"Eastern Durango Nahuatl"},{"code":"aze","name":"Azerbaijani"},{"code":"azg","name":"San Pedro Amuzgos Amuzgo"},{"code":"azj","name":"North Azerbaijani"},{"code":"azm","name":"Ipalapa Amuzgo"},{"code":"azn","name":"Western Durango Nahuatl"},{"code":"azo","name":"Awing"},{"code":"azt","name":"Faire Atta"},{"code":"azz","name":"Highland Puebla Nahuatl"},{"code":"baa","name":"Babatana"},{"code":"bab","name":"Bainouk-Gunyuño"},{"code":"bac","name":"Badui"},{"code":"bae","name":"Baré"},{"code":"baf","name":"Nubaca"},{"code":"bag","name":"Tuki"},{"code":"bah","name":"Bahamas Creole English"},{"code":"baj","name":"Barakai"},{"code":"bak","name":"Bashkir"},{"code":"bal","name":"Baluchi"},{"code":"bam","name":"Bambara"},{"code":"ban","name":"Balinese"},{"code":"bao","name":"Waimaha"},{"code":"bap","name":"Bantawa"},{"code":"bar","name":"Bavarian"},{"code":"bas","name":"Basa (Cameroon)"},{"code":"bau","name":"Bada (Nigeria)"},{"code":"bav","name":"Vengo"},{"code":"baw","name":"Bambili-Bambui"},{"code":"bax","name":"Bamun"},{"code":"bay","name":"Batuley"},{"code":"bba","name":"Baatonum"},{"code":"bbb","name":"Barai"},{"code":"bbc","name":"Batak Toba"},{"code":"bbd","name":"Bau"},{"code":"bbe","name":"Bangba"},{"code":"bbf","name":"Baibai"},{"code":"bbg","name":"Barama"},{"code":"bbh","name":"Bugan"},{"code":"bbi","name":"Barombi"},{"code":"bbj","name":"Ghomálá'"},{"code":"bbk","name":"Babanki"},{"code":"bbl","name":"Bats"},{"code":"bbm","name":"Babango"},{"code":"bbn","name":"Uneapa"},{"code":"bbo","name":"Konabéré"},{"code":"bbp","name":"West Central Banda"},{"code":"bbq","name":"Bamali"},{"code":"bbr","name":"Girawa"},{"code":"bbs","name":"Bakpinka"},{"code":"bbt","name":"Mburku"},{"code":"bbu","name":"Kulung (Nigeria)"},{"code":"bbv","name":"Karnai"},{"code":"bbw","name":"Baba"},{"code":"bbx","name":"Bubia"},{"code":"bby","name":"Befang"},{"code":"bca","name":"Central Bai"},{"code":"bcb","name":"Bainouk-Samik"},{"code":"bcc","name":"Southern Balochi"},{"code":"bcd","name":"North Babar"},{"code":"bce","name":"Bamenyam"},{"code":"bcf","name":"Bamu"},{"code":"bcg","name":"Baga Pokur"},{"code":"bch","name":"Bariai"},{"code":"bci","name":"Baoulé"},{"code":"bcj","name":"Bardi"},{"code":"bck","name":"Bunuba"},{"code":"bcl","name":"Central Bikol"},{"code":"bcm","name":"Bannoni"},{"code":"bcn","name":"Bali (Nigeria)"},{"code":"bco","name":"Kaluli"},{"code":"bcp","name":"Bali (Democratic Republic of Congo)"},{"code":"bcq","name":"Bench"},{"code":"bcr","name":"Babine"},{"code":"bcs","name":"Kohumono"},{"code":"bct","name":"Bendi"},{"code":"bcu","name":"Awad Bing"},{"code":"bcv","name":"Shoo-Minda-Nye"},{"code":"bcw","name":"Bana"},{"code":"bcy","name":"Bacama"},{"code":"bcz","name":"Bainouk-Gunyaamolo"},{"code":"bda","name":"Bayot"},{"code":"bdb","name":"Basap"},{"code":"bdc","name":"Emberá-Baudó"},{"code":"bdd","name":"Bunama"},{"code":"bde","name":"Bade"},{"code":"bdf","name":"Biage"},{"code":"bdg","name":"Bonggi"},{"code":"bdh","name":"Baka (South Sudan)"},{"code":"bdi","name":"Burun"},{"code":"bdj","name":"Bai"},{"code":"bdk","name":"Budukh"},{"code":"bdl","name":"Indonesian Bajau"},{"code":"bdm","name":"Buduma"},{"code":"bdn","name":"Baldemu"},{"code":"bdo","name":"Morom"},{"code":"bdp","name":"Bende"},{"code":"bdq","name":"Bahnar"},{"code":"bdr","name":"West Coast Bajau"},{"code":"bds","name":"Burunge"},{"code":"bdt","name":"Bokoto"},{"code":"bdu","name":"Oroko"},{"code":"bdv","name":"Bodo Parja"},{"code":"bdw","name":"Baham"},{"code":"bdx","name":"Budong-Budong"},{"code":"bdy","name":"Bandjalang"},{"code":"bdz","name":"Badeshi"},{"code":"bea","name":"Beaver"},{"code":"beb","name":"Bebele"},{"code":"bec","name":"Iceve-Maci"},{"code":"bed","name":"Bedoanas"},{"code":"bee","name":"Byangsi"},{"code":"bef","name":"Benabena"},{"code":"beg","name":"Belait"},{"code":"beh","name":"Biali"},{"code":"bei","name":"Bekati'"},{"code":"bej","name":"Bedawiyet"},{"code":"bek","name":"Bebeli"},{"code":"bel","name":"Belarusian"},{"code":"bem","name":"Bemba (Zambia)"},{"code":"ben","name":"Bengali"},{"code":"beo","name":"Beami"},{"code":"bep","name":"Besoa"},{"code":"beq","name":"Beembe"},{"code":"bes","name":"Besme"},{"code":"bet","name":"Guiberoua Béte"},{"code":"beu","name":"Blagar"},{"code":"bev","name":"Daloa Bété"},{"code":"bew","name":"Betawi"},{"code":"bex","name":"Jur Modo"},{"code":"bey","name":"Beli (Papua New Guinea)"},{"code":"bez","name":"Bena (Tanzania)"},{"code":"bfa","name":"Bari"},{"code":"bfb","name":"Pauri Bareli"},{"code":"bfc","name":"Northern Bai"},{"code":"bfd","name":"Bafut"},{"code":"bfe","name":"Betaf"},{"code":"bff","name":"Bofi"},{"code":"bfg","name":"Busang Kayan"},{"code":"bfh","name":"Blafe"},{"code":"bfi","name":"British Sign Language"},{"code":"bfj","name":"Bafanji"},{"code":"bfk","name":"Ban Khor Sign Language"},{"code":"bfl","name":"Banda-Ndélé"},{"code":"bfm","name":"Mmen"},{"code":"bfn","name":"Bunak"},{"code":"bfo","name":"Malba Birifor"},{"code":"bfp","name":"Beba"},{"code":"bfq","name":"Badaga"},{"code":"bfr","name":"Bazigar"},{"code":"bfs","name":"Southern Bai"},{"code":"bft","name":"Balti"},{"code":"bfu","name":"Gahri"},{"code":"bfw","name":"Bondo"},{"code":"bfx","name":"Bantayanon"},{"code":"bfy","name":"Bagheli"},{"code":"bfz","name":"Mahasu Pahari"},{"code":"bga","name":"Gwamhi-Wuri"},{"code":"bgb","name":"Bobongko"},{"code":"bgc","name":"Haryanvi"},{"code":"bgd","name":"Rathwi Bareli"},{"code":"bge","name":"Bauria"},{"code":"bgf","name":"Bangandu"},{"code":"bgg","name":"Bugun"},{"code":"bgi","name":"Giangan"},{"code":"bgj","name":"Bangolan"},{"code":"bgk","name":"Bit"},{"code":"bgl","name":"Bo (Laos)"},{"code":"bgn","name":"Western Balochi"},{"code":"bgo","name":"Baga Koga"},{"code":"bgp","name":"Eastern Balochi"},{"code":"bgq","name":"Bagri"},{"code":"bgr","name":"Bawm Chin"},{"code":"bgs","name":"Tagabawa"},{"code":"bgt","name":"Bughotu"},{"code":"bgu","name":"Mbongno"},{"code":"bgv","name":"Warkay-Bipim"},{"code":"bgw","name":"Bhatri"},{"code":"bgx","name":"Balkan Gagauz Turkish"},{"code":"bgy","name":"Benggoi"},{"code":"bgz","name":"Banggai"},{"code":"bha","name":"Bharia"},{"code":"bhb","name":"Bhili"},{"code":"bhc","name":"Biga"},{"code":"bhd","name":"Bhadrawahi"},{"code":"bhe","name":"Bhaya"},{"code":"bhf","name":"Odiai"},{"code":"bhg","name":"Binandere"},{"code":"bhh","name":"Bukharic"},{"code":"bhi","name":"Bhilali"},{"code":"bhj","name":"Bahing"},{"code":"bhl","name":"Bimin"},{"code":"bhm","name":"Bathari"},{"code":"bhn","name":"Bohtan Neo-Aramaic"},{"code":"bho","name":"Bhojpuri"},{"code":"bhp","name":"Bima"},{"code":"bhq","name":"Tukang Besi South"},{"code":"bhr","name":"Bara Malagasy"},{"code":"bhs","name":"Buwal"},{"code":"bht","name":"Bhattiyali"},{"code":"bhu","name":"Bhunjia"},{"code":"bhv","name":"Bahau"},{"code":"bhw","name":"Biak"},{"code":"bhx","name":"Bhalay"},{"code":"bhy","name":"Bhele"},{"code":"bhz","name":"Bada (Indonesia)"},{"code":"bia","name":"Badimaya"},{"code":"bib","name":"Bisa"},{"code":"bid","name":"Bidiyo"},{"code":"bie","name":"Bepour"},{"code":"bif","name":"Biafada"},{"code":"big","name":"Biangai"},{"code":"bik","name":"Bikol"},{"code":"bil","name":"Bile"},{"code":"bim","name":"Bimoba"},{"code":"bin","name":"Bini"},{"code":"bio","name":"Nai"},{"code":"bip","name":"Bila"},{"code":"biq","name":"Bipi"},{"code":"bir","name":"Bisorio"},{"code":"bis","name":"Bislama"},{"code":"bit","name":"Berinomo"},{"code":"biu","name":"Biete"},{"code":"biv","name":"Southern Birifor"},{"code":"biw","name":"Kol (Cameroon)"},{"code":"bix","name":"Bijori"},{"code":"biy","name":"Birhor"},{"code":"biz","name":"Baloi"},{"code":"bja","name":"Budza"},{"code":"bjb","name":"Banggarla"},{"code":"bjc","name":"Bariji"},{"code":"bje","name":"Biao-Jiao Mien"},{"code":"bjf","name":"Barzani Jewish Neo-Aramaic"},{"code":"bjg","name":"Bidyogo"},{"code":"bjh","name":"Bahinemo"},{"code":"bji","name":"Burji"},{"code":"bjj","name":"Kanauji"},{"code":"bjk","name":"Barok"},{"code":"bjl","name":"Bulu (Papua New Guinea)"},{"code":"bjm","name":"Bajelani"},{"code":"bjn","name":"Banjar"},{"code":"bjo","name":"Mid-Southern Banda"},{"code":"bjp","name":"Fanamaket"},{"code":"bjr","name":"Binumarien"},{"code":"bjs","name":"Bajan"},{"code":"bjt","name":"Balanta-Ganja"},{"code":"bju","name":"Busuu"},{"code":"bjv","name":"Bedjond"},{"code":"bjw","name":"Bakwé"},{"code":"bjx","name":"Banao Itneg"},{"code":"bjy","name":"Bayali"},{"code":"bjz","name":"Baruga"},{"code":"bka","name":"Kyak"},{"code":"bkc","name":"Baka (Cameroon)"},{"code":"bkd","name":"Binukid"},{"code":"bkf","name":"Beeke"},{"code":"bkg","name":"Buraka"},{"code":"bkh","name":"Bakoko"},{"code":"bki","name":"Baki"},{"code":"bkj","name":"Pande"},{"code":"bkk","name":"Brokskat"},{"code":"bkl","name":"Berik"},{"code":"bkm","name":"Kom (Cameroon)"},{"code":"bkn","name":"Bukitan"},{"code":"bko","name":"Kwa'"},{"code":"bkp","name":"Boko (Democratic Republic of Congo)"},{"code":"bkq","name":"Bakairí"},{"code":"bkr","name":"Bakumpai"},{"code":"bks","name":"Northern Sorsoganon"},{"code":"bkt","name":"Boloki"},{"code":"bku","name":"Buhid"},{"code":"bkv","name":"Bekwarra"},{"code":"bkw","name":"Bekwel"},{"code":"bkx","name":"Baikeno"},{"code":"bky","name":"Bokyi"},{"code":"bkz","name":"Bungku"},{"code":"bla","name":"Siksika"},{"code":"blb","name":"Bilua"},{"code":"blc","name":"Bella Coola"},{"code":"bld","name":"Bolango"},{"code":"ble","name":"Balanta-Kentohe"},{"code":"blf","name":"Buol"},{"code":"blh","name":"Kuwaa"},{"code":"bli","name":"Bolia"},{"code":"blj","name":"Bolongan"},{"code":"blk","name":"Pa'O"},{"code":"bll","name":"Biloxi"},{"code":"blm","name":"Beli (South Sudan)"},{"code":"bln","name":"Southern Catanduanes Bikol"},{"code":"blo","name":"Anii"},{"code":"blp","name":"Blablanga"},{"code":"blq","name":"Baluan-Pam"},{"code":"blr","name":"Blang"},{"code":"bls","name":"Balaesang"},{"code":"blt","name":"Tai Dam"},{"code":"blv","name":"Bolo"},{"code":"blw","name":"Balangao"},{"code":"blx","name":"Mag-Indi Ayta"},{"code":"bly","name":"Notre"},{"code":"blz","name":"Balantak"},{"code":"bma","name":"Lame"},{"code":"bmb","name":"Bembe"},{"code":"bmc","name":"Biem"},{"code":"bmd","name":"Baga Manduri"},{"code":"bme","name":"Limassa"},{"code":"bmf","name":"Bom-Kim"},{"code":"bmg","name":"Bamwe"},{"code":"bmh","name":"Kein"},{"code":"bmi","name":"Bagirmi"},{"code":"bmj","name":"Bote-Majhi"},{"code":"bmk","name":"Ghayavi"},{"code":"bml","name":"Bomboli"},{"code":"bmm","name":"Northern Betsimisaraka Malagasy"},{"code":"bmn","name":"Bina (Papua New Guinea)"},{"code":"bmo","name":"Bambalang"},{"code":"bmp","name":"Bulgebi"},{"code":"bmq","name":"Bomu"},{"code":"bmr","name":"Muinane"},{"code":"bms","name":"Bilma Kanuri"},{"code":"bmt","name":"Biao Mon"},{"code":"bmu","name":"Somba-Siawari"},{"code":"bmv","name":"Bum"},{"code":"bmw","name":"Bomwali"},{"code":"bmx","name":"Baimak"},{"code":"bmz","name":"Baramu"},{"code":"bna","name":"Bonerate"},{"code":"bnb","name":"Bookan"},{"code":"bnc","name":"Bontok"},{"code":"bnd","name":"Banda (Indonesia)"},{"code":"bne","name":"Bintauna"},{"code":"bnf","name":"Masiwang"},{"code":"bng","name":"Benga"},{"code":"bni","name":"Bangi"},{"code":"bnj","name":"Eastern Tawbuid"},{"code":"bnk","name":"Bierebo"},{"code":"bnl","name":"Boon"},{"code":"bnm","name":"Batanga"},{"code":"bnn","name":"Bunun"},{"code":"bno","name":"Bantoanon"},{"code":"bnp","name":"Bola"},{"code":"bnq","name":"Bantik"},{"code":"bnr","name":"Butmas-Tur"},{"code":"bns","name":"Bundeli"},{"code":"bnu","name":"Bentong"},{"code":"bnv","name":"Beneraf"},{"code":"bnw","name":"Bisis"},{"code":"bnx","name":"Bangubangu"},{"code":"bny","name":"Bintulu"},{"code":"bnz","name":"Beezen"},{"code":"boa","name":"Bora"},{"code":"bob","name":"Aweer"},{"code":"bod","name":"Tibetan"},{"code":"boe","name":"Mundabli"},{"code":"bof","name":"Bolon"},{"code":"bog","name":"Bamako Sign Language"},{"code":"boh","name":"Boma"},{"code":"boi","name":"Barbareño"},{"code":"boj","name":"Anjam"},{"code":"bok","name":"Bonjo"},{"code":"bol","name":"Bole"},{"code":"bom","name":"Berom"},{"code":"bon","name":"Bine"},{"code":"boo","name":"Tiemacèwè Bozo"},{"code":"bop","name":"Bonkiman"},{"code":"boq","name":"Bogaya"},{"code":"bor","name":"Borôro"},{"code":"bos","name":"Bosnian"},{"code":"bot","name":"Bongo"},{"code":"bou","name":"Bondei"},{"code":"bov","name":"Tuwuli"},{"code":"bow","name":"Rema"},{"code":"box","name":"Buamu"},{"code":"boy","name":"Bodo (Central African Republic)"},{"code":"boz","name":"Tiéyaxo Bozo"},{"code":"bpa","name":"Daakaka"},{"code":"bpd","name":"Banda-Banda"},{"code":"bpe","name":"Bauni"},{"code":"bpg","name":"Bonggo"},{"code":"bph","name":"Botlikh"},{"code":"bpi","name":"Bagupi"},{"code":"bpj","name":"Binji"},{"code":"bpk","name":"'Ôrôê"},{"code":"bpl","name":"Broome Pearling Lugger Pidgin"},{"code":"bpm","name":"Biyom"},{"code":"bpn","name":"Dzao Min"},{"code":"bpo","name":"Anasi"},{"code":"bpp","name":"Kaure"},{"code":"bpq","name":"Banda Malay"},{"code":"bpr","name":"Koronadal Blaan"},{"code":"bps","name":"Sarangani Blaan"},{"code":"bpt","name":"Barrow Point"},{"code":"bpu","name":"Bongu"},{"code":"bpv","name":"Bian Marind"},{"code":"bpw","name":"Bo (Papua New Guinea)"},{"code":"bpx","name":"Palya Bareli"},{"code":"bpy","name":"Bishnupriya"},{"code":"bpz","name":"Bilba"},{"code":"bqa","name":"Tchumbuli"},{"code":"bqb","name":"Bagusa"},{"code":"bqc","name":"Boko (Benin)"},{"code":"bqd","name":"Bung"},{"code":"bqf","name":"Baga Kaloum"},{"code":"bqg","name":"Bago-Kusuntu"},{"code":"bqh","name":"Baima"},{"code":"bqi","name":"Bakhtiari"},{"code":"bqj","name":"Bandial"},{"code":"bqk","name":"Banda-Mbrès"},{"code":"bql","name":"Bilakura"},{"code":"bqm","name":"Wumboko"},{"code":"bqn","name":"Bulgarian Sign Language"},{"code":"bqo","name":"Balo"},{"code":"bqp","name":"Busa"},{"code":"bqq","name":"Biritai"},{"code":"bqr","name":"Burusu"},{"code":"bqs","name":"Bosngun"},{"code":"bqt","name":"Bamukumbit"},{"code":"bqu","name":"Boguru"},{"code":"bqv","name":"Begbere-Ejar"},{"code":"bqw","name":"Buru (Nigeria)"},{"code":"bqx","name":"Baangi"},{"code":"bqy","name":"Bengkala Sign Language"},{"code":"bqz","name":"Bakaka"},{"code":"bra","name":"Braj"},{"code":"brb","name":"Lave"},{"code":"brc","name":"Berbice Creole Dutch"},{"code":"brd","name":"Baraamu"},{"code":"bre","name":"Breton"},{"code":"brf","name":"Bira"},{"code":"brg","name":"Baure"},{"code":"brh","name":"Brahui"},{"code":"bri","name":"Mokpwe"},{"code":"brj","name":"Bieria"},{"code":"brk","name":"Birked"},{"code":"brl","name":"Birwa"},{"code":"brm","name":"Barambu"},{"code":"brn","name":"Boruca"},{"code":"bro","name":"Brokkat"},{"code":"brp","name":"Barapasi"},{"code":"brq","name":"Breri"},{"code":"brr","name":"Birao"},{"code":"brs","name":"Baras"},{"code":"brt","name":"Bitare"},{"code":"bru","name":"Eastern Bru"},{"code":"brv","name":"Western Bru"},{"code":"brw","name":"Bellari"},{"code":"brx","name":"Bodo (India)"},{"code":"bry","name":"Burui"},{"code":"brz","name":"Bilbil"},{"code":"bsa","name":"Abinomn"},{"code":"bsb","name":"Brunei Bisaya"},{"code":"bsc","name":"Bassari"},{"code":"bse","name":"Wushi"},{"code":"bsf","name":"Bauchi"},{"code":"bsg","name":"Bashkardi"},{"code":"bsh","name":"Kati"},{"code":"bsi","name":"Bassossi"},{"code":"bsj","name":"Bangwinji"},{"code":"bsk","name":"Burushaski"},{"code":"bsl","name":"Basa-Gumna"},{"code":"bsm","name":"Busami"},{"code":"bsn","name":"Barasana-Eduria"},{"code":"bso","name":"Buso"},{"code":"bsp","name":"Baga Sitemu"},{"code":"bsq","name":"Bassa"},{"code":"bsr","name":"Bassa-Kontagora"},{"code":"bss","name":"Akoose"},{"code":"bst","name":"Basketo"},{"code":"bsu","name":"Bahonsuai"},{"code":"bsv","name":"Baga Sobané"},{"code":"bsw","name":"Baiso"},{"code":"bsx","name":"Yangkam"},{"code":"bsy","name":"Sabah Bisaya"},{"code":"bta","name":"Bata"},{"code":"btc","name":"Bati (Cameroon)"},{"code":"btd","name":"Batak Dairi"},{"code":"bte","name":"Gamo-Ningi"},{"code":"btf","name":"Birgit"},{"code":"btg","name":"Gagnoa Bété"},{"code":"bth","name":"Biatah Bidayuh"},{"code":"bti","name":"Burate"},{"code":"btj","name":"Bacanese Malay"},{"code":"btm","name":"Batak Mandailing"},{"code":"btn","name":"Ratagnon"},{"code":"bto","name":"Rinconada Bikol"},{"code":"btp","name":"Budibud"},{"code":"btq","name":"Batek"},{"code":"btr","name":"Baetora"},{"code":"bts","name":"Batak Simalungun"},{"code":"btt","name":"Bete-Bendi"},{"code":"btu","name":"Batu"},{"code":"btv","name":"Bateri"},{"code":"btw","name":"Butuanon"},{"code":"btx","name":"Batak Karo"},{"code":"bty","name":"Bobot"},{"code":"btz","name":"Batak Alas-Kluet"},{"code":"bua","name":"Buriat"},{"code":"bub","name":"Bua"},{"code":"buc","name":"Bushi"},{"code":"bud","name":"Ntcham"},{"code":"bue","name":"Beothuk"},{"code":"buf","name":"Bushoong"},{"code":"bug","name":"Buginese"},{"code":"buh","name":"Younuo Bunu"},{"code":"bui","name":"Bongili"},{"code":"buj","name":"Basa-Gurmana"},{"code":"buk","name":"Bugawac"},{"code":"bul","name":"Bulgarian"},{"code":"bum","name":"Bulu (Cameroon)"},{"code":"bun","name":"Sherbro"},{"code":"buo","name":"Terei"},{"code":"bup","name":"Busoa"},{"code":"buq","name":"Brem"},{"code":"bus","name":"Bokobaru"},{"code":"but","name":"Bungain"},{"code":"buu","name":"Budu"},{"code":"buv","name":"Bun"},{"code":"buw","name":"Bubi"},{"code":"bux","name":"Boghom"},{"code":"buy","name":"Bullom So"},{"code":"buz","name":"Bukwen"},{"code":"bva","name":"Barein"},{"code":"bvb","name":"Bube"},{"code":"bvc","name":"Baelelea"},{"code":"bvd","name":"Baeggu"},{"code":"bve","name":"Berau Malay"},{"code":"bvf","name":"Boor"},{"code":"bvg","name":"Bonkeng"},{"code":"bvh","name":"Bure"},{"code":"bvi","name":"Belanda Viri"},{"code":"bvj","name":"Baan"},{"code":"bvk","name":"Bukat"},{"code":"bvl","name":"Bolivian Sign Language"},{"code":"bvm","name":"Bamunka"},{"code":"bvn","name":"Buna"},{"code":"bvo","name":"Bolgo"},{"code":"bvp","name":"Bumang"},{"code":"bvq","name":"Birri"},{"code":"bvr","name":"Burarra"},{"code":"bvt","name":"Bati (Indonesia)"},{"code":"bvu","name":"Bukit Malay"},{"code":"bvv","name":"Baniva"},{"code":"bvw","name":"Boga"},{"code":"bvx","name":"Dibole"},{"code":"bvy","name":"Baybayanon"},{"code":"bvz","name":"Bauzi"},{"code":"bwa","name":"Bwatoo"},{"code":"bwb","name":"Namosi-Naitasiri-Serua"},{"code":"bwc","name":"Bwile"},{"code":"bwd","name":"Bwaidoka"},{"code":"bwe","name":"Bwe Karen"},{"code":"bwf","name":"Boselewa"},{"code":"bwg","name":"Barwe"},{"code":"bwh","name":"Bishuo"},{"code":"bwi","name":"Baniwa"},{"code":"bwj","name":"Láá Láá Bwamu"},{"code":"bwk","name":"Bauwaki"},{"code":"bwl","name":"Bwela"},{"code":"bwm","name":"Biwat"},{"code":"bwn","name":"Wunai Bunu"},{"code":"bwo","name":"Borna (Ethiopia)"},{"code":"bwp","name":"Mandobo Bawah"},{"code":"bwq","name":"Southern Bobo Madaré"},{"code":"bwr","name":"Bura-Pabir"},{"code":"bws","name":"Bomboma"},{"code":"bwt","name":"Bafaw-Balong"},{"code":"bwu","name":"Buli (Ghana)"},{"code":"bww","name":"Bwa"},{"code":"bwx","name":"Bu-Nao Bunu"},{"code":"bwy","name":"Cwi Bwamu"},{"code":"bwz","name":"Bwisi"},{"code":"bxa","name":"Tairaha"},{"code":"bxb","name":"Belanda Bor"},{"code":"bxc","name":"Molengue"},{"code":"bxd","name":"Pela"},{"code":"bxe","name":"Birale"},{"code":"bxf","name":"Bilur"},{"code":"bxg","name":"Bangala"},{"code":"bxh","name":"Buhutu"},{"code":"bxi","name":"Pirlatapa"},{"code":"bxj","name":"Bayungu"},{"code":"bxk","name":"Bukusu"},{"code":"bxl","name":"Jalkunan"},{"code":"bxm","name":"Mongolia Buriat"},{"code":"bxn","name":"Burduna"},{"code":"bxo","name":"Barikanchi"},{"code":"bxp","name":"Bebil"},{"code":"bxq","name":"Beele"},{"code":"bxr","name":"Russia Buriat"},{"code":"bxs","name":"Busam"},{"code":"bxu","name":"China Buriat"},{"code":"bxv","name":"Berakou"},{"code":"bxw","name":"Bankagooma"},{"code":"bxz","name":"Binahari"},{"code":"bya","name":"Batak"},{"code":"byb","name":"Bikya"},{"code":"byc","name":"Ubaghara"},{"code":"byd","name":"Benyadu'"},{"code":"bye","name":"Pouye"},{"code":"byf","name":"Bete"},{"code":"byg","name":"Baygo"},{"code":"byh","name":"Bhujel"},{"code":"byi","name":"Buyu"},{"code":"byj","name":"Bina (Nigeria)"},{"code":"byk","name":"Biao"},{"code":"byl","name":"Bayono"},{"code":"bym","name":"Bidjara"},{"code":"byn","name":"Bilin"},{"code":"byo","name":"Biyo"},{"code":"byp","name":"Bumaji"},{"code":"byq","name":"Basay"},{"code":"byr","name":"Baruya"},{"code":"bys","name":"Burak"},{"code":"byt","name":"Berti"},{"code":"byv","name":"Medumba"},{"code":"byw","name":"Belhariya"},{"code":"byx","name":"Qaqet"},{"code":"byz","name":"Banaro"},{"code":"bza","name":"Bandi"},{"code":"bzb","name":"Andio"},{"code":"bzc","name":"Southern Betsimisaraka Malagasy"},{"code":"bzd","name":"Bribri"},{"code":"bze","name":"Jenaama Bozo"},{"code":"bzf","name":"Boikin"},{"code":"bzg","name":"Babuza"},{"code":"bzh","name":"Mapos Buang"},{"code":"bzi","name":"Bisu"},{"code":"bzj","name":"Belize Kriol English"},{"code":"bzk","name":"Nicaragua Creole English"},{"code":"bzl","name":"Boano (Sulawesi)"},{"code":"bzm","name":"Bolondo"},{"code":"bzn","name":"Boano (Maluku)"},{"code":"bzo","name":"Bozaba"},{"code":"bzp","name":"Kemberano"},{"code":"bzq","name":"Buli (Indonesia)"},{"code":"bzr","name":"Biri"},{"code":"bzs","name":"Brazilian Sign Language"},{"code":"bzt","name":"Brithenig"},{"code":"bzu","name":"Burmeso"},{"code":"bzv","name":"Naami"},{"code":"bzw","name":"Basa (Nigeria)"},{"code":"bzx","name":"Kɛlɛngaxo Bozo"},{"code":"bzy","name":"Obanliku"},{"code":"bzz","name":"Evant"},{"code":"caa","name":"Chortí"},{"code":"cab","name":"Garifuna"},{"code":"cac","name":"Chuj"},{"code":"cad","name":"Caddo"},{"code":"cae","name":"Laalaa"},{"code":"caf","name":"Southern Carrier"},{"code":"cag","name":"Nivaclé"},{"code":"cah","name":"Cahuarano"},{"code":"caj","name":"Chané"},{"code":"cak","name":"Cakchiquel"},{"code":"cal","name":"Carolinian"},{"code":"cam","name":"Cemuhî"},{"code":"can","name":"Chambri"},{"code":"cao","name":"Chácobo"},{"code":"cap","name":"Chipaya"},{"code":"caq","name":"Car Nicobarese"},{"code":"car","name":"Galibi Carib"},{"code":"cas","name":"Tsimané"},{"code":"cat","name":"Catalan"},{"code":"cav","name":"Cavineña"},{"code":"caw","name":"Callawalla"},{"code":"cax","name":"Chiquitano"},{"code":"cay","name":"Cayuga"},{"code":"caz","name":"Canichana"},{"code":"cbb","name":"Cabiyarí"},{"code":"cbc","name":"Carapana"},{"code":"cbd","name":"Carijona"},{"code":"cbg","name":"Chimila"},{"code":"cbi","name":"Chachi"},{"code":"cbj","name":"Ede Cabe"},{"code":"cbk","name":"Chavacano"},{"code":"cbl","name":"Bualkhaw Chin"},{"code":"cbn","name":"Nyahkur"},{"code":"cbo","name":"Izora"},{"code":"cbq","name":"Cuba"},{"code":"cbr","name":"Cashibo-Cacataibo"},{"code":"cbs","name":"Cashinahua"},{"code":"cbt","name":"Chayahuita"},{"code":"cbu","name":"Candoshi-Shapra"},{"code":"cbv","name":"Cacua"},{"code":"cbw","name":"Kinabalian"},{"code":"cby","name":"Carabayo"},{"code":"ccc","name":"Chamicuro"},{"code":"ccd","name":"Cafundo Creole"},{"code":"cce","name":"Chopi"},{"code":"ccg","name":"Samba Daka"},{"code":"cch","name":"Atsam"},{"code":"ccj","name":"Kasanga"},{"code":"ccl","name":"Cutchi-Swahili"},{"code":"ccm","name":"Malaccan Creole Malay"},{"code":"cco","name":"Comaltepec Chinantec"},{"code":"ccp","name":"Chakma"},{"code":"ccr","name":"Cacaopera"},{"code":"cda","name":"Choni"},{"code":"cde","name":"Chenchu"},{"code":"cdf","name":"Chiru"},{"code":"cdh","name":"Chambeali"},{"code":"cdi","name":"Chodri"},{"code":"cdj","name":"Churahi"},{"code":"cdm","name":"Chepang"},{"code":"cdn","name":"Chaudangsi"},{"code":"cdo","name":"Min Dong Chinese"},{"code":"cdr","name":"Cinda-Regi-Tiyal"},{"code":"cds","name":"Chadian Sign Language"},{"code":"cdy","name":"Chadong"},{"code":"cdz","name":"Koda"},{"code":"cea","name":"Lower Chehalis"},{"code":"ceb","name":"Cebuano"},{"code":"ceg","name":"Chamacoco"},{"code":"cek","name":"Eastern Khumi Chin"},{"code":"cen","name":"Cen"},{"code":"ces","name":"Czech"},{"code":"cet","name":"Centúúm"},{"code":"cey","name":"Ekai Chin"},{"code":"cfa","name":"Dijim-Bwilim"},{"code":"cfd","name":"Cara"},{"code":"cfg","name":"Como Karim"},{"code":"cfm","name":"Falam Chin"},{"code":"cga","name":"Changriwa"},{"code":"cgc","name":"Kagayanen"},{"code":"cgg","name":"Chiga"},{"code":"cgk","name":"Chocangacakha"},{"code":"cha","name":"Chamorro"},{"code":"chb","name":"Chibcha"},{"code":"chc","name":"Catawba"},{"code":"chd","name":"Highland Oaxaca Chontal"},{"code":"che","name":"Chechen"},{"code":"chf","name":"Tabasco Chontal"},{"code":"chg","name":"Chagatai"},{"code":"chh","name":"Chinook"},{"code":"chj","name":"Ojitlán Chinantec"},{"code":"chk","name":"Chuukese"},{"code":"chl","name":"Cahuilla"},{"code":"chm","name":"Mari (Russia)"},{"code":"chn","name":"Chinook jargon"},{"code":"cho","name":"Choctaw"},{"code":"chp","name":"Chipewyan"},{"code":"chq","name":"Quiotepec Chinantec"},{"code":"chr","name":"Cherokee"},{"code":"cht","name":"Cholón"},{"code":"chu","name":"Church Slavic"},{"code":"chv","name":"Chuvash"},{"code":"chw","name":"Chuwabu"},{"code":"chx","name":"Chantyal"},{"code":"chy","name":"Cheyenne"},{"code":"chz","name":"Ozumacín Chinantec"},{"code":"cia","name":"Cia-Cia"},{"code":"cib","name":"Ci Gbe"},{"code":"cic","name":"Chickasaw"},{"code":"cid","name":"Chimariko"},{"code":"cie","name":"Cineni"},{"code":"cih","name":"Chinali"},{"code":"cik","name":"Chitkuli Kinnauri"},{"code":"cim","name":"Cimbrian"},{"code":"cin","name":"Cinta Larga"},{"code":"cip","name":"Chiapanec"},{"code":"cir","name":"Haméa"},{"code":"ciw","name":"Chippewa"},{"code":"ciy","name":"Chaima"},{"code":"cja","name":"Western Cham"},{"code":"cje","name":"Chru"},{"code":"cjh","name":"Upper Chehalis"},{"code":"cji","name":"Chamalal"},{"code":"cjk","name":"Chokwe"},{"code":"cjm","name":"Eastern Cham"},{"code":"cjn","name":"Chenapian"},{"code":"cjo","name":"Ashéninka Pajonal"},{"code":"cjp","name":"Cabécar"},{"code":"cjs","name":"Shor"},{"code":"cjv","name":"Chuave"},{"code":"cjy","name":"Jinyu Chinese"},{"code":"ckb","name":"Central Kurdish"},{"code":"ckh","name":"Chak"},{"code":"ckl","name":"Cibak"},{"code":"ckm","name":"Chakavian"},{"code":"ckn","name":"Kaang Chin"},{"code":"cko","name":"Anufo"},{"code":"ckq","name":"Kajakse"},{"code":"ckr","name":"Kairak"},{"code":"cks","name":"Tayo"},{"code":"ckt","name":"Chukot"},{"code":"cku","name":"Koasati"},{"code":"ckv","name":"Kavalan"},{"code":"ckx","name":"Caka"},{"code":"cky","name":"Cakfem-Mushere"},{"code":"ckz","name":"Cakchiquel-Quiché Mixed Language"},{"code":"cla","name":"Ron"},{"code":"clc","name":"Chilcotin"},{"code":"cld","name":"Chaldean Neo-Aramaic"},{"code":"cle","name":"Lealao Chinantec"},{"code":"clh","name":"Chilisso"},{"code":"cli","name":"Chakali"},{"code":"clj","name":"Laitu Chin"},{"code":"clk","name":"Idu-Mishmi"},{"code":"cll","name":"Chala"},{"code":"clm","name":"Clallam"},{"code":"clo","name":"Lowland Oaxaca Chontal"},{"code":"clt","name":"Lautu Chin"},{"code":"clu","name":"Caluyanun"},{"code":"clw","name":"Chulym"},{"code":"cly","name":"Eastern Highland Chatino"},{"code":"cma","name":"Maa"},{"code":"cme","name":"Cerma"},{"code":"cmg","name":"Classical Mongolian"},{"code":"cmi","name":"Emberá-Chamí"},{"code":"cml","name":"Campalagian"},{"code":"cmm","name":"Michigamea"},{"code":"cmn","name":"Mandarin Chinese"},{"code":"cmo","name":"Central Mnong"},{"code":"cmr","name":"Mro-Khimi Chin"},{"code":"cms","name":"Messapic"},{"code":"cmt","name":"Camtho"},{"code":"cna","name":"Changthang"},{"code":"cnb","name":"Chinbon Chin"},{"code":"cnc","name":"Côông"},{"code":"cng","name":"Northern Qiang"},{"code":"cnh","name":"Haka Chin"},{"code":"cni","name":"Asháninka"},{"code":"cnk","name":"Khumi Chin"},{"code":"cnl","name":"Lalana Chinantec"},{"code":"cno","name":"Con"},{"code":"cnp","name":"Northern Ping Chinese"},{"code":"cnr","name":"Montenegrin"},{"code":"cns","name":"Central Asmat"},{"code":"cnt","name":"Tepetotutla Chinantec"},{"code":"cnu","name":"Chenoua"},{"code":"cnw","name":"Ngawn Chin"},{"code":"cnx","name":"Middle Cornish"},{"code":"coa","name":"Cocos Islands Malay"},{"code":"cob","name":"Chicomuceltec"},{"code":"coc","name":"Cocopa"},{"code":"cod","name":"Cocama-Cocamilla"},{"code":"coe","name":"Koreguaje"},{"code":"cof","name":"Colorado"},{"code":"cog","name":"Chong"},{"code":"coh","name":"Chichonyi-Chidzihana-Chikauma"},{"code":"coj","name":"Cochimi"},{"code":"cok","name":"Santa Teresa Cora"},{"code":"col","name":"Columbia-Wenatchi"},{"code":"com","name":"Comanche"},{"code":"con","name":"Cofán"},{"code":"coo","name":"Comox"},{"code":"cop","name":"Coptic"},{"code":"coq","name":"Coquille"},{"code":"cor","name":"Cornish"},{"code":"cos","name":"Corsican"},{"code":"cot","name":"Caquinte"},{"code":"cou","name":"Wamey"},{"code":"cov","name":"Cao Miao"},{"code":"cow","name":"Cowlitz"},{"code":"cox","name":"Nanti"},{"code":"coz","name":"Chochotec"},{"code":"cpa","name":"Palantla Chinantec"},{"code":"cpb","name":"Ucayali-Yurúa Ashéninka"},{"code":"cpc","name":"Ajyíninka Apurucayali"},{"code":"cpg","name":"Cappadocian Greek"},{"code":"cpi","name":"Chinese Pidgin English"},{"code":"cpn","name":"Cherepon"},{"code":"cpo","name":"Kpeego"},{"code":"cps","name":"Capiznon"},{"code":"cpu","name":"Pichis Ashéninka"},{"code":"cpx","name":"Pu-Xian Chinese"},{"code":"cpy","name":"South Ucayali Ashéninka"},{"code":"cqd","name":"Chuanqiandian Cluster Miao"},{"code":"cra","name":"Chara"},{"code":"crb","name":"Island Carib"},{"code":"crc","name":"Lonwolwol"},{"code":"crd","name":"Coeur d'Alene"},{"code":"cre","name":"Cree"},{"code":"crf","name":"Caramanta"},{"code":"crg","name":"Michif"},{"code":"crh","name":"Crimean Tatar"},{"code":"cri","name":"Sãotomense"},{"code":"crj","name":"Southern East Cree"},{"code":"crk","name":"Plains Cree"},{"code":"crl","name":"Northern East Cree"},{"code":"crm","name":"Moose Cree"},{"code":"crn","name":"El Nayar Cora"},{"code":"cro","name":"Crow"},{"code":"crq","name":"Iyo'wujwa Chorote"},{"code":"crr","name":"Carolina Algonquian"},{"code":"crs","name":"Seselwa Creole French"},{"code":"crt","name":"Iyojwa'ja Chorote"},{"code":"crv","name":"Chaura"},{"code":"crw","name":"Chrau"},{"code":"crx","name":"Carrier"},{"code":"cry","name":"Cori"},{"code":"crz","name":"Cruzeño"},{"code":"csa","name":"Chiltepec Chinantec"},{"code":"csb","name":"Kashubian"},{"code":"csc","name":"Catalan Sign Language"},{"code":"csd","name":"Chiangmai Sign Language"},{"code":"cse","name":"Czech Sign Language"},{"code":"csf","name":"Cuba Sign Language"},{"code":"csg","name":"Chilean Sign Language"},{"code":"csh","name":"Asho Chin"},{"code":"csi","name":"Coast Miwok"},{"code":"csj","name":"Songlai Chin"},{"code":"csk","name":"Jola-Kasa"},{"code":"csl","name":"Chinese Sign Language"},{"code":"csm","name":"Central Sierra Miwok"},{"code":"csn","name":"Colombian Sign Language"},{"code":"cso","name":"Sochiapam Chinantec"},{"code":"csp","name":"Southern Ping Chinese"},{"code":"csq","name":"Croatia Sign Language"},{"code":"csr","name":"Costa Rican Sign Language"},{"code":"css","name":"Southern Ohlone"},{"code":"cst","name":"Northern Ohlone"},{"code":"csv","name":"Sumtu Chin"},{"code":"csw","name":"Swampy Cree"},{"code":"csx","name":"Cambodian Sign Language"},{"code":"csy","name":"Siyin Chin"},{"code":"csz","name":"Coos"},{"code":"cta","name":"Tataltepec Chatino"},{"code":"ctc","name":"Chetco"},{"code":"ctd","name":"Tedim Chin"},{"code":"cte","name":"Tepinapa Chinantec"},{"code":"ctg","name":"Chittagonian"},{"code":"cth","name":"Thaiphum Chin"},{"code":"ctl","name":"Tlacoatzintepec Chinantec"},{"code":"ctm","name":"Chitimacha"},{"code":"ctn","name":"Chhintange"},{"code":"cto","name":"Emberá-Catío"},{"code":"ctp","name":"Western Highland Chatino"},{"code":"cts","name":"Northern Catanduanes Bikol"},{"code":"ctt","name":"Wayanad Chetti"},{"code":"ctu","name":"Chol"},{"code":"cty","name":"Moundadan Chetty"},{"code":"ctz","name":"Zacatepec Chatino"},{"code":"cua","name":"Cua"},{"code":"cub","name":"Cubeo"},{"code":"cuc","name":"Usila Chinantec"},{"code":"cug","name":"Chungmboko"},{"code":"cuh","name":"Chuka"},{"code":"cui","name":"Cuiba"},{"code":"cuj","name":"Mashco Piro"},{"code":"cuk","name":"San Blas Kuna"},{"code":"cul","name":"Culina"},{"code":"cuo","name":"Cumanagoto"},{"code":"cup","name":"Cupeño"},{"code":"cuq","name":"Cun"},{"code":"cur","name":"Chhulung"},{"code":"cut","name":"Teutila Cuicatec"},{"code":"cuu","name":"Tai Ya"},{"code":"cuv","name":"Cuvok"},{"code":"cuw","name":"Chukwa"},{"code":"cux","name":"Tepeuxila Cuicatec"},{"code":"cuy","name":"Cuitlatec"},{"code":"cvg","name":"Chug"},{"code":"cvn","name":"Valle Nacional Chinantec"},{"code":"cwa","name":"Kabwa"},{"code":"cwb","name":"Maindo"},{"code":"cwd","name":"Woods Cree"},{"code":"cwe","name":"Kwere"},{"code":"cwg","name":"Cheq Wong"},{"code":"cwt","name":"Kuwaataay"},{"code":"cya","name":"Nopala Chatino"},{"code":"cyb","name":"Cayubaba"},{"code":"cym","name":"Welsh"},{"code":"cyo","name":"Cuyonon"},{"code":"czh","name":"Huizhou Chinese"},{"code":"czk","name":"Knaanic"},{"code":"czn","name":"Zenzontepec Chatino"},{"code":"czo","name":"Min Zhong Chinese"},{"code":"czt","name":"Zotung Chin"},{"code":"daa","name":"Dangaléat"},{"code":"dac","name":"Dambi"},{"code":"dad","name":"Marik"},{"code":"dae","name":"Duupa"},{"code":"dag","name":"Dagbani"},{"code":"dah","name":"Gwahatike"},{"code":"dai","name":"Day"},{"code":"daj","name":"Dar Fur Daju"},{"code":"dak","name":"Dakota"},{"code":"dal","name":"Dahalo"},{"code":"dam","name":"Damakawa"},{"code":"dan","name":"Danish"},{"code":"dao","name":"Daai Chin"},{"code":"daq","name":"Dandami Maria"},{"code":"dar","name":"Dargwa"},{"code":"das","name":"Daho-Doo"},{"code":"dau","name":"Dar Sila Daju"},{"code":"dav","name":"Dawida"},{"code":"daw","name":"Davawenyo"},{"code":"dax","name":"Dayi"},{"code":"daz","name":"Dao"},{"code":"dba","name":"Bangime"},{"code":"dbb","name":"Deno"},{"code":"dbd","name":"Dadiya"},{"code":"dbe","name":"Dabe"},{"code":"dbf","name":"Edopi"},{"code":"dbg","name":"Dogul Dom Dogon"},{"code":"dbi","name":"Doka"},{"code":"dbj","name":"Ida'an"},{"code":"dbl","name":"Dyirbal"},{"code":"dbm","name":"Duguri"},{"code":"dbn","name":"Duriankere"},{"code":"dbo","name":"Dulbu"},{"code":"dbp","name":"Duwai"},{"code":"dbq","name":"Daba"},{"code":"dbr","name":"Dabarre"},{"code":"dbt","name":"Ben Tey Dogon"},{"code":"dbu","name":"Bondum Dom Dogon"},{"code":"dbv","name":"Dungu"},{"code":"dbw","name":"Bankan Tey Dogon"},{"code":"dby","name":"Dibiyaso"},{"code":"dcc","name":"Deccan"},{"code":"dcr","name":"Negerhollands"},{"code":"dda","name":"Dadi Dadi"},{"code":"ddd","name":"Dongotono"},{"code":"dde","name":"Doondo"},{"code":"ddg","name":"Fataluku"},{"code":"ddi","name":"West Goodenough"},{"code":"ddj","name":"Jaru"},{"code":"ddn","name":"Dendi (Benin)"},{"code":"ddo","name":"Dido"},{"code":"ddr","name":"Dhudhuroa"},{"code":"dds","name":"Donno So Dogon"},{"code":"ddw","name":"Dawera-Daweloor"},{"code":"dec","name":"Dagik"},{"code":"ded","name":"Dedua"},{"code":"dee","name":"Dewoin"},{"code":"def","name":"Dezfuli"},{"code":"deg","name":"Degema"},{"code":"deh","name":"Dehwari"},{"code":"dei","name":"Demisa"},{"code":"dek","name":"Dek"},{"code":"del","name":"Delaware"},{"code":"dem","name":"Dem"},{"code":"den","name":"Slave (Athapascan)"},{"code":"dep","name":"Pidgin Delaware"},{"code":"deq","name":"Dendi (Central African Republic)"},{"code":"der","name":"Deori"},{"code":"des","name":"Desano"},{"code":"deu","name":"German"},{"code":"dev","name":"Domung"},{"code":"dez","name":"Dengese"},{"code":"dga","name":"Southern Dagaare"},{"code":"dgb","name":"Bunoge Dogon"},{"code":"dgc","name":"Casiguran Dumagat Agta"},{"code":"dgd","name":"Dagaari Dioula"},{"code":"dge","name":"Degenan"},{"code":"dgg","name":"Doga"},{"code":"dgh","name":"Dghwede"},{"code":"dgi","name":"Northern Dagara"},{"code":"dgk","name":"Dagba"},{"code":"dgl","name":"Andaandi"},{"code":"dgn","name":"Dagoman"},{"code":"dgo","name":"Dogri (individual language)"},{"code":"dgr","name":"Dogrib"},{"code":"dgs","name":"Dogoso"},{"code":"dgt","name":"Ndra'ngith"},{"code":"dgw","name":"Daungwurrung"},{"code":"dgx","name":"Doghoro"},{"code":"dgz","name":"Daga"},{"code":"dhd","name":"Dhundari"},{"code":"dhg","name":"Dhangu"},{"code":"dhi","name":"Dhimal"},{"code":"dhl","name":"Dhalandji"},{"code":"dhm","name":"Zemba"},{"code":"dhn","name":"Dhanki"},{"code":"dho","name":"Dhodia"},{"code":"dhr","name":"Dhargari"},{"code":"dhs","name":"Dhaiso"},{"code":"dhu","name":"Dhurga"},{"code":"dhv","name":"Dehu"},{"code":"dhw","name":"Dhanwar (Nepal)"},{"code":"dhx","name":"Dhungaloo"},{"code":"dia","name":"Dia"},{"code":"dib","name":"South Central Dinka"},{"code":"dic","name":"Lakota Dida"},{"code":"did","name":"Didinga"},{"code":"dif","name":"Dieri"},{"code":"dig","name":"Chidigo"},{"code":"dih","name":"Kumiai"},{"code":"dii","name":"Dimbong"},{"code":"dij","name":"Dai"},{"code":"dik","name":"Southwestern Dinka"},{"code":"dil","name":"Dilling"},{"code":"dim","name":"Dime"},{"code":"din","name":"Dinka"},{"code":"dio","name":"Dibo"},{"code":"dip","name":"Northeastern Dinka"},{"code":"diq","name":"Dimli (individual language)"},{"code":"dir","name":"Dirim"},{"code":"dis","name":"Dimasa"},{"code":"diu","name":"Diriku"},{"code":"div","name":"Dhivehi"},{"code":"diw","name":"Northwestern Dinka"},{"code":"dix","name":"Dixon Reef"},{"code":"diy","name":"Diuwe"},{"code":"diz","name":"Ding"},{"code":"dja","name":"Djadjawurrung"},{"code":"djb","name":"Djinba"},{"code":"djc","name":"Dar Daju Daju"},{"code":"djd","name":"Djamindjung"},{"code":"dje","name":"Zarma"},{"code":"djf","name":"Djangun"},{"code":"dji","name":"Djinang"},{"code":"djj","name":"Djeebbana"},{"code":"djk","name":"Businenge Tongo"},{"code":"djm","name":"Jamsay Dogon"},{"code":"djn","name":"Djauan"},{"code":"djo","name":"Jangkang"},{"code":"djr","name":"Djambarrpuyngu"},{"code":"dju","name":"Kapriman"},{"code":"djw","name":"Djawi"},{"code":"dka","name":"Dakpakha"},{"code":"dkg","name":"Kadung"},{"code":"dkk","name":"Dakka"},{"code":"dkr","name":"Kuijau"},{"code":"dks","name":"Southeastern Dinka"},{"code":"dkx","name":"Mazagway"},{"code":"dlg","name":"Dolgan"},{"code":"dlk","name":"Dahalik"},{"code":"dlm","name":"Dalmatian"},{"code":"dln","name":"Darlong"},{"code":"dma","name":"Duma"},{"code":"dmb","name":"Mombo Dogon"},{"code":"dmc","name":"Gavak"},{"code":"dmd","name":"Madhi Madhi"},{"code":"dme","name":"Dugwor"},{"code":"dmf","name":"Medefaidrin"},{"code":"dmg","name":"Upper Kinabatangan"},{"code":"dmk","name":"Domaaki"},{"code":"dml","name":"Dameli"},{"code":"dmm","name":"Dama"},{"code":"dmo","name":"Kemedzung"},{"code":"dmr","name":"East Damar"},{"code":"dms","name":"Dampelas"},{"code":"dmu","name":"Dubu"},{"code":"dmv","name":"Dumpas"},{"code":"dmw","name":"Mudburra"},{"code":"dmx","name":"Dema"},{"code":"dmy","name":"Demta"},{"code":"dna","name":"Upper Grand Valley Dani"},{"code":"dnd","name":"Daonda"},{"code":"dne","name":"Ndendeule"},{"code":"dng","name":"Dungan"},{"code":"dni","name":"Lower Grand Valley Dani"},{"code":"dnj","name":"Dan"},{"code":"dnk","name":"Dengka"},{"code":"dnn","name":"Dzùùngoo"},{"code":"dno","name":"Ndrulo"},{"code":"dnr","name":"Danaru"},{"code":"dnt","name":"Mid Grand Valley Dani"},{"code":"dnu","name":"Danau"},{"code":"dnv","name":"Danu"},{"code":"dnw","name":"Western Dani"},{"code":"dny","name":"Dení"},{"code":"doa","name":"Dom"},{"code":"dob","name":"Dobu"},{"code":"doc","name":"Northern Dong"},{"code":"doe","name":"Doe"},{"code":"dof","name":"Domu"},{"code":"doh","name":"Dong"},{"code":"doi","name":"Dogri (macrolanguage)"},{"code":"dok","name":"Dondo"},{"code":"dol","name":"Doso"},{"code":"don","name":"Toura (Papua New Guinea)"},{"code":"doo","name":"Dongo"},{"code":"dop","name":"Lukpa"},{"code":"doq","name":"Dominican Sign Language"},{"code":"dor","name":"Dori'o"},{"code":"dos","name":"Dogosé"},{"code":"dot","name":"Dass"},{"code":"dov","name":"Dombe"},{"code":"dow","name":"Doyayo"},{"code":"dox","name":"Bussa"},{"code":"doy","name":"Dompo"},{"code":"doz","name":"Dorze"},{"code":"dpp","name":"Papar"},{"code":"drb","name":"Dair"},{"code":"drc","name":"Minderico"},{"code":"drd","name":"Darmiya"},{"code":"dre","name":"Dolpo"},{"code":"drg","name":"Rungus"},{"code":"dri","name":"C'Lela"},{"code":"drl","name":"Paakantyi"},{"code":"drn","name":"West Damar"},{"code":"dro","name":"Daro-Matu Melanau"},{"code":"drq","name":"Dura"},{"code":"drs","name":"Gedeo"},{"code":"drt","name":"Drents"},{"code":"dru","name":"Rukai"},{"code":"dry","name":"Darai"},{"code":"dsb","name":"Lower Sorbian"},{"code":"dse","name":"Dutch Sign Language"},{"code":"dsh","name":"Daasanach"},{"code":"dsi","name":"Disa"},{"code":"dsl","name":"Danish Sign Language"},{"code":"dsn","name":"Dusner"},{"code":"dso","name":"Desiya"},{"code":"dsq","name":"Tadaksahak"},{"code":"dta","name":"Daur"},{"code":"dtb","name":"Labuk-Kinabatangan Kadazan"},{"code":"dtd","name":"Ditidaht"},{"code":"dth","name":"Adithinngithigh"},{"code":"dti","name":"Ana Tinga Dogon"},{"code":"dtk","name":"Tene Kan Dogon"},{"code":"dtm","name":"Tomo Kan Dogon"},{"code":"dtn","name":"Daatsʼíin"},{"code":"dto","name":"Tommo So Dogon"},{"code":"dtp","name":"Central Dusun"},{"code":"dtr","name":"Lotud"},{"code":"dts","name":"Toro So Dogon"},{"code":"dtt","name":"Toro Tegu Dogon"},{"code":"dtu","name":"Tebul Ure Dogon"},{"code":"dty","name":"Dotyali"},{"code":"dua","name":"Duala"},{"code":"dub","name":"Dubli"},{"code":"duc","name":"Duna"},{"code":"due","name":"Umiray Dumaget Agta"},{"code":"duf","name":"Drubea"},{"code":"dug","name":"Chiduruma"},{"code":"duh","name":"Dungra Bhil"},{"code":"dui","name":"Dumun"},{"code":"duk","name":"Uyajitaya"},{"code":"dul","name":"Alabat Island Agta"},{"code":"dum","name":"Middle Dutch (ca. 1050-1350)"},{"code":"dun","name":"Dusun Deyah"},{"code":"duo","name":"Dupaninan Agta"},{"code":"dup","name":"Duano"},{"code":"duq","name":"Dusun Malang"},{"code":"dur","name":"Dii"},{"code":"dus","name":"Dumi"},{"code":"duu","name":"Drung"},{"code":"duv","name":"Duvle"},{"code":"duw","name":"Dusun Witu"},{"code":"dux","name":"Duungooma"},{"code":"duy","name":"Dicamay Agta"},{"code":"duz","name":"Duli-Gey"},{"code":"dva","name":"Duau"},{"code":"dwa","name":"Diri"},{"code":"dwk","name":"Dawik Kui"},{"code":"dwr","name":"Dawro"},{"code":"dws","name":"Dutton World Speedwords"},{"code":"dwu","name":"Dhuwal"},{"code":"dww","name":"Dawawa"},{"code":"dwy","name":"Dhuwaya"},{"code":"dwz","name":"Dewas Rai"},{"code":"dya","name":"Dyan"},{"code":"dyb","name":"Dyaberdyaber"},{"code":"dyd","name":"Dyugun"},{"code":"dyg","name":"Villa Viciosa Agta"},{"code":"dyi","name":"Djimini Senoufo"},{"code":"dym","name":"Yanda Dom Dogon"},{"code":"dyn","name":"Dhanggatti"},{"code":"dyo","name":"Jola-Fonyi"},{"code":"dyu","name":"Dyula"},{"code":"dyy","name":"Djabugay"},{"code":"dza","name":"Tunzu"},{"code":"dze","name":"Djiwarli"},{"code":"dzg","name":"Dazaga"},{"code":"dzl","name":"Dzalakha"},{"code":"dzn","name":"Dzando"},{"code":"dzo","name":"Dzongkha"},{"code":"eaa","name":"Karenggapa"},{"code":"ebc","name":"Beginci"},{"code":"ebg","name":"Ebughu"},{"code":"ebk","name":"Eastern Bontok"},{"code":"ebo","name":"Teke-Ebo"},{"code":"ebr","name":"Ebrié"},{"code":"ebu","name":"Embu"},{"code":"ecr","name":"Eteocretan"},{"code":"ecs","name":"Ecuadorian Sign Language"},{"code":"ecy","name":"Eteocypriot"},{"code":"eee","name":"E"},{"code":"efa","name":"Efai"},{"code":"efe","name":"Efe"},{"code":"efi","name":"Efik"},{"code":"ega","name":"Ega"},{"code":"egl","name":"Emilian"},{"code":"ego","name":"Eggon"},{"code":"egy","name":"Egyptian (Ancient)"},{"code":"ehs","name":"Miyakubo Sign Language"},{"code":"ehu","name":"Ehueun"},{"code":"eip","name":"Eipomek"},{"code":"eit","name":"Eitiep"},{"code":"eiv","name":"Askopan"},{"code":"eja","name":"Ejamat"},{"code":"eka","name":"Ekajuk"},{"code":"eke","name":"Ekit"},{"code":"ekg","name":"Ekari"},{"code":"eki","name":"Eki"},{"code":"ekk","name":"Standard Estonian"},{"code":"ekl","name":"Kol"},{"code":"ekm","name":"Elip"},{"code":"eko","name":"Koti"},{"code":"ekp","name":"Ekpeye"},{"code":"ekr","name":"Yace"},{"code":"eky","name":"Eastern Kayah"},{"code":"ele","name":"Elepi"},{"code":"elh","name":"El Hugeirat"},{"code":"eli","name":"Nding"},{"code":"elk","name":"Elkei"},{"code":"ell","name":"Greek"},{"code":"elm","name":"Eleme"},{"code":"elo","name":"El Molo"},{"code":"elu","name":"Elu"},{"code":"elx","name":"Elamite"},{"code":"ema","name":"Emai-Iuleha-Ora"},{"code":"emb","name":"Embaloh"},{"code":"eme","name":"Emerillon"},{"code":"emg","name":"Eastern Meohang"},{"code":"emi","name":"Mussau-Emira"},{"code":"emk","name":"Eastern Maninkakan"},{"code":"emm","name":"Mamulique"},{"code":"emn","name":"Eman"},{"code":"emp","name":"Northern Emberá"},{"code":"emq","name":"Eastern Minyag"},{"code":"ems","name":"Pacific Gulf Yupik"},{"code":"emu","name":"Eastern Muria"},{"code":"emw","name":"Emplawas"},{"code":"emx","name":"Erromintxela"},{"code":"emy","name":"Epigraphic Mayan"},{"code":"emz","name":"Mbessa"},{"code":"ena","name":"Apali"},{"code":"enb","name":"Markweeta"},{"code":"enc","name":"En"},{"code":"end","name":"Ende"},{"code":"enf","name":"Forest Enets"},{"code":"eng","name":"English"},{"code":"enh","name":"Tundra Enets"},{"code":"enl","name":"Enlhet"},{"code":"enm","name":"Middle English (1100-1500)"},{"code":"enn","name":"Engenni"},{"code":"eno","name":"Enggano"},{"code":"enq","name":"Enga"},{"code":"enr","name":"Emem"},{"code":"enu","name":"Enu"},{"code":"env","name":"Enwan (Edu State)"},{"code":"enw","name":"Enwan (Akwa Ibom State)"},{"code":"enx","name":"Enxet"},{"code":"eot","name":"Beti (Côte d'Ivoire)"},{"code":"epi","name":"Epie"},{"code":"epo","name":"Esperanto"},{"code":"era","name":"Eravallan"},{"code":"erg","name":"Sie"},{"code":"erh","name":"Eruwa"},{"code":"eri","name":"Ogea"},{"code":"erk","name":"South Efate"},{"code":"ero","name":"Horpa"},{"code":"err","name":"Erre"},{"code":"ers","name":"Ersu"},{"code":"ert","name":"Eritai"},{"code":"erw","name":"Erokwanas"},{"code":"ese","name":"Ese Ejja"},{"code":"esg","name":"Aheri Gondi"},{"code":"esh","name":"Eshtehardi"},{"code":"esi","name":"North Alaskan Inupiatun"},{"code":"esk","name":"Northwest Alaska Inupiatun"},{"code":"esl","name":"Egypt Sign Language"},{"code":"esm","name":"Esuma"},{"code":"esn","name":"Salvadoran Sign Language"},{"code":"eso","name":"Estonian Sign Language"},{"code":"esq","name":"Esselen"},{"code":"ess","name":"Central Siberian Yupik"},{"code":"est","name":"Estonian"},{"code":"esu","name":"Central Yupik"},{"code":"esy","name":"Eskayan"},{"code":"etb","name":"Etebi"},{"code":"etc","name":"Etchemin"},{"code":"eth","name":"Ethiopian Sign Language"},{"code":"etn","name":"Eton (Vanuatu)"},{"code":"eto","name":"Eton (Cameroon)"},{"code":"etr","name":"Edolo"},{"code":"ets","name":"Yekhee"},{"code":"ett","name":"Etruscan"},{"code":"etu","name":"Ejagham"},{"code":"etx","name":"Eten"},{"code":"etz","name":"Semimi"},{"code":"eus","name":"Basque"},{"code":"eve","name":"Even"},{"code":"evh","name":"Uvbie"},{"code":"evn","name":"Evenki"},{"code":"ewe","name":"Ewe"},{"code":"ewo","name":"Ewondo"},{"code":"ext","name":"Extremaduran"},{"code":"eya","name":"Eyak"},{"code":"eyo","name":"Keiyo"},{"code":"eza","name":"Ezaa"},{"code":"eze","name":"Uzekwe"},{"code":"faa","name":"Fasu"},{"code":"fab","name":"Fa d'Ambu"},{"code":"fad","name":"Wagi"},{"code":"faf","name":"Fagani"},{"code":"fag","name":"Finongan"},{"code":"fah","name":"Baissa Fali"},{"code":"fai","name":"Faiwol"},{"code":"faj","name":"Faita"},{"code":"fak","name":"Fang (Cameroon)"},{"code":"fal","name":"South Fali"},{"code":"fam","name":"Fam"},{"code":"fan","name":"Fang (Equatorial Guinea)"},{"code":"fao","name":"Faroese"},{"code":"fap","name":"Paloor"},{"code":"far","name":"Fataleka"},{"code":"fas","name":"Persian"},{"code":"fat","name":"Fanti"},{"code":"fau","name":"Fayu"},{"code":"fax","name":"Fala"},{"code":"fay","name":"Southwestern Fars"},{"code":"faz","name":"Northwestern Fars"},{"code":"fbl","name":"West Albay Bikol"},{"code":"fcs","name":"Quebec Sign Language"},{"code":"fer","name":"Feroge"},{"code":"ffi","name":"Foia Foia"},{"code":"ffm","name":"Maasina Fulfulde"},{"code":"fgr","name":"Fongoro"},{"code":"fia","name":"Nobiin"},{"code":"fie","name":"Fyer"},{"code":"fif","name":"Faifi"},{"code":"fij","name":"Fijian"},{"code":"fil","name":"Filipino"},{"code":"fin","name":"Finnish"},{"code":"fip","name":"Fipa"},{"code":"fir","name":"Firan"},{"code":"fit","name":"Tornedalen Finnish"},{"code":"fiw","name":"Fiwaga"},{"code":"fkk","name":"Kirya-Konzəl"},{"code":"fkv","name":"Kven Finnish"},{"code":"fla","name":"Kalispel-Pend d'Oreille"},{"code":"flh","name":"Foau"},{"code":"fli","name":"Fali"},{"code":"fll","name":"North Fali"},{"code":"fln","name":"Flinders Island"},{"code":"flr","name":"Fuliiru"},{"code":"fly","name":"Flaaitaal"},{"code":"fmp","name":"Fe'fe'"},{"code":"fmu","name":"Far Western Muria"},{"code":"fnb","name":"Fanbak"},{"code":"fng","name":"Fanagalo"},{"code":"fni","name":"Fania"},{"code":"fod","name":"Foodo"},{"code":"foi","name":"Foi"},{"code":"fom","name":"Foma"},{"code":"fon","name":"Fon"},{"code":"for","name":"Fore"},{"code":"fos","name":"Siraya"},{"code":"fpe","name":"Fernando Po Creole English"},{"code":"fqs","name":"Fas"},{"code":"fra","name":"French"},{"code":"frc","name":"Cajun French"},{"code":"frd","name":"Fordata"},{"code":"frk","name":"Frankish"},{"code":"frm","name":"Middle French (ca. 1400-1600)"},{"code":"fro","name":"Old French (842-ca. 1400)"},{"code":"frp","name":"Arpitan"},{"code":"frq","name":"Forak"},{"code":"frr","name":"Northern Frisian"},{"code":"frs","name":"Eastern Frisian"},{"code":"frt","name":"Fortsenal"},{"code":"fry","name":"Western Frisian"},{"code":"fse","name":"Finnish Sign Language"},{"code":"fsl","name":"French Sign Language"},{"code":"fss","name":"finlandssvenskt teckenspråk"},{"code":"fub","name":"Adamawa Fulfulde"},{"code":"fuc","name":"Pulaar"},{"code":"fud","name":"East Futuna"},{"code":"fue","name":"Borgu Fulfulde"},{"code":"fuf","name":"Pular"},{"code":"fuh","name":"Western Niger Fulfulde"},{"code":"fui","name":"Bagirmi Fulfulde"},{"code":"fuj","name":"Ko"},{"code":"ful","name":"Fulah"},{"code":"fum","name":"Fum"},{"code":"fun","name":"Fulniô"},{"code":"fuq","name":"Central-Eastern Niger Fulfulde"},{"code":"fur","name":"Friulian"},{"code":"fut","name":"Futuna-Aniwa"},{"code":"fuu","name":"Furu"},{"code":"fuv","name":"Nigerian Fulfulde"},{"code":"fuy","name":"Fuyug"},{"code":"fvr","name":"Fur"},{"code":"fwa","name":"Fwâi"},{"code":"fwe","name":"Fwe"},{"code":"gaa","name":"Ga"},{"code":"gab","name":"Gabri"},{"code":"gac","name":"Mixed Great Andamanese"},{"code":"gad","name":"Gaddang"},{"code":"gae","name":"Guarequena"},{"code":"gaf","name":"Gende"},{"code":"gag","name":"Gagauz"},{"code":"gah","name":"Alekano"},{"code":"gai","name":"Borei"},{"code":"gaj","name":"Gadsup"},{"code":"gak","name":"Gamkonora"},{"code":"gal","name":"Galolen"},{"code":"gam","name":"Kandawo"},{"code":"gan","name":"Gan Chinese"},{"code":"gao","name":"Gants"},{"code":"gap","name":"Gal"},{"code":"gaq","name":"Gata'"},{"code":"gar","name":"Galeya"},{"code":"gas","name":"Adiwasi Garasia"},{"code":"gat","name":"Kenati"},{"code":"gau","name":"Mudhili Gadaba"},{"code":"gaw","name":"Nobonob"},{"code":"gax","name":"Borana-Arsi-Guji Oromo"},{"code":"gay","name":"Gayo"},{"code":"gaz","name":"West Central Oromo"},{"code":"gba","name":"Gbaya (Central African Republic)"},{"code":"gbb","name":"Kaytetye"},{"code":"gbd","name":"Karajarri"},{"code":"gbe","name":"Niksek"},{"code":"gbf","name":"Gaikundi"},{"code":"gbg","name":"Gbanziri"},{"code":"gbh","name":"Defi Gbe"},{"code":"gbi","name":"Galela"},{"code":"gbj","name":"Bodo Gadaba"},{"code":"gbk","name":"Gaddi"},{"code":"gbl","name":"Gamit"},{"code":"gbm","name":"Garhwali"},{"code":"gbn","name":"Mo'da"},{"code":"gbo","name":"Northern Grebo"},{"code":"gbp","name":"Gbaya-Bossangoa"},{"code":"gbq","name":"Gbaya-Bozoum"},{"code":"gbr","name":"Gbagyi"},{"code":"gbs","name":"Gbesi Gbe"},{"code":"gbu","name":"Gagadu"},{"code":"gbv","name":"Gbanu"},{"code":"gbw","name":"Gabi-Gabi"},{"code":"gbx","name":"Eastern Xwla Gbe"},{"code":"gby","name":"Gbari"},{"code":"gbz","name":"Zoroastrian Dari"},{"code":"gcc","name":"Mali"},{"code":"gcd","name":"Ganggalida"},{"code":"gce","name":"Galice"},{"code":"gcf","name":"Guadeloupean Creole French"},{"code":"gcl","name":"Grenadian Creole English"},{"code":"gcn","name":"Gaina"},{"code":"gcr","name":"Guianese Creole French"},{"code":"gct","name":"Colonia Tovar German"},{"code":"gda","name":"Gade Lohar"},{"code":"gdb","name":"Pottangi Ollar Gadaba"},{"code":"gdc","name":"Gugu Badhun"},{"code":"gdd","name":"Gedaged"},{"code":"gde","name":"Gude"},{"code":"gdf","name":"Guduf-Gava"},{"code":"gdg","name":"Ga'dang"},{"code":"gdh","name":"Gadjerawang"},{"code":"gdi","name":"Gundi"},{"code":"gdj","name":"Gurdjar"},{"code":"gdk","name":"Gadang"},{"code":"gdl","name":"Dirasha"},{"code":"gdm","name":"Laal"},{"code":"gdn","name":"Umanakaina"},{"code":"gdo","name":"Ghodoberi"},{"code":"gdq","name":"Mehri"},{"code":"gdr","name":"Wipi"},{"code":"gds","name":"Ghandruk Sign Language"},{"code":"gdt","name":"Kungardutyi"},{"code":"gdu","name":"Gudu"},{"code":"gdx","name":"Godwari"},{"code":"gea","name":"Geruma"},{"code":"geb","name":"Kire"},{"code":"gec","name":"Gboloo Grebo"},{"code":"ged","name":"Gade"},{"code":"gef","name":"Gerai"},{"code":"geg","name":"Gengle"},{"code":"geh","name":"Hutterisch"},{"code":"gei","name":"Gebe"},{"code":"gej","name":"Gen"},{"code":"gek","name":"Ywom"},{"code":"gel","name":"ut-Ma'in"},{"code":"geq","name":"Geme"},{"code":"ges","name":"Geser-Gorom"},{"code":"gev","name":"Eviya"},{"code":"gew","name":"Gera"},{"code":"gex","name":"Garre"},{"code":"gey","name":"Enya"},{"code":"gez","name":"Geez"},{"code":"gfk","name":"Patpatar"},{"code":"gft","name":"Gafat"},{"code":"gga","name":"Gao"},{"code":"ggb","name":"Gbii"},{"code":"ggd","name":"Gugadj"},{"code":"gge","name":"Gurr-goni"},{"code":"ggg","name":"Gurgula"},{"code":"ggk","name":"Kungarakany"},{"code":"ggl","name":"Ganglau"},{"code":"ggt","name":"Gitua"},{"code":"ggu","name":"Gagu"},{"code":"ggw","name":"Gogodala"},{"code":"gha","name":"Ghadamès"},{"code":"ghc","name":"Hiberno-Scottish Gaelic"},{"code":"ghe","name":"Southern Ghale"},{"code":"ghh","name":"Northern Ghale"},{"code":"ghk","name":"Geko Karen"},{"code":"ghl","name":"Ghulfan"},{"code":"ghn","name":"Ghanongga"},{"code":"gho","name":"Ghomara"},{"code":"ghr","name":"Ghera"},{"code":"ghs","name":"Guhu-Samane"},{"code":"ght","name":"Kuke"},{"code":"gia","name":"Kija"},{"code":"gib","name":"Gibanawa"},{"code":"gic","name":"Gail"},{"code":"gid","name":"Gidar"},{"code":"gie","name":"Gaɓogbo"},{"code":"gig","name":"Goaria"},{"code":"gih","name":"Githabul"},{"code":"gii","name":"Girirra"},{"code":"gil","name":"Gilbertese"},{"code":"gim","name":"Gimi (Eastern Highlands)"},{"code":"gin","name":"Hinukh"},{"code":"gip","name":"Gimi (West New Britain)"},{"code":"giq","name":"Green Gelao"},{"code":"gir","name":"Red Gelao"},{"code":"gis","name":"North Giziga"},{"code":"git","name":"Gitxsan"},{"code":"giu","name":"Mulao"},{"code":"giw","name":"White Gelao"},{"code":"gix","name":"Gilima"},{"code":"giy","name":"Giyug"},{"code":"giz","name":"South Giziga"},{"code":"gjk","name":"Kachi Koli"},{"code":"gjm","name":"Gunditjmara"},{"code":"gjn","name":"Gonja"},{"code":"gjr","name":"Gurindji Kriol"},{"code":"gju","name":"Gujari"},{"code":"gka","name":"Guya"},{"code":"gkd","name":"Magɨ (Madang Province)"},{"code":"gke","name":"Ndai"},{"code":"gkn","name":"Gokana"},{"code":"gko","name":"Kok-Nar"},{"code":"gkp","name":"Guinea Kpelle"},{"code":"gku","name":"ǂUngkue"},{"code":"gla","name":"Gaelic"},{"code":"glb","name":"Belning"},{"code":"glc","name":"Bon Gula"},{"code":"gld","name":"Nanai"},{"code":"gle","name":"Irish"},{"code":"glg","name":"Galician"},{"code":"glh","name":"Northwest Pashai"},{"code":"glj","name":"Gula Iro"},{"code":"glk","name":"Gilaki"},{"code":"gll","name":"Garlali"},{"code":"glo","name":"Galambu"},{"code":"glr","name":"Glaro-Twabo"},{"code":"glu","name":"Gula (Chad)"},{"code":"glv","name":"Manx"},{"code":"glw","name":"Glavda"},{"code":"gly","name":"Gule"},{"code":"gma","name":"Gambera"},{"code":"gmb","name":"Gula'alaa"},{"code":"gmd","name":"Mághdì"},{"code":"gmg","name":"Magɨyi"},{"code":"gmh","name":"Middle High German (ca. 1050-1500)"},{"code":"gml","name":"Middle Low German"},{"code":"gmm","name":"Gbaya-Mbodomo"},{"code":"gmn","name":"Gimnime"},{"code":"gmr","name":"Mirning"},{"code":"gmu","name":"Gumalu"},{"code":"gmv","name":"Gamo"},{"code":"gmx","name":"Magoma"},{"code":"gmy","name":"Mycenaean Greek"},{"code":"gmz","name":"Mgbolizhia"},{"code":"gna","name":"Kaansa"},{"code":"gnb","name":"Gangte"},{"code":"gnc","name":"Guanche"},{"code":"gnd","name":"Zulgo-Gemzek"},{"code":"gne","name":"Ganang"},{"code":"gng","name":"Ngangam"},{"code":"gnh","name":"Lere"},{"code":"gni","name":"Gooniyandi"},{"code":"gnj","name":"Ngen"},{"code":"gnk","name":"ǁGana"},{"code":"gnl","name":"Gangulu"},{"code":"gnm","name":"Ginuman"},{"code":"gnn","name":"Gumatj"},{"code":"gno","name":"Northern Gondi"},{"code":"gnq","name":"Gana"},{"code":"gnr","name":"Gureng Gureng"},{"code":"gnt","name":"Guntai"},{"code":"gnu","name":"Gnau"},{"code":"gnw","name":"Western Bolivian Guaraní"},{"code":"gnz","name":"Ganzi"},{"code":"goa","name":"Guro"},{"code":"gob","name":"Playero"},{"code":"goc","name":"Gorakor"},{"code":"god","name":"Godié"},{"code":"goe","name":"Gongduk"},{"code":"gof","name":"Gofa"},{"code":"gog","name":"Gogo"},{"code":"goh","name":"Old High German (ca. 750-1050)"},{"code":"goi","name":"Gobasi"},{"code":"goj","name":"Gowlan"},{"code":"gok","name":"Gowli"},{"code":"gol","name":"Gola"},{"code":"gom","name":"Goan Konkani"},{"code":"gon","name":"Gondi"},{"code":"goo","name":"Gone Dau"},{"code":"gop","name":"Yeretuar"},{"code":"goq","name":"Gorap"},{"code":"gor","name":"Gorontalo"},{"code":"gos","name":"Gronings"},{"code":"got","name":"Gothic"},{"code":"gou","name":"Gavar"},{"code":"gow","name":"Gorowa"},{"code":"gox","name":"Gobu"},{"code":"goy","name":"Goundo"},{"code":"goz","name":"Gozarkhani"},{"code":"gpa","name":"Gupa-Abawa"},{"code":"gpe","name":"Ghanaian Pidgin English"},{"code":"gpn","name":"Taiap"},{"code":"gqa","name":"Ga'anda"},{"code":"gqi","name":"Guiqiong"},{"code":"gqn","name":"Guana (Brazil)"},{"code":"gqr","name":"Gor"},{"code":"gqu","name":"Qau"},{"code":"gra","name":"Rajput Garasia"},{"code":"grb","name":"Grebo"},{"code":"grc","name":"Ancient Greek (to 1453)"},{"code":"grd","name":"Guruntum-Mbaaru"},{"code":"grg","name":"Madi"},{"code":"grh","name":"Gbiri-Niragu"},{"code":"gri","name":"Ghari"},{"code":"grj","name":"Southern Grebo"},{"code":"grm","name":"Kota Marudu Talantang"},{"code":"grn","name":"Guarani"},{"code":"gro","name":"Groma"},{"code":"grq","name":"Gorovu"},{"code":"grr","name":"Taznatit"},{"code":"grs","name":"Gresi"},{"code":"grt","name":"Garo"},{"code":"gru","name":"Kistane"},{"code":"grv","name":"Central Grebo"},{"code":"grw","name":"Gweda"},{"code":"grx","name":"Guriaso"},{"code":"gry","name":"Barclayville Grebo"},{"code":"grz","name":"Guramalum"},{"code":"gse","name":"Ghanaian Sign Language"},{"code":"gsg","name":"German Sign Language"},{"code":"gsl","name":"Gusilay"},{"code":"gsm","name":"Guatemalan Sign Language"},{"code":"gsn","name":"Gusan"},{"code":"gso","name":"Southwest Gbaya"},{"code":"gsp","name":"Wasembo"},{"code":"gss","name":"Greek Sign Language"},{"code":"gsw","name":"Alemannic"},{"code":"gta","name":"Guató"},{"code":"gtu","name":"Aghu-Tharnggala"},{"code":"gua","name":"Shiki"},{"code":"gub","name":"Guajajára"},{"code":"guc","name":"Wayuu"},{"code":"gud","name":"Yocoboué Dida"},{"code":"gue","name":"Gurindji"},{"code":"guf","name":"Gupapuyngu"},{"code":"gug","name":"Paraguayan Guaraní"},{"code":"guh","name":"Guahibo"},{"code":"gui","name":"Eastern Bolivian Guaraní"},{"code":"guj","name":"Gujarati"},{"code":"guk","name":"Gumuz"},{"code":"gul","name":"Sea Island Creole English"},{"code":"gum","name":"Guambiano"},{"code":"gun","name":"Mbyá Guaraní"},{"code":"guo","name":"Guayabero"},{"code":"gup","name":"Gunwinggu"},{"code":"guq","name":"Aché"},{"code":"gur","name":"Farefare"},{"code":"gus","name":"Guinean Sign Language"},{"code":"gut","name":"Maléku Jaíka"},{"code":"guu","name":"Yanomamö"},{"code":"guw","name":"Gun"},{"code":"gux","name":"Gourmanchéma"},{"code":"guz","name":"Ekegusii"},{"code":"gva","name":"Guana (Paraguay)"},{"code":"gvc","name":"Guanano"},{"code":"gve","name":"Duwet"},{"code":"gvf","name":"Golin"},{"code":"gvj","name":"Guajá"},{"code":"gvl","name":"Gulay"},{"code":"gvm","name":"Gurmana"},{"code":"gvn","name":"Kuku-Yalanji"},{"code":"gvo","name":"Gavião Do Jiparaná"},{"code":"gvp","name":"Pará Gavião"},{"code":"gvr","name":"Gurung"},{"code":"gvs","name":"Gumawana"},{"code":"gvy","name":"Guyani"},{"code":"gwa","name":"Mbato"},{"code":"gwb","name":"Gwa"},{"code":"gwc","name":"Gawri"},{"code":"gwd","name":"Gawwada"},{"code":"gwe","name":"Gweno"},{"code":"gwf","name":"Gowro"},{"code":"gwg","name":"Moo"},{"code":"gwi","name":"Gwichʼin"},{"code":"gwj","name":"ǀGwi"},{"code":"gwm","name":"Awngthim"},{"code":"gwn","name":"Gwandara"},{"code":"gwr","name":"Gwere"},{"code":"gwt","name":"Gawar-Bati"},{"code":"gwu","name":"Guwamu"},{"code":"gww","name":"Kwini"},{"code":"gwx","name":"Gua"},{"code":"gxx","name":"Wè Southern"},{"code":"gya","name":"Northwest Gbaya"},{"code":"gyb","name":"Garus"},{"code":"gyd","name":"Kayardild"},{"code":"gye","name":"Gyem"},{"code":"gyf","name":"Gungabula"},{"code":"gyg","name":"Gbayi"},{"code":"gyi","name":"Gyele"},{"code":"gyl","name":"Gayil"},{"code":"gym","name":"Ngäbere"},{"code":"gyn","name":"Guyanese Creole English"},{"code":"gyo","name":"Gyalsumdo"},{"code":"gyr","name":"Guarayu"},{"code":"gyy","name":"Gunya"},{"code":"gyz","name":"Geji"},{"code":"gza","name":"Ganza"},{"code":"gzi","name":"Gazi"},{"code":"gzn","name":"Gane"},{"code":"haa","name":"Han"},{"code":"hab","name":"Hanoi Sign Language"},{"code":"hac","name":"Gurani"},{"code":"had","name":"Hatam"},{"code":"hae","name":"Eastern Oromo"},{"code":"haf","name":"Haiphong Sign Language"},{"code":"hag","name":"Hanga"},{"code":"hah","name":"Hahon"},{"code":"hai","name":"Haida"},{"code":"haj","name":"Hajong"},{"code":"hak","name":"Hakka Chinese"},{"code":"hal","name":"Halang"},{"code":"ham","name":"Hewa"},{"code":"han","name":"Hangaza"},{"code":"hao","name":"Hakö"},{"code":"hap","name":"Hupla"},{"code":"haq","name":"Ha"},{"code":"har","name":"Harari"},{"code":"has","name":"Haisla"},{"code":"hat","name":"Haitian"},{"code":"hau","name":"Hausa"},{"code":"hav","name":"Havu"},{"code":"haw","name":"Hawaiian"},{"code":"hax","name":"Southern Haida"},{"code":"hay","name":"Haya"},{"code":"haz","name":"Hazaragi"},{"code":"hba","name":"Hamba"},{"code":"hbb","name":"Huba"},{"code":"hbn","name":"Heiban"},{"code":"hbo","name":"Ancient Hebrew"},{"code":"hbs","name":"Serbo-Croatian"},{"code":"hbu","name":"Habu"},{"code":"hca","name":"Andaman Creole Hindi"},{"code":"hch","name":"Huichol"},{"code":"hdn","name":"Northern Haida"},{"code":"hds","name":"Honduras Sign Language"},{"code":"hdy","name":"Hadiyya"},{"code":"hea","name":"Northern Qiandong Miao"},{"code":"heb","name":"Hebrew"},{"code":"hed","name":"Herdé"},{"code":"heg","name":"Helong"},{"code":"heh","name":"Hehe"},{"code":"hei","name":"Heiltsuk"},{"code":"hem","name":"Hemba"},{"code":"her","name":"Herero"},{"code":"hgm","name":"Haiǁom"},{"code":"hgw","name":"Haigwai"},{"code":"hhi","name":"Hoia Hoia"},{"code":"hhr","name":"Kerak"},{"code":"hhy","name":"Hoyahoya"},{"code":"hia","name":"Lamang"},{"code":"hib","name":"Hibito"},{"code":"hid","name":"Hidatsa"},{"code":"hif","name":"Fiji Hindi"},{"code":"hig","name":"Kamwe"},{"code":"hih","name":"Pamosu"},{"code":"hii","name":"Hinduri"},{"code":"hij","name":"Hijuk"},{"code":"hik","name":"Seit-Kaitetu"},{"code":"hil","name":"Hiligaynon"},{"code":"hin","name":"Hindi"},{"code":"hio","name":"Tsoa"},{"code":"hir","name":"Himarimã"},{"code":"hit","name":"Hittite"},{"code":"hiw","name":"Hiw"},{"code":"hix","name":"Hixkaryána"},{"code":"hji","name":"Haji"},{"code":"hka","name":"Kahe"},{"code":"hke","name":"Hunde"},{"code":"hkh","name":"Khah"},{"code":"hkk","name":"Hunjara-Kaina Ke"},{"code":"hkn","name":"Mel-Khaonh"},{"code":"hks","name":"Heung Kong Sau Yue"},{"code":"hla","name":"Halia"},{"code":"hlb","name":"Halbi"},{"code":"hld","name":"Halang Doan"},{"code":"hle","name":"Hlersu"},{"code":"hlt","name":"Matu Chin"},{"code":"hlu","name":"Hieroglyphic Luwian"},{"code":"hma","name":"Southern Mashan Hmong"},{"code":"hmb","name":"Humburi Senni Songhay"},{"code":"hmc","name":"Central Huishui Hmong"},{"code":"hmd","name":"A-hmaos"},{"code":"hme","name":"Eastern Huishui Hmong"},{"code":"hmf","name":"Hmong Don"},{"code":"hmg","name":"Southwestern Guiyang Hmong"},{"code":"hmh","name":"Southwestern Huishui Hmong"},{"code":"hmi","name":"Northern Huishui Hmong"},{"code":"hmj","name":"Ge"},{"code":"hmk","name":"Maek"},{"code":"hml","name":"Luopohe Hmong"},{"code":"hmm","name":"Central Mashan Hmong"},{"code":"hmn","name":"Hmong"},{"code":"hmo","name":"Hiri Motu"},{"code":"hmp","name":"Northern Mashan Hmong"},{"code":"hmq","name":"Eastern Qiandong Miao"},{"code":"hmr","name":"Hmar"},{"code":"hms","name":"Southern Qiandong Miao"},{"code":"hmt","name":"Hamtai"},{"code":"hmu","name":"Hamap"},{"code":"hmv","name":"Hmong Dô"},{"code":"hmw","name":"Western Mashan Hmong"},{"code":"hmy","name":"Southern Guiyang Hmong"},{"code":"hmz","name":"Hmong Shua"},{"code":"hna","name":"Mina (Cameroon)"},{"code":"hnd","name":"Southern Hindko"},{"code":"hne","name":"Chhattisgarhi"},{"code":"hng","name":"Hungu"},{"code":"hnh","name":"ǁAni"},{"code":"hni","name":"Hani"},{"code":"hnj","name":"Hmong Njua"},{"code":"hnn","name":"Hanunoo"},{"code":"hno","name":"Northern Hindko"},{"code":"hns","name":"Caribbean Hindustani"},{"code":"hnu","name":"Hung"},{"code":"hoa","name":"Hoava"},{"code":"hob","name":"Mari (Madang Province)"},{"code":"hoc","name":"Ho"},{"code":"hod","name":"Holma"},{"code":"hoe","name":"Horom"},{"code":"hoh","name":"Hobyót"},{"code":"hoi","name":"Holikachuk"},{"code":"hoj","name":"Hadothi"},{"code":"hol","name":"Holu"},{"code":"hom","name":"Homa"},{"code":"hoo","name":"Holoholo"},{"code":"hop","name":"Hopi"},{"code":"hor","name":"Horo"},{"code":"hos","name":"Ho Chi Minh City Sign Language"},{"code":"hot","name":"Hote"},{"code":"hov","name":"Hovongan"},{"code":"how","name":"Honi"},{"code":"hoy","name":"Holiya"},{"code":"hoz","name":"Hozo"},{"code":"hpo","name":"Hpon"},{"code":"hps","name":"Hawai'i Pidgin Sign Language"},{"code":"hra","name":"Hrangkhol"},{"code":"hrc","name":"Niwer Mil"},{"code":"hre","name":"Hre"},{"code":"hrk","name":"Haruku"},{"code":"hrm","name":"Horned Miao"},{"code":"hro","name":"Haroi"},{"code":"hrp","name":"Nhirrpi"},{"code":"hrt","name":"Hértevin"},{"code":"hru","name":"Hruso"},{"code":"hrv","name":"Croatian"},{"code":"hrw","name":"Warwar Feni"},{"code":"hrx","name":"Hunsrik"},{"code":"hrz","name":"Harzani"},{"code":"hsb","name":"Upper Sorbian"},{"code":"hsh","name":"Hungarian Sign Language"},{"code":"hsl","name":"Hausa Sign Language"},{"code":"hsn","name":"Xiang Chinese"},{"code":"hss","name":"Harsusi"},{"code":"hti","name":"Hoti"},{"code":"hto","name":"Minica Huitoto"},{"code":"hts","name":"Hadza"},{"code":"htu","name":"Hitu"},{"code":"htx","name":"Middle Hittite"},{"code":"hub","name":"Huambisa"},{"code":"huc","name":"ǂ'Amkhoe"},{"code":"hud","name":"Huaulu"},{"code":"hue","name":"San Francisco Del Mar Huave"},{"code":"huf","name":"Humene"},{"code":"hug","name":"Huachipaeri"},{"code":"huh","name":"Huilliche"},{"code":"hui","name":"Huli"},{"code":"huj","name":"Northern Guiyang Hmong"},{"code":"huk","name":"Hulung"},{"code":"hul","name":"Hula"},{"code":"hum","name":"Hungana"},{"code":"hun","name":"Hungarian"},{"code":"huo","name":"Hu"},{"code":"hup","name":"Hupa"},{"code":"huq","name":"Tsat"},{"code":"hur","name":"Halkomelem"},{"code":"hus","name":"Huastec"},{"code":"hut","name":"Humla"},{"code":"huu","name":"Murui Huitoto"},{"code":"huv","name":"San Mateo Del Mar Huave"},{"code":"huw","name":"Hukumina"},{"code":"hux","name":"Nüpode Huitoto"},{"code":"huy","name":"Hulaulá"},{"code":"huz","name":"Hunzib"},{"code":"hvc","name":"Haitian Vodoun Culture Language"},{"code":"hve","name":"San Dionisio Del Mar Huave"},{"code":"hvk","name":"Haveke"},{"code":"hvn","name":"Sabu"},{"code":"hvv","name":"Santa María Del Mar Huave"},{"code":"hwa","name":"Wané"},{"code":"hwc","name":"Hawai'i Creole English"},{"code":"hwo","name":"Hwana"},{"code":"hya","name":"Hya"},{"code":"hye","name":"Armenian"},{"code":"hyw","name":"Western Armenian"},{"code":"iai","name":"Iaai"},{"code":"ian","name":"Iatmul"},{"code":"iar","name":"Purari"},{"code":"iba","name":"Iban"},{"code":"ibb","name":"Ibibio"},{"code":"ibd","name":"Iwaidja"},{"code":"ibe","name":"Akpes"},{"code":"ibg","name":"Ibanag"},{"code":"ibh","name":"Bih"},{"code":"ibl","name":"Ibaloi"},{"code":"ibm","name":"Agoi"},{"code":"ibn","name":"Ibino"},{"code":"ibo","name":"Igbo"},{"code":"ibr","name":"Ibuoro"},{"code":"ibu","name":"Ibu"},{"code":"iby","name":"Ibani"},{"code":"ica","name":"Ede Ica"},{"code":"ich","name":"Etkywan"},{"code":"icl","name":"Icelandic Sign Language"},{"code":"icr","name":"Islander Creole English"},{"code":"ida","name":"Idakho-Isukha-Tiriki"},{"code":"idb","name":"Indo-Portuguese"},{"code":"idc","name":"Ajiya"},{"code":"idd","name":"Ede Idaca"},{"code":"ide","name":"Idere"},{"code":"idi","name":"Idi"},{"code":"ido","name":"Ido"},{"code":"idr","name":"Indri"},{"code":"ids","name":"Idesa"},{"code":"idt","name":"Idaté"},{"code":"idu","name":"Idoma"},{"code":"ifa","name":"Amganad Ifugao"},{"code":"ifb","name":"Ayangan Ifugao"},{"code":"ife","name":"Ifè"},{"code":"iff","name":"Ifo"},{"code":"ifk","name":"Tuwali Ifugao"},{"code":"ifm","name":"Teke-Fuumu"},{"code":"ifu","name":"Mayoyao Ifugao"},{"code":"ify","name":"Keley-I Kallahan"},{"code":"igb","name":"Ebira"},{"code":"ige","name":"Igede"},{"code":"igg","name":"Igana"},{"code":"igl","name":"Igala"},{"code":"igm","name":"Kanggape"},{"code":"ign","name":"Ignaciano"},{"code":"igo","name":"Isebe"},{"code":"igs","name":"Interglossa"},{"code":"igw","name":"Igwe"},{"code":"ihb","name":"Iha Based Pidgin"},{"code":"ihi","name":"Ihievbe"},{"code":"ihp","name":"Iha"},{"code":"ihw","name":"Bidhawal"},{"code":"iii","name":"Nuosu"},{"code":"iin","name":"Thiin"},{"code":"ijc","name":"Izon"},{"code":"ije","name":"Biseni"},{"code":"ijj","name":"Ede Ije"},{"code":"ijn","name":"Kalabari"},{"code":"ijs","name":"Southeast Ijo"},{"code":"ike","name":"Eastern Canadian Inuktitut"},{"code":"iki","name":"Iko"},{"code":"ikk","name":"Ika"},{"code":"ikl","name":"Ikulu"},{"code":"iko","name":"Olulumo-Ikom"},{"code":"ikp","name":"Ikpeshi"},{"code":"ikr","name":"Ikaranggal"},{"code":"iks","name":"Inuit Sign Language"},{"code":"ikt","name":"Inuinnaqtun"},{"code":"iku","name":"Inuktitut"},{"code":"ikv","name":"Iku-Gora-Ankwa"},{"code":"ikw","name":"Ikwere"},{"code":"ikx","name":"Ik"},{"code":"ikz","name":"Ikizu"},{"code":"ila","name":"Ile Ape"},{"code":"ilb","name":"Ila"},{"code":"ile","name":"Interlingue"},{"code":"ilg","name":"Garig-Ilgar"},{"code":"ili","name":"Ili Turki"},{"code":"ilk","name":"Ilongot"},{"code":"ilm","name":"Iranun (Malaysia)"},{"code":"ilo","name":"Iloko"},{"code":"ilp","name":"Iranun (Philippines)"},{"code":"ils","name":"International Sign"},{"code":"ilu","name":"Ili'uun"},{"code":"ilv","name":"Ilue"},{"code":"ima","name":"Mala Malasar"},{"code":"imi","name":"Anamgura"},{"code":"iml","name":"Miluk"},{"code":"imn","name":"Imonda"},{"code":"imo","name":"Imbongu"},{"code":"imr","name":"Imroing"},{"code":"ims","name":"Marsian"},{"code":"imy","name":"Milyan"},{"code":"ina","name":"Interlingua (International Auxiliary Language Association)"},{"code":"inb","name":"Inga"},{"code":"ind","name":"Indonesian"},{"code":"ing","name":"Degexit'an"},{"code":"inh","name":"Ingush"},{"code":"inj","name":"Jungle Inga"},{"code":"inl","name":"Indonesian Sign Language"},{"code":"inm","name":"Minaean"},{"code":"inn","name":"Isinai"},{"code":"ino","name":"Inoke-Yate"},{"code":"inp","name":"Iñapari"},{"code":"ins","name":"Indian Sign Language"},{"code":"int","name":"Intha"},{"code":"inz","name":"Ineseño"},{"code":"ior","name":"Inor"},{"code":"iou","name":"Tuma-Irumu"},{"code":"iow","name":"Iowa-Oto"},{"code":"ipi","name":"Ipili"},{"code":"ipk","name":"Inupiaq"},{"code":"ipo","name":"Ipiko"},{"code":"iqu","name":"Iquito"},{"code":"iqw","name":"Ikwo"},{"code":"ire","name":"Iresim"},{"code":"irh","name":"Irarutu"},{"code":"iri","name":"Irigwe"},{"code":"irk","name":"Iraqw"},{"code":"irn","name":"Irántxe"},{"code":"irr","name":"Ir"},{"code":"iru","name":"Irula"},{"code":"irx","name":"Kamberau"},{"code":"iry","name":"Iraya"},{"code":"isa","name":"Isabi"},{"code":"isc","name":"Isconahua"},{"code":"isd","name":"Isnag"},{"code":"ise","name":"Italian Sign Language"},{"code":"isg","name":"Irish Sign Language"},{"code":"ish","name":"Esan"},{"code":"isi","name":"Nkem-Nkum"},{"code":"isk","name":"Ishkashimi"},{"code":"isl","name":"Icelandic"},{"code":"ism","name":"Masimasi"},{"code":"isn","name":"Isanzu"},{"code":"iso","name":"Isoko"},{"code":"isr","name":"Israeli Sign Language"},{"code":"ist","name":"Istriot"},{"code":"isu","name":"Isu (Menchum Division)"},{"code":"ita","name":"Italian"},{"code":"itb","name":"Binongan Itneg"},{"code":"itd","name":"Southern Tidung"},{"code":"ite","name":"Itene"},{"code":"iti","name":"Inlaod Itneg"},{"code":"itk","name":"Judeo-Italian"},{"code":"itl","name":"Itelmen"},{"code":"itm","name":"Itu Mbon Uzo"},{"code":"ito","name":"Itonama"},{"code":"itr","name":"Iteri"},{"code":"its","name":"Isekiri"},{"code":"itt","name":"Maeng Itneg"},{"code":"itv","name":"Itawit"},{"code":"itw","name":"Ito"},{"code":"itx","name":"Itik"},{"code":"ity","name":"Moyadan Itneg"},{"code":"itz","name":"Itzá"},{"code":"ium","name":"Iu Mien"},{"code":"ivb","name":"Ibatan"},{"code":"ivv","name":"Ivatan"},{"code":"iwk","name":"I-Wak"},{"code":"iwm","name":"Iwam"},{"code":"iwo","name":"Iwur"},{"code":"iws","name":"Sepik Iwam"},{"code":"ixc","name":"Ixcatec"},{"code":"ixl","name":"Ixil"},{"code":"iya","name":"Iyayu"},{"code":"iyo","name":"Mesaka"},{"code":"iyx","name":"Yaka (Congo)"},{"code":"izh","name":"Ingrian"},{"code":"izr","name":"Izere"},{"code":"izz","name":"Izii"},{"code":"jaa","name":"Jamamadí"},{"code":"jab","name":"Hyam"},{"code":"jac","name":"Jakalteko"},{"code":"jad","name":"Jahanka"},{"code":"jae","name":"Yabem"},{"code":"jaf","name":"Jara"},{"code":"jah","name":"Jah Hut"},{"code":"jaj","name":"Zazao"},{"code":"jak","name":"Jakun"},{"code":"jal","name":"Yalahatan"},{"code":"jam","name":"Jamaican Creole English"},{"code":"jan","name":"Jandai"},{"code":"jao","name":"Yanyuwa"},{"code":"jaq","name":"Yaqay"},{"code":"jas","name":"New Caledonian Javanese"},{"code":"jat","name":"Jakati"},{"code":"jau","name":"Yaur"},{"code":"jav","name":"Javanese"},{"code":"jax","name":"Jambi Malay"},{"code":"jay","name":"Nhangu"},{"code":"jaz","name":"Jawe"},{"code":"jbe","name":"Judeo-Berber"},{"code":"jbi","name":"Badjiri"},{"code":"jbj","name":"Arandai"},{"code":"jbk","name":"Barikewa"},{"code":"jbm","name":"Bijim"},{"code":"jbn","name":"Nafusi"},{"code":"jbo","name":"Lojban"},{"code":"jbr","name":"Jofotek-Bromnya"},{"code":"jbt","name":"Jabutí"},{"code":"jbu","name":"Jukun Takum"},{"code":"jbw","name":"Yawijibaya"},{"code":"jcs","name":"Jamaican Country Sign Language"},{"code":"jct","name":"Krymchak"},{"code":"jda","name":"Jad"},{"code":"jdg","name":"Jadgali"},{"code":"jdt","name":"Judeo-Tat"},{"code":"jeb","name":"Jebero"},{"code":"jee","name":"Jerung"},{"code":"jeh","name":"Jeh"},{"code":"jei","name":"Yei"},{"code":"jek","name":"Jeri Kuo"},{"code":"jel","name":"Yelmek"},{"code":"jen","name":"Dza"},{"code":"jer","name":"Jere"},{"code":"jet","name":"Manem"},{"code":"jeu","name":"Jonkor Bourmataguil"},{"code":"jgb","name":"Ngbee"},{"code":"jge","name":"Judeo-Georgian"},{"code":"jgk","name":"Gwak"},{"code":"jgo","name":"Ngomba"},{"code":"jhi","name":"Jehai"},{"code":"jhs","name":"Jhankot Sign Language"},{"code":"jia","name":"Jina"},{"code":"jib","name":"Jibu"},{"code":"jic","name":"Tol"},{"code":"jid","name":"Bu (Kaduna State)"},{"code":"jie","name":"Jilbe"},{"code":"jig","name":"Djingili"},{"code":"jih","name":"Shangzhai"},{"code":"jii","name":"Jiiddu"},{"code":"jil","name":"Jilim"},{"code":"jim","name":"Jimi (Cameroon)"},{"code":"jio","name":"Jiamao"},{"code":"jiq","name":"Guanyinqiao"},{"code":"jit","name":"Jita"},{"code":"jiu","name":"Youle Jinuo"},{"code":"jiv","name":"Shuar"},{"code":"jiy","name":"Buyuan Jinuo"},{"code":"jje","name":"Jejueo"},{"code":"jjr","name":"Bankal"},{"code":"jka","name":"Kaera"},{"code":"jkm","name":"Mobwa Karen"},{"code":"jko","name":"Kubo"},{"code":"jkp","name":"Paku Karen"},{"code":"jkr","name":"Koro (India)"},{"code":"jks","name":"Amami Koniya Sign Language"},{"code":"jku","name":"Labir"},{"code":"jle","name":"Ngile"},{"code":"jls","name":"Jamaican Sign Language"},{"code":"jma","name":"Dima"},{"code":"jmb","name":"Zumbun"},{"code":"jmc","name":"Machame"},{"code":"jmd","name":"Yamdena"},{"code":"jmi","name":"Jimi (Nigeria)"},{"code":"jml","name":"Jumli"},{"code":"jmn","name":"Makuri Naga"},{"code":"jmr","name":"Kamara"},{"code":"jms","name":"Mashi (Nigeria)"},{"code":"jmw","name":"Mouwase"},{"code":"jmx","name":"Western Juxtlahuaca Mixtec"},{"code":"jna","name":"Jangshung"},{"code":"jnd","name":"Jandavra"},{"code":"jng","name":"Yangman"},{"code":"jni","name":"Janji"},{"code":"jnj","name":"Yemsa"},{"code":"jnl","name":"Rawat"},{"code":"jns","name":"Jaunsari"},{"code":"job","name":"Joba"},{"code":"jod","name":"Wojenaka"},{"code":"jog","name":"Jogi"},{"code":"jor","name":"Jorá"},{"code":"jos","name":"Jordanian Sign Language"},{"code":"jow","name":"Jowulu"},{"code":"jpa","name":"Jewish Palestinian Aramaic"},{"code":"jpn","name":"Japanese"},{"code":"jpr","name":"Judeo-Persian"},{"code":"jqr","name":"Jaqaru"},{"code":"jra","name":"Jarai"},{"code":"jrb","name":"Judeo-Arabic"},{"code":"jrr","name":"Jiru"},{"code":"jrt","name":"Jakattoe"},{"code":"jru","name":"Japrería"},{"code":"jsl","name":"Japanese Sign Language"},{"code":"jua","name":"Júma"},{"code":"jub","name":"Wannu"},{"code":"juc","name":"Jurchen"},{"code":"jud","name":"Worodougou"},{"code":"juh","name":"Hõne"},{"code":"jui","name":"Ngadjuri"},{"code":"juk","name":"Wapan"},{"code":"jul","name":"Jirel"},{"code":"jum","name":"Jumjum"},{"code":"jun","name":"Juang"},{"code":"juo","name":"Jiba"},{"code":"jup","name":"Hupdë"},{"code":"jur","name":"Jurúna"},{"code":"jus","name":"Jumla Sign Language"},{"code":"jut","name":"Jutish"},{"code":"juu","name":"Ju"},{"code":"juw","name":"Wãpha"},{"code":"juy","name":"Juray"},{"code":"jvd","name":"Javindo"},{"code":"jvn","name":"Caribbean Javanese"},{"code":"jwi","name":"Jwira-Pepesa"},{"code":"jya","name":"Jiarong"},{"code":"jye","name":"Judeo-Yemeni Arabic"},{"code":"jyy","name":"Jaya"},{"code":"kaa","name":"Karakalpak"},{"code":"kab","name":"Kabyle"},{"code":"kac","name":"Jingpho"},{"code":"kad","name":"Adara"},{"code":"kae","name":"Ketangalan"},{"code":"kaf","name":"Katso"},{"code":"kag","name":"Kajaman"},{"code":"kah","name":"Kara (Central African Republic)"},{"code":"kai","name":"Karekare"},{"code":"kaj","name":"Jju"},{"code":"kak","name":"Kalanguya"},{"code":"kal","name":"Greenlandic"},{"code":"kam","name":"Kamba (Kenya)"},{"code":"kan","name":"Kannada"},{"code":"kao","name":"Xaasongaxango"},{"code":"kap","name":"Bezhta"},{"code":"kaq","name":"Capanahua"},{"code":"kas","name":"Kashmiri"},{"code":"kat","name":"Georgian"},{"code":"kau","name":"Kanuri"},{"code":"kav","name":"Katukína"},{"code":"kaw","name":"Kawi"},{"code":"kax","name":"Kao"},{"code":"kay","name":"Kamayurá"},{"code":"kaz","name":"Kazakh"},{"code":"kba","name":"Kalarko"},{"code":"kbb","name":"Kaxuiâna"},{"code":"kbc","name":"Kadiwéu"},{"code":"kbd","name":"Kabardian"},{"code":"kbe","name":"Kanju"},{"code":"kbg","name":"Khamba"},{"code":"kbh","name":"Camsá"},{"code":"kbi","name":"Kaptiau"},{"code":"kbj","name":"Kari"},{"code":"kbk","name":"Grass Koiari"},{"code":"kbl","name":"Kanembu"},{"code":"kbm","name":"Iwal"},{"code":"kbn","name":"Kare (Central African Republic)"},{"code":"kbo","name":"Keliko"},{"code":"kbp","name":"Kabiyè"},{"code":"kbq","name":"Kamano"},{"code":"kbr","name":"Kafa"},{"code":"kbs","name":"Kande"},{"code":"kbt","name":"Abadi"},{"code":"kbu","name":"Kabutra"},{"code":"kbv","name":"Dera (Indonesia)"},{"code":"kbw","name":"Kaiep"},{"code":"kbx","name":"Ap Ma"},{"code":"kby","name":"Manga Kanuri"},{"code":"kbz","name":"Duhwa"},{"code":"kca","name":"Khanty"},{"code":"kcb","name":"Kawacha"},{"code":"kcc","name":"Lubila"},{"code":"kcd","name":"Ngkâlmpw Kanum"},{"code":"kce","name":"Kaivi"},{"code":"kcf","name":"Ukaan"},{"code":"kcg","name":"Tyap"},{"code":"kch","name":"Vono"},{"code":"kci","name":"Kamantan"},{"code":"kcj","name":"Kobiana"},{"code":"kck","name":"Kalanga"},{"code":"kcl","name":"Kala"},{"code":"kcm","name":"Gula (Central African Republic)"},{"code":"kcn","name":"Nubi"},{"code":"kco","name":"Kinalakna"},{"code":"kcp","name":"Kanga"},{"code":"kcq","name":"Kamo"},{"code":"kcr","name":"Katla"},{"code":"kcs","name":"Koenoem"},{"code":"kct","name":"Kaian"},{"code":"kcu","name":"Kami (Tanzania)"},{"code":"kcv","name":"Kete"},{"code":"kcw","name":"Kabwari"},{"code":"kcx","name":"Kachama-Ganjule"},{"code":"kcy","name":"Korandje"},{"code":"kcz","name":"Konongo"},{"code":"kda","name":"Worimi"},{"code":"kdc","name":"Kutu"},{"code":"kdd","name":"Yankunytjatjara"},{"code":"kde","name":"Makonde"},{"code":"kdf","name":"Mamusi"},{"code":"kdg","name":"Seba"},{"code":"kdh","name":"Tem"},{"code":"kdi","name":"Kumam"},{"code":"kdj","name":"Karamojong"},{"code":"kdk","name":"Kwényi"},{"code":"kdl","name":"Tsikimba"},{"code":"kdm","name":"Kagoma"},{"code":"kdn","name":"Kunda"},{"code":"kdp","name":"Kaningdon-Nindem"},{"code":"kdq","name":"Koch"},{"code":"kdr","name":"Karaim"},{"code":"kdt","name":"Kuy"},{"code":"kdu","name":"Kadaru"},{"code":"kdw","name":"Koneraw"},{"code":"kdx","name":"Kam"},{"code":"kdy","name":"Keder"},{"code":"kdz","name":"Kwaja"},{"code":"kea","name":"Kabuverdianu"},{"code":"keb","name":"Kélé"},{"code":"kec","name":"Keiga"},{"code":"ked","name":"Kerewe"},{"code":"kee","name":"Eastern Keres"},{"code":"kef","name":"Kpessi"},{"code":"keg","name":"Tese"},{"code":"keh","name":"Keak"},{"code":"kei","name":"Kei"},{"code":"kej","name":"Kadar"},{"code":"kek","name":"Kekchí"},{"code":"kel","name":"Kela (Democratic Republic of Congo)"},{"code":"kem","name":"Kemak"},{"code":"ken","name":"Kenyang"},{"code":"keo","name":"Kakwa"},{"code":"kep","name":"Kaikadi"},{"code":"keq","name":"Kamar"},{"code":"ker","name":"Kera"},{"code":"kes","name":"Kugbo"},{"code":"ket","name":"Ket"},{"code":"keu","name":"Akebu"},{"code":"kev","name":"Kanikkaran"},{"code":"kew","name":"West Kewa"},{"code":"kex","name":"Kukna"},{"code":"key","name":"Kupia"},{"code":"kez","name":"Kukele"},{"code":"kfa","name":"Kodava"},{"code":"kfb","name":"Northwestern Kolami"},{"code":"kfc","name":"Konda-Dora"},{"code":"kfd","name":"Korra Koraga"},{"code":"kfe","name":"Kota (India)"},{"code":"kff","name":"Koya"},{"code":"kfg","name":"Kudiya"},{"code":"kfh","name":"Kurichiya"},{"code":"kfi","name":"Kannada Kurumba"},{"code":"kfj","name":"Kemiehua"},{"code":"kfk","name":"Kinnauri"},{"code":"kfl","name":"Kung"},{"code":"kfm","name":"Khunsari"},{"code":"kfn","name":"Kuk"},{"code":"kfo","name":"Koro (Côte d'Ivoire)"},{"code":"kfp","name":"Korwa"},{"code":"kfq","name":"Korku"},{"code":"kfr","name":"Kachhi"},{"code":"kfs","name":"Bilaspuri"},{"code":"kft","name":"Kanjari"},{"code":"kfu","name":"Katkari"},{"code":"kfv","name":"Kurmukar"},{"code":"kfw","name":"Kharam Naga"},{"code":"kfx","name":"Kullu Pahari"},{"code":"kfy","name":"Kumaoni"},{"code":"kfz","name":"Koromfé"},{"code":"kga","name":"Koyaga"},{"code":"kgb","name":"Kawe"},{"code":"kge","name":"Komering"},{"code":"kgf","name":"Kube"},{"code":"kgg","name":"Kusunda"},{"code":"kgi","name":"Selangor Sign Language"},{"code":"kgj","name":"Gamale Kham"},{"code":"kgk","name":"Kaiwá"},{"code":"kgl","name":"Kunggari"},{"code":"kgm","name":"Karipúna"},{"code":"kgn","name":"Karingani"},{"code":"kgo","name":"Krongo"},{"code":"kgp","name":"Kaingang"},{"code":"kgq","name":"Kamoro"},{"code":"kgr","name":"Abun"},{"code":"kgs","name":"Kumbainggar"},{"code":"kgt","name":"Somyev"},{"code":"kgu","name":"Kobol"},{"code":"kgv","name":"Karas"},{"code":"kgw","name":"Karon Dori"},{"code":"kgx","name":"Kamaru"},{"code":"kgy","name":"Kyerung"},{"code":"kha","name":"Khasi"},{"code":"khb","name":"Lü"},{"code":"khc","name":"Tukang Besi North"},{"code":"khd","name":"Bädi Kanum"},{"code":"khe","name":"Korowai"},{"code":"khf","name":"Khuen"},{"code":"khg","name":"Khams Tibetan"},{"code":"khh","name":"Kehu"},{"code":"khj","name":"Kuturmi"},{"code":"khk","name":"Halh Mongolian"},{"code":"khl","name":"Lusi"},{"code":"khm","name":"Khmer"},{"code":"khn","name":"Khandesi"},{"code":"kho","name":"Khotanese"},{"code":"khp","name":"Kapauri"},{"code":"khq","name":"Koyra Chiini Songhay"},{"code":"khr","name":"Kharia"},{"code":"khs","name":"Kasua"},{"code":"kht","name":"Khamti"},{"code":"khu","name":"Nkhumbi"},{"code":"khv","name":"Khvarshi"},{"code":"khw","name":"Khowar"},{"code":"khx","name":"Kanu"},{"code":"khy","name":"Kele (Democratic Republic of Congo)"},{"code":"khz","name":"Keapara"},{"code":"kia","name":"Kim"},{"code":"kib","name":"Koalib"},{"code":"kic","name":"Kickapoo"},{"code":"kid","name":"Koshin"},{"code":"kie","name":"Kibet"},{"code":"kif","name":"Eastern Parbate Kham"},{"code":"kig","name":"Kimaama"},{"code":"kih","name":"Kilmeri"},{"code":"kii","name":"Kitsai"},{"code":"kij","name":"Kilivila"},{"code":"kik","name":"Gikuyu"},{"code":"kil","name":"Kariya"},{"code":"kim","name":"Karagas"},{"code":"kin","name":"Kinyarwanda"},{"code":"kio","name":"Kiowa"},{"code":"kip","name":"Sheshi Kham"},{"code":"kiq","name":"Kosadle"},{"code":"kir","name":"Kirghiz"},{"code":"kis","name":"Kis"},{"code":"kit","name":"Agob"},{"code":"kiu","name":"Kirmanjki (individual language)"},{"code":"kiv","name":"Kimbu"},{"code":"kiw","name":"Northeast Kiwai"},{"code":"kix","name":"Khiamniungan Naga"},{"code":"kiy","name":"Kirikiri"},{"code":"kiz","name":"Kisi"},{"code":"kja","name":"Mlap"},{"code":"kjb","name":"Kanjobal"},{"code":"kjc","name":"Coastal Konjo"},{"code":"kjd","name":"Southern Kiwai"},{"code":"kje","name":"Kisar"},{"code":"kjg","name":"Khmu"},{"code":"kjh","name":"Khakas"},{"code":"kji","name":"Zabana"},{"code":"kjj","name":"Khinalugh"},{"code":"kjk","name":"Highland Konjo"},{"code":"kjl","name":"Western Parbate Kham"},{"code":"kjm","name":"Kháng"},{"code":"kjn","name":"Kunjen"},{"code":"kjo","name":"Harijan Kinnauri"},{"code":"kjp","name":"Pwo Eastern Karen"},{"code":"kjq","name":"Western Keres"},{"code":"kjr","name":"Kurudu"},{"code":"kjs","name":"East Kewa"},{"code":"kjt","name":"Phrae Pwo Karen"},{"code":"kju","name":"Kashaya"},{"code":"kjv","name":"Kaikavian Literary Language"},{"code":"kjx","name":"Ramopa"},{"code":"kjy","name":"Erave"},{"code":"kjz","name":"Bumthangkha"},{"code":"kka","name":"Kakanda"},{"code":"kkb","name":"Kwerisa"},{"code":"kkc","name":"Odoodee"},{"code":"kkd","name":"Kinuku"},{"code":"kke","name":"Kakabe"},{"code":"kkf","name":"Kalaktang Monpa"},{"code":"kkg","name":"Mabaka Valley Kalinga"},{"code":"kkh","name":"Khün"},{"code":"kki","name":"Kagulu"},{"code":"kkj","name":"Kako"},{"code":"kkk","name":"Kokota"},{"code":"kkl","name":"Kosarek Yale"},{"code":"kkm","name":"Kiong"},{"code":"kkn","name":"Kon Keu"},{"code":"kko","name":"Karko"},{"code":"kkp","name":"Gugubera"},{"code":"kkq","name":"Kaeku"},{"code":"kkr","name":"Kir-Balar"},{"code":"kks","name":"Giiwo"},{"code":"kkt","name":"Koi"},{"code":"kku","name":"Tumi"},{"code":"kkv","name":"Kangean"},{"code":"kkw","name":"Teke-Kukuya"},{"code":"kkx","name":"Kohin"},{"code":"kky","name":"Guguyimidjir"},{"code":"kkz","name":"Kaska"},{"code":"kla","name":"Klamath-Modoc"},{"code":"klb","name":"Kiliwa"},{"code":"klc","name":"Kolbila"},{"code":"kld","name":"Gamilaraay"},{"code":"kle","name":"Kulung (Nepal)"},{"code":"klf","name":"Kendeje"},{"code":"klg","name":"Tagakaulo"},{"code":"klh","name":"Weliki"},{"code":"kli","name":"Kalumpang"},{"code":"klj","name":"Khalaj"},{"code":"klk","name":"Kono (Nigeria)"},{"code":"kll","name":"Kagan Kalagan"},{"code":"klm","name":"Migum"},{"code":"kln","name":"Kalenjin"},{"code":"klo","name":"Kapya"},{"code":"klp","name":"Kamasa"},{"code":"klq","name":"Rumu"},{"code":"klr","name":"Khaling"},{"code":"kls","name":"Kalasha"},{"code":"klt","name":"Nukna"},{"code":"klu","name":"Klao"},{"code":"klv","name":"Maskelynes"},{"code":"klw","name":"Lindu"},{"code":"klx","name":"Koluwawa"},{"code":"kly","name":"Kalao"},{"code":"klz","name":"Kabola"},{"code":"kma","name":"Konni"},{"code":"kmb","name":"Kimbundu"},{"code":"kmc","name":"Southern Dong"},{"code":"kmd","name":"Majukayang Kalinga"},{"code":"kme","name":"Bakole"},{"code":"kmf","name":"Kare (Papua New Guinea)"},{"code":"kmg","name":"Kâte"},{"code":"kmh","name":"Kalam"},{"code":"kmi","name":"Kami (Nigeria)"},{"code":"kmj","name":"Kumarbhag Paharia"},{"code":"kmk","name":"Limos Kalinga"},{"code":"kml","name":"Tanudan Kalinga"},{"code":"kmm","name":"Kom (India)"},{"code":"kmn","name":"Awtuw"},{"code":"kmo","name":"Kwoma"},{"code":"kmp","name":"Gimme"},{"code":"kmq","name":"Kwama"},{"code":"kmr","name":"Northern Kurdish"},{"code":"kms","name":"Kamasau"},{"code":"kmt","name":"Kemtuik"},{"code":"kmu","name":"Kanite"},{"code":"kmv","name":"Karipúna Creole French"},{"code":"kmw","name":"Komo (Democratic Republic of Congo)"},{"code":"kmx","name":"Waboda"},{"code":"kmy","name":"Koma"},{"code":"kmz","name":"Khorasani Turkish"},{"code":"kna","name":"Dera (Nigeria)"},{"code":"knb","name":"Lubuagan Kalinga"},{"code":"knc","name":"Central Kanuri"},{"code":"knd","name":"Konda"},{"code":"kne","name":"Kankanaey"},{"code":"knf","name":"Mankanya"},{"code":"kng","name":"Koongo"},{"code":"kni","name":"Kanufi"},{"code":"knj","name":"Western Kanjobal"},{"code":"knk","name":"Kuranko"},{"code":"knl","name":"Keninjal"},{"code":"knm","name":"Kanamarí"},{"code":"knn","name":"Konkani (individual language)"},{"code":"kno","name":"Kono (Sierra Leone)"},{"code":"knp","name":"Kwanja"},{"code":"knq","name":"Kintaq"},{"code":"knr","name":"Kaningra"},{"code":"kns","name":"Kensiu"},{"code":"knt","name":"Panoan Katukína"},{"code":"knu","name":"Kono (Guinea)"},{"code":"knv","name":"Tabo"},{"code":"knw","name":"Kung-Ekoka"},{"code":"knx","name":"Kendayan"},{"code":"kny","name":"Kanyok"},{"code":"knz","name":"Kalamsé"},{"code":"koa","name":"Konomala"},{"code":"koc","name":"Kpati"},{"code":"kod","name":"Kodi"},{"code":"koe","name":"Kacipo-Bale Suri"},{"code":"kof","name":"Kubi"},{"code":"kog","name":"Cogui"},{"code":"koh","name":"Koyo"},{"code":"koi","name":"Komi-Permyak"},{"code":"kok","name":"Konkani (macrolanguage)"},{"code":"kol","name":"Kol (Papua New Guinea)"},{"code":"kom","name":"Komi"},{"code":"kon","name":"Kongo"},{"code":"koo","name":"Konzo"},{"code":"kop","name":"Waube"},{"code":"koq","name":"Kota (Gabon)"},{"code":"kor","name":"Korean"},{"code":"kos","name":"Kosraean"},{"code":"kot","name":"Lagwan"},{"code":"kou","name":"Koke"},{"code":"kov","name":"Kudu-Camo"},{"code":"kow","name":"Kugama"},{"code":"koy","name":"Koyukon"},{"code":"koz","name":"Korak"},{"code":"kpa","name":"Kutto"},{"code":"kpb","name":"Mullu Kurumba"},{"code":"kpc","name":"Curripaco"},{"code":"kpd","name":"Koba"},{"code":"kpe","name":"Kpelle"},{"code":"kpf","name":"Komba"},{"code":"kpg","name":"Kapingamarangi"},{"code":"kph","name":"Kplang"},{"code":"kpi","name":"Kofei"},{"code":"kpj","name":"Karajá"},{"code":"kpk","name":"Kpan"},{"code":"kpl","name":"Kpala"},{"code":"kpm","name":"Koho"},{"code":"kpn","name":"Kepkiriwát"},{"code":"kpo","name":"Ikposo"},{"code":"kpq","name":"Korupun-Sela"},{"code":"kpr","name":"Korafe-Yegha"},{"code":"kps","name":"Tehit"},{"code":"kpt","name":"Karata"},{"code":"kpu","name":"Kafoa"},{"code":"kpv","name":"Komi-Zyrian"},{"code":"kpw","name":"Kobon"},{"code":"kpx","name":"Mountain Koiali"},{"code":"kpy","name":"Koryak"},{"code":"kpz","name":"Kupsabiny"},{"code":"kqa","name":"Mum"},{"code":"kqb","name":"Kovai"},{"code":"kqc","name":"Doromu-Koki"},{"code":"kqd","name":"Koy Sanjaq Surat"},{"code":"kqe","name":"Kalagan"},{"code":"kqf","name":"Kakabai"},{"code":"kqg","name":"Khe"},{"code":"kqh","name":"Kisankasa"},{"code":"kqi","name":"Koitabu"},{"code":"kqj","name":"Koromira"},{"code":"kqk","name":"Kotafon Gbe"},{"code":"kql","name":"Kyenele"},{"code":"kqm","name":"Khisa"},{"code":"kqn","name":"Kaonde"},{"code":"kqo","name":"Eastern Krahn"},{"code":"kqp","name":"Kimré"},{"code":"kqq","name":"Krenak"},{"code":"kqr","name":"Kimaragang"},{"code":"kqs","name":"Northern Kissi"},{"code":"kqt","name":"Klias River Kadazan"},{"code":"kqu","name":"Seroa"},{"code":"kqv","name":"Okolod"},{"code":"kqw","name":"Kandas"},{"code":"kqx","name":"Mser"},{"code":"kqy","name":"Koorete"},{"code":"kqz","name":"Korana"},{"code":"kra","name":"Kumhali"},{"code":"krb","name":"Karkin"},{"code":"krc","name":"Karachay-Balkar"},{"code":"krd","name":"Kairui-Midiki"},{"code":"kre","name":"Panará"},{"code":"krf","name":"Koro (Vanuatu)"},{"code":"krh","name":"Kurama"},{"code":"kri","name":"Krio"},{"code":"krj","name":"Kinaray-A"},{"code":"krk","name":"Kerek"},{"code":"krl","name":"Karelian"},{"code":"krn","name":"Sapo"},{"code":"krp","name":"Korop"},{"code":"krr","name":"Krung"},{"code":"krs","name":"Gbaya (Sudan)"},{"code":"krt","name":"Tumari Kanuri"},{"code":"kru","name":"Kurukh"},{"code":"krv","name":"Kavet"},{"code":"krw","name":"Western Krahn"},{"code":"krx","name":"Karon"},{"code":"kry","name":"Kryts"},{"code":"krz","name":"Sota Kanum"},{"code":"ksa","name":"Shuwa-Zamani"},{"code":"ksb","name":"Shambala"},{"code":"ksc","name":"Southern Kalinga"},{"code":"ksd","name":"Kuanua"},{"code":"kse","name":"Kuni"},{"code":"ksf","name":"Bafia"},{"code":"ksg","name":"Kusaghe"},{"code":"ksh","name":"Kölsch"},{"code":"ksi","name":"I'saka"},{"code":"ksj","name":"Uare"},{"code":"ksk","name":"Kansa"},{"code":"ksl","name":"Kumalu"},{"code":"ksm","name":"Kumba"},{"code":"ksn","name":"Kasiguranin"},{"code":"kso","name":"Kofa"},{"code":"ksp","name":"Kaba"},{"code":"ksq","name":"Kwaami"},{"code":"ksr","name":"Borong"},{"code":"kss","name":"Southern Kisi"},{"code":"kst","name":"Winyé"},{"code":"ksu","name":"Khamyang"},{"code":"ksv","name":"Kusu"},{"code":"ksw","name":"S'gaw Karen"},{"code":"ksx","name":"Kedang"},{"code":"ksy","name":"Kharia Thar"},{"code":"ksz","name":"Kodaku"},{"code":"kta","name":"Katua"},{"code":"ktb","name":"Kambaata"},{"code":"ktc","name":"Kholok"},{"code":"ktd","name":"Kokata"},{"code":"kte","name":"Nubri"},{"code":"ktf","name":"Kwami"},{"code":"ktg","name":"Kalkutung"},{"code":"kth","name":"Karanga"},{"code":"kti","name":"North Muyu"},{"code":"ktj","name":"Plapo Krumen"},{"code":"ktk","name":"Kaniet"},{"code":"ktl","name":"Koroshi"},{"code":"ktm","name":"Kurti"},{"code":"ktn","name":"Karitiâna"},{"code":"kto","name":"Kuot"},{"code":"ktp","name":"Kaduo"},{"code":"ktq","name":"Katabaga"},{"code":"kts","name":"South Muyu"},{"code":"ktt","name":"Ketum"},{"code":"ktu","name":"Kituba (Democratic Republic of Congo)"},{"code":"ktv","name":"Eastern Katu"},{"code":"ktw","name":"Kato"},{"code":"ktx","name":"Kaxararí"},{"code":"kty","name":"Kango (Bas-Uélé District)"},{"code":"ktz","name":"Juǀʼhoan"},{"code":"kua","name":"Kuanyama"},{"code":"kub","name":"Kutep"},{"code":"kuc","name":"Kwinsu"},{"code":"kud","name":"'Auhelawa"},{"code":"kue","name":"Kuman (Papua New Guinea)"},{"code":"kuf","name":"Western Katu"},{"code":"kug","name":"Kupa"},{"code":"kuh","name":"Kushi"},{"code":"kui","name":"Kalapalo"},{"code":"kuj","name":"Kuria"},{"code":"kuk","name":"Kepo'"},{"code":"kul","name":"Kulere"},{"code":"kum","name":"Kumyk"},{"code":"kun","name":"Kunama"},{"code":"kuo","name":"Kumukio"},{"code":"kup","name":"Kunimaipa"},{"code":"kuq","name":"Karipuna"},{"code":"kur","name":"Kurdish"},{"code":"kus","name":"Kusaal"},{"code":"kut","name":"Kutenai"},{"code":"kuu","name":"Upper Kuskokwim"},{"code":"kuv","name":"Kur"},{"code":"kuw","name":"Kpagua"},{"code":"kux","name":"Kukatja"},{"code":"kuy","name":"Kuuku-Ya'u"},{"code":"kuz","name":"Kunza"},{"code":"kva","name":"Bagvalal"},{"code":"kvb","name":"Kubu"},{"code":"kvc","name":"Kove"},{"code":"kvd","name":"Kui (Indonesia)"},{"code":"kve","name":"Kalabakan"},{"code":"kvf","name":"Kabalai"},{"code":"kvg","name":"Kuni-Boazi"},{"code":"kvh","name":"Komodo"},{"code":"kvi","name":"Kwang"},{"code":"kvj","name":"Psikye"},{"code":"kvk","name":"Korean Sign Language"},{"code":"kvl","name":"Kayaw"},{"code":"kvm","name":"Kendem"},{"code":"kvn","name":"Border Kuna"},{"code":"kvo","name":"Dobel"},{"code":"kvp","name":"Kompane"},{"code":"kvq","name":"Geba Karen"},{"code":"kvr","name":"Kerinci"},{"code":"kvt","name":"Lahta"},{"code":"kvu","name":"Yinbaw Karen"},{"code":"kvv","name":"Kola"},{"code":"kvw","name":"Wersing"},{"code":"kvx","name":"Parkari Koli"},{"code":"kvy","name":"Yintale"},{"code":"kvz","name":"Tsakwambo"},{"code":"kwa","name":"Dâw"},{"code":"kwb","name":"Kwa"},{"code":"kwc","name":"Likwala"},{"code":"kwd","name":"Kwaio"},{"code":"kwe","name":"Kwerba"},{"code":"kwf","name":"Kwara'ae"},{"code":"kwg","name":"Sara Kaba Deme"},{"code":"kwh","name":"Kowiai"},{"code":"kwi","name":"Awa-Cuaiquer"},{"code":"kwj","name":"Kwanga"},{"code":"kwk","name":"Kwakiutl"},{"code":"kwl","name":"Kofyar"},{"code":"kwm","name":"Kwambi"},{"code":"kwn","name":"Kwangali"},{"code":"kwo","name":"Kwomtari"},{"code":"kwp","name":"Kodia"},{"code":"kwr","name":"Kwer"},{"code":"kws","name":"Kwese"},{"code":"kwt","name":"Kwesten"},{"code":"kwu","name":"Kwakum"},{"code":"kwv","name":"Sara Kaba Náà"},{"code":"kww","name":"Kwinti"},{"code":"kwx","name":"Khirwar"},{"code":"kwy","name":"San Salvador Kongo"},{"code":"kwz","name":"Kwadi"},{"code":"kxa","name":"Kairiru"},{"code":"kxb","name":"Krobu"},{"code":"kxc","name":"Khonso"},{"code":"kxd","name":"Brunei"},{"code":"kxf","name":"Manumanaw"},{"code":"kxh","name":"Karo (Ethiopia)"},{"code":"kxi","name":"Keningau Murut"},{"code":"kxj","name":"Kulfa"},{"code":"kxk","name":"Zayein Karen"},{"code":"kxm","name":"Northern Khmer"},{"code":"kxn","name":"Kanowit-Tanjong Melanau"},{"code":"kxo","name":"Kanoé"},{"code":"kxp","name":"Wadiyara Koli"},{"code":"kxq","name":"Smärky Kanum"},{"code":"kxr","name":"Koro (Papua New Guinea)"},{"code":"kxs","name":"Kangjia"},{"code":"kxt","name":"Koiwat"},{"code":"kxv","name":"Kuvi"},{"code":"kxw","name":"Konai"},{"code":"kxx","name":"Likuba"},{"code":"kxy","name":"Kayong"},{"code":"kxz","name":"Kerewo"},{"code":"kya","name":"Kwaya"},{"code":"kyb","name":"Butbut Kalinga"},{"code":"kyc","name":"Kyaka"},{"code":"kyd","name":"Karey"},{"code":"kye","name":"Krache"},{"code":"kyf","name":"Kouya"},{"code":"kyg","name":"Keyagana"},{"code":"kyh","name":"Karok"},{"code":"kyi","name":"Kiput"},{"code":"kyj","name":"Karao"},{"code":"kyk","name":"Kamayo"},{"code":"kyl","name":"Kalapuya"},{"code":"kym","name":"Kpatili"},{"code":"kyn","name":"Northern Binukidnon"},{"code":"kyo","name":"Kelon"},{"code":"kyp","name":"Kang"},{"code":"kyq","name":"Kenga"},{"code":"kyr","name":"Kuruáya"},{"code":"kys","name":"Baram Kayan"},{"code":"kyt","name":"Kayagar"},{"code":"kyu","name":"Western Kayah"},{"code":"kyv","name":"Kayort"},{"code":"kyw","name":"Kudmali"},{"code":"kyx","name":"Rapoisi"},{"code":"kyy","name":"Kambaira"},{"code":"kyz","name":"Kayabí"},{"code":"kza","name":"Western Karaboro"},{"code":"kzb","name":"Kaibobo"},{"code":"kzc","name":"Bondoukou Kulango"},{"code":"kzd","name":"Kadai"},{"code":"kze","name":"Kosena"},{"code":"kzf","name":"Da'a Kaili"},{"code":"kzg","name":"Kikai"},{"code":"kzi","name":"Kelabit"},{"code":"kzk","name":"Kazukuru"},{"code":"kzl","name":"Kayeli"},{"code":"kzm","name":"Kais"},{"code":"kzn","name":"Kokola"},{"code":"kzo","name":"Kaningi"},{"code":"kzp","name":"Kaidipang"},{"code":"kzq","name":"Kaike"},{"code":"kzr","name":"Karang"},{"code":"kzs","name":"Sugut Dusun"},{"code":"kzu","name":"Kayupulau"},{"code":"kzv","name":"Komyandaret"},{"code":"kzw","name":"Karirí-Xocó"},{"code":"kzx","name":"Kamarian"},{"code":"kzy","name":"Kango (Tshopo District)"},{"code":"kzz","name":"Kalabra"},{"code":"laa","name":"Southern Subanen"},{"code":"lab","name":"Linear A"},{"code":"lac","name":"Lacandon"},{"code":"lad","name":"Ladino"},{"code":"lae","name":"Pattani"},{"code":"laf","name":"Lafofa"},{"code":"lag","name":"Langi"},{"code":"lah","name":"Lahnda"},{"code":"lai","name":"Lambya"},{"code":"laj","name":"Lango (Uganda)"},{"code":"lak","name":"Laka (Nigeria)"},{"code":"lal","name":"Lalia"},{"code":"lam","name":"Lamba"},{"code":"lan","name":"Laru"},{"code":"lao","name":"Lao"},{"code":"lap","name":"Laka (Chad)"},{"code":"laq","name":"Qabiao"},{"code":"lar","name":"Larteh"},{"code":"las","name":"Lama (Togo)"},{"code":"lat","name":"Latin"},{"code":"lau","name":"Laba"},{"code":"lav","name":"Latvian"},{"code":"law","name":"Lauje"},{"code":"lax","name":"Tiwa"},{"code":"lay","name":"Lama Bai"},{"code":"laz","name":"Aribwatsa"},{"code":"lbb","name":"Label"},{"code":"lbc","name":"Lakkia"},{"code":"lbe","name":"Lak"},{"code":"lbf","name":"Tinani"},{"code":"lbg","name":"Laopang"},{"code":"lbi","name":"La'bi"},{"code":"lbj","name":"Ladakhi"},{"code":"lbk","name":"Central Bontok"},{"code":"lbl","name":"Libon Bikol"},{"code":"lbm","name":"Lodhi"},{"code":"lbn","name":"Rmeet"},{"code":"lbo","name":"Laven"},{"code":"lbq","name":"Wampar"},{"code":"lbr","name":"Lohorung"},{"code":"lbs","name":"Libyan Sign Language"},{"code":"lbt","name":"Lachi"},{"code":"lbu","name":"Labu"},{"code":"lbv","name":"Lavatbura-Lamusong"},{"code":"lbw","name":"Tolaki"},{"code":"lbx","name":"Lawangan"},{"code":"lby","name":"Lamalama"},{"code":"lbz","name":"Lardil"},{"code":"lcc","name":"Legenyem"},{"code":"lcd","name":"Lola"},{"code":"lce","name":"Loncong"},{"code":"lcf","name":"Lubu"},{"code":"lch","name":"Luchazi"},{"code":"lcl","name":"Lisela"},{"code":"lcm","name":"Tungag"},{"code":"lcp","name":"Western Lawa"},{"code":"lcq","name":"Luhu"},{"code":"lcs","name":"Lisabata-Nuniali"},{"code":"lda","name":"Kla-Dan"},{"code":"ldb","name":"Dũya"},{"code":"ldd","name":"Luri"},{"code":"ldg","name":"Lenyima"},{"code":"ldh","name":"Lamja-Dengsa-Tola"},{"code":"ldi","name":"Laari"},{"code":"ldj","name":"Lemoro"},{"code":"ldk","name":"Leelau"},{"code":"ldl","name":"Kaan"},{"code":"ldm","name":"Landoma"},{"code":"ldn","name":"Láadan"},{"code":"ldo","name":"Loo"},{"code":"ldp","name":"Tso"},{"code":"ldq","name":"Lufu"},{"code":"lea","name":"Lega-Shabunda"},{"code":"leb","name":"Lala-Bisa"},{"code":"lec","name":"Leco"},{"code":"led","name":"Lendu"},{"code":"lee","name":"Lyélé"},{"code":"lef","name":"Lelemi"},{"code":"leh","name":"Lenje"},{"code":"lei","name":"Lemio"},{"code":"lej","name":"Lengola"},{"code":"lek","name":"Leipon"},{"code":"lel","name":"Lele (Democratic Republic of Congo)"},{"code":"lem","name":"Nomaande"},{"code":"len","name":"Lenca"},{"code":"leo","name":"Leti (Cameroon)"},{"code":"lep","name":"Lepcha"},{"code":"leq","name":"Lembena"},{"code":"ler","name":"Lenkau"},{"code":"les","name":"Lese"},{"code":"let","name":"Amio-Gelimi"},{"code":"leu","name":"Kara (Papua New Guinea)"},{"code":"lev","name":"Lamma"},{"code":"lew","name":"Ledo Kaili"},{"code":"lex","name":"Luang"},{"code":"ley","name":"Lemolang"},{"code":"lez","name":"Lezghian"},{"code":"lfa","name":"Lefa"},{"code":"lfn","name":"Lingua Franca Nova"},{"code":"lga","name":"Lungga"},{"code":"lgb","name":"Laghu"},{"code":"lgg","name":"Lugbara"},{"code":"lgh","name":"Laghuu"},{"code":"lgi","name":"Lengilu"},{"code":"lgk","name":"Lingarak"},{"code":"lgl","name":"Wala"},{"code":"lgm","name":"Lega-Mwenga"},{"code":"lgn","name":"Opuuo"},{"code":"lgq","name":"Logba"},{"code":"lgr","name":"Lengo"},{"code":"lgt","name":"Pahi"},{"code":"lgu","name":"Longgu"},{"code":"lgz","name":"Ligenza"},{"code":"lha","name":"Laha (Viet Nam)"},{"code":"lhh","name":"Laha (Indonesia)"},{"code":"lhi","name":"Lahu Shi"},{"code":"lhl","name":"Lahul Lohar"},{"code":"lhm","name":"Lhomi"},{"code":"lhn","name":"Lahanan"},{"code":"lhp","name":"Lhokpu"},{"code":"lhs","name":"Mlahsö"},{"code":"lht","name":"Lo-Toga"},{"code":"lhu","name":"Lahu"},{"code":"lia","name":"West-Central Limba"},{"code":"lib","name":"Likum"},{"code":"lic","name":"Hlai"},{"code":"lid","name":"Nyindrou"},{"code":"lie","name":"Likila"},{"code":"lif","name":"Limbu"},{"code":"lig","name":"Ligbi"},{"code":"lih","name":"Lihir"},{"code":"lij","name":"Ligurian"},{"code":"lik","name":"Lika"},{"code":"lil","name":"Lillooet"},{"code":"lim","name":"Limburgan"},{"code":"lin","name":"Lingala"},{"code":"lio","name":"Liki"},{"code":"lip","name":"Sekpele"},{"code":"liq","name":"Libido"},{"code":"lir","name":"Liberian English"},{"code":"lis","name":"Lisu"},{"code":"lit","name":"Lithuanian"},{"code":"liu","name":"Logorik"},{"code":"liv","name":"Liv"},{"code":"liw","name":"Col"},{"code":"lix","name":"Liabuku"},{"code":"liy","name":"Banda-Bambari"},{"code":"liz","name":"Libinza"},{"code":"lja","name":"Golpa"},{"code":"lje","name":"Rampi"},{"code":"lji","name":"Laiyolo"},{"code":"ljl","name":"Li'o"},{"code":"ljp","name":"Lampung Api"},{"code":"ljw","name":"Yirandali"},{"code":"ljx","name":"Yuru"},{"code":"lka","name":"Lakalei"},{"code":"lkb","name":"Kabras"},{"code":"lkc","name":"Kucong"},{"code":"lkd","name":"Lakondê"},{"code":"lke","name":"Kenyi"},{"code":"lkh","name":"Lakha"},{"code":"lki","name":"Laki"},{"code":"lkj","name":"Remun"},{"code":"lkl","name":"Laeko-Libuat"},{"code":"lkm","name":"Kalaamaya"},{"code":"lkn","name":"Lakon"},{"code":"lko","name":"Khayo"},{"code":"lkr","name":"Päri"},{"code":"lks","name":"Kisa"},{"code":"lkt","name":"Lakota"},{"code":"lku","name":"Kungkari"},{"code":"lky","name":"Lokoya"},{"code":"lla","name":"Lala-Roba"},{"code":"llb","name":"Lolo"},{"code":"llc","name":"Lele (Guinea)"},{"code":"lld","name":"Ladin"},{"code":"lle","name":"Lele (Papua New Guinea)"},{"code":"llf","name":"Hermit"},{"code":"llg","name":"Lole"},{"code":"llh","name":"Lamu"},{"code":"lli","name":"Teke-Laali"},{"code":"llj","name":"Ladji Ladji"},{"code":"llk","name":"Lelak"},{"code":"lll","name":"Lilau"},{"code":"llm","name":"Lasalimu"},{"code":"lln","name":"Lele (Chad)"},{"code":"llp","name":"North Efate"},{"code":"llq","name":"Lolak"},{"code":"lls","name":"Lithuanian Sign Language"},{"code":"llu","name":"Lau"},{"code":"llx","name":"Lauan"},{"code":"lma","name":"East Limba"},{"code":"lmb","name":"Merei"},{"code":"lmc","name":"Limilngan"},{"code":"lmd","name":"Lumun"},{"code":"lme","name":"Pévé"},{"code":"lmf","name":"South Lembata"},{"code":"lmg","name":"Lamogai"},{"code":"lmh","name":"Lambichhong"},{"code":"lmi","name":"Lombi"},{"code":"lmj","name":"West Lembata"},{"code":"lmk","name":"Lamkang"},{"code":"lml","name":"Hano"},{"code":"lmn","name":"Lambadi"},{"code":"lmo","name":"Lombard"},{"code":"lmp","name":"Limbum"},{"code":"lmq","name":"Lamatuka"},{"code":"lmr","name":"Lamalera"},{"code":"lmu","name":"Lamenu"},{"code":"lmv","name":"Lomaiviti"},{"code":"lmw","name":"Lake Miwok"},{"code":"lmx","name":"Laimbue"},{"code":"lmy","name":"Lamboya"},{"code":"lna","name":"Langbashe"},{"code":"lnb","name":"Mbalanhu"},{"code":"lnd","name":"Lun Bawang"},{"code":"lng","name":"Langobardic"},{"code":"lnh","name":"Lanoh"},{"code":"lni","name":"Daantanai'"},{"code":"lnj","name":"Leningitij"},{"code":"lnl","name":"South Central Banda"},{"code":"lnm","name":"Langam"},{"code":"lnn","name":"Lorediakarkar"},{"code":"lno","name":"Lango (South Sudan)"},{"code":"lns","name":"Lamnso'"},{"code":"lnu","name":"Longuda"},{"code":"lnw","name":"Lanima"},{"code":"lnz","name":"Lonzo"},{"code":"loa","name":"Loloda"},{"code":"lob","name":"Lobi"},{"code":"loc","name":"Inonhan"},{"code":"loe","name":"Saluan"},{"code":"lof","name":"Logol"},{"code":"log","name":"Logo"},{"code":"loh","name":"Narim"},{"code":"loi","name":"Loma (Côte d'Ivoire)"},{"code":"loj","name":"Lou"},{"code":"lok","name":"Loko"},{"code":"lol","name":"Mongo"},{"code":"lom","name":"Loma (Liberia)"},{"code":"lon","name":"Malawi Lomwe"},{"code":"loo","name":"Lombo"},{"code":"lop","name":"Lopa"},{"code":"loq","name":"Lobala"},{"code":"lor","name":"Téén"},{"code":"los","name":"Loniu"},{"code":"lot","name":"Otuho"},{"code":"lou","name":"Louisiana Creole"},{"code":"lov","name":"Lopi"},{"code":"low","name":"Tampias Lobu"},{"code":"lox","name":"Loun"},{"code":"loy","name":"Loke"},{"code":"loz","name":"Lozi"},{"code":"lpa","name":"Lelepa"},{"code":"lpe","name":"Lepki"},{"code":"lpn","name":"Long Phuri Naga"},{"code":"lpo","name":"Lipo"},{"code":"lpx","name":"Lopit"},{"code":"lra","name":"Rara Bakati'"},{"code":"lrc","name":"Northern Luri"},{"code":"lre","name":"Laurentian"},{"code":"lrg","name":"Laragia"},{"code":"lri","name":"Marachi"},{"code":"lrk","name":"Loarki"},{"code":"lrl","name":"Lari"},{"code":"lrm","name":"Marama"},{"code":"lrn","name":"Lorang"},{"code":"lro","name":"Laro"},{"code":"lrr","name":"Southern Yamphu"},{"code":"lrt","name":"Larantuka Malay"},{"code":"lrv","name":"Larevat"},{"code":"lrz","name":"Lemerig"},{"code":"lsa","name":"Lasgerdi"},{"code":"lsb","name":"Burundian Sign Language"},{"code":"lsd","name":"Lishana Deni"},{"code":"lse","name":"Lusengo"},{"code":"lsh","name":"Lish"},{"code":"lsi","name":"Lashi"},{"code":"lsl","name":"Latvian Sign Language"},{"code":"lsm","name":"Olusamia"},{"code":"lsn","name":"Tibetan Sign Language"},{"code":"lso","name":"Laos Sign Language"},{"code":"lsp","name":"Lengua de Señas Panameñas"},{"code":"lsr","name":"Aruop"},{"code":"lss","name":"Lasi"},{"code":"lst","name":"Trinidad and Tobago Sign Language"},{"code":"lsv","name":"Sivia Sign Language"},{"code":"lsy","name":"Mauritian Sign Language"},{"code":"ltc","name":"Late Middle Chinese"},{"code":"ltg","name":"Latgalian"},{"code":"lth","name":"Thur"},{"code":"lti","name":"Leti (Indonesia)"},{"code":"ltn","name":"Latundê"},{"code":"lto","name":"Olutsotso"},{"code":"lts","name":"Lutachoni"},{"code":"ltu","name":"Latu"},{"code":"ltz","name":"Letzeburgesch"},{"code":"lua","name":"Luba-Lulua"},{"code":"lub","name":"Luba-Katanga"},{"code":"luc","name":"Aringa"},{"code":"lud","name":"Ludian"},{"code":"lue","name":"Luvale"},{"code":"luf","name":"Laua"},{"code":"lug","name":"Ganda"},{"code":"lui","name":"Luiseno"},{"code":"luj","name":"Luna"},{"code":"luk","name":"Lunanakha"},{"code":"lul","name":"Olu'bo"},{"code":"lum","name":"Luimbi"},{"code":"lun","name":"Lunda"},{"code":"luo","name":"Dholuo"},{"code":"lup","name":"Lumbu"},{"code":"luq","name":"Lucumi"},{"code":"lur","name":"Laura"},{"code":"lus","name":"Lushai"},{"code":"lut","name":"Lushootseed"},{"code":"luu","name":"Lumba-Yakkha"},{"code":"luv","name":"Luwati"},{"code":"luw","name":"Luo (Cameroon)"},{"code":"luy","name":"Luyia"},{"code":"luz","name":"Southern Luri"},{"code":"lva","name":"Maku'a"},{"code":"lvi","name":"Lavi"},{"code":"lvk","name":"Lavukaleve"},{"code":"lvs","name":"Standard Latvian"},{"code":"lvu","name":"Levuka"},{"code":"lwa","name":"Lwalu"},{"code":"lwe","name":"Lewo Eleng"},{"code":"lwg","name":"Oluwanga"},{"code":"lwh","name":"White Lachi"},{"code":"lwl","name":"Eastern Lawa"},{"code":"lwm","name":"Laomian"},{"code":"lwo","name":"Luwo"},{"code":"lws","name":"Malawian Sign Language"},{"code":"lwt","name":"Lewotobi"},{"code":"lwu","name":"Lawu"},{"code":"lww","name":"Lewo"},{"code":"lxm","name":"Lakurumau"},{"code":"lya","name":"Layakha"},{"code":"lyg","name":"Lyngngam"},{"code":"lyn","name":"Luyana"},{"code":"lzh","name":"Literary Chinese"},{"code":"lzl","name":"Litzlitz"},{"code":"lzn","name":"Leinong Naga"},{"code":"lzz","name":"Laz"},{"code":"maa","name":"San Jerónimo Tecóatl Mazatec"},{"code":"mab","name":"Yutanduchi Mixtec"},{"code":"mad","name":"Madurese"},{"code":"mae","name":"Bo-Rukul"},{"code":"maf","name":"Mafa"},{"code":"mag","name":"Magahi"},{"code":"mah","name":"Marshallese"},{"code":"mai","name":"Maithili"},{"code":"maj","name":"Jalapa De Díaz Mazatec"},{"code":"mak","name":"Makasar"},{"code":"mal","name":"Malayalam"},{"code":"mam","name":"Mam"},{"code":"man","name":"Manding"},{"code":"maq","name":"Chiquihuitlán Mazatec"},{"code":"mar","name":"Marathi"},{"code":"mas","name":"Masai"},{"code":"mat","name":"San Francisco Matlatzinca"},{"code":"mau","name":"Huautla Mazatec"},{"code":"mav","name":"Sateré-Mawé"},{"code":"maw","name":"Mampruli"},{"code":"max","name":"North Moluccan Malay"},{"code":"maz","name":"Central Mazahua"},{"code":"mba","name":"Higaonon"},{"code":"mbb","name":"Western Bukidnon Manobo"},{"code":"mbc","name":"Macushi"},{"code":"mbd","name":"Dibabawon Manobo"},{"code":"mbe","name":"Molale"},{"code":"mbf","name":"Baba Malay"},{"code":"mbh","name":"Mangseng"},{"code":"mbi","name":"Ilianen Manobo"},{"code":"mbj","name":"Nadëb"},{"code":"mbk","name":"Malol"},{"code":"mbl","name":"Maxakalí"},{"code":"mbm","name":"Ombamba"},{"code":"mbn","name":"Macaguán"},{"code":"mbo","name":"Mbo (Cameroon)"},{"code":"mbp","name":"Malayo"},{"code":"mbq","name":"Maisin"},{"code":"mbr","name":"Nukak Makú"},{"code":"mbs","name":"Sarangani Manobo"},{"code":"mbt","name":"Matigsalug Manobo"},{"code":"mbu","name":"Mbula-Bwazza"},{"code":"mbv","name":"Mbulungish"},{"code":"mbw","name":"Maring"},{"code":"mbx","name":"Mari (East Sepik Province)"},{"code":"mby","name":"Memoni"},{"code":"mbz","name":"Amoltepec Mixtec"},{"code":"mca","name":"Maca"},{"code":"mcb","name":"Machiguenga"},{"code":"mcc","name":"Bitur"},{"code":"mcd","name":"Sharanahua"},{"code":"mce","name":"Itundujia Mixtec"},{"code":"mcf","name":"Matsés"},{"code":"mcg","name":"Mapoyo"},{"code":"mch","name":"Maquiritari"},{"code":"mci","name":"Mese"},{"code":"mcj","name":"Mvanip"},{"code":"mck","name":"Mbunda"},{"code":"mcl","name":"Macaguaje"},{"code":"mcm","name":"Malaccan Creole Portuguese"},{"code":"mcn","name":"Masana"},{"code":"mco","name":"Coatlán Mixe"},{"code":"mcp","name":"Makaa"},{"code":"mcq","name":"Ese"},{"code":"mcr","name":"Menya"},{"code":"mcs","name":"Mambai"},{"code":"mct","name":"Mengisa"},{"code":"mcu","name":"Cameroon Mambila"},{"code":"mcv","name":"Minanibai"},{"code":"mcw","name":"Mawa (Chad)"},{"code":"mcx","name":"Mpiemo"},{"code":"mcy","name":"South Watut"},{"code":"mcz","name":"Mawan"},{"code":"mda","name":"Mada (Nigeria)"},{"code":"mdb","name":"Morigi"},{"code":"mdc","name":"Male (Papua New Guinea)"},{"code":"mdd","name":"Mbum"},{"code":"mde","name":"Maba (Chad)"},{"code":"mdf","name":"Moksha"},{"code":"mdg","name":"Massalat"},{"code":"mdh","name":"Maguindanaon"},{"code":"mdi","name":"Mamvu"},{"code":"mdj","name":"Mangbetu"},{"code":"mdk","name":"Mangbutu"},{"code":"mdl","name":"Maltese Sign Language"},{"code":"mdm","name":"Mayogo"},{"code":"mdn","name":"Mbati"},{"code":"mdp","name":"Mbala"},{"code":"mdq","name":"Mbole"},{"code":"mdr","name":"Mandar"},{"code":"mds","name":"Maria (Papua New Guinea)"},{"code":"mdt","name":"Mbere"},{"code":"mdu","name":"Mboko"},{"code":"mdv","name":"Santa Lucía Monteverde Mixtec"},{"code":"mdw","name":"Mbosi"},{"code":"mdx","name":"Dizin"},{"code":"mdy","name":"Male (Ethiopia)"},{"code":"mdz","name":"Suruí Do Pará"},{"code":"mea","name":"Menka"},{"code":"meb","name":"Ikobi"},{"code":"mec","name":"Marra"},{"code":"med","name":"Melpa"},{"code":"mee","name":"Mengen"},{"code":"mef","name":"Megam"},{"code":"meh","name":"Southwestern Tlaxiaco Mixtec"},{"code":"mei","name":"Midob"},{"code":"mej","name":"Meyah"},{"code":"mek","name":"Mekeo"},{"code":"mel","name":"Central Melanau"},{"code":"mem","name":"Mangala"},{"code":"men","name":"Mende (Sierra Leone)"},{"code":"meo","name":"Kedah Malay"},{"code":"mep","name":"Miriwoong"},{"code":"meq","name":"Merey"},{"code":"mer","name":"Meru"},{"code":"mes","name":"Masmaje"},{"code":"met","name":"Mato"},{"code":"meu","name":"Motu"},{"code":"mev","name":"Mano"},{"code":"mew","name":"Maaka"},{"code":"mey","name":"Hassaniyya"},{"code":"mez","name":"Menominee"},{"code":"mfa","name":"Pattani Malay"},{"code":"mfb","name":"Bangka"},{"code":"mfc","name":"Mba"},{"code":"mfd","name":"Mendankwe-Nkwen"},{"code":"mfe","name":"Morisyen"},{"code":"mff","name":"Naki"},{"code":"mfg","name":"Mogofin"},{"code":"mfh","name":"Matal"},{"code":"mfi","name":"Wandala"},{"code":"mfj","name":"Mefele"},{"code":"mfk","name":"North Mofu"},{"code":"mfl","name":"Putai"},{"code":"mfm","name":"Marghi South"},{"code":"mfn","name":"Cross River Mbembe"},{"code":"mfo","name":"Mbe"},{"code":"mfp","name":"Makassar Malay"},{"code":"mfq","name":"Moba"},{"code":"mfr","name":"Marrithiyel"},{"code":"mfs","name":"Mexican Sign Language"},{"code":"mft","name":"Mokerang"},{"code":"mfu","name":"Mbwela"},{"code":"mfv","name":"Mandjak"},{"code":"mfw","name":"Mulaha"},{"code":"mfx","name":"Melo"},{"code":"mfy","name":"Mayo"},{"code":"mfz","name":"Mabaan"},{"code":"mga","name":"Middle Irish (900-1200)"},{"code":"mgb","name":"Mararit"},{"code":"mgc","name":"Morokodo"},{"code":"mgd","name":"Moru"},{"code":"mge","name":"Mango"},{"code":"mgf","name":"Maklew"},{"code":"mgg","name":"Mpumpong"},{"code":"mgh","name":"Makhuwa-Meetto"},{"code":"mgi","name":"Lijili"},{"code":"mgj","name":"Abureni"},{"code":"mgk","name":"Mawes"},{"code":"mgl","name":"Maleu-Kilenge"},{"code":"mgm","name":"Mambae"},{"code":"mgn","name":"Mbangi"},{"code":"mgo","name":"Meta'"},{"code":"mgp","name":"Eastern Magar"},{"code":"mgq","name":"Malila"},{"code":"mgr","name":"Mambwe-Lungu"},{"code":"mgs","name":"Manda (Tanzania)"},{"code":"mgt","name":"Mongol"},{"code":"mgu","name":"Mailu"},{"code":"mgv","name":"Matengo"},{"code":"mgw","name":"Matumbi"},{"code":"mgy","name":"Mbunga"},{"code":"mgz","name":"Mbugwe"},{"code":"mha","name":"Manda (India)"},{"code":"mhb","name":"Mahongwe"},{"code":"mhc","name":"Mocho"},{"code":"mhd","name":"Mbugu"},{"code":"mhe","name":"Besisi"},{"code":"mhf","name":"Mamaa"},{"code":"mhg","name":"Margu"},{"code":"mhi","name":"Ma'di"},{"code":"mhj","name":"Mogholi"},{"code":"mhk","name":"Mungaka"},{"code":"mhl","name":"Mauwake"},{"code":"mhm","name":"Makhuwa-Moniga"},{"code":"mhn","name":"Mócheno"},{"code":"mho","name":"Mashi (Zambia)"},{"code":"mhp","name":"Balinese Malay"},{"code":"mhq","name":"Mandan"},{"code":"mhr","name":"Eastern Mari"},{"code":"mhs","name":"Buru (Indonesia)"},{"code":"mht","name":"Mandahuaca"},{"code":"mhu","name":"Darang Deng"},{"code":"mhw","name":"Mbukushu"},{"code":"mhx","name":"Lhaovo"},{"code":"mhy","name":"Ma'anyan"},{"code":"mhz","name":"Mor (Mor Islands)"},{"code":"mia","name":"Miami"},{"code":"mib","name":"Atatláhuca Mixtec"},{"code":"mic","name":"Micmac"},{"code":"mid","name":"Mandaic"},{"code":"mie","name":"Ocotepec Mixtec"},{"code":"mif","name":"Mofu-Gudur"},{"code":"mig","name":"San Miguel El Grande Mixtec"},{"code":"mih","name":"Chayuco Mixtec"},{"code":"mii","name":"Chigmecatitlán Mixtec"},{"code":"mij","name":"Abar"},{"code":"mik","name":"Mikasuki"},{"code":"mil","name":"Peñoles Mixtec"},{"code":"mim","name":"Alacatlatzala Mixtec"},{"code":"min","name":"Minangkabau"},{"code":"mio","name":"Pinotepa Nacional Mixtec"},{"code":"mip","name":"Apasco-Apoala Mixtec"},{"code":"miq","name":"Mískito"},{"code":"mir","name":"Isthmus Mixe"},{"code":"mis","name":"Uncoded languages"},{"code":"mit","name":"Southern Puebla Mixtec"},{"code":"miu","name":"Cacaloxtepec Mixtec"},{"code":"miw","name":"Akoye"},{"code":"mix","name":"Mixtepec Mixtec"},{"code":"miy","name":"Ayutla Mixtec"},{"code":"miz","name":"Coatzospan Mixtec"},{"code":"mjb","name":"Makalero"},{"code":"mjc","name":"San Juan Colorado Mixtec"},{"code":"mjd","name":"Northwest Maidu"},{"code":"mje","name":"Muskum"},{"code":"mjg","name":"Tu"},{"code":"mjh","name":"Mwera (Nyasa)"},{"code":"mji","name":"Kim Mun"},{"code":"mjj","name":"Mawak"},{"code":"mjk","name":"Matukar"},{"code":"mjl","name":"Mandeali"},{"code":"mjm","name":"Medebur"},{"code":"mjn","name":"Ma (Papua New Guinea)"},{"code":"mjo","name":"Malankuravan"},{"code":"mjp","name":"Malapandaram"},{"code":"mjq","name":"Malaryan"},{"code":"mjr","name":"Malavedan"},{"code":"mjs","name":"Miship"},{"code":"mjt","name":"Sauria Paharia"},{"code":"mju","name":"Manna-Dora"},{"code":"mjv","name":"Mannan"},{"code":"mjw","name":"Karbi"},{"code":"mjx","name":"Mahali"},{"code":"mjy","name":"Mahican"},{"code":"mjz","name":"Majhi"},{"code":"mka","name":"Mbre"},{"code":"mkb","name":"Mal Paharia"},{"code":"mkc","name":"Siliput"},{"code":"mkd","name":"Macedonian"},{"code":"mke","name":"Mawchi"},{"code":"mkf","name":"Miya"},{"code":"mkg","name":"Mak (China)"},{"code":"mki","name":"Dhatki"},{"code":"mkj","name":"Mokilese"},{"code":"mkk","name":"Byep"},{"code":"mkl","name":"Mokole"},{"code":"mkm","name":"Moklen"},{"code":"mkn","name":"Kupang Malay"},{"code":"mko","name":"Mingang Doso"},{"code":"mkp","name":"Moikodi"},{"code":"mkq","name":"Bay Miwok"},{"code":"mkr","name":"Malas"},{"code":"mks","name":"Silacayoapan Mixtec"},{"code":"mkt","name":"Vamale"},{"code":"mku","name":"Konyanka Maninka"},{"code":"mkv","name":"Mafea"},{"code":"mkw","name":"Kituba (Congo)"},{"code":"mkx","name":"Kinamiging Manobo"},{"code":"mky","name":"East Makian"},{"code":"mkz","name":"Makasae"},{"code":"mla","name":"Malo"},{"code":"mlb","name":"Mbule"},{"code":"mlc","name":"Cao Lan"},{"code":"mle","name":"Manambu"},{"code":"mlf","name":"Mal"},{"code":"mlg","name":"Malagasy"},{"code":"mlh","name":"Mape"},{"code":"mli","name":"Malimpung"},{"code":"mlj","name":"Miltu"},{"code":"mlk","name":"Ilwana"},{"code":"mll","name":"Malua Bay"},{"code":"mlm","name":"Mulam"},{"code":"mln","name":"Malango"},{"code":"mlo","name":"Mlomp"},{"code":"mlp","name":"Bargam"},{"code":"mlq","name":"Western Maninkakan"},{"code":"mlr","name":"Vame"},{"code":"mls","name":"Masalit"},{"code":"mlt","name":"Maltese"},{"code":"mlu","name":"To'abaita"},{"code":"mlv","name":"Motlav"},{"code":"mlw","name":"Moloko"},{"code":"mlx","name":"Malfaxal"},{"code":"mlz","name":"Malaynon"},{"code":"mma","name":"Mama"},{"code":"mmb","name":"Momina"},{"code":"mmc","name":"Michoacán Mazahua"},{"code":"mmd","name":"Maonan"},{"code":"mme","name":"Mae"},{"code":"mmf","name":"Mundat"},{"code":"mmg","name":"North Ambrym"},{"code":"mmh","name":"Mehináku"},{"code":"mmi","name":"Musar"},{"code":"mmj","name":"Majhwar"},{"code":"mmk","name":"Mukha-Dora"},{"code":"mml","name":"Man Met"},{"code":"mmm","name":"Maii"},{"code":"mmn","name":"Mamanwa"},{"code":"mmo","name":"Mangga Buang"},{"code":"mmp","name":"Siawi"},{"code":"mmq","name":"Musak"},{"code":"mmr","name":"Western Xiangxi Miao"},{"code":"mmt","name":"Malalamai"},{"code":"mmu","name":"Mmaala"},{"code":"mmv","name":"Miriti"},{"code":"mmw","name":"Emae"},{"code":"mmx","name":"Madak"},{"code":"mmy","name":"Migaama"},{"code":"mmz","name":"Mabaale"},{"code":"mna","name":"Mbula"},{"code":"mnb","name":"Muna"},{"code":"mnc","name":"Manchu"},{"code":"mnd","name":"Mondé"},{"code":"mne","name":"Naba"},{"code":"mnf","name":"Mundani"},{"code":"mng","name":"Eastern Mnong"},{"code":"mnh","name":"Mono (Democratic Republic of Congo)"},{"code":"mni","name":"Manipuri"},{"code":"mnj","name":"Munji"},{"code":"mnk","name":"Mandinka"},{"code":"mnl","name":"Tiale"},{"code":"mnm","name":"Mapena"},{"code":"mnn","name":"Southern Mnong"},{"code":"mnp","name":"Min Bei Chinese"},{"code":"mnq","name":"Minriq"},{"code":"mnr","name":"Mono (USA)"},{"code":"mns","name":"Mansi"},{"code":"mnu","name":"Mer"},{"code":"mnv","name":"Rennell-Bellona"},{"code":"mnw","name":"Mon"},{"code":"mnx","name":"Manikion"},{"code":"mny","name":"Manyawa"},{"code":"mnz","name":"Moni"},{"code":"moa","name":"Mwan"},{"code":"moc","name":"Mocoví"},{"code":"mod","name":"Mobilian"},{"code":"moe","name":"Innu"},{"code":"mog","name":"Mongondow"},{"code":"moh","name":"Mohawk"},{"code":"moi","name":"Mboi"},{"code":"moj","name":"Monzombo"},{"code":"mok","name":"Morori"},{"code":"mom","name":"Mangue"},{"code":"mon","name":"Mongolian"},{"code":"moo","name":"Monom"},{"code":"mop","name":"Mopán Maya"},{"code":"moq","name":"Mor (Bomberai Peninsula)"},{"code":"mor","name":"Moro"},{"code":"mos","name":"Mossi"},{"code":"mot","name":"Barí"},{"code":"mou","name":"Mogum"},{"code":"mov","name":"Mohave"},{"code":"mow","name":"Moi (Congo)"},{"code":"mox","name":"Molima"},{"code":"moy","name":"Shekkacho"},{"code":"moz","name":"Gergiko"},{"code":"mpa","name":"Mpoto"},{"code":"mpb","name":"Malak Malak"},{"code":"mpc","name":"Mangarrayi"},{"code":"mpd","name":"Machinere"},{"code":"mpe","name":"Majang"},{"code":"mpg","name":"Marba"},{"code":"mph","name":"Maung"},{"code":"mpi","name":"Mpade"},{"code":"mpj","name":"Martu Wangka"},{"code":"mpk","name":"Mbara (Chad)"},{"code":"mpl","name":"Middle Watut"},{"code":"mpm","name":"Yosondúa Mixtec"},{"code":"mpn","name":"Mindiri"},{"code":"mpo","name":"Miu"},{"code":"mpp","name":"Migabac"},{"code":"mpq","name":"Matís"},{"code":"mpr","name":"Vangunu"},{"code":"mps","name":"Dadibi"},{"code":"mpt","name":"Mian"},{"code":"mpu","name":"Makuráp"},{"code":"mpv","name":"Mungkip"},{"code":"mpw","name":"Mapidian"},{"code":"mpx","name":"Misima-Panaeati"},{"code":"mpy","name":"Mapia"},{"code":"mpz","name":"Mpi"},{"code":"mqa","name":"Maba (Indonesia)"},{"code":"mqb","name":"Mbuko"},{"code":"mqc","name":"Mangole"},{"code":"mqe","name":"Matepi"},{"code":"mqf","name":"Momuna"},{"code":"mqg","name":"Kota Bangun Kutai Malay"},{"code":"mqh","name":"Tlazoyaltepec Mixtec"},{"code":"mqi","name":"Mariri"},{"code":"mqj","name":"Mamasa"},{"code":"mqk","name":"Rajah Kabunsuwan Manobo"},{"code":"mql","name":"Mbelime"},{"code":"mqm","name":"South Marquesan"},{"code":"mqn","name":"Moronene"},{"code":"mqo","name":"Modole"},{"code":"mqp","name":"Manipa"},{"code":"mqq","name":"Minokok"},{"code":"mqr","name":"Mander"},{"code":"mqs","name":"West Makian"},{"code":"mqt","name":"Mok"},{"code":"mqu","name":"Mandari"},{"code":"mqv","name":"Mosimo"},{"code":"mqw","name":"Murupi"},{"code":"mqx","name":"Mamuju"},{"code":"mqy","name":"Manggarai"},{"code":"mqz","name":"Pano"},{"code":"mra","name":"Mlabri"},{"code":"mrb","name":"Marino"},{"code":"mrc","name":"Maricopa"},{"code":"mrd","name":"Western Magar"},{"code":"mre","name":"Martha's Vineyard Sign Language"},{"code":"mrf","name":"Elseng"},{"code":"mrg","name":"Mising"},{"code":"mrh","name":"Mara Chin"},{"code":"mri","name":"Maori"},{"code":"mrj","name":"Western Mari"},{"code":"mrk","name":"Hmwaveke"},{"code":"mrl","name":"Mortlockese"},{"code":"mrm","name":"Merlav"},{"code":"mrn","name":"Cheke Holo"},{"code":"mro","name":"Mru"},{"code":"mrp","name":"Morouas"},{"code":"mrq","name":"North Marquesan"},{"code":"mrr","name":"Maria (India)"},{"code":"mrs","name":"Maragus"},{"code":"mrt","name":"Marghi Central"},{"code":"mru","name":"Mono (Cameroon)"},{"code":"mrv","name":"Mangareva"},{"code":"mrw","name":"Maranao"},{"code":"mrx","name":"Dineor"},{"code":"mry","name":"Mandaya"},{"code":"mrz","name":"Marind"},{"code":"msa","name":"Malay"},{"code":"msb","name":"Masbatenyo"},{"code":"msc","name":"Sankaran Maninka"},{"code":"msd","name":"Yucatec Maya Sign Language"},{"code":"mse","name":"Musey"},{"code":"msf","name":"Mekwei"},{"code":"msg","name":"Moraid"},{"code":"msh","name":"Masikoro Malagasy"},{"code":"msi","name":"Sabah Malay"},{"code":"msj","name":"Ma (Democratic Republic of Congo)"},{"code":"msk","name":"Mansaka"},{"code":"msl","name":"Molof"},{"code":"msm","name":"Agusan Manobo"},{"code":"msn","name":"Vurës"},{"code":"mso","name":"Mombum"},{"code":"msp","name":"Maritsauá"},{"code":"msq","name":"Caac"},{"code":"msr","name":"Mongolian Sign Language"},{"code":"mss","name":"West Masela"},{"code":"msu","name":"Musom"},{"code":"msv","name":"Maslam"},{"code":"msw","name":"Mansoanka"},{"code":"msx","name":"Moresada"},{"code":"msy","name":"Aruamu"},{"code":"msz","name":"Momare"},{"code":"mta","name":"Cotabato Manobo"},{"code":"mtb","name":"Anyin Morofo"},{"code":"mtc","name":"Munit"},{"code":"mtd","name":"Mualang"},{"code":"mte","name":"Mono (Solomon Islands)"},{"code":"mtf","name":"Murik (Papua New Guinea)"},{"code":"mtg","name":"Una"},{"code":"mth","name":"Munggui"},{"code":"mti","name":"Maiwa (Papua New Guinea)"},{"code":"mtj","name":"Moskona"},{"code":"mtk","name":"Mbe'"},{"code":"mtl","name":"Montol"},{"code":"mtm","name":"Mator"},{"code":"mtn","name":"Matagalpa"},{"code":"mto","name":"Totontepec Mixe"},{"code":"mtp","name":"Wichí Lhamtés Nocten"},{"code":"mtq","name":"Muong"},{"code":"mtr","name":"Mewari"},{"code":"mts","name":"Yora"},{"code":"mtt","name":"Mota"},{"code":"mtu","name":"Tututepec Mixtec"},{"code":"mtv","name":"Asaro'o"},{"code":"mtw","name":"Southern Binukidnon"},{"code":"mtx","name":"Tidaá Mixtec"},{"code":"mty","name":"Nabi"},{"code":"mua","name":"Mundang"},{"code":"mub","name":"Mubi"},{"code":"muc","name":"Ajumbu"},{"code":"mud","name":"Mednyj Aleut"},{"code":"mue","name":"Media Lengua"},{"code":"mug","name":"Musgu"},{"code":"muh","name":"Mündü"},{"code":"mui","name":"Musi"},{"code":"muj","name":"Mabire"},{"code":"muk","name":"Mugom"},{"code":"mul","name":"Multiple languages"},{"code":"mum","name":"Maiwala"},{"code":"muo","name":"Nyong"},{"code":"mup","name":"Malvi"},{"code":"muq","name":"Eastern Xiangxi Miao"},{"code":"mur","name":"Murle"},{"code":"mus","name":"Creek"},{"code":"mut","name":"Western Muria"},{"code":"muu","name":"Yaaku"},{"code":"muv","name":"Muthuvan"},{"code":"mux","name":"Bo-Ung"},{"code":"muy","name":"Muyang"},{"code":"muz","name":"Mursi"},{"code":"mva","name":"Manam"},{"code":"mvb","name":"Mattole"},{"code":"mvd","name":"Mamboru"},{"code":"mve","name":"Marwari (Pakistan)"},{"code":"mvf","name":"Peripheral Mongolian"},{"code":"mvg","name":"Yucuañe Mixtec"},{"code":"mvh","name":"Mulgi"},{"code":"mvi","name":"Miyako"},{"code":"mvk","name":"Mekmek"},{"code":"mvl","name":"Mbara (Australia)"},{"code":"mvn","name":"Minaveha"},{"code":"mvo","name":"Marovo"},{"code":"mvp","name":"Duri"},{"code":"mvq","name":"Moere"},{"code":"mvr","name":"Marau"},{"code":"mvs","name":"Massep"},{"code":"mvt","name":"Mpotovoro"},{"code":"mvu","name":"Marfa"},{"code":"mvv","name":"Tagal Murut"},{"code":"mvw","name":"Machinga"},{"code":"mvx","name":"Meoswar"},{"code":"mvy","name":"Indus Kohistani"},{"code":"mvz","name":"Mesqan"},{"code":"mwa","name":"Mwatebu"},{"code":"mwb","name":"Juwal"},{"code":"mwc","name":"Are"},{"code":"mwe","name":"Mwera (Chimwera)"},{"code":"mwf","name":"Murrinh-Patha"},{"code":"mwg","name":"Aiklep"},{"code":"mwh","name":"Mouk-Aria"},{"code":"mwi","name":"Labo"},{"code":"mwk","name":"Kita Maninkakan"},{"code":"mwl","name":"Mirandese"},{"code":"mwm","name":"Sar"},{"code":"mwn","name":"Nyamwanga"},{"code":"mwo","name":"Central Maewo"},{"code":"mwp","name":"Kala Lagaw Ya"},{"code":"mwq","name":"Mün Chin"},{"code":"mwr","name":"Marwari"},{"code":"mws","name":"Mwimbi-Muthambi"},{"code":"mwt","name":"Moken"},{"code":"mwu","name":"Mittu"},{"code":"mwv","name":"Mentawai"},{"code":"mww","name":"Hmong Daw"},{"code":"mwz","name":"Moingi"},{"code":"mxa","name":"Northwest Oaxaca Mixtec"},{"code":"mxb","name":"Tezoatlán Mixtec"},{"code":"mxc","name":"Manyika"},{"code":"mxd","name":"Modang"},{"code":"mxe","name":"Mele-Fila"},{"code":"mxf","name":"Malgbe"},{"code":"mxg","name":"Mbangala"},{"code":"mxh","name":"Mvuba"},{"code":"mxi","name":"Mozarabic"},{"code":"mxj","name":"Geman Deng"},{"code":"mxk","name":"Monumbo"},{"code":"mxl","name":"Maxi Gbe"},{"code":"mxm","name":"Meramera"},{"code":"mxn","name":"Moi (Indonesia)"},{"code":"mxo","name":"Mbowe"},{"code":"mxp","name":"Tlahuitoltepec Mixe"},{"code":"mxq","name":"Juquila Mixe"},{"code":"mxr","name":"Murik (Malaysia)"},{"code":"mxs","name":"Huitepec Mixtec"},{"code":"mxt","name":"Jamiltepec Mixtec"},{"code":"mxu","name":"Mada (Cameroon)"},{"code":"mxv","name":"Metlatónoc Mixtec"},{"code":"mxw","name":"Namo"},{"code":"mxx","name":"Mahou"},{"code":"mxy","name":"Southeastern Nochixtlán Mixtec"},{"code":"mxz","name":"Central Masela"},{"code":"mya","name":"Burmese"},{"code":"myb","name":"Mbay"},{"code":"myc","name":"Mayeka"},{"code":"mye","name":"Myene"},{"code":"myf","name":"Bambassi"},{"code":"myg","name":"Manta"},{"code":"myh","name":"Makah"},{"code":"myj","name":"Mangayat"},{"code":"myk","name":"Mamara Senoufo"},{"code":"myl","name":"Moma"},{"code":"mym","name":"Me'en"},{"code":"myo","name":"Anfillo"},{"code":"myp","name":"Pirahã"},{"code":"myr","name":"Muniche"},{"code":"mys","name":"Mesmes"},{"code":"myu","name":"Mundurukú"},{"code":"myv","name":"Erzya"},{"code":"myw","name":"Muyuw"},{"code":"myx","name":"Masaaba"},{"code":"myy","name":"Macuna"},{"code":"myz","name":"Classical Mandaic"},{"code":"mza","name":"Santa María Zacatepec Mixtec"},{"code":"mzb","name":"Tumzabt"},{"code":"mzc","name":"Madagascar Sign Language"},{"code":"mzd","name":"Malimba"},{"code":"mze","name":"Morawa"},{"code":"mzg","name":"Monastic Sign Language"},{"code":"mzh","name":"Wichí Lhamtés Güisnay"},{"code":"mzi","name":"Ixcatlán Mazatec"},{"code":"mzj","name":"Manya"},{"code":"mzk","name":"Nigeria Mambila"},{"code":"mzl","name":"Mazatlán Mixe"},{"code":"mzm","name":"Mumuye"},{"code":"mzn","name":"Mazanderani"},{"code":"mzo","name":"Matipuhy"},{"code":"mzp","name":"Movima"},{"code":"mzq","name":"Mori Atas"},{"code":"mzr","name":"Marúbo"},{"code":"mzs","name":"Macanese"},{"code":"mzt","name":"Mintil"},{"code":"mzu","name":"Inapang"},{"code":"mzv","name":"Manza"},{"code":"mzw","name":"Deg"},{"code":"mzx","name":"Mawayana"},{"code":"mzy","name":"Mozambican Sign Language"},{"code":"mzz","name":"Maiadomu"},{"code":"naa","name":"Namla"},{"code":"nab","name":"Southern Nambikuára"},{"code":"nac","name":"Narak"},{"code":"nae","name":"Naka'ela"},{"code":"naf","name":"Nabak"},{"code":"nag","name":"Naga Pidgin"},{"code":"naj","name":"Nalu"},{"code":"nak","name":"Nakanai"},{"code":"nal","name":"Nalik"},{"code":"nam","name":"Ngan'gityemerri"},{"code":"nan","name":"Min Nan Chinese"},{"code":"nao","name":"Naaba"},{"code":"nap","name":"Neapolitan"},{"code":"naq","name":"Khoekhoe"},{"code":"nar","name":"Iguta"},{"code":"nas","name":"Naasioi"},{"code":"nat","name":"Ca̱hungwa̱rya̱"},{"code":"nau","name":"Nauru"},{"code":"nav","name":"Navaho"},{"code":"naw","name":"Nawuri"},{"code":"nax","name":"Nakwi"},{"code":"nay","name":"Ngarrindjeri"},{"code":"naz","name":"Coatepec Nahuatl"},{"code":"nba","name":"Nyemba"},{"code":"nbb","name":"Ndoe"},{"code":"nbc","name":"Chang Naga"},{"code":"nbd","name":"Ngbinda"},{"code":"nbe","name":"Konyak Naga"},{"code":"nbg","name":"Nagarchal"},{"code":"nbh","name":"Ngamo"},{"code":"nbi","name":"Mao Naga"},{"code":"nbj","name":"Ngarinyman"},{"code":"nbk","name":"Nake"},{"code":"nbl","name":"South Ndebele"},{"code":"nbm","name":"Ngbaka Ma'bo"},{"code":"nbn","name":"Kuri"},{"code":"nbo","name":"Nkukoli"},{"code":"nbp","name":"Nnam"},{"code":"nbq","name":"Nggem"},{"code":"nbr","name":"Numana"},{"code":"nbs","name":"Namibian Sign Language"},{"code":"nbt","name":"Na"},{"code":"nbu","name":"Rongmei Naga"},{"code":"nbv","name":"Ngamambo"},{"code":"nbw","name":"Southern Ngbandi"},{"code":"nby","name":"Ningera"},{"code":"nca","name":"Iyo"},{"code":"ncb","name":"Central Nicobarese"},{"code":"ncc","name":"Ponam"},{"code":"ncd","name":"Nachering"},{"code":"nce","name":"Yale"},{"code":"ncf","name":"Notsi"},{"code":"ncg","name":"Nisga'a"},{"code":"nch","name":"Central Huasteca Nahuatl"},{"code":"nci","name":"Classical Nahuatl"},{"code":"ncj","name":"Northern Puebla Nahuatl"},{"code":"nck","name":"Na-kara"},{"code":"ncl","name":"Michoacán Nahuatl"},{"code":"ncm","name":"Nambo"},{"code":"ncn","name":"Nauna"},{"code":"nco","name":"Sibe"},{"code":"ncq","name":"Northern Katang"},{"code":"ncr","name":"Ncane"},{"code":"ncs","name":"Nicaraguan Sign Language"},{"code":"nct","name":"Chothe Naga"},{"code":"ncu","name":"Chumburung"},{"code":"ncx","name":"Central Puebla Nahuatl"},{"code":"ncz","name":"Natchez"},{"code":"nda","name":"Ndasa"},{"code":"ndb","name":"Kenswei Nsei"},{"code":"ndc","name":"Ndau"},{"code":"ndd","name":"Nde-Nsele-Nta"},{"code":"nde","name":"North Ndebele"},{"code":"ndf","name":"Nadruvian"},{"code":"ndg","name":"Ndengereko"},{"code":"ndh","name":"Ndali"},{"code":"ndi","name":"Samba Leko"},{"code":"ndj","name":"Ndamba"},{"code":"ndk","name":"Ndaka"},{"code":"ndl","name":"Ndolo"},{"code":"ndm","name":"Ndam"},{"code":"ndn","name":"Ngundi"},{"code":"ndo","name":"Ndonga"},{"code":"ndp","name":"Ndo"},{"code":"ndq","name":"Ndombe"},{"code":"ndr","name":"Ndoola"},{"code":"nds","name":"Low German"},{"code":"ndt","name":"Ndunga"},{"code":"ndu","name":"Dugun"},{"code":"ndv","name":"Ndut"},{"code":"ndw","name":"Ndobo"},{"code":"ndx","name":"Nduga"},{"code":"ndy","name":"Lutos"},{"code":"ndz","name":"Ndogo"},{"code":"nea","name":"Eastern Ngad'a"},{"code":"neb","name":"Toura (Côte d'Ivoire)"},{"code":"nec","name":"Nedebang"},{"code":"ned","name":"Nde-Gbite"},{"code":"nee","name":"Nêlêmwa-Nixumwak"},{"code":"nef","name":"Nefamese"},{"code":"neg","name":"Negidal"},{"code":"neh","name":"Nyenkha"},{"code":"nei","name":"Neo-Hittite"},{"code":"nej","name":"Neko"},{"code":"nek","name":"Neku"},{"code":"nem","name":"Nemi"},{"code":"nen","name":"Nengone"},{"code":"neo","name":"Ná-Meo"},{"code":"nep","name":"Nepali"},{"code":"neq","name":"North Central Mixe"},{"code":"ner","name":"Yahadian"},{"code":"nes","name":"Bhoti Kinnauri"},{"code":"net","name":"Nete"},{"code":"neu","name":"Neo"},{"code":"nev","name":"Nyaheun"},{"code":"new","name":"Nepal Bhasa"},{"code":"nex","name":"Neme"},{"code":"ney","name":"Neyo"},{"code":"nez","name":"Nez Perce"},{"code":"nfa","name":"Dhao"},{"code":"nfd","name":"Ahwai"},{"code":"nfl","name":"Äiwoo"},{"code":"nfr","name":"Nafaanra"},{"code":"nfu","name":"Mfumte"},{"code":"nga","name":"Ngbaka"},{"code":"ngb","name":"Northern Ngbandi"},{"code":"ngc","name":"Ngombe (Democratic Republic of Congo)"},{"code":"ngd","name":"Ngando (Central African Republic)"},{"code":"nge","name":"Ngemba"},{"code":"ngg","name":"Ngbaka Manza"},{"code":"ngh","name":"Nǁng"},{"code":"ngi","name":"Ngizim"},{"code":"ngj","name":"Ngie"},{"code":"ngk","name":"Dalabon"},{"code":"ngl","name":"Lomwe"},{"code":"ngm","name":"Ngatik Men's Creole"},{"code":"ngn","name":"Ngwo"},{"code":"ngp","name":"Ngulu"},{"code":"ngq","name":"Ngoreme"},{"code":"ngr","name":"Engdewu"},{"code":"ngs","name":"Gvoko"},{"code":"ngt","name":"Kriang"},{"code":"ngu","name":"Guerrero Nahuatl"},{"code":"ngv","name":"Nagumi"},{"code":"ngw","name":"Ngwaba"},{"code":"ngx","name":"Nggwahyi"},{"code":"ngy","name":"Tibea"},{"code":"ngz","name":"Ngungwel"},{"code":"nha","name":"Nhanda"},{"code":"nhb","name":"Beng"},{"code":"nhc","name":"Tabasco Nahuatl"},{"code":"nhd","name":"Ava Guaraní"},{"code":"nhe","name":"Eastern Huasteca Nahuatl"},{"code":"nhf","name":"Nhuwala"},{"code":"nhg","name":"Tetelcingo Nahuatl"},{"code":"nhh","name":"Nahari"},{"code":"nhi","name":"Zacatlán-Ahuacatlán-Tepetzintla Nahuatl"},{"code":"nhk","name":"Isthmus-Cosoleacaque Nahuatl"},{"code":"nhm","name":"Morelos Nahuatl"},{"code":"nhn","name":"Central Nahuatl"},{"code":"nho","name":"Takuu"},{"code":"nhp","name":"Isthmus-Pajapan Nahuatl"},{"code":"nhq","name":"Huaxcaleca Nahuatl"},{"code":"nhr","name":"Naro"},{"code":"nht","name":"Ometepec Nahuatl"},{"code":"nhu","name":"Noone"},{"code":"nhv","name":"Temascaltepec Nahuatl"},{"code":"nhw","name":"Western Huasteca Nahuatl"},{"code":"nhx","name":"Isthmus-Mecayapan Nahuatl"},{"code":"nhy","name":"Northern Oaxaca Nahuatl"},{"code":"nhz","name":"Santa María La Alta Nahuatl"},{"code":"nia","name":"Nias"},{"code":"nib","name":"Nakame"},{"code":"nid","name":"Ngandi"},{"code":"nie","name":"Niellim"},{"code":"nif","name":"Nek"},{"code":"nig","name":"Ngalakgan"},{"code":"nih","name":"Nyiha (Tanzania)"},{"code":"nii","name":"Nii"},{"code":"nij","name":"Ngaju"},{"code":"nik","name":"Southern Nicobarese"},{"code":"nil","name":"Nila"},{"code":"nim","name":"Nilamba"},{"code":"nin","name":"Ninzo"},{"code":"nio","name":"Nganasan"},{"code":"niq","name":"Nandi"},{"code":"nir","name":"Nimboran"},{"code":"nis","name":"Nimi"},{"code":"nit","name":"Southeastern Kolami"},{"code":"niu","name":"Niuean"},{"code":"niv","name":"Gilyak"},{"code":"niw","name":"Nimo"},{"code":"nix","name":"Hema"},{"code":"niy","name":"Ngiti"},{"code":"niz","name":"Ningil"},{"code":"nja","name":"Nzanyi"},{"code":"njb","name":"Nocte Naga"},{"code":"njd","name":"Ndonde Hamba"},{"code":"njh","name":"Lotha Naga"},{"code":"nji","name":"Gudanji"},{"code":"njj","name":"Njen"},{"code":"njl","name":"Njalgulgule"},{"code":"njm","name":"Angami Naga"},{"code":"njn","name":"Liangmai Naga"},{"code":"njo","name":"Ao Naga"},{"code":"njr","name":"Njerep"},{"code":"njs","name":"Nisa"},{"code":"njt","name":"Ndyuka-Trio Pidgin"},{"code":"nju","name":"Ngadjunmaya"},{"code":"njx","name":"Kunyi"},{"code":"njy","name":"Njyem"},{"code":"njz","name":"Nyishi"},{"code":"nka","name":"Nkoya"},{"code":"nkb","name":"Khoibu Naga"},{"code":"nkc","name":"Nkongho"},{"code":"nkd","name":"Koireng"},{"code":"nke","name":"Duke"},{"code":"nkf","name":"Inpui Naga"},{"code":"nkg","name":"Nekgini"},{"code":"nkh","name":"Khezha Naga"},{"code":"nki","name":"Thangal Naga"},{"code":"nkj","name":"Nakai"},{"code":"nkk","name":"Nokuku"},{"code":"nkm","name":"Namat"},{"code":"nkn","name":"Nkangala"},{"code":"nko","name":"Nkonya"},{"code":"nkp","name":"Niuatoputapu"},{"code":"nkq","name":"Nkami"},{"code":"nkr","name":"Nukuoro"},{"code":"nks","name":"North Asmat"},{"code":"nkt","name":"Nyika (Tanzania)"},{"code":"nku","name":"Bouna Kulango"},{"code":"nkv","name":"Nyika (Malawi and Zambia)"},{"code":"nkw","name":"Nkutu"},{"code":"nkx","name":"Nkoroo"},{"code":"nkz","name":"Nkari"},{"code":"nla","name":"Ngombale"},{"code":"nlc","name":"Nalca"},{"code":"nld","name":"Dutch"},{"code":"nle","name":"East Nyala"},{"code":"nlg","name":"Gela"},{"code":"nli","name":"Grangali"},{"code":"nlj","name":"Nyali"},{"code":"nlk","name":"Ninia Yali"},{"code":"nll","name":"Nihali"},{"code":"nlm","name":"Mankiyali"},{"code":"nlo","name":"Ngul"},{"code":"nlq","name":"Lao Naga"},{"code":"nlu","name":"Nchumbulu"},{"code":"nlv","name":"Orizaba Nahuatl"},{"code":"nlw","name":"Walangama"},{"code":"nlx","name":"Nahali"},{"code":"nly","name":"Nyamal"},{"code":"nlz","name":"Nalögo"},{"code":"nma","name":"Maram Naga"},{"code":"nmb","name":"Big Nambas"},{"code":"nmc","name":"Ngam"},{"code":"nmd","name":"Ndumu"},{"code":"nme","name":"Mzieme Naga"},{"code":"nmf","name":"Tangkhul Naga (India)"},{"code":"nmg","name":"Kwasio"},{"code":"nmh","name":"Monsang Naga"},{"code":"nmi","name":"Nyam"},{"code":"nmj","name":"Ngombe (Central African Republic)"},{"code":"nmk","name":"Namakura"},{"code":"nml","name":"Ndemli"},{"code":"nmm","name":"Manangba"},{"code":"nmn","name":"ǃXóõ"},{"code":"nmo","name":"Moyon Naga"},{"code":"nmp","name":"Nimanbur"},{"code":"nmq","name":"Nambya"},{"code":"nmr","name":"Nimbari"},{"code":"nms","name":"Letemboi"},{"code":"nmt","name":"Namonuito"},{"code":"nmu","name":"Northeast Maidu"},{"code":"nmv","name":"Ngamini"},{"code":"nmw","name":"Nimoa"},{"code":"nmx","name":"Nama (Papua New Guinea)"},{"code":"nmy","name":"Namuyi"},{"code":"nmz","name":"Nawdm"},{"code":"nna","name":"Nyangumarta"},{"code":"nnb","name":"Nande"},{"code":"nnc","name":"Nancere"},{"code":"nnd","name":"West Ambae"},{"code":"nne","name":"Ngandyera"},{"code":"nnf","name":"Ngaing"},{"code":"nng","name":"Maring Naga"},{"code":"nnh","name":"Ngiemboon"},{"code":"nni","name":"North Nuaulu"},{"code":"nnj","name":"Nyangatom"},{"code":"nnk","name":"Nankina"},{"code":"nnl","name":"Northern Rengma Naga"},{"code":"nnm","name":"Namia"},{"code":"nnn","name":"Ngete"},{"code":"nno","name":"Norwegian Nynorsk"},{"code":"nnp","name":"Wancho Naga"},{"code":"nnq","name":"Ngindo"},{"code":"nnr","name":"Narungga"},{"code":"nnt","name":"Nanticoke"},{"code":"nnu","name":"Dwang"},{"code":"nnv","name":"Nugunu (Australia)"},{"code":"nnw","name":"Southern Nuni"},{"code":"nny","name":"Nyangga"},{"code":"nnz","name":"Nda'nda'"},{"code":"noa","name":"Woun Meu"},{"code":"nob","name":"Norwegian Bokmål"},{"code":"noc","name":"Nuk"},{"code":"nod","name":"Northern Thai"},{"code":"noe","name":"Nimadi"},{"code":"nof","name":"Nomane"},{"code":"nog","name":"Nogai"},{"code":"noh","name":"Nomu"},{"code":"noi","name":"Noiri"},{"code":"noj","name":"Nonuya"},{"code":"nok","name":"Nooksack"},{"code":"nol","name":"Nomlaki"},{"code":"nom","name":"Nocamán"},{"code":"non","name":"Old Norse"},{"code":"nop","name":"Numanggang"},{"code":"noq","name":"Ngongo"},{"code":"nor","name":"Norwegian"},{"code":"nos","name":"Eastern Nisu"},{"code":"not","name":"Nomatsiguenga"},{"code":"nou","name":"Ewage-Notu"},{"code":"nov","name":"Novial"},{"code":"now","name":"Nyambo"},{"code":"noy","name":"Noy"},{"code":"noz","name":"Nayi"},{"code":"npa","name":"Nar Phu"},{"code":"npb","name":"Nupbikha"},{"code":"npg","name":"Ponyo-Gongwang Naga"},{"code":"nph","name":"Phom Naga"},{"code":"npi","name":"Nepali (individual language)"},{"code":"npl","name":"Southeastern Puebla Nahuatl"},{"code":"npn","name":"Mondropolon"},{"code":"npo","name":"Pochuri Naga"},{"code":"nps","name":"Nipsan"},{"code":"npu","name":"Puimei Naga"},{"code":"npx","name":"Noipx"},{"code":"npy","name":"Napu"},{"code":"nqg","name":"Southern Nago"},{"code":"nqk","name":"Kura Ede Nago"},{"code":"nql","name":"Ngendelengo"},{"code":"nqm","name":"Ndom"},{"code":"nqn","name":"Nen"},{"code":"nqo","name":"N'Ko"},{"code":"nqq","name":"Kyan-Karyaw Naga"},{"code":"nqt","name":"Nteng"},{"code":"nqy","name":"Akyaung Ari Naga"},{"code":"nra","name":"Ngom"},{"code":"nrb","name":"Nara"},{"code":"nrc","name":"Noric"},{"code":"nre","name":"Southern Rengma Naga"},{"code":"nrf","name":"Guernésiais"},{"code":"nrg","name":"Narango"},{"code":"nri","name":"Chokri Naga"},{"code":"nrk","name":"Ngarla"},{"code":"nrl","name":"Ngarluma"},{"code":"nrm","name":"Narom"},{"code":"nrn","name":"Norn"},{"code":"nrp","name":"North Picene"},{"code":"nrr","name":"Nora"},{"code":"nrt","name":"Northern Kalapuya"},{"code":"nru","name":"Narua"},{"code":"nrx","name":"Ngurmbur"},{"code":"nrz","name":"Lala"},{"code":"nsa","name":"Sangtam Naga"},{"code":"nsb","name":"Lower Nossob"},{"code":"nsc","name":"Nshi"},{"code":"nsd","name":"Southern Nisu"},{"code":"nse","name":"Nsenga"},{"code":"nsf","name":"Northwestern Nisu"},{"code":"nsg","name":"Ngasa"},{"code":"nsh","name":"Ngoshie"},{"code":"nsi","name":"Nigerian Sign Language"},{"code":"nsk","name":"Naskapi"},{"code":"nsl","name":"Norwegian Sign Language"},{"code":"nsm","name":"Sumi Naga"},{"code":"nsn","name":"Nehan"},{"code":"nso","name":"Northern Sotho"},{"code":"nsp","name":"Nepalese Sign Language"},{"code":"nsq","name":"Northern Sierra Miwok"},{"code":"nsr","name":"Maritime Sign Language"},{"code":"nss","name":"Nali"},{"code":"nst","name":"Tase Naga"},{"code":"nsu","name":"Sierra Negra Nahuatl"},{"code":"nsv","name":"Southwestern Nisu"},{"code":"nsw","name":"Navut"},{"code":"nsx","name":"Nsongo"},{"code":"nsy","name":"Nasal"},{"code":"nsz","name":"Nisenan"},{"code":"ntd","name":"Northern Tidung"},{"code":"nte","name":"Nathembo"},{"code":"ntg","name":"Ngantangarra"},{"code":"nti","name":"Natioro"},{"code":"ntj","name":"Ngaanyatjarra"},{"code":"ntk","name":"Ikoma-Nata-Isenye"},{"code":"ntm","name":"Nateni"},{"code":"nto","name":"Ntomba"},{"code":"ntp","name":"Northern Tepehuan"},{"code":"ntr","name":"Delo"},{"code":"ntu","name":"Natügu"},{"code":"ntw","name":"Nottoway"},{"code":"ntx","name":"Tangkhul Naga (Myanmar)"},{"code":"nty","name":"Mantsi"},{"code":"ntz","name":"Natanzi"},{"code":"nua","name":"Yuanga"},{"code":"nuc","name":"Nukuini"},{"code":"nud","name":"Ngala"},{"code":"nue","name":"Ngundu"},{"code":"nuf","name":"Nusu"},{"code":"nug","name":"Nungali"},{"code":"nuh","name":"Ndunda"},{"code":"nui","name":"Ngumbi"},{"code":"nuj","name":"Nyole"},{"code":"nuk","name":"Nuuchahnulth"},{"code":"nul","name":"Nusa Laut"},{"code":"num","name":"Niuafo'ou"},{"code":"nun","name":"Anong"},{"code":"nuo","name":"Nguôn"},{"code":"nup","name":"Nupe-Nupe-Tako"},{"code":"nuq","name":"Nukumanu"},{"code":"nur","name":"Nukuria"},{"code":"nus","name":"Nuer"},{"code":"nut","name":"Nung (Viet Nam)"},{"code":"nuu","name":"Ngbundu"},{"code":"nuv","name":"Northern Nuni"},{"code":"nuw","name":"Nguluwan"},{"code":"nux","name":"Mehek"},{"code":"nuy","name":"Nunggubuyu"},{"code":"nuz","name":"Tlamacazapa Nahuatl"},{"code":"nvh","name":"Nasarian"},{"code":"nvm","name":"Namiae"},{"code":"nvo","name":"Nyokon"},{"code":"nwa","name":"Nawathinehena"},{"code":"nwb","name":"Nyabwa"},{"code":"nwc","name":"Classical Nepal Bhasa"},{"code":"nwe","name":"Ngwe"},{"code":"nwg","name":"Ngayawung"},{"code":"nwi","name":"Southwest Tanna"},{"code":"nwm","name":"Nyamusa-Molo"},{"code":"nwo","name":"Nauo"},{"code":"nwr","name":"Nawaru"},{"code":"nwx","name":"Middle Newar"},{"code":"nwy","name":"Nottoway-Meherrin"},{"code":"nxa","name":"Nauete"},{"code":"nxd","name":"Ngando (Democratic Republic of Congo)"},{"code":"nxe","name":"Nage"},{"code":"nxg","name":"Ngad'a"},{"code":"nxi","name":"Nindi"},{"code":"nxk","name":"Koki Naga"},{"code":"nxl","name":"South Nuaulu"},{"code":"nxm","name":"Numidian"},{"code":"nxn","name":"Ngawun"},{"code":"nxo","name":"Ndambomo"},{"code":"nxq","name":"Naxi"},{"code":"nxr","name":"Ninggerum"},{"code":"nxx","name":"Nafri"},{"code":"nya","name":"Chewa"},{"code":"nyb","name":"Nyangbo"},{"code":"nyc","name":"Nyanga-li"},{"code":"nyd","name":"Nyore"},{"code":"nye","name":"Nyengo"},{"code":"nyf","name":"Giryama"},{"code":"nyg","name":"Nyindu"},{"code":"nyh","name":"Nyikina"},{"code":"nyi","name":"Ama (Sudan)"},{"code":"nyj","name":"Nyanga"},{"code":"nyk","name":"Nyaneka"},{"code":"nyl","name":"Nyeu"},{"code":"nym","name":"Nyamwezi"},{"code":"nyn","name":"Nyankole"},{"code":"nyo","name":"Nyoro"},{"code":"nyp","name":"Nyang'i"},{"code":"nyq","name":"Nayini"},{"code":"nyr","name":"Nyiha (Malawi)"},{"code":"nys","name":"Nyungar"},{"code":"nyt","name":"Nyawaygi"},{"code":"nyu","name":"Nyungwe"},{"code":"nyv","name":"Nyulnyul"},{"code":"nyw","name":"Nyaw"},{"code":"nyx","name":"Nganyaywana"},{"code":"nyy","name":"Nyakyusa-Ngonde"},{"code":"nza","name":"Tigon Mbembe"},{"code":"nzb","name":"Njebi"},{"code":"nzd","name":"Nzadi"},{"code":"nzi","name":"Nzima"},{"code":"nzk","name":"Nzakara"},{"code":"nzm","name":"Zeme Naga"},{"code":"nzs","name":"New Zealand Sign Language"},{"code":"nzu","name":"Teke-Nzikou"},{"code":"nzy","name":"Nzakambay"},{"code":"nzz","name":"Nanga Dama Dogon"},{"code":"oaa","name":"Orok"},{"code":"oac","name":"Oroch"},{"code":"oar","name":"Ancient Aramaic (up to 700 BCE)"},{"code":"oav","name":"Old Avar"},{"code":"obi","name":"Obispeño"},{"code":"obk","name":"Southern Bontok"},{"code":"obl","name":"Oblo"},{"code":"obm","name":"Moabite"},{"code":"obo","name":"Obo Manobo"},{"code":"obr","name":"Old Burmese"},{"code":"obt","name":"Old Breton"},{"code":"obu","name":"Obulom"},{"code":"oca","name":"Ocaina"},{"code":"och","name":"Old Chinese"},{"code":"oci","name":"Occitan (post 1500)"},{"code":"ocm","name":"Old Cham"},{"code":"oco","name":"Old Cornish"},{"code":"ocu","name":"Atzingo Matlatzinca"},{"code":"oda","name":"Odut"},{"code":"odk","name":"Od"},{"code":"odt","name":"Old Dutch"},{"code":"odu","name":"Odual"},{"code":"ofo","name":"Ofo"},{"code":"ofs","name":"Old Frisian"},{"code":"ofu","name":"Efutop"},{"code":"ogb","name":"Ogbia"},{"code":"ogc","name":"Ogbah"},{"code":"oge","name":"Old Georgian"},{"code":"ogg","name":"Ogbogolo"},{"code":"ogo","name":"Khana"},{"code":"ogu","name":"Ogbronuagum"},{"code":"oht","name":"Old Hittite"},{"code":"ohu","name":"Old Hungarian"},{"code":"oia","name":"Oirata"},{"code":"oin","name":"Inebu One"},{"code":"ojb","name":"Northwestern Ojibwa"},{"code":"ojc","name":"Central Ojibwa"},{"code":"ojg","name":"Eastern Ojibwa"},{"code":"oji","name":"Ojibwa"},{"code":"ojp","name":"Old Japanese"},{"code":"ojs","name":"Severn Ojibwa"},{"code":"ojv","name":"Ontong Java"},{"code":"ojw","name":"Western Ojibwa"},{"code":"oka","name":"Okanagan"},{"code":"okb","name":"Okobo"},{"code":"okc","name":"Kobo"},{"code":"okd","name":"Okodia"},{"code":"oke","name":"Okpe (Southwestern Edo)"},{"code":"okg","name":"Koko Babangk"},{"code":"okh","name":"Koresh-e Rostam"},{"code":"oki","name":"Okiek"},{"code":"okj","name":"Oko-Juwoi"},{"code":"okk","name":"Kwamtim One"},{"code":"okl","name":"Old Kentish Sign Language"},{"code":"okm","name":"Middle Korean (10th-16th cent.)"},{"code":"okn","name":"Oki-No-Erabu"},{"code":"oko","name":"Old Korean (3rd-9th cent.)"},{"code":"okr","name":"Kirike"},{"code":"oks","name":"Oko-Eni-Osayen"},{"code":"oku","name":"Oku"},{"code":"okv","name":"Orokaiva"},{"code":"okx","name":"Okpe (Northwestern Edo)"},{"code":"okz","name":"Old Khmer"},{"code":"ola","name":"Walungge"},{"code":"old","name":"Mochi"},{"code":"ole","name":"Olekha"},{"code":"olk","name":"Olkol"},{"code":"olm","name":"Oloma"},{"code":"olo","name":"Livvi"},{"code":"olr","name":"Olrat"},{"code":"olt","name":"Old Lithuanian"},{"code":"olu","name":"Kuvale"},{"code":"oma","name":"Omaha-Ponca"},{"code":"omb","name":"East Ambae"},{"code":"omc","name":"Mochica"},{"code":"omg","name":"Omagua"},{"code":"omi","name":"Omi"},{"code":"omk","name":"Omok"},{"code":"oml","name":"Ombo"},{"code":"omn","name":"Minoan"},{"code":"omo","name":"Utarmbung"},{"code":"omp","name":"Old Manipuri"},{"code":"omr","name":"Old Marathi"},{"code":"omt","name":"Omotik"},{"code":"omu","name":"Omurano"},{"code":"omw","name":"South Tairora"},{"code":"omx","name":"Old Mon"},{"code":"omy","name":"Old Malay"},{"code":"ona","name":"Ona"},{"code":"onb","name":"Lingao"},{"code":"one","name":"Oneida"},{"code":"ong","name":"Olo"},{"code":"oni","name":"Onin"},{"code":"onj","name":"Onjob"},{"code":"onk","name":"Kabore One"},{"code":"onn","name":"Onobasulu"},{"code":"ono","name":"Onondaga"},{"code":"onp","name":"Sartang"},{"code":"onr","name":"Northern One"},{"code":"ons","name":"Ono"},{"code":"ont","name":"Ontenu"},{"code":"onu","name":"Unua"},{"code":"onw","name":"Old Nubian"},{"code":"onx","name":"Onin Based Pidgin"},{"code":"ood","name":"Tohono O'odham"},{"code":"oog","name":"Ong"},{"code":"oon","name":"Önge"},{"code":"oor","name":"Oorlams"},{"code":"oos","name":"Old Ossetic"},{"code":"opa","name":"Okpamheri"},{"code":"opk","name":"Kopkaka"},{"code":"opm","name":"Oksapmin"},{"code":"opo","name":"Opao"},{"code":"opt","name":"Opata"},{"code":"opy","name":"Ofayé"},{"code":"ora","name":"Oroha"},{"code":"orc","name":"Orma"},{"code":"ore","name":"Orejón"},{"code":"org","name":"Oring"},{"code":"orh","name":"Oroqen"},{"code":"ori","name":"Oriya (macrolanguage)"},{"code":"orm","name":"Oromo"},{"code":"orn","name":"Orang Kanaq"},{"code":"oro","name":"Orokolo"},{"code":"orr","name":"Oruma"},{"code":"ors","name":"Orang Seletar"},{"code":"ort","name":"Adivasi Oriya"},{"code":"oru","name":"Ormuri"},{"code":"orv","name":"Old Russian"},{"code":"orw","name":"Oro Win"},{"code":"orx","name":"Oro"},{"code":"ory","name":"Odia"},{"code":"orz","name":"Ormu"},{"code":"osa","name":"Osage"},{"code":"osc","name":"Oscan"},{"code":"osi","name":"Osing"},{"code":"osn","name":"Old Sundanese"},{"code":"oso","name":"Ososo"},{"code":"osp","name":"Old Spanish"},{"code":"oss","name":"Ossetian"},{"code":"ost","name":"Osatu"},{"code":"osu","name":"Southern One"},{"code":"osx","name":"Old Saxon"},{"code":"ota","name":"Ottoman Turkish (1500-1928)"},{"code":"otb","name":"Old Tibetan"},{"code":"otd","name":"Ot Danum"},{"code":"ote","name":"Mezquital Otomi"},{"code":"oti","name":"Oti"},{"code":"otk","name":"Old Turkish"},{"code":"otl","name":"Tilapa Otomi"},{"code":"otm","name":"Eastern Highland Otomi"},{"code":"otn","name":"Tenango Otomi"},{"code":"otq","name":"Querétaro Otomi"},{"code":"otr","name":"Otoro"},{"code":"ots","name":"Estado de México Otomi"},{"code":"ott","name":"Temoaya Otomi"},{"code":"otu","name":"Otuke"},{"code":"otw","name":"Ottawa"},{"code":"otx","name":"Texcatepec Otomi"},{"code":"oty","name":"Old Tamil"},{"code":"otz","name":"Ixtenco Otomi"},{"code":"oua","name":"Tagargrent"},{"code":"oub","name":"Glio-Oubi"},{"code":"oue","name":"Oune"},{"code":"oui","name":"Old Uighur"},{"code":"oum","name":"Ouma"},{"code":"ovd","name":"Elfdalian"},{"code":"owi","name":"Owiniga"},{"code":"owl","name":"Old Welsh"},{"code":"oyb","name":"Oy"},{"code":"oyd","name":"Oyda"},{"code":"oym","name":"Wayampi"},{"code":"oyy","name":"Oya'oya"},{"code":"ozm","name":"Koonzime"},{"code":"pab","name":"Parecís"},{"code":"pac","name":"Pacoh"},{"code":"pad","name":"Paumarí"},{"code":"pae","name":"Pagibete"},{"code":"paf","name":"Paranawát"},{"code":"pag","name":"Pangasinan"},{"code":"pah","name":"Tenharim"},{"code":"pai","name":"Pe"},{"code":"pak","name":"Parakanã"},{"code":"pal","name":"Pahlavi"},{"code":"pam","name":"Kapampangan"},{"code":"pan","name":"Panjabi"},{"code":"pao","name":"Northern Paiute"},{"code":"pap","name":"Papiamento"},{"code":"paq","name":"Parya"},{"code":"par","name":"Panamint"},{"code":"pas","name":"Papasena"},{"code":"pau","name":"Palauan"},{"code":"pav","name":"Pakaásnovos"},{"code":"paw","name":"Pawnee"},{"code":"pax","name":"Pankararé"},{"code":"pay","name":"Pech"},{"code":"paz","name":"Pankararú"},{"code":"pbb","name":"Páez"},{"code":"pbc","name":"Patamona"},{"code":"pbe","name":"Mezontla Popoloca"},{"code":"pbf","name":"Coyotepec Popoloca"},{"code":"pbg","name":"Paraujano"},{"code":"pbh","name":"E'ñapa Woromaipu"},{"code":"pbi","name":"Parkwa"},{"code":"pbl","name":"Mak (Nigeria)"},{"code":"pbm","name":"Puebla Mazatec"},{"code":"pbn","name":"Kpasam"},{"code":"pbo","name":"Papel"},{"code":"pbp","name":"Badyara"},{"code":"pbr","name":"Pangwa"},{"code":"pbs","name":"Central Pame"},{"code":"pbt","name":"Southern Pashto"},{"code":"pbu","name":"Northern Pashto"},{"code":"pbv","name":"Pnar"},{"code":"pby","name":"Pyu (Papua New Guinea)"},{"code":"pca","name":"Santa Inés Ahuatempan Popoloca"},{"code":"pcb","name":"Pear"},{"code":"pcc","name":"Bouyei"},{"code":"pcd","name":"Picard"},{"code":"pce","name":"Ruching Palaung"},{"code":"pcf","name":"Paliyan"},{"code":"pcg","name":"Paniya"},{"code":"pch","name":"Pardhan"},{"code":"pci","name":"Duruwa"},{"code":"pcj","name":"Parenga"},{"code":"pck","name":"Paite Chin"},{"code":"pcl","name":"Pardhi"},{"code":"pcm","name":"Nigerian Pidgin"},{"code":"pcn","name":"Piti"},{"code":"pcp","name":"Pacahuara"},{"code":"pcw","name":"Pyapun"},{"code":"pda","name":"Anam"},{"code":"pdc","name":"Pennsylvania German"},{"code":"pdi","name":"Pa Di"},{"code":"pdn","name":"Fedan"},{"code":"pdo","name":"Padoe"},{"code":"pdt","name":"Plautdietsch"},{"code":"pdu","name":"Kayan"},{"code":"pea","name":"Peranakan Indonesian"},{"code":"peb","name":"Eastern Pomo"},{"code":"ped","name":"Mala (Papua New Guinea)"},{"code":"pee","name":"Taje"},{"code":"pef","name":"Northeastern Pomo"},{"code":"peg","name":"Pengo"},{"code":"peh","name":"Bonan"},{"code":"pei","name":"Chichimeca-Jonaz"},{"code":"pej","name":"Northern Pomo"},{"code":"pek","name":"Penchal"},{"code":"pel","name":"Pekal"},{"code":"pem","name":"Phende"},{"code":"peo","name":"Old Persian (ca. 600-400 B.C.)"},{"code":"pep","name":"Kunja"},{"code":"peq","name":"Southern Pomo"},{"code":"pes","name":"Iranian Persian"},{"code":"pev","name":"Pémono"},{"code":"pex","name":"Petats"},{"code":"pey","name":"Petjo"},{"code":"pez","name":"Eastern Penan"},{"code":"pfa","name":"Pááfang"},{"code":"pfe","name":"Pere"},{"code":"pfl","name":"Pfaelzisch"},{"code":"pga","name":"Sudanese Creole Arabic"},{"code":"pgd","name":"Gāndhārī"},{"code":"pgg","name":"Pangwali"},{"code":"pgi","name":"Pagi"},{"code":"pgk","name":"Rerep"},{"code":"pgl","name":"Primitive Irish"},{"code":"pgn","name":"Paelignian"},{"code":"pgs","name":"Pangseng"},{"code":"pgu","name":"Pagu"},{"code":"pgz","name":"Papua New Guinean Sign Language"},{"code":"pha","name":"Pa-Hng"},{"code":"phd","name":"Phudagi"},{"code":"phg","name":"Phuong"},{"code":"phh","name":"Phukha"},{"code":"phk","name":"Phake"},{"code":"phl","name":"Palula"},{"code":"phm","name":"Phimbi"},{"code":"phn","name":"Phoenician"},{"code":"pho","name":"Phunoi"},{"code":"phq","name":"Phana'"},{"code":"phr","name":"Pahari-Potwari"},{"code":"pht","name":"Phu Thai"},{"code":"phu","name":"Phuan"},{"code":"phv","name":"Pahlavani"},{"code":"phw","name":"Phangduwali"},{"code":"pia","name":"Pima Bajo"},{"code":"pib","name":"Yine"},{"code":"pic","name":"Pinji"},{"code":"pid","name":"Piaroa"},{"code":"pie","name":"Piro"},{"code":"pif","name":"Pingelapese"},{"code":"pig","name":"Pisabo"},{"code":"pih","name":"Pitcairn-Norfolk"},{"code":"pii","name":"Pini"},{"code":"pij","name":"Pijao"},{"code":"pil","name":"Yom"},{"code":"pim","name":"Powhatan"},{"code":"pin","name":"Piame"},{"code":"pio","name":"Piapoco"},{"code":"pip","name":"Pero"},{"code":"pir","name":"Piratapuyo"},{"code":"pis","name":"Pijin"},{"code":"pit","name":"Pitta Pitta"},{"code":"piu","name":"Pintupi-Luritja"},{"code":"piv","name":"Pileni"},{"code":"piw","name":"Pimbwe"},{"code":"pix","name":"Piu"},{"code":"piy","name":"Piya-Kwonci"},{"code":"piz","name":"Pije"},{"code":"pjt","name":"Pitjantjatjara"},{"code":"pka","name":"Ardhamāgadhī Prākrit"},{"code":"pkb","name":"Kipfokomo"},{"code":"pkc","name":"Paekche"},{"code":"pkg","name":"Pak-Tong"},{"code":"pkh","name":"Pankhu"},{"code":"pkn","name":"Pakanha"},{"code":"pko","name":"Pökoot"},{"code":"pkp","name":"Pukapuka"},{"code":"pkr","name":"Attapady Kurumba"},{"code":"pks","name":"Pakistan Sign Language"},{"code":"pkt","name":"Maleng"},{"code":"pku","name":"Paku"},{"code":"pla","name":"Miani"},{"code":"plb","name":"Polonombauk"},{"code":"plc","name":"Central Palawano"},{"code":"pld","name":"Polari"},{"code":"ple","name":"Palu'e"},{"code":"plg","name":"Pilagá"},{"code":"plh","name":"Paulohi"},{"code":"pli","name":"Pali"},{"code":"plj","name":"Polci"},{"code":"plk","name":"Kohistani Shina"},{"code":"pll","name":"Shwe Palaung"},{"code":"pln","name":"Palenquero"},{"code":"plo","name":"Oluta Popoluca"},{"code":"plq","name":"Palaic"},{"code":"plr","name":"Palaka Senoufo"},{"code":"pls","name":"San Marcos Tlacoyalco Popoloca"},{"code":"plt","name":"Plateau Malagasy"},{"code":"plu","name":"Palikúr"},{"code":"plv","name":"Southwest Palawano"},{"code":"plw","name":"Brooke's Point Palawano"},{"code":"ply","name":"Bolyu"},{"code":"plz","name":"Paluan"},{"code":"pma","name":"Paama"},{"code":"pmb","name":"Pambia"},{"code":"pmd","name":"Pallanganmiddang"},{"code":"pme","name":"Pwaamei"},{"code":"pmf","name":"Pamona"},{"code":"pmh","name":"Māhārāṣṭri Prākrit"},{"code":"pmi","name":"Northern Pumi"},{"code":"pmj","name":"Southern Pumi"},{"code":"pmk","name":"Pamlico"},{"code":"pml","name":"Lingua Franca"},{"code":"pmm","name":"Pomo"},{"code":"pmn","name":"Pam"},{"code":"pmo","name":"Pom"},{"code":"pmq","name":"Northern Pame"},{"code":"pmr","name":"Paynamar"},{"code":"pms","name":"Piemontese"},{"code":"pmt","name":"Tuamotuan"},{"code":"pmw","name":"Plains Miwok"},{"code":"pmx","name":"Poumei Naga"},{"code":"pmy","name":"Papuan Malay"},{"code":"pmz","name":"Southern Pame"},{"code":"pna","name":"Punan Bah-Biau"},{"code":"pnb","name":"Western Panjabi"},{"code":"pnc","name":"Pannei"},{"code":"pnd","name":"Mpinda"},{"code":"pne","name":"Western Penan"},{"code":"png","name":"Pangu"},{"code":"pnh","name":"Penrhyn"},{"code":"pni","name":"Aoheng"},{"code":"pnj","name":"Pinjarup"},{"code":"pnk","name":"Paunaka"},{"code":"pnl","name":"Paleni"},{"code":"pnm","name":"Punan Batu 1"},{"code":"pnn","name":"Pinai-Hagahai"},{"code":"pno","name":"Panobo"},{"code":"pnp","name":"Pancana"},{"code":"pnq","name":"Pana (Burkina Faso)"},{"code":"pnr","name":"Panim"},{"code":"pns","name":"Ponosakan"},{"code":"pnt","name":"Pontic"},{"code":"pnu","name":"Jiongnai Bunu"},{"code":"pnv","name":"Pinigura"},{"code":"pnw","name":"Banyjima"},{"code":"pnx","name":"Phong-Kniang"},{"code":"pny","name":"Pinyin"},{"code":"pnz","name":"Pana (Central African Republic)"},{"code":"poc","name":"Poqomam"},{"code":"poe","name":"San Juan Atzingo Popoloca"},{"code":"pof","name":"Poke"},{"code":"pog","name":"Potiguára"},{"code":"poh","name":"Poqomchi'"},{"code":"poi","name":"Highland Popoluca"},{"code":"pok","name":"Pokangá"},{"code":"pol","name":"Polish"},{"code":"pom","name":"Southeastern Pomo"},{"code":"pon","name":"Pohnpeian"},{"code":"poo","name":"Central Pomo"},{"code":"pop","name":"Pwapwâ"},{"code":"poq","name":"Texistepec Popoluca"},{"code":"por","name":"Portuguese"},{"code":"pos","name":"Sayula Popoluca"},{"code":"pot","name":"Potawatomi"},{"code":"pov","name":"Upper Guinea Crioulo"},{"code":"pow","name":"San Felipe Otlaltepec Popoloca"},{"code":"pox","name":"Polabian"},{"code":"poy","name":"Pogolo"},{"code":"ppe","name":"Papi"},{"code":"ppi","name":"Paipai"},{"code":"ppk","name":"Uma"},{"code":"ppl","name":"Nicarao"},{"code":"ppm","name":"Papuma"},{"code":"ppn","name":"Papapana"},{"code":"ppo","name":"Folopa"},{"code":"ppp","name":"Pelende"},{"code":"ppq","name":"Pei"},{"code":"pps","name":"San Luís Temalacayuca Popoloca"},{"code":"ppt","name":"Pare"},{"code":"ppu","name":"Papora"},{"code":"pqa","name":"Pa'a"},{"code":"pqm","name":"Malecite-Passamaquoddy"},{"code":"prc","name":"Parachi"},{"code":"prd","name":"Parsi-Dari"},{"code":"pre","name":"Principense"},{"code":"prf","name":"Paranan"},{"code":"prg","name":"Prussian"},{"code":"prh","name":"Porohanon"},{"code":"pri","name":"Paicî"},{"code":"prk","name":"Parauk"},{"code":"prl","name":"Peruvian Sign Language"},{"code":"prm","name":"Kibiri"},{"code":"prn","name":"Prasuni"},{"code":"pro","name":"Old Occitan (to 1500)"},{"code":"prp","name":"Parsi"},{"code":"prq","name":"Ashéninka Perené"},{"code":"prr","name":"Puri"},{"code":"prs","name":"Afghan Persian"},{"code":"prt","name":"Phai"},{"code":"pru","name":"Puragi"},{"code":"prw","name":"Parawen"},{"code":"prx","name":"Purik"},{"code":"prz","name":"Providencia Sign Language"},{"code":"psa","name":"Asue Awyu"},{"code":"psc","name":"Persian Sign Language"},{"code":"psd","name":"Plains Indian Sign Language"},{"code":"pse","name":"Central Malay"},{"code":"psg","name":"Penang Sign Language"},{"code":"psh","name":"Southwest Pashai"},{"code":"psi","name":"Southeast Pashai"},{"code":"psl","name":"Puerto Rican Sign Language"},{"code":"psm","name":"Pauserna"},{"code":"psn","name":"Panasuan"},{"code":"pso","name":"Polish Sign Language"},{"code":"psp","name":"Philippine Sign Language"},{"code":"psq","name":"Pasi"},{"code":"psr","name":"Portuguese Sign Language"},{"code":"pss","name":"Kaulong"},{"code":"pst","name":"Central Pashto"},{"code":"psu","name":"Sauraseni Prākrit"},{"code":"psw","name":"Port Sandwich"},{"code":"psy","name":"Piscataway"},{"code":"pta","name":"Pai Tavytera"},{"code":"pth","name":"Pataxó Hã-Ha-Hãe"},{"code":"pti","name":"Pindiini"},{"code":"ptn","name":"Patani"},{"code":"pto","name":"Zo'é"},{"code":"ptp","name":"Patep"},{"code":"ptq","name":"Pattapu"},{"code":"ptr","name":"Piamatsina"},{"code":"ptt","name":"Enrekang"},{"code":"ptu","name":"Bambam"},{"code":"ptv","name":"Port Vato"},{"code":"ptw","name":"Pentlatch"},{"code":"pty","name":"Pathiya"},{"code":"pua","name":"Western Highland Purepecha"},{"code":"pub","name":"Purum"},{"code":"puc","name":"Punan Merap"},{"code":"pud","name":"Punan Aput"},{"code":"pue","name":"Puelche"},{"code":"puf","name":"Punan Merah"},{"code":"pug","name":"Phuie"},{"code":"pui","name":"Puinave"},{"code":"puj","name":"Punan Tubu"},{"code":"pum","name":"Puma"},{"code":"puo","name":"Puoc"},{"code":"pup","name":"Pulabu"},{"code":"puq","name":"Puquina"},{"code":"pur","name":"Puruborá"},{"code":"pus","name":"Pashto"},{"code":"put","name":"Putoh"},{"code":"puu","name":"Punu"},{"code":"puw","name":"Puluwatese"},{"code":"pux","name":"Puare"},{"code":"puy","name":"Purisimeño"},{"code":"pwa","name":"Pawaia"},{"code":"pwb","name":"Panawa"},{"code":"pwg","name":"Gapapaiwa"},{"code":"pwi","name":"Patwin"},{"code":"pwm","name":"Molbog"},{"code":"pwn","name":"Paiwan"},{"code":"pwo","name":"Pwo Western Karen"},{"code":"pwr","name":"Powari"},{"code":"pww","name":"Pwo Northern Karen"},{"code":"pxm","name":"Quetzaltepec Mixe"},{"code":"pye","name":"Pye Krumen"},{"code":"pym","name":"Fyam"},{"code":"pyn","name":"Poyanáwa"},{"code":"pys","name":"Lengua de Señas del Paraguay"},{"code":"pyu","name":"Puyuma"},{"code":"pyx","name":"Pyu (Myanmar)"},{"code":"pyy","name":"Pyen"},{"code":"pzn","name":"Para Naga"},{"code":"qua","name":"Quapaw"},{"code":"qub","name":"Huallaga Huánuco Quechua"},{"code":"quc","name":"K'iche'"},{"code":"qud","name":"Calderón Highland Quichua"},{"code":"que","name":"Quechua"},{"code":"quf","name":"Lambayeque Quechua"},{"code":"qug","name":"Chimborazo Highland Quichua"},{"code":"quh","name":"South Bolivian Quechua"},{"code":"qui","name":"Quileute"},{"code":"quk","name":"Chachapoyas Quechua"},{"code":"qul","name":"North Bolivian Quechua"},{"code":"qum","name":"Sipacapense"},{"code":"qun","name":"Quinault"},{"code":"qup","name":"Southern Pastaza Quechua"},{"code":"quq","name":"Quinqui"},{"code":"qur","name":"Yanahuanca Pasco Quechua"},{"code":"qus","name":"Santiago del Estero Quichua"},{"code":"quv","name":"Sacapulteco"},{"code":"quw","name":"Tena Lowland Quichua"},{"code":"qux","name":"Yauyos Quechua"},{"code":"quy","name":"Ayacucho Quechua"},{"code":"quz","name":"Cusco Quechua"},{"code":"qva","name":"Ambo-Pasco Quechua"},{"code":"qvc","name":"Cajamarca Quechua"},{"code":"qve","name":"Eastern Apurímac Quechua"},{"code":"qvh","name":"Huamalíes-Dos de Mayo Huánuco Quechua"},{"code":"qvi","name":"Imbabura Highland Quichua"},{"code":"qvj","name":"Loja Highland Quichua"},{"code":"qvl","name":"Cajatambo North Lima Quechua"},{"code":"qvm","name":"Margos-Yarowilca-Lauricocha Quechua"},{"code":"qvn","name":"North Junín Quechua"},{"code":"qvo","name":"Napo Lowland Quechua"},{"code":"qvp","name":"Pacaraos Quechua"},{"code":"qvs","name":"San Martín Quechua"},{"code":"qvw","name":"Huaylla Wanca Quechua"},{"code":"qvy","name":"Queyu"},{"code":"qvz","name":"Northern Pastaza Quichua"},{"code":"qwa","name":"Corongo Ancash Quechua"},{"code":"qwc","name":"Classical Quechua"},{"code":"qwh","name":"Huaylas Ancash Quechua"},{"code":"qwm","name":"Kuman (Russia)"},{"code":"qws","name":"Sihuas Ancash Quechua"},{"code":"qwt","name":"Kwalhioqua-Tlatskanai"},{"code":"qxa","name":"Chiquián Ancash Quechua"},{"code":"qxc","name":"Chincha Quechua"},{"code":"qxh","name":"Panao Huánuco Quechua"},{"code":"qxl","name":"Salasaca Highland Quichua"},{"code":"qxn","name":"Northern Conchucos Ancash Quechua"},{"code":"qxo","name":"Southern Conchucos Ancash Quechua"},{"code":"qxp","name":"Puno Quechua"},{"code":"qxq","name":"Qashqa'i"},{"code":"qxr","name":"Cañar Highland Quichua"},{"code":"qxs","name":"Southern Qiang"},{"code":"qxt","name":"Santa Ana de Tusi Pasco Quechua"},{"code":"qxu","name":"Arequipa-La Unión Quechua"},{"code":"qxw","name":"Jauja Wanca Quechua"},{"code":"qya","name":"Quenya"},{"code":"qyp","name":"Quiripi"},{"code":"raa","name":"Dungmali"},{"code":"rab","name":"Camling"},{"code":"rac","name":"Rasawa"},{"code":"rad","name":"Rade"},{"code":"raf","name":"Western Meohang"},{"code":"rag","name":"Logooli"},{"code":"rah","name":"Rabha"},{"code":"rai","name":"Ramoaaina"},{"code":"raj","name":"Rajasthani"},{"code":"rak","name":"Tulu-Bohuai"},{"code":"ral","name":"Ralte"},{"code":"ram","name":"Canela"},{"code":"ran","name":"Riantana"},{"code":"rao","name":"Rao"},{"code":"rap","name":"Rapanui"},{"code":"raq","name":"Saam"},{"code":"rar","name":"Cook Islands Maori"},{"code":"ras","name":"Tegali"},{"code":"rat","name":"Razajerdi"},{"code":"rau","name":"Raute"},{"code":"rav","name":"Sampang"},{"code":"raw","name":"Rawang"},{"code":"rax","name":"Rang"},{"code":"ray","name":"Rapa"},{"code":"raz","name":"Rahambuu"},{"code":"rbb","name":"Rumai Palaung"},{"code":"rbk","name":"Northern Bontok"},{"code":"rbl","name":"Miraya Bikol"},{"code":"rbp","name":"Barababaraba"},{"code":"rcf","name":"Réunion Creole French"},{"code":"rdb","name":"Rudbari"},{"code":"rea","name":"Rerau"},{"code":"reb","name":"Rembong"},{"code":"ree","name":"Rejang Kayan"},{"code":"reg","name":"Kara (Tanzania)"},{"code":"rei","name":"Reli"},{"code":"rej","name":"Rejang"},{"code":"rel","name":"Rendille"},{"code":"rem","name":"Remo"},{"code":"ren","name":"Rengao"},{"code":"rer","name":"Rer Bare"},{"code":"res","name":"Reshe"},{"code":"ret","name":"Retta"},{"code":"rey","name":"Reyesano"},{"code":"rga","name":"Roria"},{"code":"rge","name":"Romano-Greek"},{"code":"rgk","name":"Rangkas"},{"code":"rgn","name":"Romagnol"},{"code":"rgr","name":"Resígaro"},{"code":"rgs","name":"Southern Roglai"},{"code":"rgu","name":"Ringgou"},{"code":"rhg","name":"Rohingya"},{"code":"rhp","name":"Yahang"},{"code":"ria","name":"Riang (India)"},{"code":"rif","name":"Tarifit"},{"code":"ril","name":"Riang (Myanmar)"},{"code":"rim","name":"Nyaturu"},{"code":"rin","name":"Nungu"},{"code":"rir","name":"Ribun"},{"code":"rit","name":"Ritharrngu"},{"code":"riu","name":"Riung"},{"code":"rjg","name":"Rajong"},{"code":"rji","name":"Raji"},{"code":"rjs","name":"Rajbanshi"},{"code":"rka","name":"Kraol"},{"code":"rkb","name":"Rikbaktsa"},{"code":"rkh","name":"Rakahanga-Manihiki"},{"code":"rki","name":"Rakhine"},{"code":"rkm","name":"Marka"},{"code":"rkt","name":"Kamta"},{"code":"rkw","name":"Arakwal"},{"code":"rma","name":"Rama"},{"code":"rmb","name":"Rembarrnga"},{"code":"rmc","name":"Carpathian Romani"},{"code":"rmd","name":"Traveller Danish"},{"code":"rme","name":"Angloromani"},{"code":"rmf","name":"Kalo Finnish Romani"},{"code":"rmg","name":"Traveller Norwegian"},{"code":"rmh","name":"Murkim"},{"code":"rmi","name":"Lomavren"},{"code":"rmk","name":"Romkun"},{"code":"rml","name":"Baltic Romani"},{"code":"rmm","name":"Roma"},{"code":"rmn","name":"Balkan Romani"},{"code":"rmo","name":"Sinte Romani"},{"code":"rmp","name":"Rempi"},{"code":"rmq","name":"Caló"},{"code":"rms","name":"Romanian Sign Language"},{"code":"rmt","name":"Domari"},{"code":"rmu","name":"Tavringer Romani"},{"code":"rmv","name":"Romanova"},{"code":"rmw","name":"Welsh Romani"},{"code":"rmx","name":"Romam"},{"code":"rmy","name":"Vlax Romani"},{"code":"rmz","name":"Marma"},{"code":"rnd","name":"Ruund"},{"code":"rng","name":"Ronga"},{"code":"rnl","name":"Ranglong"},{"code":"rnn","name":"Roon"},{"code":"rnp","name":"Rongpo"},{"code":"rnr","name":"Nari Nari"},{"code":"rnw","name":"Rungwa"},{"code":"rob","name":"Tae'"},{"code":"roc","name":"Cacgia Roglai"},{"code":"rod","name":"Rogo"},{"code":"roe","name":"Ronji"},{"code":"rof","name":"Rombo"},{"code":"rog","name":"Northern Roglai"},{"code":"roh","name":"Romansh"},{"code":"rol","name":"Romblomanon"},{"code":"rom","name":"Romany"},{"code":"ron","name":"Romanian"},{"code":"roo","name":"Rotokas"},{"code":"rop","name":"Kriol"},{"code":"ror","name":"Rongga"},{"code":"rou","name":"Runga"},{"code":"row","name":"Dela-Oenale"},{"code":"rpn","name":"Repanbitip"},{"code":"rpt","name":"Rapting"},{"code":"rri","name":"Ririo"},{"code":"rro","name":"Waima"},{"code":"rrt","name":"Arritinngithigh"},{"code":"rsb","name":"Romano-Serbian"},{"code":"rsl","name":"Russian Sign Language"},{"code":"rsm","name":"Miriwoong Sign Language"},{"code":"rtc","name":"Rungtu Chin"},{"code":"rth","name":"Ratahan"},{"code":"rtm","name":"Rotuman"},{"code":"rts","name":"Yurats"},{"code":"rtw","name":"Rathawi"},{"code":"rub","name":"Gungu"},{"code":"ruc","name":"Ruuli"},{"code":"rue","name":"Rusyn"},{"code":"ruf","name":"Luguru"},{"code":"rug","name":"Roviana"},{"code":"ruh","name":"Ruga"},{"code":"rui","name":"Rufiji"},{"code":"ruk","name":"Che"},{"code":"run","name":"Rundi"},{"code":"ruo","name":"Istro Romanian"},{"code":"rup","name":"Aromanian"},{"code":"ruq","name":"Megleno Romanian"},{"code":"rus","name":"Russian"},{"code":"rut","name":"Rutul"},{"code":"ruu","name":"Lanas Lobu"},{"code":"ruy","name":"Mala (Nigeria)"},{"code":"ruz","name":"Ruma"},{"code":"rwa","name":"Rawo"},{"code":"rwk","name":"Rwa"},{"code":"rwl","name":"Ruwila"},{"code":"rwm","name":"Amba (Uganda)"},{"code":"rwo","name":"Rawa"},{"code":"rwr","name":"Marwari (India)"},{"code":"rxd","name":"Ngardi"},{"code":"rxw","name":"Garuwali"},{"code":"ryn","name":"Northern Amami-Oshima"},{"code":"rys","name":"Yaeyama"},{"code":"ryu","name":"Central Okinawan"},{"code":"rzh","name":"Rāziḥī"},{"code":"saa","name":"Saba"},{"code":"sab","name":"Buglere"},{"code":"sac","name":"Meskwaki"},{"code":"sad","name":"Sandawe"},{"code":"sae","name":"Sabanê"},{"code":"saf","name":"Safaliba"},{"code":"sag","name":"Sango"},{"code":"sah","name":"Yakut"},{"code":"saj","name":"Sahu"},{"code":"sak","name":"Sake"},{"code":"sam","name":"Samaritan Aramaic"},{"code":"san","name":"Sanskrit"},{"code":"sao","name":"Sause"},{"code":"saq","name":"Samburu"},{"code":"sar","name":"Saraveca"},{"code":"sas","name":"Sasak"},{"code":"sat","name":"Santali"},{"code":"sau","name":"Saleman"},{"code":"sav","name":"Saafi-Saafi"},{"code":"saw","name":"Sawi"},{"code":"sax","name":"Sa"},{"code":"say","name":"Saya"},{"code":"saz","name":"Saurashtra"},{"code":"sba","name":"Ngambay"},{"code":"sbb","name":"Simbo"},{"code":"sbc","name":"Kele (Papua New Guinea)"},{"code":"sbd","name":"Southern Samo"},{"code":"sbe","name":"Saliba"},{"code":"sbf","name":"Chabu"},{"code":"sbg","name":"Seget"},{"code":"sbh","name":"Sori-Harengan"},{"code":"sbi","name":"Seti"},{"code":"sbj","name":"Surbakhal"},{"code":"sbk","name":"Safwa"},{"code":"sbl","name":"Botolan Sambal"},{"code":"sbm","name":"Sagala"},{"code":"sbn","name":"Sindhi Bhil"},{"code":"sbo","name":"Sabüm"},{"code":"sbp","name":"Sangu (Tanzania)"},{"code":"sbq","name":"Sileibi"},{"code":"sbr","name":"Sembakung Murut"},{"code":"sbs","name":"Subiya"},{"code":"sbt","name":"Kimki"},{"code":"sbu","name":"Stod Bhoti"},{"code":"sbv","name":"Sabine"},{"code":"sbw","name":"Simba"},{"code":"sbx","name":"Seberuang"},{"code":"sby","name":"Soli"},{"code":"sbz","name":"Sara Kaba"},{"code":"scb","name":"Chut"},{"code":"sce","name":"Dongxiang"},{"code":"scf","name":"San Miguel Creole French"},{"code":"scg","name":"Sanggau"},{"code":"sch","name":"Sakachep"},{"code":"sci","name":"Sri Lankan Creole Malay"},{"code":"sck","name":"Sadri"},{"code":"scl","name":"Shina"},{"code":"scn","name":"Sicilian"},{"code":"sco","name":"Scots"},{"code":"scp","name":"Helambu Sherpa"},{"code":"scq","name":"Sa'och"},{"code":"scs","name":"North Slavey"},{"code":"sct","name":"Southern Katang"},{"code":"scu","name":"Shumcho"},{"code":"scv","name":"Sheni"},{"code":"scw","name":"Sha"},{"code":"scx","name":"Sicel"},{"code":"sda","name":"Toraja-Sa'dan"},{"code":"sdb","name":"Shabak"},{"code":"sdc","name":"Sassarese Sardinian"},{"code":"sde","name":"Surubu"},{"code":"sdf","name":"Sarli"},{"code":"sdg","name":"Savi"},{"code":"sdh","name":"Southern Kurdish"},{"code":"sdj","name":"Suundi"},{"code":"sdk","name":"Sos Kundi"},{"code":"sdl","name":"Saudi Arabian Sign Language"},{"code":"sdn","name":"Gallurese Sardinian"},{"code":"sdo","name":"Bukar-Sadung Bidayuh"},{"code":"sdp","name":"Sherdukpen"},{"code":"sdq","name":"Semandang"},{"code":"sdr","name":"Oraon Sadri"},{"code":"sds","name":"Sened"},{"code":"sdt","name":"Shuadit"},{"code":"sdu","name":"Sarudu"},{"code":"sdx","name":"Sibu Melanau"},{"code":"sdz","name":"Sallands"},{"code":"sea","name":"Semai"},{"code":"seb","name":"Shempire Senoufo"},{"code":"sec","name":"Sechelt"},{"code":"sed","name":"Sedang"},{"code":"see","name":"Seneca"},{"code":"sef","name":"Cebaara Senoufo"},{"code":"seg","name":"Segeju"},{"code":"seh","name":"Sena"},{"code":"sei","name":"Seri"},{"code":"sej","name":"Sene"},{"code":"sek","name":"Sekani"},{"code":"sel","name":"Selkup"},{"code":"sen","name":"Nanerigé Sénoufo"},{"code":"seo","name":"Suarmin"},{"code":"sep","name":"Sìcìté Sénoufo"},{"code":"seq","name":"Senara Sénoufo"},{"code":"ser","name":"Serrano"},{"code":"ses","name":"Koyraboro Senni Songhai"},{"code":"set","name":"Sentani"},{"code":"seu","name":"Serui-Laut"},{"code":"sev","name":"Nyarafolo Senoufo"},{"code":"sew","name":"Sewa Bay"},{"code":"sey","name":"Secoya"},{"code":"sez","name":"Senthang Chin"},{"code":"sfb","name":"French Belgian Sign Language"},{"code":"sfe","name":"Eastern Subanen"},{"code":"sfm","name":"Small Flowery Miao"},{"code":"sfs","name":"South African Sign Language"},{"code":"sfw","name":"Sehwi"},{"code":"sga","name":"Old Irish (to 900)"},{"code":"sgb","name":"Mag-antsi Ayta"},{"code":"sgc","name":"Kipsigis"},{"code":"sgd","name":"Surigaonon"},{"code":"sge","name":"Segai"},{"code":"sgg","name":"Swiss-German Sign Language"},{"code":"sgh","name":"Shughni"},{"code":"sgi","name":"Suga"},{"code":"sgj","name":"Surgujia"},{"code":"sgk","name":"Sangkong"},{"code":"sgm","name":"Singa"},{"code":"sgp","name":"Singpho"},{"code":"sgr","name":"Sangisari"},{"code":"sgs","name":"Samogitian"},{"code":"sgt","name":"Brokpake"},{"code":"sgu","name":"Salas"},{"code":"sgw","name":"Sebat Bet Gurage"},{"code":"sgx","name":"Sierra Leone Sign Language"},{"code":"sgy","name":"Sanglechi"},{"code":"sgz","name":"Sursurunga"},{"code":"sha","name":"Shall-Zwall"},{"code":"shb","name":"Ninam"},{"code":"shc","name":"Sonde"},{"code":"shd","name":"Kundal Shahi"},{"code":"she","name":"Sheko"},{"code":"shg","name":"Shua"},{"code":"shh","name":"Shoshoni"},{"code":"shi","name":"Tachelhit"},{"code":"shj","name":"Shatt"},{"code":"shk","name":"Shilluk"},{"code":"shl","name":"Shendu"},{"code":"shm","name":"Shahrudi"},{"code":"shn","name":"Shan"},{"code":"sho","name":"Shanga"},{"code":"shp","name":"Shipibo-Conibo"},{"code":"shq","name":"Sala"},{"code":"shr","name":"Shi"},{"code":"shs","name":"Shuswap"},{"code":"sht","name":"Shasta"},{"code":"shu","name":"Chadian Arabic"},{"code":"shv","name":"Shehri"},{"code":"shw","name":"Shwai"},{"code":"shx","name":"She"},{"code":"shy","name":"Tachawit"},{"code":"shz","name":"Syenara Senoufo"},{"code":"sia","name":"Akkala Sami"},{"code":"sib","name":"Sebop"},{"code":"sid","name":"Sidamo"},{"code":"sie","name":"Simaa"},{"code":"sif","name":"Siamou"},{"code":"sig","name":"Paasaal"},{"code":"sih","name":"Sîshëë"},{"code":"sii","name":"Shom Peng"},{"code":"sij","name":"Numbami"},{"code":"sik","name":"Sikiana"},{"code":"sil","name":"Tumulung Sisaala"},{"code":"sim","name":"Mende (Papua New Guinea)"},{"code":"sin","name":"Sinhala"},{"code":"sip","name":"Sikkimese"},{"code":"siq","name":"Sonia"},{"code":"sir","name":"Siri"},{"code":"sis","name":"Siuslaw"},{"code":"siu","name":"Sinagen"},{"code":"siv","name":"Sumariup"},{"code":"siw","name":"Siwai"},{"code":"six","name":"Sumau"},{"code":"siy","name":"Sivandi"},{"code":"siz","name":"Siwi"},{"code":"sja","name":"Epena"},{"code":"sjb","name":"Sajau Basap"},{"code":"sjd","name":"Kildin Sami"},{"code":"sje","name":"Pite Sami"},{"code":"sjg","name":"Assangori"},{"code":"sjk","name":"Kemi Sami"},{"code":"sjl","name":"Miji"},{"code":"sjm","name":"Mapun"},{"code":"sjn","name":"Sindarin"},{"code":"sjo","name":"Xibe"},{"code":"sjp","name":"Surjapuri"},{"code":"sjr","name":"Siar-Lak"},{"code":"sjs","name":"Senhaja De Srair"},{"code":"sjt","name":"Ter Sami"},{"code":"sju","name":"Ume Sami"},{"code":"sjw","name":"Shawnee"},{"code":"ska","name":"Skagit"},{"code":"skb","name":"Saek"},{"code":"skc","name":"Ma Manda"},{"code":"skd","name":"Southern Sierra Miwok"},{"code":"ske","name":"Seke (Vanuatu)"},{"code":"skf","name":"Sakirabiá"},{"code":"skg","name":"Sakalava Malagasy"},{"code":"skh","name":"Sikule"},{"code":"ski","name":"Sika"},{"code":"skj","name":"Seke (Nepal)"},{"code":"skm","name":"Kutong"},{"code":"skn","name":"Kolibugan Subanon"},{"code":"sko","name":"Seko Tengah"},{"code":"skp","name":"Sekapan"},{"code":"skq","name":"Sininkere"},{"code":"skr","name":"Saraiki"},{"code":"sks","name":"Maia"},{"code":"skt","name":"Sakata"},{"code":"sku","name":"Sakao"},{"code":"skv","name":"Skou"},{"code":"skw","name":"Skepi Creole Dutch"},{"code":"skx","name":"Seko Padang"},{"code":"sky","name":"Sikaiana"},{"code":"skz","name":"Sekar"},{"code":"slc","name":"Sáliba"},{"code":"sld","name":"Sissala"},{"code":"sle","name":"Sholaga"},{"code":"slf","name":"Swiss-Italian Sign Language"},{"code":"slg","name":"Selungai Murut"},{"code":"slh","name":"Southern Puget Sound Salish"},{"code":"sli","name":"Lower Silesian"},{"code":"slj","name":"Salumá"},{"code":"slk","name":"Slovak"},{"code":"sll","name":"Salt-Yui"},{"code":"slm","name":"Pangutaran Sama"},{"code":"sln","name":"Salinan"},{"code":"slp","name":"Lamaholot"},{"code":"slq","name":"Salchuq"},{"code":"slr","name":"Salar"},{"code":"sls","name":"Singapore Sign Language"},{"code":"slt","name":"Sila"},{"code":"slu","name":"Selaru"},{"code":"slv","name":"Slovenian"},{"code":"slw","name":"Sialum"},{"code":"slx","name":"Salampasu"},{"code":"sly","name":"Selayar"},{"code":"slz","name":"Ma'ya"},{"code":"sma","name":"Southern Sami"},{"code":"smb","name":"Simbari"},{"code":"smc","name":"Som"},{"code":"smd","name":"Sama"},{"code":"sme","name":"Northern Sami"},{"code":"smf","name":"Auwe"},{"code":"smg","name":"Simbali"},{"code":"smh","name":"Samei"},{"code":"smj","name":"Lule Sami"},{"code":"smk","name":"Bolinao"},{"code":"sml","name":"Central Sama"},{"code":"smm","name":"Musasa"},{"code":"smn","name":"Inari Sami"},{"code":"smo","name":"Samoan"},{"code":"smp","name":"Samaritan"},{"code":"smq","name":"Samo"},{"code":"smr","name":"Simeulue"},{"code":"sms","name":"Skolt Sami"},{"code":"smt","name":"Simte"},{"code":"smu","name":"Somray"},{"code":"smv","name":"Samvedi"},{"code":"smw","name":"Sumbawa"},{"code":"smx","name":"Samba"},{"code":"smy","name":"Semnani"},{"code":"smz","name":"Simeku"},{"code":"sna","name":"Shona"},{"code":"snb","name":"Sebuyau"},{"code":"snc","name":"Sinaugoro"},{"code":"snd","name":"Sindhi"},{"code":"sne","name":"Bau Bidayuh"},{"code":"snf","name":"Noon"},{"code":"sng","name":"Sanga (Democratic Republic of Congo)"},{"code":"sni","name":"Sensi"},{"code":"snj","name":"Riverain Sango"},{"code":"snk","name":"Soninke"},{"code":"snl","name":"Sangil"},{"code":"snm","name":"Southern Ma'di"},{"code":"snn","name":"Siona"},{"code":"sno","name":"Snohomish"},{"code":"snp","name":"Siane"},{"code":"snq","name":"Sangu (Gabon)"},{"code":"snr","name":"Sihan"},{"code":"sns","name":"Nahavaq"},{"code":"snu","name":"Senggi"},{"code":"snv","name":"Sa'ban"},{"code":"snw","name":"Selee"},{"code":"snx","name":"Sam"},{"code":"sny","name":"Saniyo-Hiyewe"},{"code":"snz","name":"Kou"},{"code":"soa","name":"Thai Song"},{"code":"sob","name":"Sobei"},{"code":"soc","name":"So (Democratic Republic of Congo)"},{"code":"sod","name":"Songoora"},{"code":"soe","name":"Songomeno"},{"code":"sog","name":"Sogdian"},{"code":"soh","name":"Aka"},{"code":"soi","name":"Sonha"},{"code":"soj","name":"Soi"},{"code":"sok","name":"Sokoro"},{"code":"sol","name":"Solos"},{"code":"som","name":"Somali"},{"code":"soo","name":"Songo"},{"code":"sop","name":"Songe"},{"code":"soq","name":"Kanasi"},{"code":"sor","name":"Somrai"},{"code":"sos","name":"Seeku"},{"code":"sot","name":"Southern Sotho"},{"code":"sou","name":"Southern Thai"},{"code":"sov","name":"Sonsorol"},{"code":"sow","name":"Sowanda"},{"code":"sox","name":"Swo"},{"code":"soy","name":"Miyobe"},{"code":"soz","name":"Temi"},{"code":"spa","name":"Spanish"},{"code":"spb","name":"Sepa (Indonesia)"},{"code":"spc","name":"Sapé"},{"code":"spd","name":"Saep"},{"code":"spe","name":"Sepa (Papua New Guinea)"},{"code":"spg","name":"Sian"},{"code":"spi","name":"Saponi"},{"code":"spk","name":"Sengo"},{"code":"spl","name":"Selepet"},{"code":"spm","name":"Akukem"},{"code":"spn","name":"Sanapaná"},{"code":"spo","name":"Spokane"},{"code":"spp","name":"Supyire Senoufo"},{"code":"spq","name":"Loreto-Ucayali Spanish"},{"code":"spr","name":"Saparua"},{"code":"sps","name":"Saposa"},{"code":"spt","name":"Spiti Bhoti"},{"code":"spu","name":"Sapuan"},{"code":"spv","name":"Kosli"},{"code":"spx","name":"South Picene"},{"code":"spy","name":"Sabaot"},{"code":"sqa","name":"Shama-Sambuga"},{"code":"sqh","name":"Shau"},{"code":"sqi","name":"Albanian"},{"code":"sqk","name":"Albanian Sign Language"},{"code":"sqm","name":"Suma"},{"code":"sqn","name":"Susquehannock"},{"code":"sqo","name":"Sorkhei"},{"code":"sqq","name":"Sou"},{"code":"sqr","name":"Siculo Arabic"},{"code":"sqs","name":"Sri Lankan Sign Language"},{"code":"sqt","name":"Soqotri"},{"code":"squ","name":"Squamish"},{"code":"sqx","name":"Kufr Qassem Sign Language (KQSL)"},{"code":"sra","name":"Saruga"},{"code":"srb","name":"Sora"},{"code":"src","name":"Logudorese Sardinian"},{"code":"srd","name":"Sardinian"},{"code":"sre","name":"Sara"},{"code":"srf","name":"Nafi"},{"code":"srg","name":"Sulod"},{"code":"srh","name":"Sarikoli"},{"code":"sri","name":"Siriano"},{"code":"srk","name":"Serudung Murut"},{"code":"srl","name":"Isirawa"},{"code":"srm","name":"Saramaccan"},{"code":"srn","name":"Sranan Tongo"},{"code":"sro","name":"Campidanese Sardinian"},{"code":"srp","name":"Serbian"},{"code":"srq","name":"Sirionó"},{"code":"srr","name":"Serer"},{"code":"srs","name":"Sarsi"},{"code":"srt","name":"Sauri"},{"code":"sru","name":"Suruí"},{"code":"srv","name":"Southern Sorsoganon"},{"code":"srw","name":"Serua"},{"code":"srx","name":"Sirmauri"},{"code":"sry","name":"Sera"},{"code":"srz","name":"Shahmirzadi"},{"code":"ssb","name":"Southern Sama"},{"code":"ssc","name":"Suba-Simbiti"},{"code":"ssd","name":"Siroi"},{"code":"sse","name":"Balangingi"},{"code":"ssf","name":"Thao"},{"code":"ssg","name":"Seimat"},{"code":"ssh","name":"Shihhi Arabic"},{"code":"ssi","name":"Sansi"},{"code":"ssj","name":"Sausi"},{"code":"ssk","name":"Sunam"},{"code":"ssl","name":"Western Sisaala"},{"code":"ssm","name":"Semnam"},{"code":"ssn","name":"Waata"},{"code":"sso","name":"Sissano"},{"code":"ssp","name":"Spanish Sign Language"},{"code":"ssq","name":"So'a"},{"code":"ssr","name":"Swiss-French Sign Language"},{"code":"sss","name":"Sô"},{"code":"sst","name":"Sinasina"},{"code":"ssu","name":"Susuami"},{"code":"ssv","name":"Shark Bay"},{"code":"ssw","name":"Swati"},{"code":"ssx","name":"Samberigi"},{"code":"ssy","name":"Saho"},{"code":"ssz","name":"Sengseng"},{"code":"sta","name":"Settla"},{"code":"stb","name":"Northern Subanen"},{"code":"std","name":"Sentinel"},{"code":"ste","name":"Liana-Seti"},{"code":"stf","name":"Seta"},{"code":"stg","name":"Trieng"},{"code":"sth","name":"Shelta"},{"code":"sti","name":"Bulo Stieng"},{"code":"stj","name":"Matya Samo"},{"code":"stk","name":"Arammba"},{"code":"stl","name":"Stellingwerfs"},{"code":"stm","name":"Setaman"},{"code":"stn","name":"Owa"},{"code":"sto","name":"Stoney"},{"code":"stp","name":"Southeastern Tepehuan"},{"code":"stq","name":"Saterfriesisch"},{"code":"str","name":"Straits Salish"},{"code":"sts","name":"Shumashti"},{"code":"stt","name":"Budeh Stieng"},{"code":"stu","name":"Samtao"},{"code":"stv","name":"Silt'e"},{"code":"stw","name":"Satawalese"},{"code":"sty","name":"Siberian Tatar"},{"code":"sua","name":"Sulka"},{"code":"sub","name":"Suku"},{"code":"suc","name":"Western Subanon"},{"code":"sue","name":"Suena"},{"code":"sug","name":"Suganga"},{"code":"sui","name":"Suki"},{"code":"suj","name":"Shubi"},{"code":"suk","name":"Sukuma"},{"code":"sun","name":"Sundanese"},{"code":"suo","name":"Bouni"},{"code":"suq","name":"Suri"},{"code":"sur","name":"Mwaghavul"},{"code":"sus","name":"Susu"},{"code":"sut","name":"Subtiaba"},{"code":"suv","name":"Puroik"},{"code":"suw","name":"Sumbwa"},{"code":"sux","name":"Sumerian"},{"code":"suy","name":"Suyá"},{"code":"suz","name":"Sunwar"},{"code":"sva","name":"Svan"},{"code":"svb","name":"Ulau-Suain"},{"code":"svc","name":"Vincentian Creole English"},{"code":"sve","name":"Serili"},{"code":"svk","name":"Slovakian Sign Language"},{"code":"svm","name":"Slavomolisano"},{"code":"svs","name":"Savosavo"},{"code":"svx","name":"Skalvian"},{"code":"swa","name":"Swahili"},{"code":"swb","name":"Maore Comorian"},{"code":"swc","name":"Congo Swahili"},{"code":"swe","name":"Swedish"},{"code":"swf","name":"Sere"},{"code":"swg","name":"Swabian"},{"code":"swh","name":"Kiswahili"},{"code":"swi","name":"Sui"},{"code":"swj","name":"Sira"},{"code":"swk","name":"Malawi Sena"},{"code":"swl","name":"Swedish Sign Language"},{"code":"swm","name":"Samosa"},{"code":"swn","name":"Sawknah"},{"code":"swo","name":"Shanenawa"},{"code":"swp","name":"Suau"},{"code":"swq","name":"Sharwa"},{"code":"swr","name":"Saweru"},{"code":"sws","name":"Seluwasan"},{"code":"swt","name":"Sawila"},{"code":"swu","name":"Suwawa"},{"code":"swv","name":"Shekhawati"},{"code":"sww","name":"Sowa"},{"code":"swx","name":"Suruahá"},{"code":"swy","name":"Sarua"},{"code":"sxb","name":"Suba"},{"code":"sxc","name":"Sicanian"},{"code":"sxe","name":"Sighu"},{"code":"sxg","name":"Shixing"},{"code":"sxk","name":"Southern Kalapuya"},{"code":"sxl","name":"Selian"},{"code":"sxm","name":"Samre"},{"code":"sxn","name":"Sangir"},{"code":"sxo","name":"Sorothaptic"},{"code":"sxr","name":"Saaroa"},{"code":"sxs","name":"Sasaru"},{"code":"sxu","name":"Upper Saxon"},{"code":"sxw","name":"Saxwe Gbe"},{"code":"sya","name":"Siang"},{"code":"syb","name":"Central Subanen"},{"code":"syc","name":"Classical Syriac"},{"code":"syi","name":"Seki"},{"code":"syk","name":"Sukur"},{"code":"syl","name":"Sylheti"},{"code":"sym","name":"Maya Samo"},{"code":"syn","name":"Senaya"},{"code":"syo","name":"Suoy"},{"code":"syr","name":"Syriac"},{"code":"sys","name":"Sinyar"},{"code":"syw","name":"Kagate"},{"code":"syx","name":"Samay"},{"code":"syy","name":"Al-Sayyid Bedouin Sign Language"},{"code":"sza","name":"Semelai"},{"code":"szb","name":"Ngalum"},{"code":"szc","name":"Semaq Beri"},{"code":"szd","name":"Seru"},{"code":"sze","name":"Seze"},{"code":"szg","name":"Sengele"},{"code":"szl","name":"Silesian"},{"code":"szn","name":"Sula"},{"code":"szp","name":"Suabo"},{"code":"szs","name":"Solomon Islands Sign Language"},{"code":"szv","name":"Isu (Fako Division)"},{"code":"szw","name":"Sawai"},{"code":"szy","name":"Sakizaya"},{"code":"taa","name":"Lower Tanana"},{"code":"tab","name":"Tabassaran"},{"code":"tac","name":"Lowland Tarahumara"},{"code":"tad","name":"Tause"},{"code":"tae","name":"Tariana"},{"code":"taf","name":"Tapirapé"},{"code":"tag","name":"Tagoi"},{"code":"tah","name":"Tahitian"},{"code":"taj","name":"Eastern Tamang"},{"code":"tak","name":"Tala"},{"code":"tal","name":"Tal"},{"code":"tam","name":"Tamil"},{"code":"tan","name":"Tangale"},{"code":"tao","name":"Yami"},{"code":"tap","name":"Taabwa"},{"code":"taq","name":"Tamasheq"},{"code":"tar","name":"Central Tarahumara"},{"code":"tas","name":"Tay Boi"},{"code":"tat","name":"Tatar"},{"code":"tau","name":"Upper Tanana"},{"code":"tav","name":"Tatuyo"},{"code":"taw","name":"Tai"},{"code":"tax","name":"Tamki"},{"code":"tay","name":"Atayal"},{"code":"taz","name":"Tocho"},{"code":"tba","name":"Aikanã"},{"code":"tbc","name":"Takia"},{"code":"tbd","name":"Kaki Ae"},{"code":"tbe","name":"Tanimbili"},{"code":"tbf","name":"Mandara"},{"code":"tbg","name":"North Tairora"},{"code":"tbh","name":"Dharawal"},{"code":"tbi","name":"Gaam"},{"code":"tbj","name":"Tiang"},{"code":"tbk","name":"Calamian Tagbanwa"},{"code":"tbl","name":"Tboli"},{"code":"tbm","name":"Tagbu"},{"code":"tbn","name":"Barro Negro Tunebo"},{"code":"tbo","name":"Tawala"},{"code":"tbp","name":"Diebroud"},{"code":"tbr","name":"Tumtum"},{"code":"tbs","name":"Tanguat"},{"code":"tbt","name":"Tembo (Kitembo)"},{"code":"tbu","name":"Tubar"},{"code":"tbv","name":"Tobo"},{"code":"tbw","name":"Tagbanwa"},{"code":"tbx","name":"Kapin"},{"code":"tby","name":"Tabaru"},{"code":"tbz","name":"Ditammari"},{"code":"tca","name":"Ticuna"},{"code":"tcb","name":"Tanacross"},{"code":"tcc","name":"Datooga"},{"code":"tcd","name":"Tafi"},{"code":"tce","name":"Southern Tutchone"},{"code":"tcf","name":"Malinaltepec Me'phaa"},{"code":"tcg","name":"Tamagario"},{"code":"tch","name":"Turks And Caicos Creole English"},{"code":"tci","name":"Wára"},{"code":"tck","name":"Tchitchege"},{"code":"tcl","name":"Taman (Myanmar)"},{"code":"tcm","name":"Tanahmerah"},{"code":"tcn","name":"Tichurong"},{"code":"tco","name":"Taungyo"},{"code":"tcp","name":"Tawr Chin"},{"code":"tcq","name":"Kaiy"},{"code":"tcs","name":"Torres Strait Creole"},{"code":"tct","name":"T'en"},{"code":"tcu","name":"Southeastern Tarahumara"},{"code":"tcw","name":"Tecpatlán Totonac"},{"code":"tcx","name":"Toda"},{"code":"tcy","name":"Tulu"},{"code":"tcz","name":"Thado Chin"},{"code":"tda","name":"Tagdal"},{"code":"tdb","name":"Panchpargania"},{"code":"tdc","name":"Emberá-Tadó"},{"code":"tdd","name":"Tai Nüa"},{"code":"tde","name":"Tiranige Diga Dogon"},{"code":"tdf","name":"Talieng"},{"code":"tdg","name":"Western Tamang"},{"code":"tdh","name":"Thulung"},{"code":"tdi","name":"Tomadino"},{"code":"tdj","name":"Tajio"},{"code":"tdk","name":"Tambas"},{"code":"tdl","name":"Sur"},{"code":"tdm","name":"Taruma"},{"code":"tdn","name":"Tondano"},{"code":"tdo","name":"Teme"},{"code":"tdq","name":"Tita"},{"code":"tdr","name":"Todrah"},{"code":"tds","name":"Doutai"},{"code":"tdt","name":"Tetun Dili"},{"code":"tdv","name":"Toro"},{"code":"tdx","name":"Tandroy-Mahafaly Malagasy"},{"code":"tdy","name":"Tadyawan"},{"code":"tea","name":"Temiar"},{"code":"teb","name":"Tetete"},{"code":"tec","name":"Terik"},{"code":"ted","name":"Tepo Krumen"},{"code":"tee","name":"Huehuetla Tepehua"},{"code":"tef","name":"Teressa"},{"code":"teg","name":"Teke-Tege"},{"code":"teh","name":"Tehuelche"},{"code":"tei","name":"Torricelli"},{"code":"tek","name":"Ibali Teke"},{"code":"tel","name":"Telugu"},{"code":"tem","name":"Timne"},{"code":"ten","name":"Tama (Colombia)"},{"code":"teo","name":"Teso"},{"code":"tep","name":"Tepecano"},{"code":"teq","name":"Temein"},{"code":"ter","name":"Tereno"},{"code":"tes","name":"Tengger"},{"code":"tet","name":"Tetum"},{"code":"teu","name":"Soo"},{"code":"tev","name":"Teor"},{"code":"tew","name":"Tewa (USA)"},{"code":"tex","name":"Tennet"},{"code":"tey","name":"Tulishi"},{"code":"tez","name":"Tetserret"},{"code":"tfi","name":"Tofin Gbe"},{"code":"tfn","name":"Tanaina"},{"code":"tfo","name":"Tefaro"},{"code":"tfr","name":"Teribe"},{"code":"tft","name":"Ternate"},{"code":"tga","name":"Sagalla"},{"code":"tgb","name":"Tobilung"},{"code":"tgc","name":"Tigak"},{"code":"tgd","name":"Ciwogai"},{"code":"tge","name":"Eastern Gorkha Tamang"},{"code":"tgf","name":"Chalikha"},{"code":"tgh","name":"Tobagonian Creole English"},{"code":"tgi","name":"Lawunuia"},{"code":"tgj","name":"Tagin"},{"code":"tgk","name":"Tajik"},{"code":"tgl","name":"Tagalog"},{"code":"tgn","name":"Tandaganon"},{"code":"tgo","name":"Sudest"},{"code":"tgp","name":"Tangoa"},{"code":"tgq","name":"Tring"},{"code":"tgr","name":"Tareng"},{"code":"tgs","name":"Nume"},{"code":"tgt","name":"Central Tagbanwa"},{"code":"tgu","name":"Tanggu"},{"code":"tgv","name":"Tingui-Boto"},{"code":"tgw","name":"Tagwana Senoufo"},{"code":"tgx","name":"Tagish"},{"code":"tgy","name":"Togoyo"},{"code":"tgz","name":"Tagalaka"},{"code":"tha","name":"Thai"},{"code":"thd","name":"Kuuk Thaayorre"},{"code":"the","name":"Chitwania Tharu"},{"code":"thf","name":"Thangmi"},{"code":"thh","name":"Northern Tarahumara"},{"code":"thi","name":"Tai Long"},{"code":"thk","name":"Kitharaka"},{"code":"thl","name":"Dangaura Tharu"},{"code":"thm","name":"Aheu"},{"code":"thn","name":"Thachanadan"},{"code":"thp","name":"Thompson"},{"code":"thq","name":"Kochila Tharu"},{"code":"thr","name":"Rana Tharu"},{"code":"ths","name":"Thakali"},{"code":"tht","name":"Tahltan"},{"code":"thu","name":"Thuri"},{"code":"thv","name":"Tahaggart Tamahaq"},{"code":"thy","name":"Tha"},{"code":"thz","name":"Tayart Tamajeq"},{"code":"tia","name":"Tidikelt Tamazight"},{"code":"tic","name":"Tira"},{"code":"tif","name":"Tifal"},{"code":"tig","name":"Tigre"},{"code":"tih","name":"Timugon Murut"},{"code":"tii","name":"Tiene"},{"code":"tij","name":"Tilung"},{"code":"tik","name":"Tikar"},{"code":"til","name":"Tillamook"},{"code":"tim","name":"Timbe"},{"code":"tin","name":"Tindi"},{"code":"tio","name":"Teop"},{"code":"tip","name":"Trimuris"},{"code":"tiq","name":"Tiéfo"},{"code":"tir","name":"Tigrinya"},{"code":"tis","name":"Masadiit Itneg"},{"code":"tit","name":"Tinigua"},{"code":"tiu","name":"Adasen"},{"code":"tiv","name":"Tiv"},{"code":"tiw","name":"Tiwi"},{"code":"tix","name":"Southern Tiwa"},{"code":"tiy","name":"Tiruray"},{"code":"tiz","name":"Tai Hongjin"},{"code":"tja","name":"Tajuasohn"},{"code":"tjg","name":"Tunjung"},{"code":"tji","name":"Northern Tujia"},{"code":"tjj","name":"Tjungundji"},{"code":"tjl","name":"Tai Laing"},{"code":"tjm","name":"Timucua"},{"code":"tjn","name":"Tonjon"},{"code":"tjo","name":"Temacine Tamazight"},{"code":"tjp","name":"Tjupany"},{"code":"tjs","name":"Southern Tujia"},{"code":"tju","name":"Tjurruru"},{"code":"tjw","name":"Djabwurrung"},{"code":"tka","name":"Truká"},{"code":"tkb","name":"Buksa"},{"code":"tkd","name":"Tukudede"},{"code":"tke","name":"Takwane"},{"code":"tkf","name":"Tukumanféd"},{"code":"tkg","name":"Tesaka Malagasy"},{"code":"tkl","name":"Tokelau"},{"code":"tkm","name":"Takelma"},{"code":"tkn","name":"Toku-No-Shima"},{"code":"tkp","name":"Tikopia"},{"code":"tkq","name":"Tee"},{"code":"tkr","name":"Tsakhur"},{"code":"tks","name":"Takestani"},{"code":"tkt","name":"Kathoriya Tharu"},{"code":"tku","name":"Upper Necaxa Totonac"},{"code":"tkv","name":"Mur Pano"},{"code":"tkw","name":"Teanu"},{"code":"tkx","name":"Tangko"},{"code":"tkz","name":"Takua"},{"code":"tla","name":"Southwestern Tepehuan"},{"code":"tlb","name":"Tobelo"},{"code":"tlc","name":"Yecuatla Totonac"},{"code":"tld","name":"Talaud"},{"code":"tlf","name":"Telefol"},{"code":"tlg","name":"Tofanma"},{"code":"tlh","name":"Klingon"},{"code":"tli","name":"Tlingit"},{"code":"tlj","name":"Talinga-Bwisi"},{"code":"tlk","name":"Taloki"},{"code":"tll","name":"Tetela"},{"code":"tlm","name":"Tolomako"},{"code":"tln","name":"Talondo'"},{"code":"tlo","name":"Talodi"},{"code":"tlp","name":"Filomena Mata-Coahuitlán Totonac"},{"code":"tlq","name":"Tai Loi"},{"code":"tlr","name":"Talise"},{"code":"tls","name":"Tambotalo"},{"code":"tlt","name":"Sou Nama"},{"code":"tlu","name":"Tulehu"},{"code":"tlv","name":"Taliabu"},{"code":"tlx","name":"Khehek"},{"code":"tly","name":"Talysh"},{"code":"tma","name":"Tama (Chad)"},{"code":"tmb","name":"Avava"},{"code":"tmc","name":"Tumak"},{"code":"tmd","name":"Haruai"},{"code":"tme","name":"Tremembé"},{"code":"tmf","name":"Toba-Maskoy"},{"code":"tmg","name":"Ternateño"},{"code":"tmh","name":"Tamashek"},{"code":"tmi","name":"Tutuba"},{"code":"tmj","name":"Samarokena"},{"code":"tmk","name":"Northwestern Tamang"},{"code":"tml","name":"Tamnim Citak"},{"code":"tmm","name":"Tai Thanh"},{"code":"tmn","name":"Taman (Indonesia)"},{"code":"tmo","name":"Temoq"},{"code":"tmq","name":"Tumleo"},{"code":"tmr","name":"Jewish Babylonian Aramaic (ca. 200-1200 CE)"},{"code":"tms","name":"Tima"},{"code":"tmt","name":"Tasmate"},{"code":"tmu","name":"Iau"},{"code":"tmv","name":"Tembo (Motembo)"},{"code":"tmw","name":"Temuan"},{"code":"tmy","name":"Tami"},{"code":"tmz","name":"Tamanaku"},{"code":"tna","name":"Tacana"},{"code":"tnb","name":"Western Tunebo"},{"code":"tnc","name":"Tanimuca-Retuarã"},{"code":"tnd","name":"Angosturas Tunebo"},{"code":"tng","name":"Tobanga"},{"code":"tnh","name":"Maiani"},{"code":"tni","name":"Tandia"},{"code":"tnk","name":"Kwamera"},{"code":"tnl","name":"Lenakel"},{"code":"tnm","name":"Tabla"},{"code":"tnn","name":"North Tanna"},{"code":"tno","name":"Toromono"},{"code":"tnp","name":"Whitesands"},{"code":"tnq","name":"Taino"},{"code":"tnr","name":"Ménik"},{"code":"tns","name":"Tenis"},{"code":"tnt","name":"Tontemboan"},{"code":"tnu","name":"Tay Khang"},{"code":"tnv","name":"Tangchangya"},{"code":"tnw","name":"Tonsawang"},{"code":"tnx","name":"Tanema"},{"code":"tny","name":"Tongwe"},{"code":"tnz","name":"Ten'edn"},{"code":"tob","name":"Toba"},{"code":"toc","name":"Coyutla Totonac"},{"code":"tod","name":"Toma"},{"code":"tof","name":"Gizrra"},{"code":"tog","name":"Tonga (Nyasa)"},{"code":"toh","name":"Gitonga"},{"code":"toi","name":"Tonga (Zambia)"},{"code":"toj","name":"Tojolabal"},{"code":"tol","name":"Tolowa"},{"code":"tom","name":"Tombulu"},{"code":"ton","name":"Tonga (Tonga Islands)"},{"code":"too","name":"Xicotepec De Juárez Totonac"},{"code":"top","name":"Papantla Totonac"},{"code":"toq","name":"Toposa"},{"code":"tor","name":"Togbo-Vara Banda"},{"code":"tos","name":"Highland Totonac"},{"code":"tou","name":"Tho"},{"code":"tov","name":"Upper Taromi"},{"code":"tow","name":"Jemez"},{"code":"tox","name":"Tobian"},{"code":"toy","name":"Topoiyo"},{"code":"toz","name":"To"},{"code":"tpa","name":"Taupota"},{"code":"tpc","name":"Azoyú Me'phaa"},{"code":"tpe","name":"Tippera"},{"code":"tpf","name":"Tarpia"},{"code":"tpg","name":"Kula"},{"code":"tpi","name":"Tok Pisin"},{"code":"tpj","name":"Tapieté"},{"code":"tpk","name":"Tupinikin"},{"code":"tpl","name":"Tlacoapa Me'phaa"},{"code":"tpm","name":"Tampulma"},{"code":"tpn","name":"Tupinambá"},{"code":"tpo","name":"Tai Pao"},{"code":"tpp","name":"Pisaflores Tepehua"},{"code":"tpq","name":"Tukpa"},{"code":"tpr","name":"Tuparí"},{"code":"tpt","name":"Tlachichilco Tepehua"},{"code":"tpu","name":"Tampuan"},{"code":"tpv","name":"Tanapag"},{"code":"tpw","name":"Tupí"},{"code":"tpx","name":"Acatepec Me'phaa"},{"code":"tpy","name":"Trumai"},{"code":"tpz","name":"Tinputz"},{"code":"tqb","name":"Tembé"},{"code":"tql","name":"Lehali"},{"code":"tqm","name":"Turumsa"},{"code":"tqn","name":"Tenino"},{"code":"tqo","name":"Toaripi"},{"code":"tqp","name":"Tomoip"},{"code":"tqq","name":"Tunni"},{"code":"tqr","name":"Torona"},{"code":"tqt","name":"Western Totonac"},{"code":"tqu","name":"Touo"},{"code":"tqw","name":"Tonkawa"},{"code":"tra","name":"Tirahi"},{"code":"trb","name":"Terebu"},{"code":"trc","name":"Copala Triqui"},{"code":"trd","name":"Turi"},{"code":"tre","name":"East Tarangan"},{"code":"trf","name":"Trinidadian Creole English"},{"code":"trg","name":"Lishán Didán"},{"code":"trh","name":"Turaka"},{"code":"tri","name":"Trió"},{"code":"trj","name":"Toram"},{"code":"trl","name":"Traveller Scottish"},{"code":"trm","name":"Tregami"},{"code":"trn","name":"Trinitario"},{"code":"tro","name":"Tarao Naga"},{"code":"trp","name":"Kok Borok"},{"code":"trq","name":"San Martín Itunyoso Triqui"},{"code":"trr","name":"Taushiro"},{"code":"trs","name":"Chicahuaxtla Triqui"},{"code":"trt","name":"Tunggare"},{"code":"tru","name":"Surayt"},{"code":"trv","name":"Taroko"},{"code":"trw","name":"Torwali"},{"code":"trx","name":"Tringgus-Sembaan Bidayuh"},{"code":"try","name":"Turung"},{"code":"trz","name":"Torá"},{"code":"tsa","name":"Tsaangi"},{"code":"tsb","name":"Tsamai"},{"code":"tsc","name":"Tswa"},{"code":"tsd","name":"Tsakonian"},{"code":"tse","name":"Tunisian Sign Language"},{"code":"tsg","name":"Tausug"},{"code":"tsh","name":"Tsuvan"},{"code":"tsi","name":"Tsimshian"},{"code":"tsj","name":"Tshangla"},{"code":"tsk","name":"Tseku"},{"code":"tsl","name":"Ts'ün-Lao"},{"code":"tsm","name":"Türk İşaret Dili"},{"code":"tsn","name":"Tswana"},{"code":"tso","name":"Tsonga"},{"code":"tsp","name":"Northern Toussian"},{"code":"tsq","name":"Thai Sign Language"},{"code":"tsr","name":"Akei"},{"code":"tss","name":"Taiwan Sign Language"},{"code":"tst","name":"Tondi Songway Kiini"},{"code":"tsu","name":"Tsou"},{"code":"tsv","name":"Tsogo"},{"code":"tsw","name":"Tsishingini"},{"code":"tsx","name":"Mubami"},{"code":"tsy","name":"Tebul Sign Language"},{"code":"tsz","name":"Purepecha"},{"code":"tta","name":"Tutelo"},{"code":"ttb","name":"Gaa"},{"code":"ttc","name":"Tektiteko"},{"code":"ttd","name":"Tauade"},{"code":"tte","name":"Bwanabwana"},{"code":"ttf","name":"Tuotomb"},{"code":"ttg","name":"Tutong"},{"code":"tth","name":"Upper Ta'oih"},{"code":"tti","name":"Tobati"},{"code":"ttj","name":"Tooro"},{"code":"ttk","name":"Totoro"},{"code":"ttl","name":"Totela"},{"code":"ttm","name":"Northern Tutchone"},{"code":"ttn","name":"Towei"},{"code":"tto","name":"Lower Ta'oih"},{"code":"ttp","name":"Tombelala"},{"code":"ttq","name":"Tawallammat Tamajaq"},{"code":"ttr","name":"Tera"},{"code":"tts","name":"Northeastern Thai"},{"code":"ttt","name":"Muslim Tat"},{"code":"ttu","name":"Torau"},{"code":"ttv","name":"Titan"},{"code":"ttw","name":"Long Wat"},{"code":"tty","name":"Sikaritai"},{"code":"ttz","name":"Tsum"},{"code":"tua","name":"Wiarumus"},{"code":"tub","name":"Tübatulabal"},{"code":"tuc","name":"Mutu"},{"code":"tud","name":"Tuxá"},{"code":"tue","name":"Tuyuca"},{"code":"tuf","name":"Central Tunebo"},{"code":"tug","name":"Tunia"},{"code":"tuh","name":"Taulil"},{"code":"tui","name":"Tupuri"},{"code":"tuj","name":"Tugutil"},{"code":"tuk","name":"Turkmen"},{"code":"tul","name":"Tula"},{"code":"tum","name":"Tumbuka"},{"code":"tun","name":"Tunica"},{"code":"tuo","name":"Tucano"},{"code":"tuq","name":"Tedaga"},{"code":"tur","name":"Turkish"},{"code":"tus","name":"Tuscarora"},{"code":"tuu","name":"Tututni"},{"code":"tuv","name":"Turkana"},{"code":"tux","name":"Tuxináwa"},{"code":"tuy","name":"Tugen"},{"code":"tuz","name":"Turka"},{"code":"tva","name":"Vaghua"},{"code":"tvd","name":"Tsuvadi"},{"code":"tve","name":"Te'un"},{"code":"tvk","name":"Southeast Ambrym"},{"code":"tvl","name":"Tuvalu"},{"code":"tvm","name":"Tela-Masbuar"},{"code":"tvn","name":"Tavoyan"},{"code":"tvo","name":"Tidore"},{"code":"tvs","name":"Taveta"},{"code":"tvt","name":"Tutsa Naga"},{"code":"tvu","name":"Tunen"},{"code":"tvw","name":"Sedoa"},{"code":"tvx","name":"Taivoan"},{"code":"tvy","name":"Timor Pidgin"},{"code":"twa","name":"Twana"},{"code":"twb","name":"Western Tawbuid"},{"code":"twc","name":"Teshenawa"},{"code":"twd","name":"Twents"},{"code":"twe","name":"Tewa (Indonesia)"},{"code":"twf","name":"Northern Tiwa"},{"code":"twg","name":"Tereweng"},{"code":"twh","name":"Tai Dón"},{"code":"twi","name":"Twi"},{"code":"twl","name":"Tawara"},{"code":"twm","name":"Tawang Monpa"},{"code":"twn","name":"Twendi"},{"code":"two","name":"Tswapong"},{"code":"twp","name":"Ere"},{"code":"twq","name":"Tasawaq"},{"code":"twr","name":"Southwestern Tarahumara"},{"code":"twt","name":"Turiwára"},{"code":"twu","name":"Termanu"},{"code":"tww","name":"Tuwari"},{"code":"twx","name":"Tewe"},{"code":"twy","name":"Tawoyan"},{"code":"txa","name":"Tombonuo"},{"code":"txb","name":"Tokharian B"},{"code":"txc","name":"Tsetsaut"},{"code":"txe","name":"Totoli"},{"code":"txg","name":"Tangut"},{"code":"txh","name":"Thracian"},{"code":"txi","name":"Ikpeng"},{"code":"txj","name":"Tarjumo"},{"code":"txm","name":"Tomini"},{"code":"txn","name":"West Tarangan"},{"code":"txo","name":"Toto"},{"code":"txq","name":"Tii"},{"code":"txr","name":"Tartessian"},{"code":"txs","name":"Tonsea"},{"code":"txt","name":"Citak"},{"code":"txu","name":"Kayapó"},{"code":"txx","name":"Tatana"},{"code":"txy","name":"Tanosy Malagasy"},{"code":"tya","name":"Tauya"},{"code":"tye","name":"Kyanga"},{"code":"tyh","name":"O'du"},{"code":"tyi","name":"Teke-Tsaayi"},{"code":"tyj","name":"Tai Do"},{"code":"tyl","name":"Thu Lao"},{"code":"tyn","name":"Kombai"},{"code":"typ","name":"Thaypan"},{"code":"tyr","name":"Tai Daeng"},{"code":"tys","name":"Tày Sa Pa"},{"code":"tyt","name":"Tày Tac"},{"code":"tyu","name":"Kua"},{"code":"tyv","name":"Tuvinian"},{"code":"tyx","name":"Teke-Tyee"},{"code":"tyy","name":"Tiyaa"},{"code":"tyz","name":"Tày"},{"code":"tza","name":"Tanzanian Sign Language"},{"code":"tzh","name":"Tzeltal"},{"code":"tzj","name":"Tz'utujil"},{"code":"tzl","name":"Talossan"},{"code":"tzm","name":"Central Atlas Tamazight"},{"code":"tzn","name":"Tugun"},{"code":"tzo","name":"Tzotzil"},{"code":"tzx","name":"Tabriak"},{"code":"uam","name":"Uamué"},{"code":"uan","name":"Kuan"},{"code":"uar","name":"Tairuma"},{"code":"uba","name":"Ubang"},{"code":"ubi","name":"Ubi"},{"code":"ubl","name":"Buhi'non Bikol"},{"code":"ubr","name":"Ubir"},{"code":"ubu","name":"Umbu-Ungu"},{"code":"uby","name":"Ubykh"},{"code":"uda","name":"Uda"},{"code":"ude","name":"Udihe"},{"code":"udg","name":"Muduga"},{"code":"udi","name":"Udi"},{"code":"udj","name":"Ujir"},{"code":"udl","name":"Wuzlam"},{"code":"udm","name":"Udmurt"},{"code":"udu","name":"Uduk"},{"code":"ues","name":"Kioko"},{"code":"ufi","name":"Ufim"},{"code":"uga","name":"Ugaritic"},{"code":"ugb","name":"Kuku-Ugbanh"},{"code":"uge","name":"Ughele"},{"code":"ugn","name":"Ugandan Sign Language"},{"code":"ugo","name":"Ugong"},{"code":"ugy","name":"Uruguayan Sign Language"},{"code":"uha","name":"Uhami"},{"code":"uhn","name":"Damal"},{"code":"uig","name":"Uighur"},{"code":"uis","name":"Uisai"},{"code":"uiv","name":"Iyive"},{"code":"uji","name":"Tanjijili"},{"code":"uka","name":"Kaburi"},{"code":"ukg","name":"Ukuriguma"},{"code":"ukh","name":"Ukhwejo"},{"code":"uki","name":"Kui (India)"},{"code":"ukk","name":"Muak Sa-aak"},{"code":"ukl","name":"Ukrainian Sign Language"},{"code":"ukp","name":"Ukpe-Bayobiri"},{"code":"ukq","name":"Ukwa"},{"code":"ukr","name":"Ukrainian"},{"code":"uks","name":"Kaapor Sign Language"},{"code":"uku","name":"Ukue"},{"code":"ukv","name":"Kuku"},{"code":"ukw","name":"Ukwuani-Aboh-Ndoni"},{"code":"uky","name":"Kuuk-Yak"},{"code":"ula","name":"Fungwa"},{"code":"ulb","name":"Ulukwumi"},{"code":"ulc","name":"Ulch"},{"code":"ule","name":"Lule"},{"code":"ulf","name":"Afra"},{"code":"uli","name":"Ulithian"},{"code":"ulk","name":"Meriam Mir"},{"code":"ull","name":"Ullatan"},{"code":"ulm","name":"Ulumanda'"},{"code":"uln","name":"Unserdeutsch"},{"code":"ulu","name":"Uma' Lung"},{"code":"ulw","name":"Ulwa"},{"code":"uma","name":"Umatilla"},{"code":"umb","name":"Umbundu"},{"code":"umc","name":"Marrucinian"},{"code":"umd","name":"Umbindhamu"},{"code":"umg","name":"Morrobalama"},{"code":"umi","name":"Ukit"},{"code":"umm","name":"Umon"},{"code":"umn","name":"Makyan Naga"},{"code":"umo","name":"Umotína"},{"code":"ump","name":"Umpila"},{"code":"umr","name":"Umbugarla"},{"code":"ums","name":"Pendau"},{"code":"umu","name":"Munsee"},{"code":"una","name":"North Watut"},{"code":"und","name":"Undetermined"},{"code":"une","name":"Uneme"},{"code":"ung","name":"Ngarinyin"},{"code":"uni","name":"Uni"},{"code":"unk","name":"Enawené-Nawé"},{"code":"unm","name":"Unami"},{"code":"unn","name":"Kurnai"},{"code":"unr","name":"Mundari"},{"code":"unu","name":"Unubahe"},{"code":"unx","name":"Munda"},{"code":"unz","name":"Unde Kaili"},{"code":"upi","name":"Umeda"},{"code":"upv","name":"Uripiv-Wala-Rano-Atchin"},{"code":"ura","name":"Urarina"},{"code":"urb","name":"Kaapor"},{"code":"urc","name":"Urningangg"},{"code":"urd","name":"Urdu"},{"code":"ure","name":"Uru"},{"code":"urf","name":"Uradhi"},{"code":"urg","name":"Urigina"},{"code":"urh","name":"Urhobo"},{"code":"uri","name":"Urim"},{"code":"urk","name":"Urak Lawoi'"},{"code":"url","name":"Urali"},{"code":"urm","name":"Urapmin"},{"code":"urn","name":"Uruangnirin"},{"code":"uro","name":"Ura (Papua New Guinea)"},{"code":"urp","name":"Uru-Pa-In"},{"code":"urr","name":"Lehalurup"},{"code":"urt","name":"Urat"},{"code":"uru","name":"Urumi"},{"code":"urv","name":"Uruava"},{"code":"urw","name":"Sop"},{"code":"urx","name":"Urimo"},{"code":"ury","name":"Orya"},{"code":"urz","name":"Uru-Eu-Wau-Wau"},{"code":"usa","name":"Usarufa"},{"code":"ush","name":"Ushojo"},{"code":"usi","name":"Usui"},{"code":"usk","name":"Usaghade"},{"code":"usp","name":"Uspanteco"},{"code":"uss","name":"us-Saare"},{"code":"usu","name":"Uya"},{"code":"uta","name":"Otank"},{"code":"ute","name":"Ute-Southern Paiute"},{"code":"uth","name":"ut-Hun"},{"code":"utp","name":"Amba (Solomon Islands)"},{"code":"utr","name":"Etulo"},{"code":"utu","name":"Utu"},{"code":"uum","name":"Urum"},{"code":"uun","name":"Kulon-Pazeh"},{"code":"uur","name":"Ura (Vanuatu)"},{"code":"uuu","name":"U"},{"code":"uve","name":"Fagauvea"},{"code":"uvh","name":"Uri"},{"code":"uvl","name":"Lote"},{"code":"uwa","name":"Kuku-Uwanh"},{"code":"uya","name":"Doko-Uyanga"},{"code":"uzb","name":"Uzbek"},{"code":"uzn","name":"Northern Uzbek"},{"code":"uzs","name":"Southern Uzbek"},{"code":"vaa","name":"Vaagri Booli"},{"code":"vae","name":"Vale"},{"code":"vaf","name":"Vafsi"},{"code":"vag","name":"Vagla"},{"code":"vah","name":"Varhadi-Nagpuri"},{"code":"vai","name":"Vai"},{"code":"vaj","name":"Northwestern ǃKung"},{"code":"val","name":"Vehes"},{"code":"vam","name":"Vanimo"},{"code":"van","name":"Valman"},{"code":"vao","name":"Vao"},{"code":"vap","name":"Vaiphei"},{"code":"var","name":"Huarijio"},{"code":"vas","name":"Vasavi"},{"code":"vau","name":"Vanuma"},{"code":"vav","name":"Varli"},{"code":"vay","name":"Wayu"},{"code":"vbb","name":"Southeast Babar"},{"code":"vbk","name":"Southwestern Bontok"},{"code":"vec","name":"Venetian"},{"code":"ved","name":"Veddah"},{"code":"vel","name":"Veluws"},{"code":"vem","name":"Vemgo-Mabas"},{"code":"ven","name":"Venda"},{"code":"veo","name":"Ventureño"},{"code":"vep","name":"Veps"},{"code":"ver","name":"Mom Jango"},{"code":"vgr","name":"Vaghri"},{"code":"vgt","name":"Flemish Sign Language"},{"code":"vic","name":"Virgin Islands Creole English"},{"code":"vid","name":"Vidunda"},{"code":"vie","name":"Vietnamese"},{"code":"vif","name":"Vili"},{"code":"vig","name":"Viemo"},{"code":"vil","name":"Vilela"},{"code":"vin","name":"Vinza"},{"code":"vis","name":"Vishavan"},{"code":"vit","name":"Viti"},{"code":"viv","name":"Iduna"},{"code":"vka","name":"Kariyarra"},{"code":"vkj","name":"Kujarge"},{"code":"vkk","name":"Kaur"},{"code":"vkl","name":"Kulisusu"},{"code":"vkm","name":"Kamakan"},{"code":"vkn","name":"Koro Nulu"},{"code":"vko","name":"Kodeoha"},{"code":"vkp","name":"Korlai Creole Portuguese"},{"code":"vkt","name":"Tenggarong Kutai Malay"},{"code":"vku","name":"Kurrama"},{"code":"vkz","name":"Koro Zuba"},{"code":"vlp","name":"Valpei"},{"code":"vls","name":"Vlaams"},{"code":"vma","name":"Martuyhunira"},{"code":"vmb","name":"Barbaram"},{"code":"vmc","name":"Juxtlahuaca Mixtec"},{"code":"vmd","name":"Mudu Koraga"},{"code":"vme","name":"East Masela"},{"code":"vmf","name":"Mainfränkisch"},{"code":"vmg","name":"Lungalunga"},{"code":"vmh","name":"Maraghei"},{"code":"vmi","name":"Miwa"},{"code":"vmj","name":"Ixtayutla Mixtec"},{"code":"vmk","name":"Makhuwa-Shirima"},{"code":"vml","name":"Malgana"},{"code":"vmm","name":"Mitlatongo Mixtec"},{"code":"vmp","name":"Soyaltepec Mazatec"},{"code":"vmq","name":"Soyaltepec Mixtec"},{"code":"vmr","name":"Marenje"},{"code":"vms","name":"Moksela"},{"code":"vmu","name":"Muluridyi"},{"code":"vmv","name":"Valley Maidu"},{"code":"vmw","name":"Makhuwa"},{"code":"vmx","name":"Tamazola Mixtec"},{"code":"vmy","name":"Ayautla Mazatec"},{"code":"vmz","name":"Mazatlán Mazatec"},{"code":"vnk","name":"Lovono"},{"code":"vnm","name":"Neve'ei"},{"code":"vnp","name":"Vunapu"},{"code":"vol","name":"Volapük"},{"code":"vor","name":"Voro"},{"code":"vot","name":"Votic"},{"code":"vra","name":"Vera'a"},{"code":"vro","name":"Võro"},{"code":"vrs","name":"Varisi"},{"code":"vrt","name":"Banam Bay"},{"code":"vsi","name":"Moldova Sign Language"},{"code":"vsl","name":"Venezuelan Sign Language"},{"code":"vsv","name":"Llengua de signes valenciana"},{"code":"vto","name":"Vitou"},{"code":"vum","name":"Vumbu"},{"code":"vun","name":"Vunjo"},{"code":"vut","name":"Vute"},{"code":"vwa","name":"Awa (China)"},{"code":"waa","name":"Walla Walla"},{"code":"wab","name":"Wab"},{"code":"wac","name":"Wasco-Wishram"},{"code":"wad","name":"Wamesa"},{"code":"wae","name":"Walser"},{"code":"waf","name":"Wakoná"},{"code":"wag","name":"Wa'ema"},{"code":"wah","name":"Watubela"},{"code":"wai","name":"Wares"},{"code":"waj","name":"Waffa"},{"code":"wal","name":"Wolaitta"},{"code":"wam","name":"Wampanoag"},{"code":"wan","name":"Wan"},{"code":"wao","name":"Wappo"},{"code":"wap","name":"Wapishana"},{"code":"waq","name":"Wagiman"},{"code":"war","name":"Waray (Philippines)"},{"code":"was","name":"Washo"},{"code":"wat","name":"Kaninuwa"},{"code":"wau","name":"Waurá"},{"code":"wav","name":"Waka"},{"code":"waw","name":"Waiwai"},{"code":"wax","name":"Marangis"},{"code":"way","name":"Wayana"},{"code":"waz","name":"Wampur"},{"code":"wba","name":"Warao"},{"code":"wbb","name":"Wabo"},{"code":"wbe","name":"Waritai"},{"code":"wbf","name":"Wara"},{"code":"wbh","name":"Wanda"},{"code":"wbi","name":"Vwanji"},{"code":"wbj","name":"Alagwa"},{"code":"wbk","name":"Waigali"},{"code":"wbl","name":"Wakhi"},{"code":"wbm","name":"Wa"},{"code":"wbp","name":"Warlpiri"},{"code":"wbq","name":"Waddar"},{"code":"wbr","name":"Wagdi"},{"code":"wbs","name":"West Bengal Sign Language"},{"code":"wbt","name":"Warnman"},{"code":"wbv","name":"Wajarri"},{"code":"wbw","name":"Woi"},{"code":"wca","name":"Yanomámi"},{"code":"wci","name":"Waci Gbe"},{"code":"wdd","name":"Wandji"},{"code":"wdg","name":"Wadaginam"},{"code":"wdj","name":"Wadjiginy"},{"code":"wdk","name":"Wadikali"},{"code":"wdu","name":"Wadjigu"},{"code":"wdy","name":"Wadjabangayi"},{"code":"wea","name":"Wewaw"},{"code":"wec","name":"Wè Western"},{"code":"wed","name":"Wedau"},{"code":"weg","name":"Wergaia"},{"code":"weh","name":"Weh"},{"code":"wei","name":"Kiunum"},{"code":"wem","name":"Weme Gbe"},{"code":"weo","name":"Wemale"},{"code":"wep","name":"Westphalien"},{"code":"wer","name":"Weri"},{"code":"wes","name":"Cameroon Pidgin"},{"code":"wet","name":"Perai"},{"code":"weu","name":"Rawngtu Chin"},{"code":"wew","name":"Wejewa"},{"code":"wfg","name":"Yafi"},{"code":"wga","name":"Wagaya"},{"code":"wgb","name":"Wagawaga"},{"code":"wgg","name":"Wangganguru"},{"code":"wgi","name":"Wahgi"},{"code":"wgo","name":"Waigeo"},{"code":"wgu","name":"Wirangu"},{"code":"wgy","name":"Warrgamay"},{"code":"wha","name":"Manusela"},{"code":"whg","name":"North Wahgi"},{"code":"whk","name":"Wahau Kenyah"},{"code":"whu","name":"Wahau Kayan"},{"code":"wib","name":"Southern Toussian"},{"code":"wic","name":"Wichita"},{"code":"wie","name":"Wik-Epa"},{"code":"wif","name":"Wik-Keyangan"},{"code":"wig","name":"Wik Ngathan"},{"code":"wih","name":"Wik-Me'anha"},{"code":"wii","name":"Minidien"},{"code":"wij","name":"Wik-Iiyanh"},{"code":"wik","name":"Wikalkan"},{"code":"wil","name":"Wilawila"},{"code":"wim","name":"Wik-Mungkan"},{"code":"win","name":"Ho-Chunk"},{"code":"wir","name":"Wiraféd"},{"code":"wiu","name":"Wiru"},{"code":"wiv","name":"Vitu"},{"code":"wiy","name":"Wiyot"},{"code":"wja","name":"Waja"},{"code":"wji","name":"Warji"},{"code":"wka","name":"Kw'adza"},{"code":"wkb","name":"Kumbaran"},{"code":"wkd","name":"Mo"},{"code":"wkl","name":"Kalanadi"},{"code":"wkr","name":"Keerray-Woorroong"},{"code":"wku","name":"Kunduvadi"},{"code":"wkw","name":"Wakawaka"},{"code":"wky","name":"Wangkayutyuru"},{"code":"wla","name":"Walio"},{"code":"wlc","name":"Mwali Comorian"},{"code":"wle","name":"Wolane"},{"code":"wlg","name":"Kunbarlang"},{"code":"wlh","name":"Welaun"},{"code":"wli","name":"Waioli"},{"code":"wlk","name":"Wailaki"},{"code":"wll","name":"Wali (Sudan)"},{"code":"wlm","name":"Middle Welsh"},{"code":"wln","name":"Walloon"},{"code":"wlo","name":"Wolio"},{"code":"wlr","name":"Wailapa"},{"code":"wls","name":"Wallisian"},{"code":"wlu","name":"Wuliwuli"},{"code":"wlv","name":"Wichí Lhamtés Vejoz"},{"code":"wlw","name":"Walak"},{"code":"wlx","name":"Wali (Ghana)"},{"code":"wly","name":"Waling"},{"code":"wma","name":"Mawa (Nigeria)"},{"code":"wmb","name":"Wambaya"},{"code":"wmc","name":"Wamas"},{"code":"wmd","name":"Mamaindé"},{"code":"wme","name":"Wambule"},{"code":"wmg","name":"Western Minyag"},{"code":"wmh","name":"Waima'a"},{"code":"wmi","name":"Wamin"},{"code":"wmm","name":"Maiwa (Indonesia)"},{"code":"wmn","name":"Waamwang"},{"code":"wmo","name":"Wom (Papua New Guinea)"},{"code":"wms","name":"Wambon"},{"code":"wmt","name":"Walmajarri"},{"code":"wmw","name":"Mwani"},{"code":"wmx","name":"Womo"},{"code":"wnb","name":"Wanambre"},{"code":"wnc","name":"Wantoat"},{"code":"wnd","name":"Wandarang"},{"code":"wne","name":"Waneci"},{"code":"wng","name":"Wanggom"},{"code":"wni","name":"Ndzwani Comorian"},{"code":"wnk","name":"Wanukaka"},{"code":"wnm","name":"Wanggamala"},{"code":"wnn","name":"Wunumara"},{"code":"wno","name":"Wano"},{"code":"wnp","name":"Wanap"},{"code":"wnu","name":"Usan"},{"code":"wnw","name":"Wintu"},{"code":"wny","name":"Waanyi"},{"code":"woa","name":"Kuwema"},{"code":"wob","name":"Wè Northern"},{"code":"woc","name":"Wogeo"},{"code":"wod","name":"Wolani"},{"code":"woe","name":"Woleaian"},{"code":"wof","name":"Gambian Wolof"},{"code":"wog","name":"Wogamusin"},{"code":"woi","name":"Kamang"},{"code":"wok","name":"Longto"},{"code":"wol","name":"Wolof"},{"code":"wom","name":"Wom (Nigeria)"},{"code":"won","name":"Wongo"},{"code":"woo","name":"Manombai"},{"code":"wor","name":"Woria"},{"code":"wos","name":"Hanga Hundi"},{"code":"wow","name":"Wawonii"},{"code":"woy","name":"Weyto"},{"code":"wpc","name":"Maco"},{"code":"wrb","name":"Waluwarra"},{"code":"wrd","name":"Warduji"},{"code":"wrg","name":"Gudjal"},{"code":"wrh","name":"Wiradjuri"},{"code":"wri","name":"Wariyangga"},{"code":"wrk","name":"Garrwa"},{"code":"wrl","name":"Warlmanpa"},{"code":"wrm","name":"Warumungu"},{"code":"wrn","name":"Warnang"},{"code":"wro","name":"Worrorra"},{"code":"wrp","name":"Waropen"},{"code":"wrr","name":"Wardaman"},{"code":"wrs","name":"Waris"},{"code":"wru","name":"Waru"},{"code":"wrv","name":"Waruna"},{"code":"wrw","name":"Gugu Warra"},{"code":"wrx","name":"Wae Rana"},{"code":"wry","name":"Merwari"},{"code":"wrz","name":"Waray (Australia)"},{"code":"wsa","name":"Warembori"},{"code":"wsg","name":"Adilabad Gondi"},{"code":"wsi","name":"Wusi"},{"code":"wsk","name":"Waskia"},{"code":"wsr","name":"Owenia"},{"code":"wss","name":"Wasa"},{"code":"wsu","name":"Wasu"},{"code":"wsv","name":"Wotapuri-Katarqalai"},{"code":"wtf","name":"Watiwa"},{"code":"wth","name":"Wathawurrung"},{"code":"wti","name":"Berta"},{"code":"wtk","name":"Watakataui"},{"code":"wtm","name":"Mewati"},{"code":"wtw","name":"Wotu"},{"code":"wua","name":"Wikngenchera"},{"code":"wub","name":"Wunambal"},{"code":"wud","name":"Wudu"},{"code":"wuh","name":"Wutunhua"},{"code":"wul","name":"Silimo"},{"code":"wum","name":"Wumbvu"},{"code":"wun","name":"Bungu"},{"code":"wur","name":"Wurrugu"},{"code":"wut","name":"Wutung"},{"code":"wuu","name":"Wu Chinese"},{"code":"wuv","name":"Wuvulu-Aua"},{"code":"wux","name":"Wulna"},{"code":"wuy","name":"Wauyai"},{"code":"wwa","name":"Waama"},{"code":"wwb","name":"Wakabunga"},{"code":"wwo","name":"Dorig"},{"code":"wwr","name":"Warrwa"},{"code":"www","name":"Wawa"},{"code":"wxa","name":"Waxianghua"},{"code":"wxw","name":"Wardandi"},{"code":"wya","name":"Wyandot"},{"code":"wyb","name":"Wangaaybuwan-Ngiyambaa"},{"code":"wyi","name":"Woiwurrung"},{"code":"wym","name":"Wymysorys"},{"code":"wyr","name":"Wayoró"},{"code":"wyy","name":"Western Fijian"},{"code":"xaa","name":"Andalusian Arabic"},{"code":"xab","name":"Sambe"},{"code":"xac","name":"Kachari"},{"code":"xad","name":"Adai"},{"code":"xae","name":"Aequian"},{"code":"xag","name":"Aghwan"},{"code":"xai","name":"Kaimbé"},{"code":"xaj","name":"Ararandewára"},{"code":"xak","name":"Máku"},{"code":"xal","name":"Kalmyk"},{"code":"xam","name":"ǀXam"},{"code":"xan","name":"Xamtanga"},{"code":"xao","name":"Khao"},{"code":"xap","name":"Apalachee"},{"code":"xaq","name":"Aquitanian"},{"code":"xar","name":"Karami"},{"code":"xas","name":"Kamas"},{"code":"xat","name":"Katawixi"},{"code":"xau","name":"Kauwera"},{"code":"xav","name":"Xavánte"},{"code":"xaw","name":"Kawaiisu"},{"code":"xay","name":"Kayan Mahakam"},{"code":"xbb","name":"Lower Burdekin"},{"code":"xbc","name":"Bactrian"},{"code":"xbd","name":"Bindal"},{"code":"xbe","name":"Bigambal"},{"code":"xbg","name":"Bunganditj"},{"code":"xbi","name":"Kombio"},{"code":"xbj","name":"Birrpayi"},{"code":"xbm","name":"Middle Breton"},{"code":"xbn","name":"Kenaboi"},{"code":"xbo","name":"Bolgarian"},{"code":"xbp","name":"Bibbulman"},{"code":"xbr","name":"Kambera"},{"code":"xbw","name":"Kambiwá"},{"code":"xby","name":"Batjala"},{"code":"xcb","name":"Cumbric"},{"code":"xcc","name":"Camunic"},{"code":"xce","name":"Celtiberian"},{"code":"xcg","name":"Cisalpine Gaulish"},{"code":"xch","name":"Chemakum"},{"code":"xcl","name":"Classical Armenian"},{"code":"xcm","name":"Comecrudo"},{"code":"xcn","name":"Cotoname"},{"code":"xco","name":"Chorasmian"},{"code":"xcr","name":"Carian"},{"code":"xct","name":"Classical Tibetan"},{"code":"xcu","name":"Curonian"},{"code":"xcv","name":"Chuvantsy"},{"code":"xcw","name":"Coahuilteco"},{"code":"xcy","name":"Cayuse"},{"code":"xda","name":"Darkinyung"},{"code":"xdc","name":"Dacian"},{"code":"xdk","name":"Dharuk"},{"code":"xdm","name":"Edomite"},{"code":"xdo","name":"Kwandu"},{"code":"xdy","name":"Malayic Dayak"},{"code":"xeb","name":"Eblan"},{"code":"xed","name":"Hdi"},{"code":"xeg","name":"ǁXegwi"},{"code":"xel","name":"Kelo"},{"code":"xem","name":"Kembayan"},{"code":"xep","name":"Epi-Olmec"},{"code":"xer","name":"Xerénte"},{"code":"xes","name":"Kesawai"},{"code":"xet","name":"Xetá"},{"code":"xeu","name":"Keoru-Ahia"},{"code":"xfa","name":"Faliscan"},{"code":"xga","name":"Galatian"},{"code":"xgb","name":"Gbin"},{"code":"xgd","name":"Gudang"},{"code":"xgf","name":"Gabrielino-Fernandeño"},{"code":"xgg","name":"Goreng"},{"code":"xgi","name":"Garingbal"},{"code":"xgl","name":"Galindan"},{"code":"xgm","name":"Dharumbal"},{"code":"xgr","name":"Garza"},{"code":"xgu","name":"Unggumi"},{"code":"xgw","name":"Guwa"},{"code":"xha","name":"Harami"},{"code":"xhc","name":"Hunnic"},{"code":"xhd","name":"Hadrami"},{"code":"xhe","name":"Khetrani"},{"code":"xho","name":"Xhosa"},{"code":"xhr","name":"Hernican"},{"code":"xht","name":"Hattic"},{"code":"xhu","name":"Hurrian"},{"code":"xhv","name":"Khua"},{"code":"xib","name":"Iberian"},{"code":"xii","name":"Xiri"},{"code":"xil","name":"Illyrian"},{"code":"xin","name":"Xinca"},{"code":"xir","name":"Xiriâna"},{"code":"xis","name":"Kisan"},{"code":"xiv","name":"Indus Valley Language"},{"code":"xiy","name":"Xipaya"},{"code":"xjb","name":"Minjungbal"},{"code":"xjt","name":"Jaitmatang"},{"code":"xka","name":"Kalkoti"},{"code":"xkb","name":"Northern Nago"},{"code":"xkc","name":"Kho'ini"},{"code":"xkd","name":"Mendalam Kayan"},{"code":"xke","name":"Kereho"},{"code":"xkf","name":"Khengkha"},{"code":"xkg","name":"Kagoro"},{"code":"xki","name":"Kenyan Sign Language"},{"code":"xkj","name":"Kajali"},{"code":"xkk","name":"Kaco'"},{"code":"xkl","name":"Mainstream Kenyah"},{"code":"xkn","name":"Kayan River Kayan"},{"code":"xko","name":"Kiorr"},{"code":"xkp","name":"Kabatei"},{"code":"xkq","name":"Koroni"},{"code":"xkr","name":"Xakriabá"},{"code":"xks","name":"Kumbewaha"},{"code":"xkt","name":"Kantosi"},{"code":"xku","name":"Kaamba"},{"code":"xkv","name":"Kgalagadi"},{"code":"xkw","name":"Kembra"},{"code":"xkx","name":"Karore"},{"code":"xky","name":"Uma' Lasan"},{"code":"xkz","name":"Kurtokha"},{"code":"xla","name":"Kamula"},{"code":"xlb","name":"Loup B"},{"code":"xlc","name":"Lycian"},{"code":"xld","name":"Lydian"},{"code":"xle","name":"Lemnian"},{"code":"xlg","name":"Ligurian (Ancient)"},{"code":"xli","name":"Liburnian"},{"code":"xln","name":"Alanic"},{"code":"xlo","name":"Loup A"},{"code":"xlp","name":"Lepontic"},{"code":"xls","name":"Lusitanian"},{"code":"xlu","name":"Cuneiform Luwian"},{"code":"xly","name":"Elymian"},{"code":"xma","name":"Mushungulu"},{"code":"xmb","name":"Mbonga"},{"code":"xmc","name":"Makhuwa-Marrevone"},{"code":"xmd","name":"Mbudum"},{"code":"xme","name":"Median"},{"code":"xmf","name":"Mingrelian"},{"code":"xmg","name":"Mengaka"},{"code":"xmh","name":"Kugu-Muminh"},{"code":"xmj","name":"Majera"},{"code":"xmk","name":"Ancient Macedonian"},{"code":"xml","name":"Malaysian Sign Language"},{"code":"xmm","name":"Manado Malay"},{"code":"xmn","name":"Manichaean Middle Persian"},{"code":"xmo","name":"Morerebi"},{"code":"xmp","name":"Kuku-Mu'inh"},{"code":"xmq","name":"Kuku-Mangk"},{"code":"xmr","name":"Meroitic"},{"code":"xms","name":"Moroccan Sign Language"},{"code":"xmt","name":"Matbat"},{"code":"xmu","name":"Kamu"},{"code":"xmv","name":"Antankarana Malagasy"},{"code":"xmw","name":"Tsimihety Malagasy"},{"code":"xmx","name":"Maden"},{"code":"xmy","name":"Mayaguduna"},{"code":"xmz","name":"Mori Bawah"},{"code":"xna","name":"Ancient North Arabian"},{"code":"xnb","name":"Kanakanabu"},{"code":"xng","name":"Middle Mongolian"},{"code":"xnh","name":"Kuanhua"},{"code":"xni","name":"Ngarigu"},{"code":"xnj","name":"Ngoni (Tanzania)"},{"code":"xnk","name":"Nganakarti"},{"code":"xnm","name":"Ngumbarl"},{"code":"xnn","name":"Northern Kankanay"},{"code":"xno","name":"Anglo-Norman"},{"code":"xnq","name":"Ngoni (Mozambique)"},{"code":"xnr","name":"Kangri"},{"code":"xns","name":"Kanashi"},{"code":"xnt","name":"Narragansett"},{"code":"xnu","name":"Nukunul"},{"code":"xny","name":"Nyiyaparli"},{"code":"xnz","name":"Kenzi"},{"code":"xoc","name":"O'chi'chi'"},{"code":"xod","name":"Kokoda"},{"code":"xog","name":"Soga"},{"code":"xoi","name":"Kominimung"},{"code":"xok","name":"Xokleng"},{"code":"xom","name":"Komo (Sudan)"},{"code":"xon","name":"Konkomba"},{"code":"xoo","name":"Xukurú"},{"code":"xop","name":"Kopar"},{"code":"xor","name":"Korubo"},{"code":"xow","name":"Kowaki"},{"code":"xpa","name":"Pirriya"},{"code":"xpb","name":"Northeastern Tasmanian"},{"code":"xpc","name":"Pecheneg"},{"code":"xpd","name":"Oyster Bay Tasmanian"},{"code":"xpe","name":"Liberia Kpelle"},{"code":"xpf","name":"Nuenonne"},{"code":"xpg","name":"Phrygian"},{"code":"xph","name":"North Midlands Tasmanian"},{"code":"xpi","name":"Pictish"},{"code":"xpj","name":"Mpalitjanh"},{"code":"xpk","name":"Kulina Pano"},{"code":"xpl","name":"Port Sorell Tasmanian"},{"code":"xpm","name":"Pumpokol"},{"code":"xpn","name":"Kapinawá"},{"code":"xpo","name":"Pochutec"},{"code":"xpp","name":"Puyo-Paekche"},{"code":"xpq","name":"Mohegan-Pequot"},{"code":"xpr","name":"Parthian"},{"code":"xps","name":"Pisidian"},{"code":"xpt","name":"Punthamara"},{"code":"xpu","name":"Punic"},{"code":"xpv","name":"Northern Tasmanian"},{"code":"xpw","name":"Northwestern Tasmanian"},{"code":"xpx","name":"Southwestern Tasmanian"},{"code":"xpy","name":"Puyo"},{"code":"xpz","name":"Bruny Island Tasmanian"},{"code":"xqa","name":"Karakhanid"},{"code":"xqt","name":"Qatabanian"},{"code":"xra","name":"Krahô"},{"code":"xrb","name":"Eastern Karaboro"},{"code":"xrd","name":"Gundungurra"},{"code":"xre","name":"Kreye"},{"code":"xrg","name":"Minang"},{"code":"xri","name":"Krikati-Timbira"},{"code":"xrm","name":"Armazic"},{"code":"xrn","name":"Arin"},{"code":"xrr","name":"Raetic"},{"code":"xrt","name":"Aranama-Tamique"},{"code":"xru","name":"Marriammu"},{"code":"xrw","name":"Karawa"},{"code":"xsa","name":"Sabaean"},{"code":"xsb","name":"Sambal"},{"code":"xsc","name":"Scythian"},{"code":"xsd","name":"Sidetic"},{"code":"xse","name":"Sempan"},{"code":"xsh","name":"Shamang"},{"code":"xsi","name":"Sio"},{"code":"xsj","name":"Subi"},{"code":"xsl","name":"South Slavey"},{"code":"xsm","name":"Kasem"},{"code":"xsn","name":"Sanga (Nigeria)"},{"code":"xso","name":"Solano"},{"code":"xsp","name":"Silopi"},{"code":"xsq","name":"Makhuwa-Saka"},{"code":"xsr","name":"Sherpa"},{"code":"xss","name":"Assan"},{"code":"xsu","name":"Sanumá"},{"code":"xsv","name":"Sudovian"},{"code":"xsy","name":"Saisiyat"},{"code":"xta","name":"Alcozauca Mixtec"},{"code":"xtb","name":"Chazumba Mixtec"},{"code":"xtc","name":"Katcha-Kadugli-Miri"},{"code":"xtd","name":"Diuxi-Tilantongo Mixtec"},{"code":"xte","name":"Ketengban"},{"code":"xtg","name":"Transalpine Gaulish"},{"code":"xth","name":"Yitha Yitha"},{"code":"xti","name":"Sinicahua Mixtec"},{"code":"xtj","name":"San Juan Teita Mixtec"},{"code":"xtl","name":"Tijaltepec Mixtec"},{"code":"xtm","name":"Magdalena Peñasco Mixtec"},{"code":"xtn","name":"Northern Tlaxiaco Mixtec"},{"code":"xto","name":"Tokharian A"},{"code":"xtp","name":"San Miguel Piedras Mixtec"},{"code":"xtq","name":"Tumshuqese"},{"code":"xtr","name":"Early Tripuri"},{"code":"xts","name":"Sindihui Mixtec"},{"code":"xtt","name":"Tacahua Mixtec"},{"code":"xtu","name":"Cuyamecalco Mixtec"},{"code":"xtv","name":"Thawa"},{"code":"xtw","name":"Tawandê"},{"code":"xty","name":"Yoloxochitl Mixtec"},{"code":"xua","name":"Alu Kurumba"},{"code":"xub","name":"Betta Kurumba"},{"code":"xud","name":"Umiida"},{"code":"xug","name":"Kunigami"},{"code":"xuj","name":"Jennu Kurumba"},{"code":"xul","name":"Ngunawal"},{"code":"xum","name":"Umbrian"},{"code":"xun","name":"Unggaranggu"},{"code":"xuo","name":"Kuo"},{"code":"xup","name":"Upper Umpqua"},{"code":"xur","name":"Urartian"},{"code":"xut","name":"Kuthant"},{"code":"xuu","name":"Khwedam"},{"code":"xve","name":"Venetic"},{"code":"xvi","name":"Kamviri"},{"code":"xvn","name":"Vandalic"},{"code":"xvo","name":"Volscian"},{"code":"xvs","name":"Vestinian"},{"code":"xwa","name":"Kwaza"},{"code":"xwc","name":"Woccon"},{"code":"xwd","name":"Wadi Wadi"},{"code":"xwe","name":"Xwela Gbe"},{"code":"xwg","name":"Kwegu"},{"code":"xwj","name":"Wajuk"},{"code":"xwk","name":"Wangkumara"},{"code":"xwl","name":"Western Xwla Gbe"},{"code":"xwo","name":"Written Oirat"},{"code":"xwr","name":"Kwerba Mamberamo"},{"code":"xwt","name":"Wotjobaluk"},{"code":"xww","name":"Wemba Wemba"},{"code":"xxb","name":"Boro (Ghana)"},{"code":"xxk","name":"Ke'o"},{"code":"xxm","name":"Minkin"},{"code":"xxr","name":"Koropó"},{"code":"xxt","name":"Tambora"},{"code":"xya","name":"Yaygir"},{"code":"xyb","name":"Yandjibara"},{"code":"xyj","name":"Mayi-Yapi"},{"code":"xyk","name":"Mayi-Kulan"},{"code":"xyl","name":"Yalakalore"},{"code":"xyt","name":"Mayi-Thakurti"},{"code":"xyy","name":"Yorta Yorta"},{"code":"xzh","name":"Zhang-Zhung"},{"code":"xzm","name":"Zemgalian"},{"code":"xzp","name":"Ancient Zapotec"},{"code":"yaa","name":"Yaminahua"},{"code":"yab","name":"Yuhup"},{"code":"yac","name":"Pass Valley Yali"},{"code":"yad","name":"Yagua"},{"code":"yae","name":"Pumé"},{"code":"yaf","name":"Yaka (Democratic Republic of Congo)"},{"code":"yag","name":"Yámana"},{"code":"yah","name":"Yazgulyam"},{"code":"yai","name":"Yagnobi"},{"code":"yaj","name":"Banda-Yangere"},{"code":"yak","name":"Yakama"},{"code":"yal","name":"Yalunka"},{"code":"yam","name":"Yamba"},{"code":"yan","name":"Mayangna"},{"code":"yao","name":"Yao"},{"code":"yap","name":"Yapese"},{"code":"yaq","name":"Yaqui"},{"code":"yar","name":"Yabarana"},{"code":"yas","name":"Nugunu (Cameroon)"},{"code":"yat","name":"Yambeta"},{"code":"yau","name":"Yuwana"},{"code":"yav","name":"Yangben"},{"code":"yaw","name":"Yawalapití"},{"code":"yax","name":"Yauma"},{"code":"yay","name":"Agwagwune"},{"code":"yaz","name":"Lokaa"},{"code":"yba","name":"Yala"},{"code":"ybb","name":"Yemba"},{"code":"ybe","name":"West Yugur"},{"code":"ybh","name":"Yakha"},{"code":"ybi","name":"Yamphu"},{"code":"ybj","name":"Hasha"},{"code":"ybk","name":"Bokha"},{"code":"ybl","name":"Yukuben"},{"code":"ybm","name":"Yaben"},{"code":"ybn","name":"Yabaâna"},{"code":"ybo","name":"Yabong"},{"code":"ybx","name":"Yawiyo"},{"code":"yby","name":"Yaweyuha"},{"code":"ych","name":"Chesu"},{"code":"ycl","name":"Lolopo"},{"code":"ycn","name":"Yucuna"},{"code":"ycp","name":"Chepya"},{"code":"yda","name":"Yanda"},{"code":"ydd","name":"Eastern Yiddish"},{"code":"yde","name":"Yangum Dey"},{"code":"ydg","name":"Yidgha"},{"code":"ydk","name":"Yoidik"},{"code":"yea","name":"Ravula"},{"code":"yec","name":"Yeniche"},{"code":"yee","name":"Yimas"},{"code":"yei","name":"Yeni"},{"code":"yej","name":"Yevanic"},{"code":"yel","name":"Yela"},{"code":"yer","name":"Tarok"},{"code":"yes","name":"Nyankpa"},{"code":"yet","name":"Yetfa"},{"code":"yeu","name":"Yerukula"},{"code":"yev","name":"Yapunda"},{"code":"yey","name":"Yeyi"},{"code":"yga","name":"Malyangapa"},{"code":"ygi","name":"Yiningayi"},{"code":"ygl","name":"Yangum Gel"},{"code":"ygm","name":"Yagomi"},{"code":"ygp","name":"Gepo"},{"code":"ygr","name":"Yagaria"},{"code":"ygs","name":"Yolŋu Sign Language"},{"code":"ygu","name":"Yugul"},{"code":"ygw","name":"Yagwoia"},{"code":"yha","name":"Baha Buyang"},{"code":"yhd","name":"Judeo-Iraqi Arabic"},{"code":"yhl","name":"Hlepho Phowa"},{"code":"yhs","name":"Yan-nhaŋu Sign Language"},{"code":"yia","name":"Yinggarda"},{"code":"yid","name":"Yiddish"},{"code":"yif","name":"Ache"},{"code":"yig","name":"Wusa Nasu"},{"code":"yih","name":"Western Yiddish"},{"code":"yii","name":"Yidiny"},{"code":"yij","name":"Yindjibarndi"},{"code":"yik","name":"Dongshanba Lalo"},{"code":"yil","name":"Yindjilandji"},{"code":"yim","name":"Yimchungru Naga"},{"code":"yin","name":"Riang Lai"},{"code":"yip","name":"Pholo"},{"code":"yiq","name":"Miqie"},{"code":"yir","name":"North Awyu"},{"code":"yis","name":"Yis"},{"code":"yit","name":"Eastern Lalu"},{"code":"yiu","name":"Awu"},{"code":"yiv","name":"Northern Nisu"},{"code":"yix","name":"Axi Yi"},{"code":"yiz","name":"Azhe"},{"code":"yka","name":"Yakan"},{"code":"ykg","name":"Northern Yukaghir"},{"code":"yki","name":"Yoke"},{"code":"ykk","name":"Yakaikeke"},{"code":"ykl","name":"Khlula"},{"code":"ykm","name":"Kap"},{"code":"ykn","name":"Kua-nsi"},{"code":"yko","name":"Yasa"},{"code":"ykr","name":"Yekora"},{"code":"ykt","name":"Kathu"},{"code":"yku","name":"Kuamasi"},{"code":"yky","name":"Yakoma"},{"code":"yla","name":"Yaul"},{"code":"ylb","name":"Yaleba"},{"code":"yle","name":"Yele"},{"code":"ylg","name":"Yelogu"},{"code":"yli","name":"Angguruk Yali"},{"code":"yll","name":"Yil"},{"code":"ylm","name":"Limi"},{"code":"yln","name":"Langnian Buyang"},{"code":"ylo","name":"Naluo Yi"},{"code":"ylr","name":"Yalarnnga"},{"code":"ylu","name":"Aribwaung"},{"code":"yly","name":"Nyâlayu"},{"code":"ymb","name":"Yambes"},{"code":"ymc","name":"Southern Muji"},{"code":"ymd","name":"Muda"},{"code":"yme","name":"Yameo"},{"code":"ymg","name":"Yamongeri"},{"code":"ymh","name":"Mili"},{"code":"ymi","name":"Moji"},{"code":"ymk","name":"Makwe"},{"code":"yml","name":"Iamalele"},{"code":"ymm","name":"Maay"},{"code":"ymn","name":"Sunum"},{"code":"ymo","name":"Yangum Mon"},{"code":"ymp","name":"Yamap"},{"code":"ymq","name":"Qila Muji"},{"code":"ymr","name":"Malasar"},{"code":"yms","name":"Mysian"},{"code":"ymx","name":"Northern Muji"},{"code":"ymz","name":"Muzi"},{"code":"yna","name":"Aluo"},{"code":"ynd","name":"Yandruwandha"},{"code":"yne","name":"Lang'e"},{"code":"yng","name":"Yango"},{"code":"ynk","name":"Naukan Yupik"},{"code":"ynl","name":"Yangulam"},{"code":"ynn","name":"Yana"},{"code":"yno","name":"Yong"},{"code":"ynq","name":"Yendang"},{"code":"yns","name":"Yansi"},{"code":"ynu","name":"Yahuna"},{"code":"yob","name":"Yoba"},{"code":"yog","name":"Yogad"},{"code":"yoi","name":"Yonaguni"},{"code":"yok","name":"Yokuts"},{"code":"yol","name":"Yola"},{"code":"yom","name":"Yombe"},{"code":"yon","name":"Yongkom"},{"code":"yor","name":"Yoruba"},{"code":"yot","name":"Yotti"},{"code":"yox","name":"Yoron"},{"code":"yoy","name":"Yoy"},{"code":"ypa","name":"Phala"},{"code":"ypb","name":"Labo Phowa"},{"code":"ypg","name":"Phola"},{"code":"yph","name":"Phupha"},{"code":"ypm","name":"Phuma"},{"code":"ypn","name":"Ani Phowa"},{"code":"ypo","name":"Alo Phola"},{"code":"ypp","name":"Phupa"},{"code":"ypz","name":"Phuza"},{"code":"yra","name":"Yerakai"},{"code":"yrb","name":"Yareba"},{"code":"yre","name":"Yaouré"},{"code":"yrk","name":"Nenets"},{"code":"yrl","name":"Nhengatu"},{"code":"yrm","name":"Yirrk-Mel"},{"code":"yrn","name":"Yerong"},{"code":"yro","name":"Yaroamë"},{"code":"yrs","name":"Yarsun"},{"code":"yrw","name":"Yarawata"},{"code":"yry","name":"Yarluyandi"},{"code":"ysc","name":"Yassic"},{"code":"ysd","name":"Samatao"},{"code":"ysg","name":"Sonaga"},{"code":"ysl","name":"Yugoslavian Sign Language"},{"code":"ysm","name":"Myanmar Sign Language"},{"code":"ysn","name":"Sani"},{"code":"yso","name":"Nisi (China)"},{"code":"ysp","name":"Southern Lolopo"},{"code":"ysr","name":"Sirenik Yupik"},{"code":"yss","name":"Yessan-Mayo"},{"code":"ysy","name":"Sanie"},{"code":"yta","name":"Talu"},{"code":"ytl","name":"Tanglang"},{"code":"ytp","name":"Thopho"},{"code":"ytw","name":"Yout Wam"},{"code":"yty","name":"Yatay"},{"code":"yua","name":"Yucatec Maya"},{"code":"yub","name":"Yugambal"},{"code":"yuc","name":"Yuchi"},{"code":"yud","name":"Judeo-Tripolitanian Arabic"},{"code":"yue","name":"Yue Chinese"},{"code":"yuf","name":"Havasupai-Walapai-Yavapai"},{"code":"yug","name":"Yug"},{"code":"yui","name":"Yurutí"},{"code":"yuj","name":"Karkar-Yuri"},{"code":"yuk","name":"Yuki"},{"code":"yul","name":"Yulu"},{"code":"yum","name":"Quechan"},{"code":"yun","name":"Bena (Nigeria)"},{"code":"yup","name":"Yukpa"},{"code":"yuq","name":"Yuqui"},{"code":"yur","name":"Yurok"},{"code":"yut","name":"Yopno"},{"code":"yuw","name":"Yau (Morobe Province)"},{"code":"yux","name":"Southern Yukaghir"},{"code":"yuy","name":"East Yugur"},{"code":"yuz","name":"Yuracare"},{"code":"yva","name":"Yawa"},{"code":"yvt","name":"Yavitero"},{"code":"ywa","name":"Kalou"},{"code":"ywg","name":"Yinhawangka"},{"code":"ywl","name":"Western Lalu"},{"code":"ywn","name":"Yawanawa"},{"code":"ywq","name":"Wuding-Luquan Yi"},{"code":"ywr","name":"Yawuru"},{"code":"ywt","name":"Central Lalo"},{"code":"ywu","name":"Wumeng Nasu"},{"code":"yww","name":"Yawarawarga"},{"code":"yxa","name":"Mayawali"},{"code":"yxg","name":"Yagara"},{"code":"yxl","name":"Yardliyawarra"},{"code":"yxm","name":"Yinwum"},{"code":"yxu","name":"Yuyu"},{"code":"yxy","name":"Yabula Yabula"},{"code":"yyr","name":"Yir Yoront"},{"code":"yyu","name":"Yau (Sandaun Province)"},{"code":"yyz","name":"Ayizi"},{"code":"yzg","name":"E'ma Buyang"},{"code":"yzk","name":"Zokhuo"},{"code":"zaa","name":"Sierra de Juárez Zapotec"},{"code":"zab","name":"San Juan Guelavía Zapotec"},{"code":"zac","name":"Ocotlán Zapotec"},{"code":"zad","name":"Cajonos Zapotec"},{"code":"zae","name":"Yareni Zapotec"},{"code":"zaf","name":"Ayoquesco Zapotec"},{"code":"zag","name":"Zaghawa"},{"code":"zah","name":"Zangwal"},{"code":"zai","name":"Isthmus Zapotec"},{"code":"zaj","name":"Zaramo"},{"code":"zak","name":"Zanaki"},{"code":"zal","name":"Zauzou"},{"code":"zam","name":"Miahuatlán Zapotec"},{"code":"zao","name":"Ozolotepec Zapotec"},{"code":"zap","name":"Zapotec"},{"code":"zaq","name":"Aloápam Zapotec"},{"code":"zar","name":"Rincón Zapotec"},{"code":"zas","name":"Santo Domingo Albarradas Zapotec"},{"code":"zat","name":"Tabaa Zapotec"},{"code":"zau","name":"Zangskari"},{"code":"zav","name":"Yatzachi Zapotec"},{"code":"zaw","name":"Mitla Zapotec"},{"code":"zax","name":"Xadani Zapotec"},{"code":"zay","name":"Zaysete"},{"code":"zaz","name":"Zari"},{"code":"zba","name":"Balaibalan"},{"code":"zbc","name":"Central Berawan"},{"code":"zbe","name":"East Berawan"},{"code":"zbl","name":"Bliss"},{"code":"zbt","name":"Batui"},{"code":"zbu","name":"Bu (Bauchi State)"},{"code":"zbw","name":"West Berawan"},{"code":"zca","name":"Coatecas Altas Zapotec"},{"code":"zch","name":"Central Hongshuihe Zhuang"},{"code":"zdj","name":"Ngazidja Comorian"},{"code":"zea","name":"Zeeuws"},{"code":"zeg","name":"Zenag"},{"code":"zeh","name":"Eastern Hongshuihe Zhuang"},{"code":"zen","name":"Zenaga"},{"code":"zga","name":"Kinga"},{"code":"zgb","name":"Guibei Zhuang"},{"code":"zgh","name":"Standard Moroccan Tamazight"},{"code":"zgm","name":"Minz Zhuang"},{"code":"zgn","name":"Guibian Zhuang"},{"code":"zgr","name":"Magori"},{"code":"zha","name":"Chuang"},{"code":"zhb","name":"Zhaba"},{"code":"zhd","name":"Dai Zhuang"},{"code":"zhi","name":"Zhire"},{"code":"zhn","name":"Nong Zhuang"},{"code":"zho","name":"Chinese"},{"code":"zhw","name":"Zhoa"},{"code":"zia","name":"Zia"},{"code":"zib","name":"Zimbabwe Sign Language"},{"code":"zik","name":"Zimakani"},{"code":"zil","name":"Zialo"},{"code":"zim","name":"Mesme"},{"code":"zin","name":"Zinza"},{"code":"ziw","name":"Zigula"},{"code":"ziz","name":"Zizilivakan"},{"code":"zka","name":"Kaimbulawa"},{"code":"zkb","name":"Koibal"},{"code":"zkd","name":"Kadu"},{"code":"zkg","name":"Koguryo"},{"code":"zkh","name":"Khorezmian"},{"code":"zkk","name":"Karankawa"},{"code":"zkn","name":"Kanan"},{"code":"zko","name":"Kott"},{"code":"zkp","name":"São Paulo Kaingáng"},{"code":"zkr","name":"Zakhring"},{"code":"zkt","name":"Kitan"},{"code":"zku","name":"Kaurna"},{"code":"zkv","name":"Krevinian"},{"code":"zkz","name":"Khazar"},{"code":"zla","name":"Zula"},{"code":"zlj","name":"Liujiang Zhuang"},{"code":"zlm","name":"Malay (individual language)"},{"code":"zln","name":"Lianshan Zhuang"},{"code":"zlq","name":"Liuqian Zhuang"},{"code":"zma","name":"Manda (Australia)"},{"code":"zmb","name":"Zimba"},{"code":"zmc","name":"Margany"},{"code":"zmd","name":"Maridan"},{"code":"zme","name":"Mangerr"},{"code":"zmf","name":"Mfinu"},{"code":"zmg","name":"Marti Ke"},{"code":"zmh","name":"Makolkol"},{"code":"zmi","name":"Negeri Sembilan Malay"},{"code":"zmj","name":"Maridjabin"},{"code":"zmk","name":"Mandandanyi"},{"code":"zml","name":"Matngala"},{"code":"zmm","name":"Marimanindji"},{"code":"zmn","name":"Mbangwe"},{"code":"zmo","name":"Molo"},{"code":"zmp","name":"Mpuono"},{"code":"zmq","name":"Mituku"},{"code":"zmr","name":"Maranunggu"},{"code":"zms","name":"Mbesa"},{"code":"zmt","name":"Maringarr"},{"code":"zmu","name":"Muruwari"},{"code":"zmv","name":"Mbariman-Gudhinma"},{"code":"zmw","name":"Mbo (Democratic Republic of Congo)"},{"code":"zmx","name":"Bomitaba"},{"code":"zmy","name":"Mariyedi"},{"code":"zmz","name":"Mbandja"},{"code":"zna","name":"Zan Gula"},{"code":"zne","name":"Zande (individual language)"},{"code":"zng","name":"Mang"},{"code":"znk","name":"Manangkari"},{"code":"zns","name":"Mangas"},{"code":"zoc","name":"Copainalá Zoque"},{"code":"zoh","name":"Chimalapa Zoque"},{"code":"zom","name":"Zou"},{"code":"zoo","name":"Asunción Mixtepec Zapotec"},{"code":"zoq","name":"Tabasco Zoque"},{"code":"zor","name":"Rayón Zoque"},{"code":"zos","name":"Francisco León Zoque"},{"code":"zpa","name":"Lachiguiri Zapotec"},{"code":"zpb","name":"Yautepec Zapotec"},{"code":"zpc","name":"Choapan Zapotec"},{"code":"zpd","name":"Southeastern Ixtlán Zapotec"},{"code":"zpe","name":"Petapa Zapotec"},{"code":"zpf","name":"San Pedro Quiatoni Zapotec"},{"code":"zpg","name":"Guevea De Humboldt Zapotec"},{"code":"zph","name":"Totomachapan Zapotec"},{"code":"zpi","name":"Santa María Quiegolani Zapotec"},{"code":"zpj","name":"Quiavicuzas Zapotec"},{"code":"zpk","name":"Tlacolulita Zapotec"},{"code":"zpl","name":"Lachixío Zapotec"},{"code":"zpm","name":"Mixtepec Zapotec"},{"code":"zpn","name":"Santa Inés Yatzechi Zapotec"},{"code":"zpo","name":"Amatlán Zapotec"},{"code":"zpp","name":"El Alto Zapotec"},{"code":"zpq","name":"Zoogocho Zapotec"},{"code":"zpr","name":"Santiago Xanica Zapotec"},{"code":"zps","name":"Coatlán Zapotec"},{"code":"zpt","name":"San Vicente Coatlán Zapotec"},{"code":"zpu","name":"Yalálag Zapotec"},{"code":"zpv","name":"Chichicapan Zapotec"},{"code":"zpw","name":"Zaniza Zapotec"},{"code":"zpx","name":"San Baltazar Loxicha Zapotec"},{"code":"zpy","name":"Mazaltepec Zapotec"},{"code":"zpz","name":"Texmelucan Zapotec"},{"code":"zqe","name":"Qiubei Zhuang"},{"code":"zra","name":"Kara (Korea)"},{"code":"zrg","name":"Mirgan"},{"code":"zrn","name":"Zerenkel"},{"code":"zro","name":"Záparo"},{"code":"zrp","name":"Zarphatic"},{"code":"zrs","name":"Mairasi"},{"code":"zsa","name":"Sarasira"},{"code":"zsk","name":"Kaskean"},{"code":"zsl","name":"Zambian Sign Language"},{"code":"zsm","name":"Standard Malay"},{"code":"zsr","name":"Southern Rincon Zapotec"},{"code":"zsu","name":"Sukurum"},{"code":"zte","name":"Elotepec Zapotec"},{"code":"ztg","name":"Xanaguía Zapotec"},{"code":"ztl","name":"Lapaguía-Guivini Zapotec"},{"code":"ztm","name":"San Agustín Mixtepec Zapotec"},{"code":"ztn","name":"Santa Catarina Albarradas Zapotec"},{"code":"ztp","name":"Loxicha Zapotec"},{"code":"ztq","name":"Quioquitani-Quierí Zapotec"},{"code":"zts","name":"Tilquiapan Zapotec"},{"code":"ztt","name":"Tejalapan Zapotec"},{"code":"ztu","name":"Güilá Zapotec"},{"code":"ztx","name":"Zaachila Zapotec"},{"code":"zty","name":"Yatee Zapotec"},{"code":"zua","name":"Zeem"},{"code":"zuh","name":"Tokano"},{"code":"zul","name":"Zulu"},{"code":"zum","name":"Kumzari"},{"code":"zun","name":"Zuni"},{"code":"zuy","name":"Zumaya"},{"code":"zwa","name":"Zay"},{"code":"zxx","name":"No linguistic content"},{"code":"zyb","name":"Yongbei Zhuang"},{"code":"zyg","name":"Yang Zhuang"},{"code":"zyj","name":"Youjiang Zhuang"},{"code":"zyn","name":"Yongnan Zhuang"},{"code":"zyp","name":"Zyphe Chin"},{"code":"zza","name":"Dimili"},{"code":"zzj","name":"Zuojiang Zhuang"}] \ No newline at end of file diff --git a/tests/__data__/input/data/timezones.json b/tests/__data__/input/data/timezones.json new file mode 100644 index 000000000..0206e7e5c --- /dev/null +++ b/tests/__data__/input/data/timezones.json @@ -0,0 +1 @@ +[{"id":"Africa/Abidjan","utc_offset":"+00:00","countries":["CI","BF","GH","GM","GN","IS","ML","MR","SH","SL","SN","TG"]},{"id":"Africa/Accra","utc_offset":"+00:00","countries":["GH"]},{"id":"Africa/Addis_Ababa","utc_offset":"+03:00","countries":["ET"]},{"id":"Africa/Algiers","utc_offset":"+01:00","countries":["DZ"]},{"id":"Africa/Asmara","utc_offset":"+03:00","countries":["ER"]},{"id":"Africa/Bamako","utc_offset":"+00:00","countries":["ML"]},{"id":"Africa/Bangui","utc_offset":"+01:00","countries":["CF"]},{"id":"Africa/Banjul","utc_offset":"+00:00","countries":["GM"]},{"id":"Africa/Bissau","utc_offset":"+00:00","countries":["GW"]},{"id":"Africa/Blantyre","utc_offset":"+02:00","countries":["MW"]},{"id":"Africa/Brazzaville","utc_offset":"+01:00","countries":["CG"]},{"id":"Africa/Bujumbura","utc_offset":"+02:00","countries":["BI"]},{"id":"Africa/Cairo","utc_offset":"+02:00","countries":["EG"]},{"id":"Africa/Casablanca","utc_offset":"+00:00","countries":["MA"]},{"id":"Africa/Ceuta","utc_offset":"+01:00","countries":["ES"]},{"id":"Africa/Conakry","utc_offset":"+00:00","countries":["GN"]},{"id":"Africa/Dakar","utc_offset":"+00:00","countries":["SN"]},{"id":"Africa/Dar_es_Salaam","utc_offset":"+03:00","countries":["TZ"]},{"id":"Africa/Djibouti","utc_offset":"+03:00","countries":["DJ"]},{"id":"Africa/Douala","utc_offset":"+01:00","countries":["CM"]},{"id":"Africa/El_Aaiun","utc_offset":"+00:00","countries":["EH"]},{"id":"Africa/Freetown","utc_offset":"+00:00","countries":["SL"]},{"id":"Africa/Gaborone","utc_offset":"+02:00","countries":["BW"]},{"id":"Africa/Harare","utc_offset":"+02:00","countries":["ZW"]},{"id":"Africa/Johannesburg","utc_offset":"+02:00","countries":["ZA","LS","SZ"]},{"id":"Africa/Juba","utc_offset":"+02:00","countries":["SS"]},{"id":"Africa/Kampala","utc_offset":"+03:00","countries":["UG"]},{"id":"Africa/Khartoum","utc_offset":"+02:00","countries":["SD"]},{"id":"Africa/Kigali","utc_offset":"+02:00","countries":["RW"]},{"id":"Africa/Kinshasa","utc_offset":"+01:00","countries":["CD"]},{"id":"Africa/Lagos","utc_offset":"+01:00","countries":["NG","AO","BJ","CD","CF","CG","CM","GA","GQ","NE"]},{"id":"Africa/Libreville","utc_offset":"+01:00","countries":["GA"]},{"id":"Africa/Lome","utc_offset":"+00:00","countries":["TG"]},{"id":"Africa/Luanda","utc_offset":"+01:00","countries":["AO"]},{"id":"Africa/Lubumbashi","utc_offset":"+02:00","countries":["CD"]},{"id":"Africa/Lusaka","utc_offset":"+02:00","countries":["ZM"]},{"id":"Africa/Malabo","utc_offset":"+01:00","countries":["GQ"]},{"id":"Africa/Maputo","utc_offset":"+02:00","countries":["MZ","BI","BW","CD","MW","RW","ZM","ZW"]},{"id":"Africa/Maseru","utc_offset":"+02:00","countries":["LS"]},{"id":"Africa/Mbabane","utc_offset":"+02:00","countries":["SZ"]},{"id":"Africa/Mogadishu","utc_offset":"+03:00","countries":["SO"]},{"id":"Africa/Monrovia","utc_offset":"+00:00","countries":["LR"]},{"id":"Africa/Nairobi","utc_offset":"+03:00","countries":["KE","DJ","ER","ET","KM","MG","SO","TZ","UG","YT"]},{"id":"Africa/Ndjamena","utc_offset":"+01:00","countries":["TD"]},{"id":"Africa/Niamey","utc_offset":"+01:00","countries":["NE"]},{"id":"Africa/Nouakchott","utc_offset":"+00:00","countries":["MR"]},{"id":"Africa/Ouagadougou","utc_offset":"+00:00","countries":["BF"]},{"id":"Africa/Porto-Novo","utc_offset":"+01:00","countries":["BJ"]},{"id":"Africa/Sao_Tome","utc_offset":"+00:00","countries":["ST"]},{"id":"Africa/Tripoli","utc_offset":"+02:00","countries":["LY"]},{"id":"Africa/Tunis","utc_offset":"+01:00","countries":["TN"]},{"id":"Africa/Windhoek","utc_offset":"+01:00","countries":["NA"]},{"id":"America/Adak","utc_offset":"-10:00","countries":["US"]},{"id":"America/Anchorage","utc_offset":"-09:00","countries":["US"]},{"id":"America/Anguilla","utc_offset":"-04:00","countries":["AI"]},{"id":"America/Antigua","utc_offset":"-04:00","countries":["AG"]},{"id":"America/Araguaina","utc_offset":"-03:00","countries":["BR"]},{"id":"America/Argentina/Buenos_Aires","utc_offset":"-03:00","countries":["AR"]},{"id":"America/Argentina/Catamarca","utc_offset":"-03:00","countries":["AR"]},{"id":"America/Argentina/Cordoba","utc_offset":"-03:00","countries":["AR"]},{"id":"America/Argentina/Jujuy","utc_offset":"-03:00","countries":["AR"]},{"id":"America/Argentina/La_Rioja","utc_offset":"-03:00","countries":["AR"]},{"id":"America/Argentina/Mendoza","utc_offset":"-03:00","countries":["AR"]},{"id":"America/Argentina/Rio_Gallegos","utc_offset":"-03:00","countries":["AR"]},{"id":"America/Argentina/Salta","utc_offset":"-03:00","countries":["AR"]},{"id":"America/Argentina/San_Juan","utc_offset":"-03:00","countries":["AR"]},{"id":"America/Argentina/San_Luis","utc_offset":"-03:00","countries":["AR"]},{"id":"America/Argentina/Tucuman","utc_offset":"-03:00","countries":["AR"]},{"id":"America/Argentina/Ushuaia","utc_offset":"-03:00","countries":["AR"]},{"id":"America/Aruba","utc_offset":"-04:00","countries":["AW"]},{"id":"America/Asuncion","utc_offset":"-04:00","countries":["PY"]},{"id":"America/Atikokan","utc_offset":"-05:00","countries":["CA"]},{"id":"America/Bahia","utc_offset":"-03:00","countries":["BR"]},{"id":"America/Bahia_Banderas","utc_offset":"-06:00","countries":["MX"]},{"id":"America/Barbados","utc_offset":"-04:00","countries":["BB"]},{"id":"America/Belem","utc_offset":"-03:00","countries":["BR"]},{"id":"America/Belize","utc_offset":"-06:00","countries":["BZ"]},{"id":"America/Blanc-Sablon","utc_offset":"-04:00","countries":["CA"]},{"id":"America/Boa_Vista","utc_offset":"-04:00","countries":["BR"]},{"id":"America/Bogota","utc_offset":"-05:00","countries":["CO"]},{"id":"America/Boise","utc_offset":"-07:00","countries":["US"]},{"id":"America/Cambridge_Bay","utc_offset":"-07:00","countries":["CA"]},{"id":"America/Campo_Grande","utc_offset":"-04:00","countries":["BR"]},{"id":"America/Cancun","utc_offset":"-05:00","countries":["MX"]},{"id":"America/Caracas","utc_offset":"-04:00","countries":["VE"]},{"id":"America/Cayenne","utc_offset":"-03:00","countries":["GF"]},{"id":"America/Cayman","utc_offset":"-05:00","countries":["KY"]},{"id":"America/Chicago","utc_offset":"-06:00","countries":["US"]},{"id":"America/Chihuahua","utc_offset":"-07:00","countries":["MX"]},{"id":"America/Costa_Rica","utc_offset":"-06:00","countries":["CR"]},{"id":"America/Creston","utc_offset":"-07:00","countries":["CA"]},{"id":"America/Cuiaba","utc_offset":"-04:00","countries":["BR"]},{"id":"America/Curacao","utc_offset":"-04:00","countries":["CW"]},{"id":"America/Danmarkshavn","utc_offset":"+00:00","countries":["GL"]},{"id":"America/Dawson","utc_offset":"-07:00","countries":["CA"]},{"id":"America/Dawson_Creek","utc_offset":"-07:00","countries":["CA"]},{"id":"America/Denver","utc_offset":"-07:00","countries":["US"]},{"id":"America/Detroit","utc_offset":"-05:00","countries":["US"]},{"id":"America/Dominica","utc_offset":"-04:00","countries":["DM"]},{"id":"America/Edmonton","utc_offset":"-07:00","countries":["CA"]},{"id":"America/Eirunepe","utc_offset":"-05:00","countries":["BR"]},{"id":"America/El_Salvador","utc_offset":"-06:00","countries":["SV"]},{"id":"America/Fort_Nelson","utc_offset":"-07:00","countries":["CA"]},{"id":"America/Fortaleza","utc_offset":"-03:00","countries":["BR"]},{"id":"America/Glace_Bay","utc_offset":"-04:00","countries":["CA"]},{"id":"America/Goose_Bay","utc_offset":"-04:00","countries":["CA"]},{"id":"America/Grand_Turk","utc_offset":"-05:00","countries":["TC"]},{"id":"America/Grenada","utc_offset":"-04:00","countries":["GD"]},{"id":"America/Guadeloupe","utc_offset":"-04:00","countries":["GP"]},{"id":"America/Guatemala","utc_offset":"-06:00","countries":["GT"]},{"id":"America/Guayaquil","utc_offset":"-05:00","countries":["EC"]},{"id":"America/Guyana","utc_offset":"-04:00","countries":["GY"]},{"id":"America/Halifax","utc_offset":"-04:00","countries":["CA"]},{"id":"America/Havana","utc_offset":"-05:00","countries":["CU"]},{"id":"America/Hermosillo","utc_offset":"-07:00","countries":["MX"]},{"id":"America/Indiana/Indianapolis","utc_offset":"-05:00","countries":["US"]},{"id":"America/Indiana/Knox","utc_offset":"-06:00","countries":["US"]},{"id":"America/Indiana/Marengo","utc_offset":"-05:00","countries":["US"]},{"id":"America/Indiana/Petersburg","utc_offset":"-05:00","countries":["US"]},{"id":"America/Indiana/Tell_City","utc_offset":"-06:00","countries":["US"]},{"id":"America/Indiana/Vevay","utc_offset":"-05:00","countries":["US"]},{"id":"America/Indiana/Vincennes","utc_offset":"-05:00","countries":["US"]},{"id":"America/Indiana/Winamac","utc_offset":"-05:00","countries":["US"]},{"id":"America/Inuvik","utc_offset":"-07:00","countries":["CA"]},{"id":"America/Iqaluit","utc_offset":"-05:00","countries":["CA"]},{"id":"America/Jamaica","utc_offset":"-05:00","countries":["JM"]},{"id":"America/Juneau","utc_offset":"-09:00","countries":["US"]},{"id":"America/Kentucky/Louisville","utc_offset":"-05:00","countries":["US"]},{"id":"America/Kentucky/Monticello","utc_offset":"-05:00","countries":["US"]},{"id":"America/Kralendijk","utc_offset":"-04:00","countries":["BQ"]},{"id":"America/La_Paz","utc_offset":"-04:00","countries":["BO"]},{"id":"America/Lima","utc_offset":"-05:00","countries":["PE"]},{"id":"America/Los_Angeles","utc_offset":"-08:00","countries":["US"]},{"id":"America/Lower_Princes","utc_offset":"-04:00","countries":["SX"]},{"id":"America/Maceio","utc_offset":"-03:00","countries":["BR"]},{"id":"America/Managua","utc_offset":"-06:00","countries":["NI"]},{"id":"America/Manaus","utc_offset":"-04:00","countries":["BR"]},{"id":"America/Marigot","utc_offset":"-04:00","countries":["MF"]},{"id":"America/Martinique","utc_offset":"-04:00","countries":["MQ"]},{"id":"America/Matamoros","utc_offset":"-06:00","countries":["MX"]},{"id":"America/Mazatlan","utc_offset":"-07:00","countries":["MX"]},{"id":"America/Menominee","utc_offset":"-06:00","countries":["US"]},{"id":"America/Merida","utc_offset":"-06:00","countries":["MX"]},{"id":"America/Metlakatla","utc_offset":"-09:00","countries":["US"]},{"id":"America/Mexico_City","utc_offset":"-06:00","countries":["MX"]},{"id":"America/Miquelon","utc_offset":"-03:00","countries":["PM"]},{"id":"America/Moncton","utc_offset":"-04:00","countries":["CA"]},{"id":"America/Monterrey","utc_offset":"-06:00","countries":["MX"]},{"id":"America/Montevideo","utc_offset":"-03:00","countries":["UY"]},{"id":"America/Montserrat","utc_offset":"-04:00","countries":["MS"]},{"id":"America/Nassau","utc_offset":"-05:00","countries":["BS"]},{"id":"America/New_York","utc_offset":"-05:00","countries":["US"]},{"id":"America/Nipigon","utc_offset":"-05:00","countries":["CA"]},{"id":"America/Nome","utc_offset":"-09:00","countries":["US"]},{"id":"America/Noronha","utc_offset":"-02:00","countries":["BR"]},{"id":"America/North_Dakota/Beulah","utc_offset":"-06:00","countries":["US"]},{"id":"America/North_Dakota/Center","utc_offset":"-06:00","countries":["US"]},{"id":"America/North_Dakota/New_Salem","utc_offset":"-06:00","countries":["US"]},{"id":"America/Nuuk","utc_offset":"-02:00","countries":["GL"]},{"id":"America/Ojinaga","utc_offset":"-07:00","countries":["MX"]},{"id":"America/Panama","utc_offset":"-05:00","countries":["PA","CA","KY"]},{"id":"America/Paramaribo","utc_offset":"-03:00","countries":["SR"]},{"id":"America/Phoenix","utc_offset":"-07:00","countries":["US","CA"]},{"id":"America/Port-au-Prince","utc_offset":"-05:00","countries":["HT"]},{"id":"America/Port_of_Spain","utc_offset":"-04:00","countries":["TT"]},{"id":"America/Porto_Velho","utc_offset":"-04:00","countries":["BR"]},{"id":"America/Puerto_Rico","utc_offset":"-04:00","countries":["PR","AG","CA","AI","AW","BL","BQ","CW","DM","GD","GP","KN","LC","MF","MS","SX","TT","VC","VG","VI"]},{"id":"America/Punta_Arenas","utc_offset":"-03:00","countries":["CL"]},{"id":"America/Rankin_Inlet","utc_offset":"-06:00","countries":["CA"]},{"id":"America/Recife","utc_offset":"-03:00","countries":["BR"]},{"id":"America/Regina","utc_offset":"-06:00","countries":["CA"]},{"id":"America/Resolute","utc_offset":"-06:00","countries":["CA"]},{"id":"America/Rio_Branco","utc_offset":"-05:00","countries":["BR"]},{"id":"America/Santarem","utc_offset":"-03:00","countries":["BR"]},{"id":"America/Santiago","utc_offset":"-04:00","countries":["CL"]},{"id":"America/Santo_Domingo","utc_offset":"-04:00","countries":["DO"]},{"id":"America/Sao_Paulo","utc_offset":"-03:00","countries":["BR"]},{"id":"America/Scoresbysund","utc_offset":"-01:00","countries":["GL"]},{"id":"America/Sitka","utc_offset":"-09:00","countries":["US"]},{"id":"America/St_Barthelemy","utc_offset":"-04:00","countries":["BL"]},{"id":"America/St_Johns","utc_offset":"-03:30","countries":["CA"]},{"id":"America/St_Kitts","utc_offset":"-04:00","countries":["KN"]},{"id":"America/St_Lucia","utc_offset":"-04:00","countries":["LC"]},{"id":"America/St_Thomas","utc_offset":"-04:00","countries":["VI"]},{"id":"America/St_Vincent","utc_offset":"-04:00","countries":["VC"]},{"id":"America/Swift_Current","utc_offset":"-06:00","countries":["CA"]},{"id":"America/Tegucigalpa","utc_offset":"-06:00","countries":["HN"]},{"id":"America/Thule","utc_offset":"-04:00","countries":["GL"]},{"id":"America/Thunder_Bay","utc_offset":"-05:00","countries":["CA"]},{"id":"America/Tijuana","utc_offset":"-08:00","countries":["MX"]},{"id":"America/Toronto","utc_offset":"-05:00","countries":["CA","BS"]},{"id":"America/Tortola","utc_offset":"-04:00","countries":["VG"]},{"id":"America/Vancouver","utc_offset":"-08:00","countries":["CA"]},{"id":"America/Whitehorse","utc_offset":"-07:00","countries":["CA"]},{"id":"America/Winnipeg","utc_offset":"-06:00","countries":["CA"]},{"id":"America/Yakutat","utc_offset":"-09:00","countries":["US"]},{"id":"Antarctica/Casey","utc_offset":"+08:00","countries":["AQ"]},{"id":"Antarctica/Davis","utc_offset":"+07:00","countries":["AQ"]},{"id":"Antarctica/DumontDUrville","utc_offset":"+10:00","countries":["AQ"]},{"id":"Antarctica/Macquarie","utc_offset":"+10:00","countries":["AU"]},{"id":"Antarctica/Mawson","utc_offset":"+05:00","countries":["AQ"]},{"id":"Antarctica/McMurdo","utc_offset":"+12:00","countries":["AQ"]},{"id":"Antarctica/Palmer","utc_offset":"-03:00","countries":["AQ"]},{"id":"Antarctica/Rothera","utc_offset":"-03:00","countries":["AQ"]},{"id":"Antarctica/Syowa","utc_offset":"+03:00","countries":["AQ"]},{"id":"Antarctica/Troll","utc_offset":"+00:00","countries":["AQ"]},{"id":"Antarctica/Vostok","utc_offset":"+06:00","countries":["AQ"]},{"id":"Arctic/Longyearbyen","utc_offset":"+01:00","countries":["SJ"]},{"id":"Asia/Aden","utc_offset":"+03:00","countries":["YE"]},{"id":"Asia/Almaty","utc_offset":"+05:00","countries":["KZ"]},{"id":"Asia/Amman","utc_offset":"+02:00","countries":["JO"]},{"id":"Asia/Anadyr","utc_offset":"+12:00","countries":["RU"]},{"id":"Asia/Aqtau","utc_offset":"+05:00","countries":["KZ"]},{"id":"Asia/Aqtobe","utc_offset":"+05:00","countries":["KZ"]},{"id":"Asia/Ashgabat","utc_offset":"+05:00","countries":["TM"]},{"id":"Asia/Atyrau","utc_offset":"+05:00","countries":["KZ"]},{"id":"Asia/Baghdad","utc_offset":"+03:00","countries":["IQ"]},{"id":"Asia/Bahrain","utc_offset":"+03:00","countries":["BH"]},{"id":"Asia/Baku","utc_offset":"+04:00","countries":["AZ"]},{"id":"Asia/Bangkok","utc_offset":"+07:00","countries":["TH","CX","KH","LA","VN"]},{"id":"Asia/Barnaul","utc_offset":"+07:00","countries":["RU"]},{"id":"Asia/Beirut","utc_offset":"+02:00","countries":["LB"]},{"id":"Asia/Bishkek","utc_offset":"+06:00","countries":["KG"]},{"id":"Asia/Brunei","utc_offset":"+08:00","countries":["BN"]},{"id":"Asia/Chita","utc_offset":"+09:00","countries":["RU"]},{"id":"Asia/Colombo","utc_offset":"+05:30","countries":["LK"]},{"id":"Asia/Damascus","utc_offset":"+02:00","countries":["SY"]},{"id":"Asia/Dhaka","utc_offset":"+06:00","countries":["BD"]},{"id":"Asia/Dili","utc_offset":"+09:00","countries":["TL"]},{"id":"Asia/Dubai","utc_offset":"+04:00","countries":["AE","OM","RE","SC","TF"]},{"id":"Asia/Dushanbe","utc_offset":"+05:00","countries":["TJ"]},{"id":"Asia/Famagusta","utc_offset":"+02:00","countries":["CY"]},{"id":"Asia/Gaza","utc_offset":"+02:00","countries":["PS"]},{"id":"Asia/Hebron","utc_offset":"+02:00","countries":["PS"]},{"id":"Asia/Ho_Chi_Minh","utc_offset":"+07:00","countries":["VN"]},{"id":"Asia/Hong_Kong","utc_offset":"+08:00","countries":["HK"]},{"id":"Asia/Hovd","utc_offset":"+07:00","countries":["MN"]},{"id":"Asia/Irkutsk","utc_offset":"+08:00","countries":["RU"]},{"id":"Asia/Jakarta","utc_offset":"+07:00","countries":["ID"]},{"id":"Asia/Jayapura","utc_offset":"+09:00","countries":["ID"]},{"id":"Asia/Jerusalem","utc_offset":"+02:00","countries":["IL"]},{"id":"Asia/Kabul","utc_offset":"+04:30","countries":["AF"]},{"id":"Asia/Kamchatka","utc_offset":"+12:00","countries":["RU"]},{"id":"Asia/Karachi","utc_offset":"+05:00","countries":["PK"]},{"id":"Asia/Kathmandu","utc_offset":"+05:45","countries":["NP"]},{"id":"Asia/Khandyga","utc_offset":"+09:00","countries":["RU"]},{"id":"Asia/Kolkata","utc_offset":"+05:30","countries":["IN"]},{"id":"Asia/Krasnoyarsk","utc_offset":"+07:00","countries":["RU"]},{"id":"Asia/Kuala_Lumpur","utc_offset":"+08:00","countries":["MY"]},{"id":"Asia/Kuching","utc_offset":"+08:00","countries":["MY","BN"]},{"id":"Asia/Kuwait","utc_offset":"+03:00","countries":["KW"]},{"id":"Asia/Macau","utc_offset":"+08:00","countries":["MO"]},{"id":"Asia/Magadan","utc_offset":"+11:00","countries":["RU"]},{"id":"Asia/Makassar","utc_offset":"+08:00","countries":["ID"]},{"id":"Asia/Manila","utc_offset":"+08:00","countries":["PH"]},{"id":"Asia/Muscat","utc_offset":"+04:00","countries":["OM"]},{"id":"Asia/Nicosia","utc_offset":"+02:00","countries":["CY"]},{"id":"Asia/Novokuznetsk","utc_offset":"+07:00","countries":["RU"]},{"id":"Asia/Novosibirsk","utc_offset":"+07:00","countries":["RU"]},{"id":"Asia/Omsk","utc_offset":"+06:00","countries":["RU"]},{"id":"Asia/Oral","utc_offset":"+05:00","countries":["KZ"]},{"id":"Asia/Phnom_Penh","utc_offset":"+07:00","countries":["KH"]},{"id":"Asia/Pontianak","utc_offset":"+07:00","countries":["ID"]},{"id":"Asia/Pyongyang","utc_offset":"+09:00","countries":["KP"]},{"id":"Asia/Qatar","utc_offset":"+03:00","countries":["QA","BH"]},{"id":"Asia/Qostanay","utc_offset":"+06:00","countries":["KZ"]},{"id":"Asia/Qyzylorda","utc_offset":"+05:00","countries":["KZ"]},{"id":"Asia/Riyadh","utc_offset":"+03:00","countries":["SA","AQ","KW","YE"]},{"id":"Asia/Sakhalin","utc_offset":"+11:00","countries":["RU"]},{"id":"Asia/Samarkand","utc_offset":"+05:00","countries":["UZ"]},{"id":"Asia/Seoul","utc_offset":"+09:00","countries":["KR"]},{"id":"Asia/Shanghai","utc_offset":"+08:00","countries":["CN"]},{"id":"Asia/Singapore","utc_offset":"+08:00","countries":["SG","MY"]},{"id":"Asia/Srednekolymsk","utc_offset":"+11:00","countries":["RU"]},{"id":"Asia/Taipei","utc_offset":"+08:00","countries":["TW"]},{"id":"Asia/Tashkent","utc_offset":"+05:00","countries":["UZ"]},{"id":"Asia/Tbilisi","utc_offset":"+04:00","countries":["GE"]},{"id":"Asia/Tehran","utc_offset":"+03:30","countries":["IR"]},{"id":"Asia/Thimphu","utc_offset":"+06:00","countries":["BT"]},{"id":"Asia/Tokyo","utc_offset":"+09:00","countries":["JP"]},{"id":"Asia/Tomsk","utc_offset":"+07:00","countries":["RU"]},{"id":"Asia/Ulaanbaatar","utc_offset":"+08:00","countries":["MN"]},{"id":"Asia/Urumqi","utc_offset":"+06:00","countries":["CN"]},{"id":"Asia/Ust-Nera","utc_offset":"+10:00","countries":["RU"]},{"id":"Asia/Vientiane","utc_offset":"+07:00","countries":["LA"]},{"id":"Asia/Vladivostok","utc_offset":"+10:00","countries":["RU"]},{"id":"Asia/Yakutsk","utc_offset":"+09:00","countries":["RU"]},{"id":"Asia/Yangon","utc_offset":"+06:30","countries":["MM","CC"]},{"id":"Asia/Yekaterinburg","utc_offset":"+05:00","countries":["RU"]},{"id":"Asia/Yerevan","utc_offset":"+04:00","countries":["AM"]},{"id":"Atlantic/Azores","utc_offset":"-01:00","countries":["PT"]},{"id":"Atlantic/Bermuda","utc_offset":"-04:00","countries":["BM"]},{"id":"Atlantic/Canary","utc_offset":"+00:00","countries":["ES"]},{"id":"Atlantic/Cape_Verde","utc_offset":"-01:00","countries":["CV"]},{"id":"Atlantic/Faroe","utc_offset":"+00:00","countries":["FO"]},{"id":"Atlantic/Madeira","utc_offset":"+00:00","countries":["PT"]},{"id":"Atlantic/Reykjavik","utc_offset":"+00:00","countries":["IS"]},{"id":"Atlantic/South_Georgia","utc_offset":"-02:00","countries":["GS"]},{"id":"Atlantic/St_Helena","utc_offset":"+00:00","countries":["SH"]},{"id":"Atlantic/Stanley","utc_offset":"-03:00","countries":["FK"]},{"id":"Australia/Adelaide","utc_offset":"+09:30","countries":["AU"]},{"id":"Australia/Brisbane","utc_offset":"+10:00","countries":["AU"]},{"id":"Australia/Broken_Hill","utc_offset":"+09:30","countries":["AU"]},{"id":"Australia/Darwin","utc_offset":"+09:30","countries":["AU"]},{"id":"Australia/Eucla","utc_offset":"+08:45","countries":["AU"]},{"id":"Australia/Hobart","utc_offset":"+10:00","countries":["AU"]},{"id":"Australia/Lindeman","utc_offset":"+10:00","countries":["AU"]},{"id":"Australia/Lord_Howe","utc_offset":"+10:30","countries":["AU"]},{"id":"Australia/Melbourne","utc_offset":"+10:00","countries":["AU"]},{"id":"Australia/Perth","utc_offset":"+08:00","countries":["AU"]},{"id":"Australia/Sydney","utc_offset":"+10:00","countries":["AU"]},{"id":"Europe/Amsterdam","utc_offset":"+01:00","countries":["NL"]},{"id":"Europe/Andorra","utc_offset":"+01:00","countries":["AD"]},{"id":"Europe/Astrakhan","utc_offset":"+04:00","countries":["RU"]},{"id":"Europe/Athens","utc_offset":"+02:00","countries":["GR"]},{"id":"Europe/Belgrade","utc_offset":"+01:00","countries":["RS","BA","HR","ME","MK","SI"]},{"id":"Europe/Berlin","utc_offset":"+01:00","countries":["DE","DK","NO","SE","SJ"]},{"id":"Europe/Bratislava","utc_offset":"+01:00","countries":["SK"]},{"id":"Europe/Brussels","utc_offset":"+01:00","countries":["BE","LU","NL"]},{"id":"Europe/Bucharest","utc_offset":"+02:00","countries":["RO"]},{"id":"Europe/Budapest","utc_offset":"+01:00","countries":["HU"]},{"id":"Europe/Chisinau","utc_offset":"+02:00","countries":["MD"]},{"id":"Europe/Copenhagen","utc_offset":"+01:00","countries":["DK"]},{"id":"Europe/Dublin","utc_offset":"+00:00","countries":["IE"]},{"id":"Europe/Gibraltar","utc_offset":"+01:00","countries":["GI"]},{"id":"Europe/Guernsey","utc_offset":"+00:00","countries":["GG"]},{"id":"Europe/Helsinki","utc_offset":"+02:00","countries":["FI","AX"]},{"id":"Europe/Isle_of_Man","utc_offset":"+00:00","countries":["IM"]},{"id":"Europe/Istanbul","utc_offset":"+03:00","countries":["TR"]},{"id":"Europe/Jersey","utc_offset":"+00:00","countries":["JE"]},{"id":"Europe/Kaliningrad","utc_offset":"+02:00","countries":["RU"]},{"id":"Europe/Kirov","utc_offset":"+03:00","countries":["RU"]},{"id":"Europe/Kyiv","utc_offset":"+02:00","countries":["UA"]},{"id":"Europe/Lisbon","utc_offset":"+00:00","countries":["PT"]},{"id":"Europe/Ljubljana","utc_offset":"+01:00","countries":["SI"]},{"id":"Europe/London","utc_offset":"+00:00","countries":["UK","GG","IM","JE"]},{"id":"Europe/Luxembourg","utc_offset":"+01:00","countries":["LU"]},{"id":"Europe/Madrid","utc_offset":"+01:00","countries":["ES"]},{"id":"Europe/Malta","utc_offset":"+01:00","countries":["MT"]},{"id":"Europe/Mariehamn","utc_offset":"+02:00","countries":["AX"]},{"id":"Europe/Minsk","utc_offset":"+03:00","countries":["BY"]},{"id":"Europe/Monaco","utc_offset":"+01:00","countries":["MC"]},{"id":"Europe/Moscow","utc_offset":"+03:00","countries":["RU"]},{"id":"Europe/Oslo","utc_offset":"+01:00","countries":["NO"]},{"id":"Europe/Paris","utc_offset":"+01:00","countries":["FR","MC"]},{"id":"Europe/Podgorica","utc_offset":"+01:00","countries":["ME"]},{"id":"Europe/Prague","utc_offset":"+01:00","countries":["CZ","SK"]},{"id":"Europe/Riga","utc_offset":"+02:00","countries":["LV"]},{"id":"Europe/Rome","utc_offset":"+01:00","countries":["IT","SM","VA"]},{"id":"Europe/Samara","utc_offset":"+04:00","countries":["RU"]},{"id":"Europe/San_Marino","utc_offset":"+01:00","countries":["SM"]},{"id":"Europe/Sarajevo","utc_offset":"+01:00","countries":["BA"]},{"id":"Europe/Saratov","utc_offset":"+04:00","countries":["RU"]},{"id":"Europe/Simferopol","utc_offset":"+03:00","countries":["RU","UA"]},{"id":"Europe/Skopje","utc_offset":"+01:00","countries":["MK"]},{"id":"Europe/Sofia","utc_offset":"+02:00","countries":["BG"]},{"id":"Europe/Stockholm","utc_offset":"+01:00","countries":["SE"]},{"id":"Europe/Tallinn","utc_offset":"+02:00","countries":["EE"]},{"id":"Europe/Tirane","utc_offset":"+01:00","countries":["AL"]},{"id":"Europe/Ulyanovsk","utc_offset":"+04:00","countries":["RU"]},{"id":"Europe/Vaduz","utc_offset":"+01:00","countries":["LI"]},{"id":"Europe/Vatican","utc_offset":"+01:00","countries":["VA"]},{"id":"Europe/Vienna","utc_offset":"+01:00","countries":["AT"]},{"id":"Europe/Vilnius","utc_offset":"+02:00","countries":["LT"]},{"id":"Europe/Volgograd","utc_offset":"+03:00","countries":["RU"]},{"id":"Europe/Warsaw","utc_offset":"+01:00","countries":["PL"]},{"id":"Europe/Zagreb","utc_offset":"+01:00","countries":["HR"]},{"id":"Europe/Zurich","utc_offset":"+01:00","countries":["CH","DE","LI"]},{"id":"Indian/Antananarivo","utc_offset":"+03:00","countries":["MG"]},{"id":"Indian/Chagos","utc_offset":"+06:00","countries":["IO"]},{"id":"Indian/Christmas","utc_offset":"+07:00","countries":["CX"]},{"id":"Indian/Cocos","utc_offset":"+06:30","countries":["CC"]},{"id":"Indian/Comoro","utc_offset":"+03:00","countries":["KM"]},{"id":"Indian/Kerguelen","utc_offset":"+05:00","countries":["TF"]},{"id":"Indian/Mahe","utc_offset":"+04:00","countries":["SC"]},{"id":"Indian/Maldives","utc_offset":"+05:00","countries":["MV","TF"]},{"id":"Indian/Mauritius","utc_offset":"+04:00","countries":["MU"]},{"id":"Indian/Mayotte","utc_offset":"+03:00","countries":["YT"]},{"id":"Indian/Reunion","utc_offset":"+04:00","countries":["RE"]},{"id":"Pacific/Apia","utc_offset":"+13:00","countries":["WS"]},{"id":"Pacific/Auckland","utc_offset":"+12:00","countries":["NZ","AQ"]},{"id":"Pacific/Bougainville","utc_offset":"+11:00","countries":["PG"]},{"id":"Pacific/Chatham","utc_offset":"+12:45","countries":["NZ"]},{"id":"Pacific/Chuuk","utc_offset":"+10:00","countries":["FM"]},{"id":"Pacific/Easter","utc_offset":"-06:00","countries":["CL"]},{"id":"Pacific/Efate","utc_offset":"+11:00","countries":["VU"]},{"id":"Pacific/Fakaofo","utc_offset":"+13:00","countries":["TK"]},{"id":"Pacific/Fiji","utc_offset":"+12:00","countries":["FJ"]},{"id":"Pacific/Funafuti","utc_offset":"+12:00","countries":["TV"]},{"id":"Pacific/Galapagos","utc_offset":"-06:00","countries":["EC"]},{"id":"Pacific/Gambier","utc_offset":"-09:00","countries":["PF"]},{"id":"Pacific/Guadalcanal","utc_offset":"+11:00","countries":["SB","FM"]},{"id":"Pacific/Guam","utc_offset":"+10:00","countries":["GU","MP"]},{"id":"Pacific/Honolulu","utc_offset":"-10:00","countries":["US"]},{"id":"Pacific/Kiritimati","utc_offset":"+14:00","countries":["KI"]},{"id":"Pacific/Kosrae","utc_offset":"+11:00","countries":["FM"]},{"id":"Pacific/Kwajalein","utc_offset":"+12:00","countries":["MH"]},{"id":"Pacific/Majuro","utc_offset":"+12:00","countries":["MH"]},{"id":"Pacific/Marquesas","utc_offset":"-09:30","countries":["PF"]},{"id":"Pacific/Midway","utc_offset":"-11:00","countries":["UM"]},{"id":"Pacific/Nauru","utc_offset":"+12:00","countries":["NR"]},{"id":"Pacific/Niue","utc_offset":"-11:00","countries":["NU"]},{"id":"Pacific/Norfolk","utc_offset":"+11:00","countries":["NF"]},{"id":"Pacific/Noumea","utc_offset":"+11:00","countries":["NC"]},{"id":"Pacific/Pago_Pago","utc_offset":"-11:00","countries":["AS","UM"]},{"id":"Pacific/Palau","utc_offset":"+09:00","countries":["PW"]},{"id":"Pacific/Pitcairn","utc_offset":"-08:00","countries":["PN"]},{"id":"Pacific/Pohnpei","utc_offset":"+11:00","countries":["FM"]},{"id":"Pacific/Port_Moresby","utc_offset":"+10:00","countries":["PG","AQ","FM"]},{"id":"Pacific/Rarotonga","utc_offset":"-10:00","countries":["CK"]},{"id":"Pacific/Saipan","utc_offset":"+10:00","countries":["MP"]},{"id":"Pacific/Tahiti","utc_offset":"-10:00","countries":["PF"]},{"id":"Pacific/Tarawa","utc_offset":"+12:00","countries":["KI","MH","TV","UM","WF"]},{"id":"Pacific/Tongatapu","utc_offset":"+13:00","countries":["TO"]},{"id":"Pacific/Wake","utc_offset":"+12:00","countries":["UM"]},{"id":"Pacific/Wallis","utc_offset":"+12:00","countries":["WF"]}] \ No newline at end of file diff --git a/tests/__data__/input/logs/generators.log b/tests/__data__/input/logs/generators.log deleted file mode 100644 index 4c599f099..000000000 --- a/tests/__data__/input/logs/generators.log +++ /dev/null @@ -1,73 +0,0 @@ -{"filepath":"categories/auto.m3u","count":0} -{"filepath":"categories/animation.m3u","count":0} -{"filepath":"categories/business.m3u","count":0} -{"filepath":"categories/classic.m3u","count":0} -{"filepath":"categories/comedy.m3u","count":0} -{"filepath":"categories/cooking.m3u","count":0} -{"filepath":"categories/culture.m3u","count":0} -{"filepath":"categories/documentary.m3u","count":0} -{"filepath":"categories/education.m3u","count":0} -{"filepath":"categories/entertainment.m3u","count":0} -{"filepath":"categories/family.m3u","count":0} -{"filepath":"categories/general.m3u","count":2} -{"filepath":"categories/kids.m3u","count":0} -{"filepath":"categories/legislative.m3u","count":0} -{"filepath":"categories/lifestyle.m3u","count":0} -{"filepath":"categories/movies.m3u","count":0} -{"filepath":"categories/music.m3u","count":0} -{"filepath":"categories/news.m3u","count":1} -{"filepath":"categories/outdoor.m3u","count":0} -{"filepath":"categories/relax.m3u","count":0} -{"filepath":"categories/religious.m3u","count":0} -{"filepath":"categories/series.m3u","count":0} -{"filepath":"categories/science.m3u","count":0} -{"filepath":"categories/shop.m3u","count":0} -{"filepath":"categories/sports.m3u","count":0} -{"filepath":"categories/travel.m3u","count":0} -{"filepath":"categories/weather.m3u","count":1} -{"filepath":"categories/xxx.m3u","count":1} -{"filepath":"categories/undefined.m3u","count":3} -{"filepath":"countries/cm.m3u","count":1} -{"filepath":"countries/ca.m3u","count":2} -{"filepath":"subdivisions/ca-on.m3u","count":1} -{"filepath":"countries/cv.m3u","count":1} -{"filepath":"countries/cg.m3u","count":1} -{"filepath":"countries/ro.m3u","count":1} -{"filepath":"countries/ru.m3u","count":2} -{"filepath":"countries/rw.m3u","count":1} -{"filepath":"countries/re.m3u","count":1} -{"filepath":"countries/bl.m3u","count":1} -{"filepath":"countries/sh.m3u","count":1} -{"filepath":"countries/kn.m3u","count":1} -{"filepath":"countries/int.m3u","count":1} -{"filepath":"languages/cat.m3u","count":1} -{"filepath":"languages/eng.m3u","count":1} -{"filepath":"languages/fra.m3u","count":1} -{"filepath":"languages/rus.m3u","count":1} -{"filepath":"languages/undefined.m3u","count":2} -{"filepath":"regions/afr.m3u","count":0} -{"filepath":"regions/amer.m3u","count":1} -{"filepath":"regions/apac.m3u","count":1} -{"filepath":"regions/arab.m3u","count":0} -{"filepath":"regions/asean.m3u","count":0} -{"filepath":"regions/asia.m3u","count":2} -{"filepath":"regions/carib.m3u","count":0} -{"filepath":"regions/cas.m3u","count":0} -{"filepath":"regions/cenamer.m3u","count":0} -{"filepath":"regions/cis.m3u","count":1} -{"filepath":"regions/emea.m3u","count":3} -{"filepath":"regions/eur.m3u","count":3} -{"filepath":"regions/hispam.m3u","count":0} -{"filepath":"regions/lac.m3u","count":0} -{"filepath":"regions/latam.m3u","count":0} -{"filepath":"regions/maghreb.m3u","count":0} -{"filepath":"regions/mena.m3u","count":0} -{"filepath":"regions/mideast.m3u","count":0} -{"filepath":"regions/nam.m3u","count":1} -{"filepath":"regions/noram.m3u","count":1} -{"filepath":"regions/nord.m3u","count":0} -{"filepath":"regions/oce.m3u","count":0} -{"filepath":"regions/sas.m3u","count":1} -{"filepath":"regions/southam.m3u","count":0} -{"filepath":"regions/ssa.m3u","count":0} -{"filepath":"regions/wafr.m3u","count":0} \ No newline at end of file diff --git a/tests/__data__/input/streams_format/in.m3u b/tests/__data__/input/playlist_format/in.m3u similarity index 100% rename from tests/__data__/input/streams_format/in.m3u rename to tests/__data__/input/playlist_format/in.m3u diff --git a/tests/__data__/input/streams_format/nl.m3u b/tests/__data__/input/playlist_format/nl.m3u similarity index 76% rename from tests/__data__/input/streams_format/nl.m3u rename to tests/__data__/input/playlist_format/nl.m3u index ddf912cf0..5fdeaea52 100644 --- a/tests/__data__/input/streams_format/nl.m3u +++ b/tests/__data__/input/playlist_format/nl.m3u @@ -3,9 +3,11 @@ #EXTVLCOPT:http-referrer=http://imn.iq #EXTVLCOPT:http-user-agent=Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 http://stream.tvtap.net:8081/live/nl-npo2.stream/playlist.m3u8? +#EXTINF:-1 tvg-id="NPO2.nl",NPO 2 [Geo-blocked] +http://resolver.streaming.api.nos.nl/livestream?url=/live/npo/tvlive/npo2/npo22.isml/.m3u8 #EXTINF:-1 tvg-id="NPO2.nl",NPO 2 (342p) http://resolver.streaming.api.nos.nl/livestream?url=/live/npo/tvlive/npo2/npo2.isml/.m3u8 -#EXTINF:-1 tvg-id="NPO1.nl",NPO 1 (342p) [Geo-blocked] +#EXTINF:-1 tvg-id="NPO1.nl@SD",NPO 1 (342p) [Geo-blocked] http://resolver.streaming.api.nos.nl/livestream?url=/live/npo/tvlive/npo1/npo1.isml/.m3u8 #EXTINF:-1 tvg-id="",NPO 2 (Duplicate) http://resolver.streaming.api.nos.nl/livestream?url=/live/npo/tvlive/npo2/npo2.isml/.m3u8 diff --git a/tests/__data__/input/playlist_generate/ad.m3u b/tests/__data__/input/playlist_generate/ad.m3u new file mode 100644 index 000000000..7557713a7 --- /dev/null +++ b/tests/__data__/input/playlist_generate/ad.m3u @@ -0,0 +1,5 @@ +#EXTM3U +#EXTINF:-1 tvg-id="Zoo.ad@HD",Zoo (720p) +https://iptv-all.lanesh4d0w.repl.co/andorra/zoo +#EXTINF:-1 tvg-id="AndorraTV.ad@SD",ATV +https://iptv-all.lanesh4d0w.repl.co/andorra/atv diff --git a/tests/__data__/input/playlist_generate/ca.m3u b/tests/__data__/input/playlist_generate/ca.m3u new file mode 100644 index 000000000..9c198b682 --- /dev/null +++ b/tests/__data__/input/playlist_generate/ca.m3u @@ -0,0 +1,3 @@ +#EXTM3U +#EXTINF:-1 tvg-id="MeteoMedia.ca",Meteomedia +http://encodercdn1.frontline.ca/encoder181/output/Meteo_Media_720p/playlist.m3u8 diff --git a/tests/__data__/input/playlist_generate/in.m3u b/tests/__data__/input/playlist_generate/in.m3u new file mode 100644 index 000000000..62594eb4b --- /dev/null +++ b/tests/__data__/input/playlist_generate/in.m3u @@ -0,0 +1,3 @@ +#EXTM3U +#EXTINF:-1 tvg-id="",Daawah TV +http://51.15.246.58:8081/daawahtv/daawahtv2/playlist.m3u8 diff --git a/tests/__data__/input/playlist_generate/uk.m3u b/tests/__data__/input/playlist_generate/uk.m3u new file mode 100644 index 000000000..5e8c7318e --- /dev/null +++ b/tests/__data__/input/playlist_generate/uk.m3u @@ -0,0 +1,3 @@ +#EXTM3U +#EXTINF:-1 tvg-id="BBCNews.uk",BBC News HD +http://1111296894.rsc.cdn77.org/LS-ATL-54548-6/index.m3u8 diff --git a/tests/__data__/input/playlist_generate/unsorted.m3u b/tests/__data__/input/playlist_generate/unsorted.m3u new file mode 100644 index 000000000..1a9c40b9f --- /dev/null +++ b/tests/__data__/input/playlist_generate/unsorted.m3u @@ -0,0 +1,9 @@ +#EXTM3U +#EXTINF:-1 tvg-id="LDPRTV.ru",ЛДПР ТВ (1080p) +http://46.46.143.222:1935/live/mp4:ldpr.stream/blocked.m3u8 +#EXTINF:-1 tvg-id="VisitXTV.nl",Visit-X TV +https://stream.visit-x.tv/vxtv/ngrp:live_all/30fps.m3u8 +#EXTINF:-1 tvg-id="" user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148",Andorra TV (720p) [Not 24/7] +#EXTVLCOPT:http-referrer=http://imn.iq +#EXTVLCOPT:http-user-agent=Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 +http://1111296894.rsc.cdn77.org/LS-ATL-54548-6/index2.m3u8 diff --git a/tests/__data__/input/streams_test/ag.m3u b/tests/__data__/input/playlist_test/ag.m3u similarity index 86% rename from tests/__data__/input/streams_test/ag.m3u rename to tests/__data__/input/playlist_test/ag.m3u index c2342183a..66b32b21d 100644 --- a/tests/__data__/input/streams_test/ag.m3u +++ b/tests/__data__/input/playlist_test/ag.m3u @@ -1,5 +1,5 @@ #EXTM3U #EXTINF:-1 tvg-id="ABSTV.ag",ABS TV https://tego-cdn2a.sibercdn.com/Live_TV-ABSTV-10/tracks-v3a1/rewind-7200.m3u8?token=e5f61e7be8363eb781b4bdfe591bf917dd529c1a-SjY3NzRTbDZQNnFQVkZaNkZja2RxV3JKc1VBa05zQkdMNStJakRGV0VTTzNrOEVGVUlIQmxta1NLV0o3bzdVdQ-1736094545-1736008145 -#EXTINF:-1 tvg-id="ABSTV.ag",ABS TV (1080p) [Not 24/7] +#EXTINF:-1 tvg-id="ABSTV.ag@HD",ABS TV (1080p) [Not 24/7] https://query-streamlink.herokuapp.com/iptv-query?streaming-ip=https://www.twitch.tv/absliveantigua3 \ No newline at end of file diff --git a/tests/__data__/input/test_results/all.js b/tests/__data__/input/playlist_test/results.js similarity index 100% rename from tests/__data__/input/test_results/all.js rename to tests/__data__/input/playlist_test/results.js diff --git a/tests/__data__/input/streams_report/br.m3u b/tests/__data__/input/playlist_update/br.m3u similarity index 100% rename from tests/__data__/input/streams_report/br.m3u rename to tests/__data__/input/playlist_update/br.m3u diff --git a/tests/__data__/input/streams_update/cy.m3u b/tests/__data__/input/playlist_update/cy.m3u similarity index 62% rename from tests/__data__/input/streams_update/cy.m3u rename to tests/__data__/input/playlist_update/cy.m3u index 581d0961b..439794ad7 100644 --- a/tests/__data__/input/streams_update/cy.m3u +++ b/tests/__data__/input/playlist_update/cy.m3u @@ -3,3 +3,5 @@ http://l6.cloudskep.com/rikcy/rikhd/playlist.m3u8 #EXTINF:-1 tvg-id="",RIK 2 http://l6.cloudskep.com/rikcy/rik2/playlist.m3u8 +#EXTINF:-1 tvg-id="AdaTV.cy",AdaTV +https://ythls.onrender.com/channel/UC40TUSUx490U5uR1lZt3Ajg.m3u8 diff --git a/tests/__data__/input/issues/all.js b/tests/__data__/input/playlist_update/issues.js similarity index 87% rename from tests/__data__/input/issues/all.js rename to tests/__data__/input/playlist_update/issues.js index ff62b063f..d12eeb7d8 100644 --- a/tests/__data__/input/issues/all.js +++ b/tests/__data__/input/playlist_update/issues.js @@ -292,7 +292,7 @@ module.exports = [ closed_at: null, author_association: 'COLLABORATOR', active_lock_reason: null, - body: '### Channel ID\n\nManoramaNews.in\n\n### Stream URL\n\nhttps://ythls.onrender.com/channel/UCP0uG-mcMImgKnJz-VjJZmQ.m3u8\n\n### Label\n\nNot 24/7\n\n### Notes (optional)\n\nSource: https://github.com/iptv-org/iptv/issues/14007#issuecomment-1686942043\n\n### Contributing Guide\n\n- [X] I have read [Contributing Guide](https://github.com/iptv-org/iptv/blob/master/CONTRIBUTING.md)', + body: '### Stream ID\n\nManoramaNews.in\n\n### Stream URL\n\nhttps://ythls.onrender.com/channel/UCP0uG-mcMImgKnJz-VjJZmQ.m3u8\n\n### Label\n\nNot 24/7\n\n### Notes (optional)\n\nSource: https://github.com/iptv-org/iptv/issues/14007#issuecomment-1686942043\n\n### Contributing Guide\n\n- [X] I have read [Contributing Guide](https://github.com/iptv-org/iptv/blob/master/CONTRIBUTING.md)', reactions: { url: 'https://api.github.com/repos/iptv-org/iptv/issues/14179/reactions', total_count: 0, @@ -371,7 +371,7 @@ module.exports = [ closed_at: null, author_association: 'COLLABORATOR', active_lock_reason: null, - body: '### Channel ID\n\nTV3.my\n\n### Stream URL\n\nhttps://live-streams-ssai-01.tonton.com.my/live/2dd2b7cd-1b34-4871-b669-57b5c9beca23/live.isml/.m3u8\n\n### Label\n\nNone\n\n### Notes (optional)\n\nSource: https://github.com/iptv-org/iptv/issues/14063#issuecomment-1695783106\n\n### Contributing Guide\n\n- [X] I have read [Contributing Guide](https://github.com/iptv-org/iptv/blob/master/CONTRIBUTING.md)', + body: '### Stream ID\n\nTV3.my\n\n### Stream URL\n\nhttps://live-streams-ssai-01.tonton.com.my/live/2dd2b7cd-1b34-4871-b669-57b5c9beca23/live.isml/.m3u8\n\n### Label\n\nNone\n\n### Notes (optional)\n\nSource: https://github.com/iptv-org/iptv/issues/14063#issuecomment-1695783106\n\n### Contributing Guide\n\n- [X] I have read [Contributing Guide](https://github.com/iptv-org/iptv/blob/master/CONTRIBUTING.md)', reactions: { url: 'https://api.github.com/repos/iptv-org/iptv/issues/14178/reactions', total_count: 0, @@ -450,7 +450,7 @@ module.exports = [ closed_at: null, author_association: 'COLLABORATOR', active_lock_reason: null, - body: '### Channel ID\n\nTUTV.us\n\n### Stream URL\n\nhttps://livestream.telvue.com/templeuni1/f7b44cfafd5c52223d5498196c8a2e7b.sdp/playlist.m3u8\n\n### Label\n\nNone\n\n### Notes (optional)\n\nSource: https://github.com/iptv-org/iptv/issues/14096#issue-1874505679\n\n### Contributing Guide\n\n- [X] I have read [Contributing Guide](https://github.com/iptv-org/iptv/blob/master/CONTRIBUTING.md)', + body: '### Stream ID\n\nTUTV.us\n\n### Stream URL\n\nhttps://livestream.telvue.com/templeuni1/f7b44cfafd5c52223d5498196c8a2e7b.sdp/playlist.m3u8\n\n### Label\n\nNone\n\n### Notes (optional)\n\nSource: https://github.com/iptv-org/iptv/issues/14096#issue-1874505679\n\n### Contributing Guide\n\n- [X] I have read [Contributing Guide](https://github.com/iptv-org/iptv/blob/master/CONTRIBUTING.md)', reactions: { url: 'https://api.github.com/repos/iptv-org/iptv/issues/14177/reactions', total_count: 0, @@ -538,7 +538,7 @@ module.exports = [ closed_at: null, author_association: 'COLLABORATOR', active_lock_reason: null, - body: '### Channel ID\n\nTFX.fr\n\n### Stream URL\n\nhttp://livetv.ktv.zone/13/play.m3u8\n\n### Label\n\nNone\n\n### HTTP User Agent\n\nMozilla/5.0 (iPhone; CPU iPhone OS 17_7 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.0 Mobile/15E148 Safari/604.1\n\n### HTTP Referrer\n\nhttps://pkpakiplay.xyz/\n\n### Notes (optional)\n\nSource: https://github.com/iptv-org/iptv-org.github.io/issues/1381\n\n### Contributing Guide\n\n- [X] I have read [Contributing Guide](https://github.com/iptv-org/iptv/blob/master/CONTRIBUTING.md)', + body: '### Stream ID\n\nTFX.fr\n\n### Stream URL\n\nhttps://stitcher-ipv4.pluto.tv/v1/stitch/embed/hls/channel/64c109a4798def0008a6e03e/master.m3u8?advertisingId={PSID}&appVersion=unknown&deviceDNT={TARGETOPT}&deviceId={PSID}&deviceLat=0&deviceLon=0&deviceMake=samsung&deviceModel=samsung&deviceType=samsung-tvplus&deviceVersion=unknown&embedPartner=samsung-tvplus&profileFloor=&profileLimit=&samsung_app_domain={APP_DOMAIN}&samsung_app_name={APP_NAME}&us_privacy=1YNY\n\n### Label\n\nNone\n\n### HTTP User Agent\n\nMozilla/5.0 (iPhone; CPU iPhone OS 17_7 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.0 Mobile/15E148 Safari/604.1\n\n### HTTP Referrer\n\nhttps://pkpakiplay.xyz/\n\n### Notes (optional)\n\nSource: https://github.com/iptv-org/iptv-org.github.io/issues/1381\n\n### Contributing Guide\n\n- [X] I have read [Contributing Guide](https://github.com/iptv-org/iptv/blob/master/CONTRIBUTING.md)', reactions: { url: 'https://api.github.com/repos/iptv-org/iptv/issues/14175/reactions', total_count: 0, @@ -626,7 +626,7 @@ module.exports = [ closed_at: null, author_association: 'COLLABORATOR', active_lock_reason: null, - body: '### Channel ID\n\nManoramaNews.in\n\n### Stream URL\n\n(https://mitelefe.com/Api/Videos/GetSourceUrl/694564/0/HLS / https://ssl.cloud.telefe.com/Api/Videos/GetSourceUrl/694564/0/HLS)\n\n### Label\n\nNot 24/7\n\n### Notes (optional)\n\nSource: https://github.com/iptv-org/iptv/issues/14007#issuecomment-1686942043\n\n### Contributing Guide\n\n- [X] I have read [Contributing Guide](https://github.com/iptv-org/iptv/blob/master/CONTRIBUTING.md)', + body: '### Stream ID\n\nManoramaNews.in\n\n### Stream URL\n\n(https://mitelefe.com/Api/Videos/GetSourceUrl/694564/0/HLS / https://ssl.cloud.telefe.com/Api/Videos/GetSourceUrl/694564/0/HLS)\n\n### Label\n\nNot 24/7\n\n### Notes (optional)\n\nSource: https://github.com/iptv-org/iptv/issues/14007#issuecomment-1686942043\n\n### Contributing Guide\n\n- [X] I have read [Contributing Guide](https://github.com/iptv-org/iptv/blob/master/CONTRIBUTING.md)', reactions: { url: 'https://api.github.com/repos/iptv-org/iptv/issues/14179/reactions', total_count: 0, @@ -643,94 +643,6 @@ module.exports = [ performed_via_github_app: null, state_reason: null }, - { - url: 'https://api.github.com/repos/iptv-org/iptv/issues/14175', - repository_url: 'https://api.github.com/repos/iptv-org/iptv', - labels_url: 'https://api.github.com/repos/iptv-org/iptv/issues/14175/labels{/name}', - comments_url: 'https://api.github.com/repos/iptv-org/iptv/issues/14175/comments', - events_url: 'https://api.github.com/repos/iptv-org/iptv/issues/14175/events', - html_url: 'https://github.com/iptv-org/iptv/issues/14175', - id: 1884859778, - node_id: 'I_kwDOCWUK8M5wWK2C', - number: 14175, - title: 'Add: TFX', - user: { - login: 'freearhey', - id: 7253922, - node_id: 'MDQ6VXNlcjcyNTM5MjI=', - avatar_url: 'https://avatars.githubusercontent.com/u/7253922?v=4', - gravatar_id: '', - url: 'https://api.github.com/users/freearhey', - html_url: 'https://github.com/freearhey', - followers_url: 'https://api.github.com/users/freearhey/followers', - following_url: 'https://api.github.com/users/freearhey/following{/other_user}', - gists_url: 'https://api.github.com/users/freearhey/gists{/gist_id}', - starred_url: 'https://api.github.com/users/freearhey/starred{/owner}{/repo}', - subscriptions_url: 'https://api.github.com/users/freearhey/subscriptions', - organizations_url: 'https://api.github.com/users/freearhey/orgs', - repos_url: 'https://api.github.com/users/freearhey/repos', - events_url: 'https://api.github.com/users/freearhey/events{/privacy}', - received_events_url: 'https://api.github.com/users/freearhey/received_events', - type: 'User', - site_admin: false - }, - labels: [ - { - id: 1694117286, - node_id: 'MDU6TGFiZWwxNjk0MTE3Mjg2', - url: 'https://api.github.com/repos/iptv-org/iptv/labels/FR', - name: 'FR', - color: 'f7ec1b', - default: false, - description: 'France' - }, - { - id: 5923498886, - node_id: 'LA_kwDOCWUK8M8AAAABYRFrhg', - url: 'https://api.github.com/repos/iptv-org/iptv/labels/approved', - name: 'approved', - color: '85ddde', - default: false, - description: '' - }, - { - id: 5923508587, - node_id: 'LA_kwDOCWUK8M8AAAABYRGRaw', - url: 'https://api.github.com/repos/iptv-org/iptv/labels/streams:add', - name: 'streams:add', - color: '017ff9', - default: false, - description: 'Request to add a new link to a playlist' - } - ], - state: 'open', - locked: false, - assignee: null, - assignees: [], - milestone: null, - comments: 1, - created_at: '2023-09-06T22:54:25Z', - updated_at: '2023-09-07T00:57:11Z', - closed_at: null, - author_association: 'COLLABORATOR', - active_lock_reason: null, - body: '### Channel ID\n\nTFX.fr\n\n### Stream URL\n\nhttp://livetv.ktv.zone/13/play.m3u8\n\n### Label\n\nNone\n\n### Notes (optional)\n\nSource: https://github.com/iptv-org/iptv-org.github.io/issues/1381\n\n### Contributing Guide\n\n- [X] I have read [Contributing Guide](https://github.com/iptv-org/iptv/blob/master/CONTRIBUTING.md)', - reactions: { - url: 'https://api.github.com/repos/iptv-org/iptv/issues/14175/reactions', - total_count: 0, - '+1': 0, - '-1': 0, - laugh: 0, - hooray: 0, - confused: 0, - heart: 0, - rocket: 0, - eyes: 0 - }, - timeline_url: 'https://api.github.com/repos/iptv-org/iptv/issues/14175/timeline', - performed_via_github_app: null, - state_reason: null - }, { url: 'https://api.github.com/repos/iptv-org/iptv/issues/14135', repository_url: 'https://api.github.com/repos/iptv-org/iptv', @@ -802,7 +714,7 @@ module.exports = [ closed_at: null, author_association: 'NONE', active_lock_reason: null, - body: '### Channel ID\n\nBBCWorldNewsSouthAsia.uk\n\n### Stream URL (optional)\n\nhttp://103.199.161.254/Content/bbcworld/Live/Channel%28BBCworld%29/Stream%2801%29/index.m3u8\n\n### Notes (optional)\n\n2 links for BBCWorldNewsSouthAsia.uk\r\nhttp://103.199.161.254/Content/bbcworld/Live/Channel%28BBCworld%29/Stream%2801%29/index.m3u8\r\nhttp://103.199.161.254/Content/bbcworld/Live/Channel%28BBCworld%29/Stream%2802%29/index.m3u8\n\n### Please confirm the following\n\n- [X] I have read [Contributing Guide](https://github.com/iptv-org/iptv/blob/master/CONTRIBUTING.md#request-a-channel)', + body: '### Stream ID\n\nBBCWorldNews.uk@SouthAsia\n\n### Stream URL (optional)\n\nhttp://103.199.161.254/Content/bbcworld/Live/Channel%28BBCworld%29/Stream%2801%29/index.m3u8\n\n### Notes (optional)\n\n2 links for BBCWorldNewsSouthAsia.uk\r\nhttp://103.199.161.254/Content/bbcworld/Live/Channel%28BBCworld%29/Stream%2801%29/index.m3u8\r\nhttp://103.199.161.254/Content/bbcworld/Live/Channel%28BBCworld%29/Stream%2802%29/index.m3u8\n\n### Please confirm the following\n\n- [X] I have read [Contributing Guide](https://github.com/iptv-org/iptv/blob/master/CONTRIBUTING.md#request-a-channel)', reactions: { url: 'https://api.github.com/repos/iptv-org/iptv/issues/14135/reactions', total_count: 0, @@ -890,7 +802,7 @@ module.exports = [ closed_at: null, author_association: 'CONTRIBUTOR', active_lock_reason: null, - body: '### Channel ID\n\nAmarinTV.th\n\n### Stream URL (optional)\n\nhttps://cdn6.goprimetime.info/feed/202306140918/chamarin/index.m3u8\n\n### Notes (optional)\n\n_No response_\n\n### Please confirm the following\n\n- [X] I have read [Contributing Guide](https://github.com/iptv-org/iptv/blob/master/CONTRIBUTING.md#request-a-channel)', + body: '### Stream ID\n\nAmarinTV.th\n\n### Stream URL (optional)\n\nhttps://cdn6.goprimetime.info/feed/202306140918/chamarin/index.m3u8\n\n### Notes (optional)\n\n_No response_\n\n### Please confirm the following\n\n- [X] I have read [Contributing Guide](https://github.com/iptv-org/iptv/blob/master/CONTRIBUTING.md#request-a-channel)', reactions: { url: 'https://api.github.com/repos/iptv-org/iptv/issues/14105/reactions', total_count: 0, @@ -978,7 +890,7 @@ module.exports = [ closed_at: null, author_association: 'CONTRIBUTOR', active_lock_reason: null, - body: '### Channel ID\n\nMCOTHD.th\n\n### Stream URL (optional)\n\nhttps://cdn6.goprimetime.info/feed/202306140918/chmcothd/index.m3u8\n\n### Notes (optional)\n\n_No response_\n\n### Please confirm the following\n\n- [X] I have read [Contributing Guide](https://github.com/iptv-org/iptv/blob/master/CONTRIBUTING.md#request-a-channel)', + body: '### Stream ID\n\nMCOTHD.th\n\n### Stream URL (optional)\n\nhttps://cdn6.goprimetime.info/feed/202306140918/chmcothd/index.m3u8\n\n### Notes (optional)\n\n_No response_\n\n### Please confirm the following\n\n- [X] I have read [Contributing Guide](https://github.com/iptv-org/iptv/blob/master/CONTRIBUTING.md#request-a-channel)', reactions: { url: 'https://api.github.com/repos/iptv-org/iptv/issues/14104/reactions', total_count: 0, @@ -1066,7 +978,7 @@ module.exports = [ closed_at: null, author_association: 'NONE', active_lock_reason: null, - body: '### Channel ID\r\n\r\nFastTV.us\r\n\r\n### Stream URL (optional)\r\n\r\nhttps://3fa797d5.wurl.com/manifest/f36d25e7e52f1ba8d7e56eb859c636563214f541/T05PX01vdG9yVHJlbmRGYXN0VFZfSExT/b5e5e0e2-12b3-4312-93c9-c0a7c50b41ca/4.m3u8\r\n\r\n### Notes (optional)\r\n\r\nA free stream from MotorTrend TV\r\n\r\n### Please confirm the following\r\n\r\n- [X] I have read [Contributing Guide](https://github.com/iptv-org/iptv/blob/master/CONTRIBUTING.md#request-a-channel)', + body: '### Stream ID\r\n\r\nFastTV.us\r\n\r\n### Stream URL (optional)\r\n\r\nhttps://3fa797d5.wurl.com/manifest/f36d25e7e52f1ba8d7e56eb859c636563214f541/T05PX01vdG9yVHJlbmRGYXN0VFZfSExT/b5e5e0e2-12b3-4312-93c9-c0a7c50b41ca/4.m3u8\r\n\r\n### Notes (optional)\r\n\r\nA free stream from MotorTrend TV\r\n\r\n### Please confirm the following\r\n\r\n- [X] I have read [Contributing Guide](https://github.com/iptv-org/iptv/blob/master/CONTRIBUTING.md#request-a-channel)', reactions: { url: 'https://api.github.com/repos/iptv-org/iptv/issues/14057/reactions', total_count: 0, @@ -1154,7 +1066,7 @@ module.exports = [ closed_at: null, author_association: 'NONE', active_lock_reason: null, - body: '### Channel ID\n\nMatch4.hu\n\n### Stream URL (optional)\n\nhttp://194.76.186.33:8000/play/a04d/index.m3u8\n\n### Notes (optional)\n\n_No response_\n\n### Please confirm the following\n\n- [X] I have read [Contributing Guide](https://github.com/iptv-org/iptv/blob/master/CONTRIBUTING.md#request-a-channel)', + body: '### Stream ID\n\nMatch4.hu\n\n### Stream URL (optional)\n\nhttp://194.76.186.33:8000/play/a04d/index.m3u8\n\n### Notes (optional)\n\n_No response_\n\n### Please confirm the following\n\n- [X] I have read [Contributing Guide](https://github.com/iptv-org/iptv/blob/master/CONTRIBUTING.md#request-a-channel)', reactions: { url: 'https://api.github.com/repos/iptv-org/iptv/issues/14034/reactions', total_count: 0, @@ -1251,7 +1163,7 @@ module.exports = [ closed_at: null, author_association: 'COLLABORATOR', active_lock_reason: null, - body: '### Channel ID\n\nMethTV.lk\n\n### Stream URL (optional)\n\nhttps://ythls.onrender.com/channel/UC7kBHRaynsJMB6JcooGLTmA.m3u8\n\n### Notes (optional)\n\n720p / Not 24/7\n\n### Please confirm the following\n\n- [X] I have read [Contributing Guide](https://github.com/iptv-org/iptv/blob/master/CONTRIBUTING.md#request-a-channel)', + body: '### Stream ID\n\nMethTV.lk\n\n### Stream URL (optional)\n\nhttps://ythls.onrender.com/channel/UC7kBHRaynsJMB6JcooGLTmA.m3u8\n\n### Notes (optional)\n\n720p / Not 24/7\n\n### Please confirm the following\n\n- [X] I have read [Contributing Guide](https://github.com/iptv-org/iptv/blob/master/CONTRIBUTING.md#request-a-channel)', reactions: { url: 'https://api.github.com/repos/iptv-org/iptv/issues/13964/reactions', total_count: 0, @@ -1339,7 +1251,7 @@ module.exports = [ closed_at: null, author_association: 'NONE', active_lock_reason: null, - body: "### Channel ID\n\nWeathernews.jp\n\n### Stream URL (optional)\n\nhttps://ythls.onrender.com/channel/UCNsidkYpIAQ4QaufptQBPHQ.m3u8\n\n### Notes (optional)\n\nLet's try them 😼\r\n\r\nI've just learned that they change streams for their TV broadcasts on YouTube every 3 hours, so even with additional streams they occasionally activate (such as now during Typhoon Lan), the YT API should manage to pick the correct feed in most cases 😜\r\n\r\nOtherwise, an advantage over the two streams that already are in the database is that the YT broadcasts are in 1080p (vs 720p).\n\n### Please confirm the following\n\n- [X] I have read [Contributing Guide](https://github.com/iptv-org/iptv/blob/master/CONTRIBUTING.md#request-a-channel)", + body: "### Stream ID\n\nWeathernews.jp\n\n### Stream URL (optional)\n\nhttps://ythls.onrender.com/channel/UCNsidkYpIAQ4QaufptQBPHQ.m3u8\n\n### Notes (optional)\n\nLet's try them 😼\r\n\r\nI've just learned that they change streams for their TV broadcasts on YouTube every 3 hours, so even with additional streams they occasionally activate (such as now during Typhoon Lan), the YT API should manage to pick the correct feed in most cases 😜\r\n\r\nOtherwise, an advantage over the two streams that already are in the database is that the YT broadcasts are in 1080p (vs 720p).\n\n### Please confirm the following\n\n- [X] I have read [Contributing Guide](https://github.com/iptv-org/iptv/blob/master/CONTRIBUTING.md#request-a-channel)", reactions: { url: 'https://api.github.com/repos/iptv-org/iptv/issues/13893/reactions', total_count: 0, @@ -1427,7 +1339,7 @@ module.exports = [ closed_at: null, author_association: 'NONE', active_lock_reason: null, - body: '### Channel ID\n\nAajTak.in\n\n### Stream URL (optional)\n\nhttps://feeds.intoday.in/aajtak/api/aajtakhd/master.m3u8\n\n### Notes (optional)\n\n_No response_\n\n### Please confirm the following\n\n- [X] I have read [Contributing Guide](https://github.com/iptv-org/iptv/blob/master/CONTRIBUTING.md#request-a-channel)', + body: '### Stream ID\n\nAajTak.in\n\n### Stream URL (optional)\n\nhttps://feeds.intoday.in/aajtak/api/aajtakhd/master.m3u8\n\n### Notes (optional)\n\n_No response_\n\n### Please confirm the following\n\n- [X] I have read [Contributing Guide](https://github.com/iptv-org/iptv/blob/master/CONTRIBUTING.md#request-a-channel)', reactions: { url: 'https://api.github.com/repos/iptv-org/iptv/issues/13881/reactions', total_count: 0, @@ -1515,7 +1427,7 @@ module.exports = [ closed_at: null, author_association: 'NONE', active_lock_reason: null, - body: '### Channel ID\r\n\r\nATX.jp\r\n\r\n### Stream URL (optional)\r\n\r\nhttp://194.233.72.249:8080/AT-X/index.m3u8\r\n\r\n### Notes (optional)\r\n\r\n![AT-X_20230705_202525 551](https://github.com/iptv-org/iptv/assets/21299971/794c1cd4-fbe4-4b35-8a16-45127953ff65)\r\nThis is test AT-X channel JP without subs\r\n720 Quality\r\n\r\n### Please confirm the following\r\n\r\n- [X] I have read [Contributing Guide](https://github.com/iptv-org/iptv/blob/master/CONTRIBUTING.md#request-a-channel)', + body: '### Stream ID\r\n\r\nATX.jp\r\n\r\n### Stream URL (optional)\r\n\r\nhttp://194.233.72.249:8080/AT-X/index.m3u8\r\n\r\n### Notes (optional)\r\n\r\n![AT-X_20230705_202525 551](https://github.com/iptv-org/iptv/assets/21299971/794c1cd4-fbe4-4b35-8a16-45127953ff65)\r\nThis is test AT-X channel JP without subs\r\n720 Quality\r\n\r\n### Please confirm the following\r\n\r\n- [X] I have read [Contributing Guide](https://github.com/iptv-org/iptv/blob/master/CONTRIBUTING.md#request-a-channel)', reactions: { url: 'https://api.github.com/repos/iptv-org/iptv/issues/13793/reactions', total_count: 0, @@ -1603,7 +1515,7 @@ module.exports = [ closed_at: null, author_association: 'NONE', active_lock_reason: null, - body: '### Channel ID\r\n\r\nBeanoTV.uk\r\n\r\n### Stream URL (optional)\r\n\r\nhttps://a5b4bacecd47433dad06d3189fc7422e.mediatailor.us-east-1.amazonaws.com/v1/manifest/04fd913bb278d8775298c26fdca9d9841f37601f/RakutenTV-eu_BeanoTV/b1f233d5-847c-437d-aa4f-f73e67a85323/2.m3u8\r\n\r\n### Notes (optional)\r\n\r\n_No response_\r\n\r\n### Please confirm the following\r\n\r\n- [X] I have read [Contributing Guide](https://github.com/iptv-org/iptv/blob/master/CONTRIBUTING.md#request-a-channel)', + body: '### Stream ID\r\n\r\nBeanoTV.uk\r\n\r\n### Stream URL (optional)\r\n\r\nhttps://a5b4bacecd47433dad06d3189fc7422e.mediatailor.us-east-1.amazonaws.com/v1/manifest/04fd913bb278d8775298c26fdca9d9841f37601f/RakutenTV-eu_BeanoTV/b1f233d5-847c-437d-aa4f-f73e67a85323/2.m3u8\r\n\r\n### Notes (optional)\r\n\r\n_No response_\r\n\r\n### Please confirm the following\r\n\r\n- [X] I have read [Contributing Guide](https://github.com/iptv-org/iptv/blob/master/CONTRIBUTING.md#request-a-channel)', reactions: { url: 'https://api.github.com/repos/iptv-org/iptv/issues/13751/reactions', total_count: 0, @@ -1691,7 +1603,7 @@ module.exports = [ closed_at: null, author_association: 'NONE', active_lock_reason: null, - body: '### Channel ID\n\nATVPlus.pe\n\n### Stream URL (optional)\n\nhttps://linear-258.frequency.stream/dist/vix/258/hls/master/playlist.m3u8\n\n### Notes (optional)\n\n(Linear Version & Streaming on VIX.com a spanish televisa-univision site) Might be geo-blocked or geo-locked because by removing /dist/vix/ the m3u8 link stops working #13703 \n\n### Please confirm the following\n\n- [X] I have read [Contributing Guide](https://github.com/iptv-org/iptv/blob/master/CONTRIBUTING.md#request-a-channel)', + body: '### Stream ID\n\nATVPlus.pe\n\n### Stream URL (optional)\n\nhttps://linear-258.frequency.stream/dist/vix/258/hls/master/playlist.m3u8\n\n### Notes (optional)\n\n(Linear Version & Streaming on VIX.com a spanish televisa-univision site) Might be geo-blocked or geo-locked because by removing /dist/vix/ the m3u8 link stops working #13703 \n\n### Please confirm the following\n\n- [X] I have read [Contributing Guide](https://github.com/iptv-org/iptv/blob/master/CONTRIBUTING.md#request-a-channel)', reactions: { url: 'https://api.github.com/repos/iptv-org/iptv/issues/13715/reactions', total_count: 0, @@ -1770,7 +1682,7 @@ module.exports = [ closed_at: null, author_association: 'COLLABORATOR', active_lock_reason: null, - body: '### Stream URL\n\nhttps://livestream.telvue.com/templeuni1/f7b44cfafd5c52223d5498196c8a2e7b.sdp/playlist.m3u8\n\n### Channel ID\n\nboo.us\n\n### Channel Name\n\nBBC America\n\n### Quality\n\n720p\n\n### Label\n\nGeo-blocked\n\n### HTTP User-Agent\n\nMozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36 Edge/12.246\n\n### HTTP Referrer\n\n_No response_\n\n### Notes\n\n_No response_\n\n### Contributing Guide\n\n- [X] I have read [Contributing Guide](https://github.com/iptv-org/iptv/blob/master/CONTRIBUTING.md)', + body: '### Stream URL\n\nhttps://livestream.telvue.com/templeuni1/f7b44cfafd5c52223d5498196c8a2e7b.sdp/playlist.m3u8\n\n### Stream ID\n\nboo.us\n\n### Channel Name\n\nBBC America\n\n### Quality\n\n720p\n\n### Label\n\nGeo-blocked\n\n### HTTP User-Agent\n\nMozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36 Edge/12.246\n\n### HTTP Referrer\n\n_No response_\n\n### Notes\n\n_No response_\n\n### Contributing Guide\n\n- [X] I have read [Contributing Guide](https://github.com/iptv-org/iptv/blob/master/CONTRIBUTING.md)', reactions: { url: 'https://api.github.com/repos/iptv-org/iptv/issues/14120/reactions', total_count: 0, @@ -1849,7 +1761,7 @@ module.exports = [ closed_at: null, author_association: 'COLLABORATOR', active_lock_reason: null, - body: '### Stream URL\n\nhttps://servilive.com:3126/live/tele2000live.m3u8\n\n### Channel ID\n\nBBCAmericaEast.us\n\n### Channel Name\n\nBBC America\n\n### Quality\n\n720p\n\n### Label\n\n~\n\n### Timeshift\n\n-4\n\n### HTTP User-Agent\n\nMozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36 Edge/12.246\n\n### HTTP Referrer\n\n~\n\n### Notes\n\n_No response_\n\n### Contributing Guide\n\n- [X] I have read [Contributing Guide](https://github.com/iptv-org/iptv/blob/master/CONTRIBUTING.md)', + body: '### Stream URL\n\nhttps://servilive.com:3126/live/tele2000live.m3u8\n\n### Stream ID (required)\n\nBBCAmerica.us@East\n\n### Quality\n\n720p\n\n### Label\n\n~\n\n### HTTP User-Agent\n\nMozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36 Edge/12.246\n\n### HTTP Referrer\n\n~\n\n### Notes\n\n_No response_\n\n### Contributing Guide\n\n- [X] I have read [Contributing Guide](https://github.com/iptv-org/iptv/blob/master/CONTRIBUTING.md)', reactions: { url: 'https://api.github.com/repos/iptv-org/iptv/issues/14110/reactions', total_count: 0, @@ -1928,7 +1840,7 @@ module.exports = [ closed_at: null, author_association: 'COLLABORATOR', active_lock_reason: null, - body: '### Stream URL\n\nhttps://ythls.onrender.com/channel/UC40TUSUx490U5uR1lZt3Ajg.m3u8\n\n### Channel ID\n\n_No response_\n\n### Quality\n\nNone\n\n### Label\n\nNone\n\n### HTTP User-Agent\n\n_No response_\n\n### HTTP Referrer\n\n_No response_\n\n### Notes\n\n_No response_\n\n### Contributing Guide\n\n- [X] I have read [Contributing Guide](https://github.com/iptv-org/iptv/blob/master/CONTRIBUTING.md)', + body: '### Stream URL\n\nhttps://ythls.onrender.com/channel/UC40TUSUx490U5uR1lZt3Ajg.m3u8\n\n### Stream ID\n\n_No response_\n\n### Quality\n\nNone\n\n### Label\n\nNone\n\n### HTTP User-Agent\n\n_No response_\n\n### HTTP Referrer\n\n_No response_\n\n### Notes\n\n_No response_\n\n### Contributing Guide\n\n- [X] I have read [Contributing Guide](https://github.com/iptv-org/iptv/blob/master/CONTRIBUTING.md)', reactions: { url: 'https://api.github.com/repos/iptv-org/iptv/issues/14120/reactions', total_count: 0, @@ -2034,15 +1946,15 @@ module.exports = [ state_reason: null }, { - url: 'https://api.github.com/repos/iptv-org/iptv/issues/14140', + url: 'https://api.github.com/repos/iptv-org/iptv/issues/14150', repository_url: 'https://api.github.com/repos/iptv-org/iptv', - labels_url: 'https://api.github.com/repos/iptv-org/iptv/issues/14140/labels{/name}', - comments_url: 'https://api.github.com/repos/iptv-org/iptv/issues/14140/comments', - events_url: 'https://api.github.com/repos/iptv-org/iptv/issues/14140/events', + labels_url: 'https://api.github.com/repos/iptv-org/iptv/issues/14150/labels{/name}', + comments_url: 'https://api.github.com/repos/iptv-org/iptv/issues/14150/comments', + events_url: 'https://api.github.com/repos/iptv-org/iptv/issues/14150/events', html_url: 'https://github.com/iptv-org/iptv/issues/14140', - id: 1881649602, + id: 1881649613, node_id: 'I_kwDOCWUK8M5wJ7HC', - number: 14140, + number: 14150, title: 'Broken: Cyprus Channels', user: { login: 'ROBGagn', @@ -2100,15 +2012,6 @@ module.exports = [ color: '5373a2', default: false, description: '' - }, - { - id: 5932506810, - node_id: 'LA_kwDOCWUK8M8AAAABYZreug', - url: 'https://api.github.com/repos/iptv-org/iptv/labels/streams:remove', - name: 'streams:add', - color: '5373a2', - default: false, - description: '' } ], state: 'open', @@ -2124,7 +2027,7 @@ module.exports = [ active_lock_reason: null, body: '### Broken Links\n\nhttp://l6.cloudskep.com/rikcy/rikhd/playlist.m3u8\r\n\r\nhttp://l6.cloudskep.com/rikcy/rik2/playlist.m3u8\n\n### What happened to the stream?\n\nNot loading\n\n### Possible Replacement (optional)\n\nhttp://l6.cloudskep.com/rikcy/rikhd/playlist2.m3u8\n\n### Notes (optional)\n\nToken needed...\r\nSame issue with RIK 1 and 2. May happen in the future with ANT1 Cyprus, Sigma and Omega.\n\n### Contributing Guide\n\n- [X] I have read [Contributing Guide](https://github.com/iptv-org/iptv/blob/master/CONTRIBUTING.md)', reactions: { - url: 'https://api.github.com/repos/iptv-org/iptv/issues/14140/reactions', + url: 'https://api.github.com/repos/iptv-org/iptv/issues/14150/reactions', total_count: 0, '+1': 0, '-1': 0, @@ -2135,7 +2038,7 @@ module.exports = [ rocket: 0, eyes: 0 }, - timeline_url: 'https://api.github.com/repos/iptv-org/iptv/issues/14140/timeline', + timeline_url: 'https://api.github.com/repos/iptv-org/iptv/issues/14150/timeline', performed_via_github_app: null, state_reason: null }, diff --git a/tests/__data__/input/streams_report/uk.m3u b/tests/__data__/input/playlist_update/uk.m3u similarity index 100% rename from tests/__data__/input/streams_report/uk.m3u rename to tests/__data__/input/playlist_update/uk.m3u diff --git a/tests/__data__/input/streams_validate/us_blocked.m3u b/tests/__data__/input/playlist_validate/us_blocked.m3u similarity index 75% rename from tests/__data__/input/streams_validate/us_blocked.m3u rename to tests/__data__/input/playlist_validate/us_blocked.m3u index 98413b103..2ffa2273b 100644 --- a/tests/__data__/input/streams_validate/us_blocked.m3u +++ b/tests/__data__/input/playlist_validate/us_blocked.m3u @@ -1,5 +1,5 @@ #EXTM3U -#EXTINF:-1 tvg-id="FoxSports2Asia.us",Fox Sports 2 Asia (Thai) (720p) +#EXTINF:-1 tvg-id="FoxSports2.us@Asia",Fox Sports 2 Asia (Thai) (720p) https://example.com/playlist.m3u8 #EXTINF:-1 tvg-id="TVN.pl",TVN https://example.com/playlist2.m3u8 diff --git a/tests/__data__/input/streams_validate/wrong_id.m3u b/tests/__data__/input/playlist_validate/wrong_id.m3u similarity index 100% rename from tests/__data__/input/streams_validate/wrong_id.m3u rename to tests/__data__/input/playlist_validate/wrong_id.m3u diff --git a/tests/__data__/input/.readme/config.json b/tests/__data__/input/readme_update/.readme/config.json similarity index 100% rename from tests/__data__/input/.readme/config.json rename to tests/__data__/input/readme_update/.readme/config.json diff --git a/tests/__data__/input/.readme/template.md b/tests/__data__/input/readme_update/.readme/template.md similarity index 100% rename from tests/__data__/input/.readme/template.md rename to tests/__data__/input/readme_update/.readme/template.md diff --git a/tests/__data__/input/readme_update/generators.log b/tests/__data__/input/readme_update/generators.log new file mode 100644 index 000000000..63cfea058 --- /dev/null +++ b/tests/__data__/input/readme_update/generators.log @@ -0,0 +1,75 @@ +{"type":"category","filepath":"categories/auto.m3u","count":0} +{"type":"category","filepath":"categories/animation.m3u","count":0} +{"type":"category","filepath":"categories/business.m3u","count":0} +{"type":"category","filepath":"categories/classic.m3u","count":0} +{"type":"category","filepath":"categories/comedy.m3u","count":0} +{"type":"category","filepath":"categories/cooking.m3u","count":0} +{"type":"category","filepath":"categories/culture.m3u","count":0} +{"type":"category","filepath":"categories/documentary.m3u","count":0} +{"type":"category","filepath":"categories/education.m3u","count":0} +{"type":"category","filepath":"categories/entertainment.m3u","count":0} +{"type":"category","filepath":"categories/family.m3u","count":0} +{"type":"category","filepath":"categories/general.m3u","count":2} +{"type":"category","filepath":"categories/kids.m3u","count":0} +{"type":"category","filepath":"categories/legislative.m3u","count":0} +{"type":"category","filepath":"categories/lifestyle.m3u","count":0} +{"type":"category","filepath":"categories/movies.m3u","count":0} +{"type":"category","filepath":"categories/music.m3u","count":0} +{"type":"category","filepath":"categories/news.m3u","count":1} +{"type":"category","filepath":"categories/outdoor.m3u","count":0} +{"type":"category","filepath":"categories/relax.m3u","count":0} +{"type":"category","filepath":"categories/religious.m3u","count":0} +{"type":"category","filepath":"categories/series.m3u","count":0} +{"type":"category","filepath":"categories/science.m3u","count":0} +{"type":"category","filepath":"categories/shop.m3u","count":0} +{"type":"category","filepath":"categories/sports.m3u","count":0} +{"type":"category","filepath":"categories/travel.m3u","count":0} +{"type":"category","filepath":"categories/weather.m3u","count":1} +{"type":"category","filepath":"categories/xxx.m3u","count":1} +{"type":"category","filepath":"categories/undefined.m3u","count":3} +{"type":"country","filepath":"countries/cm.m3u","count":1} +{"type":"country","filepath":"countries/ca.m3u","count":2} +{"type":"country","filepath":"countries/cv.m3u","count":1} +{"type":"country","filepath":"countries/cg.m3u","count":1} +{"type":"country","filepath":"countries/ro.m3u","count":1} +{"type":"subdivision","filepath":"subdivisions/ca-on.m3u","count":1} +{"type":"country","filepath":"countries/ru.m3u","count":2} +{"type":"country","filepath":"countries/rw.m3u","count":1} +{"type":"country","filepath":"countries/re.m3u","count":1} +{"type":"country","filepath":"countries/undefined.m3u","count":2} +{"type":"country","filepath":"countries/bl.m3u","count":1} +{"type":"country","filepath":"countries/sh.m3u","count":1} +{"type":"country","filepath":"countries/kn.m3u","count":1} +{"type":"language","filepath":"languages/cat.m3u","count":1} +{"type":"language","filepath":"languages/eng.m3u","count":1} +{"type":"language","filepath":"languages/fra.m3u","count":1} +{"type":"language","filepath":"languages/rus.m3u","count":1} +{"type":"language","filepath":"languages/undefined.m3u","count":2} +{"type":"region","filepath":"regions/afr.m3u","count":0} +{"type":"region","filepath":"regions/amer.m3u","count":1} +{"type":"region","filepath":"regions/apac.m3u","count":1} +{"type":"region","filepath":"regions/arab.m3u","count":0} +{"type":"region","filepath":"regions/asean.m3u","count":0} +{"type":"region","filepath":"regions/asia.m3u","count":2} +{"type":"region","filepath":"regions/carib.m3u","count":0} +{"type":"region","filepath":"regions/cas.m3u","count":0} +{"type":"region","filepath":"regions/cenamer.m3u","count":0} +{"type":"region","filepath":"regions/cis.m3u","count":1} +{"type":"region","filepath":"regions/emea.m3u","count":3} +{"type":"region","filepath":"regions/eur.m3u","count":3} +{"type":"region","filepath":"regions/hispam.m3u","count":0} +{"type":"region","filepath":"regions/lac.m3u","count":0} +{"type":"region","filepath":"regions/latam.m3u","count":0} +{"type":"region","filepath":"regions/maghreb.m3u","count":0} +{"type":"region","filepath":"regions/mena.m3u","count":0} +{"type":"region","filepath":"regions/mideast.m3u","count":0} +{"type":"region","filepath":"regions/nam.m3u","count":1} +{"type":"region","filepath":"regions/noram.m3u","count":1} +{"type":"region","filepath":"regions/nord.m3u","count":0} +{"type":"region","filepath":"regions/oce.m3u","count":0} +{"type":"region","filepath":"regions/undefined.m3u","count":2} +{"type":"region","filepath":"regions/sas.m3u","count":1} +{"type":"region","filepath":"regions/int.m3u","count":1} +{"type":"region","filepath":"regions/southam.m3u","count":0} +{"type":"region","filepath":"regions/ssa.m3u","count":0} +{"type":"region","filepath":"regions/wafr.m3u","count":0} \ No newline at end of file diff --git a/tests/__data__/input/streams_update/br.m3u b/tests/__data__/input/report_create/br.m3u similarity index 100% rename from tests/__data__/input/streams_update/br.m3u rename to tests/__data__/input/report_create/br.m3u diff --git a/tests/__data__/input/streams_report/cy.m3u b/tests/__data__/input/report_create/cy.m3u similarity index 100% rename from tests/__data__/input/streams_report/cy.m3u rename to tests/__data__/input/report_create/cy.m3u diff --git a/tests/__data__/input/streams_update/uk.m3u b/tests/__data__/input/report_create/uk.m3u similarity index 100% rename from tests/__data__/input/streams_update/uk.m3u rename to tests/__data__/input/report_create/uk.m3u diff --git a/tests/__data__/input/streams_report/us.m3u b/tests/__data__/input/report_create/us.m3u similarity index 100% rename from tests/__data__/input/streams_report/us.m3u rename to tests/__data__/input/report_create/us.m3u From 74b3cff1d25eb626845efb670e8f1a5298ec683d Mon Sep 17 00:00:00 2001 From: freearhey <7253922+freearhey@users.noreply.github.com> Date: Sat, 29 Mar 2025 11:39:30 +0300 Subject: [PATCH 16/85] Update tests --- tests/commands/api/generate.test.ts | 14 +++++++------ tests/commands/playlist/format.test.ts | 8 ++++---- tests/commands/playlist/generate.test.ts | 20 ++++++++++--------- tests/commands/playlist/test.test.ts | 4 ++-- tests/commands/playlist/update.test.ts | 12 ++++++------ tests/commands/playlist/validate.test.ts | 6 +++--- tests/commands/readme/update.test.ts | 8 ++++---- tests/commands/report/create.test.ts | 25 +++++++++++------------- 8 files changed, 49 insertions(+), 48 deletions(-) diff --git a/tests/commands/api/generate.test.ts b/tests/commands/api/generate.test.ts index 86e34ce08..7f8f68aa9 100644 --- a/tests/commands/api/generate.test.ts +++ b/tests/commands/api/generate.test.ts @@ -3,15 +3,17 @@ import fs from 'fs-extra' beforeEach(() => { fs.emptyDirSync('tests/__data__/output') - - execSync( - 'STREAMS_DIR=tests/__data__/input/streams_generate API_DIR=tests/__data__/output/.api npm run api:generate', - { encoding: 'utf8' } - ) }) it('can create streams.json', () => { - expect(content('output/.api/streams.json')).toMatchObject(content('expected/.api/streams.json')) + execSync( + 'DATA_DIR=tests/__data__/input/data STREAMS_DIR=tests/__data__/input/api_generate API_DIR=tests/__data__/output/.api npm run api:generate', + { encoding: 'utf8' } + ) + + expect(content('output/.api/streams.json')).toMatchObject( + content('expected/api_generate/.api/streams.json') + ) }) function content(filepath: string) { diff --git a/tests/commands/playlist/format.test.ts b/tests/commands/playlist/format.test.ts index 6a9fbafc5..d513c8b38 100644 --- a/tests/commands/playlist/format.test.ts +++ b/tests/commands/playlist/format.test.ts @@ -4,7 +4,7 @@ import { glob } from 'glob' beforeEach(() => { fs.emptyDirSync('tests/__data__/output') - fs.copySync('tests/__data__/input/streams_format', 'tests/__data__/output/streams') + fs.copySync('tests/__data__/input/playlist_format', 'tests/__data__/output/streams') }) it('can format playlists', () => { @@ -13,12 +13,12 @@ it('can format playlists', () => { }) const files = glob - .sync('tests/__data__/expected/streams_format/*.m3u') - .map(f => f.replace('tests/__data__/expected/streams_format/', '')) + .sync('tests/__data__/expected/playlist_format/*.m3u') + .map(f => f.replace('tests/__data__/expected/playlist_format/', '')) files.forEach(filepath => { expect(content(`output/streams/${filepath}`), filepath).toBe( - content(`expected/streams_format/${filepath}`) + content(`expected/playlist_format/${filepath}`) ) }) }) diff --git a/tests/commands/playlist/generate.test.ts b/tests/commands/playlist/generate.test.ts index 8cdbfeee8..54c4e61e0 100644 --- a/tests/commands/playlist/generate.test.ts +++ b/tests/commands/playlist/generate.test.ts @@ -4,24 +4,26 @@ import * as glob from 'glob' beforeEach(() => { fs.emptyDirSync('tests/__data__/output') - - execSync( - 'STREAMS_DIR=tests/__data__/input/streams_generate DATA_DIR=tests/__data__/input/data PUBLIC_DIR=tests/__data__/output/.gh-pages LOGS_DIR=tests/__data__/output/logs npm run playlist:generate', - { encoding: 'utf8' } - ) }) it('can generate playlists and logs', () => { + execSync( + 'STREAMS_DIR=tests/__data__/input/playlist_generate DATA_DIR=tests/__data__/input/data PUBLIC_DIR=tests/__data__/output/.gh-pages LOGS_DIR=tests/__data__/output/logs npm run playlist:generate', + { encoding: 'utf8' } + ) + const playlists = glob - .sync('tests/__data__/expected/.gh-pages/**/*.m3u') - .map((file: string) => file.replace('tests/__data__/expected/', '')) + .sync('tests/__data__/expected/playlist_generate/.gh-pages/**/*.m3u') + .map((file: string) => file.replace('tests/__data__/expected/playlist_generate/', '')) playlists.forEach((filepath: string) => { - expect(content(`output/${filepath}`), filepath).toBe(content(`expected/${filepath}`)) + expect(content(`output/${filepath}`), filepath).toBe( + content(`expected/playlist_generate/${filepath}`) + ) }) expect(content('output/logs/generators.log').split('\n').sort()).toStrictEqual( - content('expected/logs/generators.log').split('\n').sort() + content('expected/playlist_generate/logs/generators.log').split('\n').sort() ) }) diff --git a/tests/commands/playlist/test.test.ts b/tests/commands/playlist/test.test.ts index feb10640e..0842f0f10 100644 --- a/tests/commands/playlist/test.test.ts +++ b/tests/commands/playlist/test.test.ts @@ -7,13 +7,13 @@ type ExecError = { it('shows an error if the playlist contains a broken link', () => { try { - execSync('ROOT_DIR=tests/__data__/input npm run playlist:test streams_test/ag.m3u', { + execSync('ROOT_DIR=tests/__data__/input npm run playlist:test playlist_test/ag.m3u', { encoding: 'utf8' }) process.exit(1) } catch (error) { expect((error as ExecError).status).toBe(1) - expect((error as ExecError).stdout).toContain('streams_test/ag.m3u') + expect((error as ExecError).stdout).toContain('playlist_test/ag.m3u') expect((error as ExecError).stdout).toContain('2 problems (1 errors, 1 warnings)') } }) diff --git a/tests/commands/playlist/update.test.ts b/tests/commands/playlist/update.test.ts index 79be4f44d..cc104d8cc 100644 --- a/tests/commands/playlist/update.test.ts +++ b/tests/commands/playlist/update.test.ts @@ -4,10 +4,10 @@ import { glob } from 'glob' beforeEach(() => { fs.emptyDirSync('tests/__data__/output') - fs.copySync('tests/__data__/input/streams_update', 'tests/__data__/output/streams') + fs.copySync('tests/__data__/input/playlist_update', 'tests/__data__/output/streams') }) -it('can format playlists', () => { +it('can update playlists', () => { const stdout = execSync( 'DATA_DIR=tests/__data__/input/data STREAMS_DIR=tests/__data__/output/streams npm run playlist:update --silent', { @@ -16,17 +16,17 @@ it('can format playlists', () => { ) const files = glob - .sync('tests/__data__/expected/streams_update/*.m3u') - .map(f => f.replace('tests/__data__/expected/streams_update/', '')) + .sync('tests/__data__/expected/playlist_update/*.m3u') + .map(f => f.replace('tests/__data__/expected/playlist_update/', '')) files.forEach(filepath => { expect(content(`output/streams/${filepath}`), filepath).toBe( - content(`expected/streams_update/${filepath}`) + content(`expected/playlist_update/${filepath}`) ) }) expect(stdout).toBe( - 'OUTPUT=closes #14151, closes #14140, closes #14110, closes #14120, closes #14175, closes #14105, closes #14104, closes #14057, closes #14034, closes #13964, closes #13893, closes #13881, closes #13793, closes #13751, closes #13715\n' + 'OUTPUT=closes #14151, closes #14150, closes #14110, closes #14120, closes #14175, closes #14105, closes #14104, closes #14057, closes #14034, closes #13964, closes #13893, closes #13881, closes #13793, closes #13751, closes #13715\n' ) }) diff --git a/tests/commands/playlist/validate.test.ts b/tests/commands/playlist/validate.test.ts index af1119f4d..38dd104ee 100644 --- a/tests/commands/playlist/validate.test.ts +++ b/tests/commands/playlist/validate.test.ts @@ -8,7 +8,7 @@ type ExecError = { it('show an error if channel id in the blocklist', () => { try { execSync( - 'DATA_DIR=tests/__data__/input/data STREAMS_DIR=tests/__data__/input/streams_validate npm run playlist:validate -- us_blocked.m3u', + 'DATA_DIR=tests/__data__/input/data STREAMS_DIR=tests/__data__/input/playlist_validate npm run playlist:validate -- us_blocked.m3u', { encoding: 'utf8' } @@ -17,7 +17,7 @@ it('show an error if channel id in the blocklist', () => { } catch (error) { expect((error as ExecError).status).toBe(1) expect((error as ExecError).stdout).toContain(`us_blocked.m3u - 2 error "FoxSports2Asia.us" is on the blocklist due to claims of copyright holders (https://github.com/iptv-org/iptv/issues/0002) + 2 error "FoxSports2.us" is on the blocklist due to claims of copyright holders (https://github.com/iptv-org/iptv/issues/0002) 4 error "TVN.pl" is on the blocklist due to NSFW content (https://github.com/iptv-org/iptv/issues/0003) 2 problems (2 errors, 0 warnings)`) @@ -26,7 +26,7 @@ it('show an error if channel id in the blocklist', () => { it('show a warning if channel has wrong id', () => { const stdout = execSync( - 'DATA_DIR=tests/__data__/input/data STREAMS_DIR=tests/__data__/input/streams_validate npm run playlist:validate -- wrong_id.m3u', + 'DATA_DIR=tests/__data__/input/data STREAMS_DIR=tests/__data__/input/playlist_validate npm run playlist:validate -- wrong_id.m3u', { encoding: 'utf8' } diff --git a/tests/commands/readme/update.test.ts b/tests/commands/readme/update.test.ts index 0ee6addf3..f15e71f48 100644 --- a/tests/commands/readme/update.test.ts +++ b/tests/commands/readme/update.test.ts @@ -6,23 +6,23 @@ beforeEach(() => { fs.emptyDirSync('tests/__data__/output') fs.mkdirSync('tests/__data__/output/.readme') fs.copyFileSync( - 'tests/__data__/input/.readme/config.json', + 'tests/__data__/input/readme_update/.readme/config.json', 'tests/__data__/output/.readme/config.json' ) fs.copyFileSync( - 'tests/__data__/input/.readme/template.md', + 'tests/__data__/input/readme_update/.readme/template.md', 'tests/__data__/output/.readme/template.md' ) execSync( - 'DATA_DIR=tests/__data__/input/data LOGS_DIR=tests/__data__/input/logs README_DIR=tests/__data__/output/.readme npm run readme:update', + 'DATA_DIR=tests/__data__/input/data LOGS_DIR=tests/__data__/input/readme_update README_DIR=tests/__data__/output/.readme npm run readme:update', { encoding: 'utf8' } ) }) it('can update readme.md', () => { expect(content('tests/__data__/output/readme.md')).toEqual( - content('tests/__data__/expected/_readme.md') + content('tests/__data__/expected/readme_update/_readme.md') ) }) diff --git a/tests/commands/report/create.test.ts b/tests/commands/report/create.test.ts index 219387cbb..de449347a 100644 --- a/tests/commands/report/create.test.ts +++ b/tests/commands/report/create.test.ts @@ -2,7 +2,7 @@ import { execSync } from 'child_process' it('can create report', () => { const stdout = execSync( - 'DATA_DIR=tests/__data__/input/data STREAMS_DIR=tests/__data__/input/streams_report npm run report:create', + 'DATA_DIR=tests/__data__/input/data STREAMS_DIR=tests/__data__/input/report_create npm run report:create', { encoding: 'utf8' } @@ -10,18 +10,15 @@ it('can create report', () => { expect( stdout.includes(` -┌─────────┬─────────────┬──────────────────┬────────────────────────────┬────────────────────────────────────────────────────────────────────────────────────────────────────────┬───────────────┐ -│ (index) │ issueNumber │ type │ channelId │ streamUrl │ status │ -├─────────┼─────────────┼──────────────────┼────────────────────────────┼────────────────────────────────────────────────────────────────────────────────────────────────────────┼───────────────┤ -│ 0 │ 14120 │ 'streams:edit' │ 'boo.us' │ 'https://livestream.telvue.com/templeuni1/f7b44cfafd5c52223d5498196c8a2e7b.sdp/playlist.m3u8' │ 'invalid_id' │ -│ 1 │ 14135 │ 'streams:add' │ 'BBCWorldNewsSouthAsia.uk' │ 'http://103.199.161.254/Content/bbcworld/Live/Channel%28BBCworld%29/Stream%2801%29/index.m3u8' │ 'wrong_id' │ -│ 2 │ 14140 │ 'streams:add' │ undefined │ undefined │ 'missing_id' │ -│ 3 │ 14175 │ 'streams:add' │ 'TFX.fr' │ 'http://livetv.ktv.zone/13/play.m3u8' │ 'duplicate' │ -│ 4 │ 14177 │ 'streams:add' │ 'TUTV.us' │ 'https://livestream.telvue.com/templeuni1/f7b44cfafd5c52223d5498196c8a2e7b.sdp/playlist.m3u8' │ 'on_playlist' │ -│ 5 │ 14178 │ 'streams:add' │ 'TV3.my' │ 'https://live-streams-ssai-01.tonton.com.my/live/2dd2b7cd-1b34-4871-b669-57b5c9beca23/live.isml/.m3u8' │ 'blocked' │ -│ 6 │ 16120 │ 'broken stream' │ undefined │ 'http://190.61.102.67:2000/play/a038/index.m3u8' │ 'wrong_link' │ -│ 7 │ 19956 │ 'channel search' │ 'CNBCe.tr' │ undefined │ 'invalid_id' │ -│ 8 │ 19957 │ 'channel search' │ '13thStreet.au' │ undefined │ 'closed' │ -└─────────┴─────────────┴──────────────────┴────────────────────────────┴────────────────────────────────────────────────────────────────────────────────────────────────────────┴───────────────┘`) +┌─────────┬─────────────┬──────────────────┬─────────────────────────────┬───────────────────────────────────────────────────────────────────────────────────────────────────────────┬───────────────┐ +│ (index) │ issueNumber │ type │ streamId │ streamUrl │ status │ +├─────────┼─────────────┼──────────────────┼─────────────────────────────┼───────────────────────────────────────────────────────────────────────────────────────────────────────────┼───────────────┤ +│ 0 │ 14120 │ 'streams:edit' │ 'boo.us' │ 'https://livestream.telvue.com/templeuni1/f7b44cfafd5c52223d5498196c8a2e7b.sdp/playlist.m3u8' │ 'invalid_id' │ +│ 1 │ 14135 │ 'streams:add' │ 'BBCWorldNews.uk@SouthAsia' │ 'http://103.199.161.254/Content/bbcworld/Live/Channel%28BBCworld%29/Stream%2801%29/index.m3u8' │ 'wrong_id' │ +│ 2 │ 14177 │ 'streams:add' │ 'TUTV.us' │ 'https://livestream.telvue.com/templeuni1/f7b44cfafd5c52223d5498196c8a2e7b.sdp/playlist.m3u8' │ 'on_playlist' │ +│ 3 │ 14178 │ 'streams:add' │ 'TV3.my' │ 'https://live-streams-ssai-01.tonton.com.my/live/2dd2b7cd-1b34-4871-b669-57b5c9beca23/live.isml/.m3u8...' │ 'blocked' │ +│ 4 │ 16120 │ 'broken stream' │ undefined │ 'http://190.61.102.67:2000/play/a038/index.m3u8' │ 'wrong_link' │ +│ 5 │ 19956 │ 'channel search' │ 'CNBCe.tr' │ undefined │ 'invalid_id' │ +└─────────┴─────────────┴──────────────────┴─────────────────────────────┴───────────────────────────────────────────────────────────────────────────────────────────────────────────┴───────────────┘`) ).toBe(true) }) From 02ec7e6f76f9d001f4b001b381258f09b368baac Mon Sep 17 00:00:00 2001 From: freearhey <7253922+freearhey@users.noreply.github.com> Date: Sat, 29 Mar 2025 11:39:46 +0300 Subject: [PATCH 17/85] Update scripts --- scripts/commands/api/generate.ts | 30 +- scripts/commands/api/load.ts | 4 +- scripts/commands/playlist/format.ts | 41 ++- scripts/commands/playlist/generate.ts | 196 +++++++----- scripts/commands/playlist/test.ts | 32 +- scripts/commands/playlist/update.ts | 186 ++++++++--- scripts/commands/playlist/validate.ts | 57 ++-- scripts/commands/report/create.ts | 205 ++++++------ scripts/core/apiClient.ts | 2 +- scripts/core/cliTable.ts | 3 +- scripts/core/issueData.ts | 2 +- scripts/core/issueLoader.ts | 2 +- scripts/core/issueParser.ts | 10 +- scripts/core/logParser.ts | 1 + scripts/core/playlistParser.ts | 49 ++- scripts/core/streamTester.ts | 6 +- scripts/generators/categoriesGenerator.ts | 16 +- scripts/generators/countriesGenerator.ts | 64 ++-- scripts/generators/indexCategoryGenerator.ts | 6 +- scripts/generators/indexCountryGenerator.ts | 59 +--- scripts/generators/indexGenerator.ts | 2 +- scripts/generators/indexLanguageGenerator.ts | 12 +- scripts/generators/indexNsfwGenerator.ts | 2 +- scripts/generators/indexRegionGenerator.ts | 34 +- scripts/generators/languagesGenerator.ts | 19 +- scripts/generators/regionsGenerator.ts | 46 +-- scripts/models/blocked.ts | 10 +- scripts/models/broadcastArea.ts | 11 + scripts/models/category.ts | 8 +- scripts/models/channel.ts | 135 +++++--- scripts/models/country.ts | 54 +++- scripts/models/feed.ts | 196 ++++++++++++ scripts/models/index.ts | 3 + scripts/models/language.ts | 8 +- scripts/models/region.ts | 47 ++- scripts/models/stream.ts | 319 ++++++++++++++----- scripts/models/subdivision.ts | 22 +- scripts/models/timezone.ts | 30 ++ scripts/tables/categoryTable.ts | 8 +- scripts/tables/countryTable.ts | 47 +-- scripts/tables/languageTable.ts | 7 +- scripts/tables/regionTable.ts | 20 +- 42 files changed, 1317 insertions(+), 694 deletions(-) create mode 100644 scripts/models/broadcastArea.ts create mode 100644 scripts/models/feed.ts create mode 100644 scripts/models/timezone.ts diff --git a/scripts/commands/api/generate.ts b/scripts/commands/api/generate.ts index 9f311fd38..670fa091d 100644 --- a/scripts/commands/api/generate.ts +++ b/scripts/commands/api/generate.ts @@ -1,21 +1,37 @@ -import { Logger, Storage } from '@freearhey/core' -import { API_DIR, STREAMS_DIR } from '../../constants' +import { Logger, Storage, Collection } from '@freearhey/core' +import { API_DIR, STREAMS_DIR, DATA_DIR } from '../../constants' import { PlaylistParser } from '../../core' -import { Stream } from '../../models' +import { Stream, Channel, Feed } from '../../models' +import { uniqueId } from 'lodash' async function main() { const logger = new Logger() + logger.info('loading api data...') + const dataStorage = new Storage(DATA_DIR) + const channelsData = await dataStorage.json('channels.json') + const channels = new Collection(channelsData).map(data => new Channel(data)) + const channelsGroupedById = channels.keyBy((channel: Channel) => channel.id) + const feedsData = await dataStorage.json('feeds.json') + const feeds = new Collection(feedsData).map(data => + new Feed(data).withChannel(channelsGroupedById) + ) + const feedsGroupedByChannelId = feeds.groupBy((feed: Feed) => + feed.channel ? feed.channel.id : uniqueId() + ) + logger.info('loading streams...') const streamsStorage = new Storage(STREAMS_DIR) - const parser = new PlaylistParser({ storage: streamsStorage }) + const parser = new PlaylistParser({ + storage: streamsStorage, + channelsGroupedById, + feedsGroupedByChannelId + }) const files = await streamsStorage.list('**/*.m3u') let streams = await parser.parse(files) streams = streams - .map(data => new Stream(data)) - .orderBy([(stream: Stream) => stream.channel]) + .orderBy((stream: Stream) => stream.getId()) .map((stream: Stream) => stream.toJSON()) - logger.info(`found ${streams.count()} streams`) logger.info('saving to .api/streams.json...') diff --git a/scripts/commands/api/load.ts b/scripts/commands/api/load.ts index 68e6e18a4..fbb1fea43 100644 --- a/scripts/commands/api/load.ts +++ b/scripts/commands/api/load.ts @@ -12,7 +12,9 @@ async function main() { client.download('countries.json'), client.download('languages.json'), client.download('regions.json'), - client.download('subdivisions.json') + client.download('subdivisions.json'), + client.download('feeds.json'), + client.download('timezones.json') ] await Promise.all(requests) diff --git a/scripts/commands/playlist/format.ts b/scripts/commands/playlist/format.ts index d532db607..8dc5dedac 100644 --- a/scripts/commands/playlist/format.ts +++ b/scripts/commands/playlist/format.ts @@ -1,25 +1,36 @@ import { Logger, Storage, Collection } from '@freearhey/core' import { STREAMS_DIR, DATA_DIR } from '../../constants' import { PlaylistParser } from '../../core' -import { Stream, Playlist, Channel } from '../../models' +import { Stream, Playlist, Channel, Feed } from '../../models' import { program } from 'commander' +import { uniqueId } from 'lodash' program.argument('[filepath]', 'Path to file to validate').parse(process.argv) async function main() { - const storage = new Storage(STREAMS_DIR) + const streamsStorage = new Storage(STREAMS_DIR) const logger = new Logger() - logger.info('loading channels from api...') + logger.info('loading data from api...') const dataStorage = new Storage(DATA_DIR) - const channelsContent = await dataStorage.json('channels.json') - const groupedChannels = new Collection(channelsContent) - .map(data => new Channel(data)) - .keyBy((channel: Channel) => channel.id) + const channelsData = await dataStorage.json('channels.json') + const channels = new Collection(channelsData).map(data => new Channel(data)) + const channelsGroupedById = channels.keyBy((channel: Channel) => channel.id) + const feedsData = await dataStorage.json('feeds.json') + const feeds = new Collection(feedsData).map(data => + new Feed(data).withChannel(channelsGroupedById) + ) + const feedsGroupedByChannelId = feeds.groupBy(feed => + feed.channel ? feed.channel.id : uniqueId() + ) logger.info('loading streams...') - const parser = new PlaylistParser({ storage }) - const files = program.args.length ? program.args : await storage.list('**/*.m3u') + const parser = new PlaylistParser({ + storage: streamsStorage, + channelsGroupedById, + feedsGroupedByChannelId + }) + const files = program.args.length ? program.args : await streamsStorage.list('**/*.m3u') let streams = await parser.parse(files) logger.info(`found ${streams.count()} streams`) @@ -35,8 +46,8 @@ async function main() { logger.info('removing wrong id...') streams = streams.map((stream: Stream) => { - if (groupedChannels.missing(stream.channel)) { - stream.channel = '' + if (!stream.channel || channelsGroupedById.missing(stream.channel.id)) { + stream.id = '' } return stream @@ -46,22 +57,22 @@ async function main() { streams = streams.orderBy( [ (stream: Stream) => stream.name, - (stream: Stream) => parseInt(stream.quality.replace('p', '')), - (stream: Stream) => stream.label, + (stream: Stream) => stream.getHorizontalResolution(), + (stream: Stream) => stream.getLabel(), (stream: Stream) => stream.url ], ['asc', 'desc', 'asc', 'asc'] ) logger.info('saving...') - const groupedStreams = streams.groupBy((stream: Stream) => stream.filepath) + const groupedStreams = streams.groupBy((stream: Stream) => stream.getFilepath()) for (let filepath of groupedStreams.keys()) { const streams = groupedStreams.get(filepath) || [] if (!streams.length) return const playlist = new Playlist(streams, { public: false }) - await storage.save(filepath, playlist.toString()) + await streamsStorage.save(filepath, playlist.toString()) } } diff --git a/scripts/commands/playlist/generate.ts b/scripts/commands/playlist/generate.ts index bab7839fd..46f2a2665 100644 --- a/scripts/commands/playlist/generate.ts +++ b/scripts/commands/playlist/generate.ts @@ -1,14 +1,23 @@ -import { Logger, Storage, Collection, File } from '@freearhey/core' +import { Logger, Storage, Collection } from '@freearhey/core' import { PlaylistParser } from '../../core' -import { Stream, Category, Channel, Language, Country, Region, Subdivision } from '../../models' -import _ from 'lodash' +import { + Stream, + Category, + Channel, + Language, + Country, + Region, + Subdivision, + Feed, + Timezone +} from '../../models' +import { uniqueId } from 'lodash' import { CategoriesGenerator, CountriesGenerator, LanguagesGenerator, RegionsGenerator, IndexGenerator, - IndexNsfwGenerator, IndexCategoryGenerator, IndexCountryGenerator, IndexLanguageGenerator, @@ -19,123 +28,134 @@ import { DATA_DIR, LOGS_DIR, STREAMS_DIR } from '../../constants' async function main() { const logger = new Logger() const dataStorage = new Storage(DATA_DIR) - - logger.info('loading data from api...') - const channelsContent = await dataStorage.json('channels.json') - const channels = new Collection(channelsContent).map(data => new Channel(data)) - const categoriesContent = await dataStorage.json('categories.json') - const categories = new Collection(categoriesContent).map(data => new Category(data)) - const countriesContent = await dataStorage.json('countries.json') - const countries = new Collection(countriesContent).map(data => new Country(data)) - const languagesContent = await dataStorage.json('languages.json') - const languages = new Collection(languagesContent).map(data => new Language(data)) - const regionsContent = await dataStorage.json('regions.json') - const regions = new Collection(regionsContent).map(data => new Region(data)) - const subdivisionsContent = await dataStorage.json('subdivisions.json') - const subdivisions = new Collection(subdivisionsContent).map(data => new Subdivision(data)) - - logger.info('loading streams...') - let streams = await loadStreams({ channels, categories, languages }) - let totalStreams = streams.count() - streams = streams.uniqBy((stream: Stream) => (stream.channel || _.uniqueId()) + stream.timeshift) - logger.info(`found ${totalStreams} streams (including ${streams.count()} unique)`) - const generatorsLogger = new Logger({ stream: await new Storage(LOGS_DIR).createStream(`generators.log`) }) + logger.info('loading data from api...') + const categoriesData = await dataStorage.json('categories.json') + const countriesData = await dataStorage.json('countries.json') + const languagesData = await dataStorage.json('languages.json') + const regionsData = await dataStorage.json('regions.json') + const subdivisionsData = await dataStorage.json('subdivisions.json') + const timezonesData = await dataStorage.json('timezones.json') + const channelsData = await dataStorage.json('channels.json') + const feedsData = await dataStorage.json('feeds.json') + + logger.info('preparing data...') + const subdivisions = new Collection(subdivisionsData).map(data => new Subdivision(data)) + const subdivisionsGroupedByCode = subdivisions.keyBy( + (subdivision: Subdivision) => subdivision.code + ) + const subdivisionsGroupedByCountryCode = subdivisions.groupBy( + (subdivision: Subdivision) => subdivision.countryCode + ) + let regions = new Collection(regionsData).map(data => + new Region(data).withSubdivisions(subdivisions) + ) + const regionsGroupedByCode = regions.keyBy((region: Region) => region.code) + const categories = new Collection(categoriesData).map(data => new Category(data)) + const categoriesGroupedById = categories.keyBy((category: Category) => category.id) + const languages = new Collection(languagesData).map(data => new Language(data)) + const languagesGroupedByCode = languages.keyBy((language: Language) => language.code) + const countries = new Collection(countriesData).map(data => + new Country(data) + .withRegions(regions) + .withLanguage(languagesGroupedByCode) + .withSubdivisions(subdivisionsGroupedByCountryCode) + ) + const countriesGroupedByCode = countries.keyBy((country: Country) => country.code) + regions = regions.map((region: Region) => region.withCountries(countriesGroupedByCode)) + + const timezones = new Collection(timezonesData).map(data => + new Timezone(data).withCountries(countriesGroupedByCode) + ) + const timezonesGroupedById = timezones.keyBy((timezone: Timezone) => timezone.id) + + const channels = new Collection(channelsData).map(data => + new Channel(data) + .withCategories(categoriesGroupedById) + .withCountry(countriesGroupedByCode) + .withSubdivision(subdivisionsGroupedByCode) + ) + const channelsGroupedById = channels.keyBy((channel: Channel) => channel.id) + const feeds = new Collection(feedsData).map(data => + new Feed(data) + .withChannel(channelsGroupedById) + .withLanguages(languagesGroupedByCode) + .withTimezones(timezonesGroupedById) + .withBroadcastCountries( + countriesGroupedByCode, + regionsGroupedByCode, + subdivisionsGroupedByCode + ) + .withBroadcastRegions(regions, regionsGroupedByCode) + .withBroadcastSubdivisions(subdivisionsGroupedByCode) + ) + const feedsGroupedByChannelId = feeds.groupBy((feed: Feed) => + feed.channel ? feed.channel.id : uniqueId() + ) + + logger.info('loading streams...') + const storage = new Storage(STREAMS_DIR) + const parser = new PlaylistParser({ + storage, + channelsGroupedById, + feedsGroupedByChannelId + }) + const files = await storage.list('**/*.m3u') + let streams = await parser.parse(files) + const totalStreams = streams.count() + streams = streams.uniqBy((stream: Stream) => stream.getId() || uniqueId()) + logger.info(`found ${totalStreams} streams (including ${streams.count()} unique)`) + + logger.info('sorting streams...') + streams = streams.orderBy( + [ + (stream: Stream) => stream.getId(), + (stream: Stream) => stream.getHorizontalResolution(), + (stream: Stream) => stream.getLabel() + ], + ['asc', 'asc', 'desc'] + ) + logger.info('generating categories/...') await new CategoriesGenerator({ categories, streams, logger: generatorsLogger }).generate() + logger.info('generating countries/...') await new CountriesGenerator({ countries, streams, - regions, - subdivisions, logger: generatorsLogger }).generate() + logger.info('generating languages/...') await new LanguagesGenerator({ streams, logger: generatorsLogger }).generate() + logger.info('generating regions/...') await new RegionsGenerator({ streams, regions, - subdivisions, logger: generatorsLogger }).generate() + logger.info('generating index.m3u...') await new IndexGenerator({ streams, logger: generatorsLogger }).generate() + logger.info('generating index.category.m3u...') await new IndexCategoryGenerator({ streams, logger: generatorsLogger }).generate() + logger.info('generating index.country.m3u...') await new IndexCountryGenerator({ streams, - countries, - regions, - subdivisions, logger: generatorsLogger }).generate() + logger.info('generating index.language.m3u...') await new IndexLanguageGenerator({ streams, logger: generatorsLogger }).generate() + logger.info('generating index.region.m3u...') await new IndexRegionGenerator({ streams, regions, logger: generatorsLogger }).generate() } main() - -async function loadStreams({ - channels, - categories, - languages -}: { - channels: Collection - categories: Collection - languages: Collection -}) { - const groupedChannels = channels.keyBy(channel => channel.id) - const groupedCategories = categories.keyBy(category => category.id) - const groupedLanguages = languages.keyBy(language => language.code) - - const storage = new Storage(STREAMS_DIR) - const parser = new PlaylistParser({ storage }) - const files = await storage.list('**/*.m3u') - let streams = await parser.parse(files) - - streams = streams - .orderBy( - [ - (stream: Stream) => stream.channel, - (stream: Stream) => parseInt(stream.quality.replace('p', '')), - (stream: Stream) => stream.label - ], - ['asc', 'asc', 'desc', 'asc'] - ) - .map((stream: Stream) => { - const channel: Channel | undefined = groupedChannels.get(stream.channel) - - if (channel) { - const channelCategories = channel.categories - .map((id: string) => groupedCategories.get(id)) - .filter(Boolean) - const channelLanguages = channel.languages - .map((id: string) => groupedLanguages.get(id)) - .filter(Boolean) - - stream.categories = channelCategories - stream.languages = channelLanguages - stream.broadcastArea = channel.broadcastArea - stream.isNSFW = channel.isNSFW - if (channel.logo) stream.logo = channel.logo - } else { - const file = new File(stream.filepath) - const [_, countryCode] = file.name().match(/^([a-z]{2})(_|$)/) || [null, null] - const defaultBroadcastArea = countryCode ? [`c/${countryCode.toUpperCase()}`] : [] - - stream.broadcastArea = new Collection(defaultBroadcastArea) - } - - return stream - }) - - return streams -} diff --git a/scripts/commands/playlist/test.ts b/scripts/commands/playlist/test.ts index 74c19e66c..f32f2e0c2 100644 --- a/scripts/commands/playlist/test.ts +++ b/scripts/commands/playlist/test.ts @@ -1,7 +1,7 @@ import { Logger, Storage, Collection } from '@freearhey/core' -import { ROOT_DIR, STREAMS_DIR } from '../../constants' +import { ROOT_DIR, STREAMS_DIR, DATA_DIR } from '../../constants' import { PlaylistParser, StreamTester, CliTable } from '../../core' -import { Stream } from '../../models' +import { Stream, Feed, Channel } from '../../models' import { program } from 'commander' import { eachLimit } from 'async-es' import commandExists from 'command-exists' @@ -38,8 +38,6 @@ const logger = new Logger() const tester = new StreamTester() async function main() { - const storage = new Storage(ROOT_DIR) - if (await isOffline()) { logger.error(chalk.red('Internet connection is required for the script to work')) @@ -56,9 +54,25 @@ async function main() { return } + logger.info('loading channels from api...') + const dataStorage = new Storage(DATA_DIR) + const channelsData = await dataStorage.json('channels.json') + const channels = new Collection(channelsData).map(data => new Channel(data)) + const channelsGroupedById = channels.keyBy((channel: Channel) => channel.id) + const feedsData = await dataStorage.json('feeds.json') + const feeds = new Collection(feedsData).map(data => + new Feed(data).withChannel(channelsGroupedById) + ) + const feedsGroupedByChannelId = feeds.groupBy(feed => feed.channel) + logger.info('loading streams...') - const parser = new PlaylistParser({ storage }) - const files = program.args.length ? program.args : await storage.list(`${STREAMS_DIR}/*.m3u`) + const rootStorage = new Storage(ROOT_DIR) + const parser = new PlaylistParser({ + storage: rootStorage, + channelsGroupedById, + feedsGroupedByChannelId + }) + const files = program.args.length ? program.args : await rootStorage.list(`${STREAMS_DIR}/*.m3u`) streams = await parser.parse(files) logger.info(`found ${streams.count()} streams`) @@ -89,7 +103,7 @@ async function main() { main() async function runTest(stream: Stream) { - const key = stream.filepath + stream.channel + stream.url + const key = stream.filepath + stream.getId() + stream.url results[key] = chalk.white('LOADING...') const result = await tester.test(stream) @@ -125,11 +139,11 @@ function drawTable() { ] }) streams.forEach((stream: Stream, index: number) => { - const status = results[stream.filepath + stream.channel + stream.url] || chalk.gray('PENDING') + const status = results[stream.filepath + stream.getId() + stream.url] || chalk.gray('PENDING') const row = { '': index, - 'tvg-id': stream.channel.length > 25 ? stream.channel.slice(0, 22) + '...' : stream.channel, + 'tvg-id': stream.getId().length > 25 ? stream.getId().slice(0, 22) + '...' : stream.getId(), url: stream.url.length > 100 ? stream.url.slice(0, 97) + '...' : stream.url, status } diff --git a/scripts/commands/playlist/update.ts b/scripts/commands/playlist/update.ts index 1fb56ee03..b2ac5b814 100644 --- a/scripts/commands/playlist/update.ts +++ b/scripts/commands/playlist/update.ts @@ -1,45 +1,63 @@ import { Logger, Storage, Collection, Dictionary } from '@freearhey/core' import { DATA_DIR, STREAMS_DIR } from '../../constants' import { IssueLoader, PlaylistParser } from '../../core' -import { Stream, Playlist, Channel, Issue } from '../../models' +import { Stream, Playlist, Channel, Feed, Issue } from '../../models' import validUrl from 'valid-url' +import { uniqueId } from 'lodash' let processedIssues = new Collection() -let streams: Collection -let groupedChannels: Dictionary -let issues: Collection async function main() { const logger = new Logger({ disabled: true }) const loader = new IssueLoader() logger.info('loading issues...') - issues = await loader.load() + const issues = await loader.load() logger.info('loading channels from api...') const dataStorage = new Storage(DATA_DIR) - const channelsContent = await dataStorage.json('channels.json') - groupedChannels = new Collection(channelsContent) - .map(data => new Channel(data)) - .keyBy((channel: Channel) => channel.id) + const channelsData = await dataStorage.json('channels.json') + const channels = new Collection(channelsData).map(data => new Channel(data)) + const channelsGroupedById = channels.keyBy((channel: Channel) => channel.id) + const feedsData = await dataStorage.json('feeds.json') + const feeds = new Collection(feedsData).map(data => + new Feed(data).withChannel(channelsGroupedById) + ) + const feedsGroupedByChannelId = feeds.groupBy((feed: Feed) => + feed.channel ? feed.channel.id : uniqueId() + ) logger.info('loading streams...') const streamsStorage = new Storage(STREAMS_DIR) - const parser = new PlaylistParser({ storage: streamsStorage }) + const parser = new PlaylistParser({ + storage: streamsStorage, + feedsGroupedByChannelId, + channelsGroupedById + }) const files = await streamsStorage.list('**/*.m3u') - streams = await parser.parse(files) + const streams = await parser.parse(files) logger.info('removing broken streams...') - await removeStreams(loader) + await removeStreams({ streams, issues }) logger.info('edit stream description...') - await editStreams(loader) + await editStreams({ + streams, + issues, + channelsGroupedById, + feedsGroupedByChannelId + }) logger.info('add new streams...') - await addStreams(loader) + await addStreams({ + streams, + issues, + channelsGroupedById, + feedsGroupedByChannelId + }) logger.info('saving...') - const groupedStreams = streams.groupBy((stream: Stream) => stream.filepath) + const groupedStreams = streams.groupBy((stream: Stream) => stream.getFilepath()) for (let filepath of groupedStreams.keys()) { let streams = groupedStreams.get(filepath) || [] streams = streams.filter((stream: Stream) => stream.removed === false) @@ -54,7 +72,7 @@ async function main() { main() -async function removeStreams(loader: IssueLoader) { +async function removeStreams({ streams, issues }: { streams: Collection; issues: Collection }) { const requests = issues.filter( issue => issue.labels.includes('streams:remove') && issue.labels.includes('approved') ) @@ -62,22 +80,35 @@ async function removeStreams(loader: IssueLoader) { const data = issue.data if (data.missing('brokenLinks')) return - const brokenLinks = data.getString('brokenLinks').split(/\r?\n/).filter(Boolean) + const brokenLinks = data.getString('brokenLinks') || '' let changed = false - brokenLinks.forEach(link => { - const found: Stream = streams.first((_stream: Stream) => _stream.url === link.trim()) - if (found) { - found.removed = true - changed = true - } - }) + brokenLinks + .split(/\r?\n/) + .filter(Boolean) + .forEach(link => { + const found: Stream = streams.first((_stream: Stream) => _stream.url === link.trim()) + if (found) { + found.removed = true + changed = true + } + }) if (changed) processedIssues.add(issue.number) }) } -async function editStreams(loader: IssueLoader) { +async function editStreams({ + streams, + issues, + channelsGroupedById, + feedsGroupedByChannelId +}: { + streams: Collection + issues: Collection + channelsGroupedById: Dictionary + feedsGroupedByChannelId: Dictionary +}) { const requests = issues.filter( issue => issue.labels.includes('streams:edit') && issue.labels.includes('approved') ) @@ -86,59 +117,110 @@ async function editStreams(loader: IssueLoader) { if (data.missing('streamUrl')) return - let stream = streams.first( + let stream: Stream = streams.first( (_stream: Stream) => _stream.url === data.getString('streamUrl') - ) as Stream - + ) if (!stream) return - if (data.has('channelId')) { - const channel = groupedChannels.get(data.getString('channelId')) + const streamId = data.getString('streamId') || '' + const [channelId, feedId] = streamId.split('@') - if (!channel) return - - stream.channel = data.getString('channelId') - stream.filepath = `${channel.country.toLowerCase()}.m3u` - stream.line = -1 - stream.name = channel.name + if (channelId) { + stream + .setChannelId(channelId) + .setFeedId(feedId) + .withChannel(channelsGroupedById) + .withFeed(feedsGroupedByChannelId) + .updateId() + .updateName() + .updateFilepath() } - if (data.has('label')) stream.label = data.getString('label') - if (data.has('quality')) stream.quality = data.getString('quality') - if (data.has('httpUserAgent')) stream.httpUserAgent = data.getString('httpUserAgent') - if (data.has('httpReferrer')) stream.httpReferrer = data.getString('httpReferrer') + const label = data.getString('label') || '' + const quality = data.getString('quality') || '' + const httpUserAgent = data.getString('httpUserAgent') || '' + const httpReferrer = data.getString('httpReferrer') || '' + + if (data.has('label')) stream.setLabel(label) + if (data.has('quality')) stream.setQuality(quality) + if (data.has('httpUserAgent')) stream.setHttpUserAgent(httpUserAgent) + if (data.has('httpReferrer')) stream.setHttpReferrer(httpReferrer) processedIssues.add(issue.number) }) } -async function addStreams(loader: IssueLoader) { +async function addStreams({ + streams, + issues, + channelsGroupedById, + feedsGroupedByChannelId +}: { + streams: Collection + issues: Collection + channelsGroupedById: Dictionary + feedsGroupedByChannelId: Dictionary +}) { const requests = issues.filter( issue => issue.labels.includes('streams:add') && issue.labels.includes('approved') ) requests.forEach((issue: Issue) => { const data = issue.data - if (data.missing('channelId') || data.missing('streamUrl')) return + if (data.missing('streamId') || data.missing('streamUrl')) return if (streams.includes((_stream: Stream) => _stream.url === data.getString('streamUrl'))) return - if (!validUrl.isUri(data.getString('streamUrl'))) return + const stringUrl = data.getString('streamUrl') || '' + if (!isUri(stringUrl)) return - const channel = groupedChannels.get(data.getString('channelId')) + const streamId = data.getString('streamId') || '' + const [channelId] = streamId.split('@') + const channel: Channel = channelsGroupedById.get(channelId) if (!channel) return + const label = data.getString('label') || '' + const quality = data.getString('quality') || '' + const httpUserAgent = data.getString('httpUserAgent') || '' + const httpReferrer = data.getString('httpReferrer') || '' + const stream = new Stream({ - channel: data.getString('channelId'), - url: data.getString('streamUrl'), - label: data.getString('label'), - quality: data.getString('quality'), - httpUserAgent: data.getString('httpUserAgent'), - httpReferrer: data.getString('httpReferrer'), - filepath: `${channel.country.toLowerCase()}.m3u`, + tvg: { + id: streamId, + name: '', + url: '', + logo: '', + rec: '', + shift: '' + }, + name: data.getString('channelName') || channel.name, + url: stringUrl, + group: { + title: '' + }, + http: { + 'user-agent': httpUserAgent, + referrer: httpReferrer + }, line: -1, - name: data.getString('channelName') || channel.name + raw: '', + timeshift: '', + catchup: { + type: '', + source: '', + days: '' + } }) + .withChannel(channelsGroupedById) + .withFeed(feedsGroupedByChannelId) + .setLabel(label) + .setQuality(quality) + .updateName() + .updateFilepath() streams.add(stream) processedIssues.add(issue.number) }) } + +function isUri(string: string) { + return validUrl.isUri(encodeURI(string)) +} diff --git a/scripts/commands/playlist/validate.ts b/scripts/commands/playlist/validate.ts index b0c140dcf..6296b5651 100644 --- a/scripts/commands/playlist/validate.ts +++ b/scripts/commands/playlist/validate.ts @@ -1,9 +1,9 @@ import { Logger, Storage, Collection, Dictionary } from '@freearhey/core' import { PlaylistParser } from '../../core' -import { Channel, Stream, Blocked } from '../../models' +import { Channel, Stream, Blocked, Feed } from '../../models' import { program } from 'commander' import chalk from 'chalk' -import _ from 'lodash' +import { uniqueId } from 'lodash' import { DATA_DIR, STREAMS_DIR } from '../../constants' program.argument('[filepath]', 'Path to file to validate').parse(process.argv) @@ -17,41 +17,52 @@ type LogItem = { async function main() { const logger = new Logger() - logger.info(`loading blocklist...`) + logger.info('loading data from api...') const dataStorage = new Storage(DATA_DIR) - const channelsContent = await dataStorage.json('channels.json') - const channels = new Collection(channelsContent).map(data => new Channel(data)) + const channelsData = await dataStorage.json('channels.json') + const channels = new Collection(channelsData).map(data => new Channel(data)) + const channelsGroupedById = channels.keyBy((channel: Channel) => channel.id) + const feedsData = await dataStorage.json('feeds.json') + const feeds = new Collection(feedsData).map(data => + new Feed(data).withChannel(channelsGroupedById) + ) + const feedsGroupedByChannelId = feeds.groupBy((feed: Feed) => + feed.channel ? feed.channel.id : uniqueId() + ) const blocklistContent = await dataStorage.json('blocklist.json') const blocklist = new Collection(blocklistContent).map(data => new Blocked(data)) - - logger.info(`found ${blocklist.count()} records`) + const blocklistGroupedByChannelId = blocklist.keyBy((blocked: Blocked) => blocked.channelId) logger.info('loading streams...') const streamsStorage = new Storage(STREAMS_DIR) - const parser = new PlaylistParser({ storage: streamsStorage }) + const parser = new PlaylistParser({ + storage: streamsStorage, + channelsGroupedById, + feedsGroupedByChannelId + }) const files = program.args.length ? program.args : await streamsStorage.list('**/*.m3u') const streams = await parser.parse(files) - logger.info(`found ${streams.count()} streams`) let errors = new Collection() let warnings = new Collection() - let groupedStreams = streams.groupBy((stream: Stream) => stream.filepath) - for (const filepath of groupedStreams.keys()) { - const streams = groupedStreams.get(filepath) + let streamsGroupedByFilepath = streams.groupBy((stream: Stream) => stream.getFilepath()) + for (const filepath of streamsGroupedByFilepath.keys()) { + const streams = streamsGroupedByFilepath.get(filepath) if (!streams) continue const log = new Collection() const buffer = new Dictionary() streams.forEach((stream: Stream) => { - const invalidId = - stream.channel && !channels.first((channel: Channel) => channel.id === stream.channel) - if (invalidId) { - log.add({ - type: 'warning', - line: stream.line, - message: `"${stream.channel}" is not in the database` - }) + if (stream.channelId) { + const channel = channelsGroupedById.get(stream.channelId) + if (!channel) { + log.add({ + type: 'warning', + line: stream.line, + message: `"${stream.id}" is not in the database` + }) + } } const duplicate = stream.url && buffer.has(stream.url) @@ -65,19 +76,19 @@ async function main() { buffer.set(stream.url, true) } - const blocked = blocklist.first(blocked => stream.channel === blocked.channel) + const blocked = stream.channel ? blocklistGroupedByChannelId.get(stream.channel.id) : false if (blocked) { if (blocked.reason === 'dmca') { log.add({ type: 'error', line: stream.line, - message: `"${stream.channel}" is on the blocklist due to claims of copyright holders (${blocked.ref})` + message: `"${blocked.channelId}" is on the blocklist due to claims of copyright holders (${blocked.ref})` }) } else if (blocked.reason === 'nsfw') { log.add({ type: 'error', line: stream.line, - message: `"${stream.channel}" is on the blocklist due to NSFW content (${blocked.ref})` + message: `"${blocked.channelId}" is on the blocklist due to NSFW content (${blocked.ref})` }) } } diff --git a/scripts/commands/report/create.ts b/scripts/commands/report/create.ts index 6b440547b..7584105d1 100644 --- a/scripts/commands/report/create.ts +++ b/scripts/commands/report/create.ts @@ -1,154 +1,164 @@ import { Logger, Storage, Collection, Dictionary } from '@freearhey/core' import { DATA_DIR, STREAMS_DIR } from '../../constants' import { IssueLoader, PlaylistParser } from '../../core' -import { Blocked, Channel, Issue, Stream } from '../../models' +import { Blocked, Channel, Issue, Stream, Feed } from '../../models' +import { uniqueId } from 'lodash' async function main() { const logger = new Logger() const loader = new IssueLoader() - - const storage = new Storage(DATA_DIR) + let report = new Collection() logger.info('loading issues...') const issues = await loader.load() + logger.info('loading data from api...') + const dataStorage = new Storage(DATA_DIR) + const channelsData = await dataStorage.json('channels.json') + const channels = new Collection(channelsData).map(data => new Channel(data)) + const channelsGroupedById = channels.keyBy((channel: Channel) => channel.id) + const feedsData = await dataStorage.json('feeds.json') + const feeds = new Collection(feedsData).map(data => + new Feed(data).withChannel(channelsGroupedById) + ) + const feedsGroupedByChannelId = feeds.groupBy((feed: Feed) => + feed.channel ? feed.channel.id : uniqueId() + ) + const blocklistContent = await dataStorage.json('blocklist.json') + const blocklist = new Collection(blocklistContent).map(data => new Blocked(data)) + const blocklistGroupedByChannelId = blocklist.keyBy((blocked: Blocked) => blocked.channelId) + logger.info('loading streams...') const streamsStorage = new Storage(STREAMS_DIR) - const parser = new PlaylistParser({ storage: streamsStorage }) + const parser = new PlaylistParser({ + storage: streamsStorage, + channelsGroupedById, + feedsGroupedByChannelId + }) const files = await streamsStorage.list('**/*.m3u') const streams = await parser.parse(files) const streamsGroupedByUrl = streams.groupBy((stream: Stream) => stream.url) - const streamsGroupedByChannel = streams.groupBy((stream: Stream) => stream.channel) - - logger.info('loading channels from api...') - const channelsContent = await storage.json('channels.json') - const channelsGroupedById = new Collection(channelsContent) - .map(data => new Channel(data)) - .groupBy((channel: Channel) => channel.id) - - logger.info('loading blocklist from api...') - const blocklistContent = await storage.json('blocklist.json') - const blocklistGroupedByChannel = new Collection(blocklistContent) - .map(data => new Blocked(data)) - .groupBy((blocked: Blocked) => blocked.channel) - - let report = new Collection() - - logger.info('checking streams:add requests...') - const addRequests = issues.filter(issue => issue.labels.includes('streams:add')) - const addRequestsBuffer = new Dictionary() - addRequests.forEach((issue: Issue) => { - const channelId = issue.data.getString('channelId') || undefined - const streamUrl = issue.data.getString('streamUrl') - - const result = new Dictionary({ - issueNumber: issue.number, - type: 'streams:add', - channelId, - streamUrl, - status: 'pending' - }) - - if (!channelId) result.set('status', 'missing_id') - else if (!streamUrl) result.set('status', 'missing_link') - else if (blocklistGroupedByChannel.has(channelId)) result.set('status', 'blocked') - else if (channelsGroupedById.missing(channelId)) result.set('status', 'wrong_id') - else if (streamsGroupedByUrl.has(streamUrl)) result.set('status', 'on_playlist') - else if (addRequestsBuffer.has(streamUrl)) result.set('status', 'duplicate') - else result.set('status', 'pending') - - addRequestsBuffer.set(streamUrl, true) - - report.add(result.data()) - }) - - logger.info('checking streams:edit requests...') - const editRequests = issues.filter(issue => issue.labels.find(label => label === 'streams:edit')) - editRequests.forEach((issue: Issue) => { - const channelId = issue.data.getString('channelId') || undefined - const streamUrl = issue.data.getString('streamUrl') || undefined - - const result = new Dictionary({ - issueNumber: issue.number, - type: 'streams:edit', - channelId, - streamUrl, - status: 'pending' - }) - - if (!streamUrl) result.set('status', 'missing_link') - else if (streamsGroupedByUrl.missing(streamUrl)) result.set('status', 'invalid_link') - else if (channelId && channelsGroupedById.missing(channelId)) result.set('status', 'invalid_id') - - report.add(result.data()) - }) + const streamsGroupedByChannelId = streams.groupBy((stream: Stream) => stream.channelId) logger.info('checking broken streams reports...') const brokenStreamReports = issues.filter(issue => - issue.labels.find(label => label === 'broken stream') + issue.labels.find((label: string) => label === 'broken stream') ) brokenStreamReports.forEach((issue: Issue) => { const brokenLinks = issue.data.getArray('brokenLinks') || [] if (!brokenLinks.length) { - const result = new Dictionary({ + const result = { issueNumber: issue.number, type: 'broken stream', - channelId: undefined, + streamId: undefined, streamUrl: undefined, status: 'missing_link' - }) + } - report.add(result.data()) + report.add(result) } else { for (const streamUrl of brokenLinks) { - const result = new Dictionary({ + const result = { issueNumber: issue.number, type: 'broken stream', - channelId: undefined, - streamUrl: undefined, + streamId: undefined, + streamUrl: truncate(streamUrl), status: 'pending' - }) - - if (streamsGroupedByUrl.missing(streamUrl)) { - result.set('streamUrl', streamUrl) - result.set('status', 'wrong_link') } - report.add(result.data()) + if (streamsGroupedByUrl.missing(streamUrl)) { + result.status = 'wrong_link' + } + + report.add(result) } } }) + logger.info('checking streams:add requests...') + const addRequests = issues.filter(issue => issue.labels.includes('streams:add')) + const addRequestsBuffer = new Dictionary() + addRequests.forEach((issue: Issue) => { + const streamId = issue.data.getString('streamId') || '' + const streamUrl = issue.data.getString('streamUrl') || '' + const [channelId] = streamId.split('@') + + const result = { + issueNumber: issue.number, + type: 'streams:add', + streamId: streamId || undefined, + streamUrl: truncate(streamUrl), + status: 'pending' + } + + if (!channelId) result.status = 'missing_id' + else if (!streamUrl) result.status = 'missing_link' + else if (blocklistGroupedByChannelId.has(channelId)) result.status = 'blocked' + else if (channelsGroupedById.missing(channelId)) result.status = 'wrong_id' + else if (streamsGroupedByUrl.has(streamUrl)) result.status = 'on_playlist' + else if (addRequestsBuffer.has(streamUrl)) result.status = 'duplicate' + else result.status = 'pending' + + addRequestsBuffer.set(streamUrl, true) + + report.add(result) + }) + + logger.info('checking streams:edit requests...') + const editRequests = issues.filter(issue => + issue.labels.find((label: string) => label === 'streams:edit') + ) + editRequests.forEach((issue: Issue) => { + const streamId = issue.data.getString('streamId') || '' + const streamUrl = issue.data.getString('streamUrl') || '' + const [channelId] = streamId.split('@') + + const result = { + issueNumber: issue.number, + type: 'streams:edit', + streamId: streamId || undefined, + streamUrl: truncate(streamUrl), + status: 'pending' + } + + if (!streamUrl) result.status = 'missing_link' + else if (streamsGroupedByUrl.missing(streamUrl)) result.status = 'invalid_link' + else if (channelId && channelsGroupedById.missing(channelId)) result.status = 'invalid_id' + + report.add(result) + }) + logger.info('checking channel search requests...') const channelSearchRequests = issues.filter(issue => - issue.labels.find(label => label === 'channel search') + issue.labels.find((label: string) => label === 'channel search') ) const channelSearchRequestsBuffer = new Dictionary() channelSearchRequests.forEach((issue: Issue) => { - const channelId = issue.data.getString('channelId') + const streamId = issue.data.getString('channelId') || '' + const [channelId] = streamId.split('@') - const result = new Dictionary({ + const result = { issueNumber: issue.number, type: 'channel search', - channelId, + streamId: streamId || undefined, streamUrl: undefined, status: 'pending' - }) + } - if (!channelId) result.set('status', 'missing_id') - else if (channelsGroupedById.missing(channelId)) result.set('status', 'invalid_id') - else if (channelSearchRequestsBuffer.has(channelId)) result.set('status', 'duplicate') - else if (blocklistGroupedByChannel.has(channelId)) result.set('status', 'blocked') - else if (streamsGroupedByChannel.has(channelId)) result.set('status', 'fulfilled') + if (!channelId) result.status = 'missing_id' + else if (channelsGroupedById.missing(channelId)) result.status = 'invalid_id' + else if (channelSearchRequestsBuffer.has(channelId)) result.status = 'duplicate' + else if (blocklistGroupedByChannelId.has(channelId)) result.status = 'blocked' + else if (streamsGroupedByChannelId.has(channelId)) result.status = 'fulfilled' else { const channelData = channelsGroupedById.get(channelId) - if (channelData.length && channelData[0].closed) result.set('status', 'closed') + if (channelData.length && channelData[0].closed) result.status = 'closed' } channelSearchRequestsBuffer.set(channelId, true) - report.add(result.data()) + report.add(result) }) report = report.orderBy(item => item.issueNumber).filter(item => item.status !== 'pending') @@ -157,3 +167,10 @@ async function main() { } main() + +function truncate(string: string, limit: number = 100) { + if (!string) return string + if (string.length < limit) return string + + return string.slice(0, limit) + '...' +} diff --git a/scripts/core/apiClient.ts b/scripts/core/apiClient.ts index 66fa28a87..3b6291908 100644 --- a/scripts/core/apiClient.ts +++ b/scripts/core/apiClient.ts @@ -41,7 +41,7 @@ export class ApiClient { } async download(filename: string) { - const stream = await this.storage.createStream(`/temp/data/${filename}`) + const stream = await this.storage.createStream(`temp/data/${filename}`) const bar = this.progressBar.create(0, 0, { filename }) diff --git a/scripts/core/cliTable.ts b/scripts/core/cliTable.ts index 4d1fe3253..61d9e608e 100644 --- a/scripts/core/cliTable.ts +++ b/scripts/core/cliTable.ts @@ -1,9 +1,10 @@ import { Table } from 'console-table-printer' +import { ComplexOptions } from 'console-table-printer/dist/src/models/external-table' export class CliTable { table: Table - constructor(options?) { + constructor(options?: ComplexOptions | string[]) { this.table = new Table(options) } diff --git a/scripts/core/issueData.ts b/scripts/core/issueData.ts index ee8918b65..61123f4aa 100644 --- a/scripts/core/issueData.ts +++ b/scripts/core/issueData.ts @@ -18,7 +18,7 @@ export class IssueData { return Boolean(this._data.get(key)) } - getString(key: string): string { + getString(key: string): string | undefined { const deleteSymbol = '~' return this._data.get(key) === deleteSymbol ? '' : this._data.get(key) diff --git a/scripts/core/issueLoader.ts b/scripts/core/issueLoader.ts index 535e2e744..1594eeb37 100644 --- a/scripts/core/issueLoader.ts +++ b/scripts/core/issueLoader.ts @@ -16,7 +16,7 @@ export class IssueLoader { } let issues: object[] = [] if (TESTING) { - issues = (await import('../../tests/__data__/input/issues/all.js')).default + issues = (await import('../../tests/__data__/input/playlist_update/issues.js')).default } else { issues = await octokit.paginate(octokit.rest.issues.listForRepo, { owner: OWNER, diff --git a/scripts/core/issueParser.ts b/scripts/core/issueParser.ts index e43f505d0..61e61c6d9 100644 --- a/scripts/core/issueParser.ts +++ b/scripts/core/issueParser.ts @@ -3,11 +3,10 @@ import { Issue } from '../models' import { IssueData } from './issueData' const FIELDS = new Dictionary({ + 'Stream ID': 'streamId', 'Channel ID': 'channelId', - 'Channel ID (required)': 'channelId', + 'Feed ID': 'feedId', 'Stream URL': 'streamUrl', - 'Stream URL (optional)': 'streamUrl', - 'Stream URL (required)': 'streamUrl', 'Broken Link': 'brokenLinks', 'Broken Links': 'brokenLinks', Label: 'label', @@ -18,8 +17,7 @@ const FIELDS = new Dictionary({ 'HTTP Referrer': 'httpReferrer', 'What happened to the stream?': 'reason', Reason: 'reason', - Notes: 'notes', - 'Notes (optional)': 'notes' + Notes: 'notes' }) export class IssueParser { @@ -30,7 +28,7 @@ export class IssueParser { fields.forEach((field: string) => { const parsed = typeof field === 'string' ? field.split(/\r?\n/).filter(Boolean) : [] let _label = parsed.shift() - _label = _label ? _label.trim() : '' + _label = _label ? _label.replace(/ \(optional\)| \(required\)/, '').trim() : '' let _value = parsed.join('\r\n') _value = _value ? _value.trim() : '' diff --git a/scripts/core/logParser.ts b/scripts/core/logParser.ts index 322858e0c..fb888f6b5 100644 --- a/scripts/core/logParser.ts +++ b/scripts/core/logParser.ts @@ -1,4 +1,5 @@ export type LogItem = { + type: string filepath: string count: number } diff --git a/scripts/core/playlistParser.ts b/scripts/core/playlistParser.ts index d615f5c6c..b28876663 100644 --- a/scripts/core/playlistParser.ts +++ b/scripts/core/playlistParser.ts @@ -1,12 +1,22 @@ -import { Collection, Storage } from '@freearhey/core' +import { Collection, Storage, Dictionary } from '@freearhey/core' import parser from 'iptv-playlist-parser' import { Stream } from '../models' +type PlaylistPareserProps = { + storage: Storage + feedsGroupedByChannelId: Dictionary + channelsGroupedById: Dictionary +} + export class PlaylistParser { storage: Storage + feedsGroupedByChannelId: Dictionary + channelsGroupedById: Dictionary - constructor({ storage }: { storage: Storage }) { + constructor({ storage, feedsGroupedByChannelId, channelsGroupedById }: PlaylistPareserProps) { this.storage = storage + this.feedsGroupedByChannelId = feedsGroupedByChannelId + this.channelsGroupedById = channelsGroupedById } async parse(files: string[]): Promise { @@ -21,41 +31,18 @@ export class PlaylistParser { } async parseFile(filepath: string): Promise { - const streams = new Collection() - const content = await this.storage.load(filepath) const parsed: parser.Playlist = parser.parse(content) - parsed.items.forEach((item: parser.PlaylistItem) => { - const { name, label, quality } = parseTitle(item.name) - const stream = new Stream({ - channel: item.tvg.id, - name, - label, - quality, - filepath, - line: item.line, - url: item.url, - httpReferrer: item.http.referrer, - httpUserAgent: item.http['user-agent'] - }) + const streams = new Collection(parsed.items).map((data: parser.PlaylistItem) => { + const stream = new Stream(data) + .withFeed(this.feedsGroupedByChannelId) + .withChannel(this.channelsGroupedById) + .setFilepath(filepath) - streams.add(stream) + return stream }) return streams } } - -function parseTitle(title: string): { name: string; label: string; quality: string } { - const [, label] = title.match(/ \[(.*)\]$/) || [null, ''] - title = title.replace(new RegExp(` \\[${escapeRegExp(label)}\\]$`), '') - const [, quality] = title.match(/ \(([0-9]+p)\)$/) || [null, ''] - title = title.replace(new RegExp(` \\(${quality}\\)$`), '') - - return { name: title, label, quality } -} - -function escapeRegExp(text) { - return text.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, '\\$&') -} diff --git a/scripts/core/streamTester.ts b/scripts/core/streamTester.ts index d3f772f97..89c44de74 100644 --- a/scripts/core/streamTester.ts +++ b/scripts/core/streamTester.ts @@ -11,15 +11,15 @@ export class StreamTester { async test(stream: Stream) { if (TESTING) { - const results = (await import('../../tests/__data__/input/test_results/all.js')).default + const results = (await import('../../tests/__data__/input/playlist_test/results.js')).default return results[stream.url] } else { return this.checker.checkStream({ url: stream.url, http: { - referrer: stream.httpReferrer, - 'user-agent': stream.httpUserAgent + referrer: stream.getHttpReferrer(), + 'user-agent': stream.getHttpUserAgent() } }) } diff --git a/scripts/generators/categoriesGenerator.ts b/scripts/generators/categoriesGenerator.ts index 672af3d90..cd20b6ea4 100644 --- a/scripts/generators/categoriesGenerator.ts +++ b/scripts/generators/categoriesGenerator.ts @@ -29,11 +29,7 @@ export class CategoriesGenerator implements Generator { const categoryStreams = streams .filter((stream: Stream) => stream.hasCategory(category)) .map((stream: Stream) => { - const streamCategories = stream.categories - .map((category: Category) => category.name) - .sort() - const groupTitle = stream.categories ? streamCategories.join(';') : '' - stream.groupTitle = groupTitle + stream.groupTitle = stream.getCategoryNames().join(';') return stream }) @@ -41,13 +37,17 @@ export class CategoriesGenerator implements Generator { const playlist = new Playlist(categoryStreams, { public: true }) const filepath = `categories/${category.id}.m3u` await this.storage.save(filepath, playlist.toString()) - this.logger.info(JSON.stringify({ filepath, count: playlist.streams.count() })) + this.logger.info( + JSON.stringify({ type: 'category', filepath, count: playlist.streams.count() }) + ) }) - const undefinedStreams = streams.filter((stream: Stream) => stream.noCategories()) + const undefinedStreams = streams.filter((stream: Stream) => !stream.hasCategories()) const playlist = new Playlist(undefinedStreams, { public: true }) const filepath = 'categories/undefined.m3u' await this.storage.save(filepath, playlist.toString()) - this.logger.info(JSON.stringify({ filepath, count: playlist.streams.count() })) + this.logger.info( + JSON.stringify({ type: 'category', filepath, count: playlist.streams.count() }) + ) } } diff --git a/scripts/generators/countriesGenerator.ts b/scripts/generators/countriesGenerator.ts index 0b5bc8c11..c935da5a4 100644 --- a/scripts/generators/countriesGenerator.ts +++ b/scripts/generators/countriesGenerator.ts @@ -1,12 +1,10 @@ import { Generator } from './generator' import { Collection, Storage, Logger } from '@freearhey/core' -import { Country, Region, Subdivision, Stream, Playlist } from '../models' +import { Country, Subdivision, Stream, Playlist } from '../models' import { PUBLIC_DIR } from '../constants' type CountriesGeneratorProps = { streams: Collection - regions: Collection - subdivisions: Collection countries: Collection logger: Logger } @@ -14,55 +12,37 @@ type CountriesGeneratorProps = { export class CountriesGenerator implements Generator { streams: Collection countries: Collection - regions: Collection - subdivisions: Collection storage: Storage logger: Logger - constructor({ streams, countries, regions, subdivisions, logger }: CountriesGeneratorProps) { + constructor({ streams, countries, logger }: CountriesGeneratorProps) { this.streams = streams this.countries = countries - this.regions = regions - this.subdivisions = subdivisions this.storage = new Storage(PUBLIC_DIR) this.logger = logger } async generate(): Promise { const streams = this.streams - .orderBy([stream => stream.getTitle()]) + .orderBy((stream: Stream) => stream.getTitle()) .filter((stream: Stream) => stream.isSFW()) - const regions = this.regions.filter((region: Region) => region.code !== 'INT') this.countries.forEach(async (country: Country) => { - const countrySubdivisions = this.subdivisions.filter( - (subdivision: Subdivision) => subdivision.country === country.code + const countryStreams = streams.filter((stream: Stream) => + stream.isBroadcastInCountry(country) ) - - const countrySubdivisionsCodes = countrySubdivisions.map( - (subdivision: Subdivision) => `s/${subdivision.code}` - ) - - const countryAreaCodes = regions - .filter((region: Region) => region.countries.includes(country.code)) - .map((region: Region) => `r/${region.code}`) - .concat(countrySubdivisionsCodes) - .add(`c/${country.code}`) - - const countryStreams = streams.filter(stream => - stream.broadcastArea.intersects(countryAreaCodes) - ) - if (countryStreams.isEmpty()) return const playlist = new Playlist(countryStreams, { public: true }) const filepath = `countries/${country.code.toLowerCase()}.m3u` await this.storage.save(filepath, playlist.toString()) - this.logger.info(JSON.stringify({ filepath, count: playlist.streams.count() })) + this.logger.info( + JSON.stringify({ type: 'country', filepath, count: playlist.streams.count() }) + ) - countrySubdivisions.forEach(async (subdivision: Subdivision) => { - const subdivisionStreams = streams.filter(stream => - stream.broadcastArea.includes(`s/${subdivision.code}`) + country.getSubdivisions().forEach(async (subdivision: Subdivision) => { + const subdivisionStreams = streams.filter((stream: Stream) => + stream.isBroadcastInSubdivision(subdivision) ) if (subdivisionStreams.isEmpty()) return @@ -70,16 +50,22 @@ export class CountriesGenerator implements Generator { const playlist = new Playlist(subdivisionStreams, { public: true }) const filepath = `subdivisions/${subdivision.code.toLowerCase()}.m3u` await this.storage.save(filepath, playlist.toString()) - this.logger.info(JSON.stringify({ filepath, count: playlist.streams.count() })) + this.logger.info( + JSON.stringify({ type: 'subdivision', filepath, count: playlist.streams.count() }) + ) }) }) - const internationalStreams = streams.filter(stream => stream.isInternational()) - if (internationalStreams.notEmpty()) { - const playlist = new Playlist(internationalStreams, { public: true }) - const filepath = 'countries/int.m3u' - await this.storage.save(filepath, playlist.toString()) - this.logger.info(JSON.stringify({ filepath, count: playlist.streams.count() })) - } + const undefinedStreams = streams.filter((stream: Stream) => !stream.hasBroadcastArea()) + const undefinedPlaylist = new Playlist(undefinedStreams, { public: true }) + const undefinedFilepath = 'countries/undefined.m3u' + await this.storage.save(undefinedFilepath, undefinedPlaylist.toString()) + this.logger.info( + JSON.stringify({ + type: 'country', + filepath: undefinedFilepath, + count: undefinedPlaylist.streams.count() + }) + ) } } diff --git a/scripts/generators/indexCategoryGenerator.ts b/scripts/generators/indexCategoryGenerator.ts index 8fd5f2cbf..529ee8336 100644 --- a/scripts/generators/indexCategoryGenerator.ts +++ b/scripts/generators/indexCategoryGenerator.ts @@ -26,14 +26,14 @@ export class IndexCategoryGenerator implements Generator { let groupedStreams = new Collection() streams.forEach((stream: Stream) => { - if (stream.noCategories()) { + if (!stream.hasCategories()) { const streamClone = stream.clone() streamClone.groupTitle = 'Undefined' groupedStreams.add(streamClone) return } - stream.categories.forEach((category: Category) => { + stream.getCategories().forEach((category: Category) => { const streamClone = stream.clone() streamClone.groupTitle = category.name groupedStreams.push(streamClone) @@ -48,6 +48,6 @@ export class IndexCategoryGenerator implements Generator { const playlist = new Playlist(groupedStreams, { public: true }) const filepath = 'index.category.m3u' await this.storage.save(filepath, playlist.toString()) - this.logger.info(JSON.stringify({ filepath, count: playlist.streams.count() })) + this.logger.info(JSON.stringify({ type: 'index', filepath, count: playlist.streams.count() })) } } diff --git a/scripts/generators/indexCountryGenerator.ts b/scripts/generators/indexCountryGenerator.ts index dcdb214f8..c65a43734 100644 --- a/scripts/generators/indexCountryGenerator.ts +++ b/scripts/generators/indexCountryGenerator.ts @@ -1,29 +1,20 @@ import { Generator } from './generator' import { Collection, Storage, Logger } from '@freearhey/core' -import { Stream, Playlist, Country, Subdivision, Region } from '../models' +import { Stream, Playlist, Country } from '../models' import { PUBLIC_DIR } from '../constants' type IndexCountryGeneratorProps = { streams: Collection - regions: Collection - countries: Collection - subdivisions: Collection logger: Logger } export class IndexCountryGenerator implements Generator { streams: Collection - countries: Collection - regions: Collection - subdivisions: Collection storage: Storage logger: Logger - constructor({ streams, regions, countries, subdivisions, logger }: IndexCountryGeneratorProps) { + constructor({ streams, logger }: IndexCountryGeneratorProps) { this.streams = streams - this.countries = countries - this.regions = regions - this.subdivisions = subdivisions this.storage = new Storage(PUBLIC_DIR) this.logger = logger } @@ -32,10 +23,10 @@ export class IndexCountryGenerator implements Generator { let groupedStreams = new Collection() this.streams - .orderBy(stream => stream.getTitle()) - .filter(stream => stream.isSFW()) - .forEach(stream => { - if (stream.noBroadcastArea()) { + .orderBy((stream: Stream) => stream.getTitle()) + .filter((stream: Stream) => stream.isSFW()) + .forEach((stream: Stream) => { + if (!stream.hasBroadcastArea()) { const streamClone = stream.clone() streamClone.groupTitle = 'Undefined' groupedStreams.add(streamClone) @@ -48,7 +39,7 @@ export class IndexCountryGenerator implements Generator { groupedStreams.add(streamClone) } - this.getStreamBroadcastCountries(stream).forEach((country: Country) => { + stream.getBroadcastCountries().forEach((country: Country) => { const streamClone = stream.clone() streamClone.groupTitle = country.name groupedStreams.add(streamClone) @@ -65,40 +56,6 @@ export class IndexCountryGenerator implements Generator { const playlist = new Playlist(groupedStreams, { public: true }) const filepath = 'index.country.m3u' await this.storage.save(filepath, playlist.toString()) - this.logger.info(JSON.stringify({ filepath, count: playlist.streams.count() })) - } - - getStreamBroadcastCountries(stream: Stream) { - const groupedRegions = this.regions.keyBy((region: Region) => region.code) - const groupedCountries = this.countries.keyBy((country: Country) => country.code) - const groupedSubdivisions = this.subdivisions.keyBy( - (subdivision: Subdivision) => subdivision.code - ) - - let broadcastCountries = new Collection() - - stream.broadcastArea.forEach(broadcastAreaCode => { - const [type, code] = broadcastAreaCode.split('/') - switch (type) { - case 'c': - broadcastCountries.add(code) - break - case 'r': - if (code !== 'INT' && groupedRegions.has(code)) { - broadcastCountries = broadcastCountries.concat(groupedRegions.get(code).countries) - } - break - case 's': - if (groupedSubdivisions.has(code)) { - broadcastCountries.add(groupedSubdivisions.get(code).country) - } - break - } - }) - - return broadcastCountries - .uniq() - .map(code => groupedCountries.get(code)) - .filter(Boolean) + this.logger.info(JSON.stringify({ type: 'index', filepath, count: playlist.streams.count() })) } } diff --git a/scripts/generators/indexGenerator.ts b/scripts/generators/indexGenerator.ts index b4389ff5f..fafda061f 100644 --- a/scripts/generators/indexGenerator.ts +++ b/scripts/generators/indexGenerator.ts @@ -27,6 +27,6 @@ export class IndexGenerator implements Generator { const playlist = new Playlist(sfwStreams, { public: true }) const filepath = 'index.m3u' await this.storage.save(filepath, playlist.toString()) - this.logger.info(JSON.stringify({ filepath, count: playlist.streams.count() })) + this.logger.info(JSON.stringify({ type: 'index', filepath, count: playlist.streams.count() })) } } diff --git a/scripts/generators/indexLanguageGenerator.ts b/scripts/generators/indexLanguageGenerator.ts index a64ffaada..1116eb740 100644 --- a/scripts/generators/indexLanguageGenerator.ts +++ b/scripts/generators/indexLanguageGenerator.ts @@ -22,17 +22,17 @@ export class IndexLanguageGenerator implements Generator { async generate(): Promise { let groupedStreams = new Collection() this.streams - .orderBy(stream => stream.getTitle()) - .filter(stream => stream.isSFW()) - .forEach(stream => { - if (stream.noLanguages()) { + .orderBy((stream: Stream) => stream.getTitle()) + .filter((stream: Stream) => stream.isSFW()) + .forEach((stream: Stream) => { + if (!stream.hasLanguages()) { const streamClone = stream.clone() streamClone.groupTitle = 'Undefined' groupedStreams.add(streamClone) return } - stream.languages.forEach((language: Language) => { + stream.getLanguages().forEach((language: Language) => { const streamClone = stream.clone() streamClone.groupTitle = language.name groupedStreams.add(streamClone) @@ -47,6 +47,6 @@ export class IndexLanguageGenerator implements Generator { const playlist = new Playlist(groupedStreams, { public: true }) const filepath = 'index.language.m3u' await this.storage.save(filepath, playlist.toString()) - this.logger.info(JSON.stringify({ filepath, count: playlist.streams.count() })) + this.logger.info(JSON.stringify({ type: 'index', filepath, count: playlist.streams.count() })) } } diff --git a/scripts/generators/indexNsfwGenerator.ts b/scripts/generators/indexNsfwGenerator.ts index a1f0a8062..a89cf0a10 100644 --- a/scripts/generators/indexNsfwGenerator.ts +++ b/scripts/generators/indexNsfwGenerator.ts @@ -25,6 +25,6 @@ export class IndexNsfwGenerator implements Generator { const playlist = new Playlist(allStreams, { public: true }) const filepath = 'index.nsfw.m3u' await this.storage.save(filepath, playlist.toString()) - this.logger.info(JSON.stringify({ filepath, count: playlist.streams.count() })) + this.logger.info(JSON.stringify({ type: 'index', filepath, count: playlist.streams.count() })) } } diff --git a/scripts/generators/indexRegionGenerator.ts b/scripts/generators/indexRegionGenerator.ts index 55affcaa3..c67d29bd5 100644 --- a/scripts/generators/indexRegionGenerator.ts +++ b/scripts/generators/indexRegionGenerator.ts @@ -28,14 +28,14 @@ export class IndexRegionGenerator implements Generator { .orderBy((stream: Stream) => stream.getTitle()) .filter((stream: Stream) => stream.isSFW()) .forEach((stream: Stream) => { - if (stream.noBroadcastArea()) { + if (!stream.hasBroadcastArea()) { const streamClone = stream.clone() streamClone.groupTitle = 'Undefined' groupedStreams.push(streamClone) return } - this.getStreamRegions(stream).forEach((region: Region) => { + stream.getBroadcastRegions().forEach((region: Region) => { const streamClone = stream.clone() streamClone.groupTitle = region.name groupedStreams.push(streamClone) @@ -50,34 +50,6 @@ export class IndexRegionGenerator implements Generator { const playlist = new Playlist(groupedStreams, { public: true }) const filepath = 'index.region.m3u' await this.storage.save(filepath, playlist.toString()) - this.logger.info(JSON.stringify({ filepath, count: playlist.streams.count() })) - } - - getStreamRegions(stream: Stream) { - let streamRegions = new Collection() - stream.broadcastArea.forEach(broadcastAreaCode => { - const [type, code] = broadcastAreaCode.split('/') - switch (type) { - case 'r': - const groupedRegions = this.regions.keyBy((region: Region) => region.code) - streamRegions.add(groupedRegions.get(code)) - break - case 's': - const [countryCode] = code.split('-') - const subdivisionRegions = this.regions.filter((region: Region) => - region.countries.includes(countryCode) - ) - streamRegions = streamRegions.concat(subdivisionRegions) - break - case 'c': - const countryRegions = this.regions.filter((region: Region) => - region.countries.includes(code) - ) - streamRegions = streamRegions.concat(countryRegions) - break - } - }) - - return streamRegions + this.logger.info(JSON.stringify({ type: 'index', filepath, count: playlist.streams.count() })) } } diff --git a/scripts/generators/languagesGenerator.ts b/scripts/generators/languagesGenerator.ts index d40d53d9b..114fcddb2 100644 --- a/scripts/generators/languagesGenerator.ts +++ b/scripts/generators/languagesGenerator.ts @@ -18,35 +18,40 @@ export class LanguagesGenerator implements Generator { async generate(): Promise { const streams = this.streams - .orderBy(stream => stream.getTitle()) - .filter(stream => stream.isSFW()) + .orderBy((stream: Stream) => stream.getTitle()) + .filter((stream: Stream) => stream.isSFW()) let languages = new Collection() streams.forEach((stream: Stream) => { - languages = languages.concat(stream.languages) + languages = languages.concat(stream.getLanguages()) }) languages + .filter(Boolean) .uniqBy((language: Language) => language.code) .orderBy((language: Language) => language.name) .forEach(async (language: Language) => { - const languageStreams = streams.filter(stream => stream.hasLanguage(language)) + const languageStreams = streams.filter((stream: Stream) => stream.hasLanguage(language)) if (languageStreams.isEmpty()) return const playlist = new Playlist(languageStreams, { public: true }) const filepath = `languages/${language.code}.m3u` await this.storage.save(filepath, playlist.toString()) - this.logger.info(JSON.stringify({ filepath, count: playlist.streams.count() })) + this.logger.info( + JSON.stringify({ type: 'language', filepath, count: playlist.streams.count() }) + ) }) - const undefinedStreams = streams.filter(stream => stream.noLanguages()) + const undefinedStreams = streams.filter((stream: Stream) => !stream.hasLanguages()) if (undefinedStreams.isEmpty()) return const playlist = new Playlist(undefinedStreams, { public: true }) const filepath = 'languages/undefined.m3u' await this.storage.save(filepath, playlist.toString()) - this.logger.info(JSON.stringify({ filepath, count: playlist.streams.count() })) + this.logger.info( + JSON.stringify({ type: 'language', filepath, count: playlist.streams.count() }) + ) } } diff --git a/scripts/generators/regionsGenerator.ts b/scripts/generators/regionsGenerator.ts index 9c29ee3a2..fb0a5d688 100644 --- a/scripts/generators/regionsGenerator.ts +++ b/scripts/generators/regionsGenerator.ts @@ -1,53 +1,61 @@ import { Generator } from './generator' import { Collection, Storage, Logger } from '@freearhey/core' -import { Playlist, Subdivision, Region } from '../models' +import { Playlist, Region, Stream } from '../models' import { PUBLIC_DIR } from '../constants' type RegionsGeneratorProps = { streams: Collection regions: Collection - subdivisions: Collection logger: Logger } export class RegionsGenerator implements Generator { streams: Collection regions: Collection - subdivisions: Collection storage: Storage logger: Logger - constructor({ streams, regions, subdivisions, logger }: RegionsGeneratorProps) { + constructor({ streams, regions, logger }: RegionsGeneratorProps) { this.streams = streams this.regions = regions - this.subdivisions = subdivisions this.storage = new Storage(PUBLIC_DIR) this.logger = logger } async generate(): Promise { const streams = this.streams - .orderBy(stream => stream.getTitle()) - .filter(stream => stream.isSFW()) + .orderBy((stream: Stream) => stream.getTitle()) + .filter((stream: Stream) => stream.isSFW()) this.regions.forEach(async (region: Region) => { - if (region.code === 'INT') return + if (region.isWorldwide()) return - const regionSubdivisionsCodes = this.subdivisions - .filter((subdivision: Subdivision) => region.countries.indexOf(subdivision.country) > -1) - .map((subdivision: Subdivision) => `s/${subdivision.code}`) - - const regionCodes = region.countries - .map((code: string) => `c/${code}`) - .concat(regionSubdivisionsCodes) - .add(`r/${region.code}`) - - const regionStreams = streams.filter(stream => stream.broadcastArea.intersects(regionCodes)) + const regionStreams = streams.filter((stream: Stream) => stream.isBroadcastInRegion(region)) const playlist = new Playlist(regionStreams, { public: true }) const filepath = `regions/${region.code.toLowerCase()}.m3u` await this.storage.save(filepath, playlist.toString()) - this.logger.info(JSON.stringify({ filepath, count: playlist.streams.count() })) + this.logger.info( + JSON.stringify({ type: 'region', filepath, count: playlist.streams.count() }) + ) }) + + const internationalStreams = streams.filter((stream: Stream) => stream.isInternational()) + const internationalPlaylist = new Playlist(internationalStreams, { public: true }) + const internationalFilepath = 'regions/int.m3u' + await this.storage.save(internationalFilepath, internationalPlaylist.toString()) + this.logger.info( + JSON.stringify({ + type: 'region', + filepath: internationalFilepath, + count: internationalPlaylist.streams.count() + }) + ) + + const undefinedStreams = streams.filter((stream: Stream) => !stream.hasBroadcastArea()) + const playlist = new Playlist(undefinedStreams, { public: true }) + const filepath = 'regions/undefined.m3u' + await this.storage.save(filepath, playlist.toString()) + this.logger.info(JSON.stringify({ type: 'region', filepath, count: playlist.streams.count() })) } } diff --git a/scripts/models/blocked.ts b/scripts/models/blocked.ts index 1bc38886b..29041278b 100644 --- a/scripts/models/blocked.ts +++ b/scripts/models/blocked.ts @@ -5,13 +5,13 @@ type BlockedProps = { } export class Blocked { - channel: string + channelId: string reason: string ref: string - constructor({ ref, reason, channel }: BlockedProps) { - this.channel = channel - this.reason = reason - this.ref = ref + constructor(data: BlockedProps) { + this.channelId = data.channel + this.reason = data.reason + this.ref = data.ref } } diff --git a/scripts/models/broadcastArea.ts b/scripts/models/broadcastArea.ts new file mode 100644 index 000000000..2b96b7f91 --- /dev/null +++ b/scripts/models/broadcastArea.ts @@ -0,0 +1,11 @@ +type BroadcastAreaProps = { + code: string +} + +export class BroadcastArea { + code: string + + constructor(data: BroadcastAreaProps) { + this.code = data.code + } +} diff --git a/scripts/models/category.ts b/scripts/models/category.ts index 885cea849..17ff9af12 100644 --- a/scripts/models/category.ts +++ b/scripts/models/category.ts @@ -1,4 +1,4 @@ -type CategoryProps = { +type CategoryData = { id: string name: string } @@ -7,8 +7,8 @@ export class Category { id: string name: string - constructor({ id, name }: CategoryProps) { - this.id = id - this.name = name + constructor(data: CategoryData) { + this.id = data.id + this.name = data.name } } diff --git a/scripts/models/channel.ts b/scripts/models/channel.ts index dd7a7a1d9..1d4c5cf8d 100644 --- a/scripts/models/channel.ts +++ b/scripts/models/channel.ts @@ -1,17 +1,16 @@ -import { Collection } from '@freearhey/core' +import { Collection, Dictionary } from '@freearhey/core' +import { Category, Country, Subdivision } from './index' -type ChannelProps = { +type ChannelData = { id: string name: string alt_names: string[] network: string - owners: string[] + owners: Collection country: string subdivision: string city: string - broadcast_area: string[] - languages: string[] - categories: string[] + categories: Collection is_nsfw: boolean launched: string closed: string @@ -24,56 +23,86 @@ export class Channel { id: string name: string altNames: Collection - network: string + network?: string owners: Collection - country: string - subdivision: string - city: string - broadcastArea: Collection - languages: Collection - categories: Collection + countryCode: string + country?: Country + subdivisionCode?: string + subdivision?: Subdivision + cityName?: string + categoryIds: Collection + categories?: Collection isNSFW: boolean - launched: string - closed: string - replacedBy: string - website: string + launched?: string + closed?: string + replacedBy?: string + website?: string logo: string - constructor({ - id, - name, - alt_names, - network, - owners, - country, - subdivision, - city, - broadcast_area, - languages, - categories, - is_nsfw, - launched, - closed, - replaced_by, - website, - logo - }: ChannelProps) { - this.id = id - this.name = name - this.altNames = new Collection(alt_names) - this.network = network - this.owners = new Collection(owners) - this.country = country - this.subdivision = subdivision - this.city = city - this.broadcastArea = new Collection(broadcast_area) - this.languages = new Collection(languages) - this.categories = new Collection(categories) - this.isNSFW = is_nsfw - this.launched = launched - this.closed = closed - this.replacedBy = replaced_by - this.website = website - this.logo = logo + constructor(data: ChannelData) { + this.id = data.id + this.name = data.name + this.altNames = new Collection(data.alt_names) + this.network = data.network || undefined + this.owners = new Collection(data.owners) + this.countryCode = data.country + this.subdivisionCode = data.subdivision || undefined + this.cityName = data.city || undefined + this.categoryIds = new Collection(data.categories) + this.isNSFW = data.is_nsfw + this.launched = data.launched || undefined + this.closed = data.closed || undefined + this.replacedBy = data.replaced_by || undefined + this.website = data.website || undefined + this.logo = data.logo + } + + withSubdivision(subdivisionsGroupedByCode: Dictionary): this { + if (!this.subdivisionCode) return this + + this.subdivision = subdivisionsGroupedByCode.get(this.subdivisionCode) + + return this + } + + withCountry(countriesGroupedByCode: Dictionary): this { + this.country = countriesGroupedByCode.get(this.countryCode) + + return this + } + + withCategories(groupedCategories: Dictionary): this { + this.categories = this.categoryIds + .map((id: string) => groupedCategories.get(id)) + .filter(Boolean) + + return this + } + + getCountry(): Country | undefined { + return this.country + } + + getSubdivision(): Subdivision | undefined { + return this.subdivision + } + + getCategories(): Collection { + return this.categories || new Collection() + } + + hasCategories(): boolean { + return !!this.categories && this.categories.notEmpty() + } + + hasCategory(category: Category): boolean { + return ( + !!this.categories && + this.categories.includes((_category: Category) => _category.id === category.id) + ) + } + + isSFW(): boolean { + return this.isNSFW === false } } diff --git a/scripts/models/country.ts b/scripts/models/country.ts index 5b33858ce..ac822a235 100644 --- a/scripts/models/country.ts +++ b/scripts/models/country.ts @@ -1,20 +1,58 @@ -type CountryProps = { +import { Collection, Dictionary } from '@freearhey/core' +import { Region, Language } from '.' + +type CountryData = { code: string name: string - languages: string[] + lang: string flag: string } export class Country { code: string name: string - languages: string[] flag: string + languageCode: string + language?: Language + subdivisions?: Collection + regions?: Collection - constructor({ code, name, languages, flag }: CountryProps) { - this.code = code - this.name = name - this.languages = languages - this.flag = flag + constructor(data: CountryData) { + this.code = data.code + this.name = data.name + this.flag = data.flag + this.languageCode = data.lang + } + + withSubdivisions(subdivisionsGroupedByCountryCode: Dictionary): this { + this.subdivisions = subdivisionsGroupedByCountryCode.get(this.code) || new Collection() + + return this + } + + withRegions(regions: Collection): this { + this.regions = regions.filter( + (region: Region) => region.code !== 'INT' && region.includesCountryCode(this.code) + ) + + return this + } + + withLanguage(languagesGroupedByCode: Dictionary): this { + this.language = languagesGroupedByCode.get(this.languageCode) + + return this + } + + getLanguage(): Language | undefined { + return this.language + } + + getRegions(): Collection { + return this.regions || new Collection() + } + + getSubdivisions(): Collection { + return this.subdivisions || new Collection() } } diff --git a/scripts/models/feed.ts b/scripts/models/feed.ts new file mode 100644 index 000000000..db4be5011 --- /dev/null +++ b/scripts/models/feed.ts @@ -0,0 +1,196 @@ +import { Collection, Dictionary } from '@freearhey/core' +import { Country, Language, Region, Channel, Subdivision } from './index' + +type FeedData = { + channel: string + id: string + name: string + is_main: boolean + broadcast_area: Collection + languages: Collection + timezones: Collection + video_format: string +} + +export class Feed { + channelId: string + channel?: Channel + id: string + name: string + isMain: boolean + broadcastAreaCodes: Collection + broadcastCountryCodes: Collection + broadcastCountries?: Collection + broadcastRegionCodes: Collection + broadcastRegions?: Collection + broadcastSubdivisionCodes: Collection + broadcastSubdivisions?: Collection + languageCodes: Collection + languages?: Collection + timezoneIds: Collection + timezones?: Collection + videoFormat: string + + constructor(data: FeedData) { + this.channelId = data.channel + this.id = data.id + this.name = data.name + this.isMain = data.is_main + this.broadcastAreaCodes = new Collection(data.broadcast_area) + this.languageCodes = new Collection(data.languages) + this.timezoneIds = new Collection(data.timezones) + this.videoFormat = data.video_format + this.broadcastCountryCodes = new Collection() + this.broadcastRegionCodes = new Collection() + this.broadcastSubdivisionCodes = new Collection() + + this.broadcastAreaCodes.forEach((areaCode: string) => { + const [type, code] = areaCode.split('/') + + switch (type) { + case 'c': + this.broadcastCountryCodes.add(code) + break + case 'r': + this.broadcastRegionCodes.add(code) + break + case 's': + this.broadcastSubdivisionCodes.add(code) + break + } + }) + } + + withChannel(channelsGroupedById: Dictionary): this { + this.channel = channelsGroupedById.get(this.channelId) + + return this + } + + withLanguages(languagesGroupedByCode: Dictionary): this { + this.languages = this.languageCodes + .map((code: string) => languagesGroupedByCode.get(code)) + .filter(Boolean) + + return this + } + + withTimezones(timezonesGroupedById: Dictionary): this { + this.timezones = this.timezoneIds + .map((id: string) => timezonesGroupedById.get(id)) + .filter(Boolean) + + return this + } + + withBroadcastSubdivisions(subdivisionsGroupedByCode: Dictionary): this { + this.broadcastSubdivisions = this.broadcastSubdivisionCodes.map((code: string) => + subdivisionsGroupedByCode.get(code) + ) + + return this + } + + withBroadcastCountries( + countriesGroupedByCode: Dictionary, + regionsGroupedByCode: Dictionary, + subdivisionsGroupedByCode: Dictionary + ): this { + let broadcastCountries = new Collection() + + if (this.isInternational()) { + this.broadcastCountries = broadcastCountries + return this + } + + this.broadcastCountryCodes.forEach((code: string) => { + broadcastCountries.add(countriesGroupedByCode.get(code)) + }) + + this.broadcastRegionCodes.forEach((code: string) => { + const region: Region = regionsGroupedByCode.get(code) + broadcastCountries = broadcastCountries.concat(region.countryCodes) + }) + + this.broadcastSubdivisionCodes.forEach((code: string) => { + const subdivision: Subdivision = subdivisionsGroupedByCode.get(code) + broadcastCountries.add(countriesGroupedByCode.get(subdivision.countryCode)) + }) + + this.broadcastCountries = broadcastCountries.uniq().filter(Boolean) + + return this + } + + withBroadcastRegions(regions: Collection, regionsGroupedByCode: Dictionary): this { + if (!this.broadcastCountries) return this + const countriesCodes = this.broadcastCountries.map((country: Country) => country.code) + + const broadcastRegions = regions.filter((region: Region) => + region.countryCodes.intersects(countriesCodes) + ) + + if (this.isInternational()) broadcastRegions.add(regionsGroupedByCode.get('INT')) + + this.broadcastRegions = broadcastRegions + + return this + } + + hasBroadcastArea(): boolean { + return ( + this.isInternational() || (!!this.broadcastCountries && this.broadcastCountries.notEmpty()) + ) + } + + getBroadcastCountries(): Collection { + return this.broadcastCountries || new Collection() + } + + getBroadcastRegions(): Collection { + return this.broadcastRegions || new Collection() + } + + getTimezones(): Collection { + return this.timezones || new Collection() + } + + getLanguages(): Collection { + return this.languages || new Collection() + } + + hasLanguages(): boolean { + return !!this.languages && this.languages.notEmpty() + } + + hasLanguage(language: Language): boolean { + return ( + !!this.languages && + this.languages.includes((_language: Language) => _language.code === language.code) + ) + } + + isInternational(): boolean { + return this.broadcastAreaCodes.includes('r/INT') + } + + isBroadcastInSubdivision(subdivision: Subdivision): boolean { + if (this.isInternational()) return false + + return this.broadcastSubdivisionCodes.includes(subdivision.code) + } + + isBroadcastInCountry(country: Country): boolean { + if (this.isInternational()) return false + + return this.getBroadcastCountries().includes( + (_country: Country) => _country.code === country.code + ) + } + + isBroadcastInRegion(region: Region): boolean { + if (this.isInternational()) return false + + return this.getBroadcastRegions().includes((_region: Region) => _region.code === region.code) + } +} diff --git a/scripts/models/index.ts b/scripts/models/index.ts index 9782fdae8..83a9380ed 100644 --- a/scripts/models/index.ts +++ b/scripts/models/index.ts @@ -8,3 +8,6 @@ export * from './language' export * from './country' export * from './region' export * from './subdivision' +export * from './feed' +export * from './broadcastArea' +export * from './timezone' diff --git a/scripts/models/language.ts b/scripts/models/language.ts index 84433abca..aeda5e6c2 100644 --- a/scripts/models/language.ts +++ b/scripts/models/language.ts @@ -1,4 +1,4 @@ -type LanguageProps = { +type LanguageData = { code: string name: string } @@ -7,8 +7,8 @@ export class Language { code: string name: string - constructor({ code, name }: LanguageProps) { - this.code = code - this.name = name + constructor(data: LanguageData) { + this.code = data.code + this.name = data.name } } diff --git a/scripts/models/region.ts b/scripts/models/region.ts index 72b30c192..928b48f06 100644 --- a/scripts/models/region.ts +++ b/scripts/models/region.ts @@ -1,6 +1,7 @@ -import { Collection } from '@freearhey/core' +import { Collection, Dictionary } from '@freearhey/core' +import { Subdivision } from '.' -type RegionProps = { +type RegionData = { code: string name: string countries: string[] @@ -9,11 +10,43 @@ type RegionProps = { export class Region { code: string name: string - countries: Collection + countryCodes: Collection + countries?: Collection + subdivisions?: Collection - constructor({ code, name, countries }: RegionProps) { - this.code = code - this.name = name - this.countries = new Collection(countries) + constructor(data: RegionData) { + this.code = data.code + this.name = data.name + this.countryCodes = new Collection(data.countries) + } + + withCountries(countriesGroupedByCode: Dictionary): this { + this.countries = this.countryCodes.map((code: string) => countriesGroupedByCode.get(code)) + + return this + } + + withSubdivisions(subdivisions: Collection): this { + this.subdivisions = subdivisions.filter( + (subdivision: Subdivision) => this.countryCodes.indexOf(subdivision.countryCode) > -1 + ) + + return this + } + + getSubdivisions(): Collection { + return this.subdivisions || new Collection() + } + + getCountries(): Collection { + return this.countries || new Collection() + } + + includesCountryCode(code: string): boolean { + return this.countryCodes.includes((countryCode: string) => countryCode === code) + } + + isWorldwide(): boolean { + return this.code === 'INT' } } diff --git a/scripts/models/stream.ts b/scripts/models/stream.ts index 53d244126..aabee817f 100644 --- a/scripts/models/stream.ts +++ b/scripts/models/stream.ts @@ -1,64 +1,166 @@ -import { URL, Collection } from '@freearhey/core' -import { Category, Language } from './index' - -type StreamProps = { - name: string - url: string - filepath: string - line: number - channel?: string - httpReferrer?: string - httpUserAgent?: string - label?: string - quality?: string -} +import { URL, Collection, Dictionary } from '@freearhey/core' +import { Feed, Channel, Category, Region, Subdivision, Country, Language } from './index' +import parser from 'iptv-playlist-parser' export class Stream { - channel: string - filepath: string - line: number - httpReferrer: string - label: string name: string - quality: string url: string - httpUserAgent: string - logo: string - broadcastArea: Collection - categories: Collection - languages: Collection - isNSFW: boolean + id?: string groupTitle: string + channelId?: string + channel?: Channel + feedId?: string + feed?: Feed + filepath?: string + line: number + label?: string + quality?: string + httpReferrer?: string + httpUserAgent?: string removed: boolean = false - constructor({ - channel, - filepath, - line, - httpReferrer, - label, - name, - quality, - url, - httpUserAgent - }: StreamProps) { - this.channel = channel || '' - this.filepath = filepath - this.line = line - this.httpReferrer = httpReferrer || '' - this.label = label || '' + constructor(data: parser.PlaylistItem) { + if (!data.name) throw new Error('"name" property is required') + if (!data.url) throw new Error('"url" property is required') + + const [channelId, feedId] = data.tvg.id.split('@') + const { name, label, quality } = parseTitle(data.name) + + this.id = data.tvg.id || undefined + this.feedId = feedId || undefined + this.channelId = channelId || undefined + this.line = data.line + this.label = label || undefined this.name = name - this.quality = quality || '' - this.url = url - this.httpUserAgent = httpUserAgent || '' - this.logo = '' - this.broadcastArea = new Collection() - this.categories = new Collection() - this.languages = new Collection() - this.isNSFW = false + this.quality = quality || undefined + this.url = data.url + this.httpReferrer = data.http.referrer || undefined + this.httpUserAgent = data.http['user-agent'] || undefined this.groupTitle = 'Undefined' } + withChannel(channelsGroupedById: Dictionary): this { + if (!this.channelId) return this + + this.channel = channelsGroupedById.get(this.channelId) + + return this + } + + withFeed(feedsGroupedByChannelId: Dictionary): this { + if (!this.channelId) return this + + const channelFeeds = feedsGroupedByChannelId.get(this.channelId) || [] + if (this.feedId) this.feed = channelFeeds.find((feed: Feed) => feed.id === this.feedId) + if (!this.feed) this.feed = channelFeeds.find((feed: Feed) => feed.isMain) + + return this + } + + setId(id: string): this { + this.id = id + + return this + } + + setChannelId(channelId: string): this { + this.channelId = channelId + + return this + } + + setFeedId(feedId: string | undefined): this { + this.feedId = feedId + + return this + } + + setLabel(label: string): this { + this.label = label + + return this + } + + setQuality(quality: string): this { + this.quality = quality + + return this + } + + setHttpUserAgent(httpUserAgent: string): this { + this.httpUserAgent = httpUserAgent + + return this + } + + setHttpReferrer(httpReferrer: string): this { + this.httpReferrer = httpReferrer + + return this + } + + setFilepath(filepath: string): this { + this.filepath = filepath + + return this + } + + updateFilepath(): this { + if (!this.channel) return this + + this.filepath = `${this.channel.countryCode.toLowerCase()}.m3u` + + return this + } + + getFilepath(): string { + return this.filepath || '' + } + + getHttpReferrer(): string { + return this.httpReferrer || '' + } + + getHttpUserAgent(): string { + return this.httpUserAgent || '' + } + + getQuality(): string { + return this.quality || '' + } + + hasQuality(): boolean { + return !!this.quality + } + + getHorizontalResolution(): number { + if (!this.hasQuality()) return 0 + + return parseInt(this.getQuality().replace(/p|i/, '')) + } + + updateName(): this { + if (!this.channel) return this + + this.name = this.channel.name + if (this.feed && !this.feed.isMain) { + this.name += ` ${this.feed.name}` + } + + return this + } + + updateId(): this { + if (!this.channel) return this + if (this.feed) { + this.id = `${this.channel.id}@${this.feed.id}` + } else { + this.id = this.channel.id + } + + return this + } + normalizeURL() { const url = new URL(this.url) @@ -81,36 +183,75 @@ export class Stream { return !!this.channel } - hasCategories(): boolean { - return this.categories.notEmpty() + getBroadcastRegions(): Collection { + return this.feed ? this.feed.getBroadcastRegions() : new Collection() } - noCategories(): boolean { - return this.categories.isEmpty() + getBroadcastCountries(): Collection { + return this.feed ? this.feed.getBroadcastCountries() : new Collection() } - hasCategory(category: Category): boolean { - return this.categories.includes((_category: Category) => _category.id === category.id) - } - - noLanguages(): boolean { - return this.languages.isEmpty() - } - - hasLanguage(language: Language): boolean { - return this.languages.includes((_language: Language) => _language.code === language.code) - } - - noBroadcastArea(): boolean { - return this.broadcastArea.isEmpty() - } - - isInternational(): boolean { - return this.broadcastArea.includes('r/INT') + hasBroadcastArea(): boolean { + return this.feed ? this.feed.hasBroadcastArea() : false } isSFW(): boolean { - return this.isNSFW === false + return this.channel ? this.channel.isSFW() : true + } + + hasCategories(): boolean { + return this.channel ? this.channel.hasCategories() : false + } + + hasCategory(category: Category): boolean { + return this.channel ? this.channel.hasCategory(category) : false + } + + getCategoryNames(): string[] { + return this.getCategories() + .map((category: Category) => category.name) + .sort() + .all() + } + + getCategories(): Collection { + return this.channel ? this.channel.getCategories() : new Collection() + } + + getLanguages(): Collection { + return this.feed ? this.feed.getLanguages() : new Collection() + } + + hasLanguages() { + return this.feed ? this.feed.hasLanguages() : false + } + + hasLanguage(language: Language) { + return this.feed ? this.feed.hasLanguage(language) : false + } + + getBroadcastAreaCodes(): Collection { + return this.feed ? this.feed.broadcastAreaCodes : new Collection() + } + + isBroadcastInSubdivision(subdivision: Subdivision): boolean { + return this.feed ? this.feed.isBroadcastInSubdivision(subdivision) : false + } + + isBroadcastInCountry(country: Country): boolean { + return this.feed ? this.feed.isBroadcastInCountry(country) : false + } + + isBroadcastInRegion(region: Region): boolean { + return this.feed ? this.feed.isBroadcastInRegion(region) : false + } + + isInternational(): boolean { + return this.feed ? this.feed.isInternational() : false + } + + getLogo(): string { + return this?.channel?.logo || '' } getTitle(): string { @@ -127,15 +268,25 @@ export class Stream { return title } + getLabel(): string { + return this.label || '' + } + + getId(): string { + return this.id || '' + } + data() { return { + id: this.id, channel: this.channel, + feed: this.feed, filepath: this.filepath, - httpReferrer: this.httpReferrer, label: this.label, name: this.name, quality: this.quality, url: this.url, + httpReferrer: this.httpReferrer, httpUserAgent: this.httpUserAgent, line: this.line } @@ -143,7 +294,8 @@ export class Stream { toJSON() { return { - channel: this.channel || null, + channel: this.channelId || null, + feed: this.feedId || null, url: this.url, referrer: this.httpReferrer || null, user_agent: this.httpUserAgent || null @@ -151,10 +303,10 @@ export class Stream { } toString(options: { public: boolean }) { - let output = `#EXTINF:-1 tvg-id="${this.channel}"` + let output = `#EXTINF:-1 tvg-id="${this.getId()}"` if (options.public) { - output += ` tvg-logo="${this.logo}" group-title="${this.groupTitle}"` + output += ` tvg-logo="${this.getLogo()}" group-title="${this.groupTitle}"` } if (this.httpReferrer) { @@ -180,3 +332,16 @@ export class Stream { return output } } + +function parseTitle(title: string): { name: string; label: string; quality: string } { + const [, label] = title.match(/ \[(.*)\]$/) || [null, ''] + title = title.replace(new RegExp(` \\[${escapeRegExp(label)}\\]$`), '') + const [, quality] = title.match(/ \(([0-9]+p)\)$/) || [null, ''] + title = title.replace(new RegExp(` \\(${quality}\\)$`), '') + + return { name: title, label, quality } +} + +function escapeRegExp(text) { + return text.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, '\\$&') +} diff --git a/scripts/models/subdivision.ts b/scripts/models/subdivision.ts index c3209ca3d..d6795fea3 100644 --- a/scripts/models/subdivision.ts +++ b/scripts/models/subdivision.ts @@ -1,4 +1,7 @@ -type SubdivisionProps = { +import { Dictionary } from '@freearhey/core' +import { Country } from '.' + +type SubdivisionData = { code: string name: string country: string @@ -7,11 +10,18 @@ type SubdivisionProps = { export class Subdivision { code: string name: string - country: string + countryCode: string + country?: Country - constructor({ code, name, country }: SubdivisionProps) { - this.code = code - this.name = name - this.country = country + constructor(data: SubdivisionData) { + this.code = data.code + this.name = data.name + this.countryCode = data.country + } + + withCountry(countriesGroupedByCode: Dictionary): this { + this.country = countriesGroupedByCode.get(this.countryCode) + + return this } } diff --git a/scripts/models/timezone.ts b/scripts/models/timezone.ts new file mode 100644 index 000000000..b519f0e06 --- /dev/null +++ b/scripts/models/timezone.ts @@ -0,0 +1,30 @@ +import { Collection, Dictionary } from '@freearhey/core' + +type TimezoneData = { + id: string + utc_offset: string + countries: string[] +} + +export class Timezone { + id: string + utcOffset: string + countryCodes: Collection + countries?: Collection + + constructor(data: TimezoneData) { + this.id = data.id + this.utcOffset = data.utc_offset + this.countryCodes = new Collection(data.countries) + } + + withCountries(countriesGroupedByCode: Dictionary): this { + this.countries = this.countryCodes.map((code: string) => countriesGroupedByCode.get(code)) + + return this + } + + getCountries(): Collection { + return this.countries || new Collection() + } +} diff --git a/scripts/tables/categoryTable.ts b/scripts/tables/categoryTable.ts index a3fb49f14..f82f3ffd4 100644 --- a/scripts/tables/categoryTable.ts +++ b/scripts/tables/categoryTable.ts @@ -11,6 +11,7 @@ export class CategoryTable implements Table { const dataStorage = new Storage(DATA_DIR) const categoriesContent = await dataStorage.json('categories.json') const categories = new Collection(categoriesContent).map(data => new Category(data)) + const categoriesGroupedById = categories.keyBy((category: Category) => category.id) const parser = new LogParser() const logsStorage = new Storage(LOGS_DIR) @@ -19,13 +20,12 @@ export class CategoryTable implements Table { let data = new Collection() parser .parse(generatorsLog) - .filter((logItem: LogItem) => logItem.filepath.includes('categories/')) + .filter((logItem: LogItem) => logItem.type === 'category') .forEach((logItem: LogItem) => { const file = new File(logItem.filepath) const categoryId = file.name() - const category: Category = categories.first( - (category: Category) => category.id === categoryId - ) + const category: Category = categoriesGroupedById.get(categoryId) + data.add([ category ? category.name : 'ZZ', category ? category.name : 'Undefined', diff --git a/scripts/tables/countryTable.ts b/scripts/tables/countryTable.ts index 06a72490e..2f50ccedf 100644 --- a/scripts/tables/countryTable.ts +++ b/scripts/tables/countryTable.ts @@ -12,34 +12,31 @@ export class CountryTable implements Table { const countriesContent = await dataStorage.json('countries.json') const countries = new Collection(countriesContent).map(data => new Country(data)) - + const countriesGroupedByCode = countries.keyBy((country: Country) => country.code) const subdivisionsContent = await dataStorage.json('subdivisions.json') const subdivisions = new Collection(subdivisionsContent).map(data => new Subdivision(data)) + const subdivisionsGroupedByCode = subdivisions.keyBy( + (subdivision: Subdivision) => subdivision.code + ) const parser = new LogParser() const logsStorage = new Storage(LOGS_DIR) const generatorsLog = await logsStorage.load('generators.log') + const parsed = parser.parse(generatorsLog) let data = new Collection() - parser - .parse(generatorsLog) - .filter( - (logItem: LogItem) => - logItem.filepath.includes('countries/') || logItem.filepath.includes('subdivisions/') - ) + + parsed + .filter((logItem: LogItem) => logItem.type === 'subdivision') .forEach((logItem: LogItem) => { const file = new File(logItem.filepath) const code = file.name().toUpperCase() const [countryCode, subdivisionCode] = code.split('-') || ['', ''] + const country = countriesGroupedByCode.get(countryCode) - if (subdivisionCode) { - const subdivision = subdivisions.first( - (subdivision: Subdivision) => subdivision.code === code - ) + if (country && subdivisionCode) { + const subdivision = subdivisionsGroupedByCode.get(code) if (subdivision) { - const country = countries.first( - (country: Country) => country.code === subdivision.country - ) data.add([ `${country.name}/${subdivision.name}`, `      ${subdivision.name}`, @@ -47,18 +44,28 @@ export class CountryTable implements Table { `https://iptv-org.github.io/iptv/${logItem.filepath}` ]) } - } else if (countryCode === 'INT') { + } + }) + + parsed + .filter((logItem: LogItem) => logItem.type === 'country') + .forEach((logItem: LogItem) => { + const file = new File(logItem.filepath) + const code = file.name().toUpperCase() + const [countryCode] = code.split('-') || ['', ''] + const country = countriesGroupedByCode.get(countryCode) + + if (country) { data.add([ - 'ZZ', - '🌍 International', + country.name, + `${country.flag} ${country.name}`, logItem.count, `https://iptv-org.github.io/iptv/${logItem.filepath}` ]) } else { - const country = countries.first((country: Country) => country.code === countryCode) data.add([ - country.name, - `${country.flag} ${country.name}`, + 'ZZ', + 'Undefined', logItem.count, `https://iptv-org.github.io/iptv/${logItem.filepath}` ]) diff --git a/scripts/tables/languageTable.ts b/scripts/tables/languageTable.ts index f0b54d242..2014ba676 100644 --- a/scripts/tables/languageTable.ts +++ b/scripts/tables/languageTable.ts @@ -11,6 +11,7 @@ export class LanguageTable implements Table { const dataStorage = new Storage(DATA_DIR) const languagesContent = await dataStorage.json('languages.json') const languages = new Collection(languagesContent).map(data => new Language(data)) + const languagesGroupedByCode = languages.keyBy((language: Language) => language.code) const parser = new LogParser() const logsStorage = new Storage(LOGS_DIR) @@ -19,13 +20,11 @@ export class LanguageTable implements Table { let data = new Collection() parser .parse(generatorsLog) - .filter((logItem: LogItem) => logItem.filepath.includes('languages/')) + .filter((logItem: LogItem) => logItem.type === 'language') .forEach((logItem: LogItem) => { const file = new File(logItem.filepath) const languageCode = file.name() - const language: Language = languages.first( - (language: Language) => language.code === languageCode - ) + const language: Language = languagesGroupedByCode.get(languageCode) data.add([ language ? language.name : 'ZZ', diff --git a/scripts/tables/regionTable.ts b/scripts/tables/regionTable.ts index 60a6e5ff7..84eeaaa4a 100644 --- a/scripts/tables/regionTable.ts +++ b/scripts/tables/regionTable.ts @@ -11,6 +11,7 @@ export class RegionTable implements Table { const dataStorage = new Storage(DATA_DIR) const regionsContent = await dataStorage.json('regions.json') const regions = new Collection(regionsContent).map(data => new Region(data)) + const regionsGroupedByCode = regions.keyBy((region: Region) => region.code) const parser = new LogParser() const logsStorage = new Storage(LOGS_DIR) @@ -19,22 +20,35 @@ export class RegionTable implements Table { let data = new Collection() parser .parse(generatorsLog) - .filter((logItem: LogItem) => logItem.filepath.includes('regions/')) + .filter((logItem: LogItem) => logItem.type === 'region') .forEach((logItem: LogItem) => { const file = new File(logItem.filepath) const regionCode = file.name().toUpperCase() - const region: Region = regions.first((region: Region) => region.code === regionCode) + const region: Region = regionsGroupedByCode.get(regionCode) if (region) { data.add([ region.name, + region.name, + logItem.count, + `https://iptv-org.github.io/iptv/${logItem.filepath}` + ]) + } else { + data.add([ + 'ZZZ', + 'Undefined', logItem.count, `https://iptv-org.github.io/iptv/${logItem.filepath}` ]) } }) - data = data.orderBy(item => item[0]) + data = data + .orderBy(item => item[0]) + .map(item => { + item.shift() + return item + }) const table = new HTMLTable(data.all(), [ { name: 'Region', align: 'left' }, From 6f24d5d701368e9ec9dab20422ba36af051ce89e Mon Sep 17 00:00:00 2001 From: freearhey <7253922+freearhey@users.noreply.github.com> Date: Sat, 29 Mar 2025 11:39:58 +0300 Subject: [PATCH 18/85] Update issue templates --- .github/ISSUE_TEMPLATE/1_streams_add.yml | 9 ++++++--- .github/ISSUE_TEMPLATE/2_streams_edit.yml | 9 ++++++--- .github/ISSUE_TEMPLATE/3_broken-stream.yml | 2 +- 3 files changed, 13 insertions(+), 7 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/1_streams_add.yml b/.github/ISSUE_TEMPLATE/1_streams_add.yml index 75d89b54f..2d3f9c793 100644 --- a/.github/ISSUE_TEMPLATE/1_streams_add.yml +++ b/.github/ISSUE_TEMPLATE/1_streams_add.yml @@ -6,9 +6,9 @@ labels: ['streams:add'] body: - type: input attributes: - label: Channel ID (required) - description: Unique channel ID from [iptv-org.github.io](https://iptv-org.github.io/). If you can't find the channel you want in the list, please let us know through this [form](https://github.com/iptv-org/database/issues/new?assignees=&labels=channels%3Aadd&projects=&template=channels_add.yml&title=Add%3A+) before posting your request. - placeholder: 'BBCAmericaEast.us' + label: Stream ID (required) + description: "ID of the stream consisting of `` or `@`. Full list of supported channels with corresponding ID could be found on [iptv-org.github.io](https://iptv-org.github.io/). If you can't find the channel you want in the list, please let us know through this [form](https://github.com/iptv-org/database/issues/new?assignees=&labels=channels%3Aadd&projects=&template=channels_add.yml&title=Add%3A+) before posting your request." + placeholder: 'BBCAmerica.us@East' validations: required: true @@ -28,9 +28,12 @@ body: - 2160p - 1280p - 1080p + - 1080i - 720p - 576p + - 576i - 480p + - 480i - 360p - type: dropdown diff --git a/.github/ISSUE_TEMPLATE/2_streams_edit.yml b/.github/ISSUE_TEMPLATE/2_streams_edit.yml index 0231d30c0..1c9ab6200 100644 --- a/.github/ISSUE_TEMPLATE/2_streams_edit.yml +++ b/.github/ISSUE_TEMPLATE/2_streams_edit.yml @@ -19,9 +19,9 @@ body: - type: input attributes: - label: Channel ID - description: Channel ID from [iptv-org.github.io](https://iptv-org.github.io/). - placeholder: 'BBCAmericaEast.us' + label: Stream ID + description: "ID of the stream consisting of `` or `@`. Full list of supported channels with corresponding ID could be found on [iptv-org.github.io](https://iptv-org.github.io/). If you can't find the channel you want in the list, please let us know through this [form](https://github.com/iptv-org/database/issues/new?assignees=&labels=channels%3Aadd&projects=&template=channels_add.yml&title=Add%3A+) before posting your request." + placeholder: 'BBCAmerica.us@East' - type: dropdown attributes: @@ -31,9 +31,12 @@ body: - 2160p - 1280p - 1080p + - 1080i - 720p - 576p + - 576i - 480p + - 480i - 360p - '~' diff --git a/.github/ISSUE_TEMPLATE/3_broken-stream.yml b/.github/ISSUE_TEMPLATE/3_broken-stream.yml index 12ed63a5b..67dcb462a 100644 --- a/.github/ISSUE_TEMPLATE/3_broken-stream.yml +++ b/.github/ISSUE_TEMPLATE/3_broken-stream.yml @@ -1,7 +1,7 @@ name: 🚧 Report broken stream description: Report a broken or unstable stream title: 'Broken: ' -labels: ['broken stream'] +labels: ['broken stream', 'streams:remove'] body: - type: markdown From 7a3095129f7a0b96b7455d1f63439834b19f2f3b Mon Sep 17 00:00:00 2001 From: freearhey <7253922+freearhey@users.noreply.github.com> Date: Sat, 29 Mar 2025 11:40:01 +0300 Subject: [PATCH 19/85] Update CONTRIBUTING.md --- CONTRIBUTING.md | 63 +++++++++++++++++++++++++++++++++++++++---------- 1 file changed, 51 insertions(+), 12 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 470dcbaf0..da6c69a7f 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -20,15 +20,23 @@ Regardless of which option you choose, before posting your request please do the - Make sure the link you want to add works stably. To check this, open it in one of the players (for example, [VLC player](https://www.videolan.org/vlc/index.html)) and watch the broadcast for at least a minute (some test streams are interrupted after 15-30 seconds). - Make sure the link is not already in the playlist. This can be done by [searching](https://github.com/search?q=repo%3Aiptv-org%2Fiptv+http%3A%2F%2Fexample.com&type=code) the repository. -- Find the ID of the channel you want to add in our [database](https://iptv-org.github.io/). If this particular channel is not in the database, then leave a request to add it [here](https://github.com/iptv-org/database/issues/new/choose) and wait until it is approved before continuing. -- Make sure the channel is not blocklisted. This can be done by checking the [blocklist.csv](https://github.com/iptv-org/database/blob/master/data/blocklist.csv) file. +- Find the ID of the channel you want on [iptv-org.github.io](https://iptv-org.github.io/). If your desired channel is not on the list you can leave a request to add it [here](https://github.com/iptv-org/database/issues/new/choose). +- Make sure the channel is not blocklisted. It can also be done through [iptv-org.github.io](https://iptv-org.github.io/). - The link does not lead to the Xtream Codes server. [Why don't you accept links to Xtream Codes server?](FAQ.md#why-dont-you-accept-links-to-xtream-codes-server) - If you know that the broadcast only works in certain countries or it is periodically interrupted, do not forget to indicate this in the request. -A requests without a valid channel ID or working link to the stream will be closed immediately. +A requests without a valid stream ID or working link to the stream will be closed immediately. Note all links in playlists are sorted automatically by scripts so there is no need to sort them manually. For more info, see [Scripts](#scripts). +### How to fix the stream description? + +Most of the stream description (channel name, categories, languages, broadcast area, logo) we load from the [iptv-org/database](https://github.com/iptv-org/database) using the stream ID. + +So first of all, make sure that the desired stream has the correct ID. A full list of all supported channels and their corresponding IDs can be found on [iptv-org.github.io](https://iptv-org.github.io/). To change the stream ID of any link in the playlist, just fill out this [form](https://github.com/iptv-org/iptv/issues/new?assignees=&labels=streams%3Aedit&projects=&template=2_streams_edit.yml&title=Edit%3A+). + +If, however, you have found an error in the database itself, this is the place to go: [How to edit channel description?](https://github.com/iptv-org/database/blob/master/CONTRIBUTING.md#how-to-edit-channel-description) + ### How to distinguish a link to an Xtream Codes server from a regular one? Most of them have this form: @@ -52,6 +60,37 @@ The only thing before publishing your report is to make sure that: An issue without a valid link will be closed immediately. +### How to find a broken stream? + +For starters, you can just try to open the playlist in [VLC player](https://www.videolan.org/vlc/). The player outputs all errors to the log (Tools -> Messages) so you'll be able to determine pretty accurately why a link isn't working. + +Another way to test links is to use the NPM script. To do this, first make sure you have [Node.js](https://nodejs.org/en) installed on your system. Then go to the `iptv` folder using [Console](https://en.wikipedia.org/wiki/Windows_Console) (or [Terminal]() if you have macOS) and run the command: + +```sh +npm run playlist:test path/to/playlist.m3u +``` + +This command will run an automatic check of all links in the playlist and display their status: + +```sh +npm run playlist:test streams/fr.m3u + +streams/fr.m3u +┌─────┬───────────────────────────┬──────────────────────────────────────────────────────────────────────────────────────────────────────┬───────────────────────────┐ +│ │ tvg-id │ url │ status │ +├─────┼───────────────────────────┼──────────────────────────────────────────────────────────────────────────────────────────────────────┼───────────────────────────┤ +│ 0 │ 6ter.fr │ https://origin-caf900c010ea8046.live.6cloud.fr/out/v1/29c7a579af3348b48230f76cd75699a5/dash_short... │ LOADING... │ +│ 1 │ 20MinutesTV.fr │ https://lives.digiteka.com/stream/86d3e867-a272-496b-8412-f59aa0104771/index.m3u8 │ FFMPEG_STREAMS_NOT_FOUND │ +│ 2 │ │ https://video1.getstreamhosting.com:1936/8420/8420/playlist.m3u8 │ OK │ +│ 3 │ ADNTVPlus.fr │ https://samsunguk-adn-samsung-fre-qfrlc.amagi.tv/playlist/samsunguk-adn-samsung-fre/playlist.m3u8 │ HTTP_FORBIDDEN │ +│ 4 │ Africa24.fr │ https://edge12.vedge.infomaniak.com/livecast/ik:africa24/manifest.m3u8 │ OK │ +│ 5 │ Africa24English.fr │ https://edge17.vedge.infomaniak.com/livecast/ik:africa24sport/manifest.m3u8 │ OK │ +│ 6 │ AfricanewsEnglish.fr │ https://37c774660687468c821a51190046facf.mediatailor.us-east-1.amazonaws.com/v1/master/04fd913bb2... │ HTTP_GATEWAY_TIMEOUT │ +│ 7 │ AlpedHuezTV.fr │ https://edge.vedge.infomaniak.com/livecast/ik:adhtv/chunklist.m3u8 │ HTTP_NOT_FOUND │ +``` + +After that, all you have to do is report any broken streams you find. + ### How do I remove my channel from playlist? To request removal of a link to a channel from the repository, you need to fill out this [form](https://github.com/iptv-org/iptv/issues/new?assignees=&labels=removal+request&projects=&template=-removal-request.yml&title=Remove%3A+) and wait for the request to be reviewed (this usually takes no more than 1 business day). And if the request is approved, links to the channel will be immediately removed from the repository. @@ -65,22 +104,22 @@ Please note that we only accept removal requests from channel owners and their o For a stream to be approved, its description must follow this template: ``` -#EXTINF:-1 tvg-id="CHANNEL_ID",CHANNEL_NAME (RESOLUTION) [LABEL] +#EXTINF:-1 tvg-id="STREAM_ID",CHANNEL_NAME (RESOLUTION) [LABEL] STREAM_URL ``` -| Attribute | Description | Required | Valid values | -| -------------- | ------------------------------------------------------------------------------------------ | -------- | -------------------------------------------------------------------------------------------------------------------------- | -| `CHANNEL_ID` | Channel ID. | Optional | Full list of supported channels with corresponding ID could be found on [iptv-org.github.io](https://iptv-org.github.io/). | -| `CHANNEL_NAME` | Full name of the channel. May contain any characters except: `,`, `[`, `]`. | Required | - | -| `RESOLUTION` | Maximum stream resolution. | Optional | `2160p`, `1080p`, `720p`, `480p`, `360p` etc | -| `LABEL` | Specified in cases where the broadcast for some reason may not be available to some users. | Optional | `Geo-blocked` or `Not 24/7` | -| `STREAM_URL` | Stream URL. | Required | - | +| Attribute | Description | Required | Valid values | +| -------------- | -------------------------------------------------------------------------------------------------------------------------------------------- | -------- | -------------------------------------------- | +| `STREAM_ID` | ID of the stream. Full list of supported channels with corresponding ID could be found on [iptv-org.github.io](https://iptv-org.github.io/). | Optional | `` or `@` | +| `CHANNEL_NAME` | Full name of the channel. May contain any characters except: `,`, `[`, `]`. | Required | - | +| `RESOLUTION` | Maximum stream resolution. | Optional | `2160p`, `1080p`, `720p`, `480p`, `360p` etc | +| `LABEL` | Specified in cases where the broadcast for some reason may not be available to some users. | Optional | `Geo-blocked` or `Not 24/7` | +| `STREAM_URL` | Stream URL. | Required | - | Example: ```xml -#EXTINF:-1 tvg-id="ExampleTV.ua",Example TV (720p) [Not 24/7] +#EXTINF:-1 tvg-id="ExampleTV.ua@HD",Example TV (720p) [Not 24/7] https://example.com/playlist.m3u8 ``` From 778651f81a3d907a25492cf7f6d087b7491ffd7c Mon Sep 17 00:00:00 2001 From: Abu-Vovan-Al-Yahudi <202685450+Abu-Vovan-Al-Yahudi@users.noreply.github.com> Date: Sat, 29 Mar 2025 12:22:05 +0200 Subject: [PATCH 20/85] Update us.m3u --- streams/us.m3u | 4 ---- 1 file changed, 4 deletions(-) diff --git a/streams/us.m3u b/streams/us.m3u index 094a47d1a..cccafba76 100644 --- a/streams/us.m3u +++ b/streams/us.m3u @@ -331,8 +331,6 @@ http://41.205.93.154/FOXBUSINESS/index.m3u8 #EXTVLCOPT:http-referrer=https://www.newslive.com/ #EXTVLCOPT:http-user-agent=Mozilla/5.0 (iPhone; CPU iPhone OS 17_7 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.0 Mobile/15E148 Safari/604.1 https://stream.livenewsplay.com:9443/hls/foxnews/foxsd.m3u8 -#EXTINF:-1 tvg-id="FoxNewsChannel.us",Fox News Channel (720p) -https://v1.thetvapp.to/hls/FoxNewsChannel/index.m3u8 #EXTINF:-1 tvg-id="FoxNewsChannel.us" http-referrer="https://pkpakiplay.xyz/" http-user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 17_7 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.0 Mobile/15E148 Safari/604.1",Fox News Channel (720p) #EXTVLCOPT:http-referrer=https://pkpakiplay.xyz/ #EXTVLCOPT:http-user-agent=Mozilla/5.0 (iPhone; CPU iPhone OS 17_7 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.0 Mobile/15E148 Safari/604.1 @@ -539,8 +537,6 @@ https://cdn3.wowza.com/5/RGtVZkFxL3FOQkxX/LWU/ngrp:lwu.stream_all/playlist.m3u8 https://bozztv.com/gusa/gusa-mwg/index.m3u8 #EXTINF:-1 tvg-id="MajestadTV.us",Majestad Televisión (480p) [Not 24/7] https://livetv.305streamhd.com:3667/live/majestadtvlive.m3u8 -#EXTINF:-1 tvg-id="MarqueeSportsNetwork.us",Marquee Sports Network -https://v15.thetvapp.to/hls/marquee-sports-network/index.m3u8 #EXTINF:-1 tvg-id="",MAV Select CANADA https://d70mb4nkspm3g.cloudfront.net/v1/master/3722c60a815c199d9c0ef36c5b73da68a62b09d1/cc-vvwqo3j029lz0/playlist.m3u8 #EXTINF:-1 tvg-id="MAVTVSelect.us",MAV Select USA From 53ed5793f5c40d03cd824ca39f596ef34350aad4 Mon Sep 17 00:00:00 2001 From: Abu-Vovan-Al-Yahudi <202685450+Abu-Vovan-Al-Yahudi@users.noreply.github.com> Date: Sat, 29 Mar 2025 12:22:58 +0200 Subject: [PATCH 21/85] Create us_thetvapp.m3u --- streams/us_thetvapp.m3u | 99 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 99 insertions(+) create mode 100644 streams/us_thetvapp.m3u diff --git a/streams/us_thetvapp.m3u b/streams/us_thetvapp.m3u new file mode 100644 index 000000000..b31f5a18e --- /dev/null +++ b/streams/us_thetvapp.m3u @@ -0,0 +1,99 @@ +#EXTM3U +#EXTINF:-1 tvg-id="AEEast.us",A&E East +https://v1.thetvapp.to/hls/AEEast/index.m3u8 +#EXTINF:-1 tvg-id="CSPAN2.us",C-SPAN 2 +https://v1.thetvapp.to/hls/CSPAN2/index.m3u8 +#EXTINF:-1 tvg-id="CNBC.us",CNBC +https://v1.thetvapp.to/hls/CNBC/index.m3u8 +#EXTINF:-1 tvg-id="CrimePlusInvestigation.us",Crime + Investigation +https://v1.thetvapp.to/hls/CrimePlusInvestigation/index.m3u8 +#EXTINF:-1 tvg-id="DisneyChannelEast.us",Disney Channel East +https://v1.thetvapp.to/hls/DisneyChannelEast/index.m3u8 +#EXTINF:-1 tvg-id="DisneyJuniorEast.us",Disney Junior East +https://v1.thetvapp.to/hls/DisneyJuniorEast/index.m3u8 +#EXTINF:-1 tvg-id="DisneyXDEast.us",Disney XD East +https://v1.thetvapp.to/hls/DisneyXDEast/index.m3u8 +#EXTINF:-1 tvg-id="EEast.us",E! East +https://v1.thetvapp.to/hls/EEast/index.m3u8 +#EXTINF:-1 tvg-id="FoxBusinessNetwork.us",Fox Business Network +https://v1.thetvapp.to/hls/FoxBusiness/index.m3u8 +#EXTINF:-1 tvg-id="FoxNewsChannel.us",Fox News Channel +https://v1.thetvapp.to/hls/FoxNewsChannel/index.m3u8 +#EXTINF:-1 tvg-id="FoxSports2.us",Fox Sports 2 +https://v1.thetvapp.to/hls/FoxSports2/index.m3u8 +#EXTINF:-1 tvg-id="FuseEast.us",Fuse East +https://v1.thetvapp.to/hls/FuseEast/index.m3u8 +#EXTINF:-1 tvg-id="FXEast.us",FX East +https://v1.thetvapp.to/hls/FXEast/index.m3u8 +#EXTINF:-1 tvg-id="FXMovieChannel.us",FX Movie Channel +https://v1.thetvapp.to/hls/FXMovieChannel/index.m3u8 +#EXTINF:-1 tvg-id="FXXEast.us",FXX East +https://v1.thetvapp.to/hls/FXXEast/index.m3u8 +#EXTINF:-1 tvg-id="FYIEast.us",FYI East +https://v1.thetvapp.to/hls/FYIEast/index.m3u8 +#EXTINF:-1 tvg-id="GolfChannel.us",Golf Channel +https://v1.thetvapp.to/hls/GolfChannel/index.m3u8 +#EXTINF:-1 tvg-id="HallmarkDrama.us",Hallmark Drama +https://v1.thetvapp.to/hls/HallmarkDrama/index.m3u8 +#EXTINF:-1 tvg-id="HallmarkMoviesMysteriesEast.us",Hallmark Movies & Mysteries East +https://v1.thetvapp.to/hls/HallmarkMoviesMysteriesEast/index.m3u8 +#EXTINF:-1 tvg-id="IFCEast.us",IFC East +https://v1.thetvapp.to/hls/IFCEast/index.m3u8 +#EXTINF:-1 tvg-id="KABCDT1.us",KABC-DT1 +https://v1.thetvapp.to/hls/abc-kabc-los-angeles-ca/index.m3u8 +#EXTINF:-1 tvg-id="KCBSDT1.us",KCBS-DT1 +https://v1.thetvapp.to/hls/cbs-kcbs-los-angeles-ca/index.m3u8 +#EXTINF:-1 tvg-id="KFMBDT2.us",KFMB-DT2 +https://v1.thetvapp.to/hls/cw-kfmbtv2-san-diego-ca/index.m3u8 +#EXTINF:-1 tvg-id="KNBCDT1.us",KNBC-DT1 +https://v1.thetvapp.to/hls/nbc-knbc-los-angeles-ca/index.m3u8 +#EXTINF:-1 tvg-id="KTTVDT1.us",KTTV-DT1 +https://v1.thetvapp.to/hls/fox-kttv-los-angeles-ca/index.m3u8 +#EXTINF:-1 tvg-id="LifetimeMoviesEast.us",Lifetime Movies East +https://v1.thetvapp.to/hls/LifetimeMoviesEast/index.m3u8 +#EXTINF:-1 tvg-id="LogoEast.us",Logo East +https://v1.thetvapp.to/hls/LogoEast/index.m3u8 +#EXTINF:-1 tvg-id="MarqueeSportsNetwork.us",Marquee Sports Network +https://v1.thetvapp.to/hls/marquee-sports-network/index.m3u8 +#EXTINF:-1 tvg-id="MSG.us",MSG +https://v1.thetvapp.to/hls/msg-madison-square-gardens/index.m3u8 +#EXTINF:-1 tvg-id="MSNBC.us",MSNBC +https://v1.thetvapp.to/hls/MSNBC/index.m3u8 +#EXTINF:-1 tvg-id="NationalGeographicindex.m3u8East.us",National Geographic index.m3u8 East +https://v1.thetvapp.to/hls/NationalGeographicEast/index.m3u8 +#EXTINF:-1 tvg-id="NationalGeographicWildindex.m3u8East.us",National Geographic Wild index.m3u8 East +https://v1.thetvapp.to/hls/NationalGeographicWildEast/index.m3u8 +#EXTINF:-1 tvg-id="NBCSportsBayArea.us",NBC Sports Bay Area +https://v1.thetvapp.to/hls/nbc-sports-bay-area/index.m3u8 +#EXTINF:-1 tvg-id="NBCSportsBoston.us",NBC Sports Boston +https://v1.thetvapp.to/hls/nbc-sports-boston/index.m3u8 +#EXTINF:-1 tvg-id="NBCSportsPhiladelphia.us",NBC Sports Philadelphia +https://v1.thetvapp.to/hls/nbc-sports-philadelphia/index.m3u8 +#EXTINF:-1 tvg-id="NewsmaxTV.us",Newsmax TV +https://v1.thetvapp.to/hls/NewsmaxTV/index.m3u8 +#EXTINF:-1 tvg-id="NFLRedZone.us",NFL RedZone +https://v1.thetvapp.to/hls/NFLRedZone/index.m3u8 +#EXTINF:-1 tvg-id="StarzEast.us",Starz East +https://v1.thetvapp.to/hls/StarzEast/index.m3u8 +#EXTINF:-1 tvg-id="TSN1.ca",TSN1 +https://v1.thetvapp.to/hls/tsn1/index.m3u8 +#EXTINF:-1 tvg-id="TSN2.ca",TSN2 +https://v1.thetvapp.to/hls/tsn2/index.m3u8 +#EXTINF:-1 tvg-id="TSN3.ca",TSN3 +https://v1.thetvapp.to/hls/tsn3/index.m3u8 +#EXTINF:-1 tvg-id="TSN4.ca",TSN4 +https://v1.thetvapp.to/hls/tsn4/index.m3u8 +#EXTINF:-1 tvg-id="TSN5.ca",TSN5 +https://v1.thetvapp.to/hls/tsn5/index.m3u8 +#EXTINF:-1 tvg-id="USANetworkEast.us",USA Network East +https://v1.thetvapp.to/hls/USANetworkEast/index.m3u8 +#EXTINF:-1 tvg-id="WABCDT1.us",WABC-DT1 +https://v1.thetvapp.to/hls/WABCDT1/index.m3u8 +#EXTINF:-1 tvg-id="WNBCDT1.us",WNBC-DT1 +https://v1.thetvapp.to/hls/WNBCDT1/index.m3u8 +#EXTINF:-1 tvg-id="WNETDT1.us",WNET-DT1 +https://v1.thetvapp.to/hls/WNET/index.m3u8 +#EXTINF:-1 tvg-id="WNJUDT1.us",WNJU-DT1 +https://v1.thetvapp.to/hls/TelemundoEast/index.m3u8 +#EXTINF:-1 tvg-id="WNYWDT1.us",WNYW-DT1 +https://v1.thetvapp.to/hls/WNYWDT1/index.m3u8 From 1cd35e38629ff4446753b8fa3a3a387f27717b2e Mon Sep 17 00:00:00 2001 From: Abu-Vovan-Al-Yahudi <202685450+Abu-Vovan-Al-Yahudi@users.noreply.github.com> Date: Sat, 29 Mar 2025 15:59:49 +0200 Subject: [PATCH 22/85] Update us_thetvapp.m3u --- streams/us_thetvapp.m3u | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/streams/us_thetvapp.m3u b/streams/us_thetvapp.m3u index b31f5a18e..bd4a14116 100644 --- a/streams/us_thetvapp.m3u +++ b/streams/us_thetvapp.m3u @@ -1,6 +1,8 @@ #EXTM3U #EXTINF:-1 tvg-id="AEEast.us",A&E East https://v1.thetvapp.to/hls/AEEast/index.m3u8 +#EXTINF:-1 tvg-id="CSPAN.us",C-SPAN +https://v1.thetvapp.to/hls/CSPAN/index.m3u8 #EXTINF:-1 tvg-id="CSPAN2.us",C-SPAN 2 https://v1.thetvapp.to/hls/CSPAN2/index.m3u8 #EXTINF:-1 tvg-id="CNBC.us",CNBC @@ -63,6 +65,8 @@ https://v1.thetvapp.to/hls/MSNBC/index.m3u8 https://v1.thetvapp.to/hls/NationalGeographicEast/index.m3u8 #EXTINF:-1 tvg-id="NationalGeographicWildindex.m3u8East.us",National Geographic Wild index.m3u8 East https://v1.thetvapp.to/hls/NationalGeographicWildEast/index.m3u8 +#EXTINF:-1 tvg-id="NBATV.us",NBA TV +https://v1.thetvapp.to/hls/NBATV/index.m3u8 #EXTINF:-1 tvg-id="NBCSportsBayArea.us",NBC Sports Bay Area https://v1.thetvapp.to/hls/nbc-sports-bay-area/index.m3u8 #EXTINF:-1 tvg-id="NBCSportsBoston.us",NBC Sports Boston From e0b0de6b2b6f5a549b3f5a098986faea070fc818 Mon Sep 17 00:00:00 2001 From: freearhey <7253922+freearhey@users.noreply.github.com> Date: Sun, 30 Mar 2025 02:59:19 +0300 Subject: [PATCH 23/85] Update tests/__data__ --- .../playlist_generate/logs/generators.log | 26 +++++++++---------- tests/__data__/input/data/channels.json | 11 ++++++++ tests/__data__/input/data/feeds.json | 14 ++++++++++ tests/__data__/input/playlist_generate/ad.m3u | 4 +++ .../input/playlist_generate/unsorted.m3u | 2 ++ 5 files changed, 44 insertions(+), 13 deletions(-) diff --git a/tests/__data__/expected/playlist_generate/logs/generators.log b/tests/__data__/expected/playlist_generate/logs/generators.log index fddee804f..676f9a3a4 100644 --- a/tests/__data__/expected/playlist_generate/logs/generators.log +++ b/tests/__data__/expected/playlist_generate/logs/generators.log @@ -26,21 +26,21 @@ {"type":"category","filepath":"categories/travel.m3u","count":0} {"type":"category","filepath":"categories/weather.m3u","count":1} {"type":"category","filepath":"categories/xxx.m3u","count":1} -{"type":"category","filepath":"categories/undefined.m3u","count":4} -{"type":"country","filepath":"countries/ad.m3u","count":2} +{"type":"category","filepath":"categories/undefined.m3u","count":6} +{"type":"country","filepath":"countries/ad.m3u","count":1} {"type":"country","filepath":"countries/ca.m3u","count":1} {"type":"subdivision","filepath":"subdivisions/ca-on.m3u","count":1} {"type":"country","filepath":"countries/ru.m3u","count":1} -{"type":"country","filepath":"countries/undefined.m3u","count":2} -{"type":"index","filepath":"index.category.m3u","count":8} -{"type":"index","filepath":"index.country.m3u","count":7} -{"type":"index","filepath":"index.language.m3u","count":7} -{"type":"index","filepath":"index.m3u","count":7} -{"type":"index","filepath":"index.region.m3u","count":18} +{"type":"country","filepath":"countries/undefined.m3u","count":4} +{"type":"index","filepath":"index.category.m3u","count":10} +{"type":"index","filepath":"index.country.m3u","count":9} +{"type":"index","filepath":"index.language.m3u","count":9} +{"type":"index","filepath":"index.m3u","count":9} +{"type":"index","filepath":"index.region.m3u","count":13} {"type":"language","filepath":"languages/eng.m3u","count":1} {"type":"language","filepath":"languages/rus.m3u","count":1} {"type":"language","filepath":"languages/cat.m3u","count":1} -{"type":"language","filepath":"languages/undefined.m3u","count":4} +{"type":"language","filepath":"languages/undefined.m3u","count":6} {"type":"region","filepath":"regions/afr.m3u","count":0} {"type":"region","filepath":"regions/amer.m3u","count":1} {"type":"region","filepath":"regions/apac.m3u","count":0} @@ -51,8 +51,8 @@ {"type":"region","filepath":"regions/cas.m3u","count":0} {"type":"region","filepath":"regions/cenamer.m3u","count":0} {"type":"region","filepath":"regions/cis.m3u","count":1} -{"type":"region","filepath":"regions/emea.m3u","count":3} -{"type":"region","filepath":"regions/eur.m3u","count":3} +{"type":"region","filepath":"regions/emea.m3u","count":2} +{"type":"region","filepath":"regions/eur.m3u","count":2} {"type":"region","filepath":"regions/hispam.m3u","count":0} {"type":"region","filepath":"regions/lac.m3u","count":0} {"type":"region","filepath":"regions/latam.m3u","count":0} @@ -67,5 +67,5 @@ {"type":"region","filepath":"regions/southam.m3u","count":0} {"type":"region","filepath":"regions/ssa.m3u","count":0} {"type":"region","filepath":"regions/wafr.m3u","count":0} -{"type":"region","filepath":"regions/int.m3u","count":1} -{"type":"region","filepath":"regions/undefined.m3u","count":2} +{"type":"region","filepath":"regions/int.m3u","count":2} +{"type":"region","filepath":"regions/undefined.m3u","count":4} diff --git a/tests/__data__/input/data/channels.json b/tests/__data__/input/data/channels.json index 22cd9d0a0..6adfaa377 100644 --- a/tests/__data__/input/data/channels.json +++ b/tests/__data__/input/data/channels.json @@ -630,5 +630,16 @@ "categories": [], "is_nsfw": false, "logo": null + }, + { + "id": "DunaWorld.hu", + "name": "Duna World", + "network": null, + "country": "HU", + "subdivision": null, + "city": null, + "categories": ["General"], + "is_nsfw": false, + "logo": "https://i.imgur.com/uOBQJZS.png" } ] \ No newline at end of file diff --git a/tests/__data__/input/data/feeds.json b/tests/__data__/input/data/feeds.json index a0a7e22b2..3ac036acd 100644 --- a/tests/__data__/input/data/feeds.json +++ b/tests/__data__/input/data/feeds.json @@ -798,5 +798,19 @@ "America/Port_of_Spain" ], "video_format": "576i" + }, + { + "channel": "DunaWorld.hu", + "id": "SD", + "name": "SD", + "is_main": true, + "broadcast_area": [ + "r/INT" + ], + "languages": [], + "timezones": [ + "Europe/London" + ], + "video_format": "576i" } ] \ No newline at end of file diff --git a/tests/__data__/input/playlist_generate/ad.m3u b/tests/__data__/input/playlist_generate/ad.m3u index 7557713a7..9a1c9e175 100644 --- a/tests/__data__/input/playlist_generate/ad.m3u +++ b/tests/__data__/input/playlist_generate/ad.m3u @@ -3,3 +3,7 @@ https://iptv-all.lanesh4d0w.repl.co/andorra/zoo #EXTINF:-1 tvg-id="AndorraTV.ad@SD",ATV https://iptv-all.lanesh4d0w.repl.co/andorra/atv +#EXTINF:-1 tvg-id="AndorraTV.ad@HD",ATV HD +https://iptv-all.lanesh4d0w.repl.co/andorra/atv_hd +#EXTINF:-1 tvg-id="AndorraTV.ad",ATV +https://iptv-all.lanesh4d0w.repl.co/andorra/atv2 diff --git a/tests/__data__/input/playlist_generate/unsorted.m3u b/tests/__data__/input/playlist_generate/unsorted.m3u index 1a9c40b9f..b2b798b15 100644 --- a/tests/__data__/input/playlist_generate/unsorted.m3u +++ b/tests/__data__/input/playlist_generate/unsorted.m3u @@ -7,3 +7,5 @@ https://stream.visit-x.tv/vxtv/ngrp:live_all/30fps.m3u8 #EXTVLCOPT:http-referrer=http://imn.iq #EXTVLCOPT:http-user-agent=Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 http://1111296894.rsc.cdn77.org/LS-ATL-54548-6/index2.m3u8 +#EXTINF:-1 tvg-id="DunaWorld.hu",Duna World (576i) +http://146.59.85.40:89/dunaworld/index.m3u8 From f32a3f9e77bd0217f65499811cab8156dcaad760 Mon Sep 17 00:00:00 2001 From: freearhey <7253922+freearhey@users.noreply.github.com> Date: Sun, 30 Mar 2025 03:01:05 +0300 Subject: [PATCH 24/85] Update scripts --- scripts/commands/playlist/format.ts | 2 +- scripts/commands/playlist/generate.ts | 8 +-- scripts/generators/indexRegionGenerator.ts | 2 +- scripts/models/feed.ts | 12 ++--- scripts/models/stream.ts | 63 ++++++++++++++++++---- 5 files changed, 64 insertions(+), 23 deletions(-) diff --git a/scripts/commands/playlist/format.ts b/scripts/commands/playlist/format.ts index 8dc5dedac..6ac14cb62 100644 --- a/scripts/commands/playlist/format.ts +++ b/scripts/commands/playlist/format.ts @@ -57,7 +57,7 @@ async function main() { streams = streams.orderBy( [ (stream: Stream) => stream.name, - (stream: Stream) => stream.getHorizontalResolution(), + (stream: Stream) => stream.getVerticalResolution(), (stream: Stream) => stream.getLabel(), (stream: Stream) => stream.url ], diff --git a/scripts/commands/playlist/generate.ts b/scripts/commands/playlist/generate.ts index 46f2a2665..7acbbba4b 100644 --- a/scripts/commands/playlist/generate.ts +++ b/scripts/commands/playlist/generate.ts @@ -89,7 +89,7 @@ async function main() { regionsGroupedByCode, subdivisionsGroupedByCode ) - .withBroadcastRegions(regions, regionsGroupedByCode) + .withBroadcastRegions(regions) .withBroadcastSubdivisions(subdivisionsGroupedByCode) ) const feedsGroupedByChannelId = feeds.groupBy((feed: Feed) => @@ -106,14 +106,16 @@ async function main() { const files = await storage.list('**/*.m3u') let streams = await parser.parse(files) const totalStreams = streams.count() - streams = streams.uniqBy((stream: Stream) => stream.getId() || uniqueId()) + streams = streams.uniqBy((stream: Stream) => + stream.hasId() ? stream.getChannelId() + stream.getFeedId() : uniqueId() + ) logger.info(`found ${totalStreams} streams (including ${streams.count()} unique)`) logger.info('sorting streams...') streams = streams.orderBy( [ (stream: Stream) => stream.getId(), - (stream: Stream) => stream.getHorizontalResolution(), + (stream: Stream) => stream.getVerticalResolution(), (stream: Stream) => stream.getLabel() ], ['asc', 'asc', 'desc'] diff --git a/scripts/generators/indexRegionGenerator.ts b/scripts/generators/indexRegionGenerator.ts index c67d29bd5..1e31d4416 100644 --- a/scripts/generators/indexRegionGenerator.ts +++ b/scripts/generators/indexRegionGenerator.ts @@ -26,7 +26,7 @@ export class IndexRegionGenerator implements Generator { let groupedStreams = new Collection() this.streams .orderBy((stream: Stream) => stream.getTitle()) - .filter((stream: Stream) => stream.isSFW()) + .filter((stream: Stream) => stream.isSFW() && !stream.isInternational()) .forEach((stream: Stream) => { if (!stream.hasBroadcastArea()) { const streamClone = stream.clone() diff --git a/scripts/models/feed.ts b/scripts/models/feed.ts index db4be5011..67d37a254 100644 --- a/scripts/models/feed.ts +++ b/scripts/models/feed.ts @@ -122,17 +122,15 @@ export class Feed { return this } - withBroadcastRegions(regions: Collection, regionsGroupedByCode: Dictionary): this { + withBroadcastRegions(regions: Collection): this { if (!this.broadcastCountries) return this const countriesCodes = this.broadcastCountries.map((country: Country) => country.code) - const broadcastRegions = regions.filter((region: Region) => - region.countryCodes.intersects(countriesCodes) - ) + this.broadcastRegions = regions.filter((region: Region) => { + if (region.code === 'INT') return false - if (this.isInternational()) broadcastRegions.add(regionsGroupedByCode.get('INT')) - - this.broadcastRegions = broadcastRegions + return region.countryCodes.intersects(countriesCodes) + }) return this } diff --git a/scripts/models/stream.ts b/scripts/models/stream.ts index aabee817f..383790900 100644 --- a/scripts/models/stream.ts +++ b/scripts/models/stream.ts @@ -14,7 +14,8 @@ export class Stream { filepath?: string line: number label?: string - quality?: string + verticalResolution?: number + isInterlaced?: boolean httpReferrer?: string httpUserAgent?: string removed: boolean = false @@ -25,6 +26,7 @@ export class Stream { const [channelId, feedId] = data.tvg.id.split('@') const { name, label, quality } = parseTitle(data.name) + const { verticalResolution, isInterlaced } = parseQuality(quality) this.id = data.tvg.id || undefined this.feedId = feedId || undefined @@ -32,7 +34,8 @@ export class Stream { this.line = data.line this.label = label || undefined this.name = name - this.quality = quality || undefined + this.verticalResolution = verticalResolution || undefined + this.isInterlaced = isInterlaced || undefined this.url = data.url this.httpReferrer = data.http.referrer || undefined this.httpUserAgent = data.http['user-agent'] || undefined @@ -52,7 +55,7 @@ export class Stream { const channelFeeds = feedsGroupedByChannelId.get(this.channelId) || [] if (this.feedId) this.feed = channelFeeds.find((feed: Feed) => feed.id === this.feedId) - if (!this.feed) this.feed = channelFeeds.find((feed: Feed) => feed.isMain) + if (!this.feedId && !this.feed) this.feed = channelFeeds.find((feed: Feed) => feed.isMain) return this } @@ -82,7 +85,10 @@ export class Stream { } setQuality(quality: string): this { - this.quality = quality + const { verticalResolution, isInterlaced } = parseQuality(quality) + + this.verticalResolution = verticalResolution || undefined + this.isInterlaced = isInterlaced || undefined return this } @@ -113,6 +119,16 @@ export class Stream { return this } + getChannelId(): string { + return this.channelId || '' + } + + getFeedId(): string { + if (this.feedId) return this.feedId + if (this.feed) return this.feed.id + return '' + } + getFilepath(): string { return this.filepath || '' } @@ -126,14 +142,25 @@ export class Stream { } getQuality(): string { - return this.quality || '' + if (!this.verticalResolution) return '' + + let quality = this.verticalResolution.toString() + + if (this.isInterlaced) quality += 'i' + else quality += 'p' + + return quality + } + + hasId(): boolean { + return !!this.id } hasQuality(): boolean { - return !!this.quality + return !!this.verticalResolution } - getHorizontalResolution(): number { + getVerticalResolution(): number { if (!this.hasQuality()) return 0 return parseInt(this.getQuality().replace(/p|i/, '')) @@ -257,8 +284,8 @@ export class Stream { getTitle(): string { let title = `${this.name}` - if (this.quality) { - title += ` (${this.quality})` + if (this.getQuality()) { + title += ` (${this.getQuality()})` } if (this.label) { @@ -284,7 +311,8 @@ export class Stream { filepath: this.filepath, label: this.label, name: this.name, - quality: this.quality, + verticalResolution: this.verticalResolution, + isInterlaced: this.isInterlaced, url: this.url, httpReferrer: this.httpReferrer, httpUserAgent: this.httpUserAgent, @@ -333,7 +361,11 @@ export class Stream { } } -function parseTitle(title: string): { name: string; label: string; quality: string } { +function parseTitle(title: string): { + name: string + label: string + quality: string +} { const [, label] = title.match(/ \[(.*)\]$/) || [null, ''] title = title.replace(new RegExp(` \\[${escapeRegExp(label)}\\]$`), '') const [, quality] = title.match(/ \(([0-9]+p)\)$/) || [null, ''] @@ -345,3 +377,12 @@ function parseTitle(title: string): { name: string; label: string; quality: stri function escapeRegExp(text) { return text.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, '\\$&') } + +function parseQuality(quality: string): { verticalResolution: number; isInterlaced: boolean } { + let [, verticalResolutionString] = quality.match(/^(\d+)/) || [null, undefined] + const isInterlaced = /i$/i.test(quality) + let verticalResolution = 0 + if (verticalResolutionString) verticalResolution = parseInt(verticalResolutionString) + + return { verticalResolution, isInterlaced } +} From 931dd6fba3f060a4260551061d462689a6e26b39 Mon Sep 17 00:00:00 2001 From: "iptv-bot[bot]" <84861620+iptv-bot[bot]@users.noreply.github.com> Date: Sun, 30 Mar 2025 00:12:02 +0000 Subject: [PATCH 25/85] [Bot] Update /streams Committed by [iptv-bot](https://github.com/apps/iptv-bot) via [update](https://github.com/iptv-org/iptv/actions/runs/14150682419) workflow. closes #20935, closes #20934, closes #20933, closes #20932, closes #20931, closes #20930, closes #20929, closes #20928, closes #20927, closes #20924 --- streams/eg.m3u | 2 ++ streams/kh.m3u | 2 ++ streams/sa.m3u | 16 ++++++++++++++++ 3 files changed, 20 insertions(+) diff --git a/streams/eg.m3u b/streams/eg.m3u index 73e60415e..afcd1080b 100644 --- a/streams/eg.m3u +++ b/streams/eg.m3u @@ -51,3 +51,5 @@ https://weyyak-live.akamaized.net/weyyak_ten_tv/index.m3u8 https://bcovlive-a.akamaihd.net/0e524e1838ed411dad0a674d18e07914/eu-central-1/6415808954001/playlist_dvr.m3u8 #EXTINF:-1 tvg-id="WatanTV.eg",Watan TV (1080p) https://rp.tactivemedia.com/watantv_source/live/playlist.m3u8 +#EXTINF:-1 tvg-id="RotanaCinemaEgypt.eg",Rotana Cinema Egypt (1080p) +https://rotana.hibridcdn.net/rotana/cinemamasr_net-7Y83PP5adWixDF93/playlist.m3u8 diff --git a/streams/kh.m3u b/streams/kh.m3u index 904633e8d..54fc6cb1c 100644 --- a/streams/kh.m3u +++ b/streams/kh.m3u @@ -56,3 +56,5 @@ https://live.kh.malimarcdn.com/live/tvk.stream/playlist.m3u8 https://live.kh.malimarcdn.com/live/tvk2.stream/playlist.m3u8 #EXTINF:-1 tvg-id="WikiTV.kh",WIKI TV (720p) https://stream.wikitv.asia/live/ngrp:myStream_all/playlist.m3u8 +#EXTINF:-1 tvg-id="MyTV.kh",My TV +http://43.252.18.195:5080/live/streams/mytv.m3u8 diff --git a/streams/sa.m3u b/streams/sa.m3u index 1c4209529..8677b05cb 100644 --- a/streams/sa.m3u +++ b/streams/sa.m3u @@ -127,3 +127,19 @@ https://shls-live-enc.edgenextcdn.net/out/v1/90143f040feb40589d18c57863d9e829/in https://shls-live-mood-ak.akamaized.net/out/v1/90143f040feb40589d18c57863d9e829/index.m3u8 #EXTINF:-1 tvg-id="ThikrayatTV.sa",Thikrayat TV (1080p) https://al-ekhbaria-prod-dub.shahid.net/out/v1/ef87956651694f4ba2ccc16e852dbb95/index.m3u8 +#EXTINF:-1 tvg-id="AlResalah.sa",Al Resalah (1080p) +https://rotana.hibridcdn.net/rotana/risala_net-7Y83PP5adWixDF93/playlist.m3u8 +#EXTINF:-1 tvg-id="RotanaClip.sa",Rotana Clip (1080p) +https://rotana.hibridcdn.net/rotana/clip_net-7Y83PP5adWixDF93/playlist.m3u8 +#EXTINF:-1 tvg-id="RotanaClassic.sa",Rotana Classic (1080p) +https://rotana.hibridcdn.net/rotana/classical_net-7Y83PP5adWixDF93/playlist.m3u8 +#EXTINF:-1 tvg-id="RotanaComedy.sa",Rotana Comedy (1080p) +https://rotana.hibridcdn.net/rotana/comedy_net-7Y83PP5adWixDF93/playlist.m3u8 +#EXTINF:-1 tvg-id="RotanaDrama.sa",Rotana Drama (1080p) +https://rotana.hibridcdn.net/rotana/drama_net-7Y83PP5adWixDF93/playlist.m3u8 +#EXTINF:-1 tvg-id="RotanaKhalijia.sa",Rotana Khalijia (1080p) +https://rotana.hibridcdn.net/rotana/khaleejiya_net-7Y83PP5adWixDF93/playlist.m3u8 +#EXTINF:-1 tvg-id="LBC.sa",LBC (1080p) +https://rotana.hibridcdn.net/rotana/lbc_net-7Y83PP5adWixDF93/playlist.m3u8 +#EXTINF:-1 tvg-id="RotanaCinemaKSA.sa",Rotana Cinema KSA (1080p) +https://rotana.hibridcdn.net/rotana/cinema_net-7Y83PP5adWixDF93/playlist.m3u8 From 50aa8a36339df936def6b0f3ea057290c60d5d38 Mon Sep 17 00:00:00 2001 From: "iptv-bot[bot]" <84861620+iptv-bot[bot]@users.noreply.github.com> Date: Sun, 30 Mar 2025 00:12:02 +0000 Subject: [PATCH 26/85] [Bot] Update README.md Committed by [iptv-bot](https://github.com/apps/iptv-bot) via [update](https://github.com/iptv-org/iptv/actions/runs/14150682419) workflow. --- README.md | 42 +++++++++++++++++++++--------------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/README.md b/README.md index fe725bbe3..ab2af8dbe 100644 --- a/README.md +++ b/README.md @@ -58,31 +58,31 @@ Same thing, but split up into separate files: Auto15https://iptv-org.github.io/iptv/categories/auto.m3u Business69https://iptv-org.github.io/iptv/categories/business.m3u Classic46https://iptv-org.github.io/iptv/categories/classic.m3u - Comedy74https://iptv-org.github.io/iptv/categories/comedy.m3u + Comedy75https://iptv-org.github.io/iptv/categories/comedy.m3u Cooking28https://iptv-org.github.io/iptv/categories/cooking.m3u Culture169https://iptv-org.github.io/iptv/categories/culture.m3u Documentary112https://iptv-org.github.io/iptv/categories/documentary.m3u Education160https://iptv-org.github.io/iptv/categories/education.m3u Entertainment584https://iptv-org.github.io/iptv/categories/entertainment.m3u Family48https://iptv-org.github.io/iptv/categories/family.m3u - General2373https://iptv-org.github.io/iptv/categories/general.m3u + General2374https://iptv-org.github.io/iptv/categories/general.m3u Kids230https://iptv-org.github.io/iptv/categories/kids.m3u Legislative191https://iptv-org.github.io/iptv/categories/legislative.m3u Lifestyle91https://iptv-org.github.io/iptv/categories/lifestyle.m3u - Movies300https://iptv-org.github.io/iptv/categories/movies.m3u - Music669https://iptv-org.github.io/iptv/categories/music.m3u + Movies301https://iptv-org.github.io/iptv/categories/movies.m3u + Music670https://iptv-org.github.io/iptv/categories/music.m3u News775https://iptv-org.github.io/iptv/categories/news.m3u Outdoor42https://iptv-org.github.io/iptv/categories/outdoor.m3u Relax4https://iptv-org.github.io/iptv/categories/relax.m3u - Religious709https://iptv-org.github.io/iptv/categories/religious.m3u + Religious710https://iptv-org.github.io/iptv/categories/religious.m3u Science22https://iptv-org.github.io/iptv/categories/science.m3u - Series207https://iptv-org.github.io/iptv/categories/series.m3u + Series208https://iptv-org.github.io/iptv/categories/series.m3u Shop87https://iptv-org.github.io/iptv/categories/shop.m3u Sports285https://iptv-org.github.io/iptv/categories/sports.m3u Travel43https://iptv-org.github.io/iptv/categories/travel.m3u Weather13https://iptv-org.github.io/iptv/categories/weather.m3u XXX0https://iptv-org.github.io/iptv/categories/xxx.m3u - Undefined4318https://iptv-org.github.io/iptv/categories/undefined.m3u + Undefined4320https://iptv-org.github.io/iptv/categories/undefined.m3u @@ -115,7 +115,7 @@ Same thing, but split up into separate files: Albanian37https://iptv-org.github.io/iptv/languages/sqi.m3u Alur1https://iptv-org.github.io/iptv/languages/alz.m3u Amharic8https://iptv-org.github.io/iptv/languages/amh.m3u - Arabic386https://iptv-org.github.io/iptv/languages/ara.m3u + Arabic393https://iptv-org.github.io/iptv/languages/ara.m3u Armenian25https://iptv-org.github.io/iptv/languages/hye.m3u Assamese7https://iptv-org.github.io/iptv/languages/asm.m3u Assyrian Neo-Aramaic1https://iptv-org.github.io/iptv/languages/aii.m3u @@ -287,7 +287,7 @@ Same thing, but split up into separate files: Yucatec Maya1https://iptv-org.github.io/iptv/languages/yua.m3u Yue Chinese7https://iptv-org.github.io/iptv/languages/yue.m3u Zarma1https://iptv-org.github.io/iptv/languages/dje.m3u - Undefined2434https://iptv-org.github.io/iptv/languages/undefined.m3u + Undefined2435https://iptv-org.github.io/iptv/languages/undefined.m3u @@ -471,7 +471,7 @@ Same thing, but split up into separate files:       Azuay1https://iptv-org.github.io/iptv/subdivisions/ec-a.m3u       Loja2https://iptv-org.github.io/iptv/subdivisions/ec-l.m3u       Orellana1https://iptv-org.github.io/iptv/subdivisions/ec-d.m3u - 🇪🇬 Egypt96https://iptv-org.github.io/iptv/countries/eg.m3u + 🇪🇬 Egypt97https://iptv-org.github.io/iptv/countries/eg.m3u 🇸🇻 El Salvador108https://iptv-org.github.io/iptv/countries/sv.m3u 🇬🇶 Equatorial Guinea28https://iptv-org.github.io/iptv/countries/gq.m3u 🇪🇷 Eritrea24https://iptv-org.github.io/iptv/countries/er.m3u @@ -687,7 +687,7 @@ Same thing, but split up into separate files: 🇼🇸 Samoa11https://iptv-org.github.io/iptv/countries/ws.m3u 🇸🇲 San Marino53https://iptv-org.github.io/iptv/countries/sm.m3u 🇸🇹 Sao Tome and Principe25https://iptv-org.github.io/iptv/countries/st.m3u - 🇸🇦 Saudi Arabia88https://iptv-org.github.io/iptv/countries/sa.m3u + 🇸🇦 Saudi Arabia94https://iptv-org.github.io/iptv/countries/sa.m3u 🇸🇳 Senegal56https://iptv-org.github.io/iptv/countries/sn.m3u 🇷🇸 Serbia92https://iptv-org.github.io/iptv/countries/rs.m3u 🇸🇨 Seychelles24https://iptv-org.github.io/iptv/countries/sc.m3u @@ -749,7 +749,7 @@ Same thing, but split up into separate files: 🇹🇴 Tonga9https://iptv-org.github.io/iptv/countries/to.m3u 🇹🇹 Trinidad and Tobago20https://iptv-org.github.io/iptv/countries/tt.m3u 🇹🇳 Tunisia71https://iptv-org.github.io/iptv/countries/tn.m3u - 🇹🇷 Turkey311https://iptv-org.github.io/iptv/countries/tr.m3u + 🇹🇷 Turkey312https://iptv-org.github.io/iptv/countries/tr.m3u 🇹🇲 Turkmenistan17https://iptv-org.github.io/iptv/countries/tm.m3u 🇹🇨 Turks and Caicos Islands14https://iptv-org.github.io/iptv/countries/tc.m3u 🇹🇻 Tuvalu9https://iptv-org.github.io/iptv/countries/tv.m3u @@ -846,28 +846,28 @@ Same thing, but split up into separate files: RegionChannelsPlaylist - Africa519https://iptv-org.github.io/iptv/regions/afr.m3u + Africa520https://iptv-org.github.io/iptv/regions/afr.m3u Americas4514https://iptv-org.github.io/iptv/regions/amer.m3u - Arab world381https://iptv-org.github.io/iptv/regions/arab.m3u - Asia2706https://iptv-org.github.io/iptv/regions/asia.m3u + Arab world388https://iptv-org.github.io/iptv/regions/arab.m3u + Asia2713https://iptv-org.github.io/iptv/regions/asia.m3u Asia-Pacific1725https://iptv-org.github.io/iptv/regions/apac.m3u Association of Southeast Asian Nations341https://iptv-org.github.io/iptv/regions/asean.m3u - Balkan660https://iptv-org.github.io/iptv/regions/balkan.m3u + Balkan661https://iptv-org.github.io/iptv/regions/balkan.m3u Benelux220https://iptv-org.github.io/iptv/regions/benelux.m3u Caribbean372https://iptv-org.github.io/iptv/regions/carib.m3u Central America316https://iptv-org.github.io/iptv/regions/cenamer.m3u Central and Eastern Europe1064https://iptv-org.github.io/iptv/regions/cee.m3u Central Asia78https://iptv-org.github.io/iptv/regions/cas.m3u Commonwealth of Independent States400https://iptv-org.github.io/iptv/regions/cis.m3u - Europe4088https://iptv-org.github.io/iptv/regions/eur.m3u - Europe, the Middle East and Africa4970https://iptv-org.github.io/iptv/regions/emea.m3u + Europe4089https://iptv-org.github.io/iptv/regions/eur.m3u + Europe, the Middle East and Africa4978https://iptv-org.github.io/iptv/regions/emea.m3u European Union2828https://iptv-org.github.io/iptv/regions/eu.m3u Hispanic America1759https://iptv-org.github.io/iptv/regions/hispam.m3u Latin America2052https://iptv-org.github.io/iptv/regions/latam.m3u Latin America and the Caribbean2086https://iptv-org.github.io/iptv/regions/lac.m3u Maghreb51https://iptv-org.github.io/iptv/regions/maghreb.m3u - Middle East736https://iptv-org.github.io/iptv/regions/mideast.m3u - Middle East and North Africa772https://iptv-org.github.io/iptv/regions/mena.m3u + Middle East744https://iptv-org.github.io/iptv/regions/mideast.m3u + Middle East and North Africa780https://iptv-org.github.io/iptv/regions/mena.m3u Nordics92https://iptv-org.github.io/iptv/regions/nord.m3u North America3303https://iptv-org.github.io/iptv/regions/noram.m3u Northern America2438https://iptv-org.github.io/iptv/regions/nam.m3u @@ -876,7 +876,7 @@ Same thing, but split up into separate files: South America1229https://iptv-org.github.io/iptv/regions/southam.m3u South Asia417https://iptv-org.github.io/iptv/regions/sas.m3u Southeast Asia348https://iptv-org.github.io/iptv/regions/sea.m3u - Southern Europe1169https://iptv-org.github.io/iptv/regions/ser.m3u + Southern Europe1170https://iptv-org.github.io/iptv/regions/ser.m3u Sub-Saharan Africa442https://iptv-org.github.io/iptv/regions/ssa.m3u West Africa198https://iptv-org.github.io/iptv/regions/wafr.m3u Western Europe1708https://iptv-org.github.io/iptv/regions/wer.m3u From 18e14607c5b802709bde1fb492e9f142f38f952d Mon Sep 17 00:00:00 2001 From: Alstruit <34786806+Alstruit@users.noreply.github.com> Date: Sun, 30 Mar 2025 09:46:27 -0500 Subject: [PATCH 27/85] Update us_moveonjoy.m3u --- streams/us_moveonjoy.m3u | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/streams/us_moveonjoy.m3u b/streams/us_moveonjoy.m3u index 49eca274e..4ffcdaf4d 100644 --- a/streams/us_moveonjoy.m3u +++ b/streams/us_moveonjoy.m3u @@ -1,6 +1,8 @@ #EXTM3U #EXTINF:-1 tvg-id="WOLODT1.us",ABC 25 Columbia http://fl1.moveonjoy.com/ABC_EAST/index.m3u8 +#EXTINF:-1 tvg-id="ACCNetwork.us",ACCN (720p) +http://fl2.moveonjoy.com/ACC_NETWORK/index.m3u8 #EXTINF:-1 tvg-id="AMCEast.us",AMC East (1080p) http://fl5.moveonjoy.com/AMC_NETWORK/index.m3u8 #EXTINF:-1 tvg-id="Aspire.us",Aspire @@ -9,6 +11,8 @@ http://fl3.moveonjoy.com/Aspire/index.m3u8 http://fl2.moveonjoy.com/BBC_AMERICA/index.m3u8 #EXTINF:-1 tvg-id="BBCNewsNorthAmerica.uk",BBC News North America http://fl2.moveonjoy.com/BBC_WORLD_NEWS/index.m3u8 +#EXTINF:-1 tvg-id="beINSportsUSA.us",beIN Sports (720p) +http://fl2.moveonjoy.com/BEIN_SPORTS/index.m3u8 #EXTINF:-1 tvg-id="BETEast.us",BET East http://fl2.moveonjoy.com/BET_EAST/index.m3u8 #EXTINF:-1 tvg-id="BETGospel.us",BET Gospel @@ -63,8 +67,14 @@ http://fl2.moveonjoy.com/CRAVE_4/index.m3u8 http://fl3.moveonjoy.com/Curiosity_Stream/index.m3u8 #EXTINF:-1 tvg-id="DisneyJuniorEast.us",Disney Junior East http://fl2.moveonjoy.com/DISNEY_JR/index.m3u8 +#EXTINF:-1 tvg-id="DisneyXDWest.us",Disney XD West (720p) +http://fl2.moveonjoy.com/DISNEY_XD/index.m3u8 #EXTINF:-1 tvg-id="EEast.us",E! East http://fl2.moveonjoy.com/E_ENTERTAINMENT_TELEVISION/index.m3u8 +#EXTINF:-1 tvg-id="ESPNU.us",ESPN U (720p) +http://fl2.moveonjoy.com/ESPN_U/index.m3u8 +#EXTINF:-1 tvg-id="ESPNews.us",ESPNews (720p) +http://fl2.moveonjoy.com/ESPN_NEWS/index.m3u8 #EXTINF:-1 tvg-id="FoxBusinessNetwork.us",Fox Business Network (720p) http://fl2.moveonjoy.com/FOX_Business_Network/index.m3u8 #EXTINF:-1 tvg-id="FoxSoul.us",Fox Soul @@ -91,6 +101,8 @@ http://fl2.moveonjoy.com/GOLF_CHANNEL/index.m3u8 http://fl2.moveonjoy.com/GRIT_TV/index.m3u8 #EXTINF:-1 tvg-id="HallmarkChannelEast.us",Hallmark Channel East http://fl2.moveonjoy.com/HALLMARK_CHANNEL/index.m3u8 +#EXTINF:-1 tvg-id="HallmarkDrama.us",Hallmark Drama (720p) +http://fl2.moveonjoy.com/HALLMARK_DRAMA/index.m3u8 #EXTINF:-1 tvg-id="HallmarkMoviesMysteriesEast.us",Hallmark Movies Mysteries East http://fl2.moveonjoy.com/HALLMARK_MOVIES_MYSTERIES/index.m3u8 #EXTINF:-1 tvg-id="HSN.us",HSN @@ -145,6 +157,8 @@ http://fl2.moveonjoy.com/National_Geographic/index.m3u8 http://fl2.moveonjoy.com/Nat_Geo_Wild/index.m3u8 #EXTINF:-1 tvg-id="NBATV.us",NBA TV http://fl2.moveonjoy.com/NBA_TV/index.m3u8 +#EXTINF:-1 tvg-id="NewsNationEast.us",News Nation (720p) +http://fl2.moveonjoy.com/NEWS_NATION/index.m3u8 #EXTINF:-1 tvg-id="NFLNetwork.us",NFL Network http://fl2.moveonjoy.com/NFL_NETWORK/index.m3u8 #EXTINF:-1 tvg-id="NFLRedZone.us",NFL RedZone @@ -165,6 +179,8 @@ http://fl1.moveonjoy.com/NICKELODEON/index.m3u8 http://fl1.moveonjoy.com/NICKTOONS/index.m3u8 #EXTINF:-1 tvg-id="OutdoorChannel.us",Outdoor Channel http://fl2.moveonjoy.com/OUTDOOR_CHANNEL/index.m3u8 +#EXTINF:-1 tvg-id="OuterMaxEast.us",OuterMax East (720p) +http://fl2.moveonjoy.com/OUTER_MAX/index.m3u8 #EXTINF:-1 tvg-id="OutsideTV.us",Outside TV http://fl2.moveonjoy.com/OUTSIDE_TV/index.m3u8 #EXTINF:-1 tvg-id="Ovation.us",Ovation (1080p) @@ -173,6 +189,8 @@ http://fl3.moveonjoy.com/Ovation/index.m3u8 http://fl2.moveonjoy.com/OXYGEN/index.m3u8 #EXTINF:-1 tvg-id="ParamountNetworkEast.us",Paramount Network East http://fl2.moveonjoy.com/PARAMOUNT_NETWORK/index.m3u8 +#EXTINF:-1 tvg-id="PursuitChannel.us",Pursuit Channel (720p) +http://fl3.moveonjoy.com/Pursuit_Channel/index.m3u8 #EXTINF:-1 tvg-id="QVC.us",QVC (720p) http://fl2.moveonjoy.com/QVC/index.m3u8 #EXTINF:-1 tvg-id="Reelz.us",Reelz (720p) @@ -211,12 +229,16 @@ http://fl2.moveonjoy.com/STARZ_ENCORE_ACTION/index.m3u8 http://fl5.moveonjoy.com/STARZ_ENCORE_CLASSIC/index.m3u8 #EXTINF:-1 tvg-id="StarzEncoreEast.us",Starz Encore East http://fl2.moveonjoy.com/STARZ_ENCORE/index.m3u8 +#EXTINF:-1 tvg-id="StarzWest.us",Starz West +http://fl2.moveonjoy.com/STARZ_WEST/index.m3u8 #EXTINF:-1 tvg-id="SundanceTVEast.us",Sundance TV East http://fl2.moveonjoy.com/SUNDANCE/index.m3u8 #EXTINF:-1 tvg-id="SyfyEast.us",Syfy East http://fl2.moveonjoy.com/SYFY/index.m3u8 #EXTINF:-1 tvg-id="TennisChannel.us",Tennis Channel http://fl2.moveonjoy.com/TENNIS_CHANNEL/index.m3u8 +#EXTINF:-1 tvg-id="TSN1.ca",TSN1 (1080p) +http://fl5.moveonjoy.com/TSN_1/index.m3u8 #EXTINF:-1 tvg-id="TSN2.ca",TSN2 http://fl5.moveonjoy.com/TSN_2/index.m3u8 #EXTINF:-1 tvg-id="TSN3.ca",TSN3 @@ -237,6 +259,8 @@ http://fl2.moveonjoy.com/USA_Network/index.m3u8 http://fl2.moveonjoy.com/VH1/index.m3u8 #EXTINF:-1 tvg-id="VICETV.us",VICE TV (720p) http://fl2.moveonjoy.com/VICELAND/index.m3u8 +#EXTINF:-1 tvg-id="WNetworkEast.ca",W Network (720p) +http://fl2.moveonjoy.com/W_NETWORK/index.m3u8 #EXTINF:-1 tvg-id="WeTVEast.us",We TV East http://fl1.moveonjoy.com/WE_TV/index.m3u8 #EXTINF:-1 tvg-id="WGNDT1.us",WGN-DT1 (720p) From 374abef69766b34bd2ed0d693bfef0da5b963f34 Mon Sep 17 00:00:00 2001 From: "iptv-bot[bot]" <84861620+iptv-bot[bot]@users.noreply.github.com> Date: Mon, 31 Mar 2025 00:12:15 +0000 Subject: [PATCH 28/85] [Bot] Update /streams Committed by [iptv-bot](https://github.com/apps/iptv-bot) via [update](https://github.com/iptv-org/iptv/actions/runs/14161345006) workflow. closes #20936, closes #20970, closes #20969, closes #20965, closes #20960, closes #20955, closes #20953, closes #20952, closes #20951, closes #20946, closes #20941 --- streams/au_samsung.m3u | 8 -------- streams/ba.m3u | 2 ++ streams/bo.m3u | 2 ++ streams/eg.m3u | 2 ++ streams/es.m3u | 6 ++++++ streams/in.m3u | 2 ++ streams/qa.m3u | 4 ++++ streams/us.m3u | 2 ++ 8 files changed, 20 insertions(+), 8 deletions(-) diff --git a/streams/au_samsung.m3u b/streams/au_samsung.m3u index cb4d38f67..f9c3a9ad1 100644 --- a/streams/au_samsung.m3u +++ b/streams/au_samsung.m3u @@ -1,6 +1,4 @@ #EXTM3U -#EXTINF:-1 tvg-id="EuronewsEnglish.fr",Euronews English (720p) -https://euronews-euronews-world-1-au.samsung.wurl.tv/manifest/playlist.m3u8 #EXTINF:-1 tvg-id="HorseCountryTV.uk",Horse and Country (720p) https://hncfree-samsungau.amagi.tv/playlist.m3u8 #EXTINF:-1 tvg-id="InsightTV.nl",Insight TV (720p) @@ -11,18 +9,12 @@ https://introuble-samsungau.amagi.tv/playlist.m3u8 https://inwild-samsungau.amagi.tv/playlist.m3u8 #EXTINF:-1 tvg-id="InWonder.nl",InWonder (720p) https://inwonder-samsungau.amagi.tv/playlist.m3u8 -#EXTINF:-1 tvg-id="RealFamilies.au",Real Families (Australia) (720p) -https://lds-realfamilies-samsunguau.amagi.tv/playlist.m3u8 -#EXTINF:-1 tvg-id="RealStories.uk",Real Stories (720p) -https://lds-realstories-samsungau.amagi.tv/playlist.m3u8 #EXTINF:-1 tvg-id="Rialto.nz",Rialto (1080p) https://rialto-rialto-samsungaustralia.amagi.tv/playlist.m3u8 #EXTINF:-1 tvg-id="RyanandFriends.us",Ryan and Friends (1080p) https://ryanandfriends-samsungau.amagi.tv/playlist.m3u8 #EXTINF:-1 tvg-id="Tastemade.au",Tastemade Australia (1080p) https://tmint-aus-samsungau.amagi.tv/playlist.m3u8 -#EXTINF:-1 tvg-id="Timeline.us",Time Line Australia (720p) -https://lds-timeline-samsungau.amagi.tv/playlist.m3u8 #EXTINF:-1 tvg-id="TraceSportStars.fr",Trace Sport Stars (Australia) (1080p) https://lightning-tracesport-samsungau.amagi.tv/playlist.m3u8 #EXTINF:-1 tvg-id="TraceUrban.fr",Trace Urban (Australia) (1080p) diff --git a/streams/ba.m3u b/streams/ba.m3u index 8fe9d0b82..88fbacaba 100644 --- a/streams/ba.m3u +++ b/streams/ba.m3u @@ -37,3 +37,5 @@ https://live.tv-m.net/hls/stream.m3u8 https://restreamer1.tnt.ba/hls/tntkids.m3u8 #EXTINF:-1 tvg-id="TVSlonExtra.ba",TV Slon Extra (1080p) [Not 24/7] http://31.47.0.130:8082 +#EXTINF:-1 tvg-id="NTVICKakanj.ba",NTV IC Kakanj (720p) +https://lon.rtsp.me/dEqnY-myGj84bKrieCIPfA/1743271667/hls/3dH3YAD6.m3u8 diff --git a/streams/bo.m3u b/streams/bo.m3u index c965184bc..eba10f679 100644 --- a/streams/bo.m3u +++ b/streams/bo.m3u @@ -153,3 +153,5 @@ https://fl1004.bozztv.com/ssh101/zoytvsports4/index.m3u8 https://fl1004.bozztv.com/ssh101/zoytvsports5/index.m3u8 #EXTINF:-1 tvg-id="ZoyTVTurcas.bo",Zoy TV Turcas https://fl1004.bozztv.com/ssh101/zoytvturcas/index.m3u8 +#EXTINF:-1 tvg-id="BoliviaTV.bo",Bolivia TV (720p) +https://5fe2654d6127d.streamlock.net:443/boliviatv/videoboliviatv/playlist.m3u8 diff --git a/streams/eg.m3u b/streams/eg.m3u index afcd1080b..69af3923e 100644 --- a/streams/eg.m3u +++ b/streams/eg.m3u @@ -53,3 +53,5 @@ https://bcovlive-a.akamaihd.net/0e524e1838ed411dad0a674d18e07914/eu-central-1/64 https://rp.tactivemedia.com/watantv_source/live/playlist.m3u8 #EXTINF:-1 tvg-id="RotanaCinemaEgypt.eg",Rotana Cinema Egypt (1080p) https://rotana.hibridcdn.net/rotana/cinemamasr_net-7Y83PP5adWixDF93/playlist.m3u8 +#EXTINF:-1 tvg-id="OnE.eg",On E (1080p) +https://bcovlive-a.akamaihd.net/3dc60bab470f4c9fbf00408ecb7c3d7a/eu-west-1/6057955906001/playlist_dvr.m3u8 diff --git a/streams/es.m3u b/streams/es.m3u index 50507c0ad..ffca5a170 100644 --- a/streams/es.m3u +++ b/streams/es.m3u @@ -679,3 +679,9 @@ https://janus.xpbroadcasting.com:8443/hls/xptvUS.m3u8 #EXTINF:-1 tvg-id="ZafraTV.es" http-referrer="https://player.streamingconnect.com/",Zafra TV (1080p) #EXTVLCOPT:http-referrer=https://player.streamingconnect.com/ https://cloud.fastchannel.es/mic/manifiest/hls/radiotvzafra/radiotvzafra.m3u8 +#EXTINF:-1 tvg-id="Atreseries.es",Atreseries (480p) +http://181.78.109.48:8000/play/a00l/index.m3u8 +#EXTINF:-1 tvg-id="Antena3.es",Antena 3 (480p) +http://181.78.109.48:8000/play/a00f/index.m3u8 +#EXTINF:-1 tvg-id="AXN.es",AXN (1080p) +http://181.78.109.48:8000/play/a05u/index.m3u8 diff --git a/streams/in.m3u b/streams/in.m3u index 8112ddcb2..803deef33 100644 --- a/streams/in.m3u +++ b/streams/in.m3u @@ -678,3 +678,5 @@ https://livetv-channels.b-cdn.net/8076/playlist.m3u8 http://183.89.246.119:8881/play/a09a/index.m3u8 #EXTINF:-1 tvg-id="Zoom.in",Zoom (1080p) http://103.81.104.118/hls/stream8.m3u8 +#EXTINF:-1 tvg-id="ShowBox.in",ShowBox +https://epiconvh.akamaized.net/live/showbox/master.m3u8 diff --git a/streams/qa.m3u b/streams/qa.m3u index dbb6051cb..aa7633e2f 100644 --- a/streams/qa.m3u +++ b/streams/qa.m3u @@ -81,3 +81,7 @@ https://liveakgr.alkassdigital.net/hls/live/2097037/Alkass2hef/master.m3u8 https://qatartv.akamaized.net/hls/live/2026573/qtv1/master.m3u8 #EXTINF:-1 tvg-id="QatarTelevision2.qa",Qatar Television 2 (720p) https://qatartv.akamaized.net/hls/live/2026574/qtv2/master.m3u8 +#EXTINF:-1 tvg-id="QatarTelevision2.qa",Qatar Television 2 (1080p) +https://live.kwikmotion.com/qtv2live/qtv2.smil/playlist.m3u8 +#EXTINF:-1 tvg-id="QatarTelevision.qa",Qatar Television (1080p) +https://live.kwikmotion.com/qtv1live/qtv1.smil/playlist.m3u8 diff --git a/streams/us.m3u b/streams/us.m3u index cccafba76..9c1c1899f 100644 --- a/streams/us.m3u +++ b/streams/us.m3u @@ -1010,3 +1010,5 @@ https://fastmedia-yu-gi-oh-1-gb.xiaomi.wurl.tv/playlist.m3u8 #EXTINF:-1 tvg-id="ZoomNews.us" http-referrer="https://zoomnews.info/",Zoom TV Kurdish (720p) #EXTVLCOPT:http-referrer=https://zoomnews.info/ https://live.zoomnews.info/live/Zoom_playlist.m3u8 +#EXTINF:-1 tvg-id="Laff.us",Laff (480p) +http://72.46.118.193/Laff/index.m3u8 From 3f35dbabc4452a58ed5d7783eaf6a942d7a21fe2 Mon Sep 17 00:00:00 2001 From: "iptv-bot[bot]" <84861620+iptv-bot[bot]@users.noreply.github.com> Date: Mon, 31 Mar 2025 00:12:15 +0000 Subject: [PATCH 29/85] [Bot] Update README.md Committed by [iptv-bot](https://github.com/apps/iptv-bot) via [update](https://github.com/iptv-org/iptv/actions/runs/14161345006) workflow. --- README.md | 602 +++++++++++++++++++++++++++--------------------------- 1 file changed, 300 insertions(+), 302 deletions(-) diff --git a/README.md b/README.md index ab2af8dbe..aa12813ee 100644 --- a/README.md +++ b/README.md @@ -54,35 +54,35 @@ Same thing, but split up into separate files: CategoryChannelsPlaylist - Animation51https://iptv-org.github.io/iptv/categories/animation.m3u - Auto15https://iptv-org.github.io/iptv/categories/auto.m3u - Business69https://iptv-org.github.io/iptv/categories/business.m3u - Classic46https://iptv-org.github.io/iptv/categories/classic.m3u - Comedy75https://iptv-org.github.io/iptv/categories/comedy.m3u - Cooking28https://iptv-org.github.io/iptv/categories/cooking.m3u + Animation45https://iptv-org.github.io/iptv/categories/animation.m3u + Auto14https://iptv-org.github.io/iptv/categories/auto.m3u + Business61https://iptv-org.github.io/iptv/categories/business.m3u + Classic44https://iptv-org.github.io/iptv/categories/classic.m3u + Comedy60https://iptv-org.github.io/iptv/categories/comedy.m3u + Cooking24https://iptv-org.github.io/iptv/categories/cooking.m3u Culture169https://iptv-org.github.io/iptv/categories/culture.m3u - Documentary112https://iptv-org.github.io/iptv/categories/documentary.m3u - Education160https://iptv-org.github.io/iptv/categories/education.m3u - Entertainment584https://iptv-org.github.io/iptv/categories/entertainment.m3u - Family48https://iptv-org.github.io/iptv/categories/family.m3u - General2374https://iptv-org.github.io/iptv/categories/general.m3u - Kids230https://iptv-org.github.io/iptv/categories/kids.m3u + Documentary80https://iptv-org.github.io/iptv/categories/documentary.m3u + Education154https://iptv-org.github.io/iptv/categories/education.m3u + Entertainment544https://iptv-org.github.io/iptv/categories/entertainment.m3u + Family35https://iptv-org.github.io/iptv/categories/family.m3u + General2328https://iptv-org.github.io/iptv/categories/general.m3u + Kids182https://iptv-org.github.io/iptv/categories/kids.m3u Legislative191https://iptv-org.github.io/iptv/categories/legislative.m3u - Lifestyle91https://iptv-org.github.io/iptv/categories/lifestyle.m3u - Movies301https://iptv-org.github.io/iptv/categories/movies.m3u - Music670https://iptv-org.github.io/iptv/categories/music.m3u - News775https://iptv-org.github.io/iptv/categories/news.m3u - Outdoor42https://iptv-org.github.io/iptv/categories/outdoor.m3u - Relax4https://iptv-org.github.io/iptv/categories/relax.m3u - Religious710https://iptv-org.github.io/iptv/categories/religious.m3u - Science22https://iptv-org.github.io/iptv/categories/science.m3u - Series208https://iptv-org.github.io/iptv/categories/series.m3u - Shop87https://iptv-org.github.io/iptv/categories/shop.m3u - Sports285https://iptv-org.github.io/iptv/categories/sports.m3u - Travel43https://iptv-org.github.io/iptv/categories/travel.m3u + Lifestyle79https://iptv-org.github.io/iptv/categories/lifestyle.m3u + Movies235https://iptv-org.github.io/iptv/categories/movies.m3u + Music661https://iptv-org.github.io/iptv/categories/music.m3u + News763https://iptv-org.github.io/iptv/categories/news.m3u + Outdoor41https://iptv-org.github.io/iptv/categories/outdoor.m3u + Relax3https://iptv-org.github.io/iptv/categories/relax.m3u + Religious693https://iptv-org.github.io/iptv/categories/religious.m3u + Science21https://iptv-org.github.io/iptv/categories/science.m3u + Series149https://iptv-org.github.io/iptv/categories/series.m3u + Shop86https://iptv-org.github.io/iptv/categories/shop.m3u + Sports267https://iptv-org.github.io/iptv/categories/sports.m3u + Travel40https://iptv-org.github.io/iptv/categories/travel.m3u Weather13https://iptv-org.github.io/iptv/categories/weather.m3u XXX0https://iptv-org.github.io/iptv/categories/xxx.m3u - Undefined4320https://iptv-org.github.io/iptv/categories/undefined.m3u + Undefined4732https://iptv-org.github.io/iptv/categories/undefined.m3u @@ -114,8 +114,8 @@ Same thing, but split up into separate files: Afrikaans3https://iptv-org.github.io/iptv/languages/afr.m3u Albanian37https://iptv-org.github.io/iptv/languages/sqi.m3u Alur1https://iptv-org.github.io/iptv/languages/alz.m3u - Amharic8https://iptv-org.github.io/iptv/languages/amh.m3u - Arabic393https://iptv-org.github.io/iptv/languages/ara.m3u + Amharic7https://iptv-org.github.io/iptv/languages/amh.m3u + Arabic391https://iptv-org.github.io/iptv/languages/ara.m3u Armenian25https://iptv-org.github.io/iptv/languages/hye.m3u Assamese7https://iptv-org.github.io/iptv/languages/asm.m3u Assyrian Neo-Aramaic1https://iptv-org.github.io/iptv/languages/aii.m3u @@ -129,7 +129,7 @@ Same thing, but split up into separate files: Belarusian7https://iptv-org.github.io/iptv/languages/bel.m3u Bengali31https://iptv-org.github.io/iptv/languages/ben.m3u Bhojpuri1https://iptv-org.github.io/iptv/languages/bho.m3u - Bosnian14https://iptv-org.github.io/iptv/languages/bos.m3u + Bosnian15https://iptv-org.github.io/iptv/languages/bos.m3u Bulgarian34https://iptv-org.github.io/iptv/languages/bul.m3u Burmese9https://iptv-org.github.io/iptv/languages/mya.m3u Catalan51https://iptv-org.github.io/iptv/languages/cat.m3u @@ -138,7 +138,7 @@ Same thing, but split up into separate files: Chewa3https://iptv-org.github.io/iptv/languages/nya.m3u Chhattisgarhi1https://iptv-org.github.io/iptv/languages/hne.m3u Chiga1https://iptv-org.github.io/iptv/languages/cgg.m3u - Chinese196https://iptv-org.github.io/iptv/languages/zho.m3u + Chinese193https://iptv-org.github.io/iptv/languages/zho.m3u Croatian22https://iptv-org.github.io/iptv/languages/hrv.m3u Czech35https://iptv-org.github.io/iptv/languages/ces.m3u Danish19https://iptv-org.github.io/iptv/languages/dan.m3u @@ -150,22 +150,22 @@ Same thing, but split up into separate files: Dutch191https://iptv-org.github.io/iptv/languages/nld.m3u Dyula1https://iptv-org.github.io/iptv/languages/dyu.m3u Egyptian Arabic2https://iptv-org.github.io/iptv/languages/arz.m3u - English2288https://iptv-org.github.io/iptv/languages/eng.m3u + English2096https://iptv-org.github.io/iptv/languages/eng.m3u Estonian9https://iptv-org.github.io/iptv/languages/est.m3u Ewe2https://iptv-org.github.io/iptv/languages/ewe.m3u Faroese1https://iptv-org.github.io/iptv/languages/fao.m3u Fataleka1https://iptv-org.github.io/iptv/languages/far.m3u Filipino1https://iptv-org.github.io/iptv/languages/fil.m3u - Finnish24https://iptv-org.github.io/iptv/languages/fin.m3u + Finnish23https://iptv-org.github.io/iptv/languages/fin.m3u Fon3https://iptv-org.github.io/iptv/languages/fon.m3u - French486https://iptv-org.github.io/iptv/languages/fra.m3u + French420https://iptv-org.github.io/iptv/languages/fra.m3u Fulah2https://iptv-org.github.io/iptv/languages/ful.m3u Gaelic2https://iptv-org.github.io/iptv/languages/gla.m3u Galician13https://iptv-org.github.io/iptv/languages/glg.m3u Ganda5https://iptv-org.github.io/iptv/languages/lug.m3u Gen1https://iptv-org.github.io/iptv/languages/gej.m3u Georgian9https://iptv-org.github.io/iptv/languages/kat.m3u - German329https://iptv-org.github.io/iptv/languages/deu.m3u + German259https://iptv-org.github.io/iptv/languages/deu.m3u Gikuyu2https://iptv-org.github.io/iptv/languages/kik.m3u Goan Konkani1https://iptv-org.github.io/iptv/languages/gom.m3u Greek125https://iptv-org.github.io/iptv/languages/ell.m3u @@ -175,7 +175,7 @@ Same thing, but split up into separate files: Gun1https://iptv-org.github.io/iptv/languages/guw.m3u Haitian4https://iptv-org.github.io/iptv/languages/hat.m3u Hausa2https://iptv-org.github.io/iptv/languages/hau.m3u - Hebrew14https://iptv-org.github.io/iptv/languages/heb.m3u + Hebrew13https://iptv-org.github.io/iptv/languages/heb.m3u Hindi121https://iptv-org.github.io/iptv/languages/hin.m3u Hmong1https://iptv-org.github.io/iptv/languages/hmn.m3u Hungarian104https://iptv-org.github.io/iptv/languages/hun.m3u @@ -185,8 +185,8 @@ Same thing, but split up into separate files: Iranian Persian1https://iptv-org.github.io/iptv/languages/pes.m3u Irish7https://iptv-org.github.io/iptv/languages/gle.m3u Isekiri1https://iptv-org.github.io/iptv/languages/its.m3u - Italian336https://iptv-org.github.io/iptv/languages/ita.m3u - Japanese72https://iptv-org.github.io/iptv/languages/jpn.m3u + Italian285https://iptv-org.github.io/iptv/languages/ita.m3u + Japanese70https://iptv-org.github.io/iptv/languages/jpn.m3u Javanese3https://iptv-org.github.io/iptv/languages/jav.m3u Kabiyè1https://iptv-org.github.io/iptv/languages/kbp.m3u Kabyle1https://iptv-org.github.io/iptv/languages/kab.m3u @@ -235,15 +235,15 @@ Same thing, but split up into separate files: Papiamento17https://iptv-org.github.io/iptv/languages/pap.m3u Parsi-Dari3https://iptv-org.github.io/iptv/languages/prd.m3u Pashto16https://iptv-org.github.io/iptv/languages/pus.m3u - Persian139https://iptv-org.github.io/iptv/languages/fas.m3u - Polish161https://iptv-org.github.io/iptv/languages/pol.m3u - Portuguese346https://iptv-org.github.io/iptv/languages/por.m3u + Persian138https://iptv-org.github.io/iptv/languages/fas.m3u + Polish148https://iptv-org.github.io/iptv/languages/pol.m3u + Portuguese336https://iptv-org.github.io/iptv/languages/por.m3u Pulaar1https://iptv-org.github.io/iptv/languages/fuc.m3u Quechua1https://iptv-org.github.io/iptv/languages/que.m3u Romanian126https://iptv-org.github.io/iptv/languages/ron.m3u Romany1https://iptv-org.github.io/iptv/languages/rom.m3u Rundi1https://iptv-org.github.io/iptv/languages/run.m3u - Russian291https://iptv-org.github.io/iptv/languages/rus.m3u + Russian279https://iptv-org.github.io/iptv/languages/rus.m3u Saint Lucian Creole French2https://iptv-org.github.io/iptv/languages/acf.m3u Samoan2https://iptv-org.github.io/iptv/languages/smo.m3u Santali1https://iptv-org.github.io/iptv/languages/sat.m3u @@ -251,9 +251,9 @@ Same thing, but split up into separate files: Serbo-Croatian1https://iptv-org.github.io/iptv/languages/hbs.m3u Sinhala5https://iptv-org.github.io/iptv/languages/sin.m3u Slovak49https://iptv-org.github.io/iptv/languages/slk.m3u - Slovenian14https://iptv-org.github.io/iptv/languages/slv.m3u + Slovenian13https://iptv-org.github.io/iptv/languages/slv.m3u Somali11https://iptv-org.github.io/iptv/languages/som.m3u - Spanish2109https://iptv-org.github.io/iptv/languages/spa.m3u + Spanish2063https://iptv-org.github.io/iptv/languages/spa.m3u Sranan Tongo3https://iptv-org.github.io/iptv/languages/srn.m3u Swahili24https://iptv-org.github.io/iptv/languages/swa.m3u Swedish16https://iptv-org.github.io/iptv/languages/swe.m3u @@ -264,10 +264,10 @@ Same thing, but split up into separate files: Tajik15https://iptv-org.github.io/iptv/languages/tgk.m3u Tamashek1https://iptv-org.github.io/iptv/languages/tmh.m3u Tamasheq1https://iptv-org.github.io/iptv/languages/taq.m3u - Tamil47https://iptv-org.github.io/iptv/languages/tam.m3u + Tamil45https://iptv-org.github.io/iptv/languages/tam.m3u Tatar1https://iptv-org.github.io/iptv/languages/tat.m3u Telugu7https://iptv-org.github.io/iptv/languages/tel.m3u - Thai64https://iptv-org.github.io/iptv/languages/tha.m3u + Thai63https://iptv-org.github.io/iptv/languages/tha.m3u Tibetan1https://iptv-org.github.io/iptv/languages/bod.m3u Tooro1https://iptv-org.github.io/iptv/languages/ttj.m3u Tswana1https://iptv-org.github.io/iptv/languages/tsn.m3u @@ -276,7 +276,7 @@ Same thing, but split up into separate files: Turkmen8https://iptv-org.github.io/iptv/languages/tuk.m3u Uighur3https://iptv-org.github.io/iptv/languages/uig.m3u Ukrainian61https://iptv-org.github.io/iptv/languages/ukr.m3u - Urdu39https://iptv-org.github.io/iptv/languages/urd.m3u + Urdu38https://iptv-org.github.io/iptv/languages/urd.m3u Uzbek14https://iptv-org.github.io/iptv/languages/uzb.m3u Vietnamese68https://iptv-org.github.io/iptv/languages/vie.m3u Welsh1https://iptv-org.github.io/iptv/languages/cym.m3u @@ -287,7 +287,7 @@ Same thing, but split up into separate files: Yucatec Maya1https://iptv-org.github.io/iptv/languages/yua.m3u Yue Chinese7https://iptv-org.github.io/iptv/languages/yue.m3u Zarma1https://iptv-org.github.io/iptv/languages/dje.m3u - Undefined2435https://iptv-org.github.io/iptv/languages/undefined.m3u + Undefined2892https://iptv-org.github.io/iptv/languages/undefined.m3u @@ -313,15 +313,15 @@ Same thing, but split up into separate files: CountryChannelsPlaylist - 🇦🇫 Afghanistan37https://iptv-org.github.io/iptv/countries/af.m3u - 🇦🇱 Albania65https://iptv-org.github.io/iptv/countries/al.m3u - 🇩🇿 Algeria76https://iptv-org.github.io/iptv/countries/dz.m3u - 🇦🇸 American Samoa9https://iptv-org.github.io/iptv/countries/as.m3u - 🇦🇩 Andorra57https://iptv-org.github.io/iptv/countries/ad.m3u - 🇦🇴 Angola28https://iptv-org.github.io/iptv/countries/ao.m3u - 🇦🇮 Anguilla14https://iptv-org.github.io/iptv/countries/ai.m3u - 🇦🇬 Antigua and Barbuda15https://iptv-org.github.io/iptv/countries/ag.m3u - 🇦🇷 Argentina231https://iptv-org.github.io/iptv/countries/ar.m3u + 🇦🇫 Afghanistan32https://iptv-org.github.io/iptv/countries/af.m3u + 🇦🇱 Albania44https://iptv-org.github.io/iptv/countries/al.m3u + 🇩🇿 Algeria70https://iptv-org.github.io/iptv/countries/dz.m3u + 🇦🇸 American Samoa5https://iptv-org.github.io/iptv/countries/as.m3u + 🇦🇩 Andorra36https://iptv-org.github.io/iptv/countries/ad.m3u + 🇦🇴 Angola25https://iptv-org.github.io/iptv/countries/ao.m3u + 🇦🇮 Anguilla12https://iptv-org.github.io/iptv/countries/ai.m3u + 🇦🇬 Antigua and Barbuda13https://iptv-org.github.io/iptv/countries/ag.m3u + 🇦🇷 Argentina225https://iptv-org.github.io/iptv/countries/ar.m3u       Buenos Aires18https://iptv-org.github.io/iptv/subdivisions/ar-b.m3u       Catamarca1https://iptv-org.github.io/iptv/subdivisions/ar-k.m3u       Chaco3https://iptv-org.github.io/iptv/subdivisions/ar-h.m3u @@ -344,29 +344,29 @@ Same thing, but split up into separate files:       Santa Fe3https://iptv-org.github.io/iptv/subdivisions/ar-s.m3u       Santiago del Estero1https://iptv-org.github.io/iptv/subdivisions/ar-g.m3u       Tucuman2https://iptv-org.github.io/iptv/subdivisions/ar-t.m3u - 🇦🇲 Armenia84https://iptv-org.github.io/iptv/countries/am.m3u - 🇦🇼 Aruba24https://iptv-org.github.io/iptv/countries/aw.m3u - 🇦🇺 Australia69https://iptv-org.github.io/iptv/countries/au.m3u - 🇦🇹 Austria322https://iptv-org.github.io/iptv/countries/at.m3u - 🇦🇿 Azerbaijan83https://iptv-org.github.io/iptv/countries/az.m3u - 🇧🇸 Bahamas14https://iptv-org.github.io/iptv/countries/bs.m3u - 🇧🇭 Bahrain52https://iptv-org.github.io/iptv/countries/bh.m3u - 🇧🇩 Bangladesh27https://iptv-org.github.io/iptv/countries/bd.m3u - 🇧🇧 Barbados15https://iptv-org.github.io/iptv/countries/bb.m3u - 🇧🇾 Belarus77https://iptv-org.github.io/iptv/countries/by.m3u - 🇧🇪 Belgium101https://iptv-org.github.io/iptv/countries/be.m3u - 🇧🇿 Belize14https://iptv-org.github.io/iptv/countries/bz.m3u - 🇧🇯 Benin34https://iptv-org.github.io/iptv/countries/bj.m3u - 🇧🇲 Bermuda9https://iptv-org.github.io/iptv/countries/bm.m3u - 🇧🇹 Bhutan10https://iptv-org.github.io/iptv/countries/bt.m3u - 🇧🇴 Bolivia137https://iptv-org.github.io/iptv/countries/bo.m3u + 🇦🇲 Armenia64https://iptv-org.github.io/iptv/countries/am.m3u + 🇦🇼 Aruba22https://iptv-org.github.io/iptv/countries/aw.m3u + 🇦🇺 Australia63https://iptv-org.github.io/iptv/countries/au.m3u + 🇦🇹 Austria302https://iptv-org.github.io/iptv/countries/at.m3u + 🇦🇿 Azerbaijan60https://iptv-org.github.io/iptv/countries/az.m3u + 🇧🇸 Bahamas12https://iptv-org.github.io/iptv/countries/bs.m3u + 🇧🇭 Bahrain47https://iptv-org.github.io/iptv/countries/bh.m3u + 🇧🇩 Bangladesh22https://iptv-org.github.io/iptv/countries/bd.m3u + 🇧🇧 Barbados13https://iptv-org.github.io/iptv/countries/bb.m3u + 🇧🇾 Belarus55https://iptv-org.github.io/iptv/countries/by.m3u + 🇧🇪 Belgium79https://iptv-org.github.io/iptv/countries/be.m3u + 🇧🇿 Belize18https://iptv-org.github.io/iptv/countries/bz.m3u + 🇧🇯 Benin31https://iptv-org.github.io/iptv/countries/bj.m3u + 🇧🇲 Bermuda7https://iptv-org.github.io/iptv/countries/bm.m3u + 🇧🇹 Bhutan5https://iptv-org.github.io/iptv/countries/bt.m3u + 🇧🇴 Bolivia131https://iptv-org.github.io/iptv/countries/bo.m3u       Cochabamba1https://iptv-org.github.io/iptv/subdivisions/bo-c.m3u       La Paz2https://iptv-org.github.io/iptv/subdivisions/bo-l.m3u       Oruro1https://iptv-org.github.io/iptv/subdivisions/bo-o.m3u       Santa Cruz2https://iptv-org.github.io/iptv/subdivisions/bo-s.m3u 🇧🇶 Bonaire4https://iptv-org.github.io/iptv/countries/bq.m3u - 🇧🇦 Bosnia and Herzegovina71https://iptv-org.github.io/iptv/countries/ba.m3u - 🇧🇼 Botswana25https://iptv-org.github.io/iptv/countries/bw.m3u + 🇧🇦 Bosnia and Herzegovina51https://iptv-org.github.io/iptv/countries/ba.m3u + 🇧🇼 Botswana22https://iptv-org.github.io/iptv/countries/bw.m3u 🇧🇻 Bouvet Island5https://iptv-org.github.io/iptv/countries/bv.m3u 🇧🇷 Brazil312https://iptv-org.github.io/iptv/countries/br.m3u       Alagoas3https://iptv-org.github.io/iptv/subdivisions/br-al.m3u @@ -390,14 +390,14 @@ Same thing, but split up into separate files:       Roraima1https://iptv-org.github.io/iptv/subdivisions/br-rr.m3u       Santa Catarina9https://iptv-org.github.io/iptv/subdivisions/br-sc.m3u       Sao Paulo24https://iptv-org.github.io/iptv/subdivisions/br-sp.m3u - 🇻🇬 British Virgin Islands15https://iptv-org.github.io/iptv/countries/vg.m3u - 🇧🇳 Brunei23https://iptv-org.github.io/iptv/countries/bn.m3u - 🇧🇬 Bulgaria92https://iptv-org.github.io/iptv/countries/bg.m3u - 🇧🇫 Burkina Faso30https://iptv-org.github.io/iptv/countries/bf.m3u - 🇧🇮 Burundi25https://iptv-org.github.io/iptv/countries/bi.m3u - 🇰🇭 Cambodia44https://iptv-org.github.io/iptv/countries/kh.m3u - 🇨🇲 Cameroon56https://iptv-org.github.io/iptv/countries/cm.m3u - 🇨🇦 Canada409https://iptv-org.github.io/iptv/countries/ca.m3u + 🇻🇬 British Virgin Islands13https://iptv-org.github.io/iptv/countries/vg.m3u + 🇧🇳 Brunei16https://iptv-org.github.io/iptv/countries/bn.m3u + 🇧🇬 Bulgaria71https://iptv-org.github.io/iptv/countries/bg.m3u + 🇧🇫 Burkina Faso27https://iptv-org.github.io/iptv/countries/bf.m3u + 🇧🇮 Burundi22https://iptv-org.github.io/iptv/countries/bi.m3u + 🇰🇭 Cambodia37https://iptv-org.github.io/iptv/countries/kh.m3u + 🇨🇲 Cameroon53https://iptv-org.github.io/iptv/countries/cm.m3u + 🇨🇦 Canada406https://iptv-org.github.io/iptv/countries/ca.m3u       Alberta5https://iptv-org.github.io/iptv/subdivisions/ca-ab.m3u       British Columbia5https://iptv-org.github.io/iptv/subdivisions/ca-bc.m3u       Manitoba3https://iptv-org.github.io/iptv/subdivisions/ca-mb.m3u @@ -410,11 +410,11 @@ Same thing, but split up into separate files:       Prince Edward Island1https://iptv-org.github.io/iptv/subdivisions/ca-pe.m3u       Quebec15https://iptv-org.github.io/iptv/subdivisions/ca-qc.m3u       Saskatchewan2https://iptv-org.github.io/iptv/subdivisions/ca-sk.m3u - 🇨🇻 Cape Verde29https://iptv-org.github.io/iptv/countries/cv.m3u - 🇰🇾 Cayman Islands14https://iptv-org.github.io/iptv/countries/ky.m3u - 🇨🇫 Central African Republic24https://iptv-org.github.io/iptv/countries/cf.m3u - 🇹🇩 Chad25https://iptv-org.github.io/iptv/countries/td.m3u - 🇨🇱 Chile272https://iptv-org.github.io/iptv/countries/cl.m3u + 🇨🇻 Cape Verde26https://iptv-org.github.io/iptv/countries/cv.m3u + 🇰🇾 Cayman Islands12https://iptv-org.github.io/iptv/countries/ky.m3u + 🇨🇫 Central African Republic21https://iptv-org.github.io/iptv/countries/cf.m3u + 🇹🇩 Chad22https://iptv-org.github.io/iptv/countries/td.m3u + 🇨🇱 Chile266https://iptv-org.github.io/iptv/countries/cl.m3u       Atacama1https://iptv-org.github.io/iptv/subdivisions/cl-at.m3u       Biobio3https://iptv-org.github.io/iptv/subdivisions/cl-bi.m3u       Coquimbo1https://iptv-org.github.io/iptv/subdivisions/cl-co.m3u @@ -424,8 +424,8 @@ Same thing, but split up into separate files:       Maule1https://iptv-org.github.io/iptv/subdivisions/cl-ml.m3u       Nuble3https://iptv-org.github.io/iptv/subdivisions/cl-nb.m3u       Valparaiso2https://iptv-org.github.io/iptv/subdivisions/cl-vs.m3u - 🇨🇳 China638https://iptv-org.github.io/iptv/countries/cn.m3u - 🇨🇴 Colombia202https://iptv-org.github.io/iptv/countries/co.m3u + 🇨🇳 China632https://iptv-org.github.io/iptv/countries/cn.m3u + 🇨🇴 Colombia196https://iptv-org.github.io/iptv/countries/co.m3u       Antioquia1https://iptv-org.github.io/iptv/subdivisions/co-ant.m3u       Atlantico1https://iptv-org.github.io/iptv/subdivisions/co-atl.m3u       Bolivar1https://iptv-org.github.io/iptv/subdivisions/co-bol.m3u @@ -442,21 +442,21 @@ Same thing, but split up into separate files:       San Andres, Providencia y Santa Catalina1https://iptv-org.github.io/iptv/subdivisions/co-sap.m3u       Tolima1https://iptv-org.github.io/iptv/subdivisions/co-tol.m3u       Valle del Cauca5https://iptv-org.github.io/iptv/subdivisions/co-vac.m3u - 🇰🇲 Comoros65https://iptv-org.github.io/iptv/countries/km.m3u - 🇨🇰 Cook Islands9https://iptv-org.github.io/iptv/countries/ck.m3u - 🇨🇷 Costa Rica146https://iptv-org.github.io/iptv/countries/cr.m3u + 🇰🇲 Comoros59https://iptv-org.github.io/iptv/countries/km.m3u + 🇨🇰 Cook Islands5https://iptv-org.github.io/iptv/countries/ck.m3u + 🇨🇷 Costa Rica137https://iptv-org.github.io/iptv/countries/cr.m3u       Puntarenas1https://iptv-org.github.io/iptv/subdivisions/cr-p.m3u       San Jose1https://iptv-org.github.io/iptv/subdivisions/cr-sj.m3u - 🇭🇷 Croatia85https://iptv-org.github.io/iptv/countries/hr.m3u - 🇨🇺 Cuba76https://iptv-org.github.io/iptv/countries/cu.m3u - 🇨🇼 Curacao22https://iptv-org.github.io/iptv/countries/cw.m3u - 🇨🇾 Cyprus96https://iptv-org.github.io/iptv/countries/cy.m3u - 🇨🇿 Czech Republic95https://iptv-org.github.io/iptv/countries/cz.m3u - 🇨🇩 Democratic Republic of the Congo63https://iptv-org.github.io/iptv/countries/cd.m3u - 🇩🇰 Denmark86https://iptv-org.github.io/iptv/countries/dk.m3u - 🇩🇯 Djibouti68https://iptv-org.github.io/iptv/countries/dj.m3u - 🇩🇲 Dominica15https://iptv-org.github.io/iptv/countries/dm.m3u - 🇩🇴 Dominican Republic325https://iptv-org.github.io/iptv/countries/do.m3u + 🇭🇷 Croatia64https://iptv-org.github.io/iptv/countries/hr.m3u + 🇨🇺 Cuba68https://iptv-org.github.io/iptv/countries/cu.m3u + 🇨🇼 Curacao20https://iptv-org.github.io/iptv/countries/cw.m3u + 🇨🇾 Cyprus74https://iptv-org.github.io/iptv/countries/cy.m3u + 🇨🇿 Czech Republic74https://iptv-org.github.io/iptv/countries/cz.m3u + 🇨🇩 Democratic Republic of the Congo60https://iptv-org.github.io/iptv/countries/cd.m3u + 🇩🇰 Denmark65https://iptv-org.github.io/iptv/countries/dk.m3u + 🇩🇯 Djibouti62https://iptv-org.github.io/iptv/countries/dj.m3u + 🇩🇲 Dominica13https://iptv-org.github.io/iptv/countries/dm.m3u + 🇩🇴 Dominican Republic316https://iptv-org.github.io/iptv/countries/do.m3u       Distrito Nacional (Santo Domingo)2https://iptv-org.github.io/iptv/subdivisions/do-01.m3u       El Seibo1https://iptv-org.github.io/iptv/subdivisions/do-08.m3u       La Altagracia2https://iptv-org.github.io/iptv/subdivisions/do-11.m3u @@ -466,33 +466,33 @@ Same thing, but split up into separate files:       San Juan1https://iptv-org.github.io/iptv/subdivisions/do-22.m3u       Santiago1https://iptv-org.github.io/iptv/subdivisions/do-25.m3u       Valverde1https://iptv-org.github.io/iptv/subdivisions/do-27.m3u - 🇹🇱 East Timor17https://iptv-org.github.io/iptv/countries/tl.m3u - 🇪🇨 Ecuador145https://iptv-org.github.io/iptv/countries/ec.m3u + 🇹🇱 East Timor10https://iptv-org.github.io/iptv/countries/tl.m3u + 🇪🇨 Ecuador139https://iptv-org.github.io/iptv/countries/ec.m3u       Azuay1https://iptv-org.github.io/iptv/subdivisions/ec-a.m3u       Loja2https://iptv-org.github.io/iptv/subdivisions/ec-l.m3u       Orellana1https://iptv-org.github.io/iptv/subdivisions/ec-d.m3u - 🇪🇬 Egypt97https://iptv-org.github.io/iptv/countries/eg.m3u - 🇸🇻 El Salvador108https://iptv-org.github.io/iptv/countries/sv.m3u - 🇬🇶 Equatorial Guinea28https://iptv-org.github.io/iptv/countries/gq.m3u - 🇪🇷 Eritrea24https://iptv-org.github.io/iptv/countries/er.m3u - 🇪🇪 Estonia89https://iptv-org.github.io/iptv/countries/ee.m3u - 🇪🇹 Ethiopia29https://iptv-org.github.io/iptv/countries/et.m3u + 🇪🇬 Egypt92https://iptv-org.github.io/iptv/countries/eg.m3u + 🇸🇻 El Salvador100https://iptv-org.github.io/iptv/countries/sv.m3u + 🇬🇶 Equatorial Guinea25https://iptv-org.github.io/iptv/countries/gq.m3u + 🇪🇷 Eritrea21https://iptv-org.github.io/iptv/countries/er.m3u + 🇪🇪 Estonia68https://iptv-org.github.io/iptv/countries/ee.m3u + 🇪🇹 Ethiopia26https://iptv-org.github.io/iptv/countries/et.m3u 🇫🇰 Falkland Islands5https://iptv-org.github.io/iptv/countries/fk.m3u 🇫🇴 Faroe Islands1https://iptv-org.github.io/iptv/countries/fo.m3u - 🇫🇯 Fiji10https://iptv-org.github.io/iptv/countries/fj.m3u - 🇫🇮 Finland88https://iptv-org.github.io/iptv/countries/fi.m3u + 🇫🇯 Fiji6https://iptv-org.github.io/iptv/countries/fj.m3u + 🇫🇮 Finland67https://iptv-org.github.io/iptv/countries/fi.m3u       Keski-Suomi1https://iptv-org.github.io/iptv/subdivisions/fi-08.m3u       Pohjanmaa1https://iptv-org.github.io/iptv/subdivisions/fi-12.m3u - 🇫🇷 France394https://iptv-org.github.io/iptv/countries/fr.m3u + 🇫🇷 France376https://iptv-org.github.io/iptv/countries/fr.m3u 🇬🇫 French Guiana18https://iptv-org.github.io/iptv/countries/gf.m3u - 🇵🇫 French Polynesia10https://iptv-org.github.io/iptv/countries/pf.m3u - 🇹🇫 French Southern Territories24https://iptv-org.github.io/iptv/countries/tf.m3u - 🇬🇦 Gabon29https://iptv-org.github.io/iptv/countries/ga.m3u - 🇬🇲 Gambia25https://iptv-org.github.io/iptv/countries/gm.m3u - 🇬🇪 Georgia61https://iptv-org.github.io/iptv/countries/ge.m3u - 🇩🇪 Germany506https://iptv-org.github.io/iptv/countries/de.m3u - 🇬🇭 Ghana43https://iptv-org.github.io/iptv/countries/gh.m3u - 🇬🇷 Greece176https://iptv-org.github.io/iptv/countries/gr.m3u + 🇵🇫 French Polynesia6https://iptv-org.github.io/iptv/countries/pf.m3u + 🇹🇫 French Southern Territories21https://iptv-org.github.io/iptv/countries/tf.m3u + 🇬🇦 Gabon26https://iptv-org.github.io/iptv/countries/ga.m3u + 🇬🇲 Gambia22https://iptv-org.github.io/iptv/countries/gm.m3u + 🇬🇪 Georgia39https://iptv-org.github.io/iptv/countries/ge.m3u + 🇩🇪 Germany489https://iptv-org.github.io/iptv/countries/de.m3u + 🇬🇭 Ghana40https://iptv-org.github.io/iptv/countries/gh.m3u + 🇬🇷 Greece155https://iptv-org.github.io/iptv/countries/gr.m3u       Attiki10https://iptv-org.github.io/iptv/subdivisions/gr-i.m3u       Dytiki Ellada5https://iptv-org.github.io/iptv/subdivisions/gr-g.m3u       Dytiki Makedonia2https://iptv-org.github.io/iptv/subdivisions/gr-c.m3u @@ -502,11 +502,11 @@ Same thing, but split up into separate files:       Notio Aigaio1https://iptv-org.github.io/iptv/subdivisions/gr-l.m3u       Sterea Ellada2https://iptv-org.github.io/iptv/subdivisions/gr-h.m3u       Thessalia4https://iptv-org.github.io/iptv/subdivisions/gr-e.m3u - 🇬🇱 Greenland9https://iptv-org.github.io/iptv/countries/gl.m3u - 🇬🇩 Grenada14https://iptv-org.github.io/iptv/countries/gd.m3u - 🇬🇵 Guadeloupe28https://iptv-org.github.io/iptv/countries/gp.m3u - 🇬🇺 Guam11https://iptv-org.github.io/iptv/countries/gu.m3u - 🇬🇹 Guatemala157https://iptv-org.github.io/iptv/countries/gt.m3u + 🇬🇱 Greenland7https://iptv-org.github.io/iptv/countries/gl.m3u + 🇬🇩 Grenada12https://iptv-org.github.io/iptv/countries/gd.m3u + 🇬🇵 Guadeloupe26https://iptv-org.github.io/iptv/countries/gp.m3u + 🇬🇺 Guam7https://iptv-org.github.io/iptv/countries/gu.m3u + 🇬🇹 Guatemala148https://iptv-org.github.io/iptv/countries/gt.m3u       Escuintla2https://iptv-org.github.io/iptv/subdivisions/gt-05.m3u       Huehuetenango1https://iptv-org.github.io/iptv/subdivisions/gt-13.m3u       Izabal1https://iptv-org.github.io/iptv/subdivisions/gt-18.m3u @@ -516,17 +516,16 @@ Same thing, but split up into separate files:       Santa Rosa1https://iptv-org.github.io/iptv/subdivisions/gt-06.m3u       Solola4https://iptv-org.github.io/iptv/subdivisions/gt-07.m3u       Totonicapan1https://iptv-org.github.io/iptv/subdivisions/gt-08.m3u - 🇬🇬 Guernsey1https://iptv-org.github.io/iptv/countries/gg.m3u - 🇬🇳 Guinea36https://iptv-org.github.io/iptv/countries/gn.m3u - 🇬🇼 Guinea-Bissau24https://iptv-org.github.io/iptv/countries/gw.m3u + 🇬🇳 Guinea33https://iptv-org.github.io/iptv/countries/gn.m3u + 🇬🇼 Guinea-Bissau21https://iptv-org.github.io/iptv/countries/gw.m3u 🇬🇾 Guyana19https://iptv-org.github.io/iptv/countries/gy.m3u - 🇭🇹 Haiti50https://iptv-org.github.io/iptv/countries/ht.m3u - 🇭🇳 Honduras148https://iptv-org.github.io/iptv/countries/hn.m3u - 🇭🇰 Hong Kong17https://iptv-org.github.io/iptv/countries/hk.m3u - 🇭🇺 Hungary163https://iptv-org.github.io/iptv/countries/hu.m3u - 🇮🇸 Iceland56https://iptv-org.github.io/iptv/countries/is.m3u - 🇮🇳 India319https://iptv-org.github.io/iptv/countries/in.m3u - 🇮🇩 Indonesia151https://iptv-org.github.io/iptv/countries/id.m3u + 🇭🇹 Haiti48https://iptv-org.github.io/iptv/countries/ht.m3u + 🇭🇳 Honduras139https://iptv-org.github.io/iptv/countries/hn.m3u + 🇭🇰 Hong Kong19https://iptv-org.github.io/iptv/countries/hk.m3u + 🇭🇺 Hungary142https://iptv-org.github.io/iptv/countries/hu.m3u + 🇮🇸 Iceland35https://iptv-org.github.io/iptv/countries/is.m3u + 🇮🇳 India324https://iptv-org.github.io/iptv/countries/in.m3u + 🇮🇩 Indonesia144https://iptv-org.github.io/iptv/countries/id.m3u       Aceh2https://iptv-org.github.io/iptv/subdivisions/id-ac.m3u       Bali2https://iptv-org.github.io/iptv/subdivisions/id-ba.m3u       Banten1https://iptv-org.github.io/iptv/subdivisions/id-bt.m3u @@ -556,15 +555,15 @@ Same thing, but split up into separate files:       Sumatera Barat2https://iptv-org.github.io/iptv/subdivisions/id-sb.m3u       Sumatera Selatan2https://iptv-org.github.io/iptv/subdivisions/id-ss.m3u       Yogyakarta3https://iptv-org.github.io/iptv/subdivisions/id-yo.m3u - 🇮🇷 Iran149https://iptv-org.github.io/iptv/countries/ir.m3u - 🇮🇶 Iraq121https://iptv-org.github.io/iptv/countries/iq.m3u - 🇮🇪 Ireland81https://iptv-org.github.io/iptv/countries/ie.m3u - 🇮🇱 Israel26https://iptv-org.github.io/iptv/countries/il.m3u - 🇮🇹 Italy452https://iptv-org.github.io/iptv/countries/it.m3u + 🇮🇷 Iran147https://iptv-org.github.io/iptv/countries/ir.m3u + 🇮🇶 Iraq116https://iptv-org.github.io/iptv/countries/iq.m3u + 🇮🇪 Ireland59https://iptv-org.github.io/iptv/countries/ie.m3u + 🇮🇱 Israel24https://iptv-org.github.io/iptv/countries/il.m3u + 🇮🇹 Italy432https://iptv-org.github.io/iptv/countries/it.m3u       Trentino-Alto Adige3https://iptv-org.github.io/iptv/subdivisions/it-32.m3u - 🇨🇮 Ivory Coast53https://iptv-org.github.io/iptv/countries/ci.m3u - 🇯🇲 Jamaica21https://iptv-org.github.io/iptv/countries/jm.m3u - 🇯🇵 Japan77https://iptv-org.github.io/iptv/countries/jp.m3u + 🇨🇮 Ivory Coast50https://iptv-org.github.io/iptv/countries/ci.m3u + 🇯🇲 Jamaica19https://iptv-org.github.io/iptv/countries/jm.m3u + 🇯🇵 Japan72https://iptv-org.github.io/iptv/countries/jp.m3u       Chiba2https://iptv-org.github.io/iptv/subdivisions/jp-12.m3u       Gunma1https://iptv-org.github.io/iptv/subdivisions/jp-10.m3u       Ibaraki1https://iptv-org.github.io/iptv/subdivisions/jp-08.m3u @@ -573,35 +572,35 @@ Same thing, but split up into separate files:       Saitama2https://iptv-org.github.io/iptv/subdivisions/jp-11.m3u       Tochigi1https://iptv-org.github.io/iptv/subdivisions/jp-09.m3u       Tokyo1https://iptv-org.github.io/iptv/subdivisions/jp-13.m3u - 🇯🇴 Jordan74https://iptv-org.github.io/iptv/countries/jo.m3u - 🇰🇿 Kazakhstan96https://iptv-org.github.io/iptv/countries/kz.m3u - 🇰🇪 Kenya64https://iptv-org.github.io/iptv/countries/ke.m3u - 🇰🇮 Kiribati9https://iptv-org.github.io/iptv/countries/ki.m3u + 🇯🇴 Jordan69https://iptv-org.github.io/iptv/countries/jo.m3u + 🇰🇿 Kazakhstan73https://iptv-org.github.io/iptv/countries/kz.m3u + 🇰🇪 Kenya61https://iptv-org.github.io/iptv/countries/ke.m3u + 🇰🇮 Kiribati5https://iptv-org.github.io/iptv/countries/ki.m3u 🇽🇰 Kosovo10https://iptv-org.github.io/iptv/countries/xk.m3u - 🇰🇼 Kuwait59https://iptv-org.github.io/iptv/countries/kw.m3u - 🇰🇬 Kyrgyzstan24https://iptv-org.github.io/iptv/countries/kg.m3u - 🇱🇦 Laos33https://iptv-org.github.io/iptv/countries/la.m3u - 🇱🇻 Latvia83https://iptv-org.github.io/iptv/countries/lv.m3u - 🇱🇧 Lebanon75https://iptv-org.github.io/iptv/countries/lb.m3u - 🇱🇸 Lesotho24https://iptv-org.github.io/iptv/countries/ls.m3u - 🇱🇷 Liberia25https://iptv-org.github.io/iptv/countries/lr.m3u - 🇱🇾 Libya76https://iptv-org.github.io/iptv/countries/ly.m3u - 🇱🇮 Liechtenstein55https://iptv-org.github.io/iptv/countries/li.m3u - 🇱🇹 Lithuania71https://iptv-org.github.io/iptv/countries/lt.m3u - 🇱🇺 Luxembourg82https://iptv-org.github.io/iptv/countries/lu.m3u + 🇰🇼 Kuwait54https://iptv-org.github.io/iptv/countries/kw.m3u + 🇰🇬 Kyrgyzstan22https://iptv-org.github.io/iptv/countries/kg.m3u + 🇱🇦 Laos26https://iptv-org.github.io/iptv/countries/la.m3u + 🇱🇻 Latvia62https://iptv-org.github.io/iptv/countries/lv.m3u + 🇱🇧 Lebanon70https://iptv-org.github.io/iptv/countries/lb.m3u + 🇱🇸 Lesotho21https://iptv-org.github.io/iptv/countries/ls.m3u + 🇱🇷 Liberia22https://iptv-org.github.io/iptv/countries/lr.m3u + 🇱🇾 Libya70https://iptv-org.github.io/iptv/countries/ly.m3u + 🇱🇮 Liechtenstein33https://iptv-org.github.io/iptv/countries/li.m3u + 🇱🇹 Lithuania50https://iptv-org.github.io/iptv/countries/lt.m3u + 🇱🇺 Luxembourg60https://iptv-org.github.io/iptv/countries/lu.m3u 🇲🇴 Macao9https://iptv-org.github.io/iptv/countries/mo.m3u - 🇲🇬 Madagascar24https://iptv-org.github.io/iptv/countries/mg.m3u - 🇲🇼 Malawi27https://iptv-org.github.io/iptv/countries/mw.m3u - 🇲🇾 Malaysia36https://iptv-org.github.io/iptv/countries/my.m3u - 🇲🇻 Maldives20https://iptv-org.github.io/iptv/countries/mv.m3u - 🇲🇱 Mali30https://iptv-org.github.io/iptv/countries/ml.m3u - 🇲🇹 Malta84https://iptv-org.github.io/iptv/countries/mt.m3u - 🇲🇭 Marshall Islands9https://iptv-org.github.io/iptv/countries/mh.m3u - 🇲🇶 Martinique26https://iptv-org.github.io/iptv/countries/mq.m3u - 🇲🇷 Mauritania67https://iptv-org.github.io/iptv/countries/mr.m3u - 🇲🇺 Mauritius25https://iptv-org.github.io/iptv/countries/mu.m3u - 🇾🇹 Mayotte25https://iptv-org.github.io/iptv/countries/yt.m3u - 🇲🇽 Mexico268https://iptv-org.github.io/iptv/countries/mx.m3u + 🇲🇬 Madagascar21https://iptv-org.github.io/iptv/countries/mg.m3u + 🇲🇼 Malawi24https://iptv-org.github.io/iptv/countries/mw.m3u + 🇲🇾 Malaysia29https://iptv-org.github.io/iptv/countries/my.m3u + 🇲🇻 Maldives15https://iptv-org.github.io/iptv/countries/mv.m3u + 🇲🇱 Mali27https://iptv-org.github.io/iptv/countries/ml.m3u + 🇲🇹 Malta63https://iptv-org.github.io/iptv/countries/mt.m3u + 🇲🇭 Marshall Islands5https://iptv-org.github.io/iptv/countries/mh.m3u + 🇲🇶 Martinique24https://iptv-org.github.io/iptv/countries/mq.m3u + 🇲🇷 Mauritania61https://iptv-org.github.io/iptv/countries/mr.m3u + 🇲🇺 Mauritius22https://iptv-org.github.io/iptv/countries/mu.m3u + 🇾🇹 Mayotte22https://iptv-org.github.io/iptv/countries/yt.m3u + 🇲🇽 Mexico263https://iptv-org.github.io/iptv/countries/mx.m3u       Chihuahua2https://iptv-org.github.io/iptv/subdivisions/mx-chh.m3u       Coahuila de Zaragoza1https://iptv-org.github.io/iptv/subdivisions/mx-coa.m3u       Durango1https://iptv-org.github.io/iptv/subdivisions/mx-dur.m3u @@ -612,45 +611,45 @@ Same thing, but split up into separate files:       Quintana Roo2https://iptv-org.github.io/iptv/subdivisions/mx-roo.m3u       San Luis Potosi1https://iptv-org.github.io/iptv/subdivisions/mx-slp.m3u       Yucatan1https://iptv-org.github.io/iptv/subdivisions/mx-yuc.m3u - 🇫🇲 Micronesia9https://iptv-org.github.io/iptv/countries/fm.m3u - 🇲🇩 Moldova88https://iptv-org.github.io/iptv/countries/md.m3u - 🇲🇨 Monaco56https://iptv-org.github.io/iptv/countries/mc.m3u - 🇲🇳 Mongolia32https://iptv-org.github.io/iptv/countries/mn.m3u - 🇲🇪 Montenegro59https://iptv-org.github.io/iptv/countries/me.m3u + 🇫🇲 Micronesia5https://iptv-org.github.io/iptv/countries/fm.m3u + 🇲🇩 Moldova66https://iptv-org.github.io/iptv/countries/md.m3u + 🇲🇨 Monaco35https://iptv-org.github.io/iptv/countries/mc.m3u + 🇲🇳 Mongolia27https://iptv-org.github.io/iptv/countries/mn.m3u + 🇲🇪 Montenegro38https://iptv-org.github.io/iptv/countries/me.m3u       Ulcinj1https://iptv-org.github.io/iptv/subdivisions/me-20.m3u - 🇲🇸 Montserrat14https://iptv-org.github.io/iptv/countries/ms.m3u - 🇲🇦 Morocco82https://iptv-org.github.io/iptv/countries/ma.m3u - 🇲🇿 Mozambique28https://iptv-org.github.io/iptv/countries/mz.m3u - 🇲🇲 Myanmar29https://iptv-org.github.io/iptv/countries/mm.m3u - 🇳🇦 Namibia25https://iptv-org.github.io/iptv/countries/na.m3u - 🇳🇷 Nauru9https://iptv-org.github.io/iptv/countries/nr.m3u - 🇳🇵 Nepal22https://iptv-org.github.io/iptv/countries/np.m3u - 🇳🇱 Netherlands232https://iptv-org.github.io/iptv/countries/nl.m3u - 🇳🇨 New Caledonia9https://iptv-org.github.io/iptv/countries/nc.m3u - 🇳🇿 New Zealand39https://iptv-org.github.io/iptv/countries/nz.m3u - 🇳🇮 Nicaragua92https://iptv-org.github.io/iptv/countries/ni.m3u - 🇳🇪 Niger26https://iptv-org.github.io/iptv/countries/ne.m3u - 🇳🇬 Nigeria83https://iptv-org.github.io/iptv/countries/ng.m3u - 🇳🇺 Niue9https://iptv-org.github.io/iptv/countries/nu.m3u - 🇳🇫 Norfolk Island9https://iptv-org.github.io/iptv/countries/nf.m3u - 🇰🇵 North Korea10https://iptv-org.github.io/iptv/countries/kp.m3u - 🇲🇰 North Macedonia88https://iptv-org.github.io/iptv/countries/mk.m3u - 🇲🇵 Northern Mariana Islands9https://iptv-org.github.io/iptv/countries/mp.m3u - 🇳🇴 Norway62https://iptv-org.github.io/iptv/countries/no.m3u - 🇴🇲 Oman53https://iptv-org.github.io/iptv/countries/om.m3u - 🇵🇰 Pakistan44https://iptv-org.github.io/iptv/countries/pk.m3u - 🇵🇼 Palau9https://iptv-org.github.io/iptv/countries/pw.m3u - 🇵🇸 Palestine69https://iptv-org.github.io/iptv/countries/ps.m3u - 🇵🇦 Panama93https://iptv-org.github.io/iptv/countries/pa.m3u - 🇵🇬 Papua New Guinea10https://iptv-org.github.io/iptv/countries/pg.m3u - 🇵🇾 Paraguay129https://iptv-org.github.io/iptv/countries/py.m3u + 🇲🇸 Montserrat12https://iptv-org.github.io/iptv/countries/ms.m3u + 🇲🇦 Morocco76https://iptv-org.github.io/iptv/countries/ma.m3u + 🇲🇿 Mozambique25https://iptv-org.github.io/iptv/countries/mz.m3u + 🇲🇲 Myanmar22https://iptv-org.github.io/iptv/countries/mm.m3u + 🇳🇦 Namibia22https://iptv-org.github.io/iptv/countries/na.m3u + 🇳🇷 Nauru5https://iptv-org.github.io/iptv/countries/nr.m3u + 🇳🇵 Nepal17https://iptv-org.github.io/iptv/countries/np.m3u + 🇳🇱 Netherlands211https://iptv-org.github.io/iptv/countries/nl.m3u + 🇳🇨 New Caledonia5https://iptv-org.github.io/iptv/countries/nc.m3u + 🇳🇿 New Zealand35https://iptv-org.github.io/iptv/countries/nz.m3u + 🇳🇮 Nicaragua83https://iptv-org.github.io/iptv/countries/ni.m3u + 🇳🇪 Niger23https://iptv-org.github.io/iptv/countries/ne.m3u + 🇳🇬 Nigeria80https://iptv-org.github.io/iptv/countries/ng.m3u + 🇳🇺 Niue5https://iptv-org.github.io/iptv/countries/nu.m3u + 🇳🇫 Norfolk Island5https://iptv-org.github.io/iptv/countries/nf.m3u + 🇰🇵 North Korea5https://iptv-org.github.io/iptv/countries/kp.m3u + 🇲🇰 North Macedonia67https://iptv-org.github.io/iptv/countries/mk.m3u + 🇲🇵 Northern Mariana Islands5https://iptv-org.github.io/iptv/countries/mp.m3u + 🇳🇴 Norway41https://iptv-org.github.io/iptv/countries/no.m3u + 🇴🇲 Oman48https://iptv-org.github.io/iptv/countries/om.m3u + 🇵🇰 Pakistan40https://iptv-org.github.io/iptv/countries/pk.m3u + 🇵🇼 Palau5https://iptv-org.github.io/iptv/countries/pw.m3u + 🇵🇸 Palestine64https://iptv-org.github.io/iptv/countries/ps.m3u + 🇵🇦 Panama84https://iptv-org.github.io/iptv/countries/pa.m3u + 🇵🇬 Papua New Guinea6https://iptv-org.github.io/iptv/countries/pg.m3u + 🇵🇾 Paraguay123https://iptv-org.github.io/iptv/countries/py.m3u       Alto Parana2https://iptv-org.github.io/iptv/subdivisions/py-10.m3u       Boqueron1https://iptv-org.github.io/iptv/subdivisions/py-19.m3u       Caaguazu1https://iptv-org.github.io/iptv/subdivisions/py-5.m3u       Central1https://iptv-org.github.io/iptv/subdivisions/py-11.m3u       Itapua1https://iptv-org.github.io/iptv/subdivisions/py-7.m3u       Presidente Hayes1https://iptv-org.github.io/iptv/subdivisions/py-15.m3u - 🇵🇪 Peru217https://iptv-org.github.io/iptv/countries/pe.m3u + 🇵🇪 Peru211https://iptv-org.github.io/iptv/countries/pe.m3u       Amazonas2https://iptv-org.github.io/iptv/subdivisions/pe-ama.m3u       Ancash1https://iptv-org.github.io/iptv/subdivisions/pe-anc.m3u       Apurimac1https://iptv-org.github.io/iptv/subdivisions/pe-apu.m3u @@ -664,43 +663,43 @@ Same thing, but split up into separate files:       Puno2https://iptv-org.github.io/iptv/subdivisions/pe-pun.m3u       San Martin3https://iptv-org.github.io/iptv/subdivisions/pe-sam.m3u       Ucayali2https://iptv-org.github.io/iptv/subdivisions/pe-uca.m3u - 🇵🇭 Philippines33https://iptv-org.github.io/iptv/countries/ph.m3u - 🇵🇳 Pitcairn Islands9https://iptv-org.github.io/iptv/countries/pn.m3u - 🇵🇱 Poland217https://iptv-org.github.io/iptv/countries/pl.m3u - 🇵🇹 Portugal109https://iptv-org.github.io/iptv/countries/pt.m3u - 🇵🇷 Puerto Rico108https://iptv-org.github.io/iptv/countries/pr.m3u - 🇶🇦 Qatar60https://iptv-org.github.io/iptv/countries/qa.m3u - 🇨🇬 Republic of the Congo34https://iptv-org.github.io/iptv/countries/cg.m3u + 🇵🇭 Philippines26https://iptv-org.github.io/iptv/countries/ph.m3u + 🇵🇳 Pitcairn Islands5https://iptv-org.github.io/iptv/countries/pn.m3u + 🇵🇱 Poland213https://iptv-org.github.io/iptv/countries/pl.m3u + 🇵🇹 Portugal87https://iptv-org.github.io/iptv/countries/pt.m3u + 🇵🇷 Puerto Rico100https://iptv-org.github.io/iptv/countries/pr.m3u + 🇶🇦 Qatar56https://iptv-org.github.io/iptv/countries/qa.m3u + 🇨🇬 Republic of the Congo31https://iptv-org.github.io/iptv/countries/cg.m3u       Brazzaville1https://iptv-org.github.io/iptv/subdivisions/cg-bzv.m3u - 🇷🇪 Reunion25https://iptv-org.github.io/iptv/countries/re.m3u - 🇷🇴 Romania167https://iptv-org.github.io/iptv/countries/ro.m3u + 🇷🇪 Reunion22https://iptv-org.github.io/iptv/countries/re.m3u + 🇷🇴 Romania146https://iptv-org.github.io/iptv/countries/ro.m3u       Gorj1https://iptv-org.github.io/iptv/subdivisions/ro-gj.m3u - 🇷🇺 Russia297https://iptv-org.github.io/iptv/countries/ru.m3u - 🇷🇼 Rwanda32https://iptv-org.github.io/iptv/countries/rw.m3u - 🇧🇱 Saint Barthélemy22https://iptv-org.github.io/iptv/countries/bl.m3u - 🇸🇭 Saint Helena24https://iptv-org.github.io/iptv/countries/sh.m3u - 🇰🇳 Saint Kitts and Nevis15https://iptv-org.github.io/iptv/countries/kn.m3u - 🇱🇨 Saint Lucia15https://iptv-org.github.io/iptv/countries/lc.m3u - 🇲🇫 Saint Martin22https://iptv-org.github.io/iptv/countries/mf.m3u - 🇵🇲 Saint Pierre and Miquelon9https://iptv-org.github.io/iptv/countries/pm.m3u - 🇻🇨 Saint Vincent and the Grenadines14https://iptv-org.github.io/iptv/countries/vc.m3u - 🇼🇸 Samoa11https://iptv-org.github.io/iptv/countries/ws.m3u - 🇸🇲 San Marino53https://iptv-org.github.io/iptv/countries/sm.m3u - 🇸🇹 Sao Tome and Principe25https://iptv-org.github.io/iptv/countries/st.m3u - 🇸🇦 Saudi Arabia94https://iptv-org.github.io/iptv/countries/sa.m3u - 🇸🇳 Senegal56https://iptv-org.github.io/iptv/countries/sn.m3u - 🇷🇸 Serbia92https://iptv-org.github.io/iptv/countries/rs.m3u - 🇸🇨 Seychelles24https://iptv-org.github.io/iptv/countries/sc.m3u - 🇸🇱 Sierra Leone26https://iptv-org.github.io/iptv/countries/sl.m3u - 🇸🇬 Singapore27https://iptv-org.github.io/iptv/countries/sg.m3u - 🇸🇽 Sint Maarten19https://iptv-org.github.io/iptv/countries/sx.m3u - 🇸🇰 Slovakia115https://iptv-org.github.io/iptv/countries/sk.m3u - 🇸🇮 Slovenia80https://iptv-org.github.io/iptv/countries/si.m3u - 🇸🇧 Solomon Islands9https://iptv-org.github.io/iptv/countries/sb.m3u - 🇸🇴 Somalia75https://iptv-org.github.io/iptv/countries/so.m3u - 🇿🇦 South Africa65https://iptv-org.github.io/iptv/countries/za.m3u + 🇷🇺 Russia275https://iptv-org.github.io/iptv/countries/ru.m3u + 🇷🇼 Rwanda29https://iptv-org.github.io/iptv/countries/rw.m3u + 🇧🇱 Saint Barthélemy20https://iptv-org.github.io/iptv/countries/bl.m3u + 🇸🇭 Saint Helena21https://iptv-org.github.io/iptv/countries/sh.m3u + 🇰🇳 Saint Kitts and Nevis13https://iptv-org.github.io/iptv/countries/kn.m3u + 🇱🇨 Saint Lucia13https://iptv-org.github.io/iptv/countries/lc.m3u + 🇲🇫 Saint Martin20https://iptv-org.github.io/iptv/countries/mf.m3u + 🇵🇲 Saint Pierre and Miquelon7https://iptv-org.github.io/iptv/countries/pm.m3u + 🇻🇨 Saint Vincent and the Grenadines12https://iptv-org.github.io/iptv/countries/vc.m3u + 🇼🇸 Samoa7https://iptv-org.github.io/iptv/countries/ws.m3u + 🇸🇲 San Marino32https://iptv-org.github.io/iptv/countries/sm.m3u + 🇸🇹 Sao Tome and Principe22https://iptv-org.github.io/iptv/countries/st.m3u + 🇸🇦 Saudi Arabia89https://iptv-org.github.io/iptv/countries/sa.m3u + 🇸🇳 Senegal53https://iptv-org.github.io/iptv/countries/sn.m3u + 🇷🇸 Serbia71https://iptv-org.github.io/iptv/countries/rs.m3u + 🇸🇨 Seychelles21https://iptv-org.github.io/iptv/countries/sc.m3u + 🇸🇱 Sierra Leone23https://iptv-org.github.io/iptv/countries/sl.m3u + 🇸🇬 Singapore20https://iptv-org.github.io/iptv/countries/sg.m3u + 🇸🇽 Sint Maarten17https://iptv-org.github.io/iptv/countries/sx.m3u + 🇸🇰 Slovakia94https://iptv-org.github.io/iptv/countries/sk.m3u + 🇸🇮 Slovenia59https://iptv-org.github.io/iptv/countries/si.m3u + 🇸🇧 Solomon Islands5https://iptv-org.github.io/iptv/countries/sb.m3u + 🇸🇴 Somalia69https://iptv-org.github.io/iptv/countries/so.m3u + 🇿🇦 South Africa62https://iptv-org.github.io/iptv/countries/za.m3u 🇬🇸 South Georgia and the South Sandwich Islands5https://iptv-org.github.io/iptv/countries/gs.m3u - 🇰🇷 South Korea100https://iptv-org.github.io/iptv/countries/kr.m3u + 🇰🇷 South Korea95https://iptv-org.github.io/iptv/countries/kr.m3u       Busan-gwangyeoksi2https://iptv-org.github.io/iptv/subdivisions/kr-26.m3u       Chungcheongbuk-do2https://iptv-org.github.io/iptv/subdivisions/kr-43.m3u       Daegu-gwangyeoksi2https://iptv-org.github.io/iptv/subdivisions/kr-27.m3u @@ -714,8 +713,8 @@ Same thing, but split up into separate files:       Jeollanam-do4https://iptv-org.github.io/iptv/subdivisions/kr-46.m3u       Seoul-teukbyeolsi1https://iptv-org.github.io/iptv/subdivisions/kr-11.m3u       Ulsan-gwangyeoksi1https://iptv-org.github.io/iptv/subdivisions/kr-31.m3u - 🇸🇸 South Sudan24https://iptv-org.github.io/iptv/countries/ss.m3u - 🇪🇸 Spain382https://iptv-org.github.io/iptv/countries/es.m3u + 🇸🇸 South Sudan21https://iptv-org.github.io/iptv/countries/ss.m3u + 🇪🇸 Spain360https://iptv-org.github.io/iptv/countries/es.m3u       Andalucia38https://iptv-org.github.io/iptv/subdivisions/es-an.m3u       Aragon1https://iptv-org.github.io/iptv/subdivisions/es-ar.m3u       Asturias, Principado de1https://iptv-org.github.io/iptv/subdivisions/es-as.m3u @@ -733,33 +732,32 @@ Same thing, but split up into separate files:       Navarra, Comunidad Foral de1https://iptv-org.github.io/iptv/subdivisions/es-nc.m3u       Pais Vasco6https://iptv-org.github.io/iptv/subdivisions/es-pv.m3u       Valenciana, Comunidad16https://iptv-org.github.io/iptv/subdivisions/es-vc.m3u - 🇱🇰 Sri Lanka18https://iptv-org.github.io/iptv/countries/lk.m3u - 🇸🇩 Sudan71https://iptv-org.github.io/iptv/countries/sd.m3u + 🇱🇰 Sri Lanka13https://iptv-org.github.io/iptv/countries/lk.m3u + 🇸🇩 Sudan65https://iptv-org.github.io/iptv/countries/sd.m3u 🇸🇷 Suriname10https://iptv-org.github.io/iptv/countries/sr.m3u - 🇸🇿 Swaziland25https://iptv-org.github.io/iptv/countries/sz.m3u - 🇸🇪 Sweden94https://iptv-org.github.io/iptv/countries/se.m3u - 🇨🇭 Switzerland324https://iptv-org.github.io/iptv/countries/ch.m3u - 🇸🇾 Syria52https://iptv-org.github.io/iptv/countries/sy.m3u - 🇹🇼 Taiwan72https://iptv-org.github.io/iptv/countries/tw.m3u - 🇹🇯 Tajikistan32https://iptv-org.github.io/iptv/countries/tj.m3u - 🇹🇿 Tanzania32https://iptv-org.github.io/iptv/countries/tz.m3u - 🇹🇭 Thailand83https://iptv-org.github.io/iptv/countries/th.m3u - 🇹🇬 Togo37https://iptv-org.github.io/iptv/countries/tg.m3u - 🇹🇰 Tokelau9https://iptv-org.github.io/iptv/countries/tk.m3u - 🇹🇴 Tonga9https://iptv-org.github.io/iptv/countries/to.m3u - 🇹🇹 Trinidad and Tobago20https://iptv-org.github.io/iptv/countries/tt.m3u - 🇹🇳 Tunisia71https://iptv-org.github.io/iptv/countries/tn.m3u - 🇹🇷 Turkey312https://iptv-org.github.io/iptv/countries/tr.m3u - 🇹🇲 Turkmenistan17https://iptv-org.github.io/iptv/countries/tm.m3u - 🇹🇨 Turks and Caicos Islands14https://iptv-org.github.io/iptv/countries/tc.m3u - 🇹🇻 Tuvalu9https://iptv-org.github.io/iptv/countries/tv.m3u - 🇻🇮 U.S. Virgin Islands14https://iptv-org.github.io/iptv/countries/vi.m3u - 🇺🇬 Uganda52https://iptv-org.github.io/iptv/countries/ug.m3u - 🇺🇦 Ukraine116https://iptv-org.github.io/iptv/countries/ua.m3u - 🇦🇪 United Arab Emirates94https://iptv-org.github.io/iptv/countries/ae.m3u - 🇬🇧 United Kingdom252https://iptv-org.github.io/iptv/countries/uk.m3u -       Wales2https://iptv-org.github.io/iptv/subdivisions/gb-wls.m3u - 🇺🇸 United States2051https://iptv-org.github.io/iptv/countries/us.m3u + 🇸🇿 Swaziland22https://iptv-org.github.io/iptv/countries/sz.m3u + 🇸🇪 Sweden73https://iptv-org.github.io/iptv/countries/se.m3u + 🇨🇭 Switzerland298https://iptv-org.github.io/iptv/countries/ch.m3u + 🇸🇾 Syria47https://iptv-org.github.io/iptv/countries/sy.m3u + 🇹🇼 Taiwan67https://iptv-org.github.io/iptv/countries/tw.m3u + 🇹🇯 Tajikistan30https://iptv-org.github.io/iptv/countries/tj.m3u + 🇹🇿 Tanzania29https://iptv-org.github.io/iptv/countries/tz.m3u + 🇹🇭 Thailand76https://iptv-org.github.io/iptv/countries/th.m3u + 🇹🇬 Togo34https://iptv-org.github.io/iptv/countries/tg.m3u + 🇹🇰 Tokelau5https://iptv-org.github.io/iptv/countries/tk.m3u + 🇹🇴 Tonga5https://iptv-org.github.io/iptv/countries/to.m3u + 🇹🇹 Trinidad and Tobago18https://iptv-org.github.io/iptv/countries/tt.m3u + 🇹🇳 Tunisia65https://iptv-org.github.io/iptv/countries/tn.m3u + 🇹🇷 Turkey290https://iptv-org.github.io/iptv/countries/tr.m3u + 🇹🇲 Turkmenistan16https://iptv-org.github.io/iptv/countries/tm.m3u + 🇹🇨 Turks and Caicos Islands12https://iptv-org.github.io/iptv/countries/tc.m3u + 🇹🇻 Tuvalu5https://iptv-org.github.io/iptv/countries/tv.m3u + 🇻🇮 U.S. Virgin Islands12https://iptv-org.github.io/iptv/countries/vi.m3u + 🇺🇬 Uganda49https://iptv-org.github.io/iptv/countries/ug.m3u + 🇺🇦 Ukraine95https://iptv-org.github.io/iptv/countries/ua.m3u + 🇦🇪 United Arab Emirates89https://iptv-org.github.io/iptv/countries/ae.m3u + 🇬🇧 United Kingdom233https://iptv-org.github.io/iptv/countries/uk.m3u + 🇺🇸 United States2049https://iptv-org.github.io/iptv/countries/us.m3u       Alabama3https://iptv-org.github.io/iptv/subdivisions/us-al.m3u       Alaska2https://iptv-org.github.io/iptv/subdivisions/us-ak.m3u       Arizona13https://iptv-org.github.io/iptv/subdivisions/us-az.m3u @@ -794,7 +792,7 @@ Same thing, but split up into separate files:       New Mexico1https://iptv-org.github.io/iptv/subdivisions/us-nm.m3u       New York22https://iptv-org.github.io/iptv/subdivisions/us-ny.m3u       North Carolina7https://iptv-org.github.io/iptv/subdivisions/us-nc.m3u -       North Dakota3https://iptv-org.github.io/iptv/subdivisions/us-nd.m3u +       North Dakota2https://iptv-org.github.io/iptv/subdivisions/us-nd.m3u       Ohio10https://iptv-org.github.io/iptv/subdivisions/us-oh.m3u       Oklahoma4https://iptv-org.github.io/iptv/subdivisions/us-ok.m3u       Oregon1https://iptv-org.github.io/iptv/subdivisions/us-or.m3u @@ -802,25 +800,25 @@ Same thing, but split up into separate files:       Rhode Island1https://iptv-org.github.io/iptv/subdivisions/us-ri.m3u       South Carolina4https://iptv-org.github.io/iptv/subdivisions/us-sc.m3u       Tennessee7https://iptv-org.github.io/iptv/subdivisions/us-tn.m3u -       Texas28https://iptv-org.github.io/iptv/subdivisions/us-tx.m3u +       Texas27https://iptv-org.github.io/iptv/subdivisions/us-tx.m3u       Utah1https://iptv-org.github.io/iptv/subdivisions/us-ut.m3u       Virginia3https://iptv-org.github.io/iptv/subdivisions/us-va.m3u       Washington5https://iptv-org.github.io/iptv/subdivisions/us-wa.m3u       Wisconsin4https://iptv-org.github.io/iptv/subdivisions/us-wi.m3u - 🇺🇾 Uruguay80https://iptv-org.github.io/iptv/countries/uy.m3u - 🇺🇿 Uzbekistan32https://iptv-org.github.io/iptv/countries/uz.m3u - 🇻🇺 Vanuatu9https://iptv-org.github.io/iptv/countries/vu.m3u - 🇻🇦 Vatican City52https://iptv-org.github.io/iptv/countries/va.m3u - 🇻🇪 Venezuela125https://iptv-org.github.io/iptv/countries/ve.m3u + 🇺🇾 Uruguay74https://iptv-org.github.io/iptv/countries/uy.m3u + 🇺🇿 Uzbekistan30https://iptv-org.github.io/iptv/countries/uz.m3u + 🇻🇺 Vanuatu5https://iptv-org.github.io/iptv/countries/vu.m3u + 🇻🇦 Vatican City31https://iptv-org.github.io/iptv/countries/va.m3u + 🇻🇪 Venezuela119https://iptv-org.github.io/iptv/countries/ve.m3u       Aragua2https://iptv-org.github.io/iptv/subdivisions/ve-d.m3u       Lara1https://iptv-org.github.io/iptv/subdivisions/ve-k.m3u - 🇻🇳 Vietnam81https://iptv-org.github.io/iptv/countries/vn.m3u - 🇼🇫 Wallis and Futuna9https://iptv-org.github.io/iptv/countries/wf.m3u - 🇪🇭 Western Sahara28https://iptv-org.github.io/iptv/countries/eh.m3u - 🇾🇪 Yemen52https://iptv-org.github.io/iptv/countries/ye.m3u - 🇿🇲 Zambia25https://iptv-org.github.io/iptv/countries/zm.m3u - 🇿🇼 Zimbabwe25https://iptv-org.github.io/iptv/countries/zw.m3u - 🌍 International62https://iptv-org.github.io/iptv/countries/int.m3u + 🇻🇳 Vietnam74https://iptv-org.github.io/iptv/countries/vn.m3u + 🇼🇫 Wallis and Futuna5https://iptv-org.github.io/iptv/countries/wf.m3u + 🇪🇭 Western Sahara26https://iptv-org.github.io/iptv/countries/eh.m3u + 🇾🇪 Yemen47https://iptv-org.github.io/iptv/countries/ye.m3u + 🇿🇲 Zambia22https://iptv-org.github.io/iptv/countries/zm.m3u + 🇿🇼 Zimbabwe22https://iptv-org.github.io/iptv/countries/zw.m3u + 🌍 International58https://iptv-org.github.io/iptv/countries/int.m3u @@ -846,40 +844,40 @@ Same thing, but split up into separate files: RegionChannelsPlaylist - Africa520https://iptv-org.github.io/iptv/regions/afr.m3u - Americas4514https://iptv-org.github.io/iptv/regions/amer.m3u - Arab world388https://iptv-org.github.io/iptv/regions/arab.m3u - Asia2713https://iptv-org.github.io/iptv/regions/asia.m3u - Asia-Pacific1725https://iptv-org.github.io/iptv/regions/apac.m3u + Africa519https://iptv-org.github.io/iptv/regions/afr.m3u + Americas4521https://iptv-org.github.io/iptv/regions/amer.m3u + Arab world387https://iptv-org.github.io/iptv/regions/arab.m3u + Asia2726https://iptv-org.github.io/iptv/regions/asia.m3u + Asia-Pacific1729https://iptv-org.github.io/iptv/regions/apac.m3u Association of Southeast Asian Nations341https://iptv-org.github.io/iptv/regions/asean.m3u - Balkan661https://iptv-org.github.io/iptv/regions/balkan.m3u - Benelux220https://iptv-org.github.io/iptv/regions/benelux.m3u - Caribbean372https://iptv-org.github.io/iptv/regions/carib.m3u - Central America316https://iptv-org.github.io/iptv/regions/cenamer.m3u - Central and Eastern Europe1064https://iptv-org.github.io/iptv/regions/cee.m3u + Balkan662https://iptv-org.github.io/iptv/regions/balkan.m3u + Benelux219https://iptv-org.github.io/iptv/regions/benelux.m3u + Caribbean370https://iptv-org.github.io/iptv/regions/carib.m3u + Central America320https://iptv-org.github.io/iptv/regions/cenamer.m3u + Central and Eastern Europe1069https://iptv-org.github.io/iptv/regions/cee.m3u Central Asia78https://iptv-org.github.io/iptv/regions/cas.m3u - Commonwealth of Independent States400https://iptv-org.github.io/iptv/regions/cis.m3u - Europe4089https://iptv-org.github.io/iptv/regions/eur.m3u - Europe, the Middle East and Africa4978https://iptv-org.github.io/iptv/regions/emea.m3u - European Union2828https://iptv-org.github.io/iptv/regions/eu.m3u - Hispanic America1759https://iptv-org.github.io/iptv/regions/hispam.m3u + Commonwealth of Independent States403https://iptv-org.github.io/iptv/regions/cis.m3u + Europe4101https://iptv-org.github.io/iptv/regions/eur.m3u + Europe, the Middle East and Africa4994https://iptv-org.github.io/iptv/regions/emea.m3u + European Union2835https://iptv-org.github.io/iptv/regions/eu.m3u + Hispanic America1753https://iptv-org.github.io/iptv/regions/hispam.m3u Latin America2052https://iptv-org.github.io/iptv/regions/latam.m3u Latin America and the Caribbean2086https://iptv-org.github.io/iptv/regions/lac.m3u - Maghreb51https://iptv-org.github.io/iptv/regions/maghreb.m3u - Middle East744https://iptv-org.github.io/iptv/regions/mideast.m3u - Middle East and North Africa780https://iptv-org.github.io/iptv/regions/mena.m3u + Maghreb50https://iptv-org.github.io/iptv/regions/maghreb.m3u + Middle East745https://iptv-org.github.io/iptv/regions/mideast.m3u + Middle East and North Africa781https://iptv-org.github.io/iptv/regions/mena.m3u Nordics92https://iptv-org.github.io/iptv/regions/nord.m3u - North America3303https://iptv-org.github.io/iptv/regions/noram.m3u + North America3309https://iptv-org.github.io/iptv/regions/noram.m3u Northern America2438https://iptv-org.github.io/iptv/regions/nam.m3u Northern Europe136https://iptv-org.github.io/iptv/regions/neur.m3u - Oceania89https://iptv-org.github.io/iptv/regions/oce.m3u + Oceania87https://iptv-org.github.io/iptv/regions/oce.m3u South America1229https://iptv-org.github.io/iptv/regions/southam.m3u - South Asia417https://iptv-org.github.io/iptv/regions/sas.m3u - Southeast Asia348https://iptv-org.github.io/iptv/regions/sea.m3u - Southern Europe1170https://iptv-org.github.io/iptv/regions/ser.m3u + South Asia428https://iptv-org.github.io/iptv/regions/sas.m3u + Southeast Asia346https://iptv-org.github.io/iptv/regions/sea.m3u + Southern Europe1169https://iptv-org.github.io/iptv/regions/ser.m3u Sub-Saharan Africa442https://iptv-org.github.io/iptv/regions/ssa.m3u West Africa198https://iptv-org.github.io/iptv/regions/wafr.m3u - Western Europe1708https://iptv-org.github.io/iptv/regions/wer.m3u + Western Europe1719https://iptv-org.github.io/iptv/regions/wer.m3u From 5ddfbacc6715e78a39bb476063d173e222ceb85e Mon Sep 17 00:00:00 2001 From: freearhey <7253922+freearhey@users.noreply.github.com> Date: Mon, 31 Mar 2025 07:50:17 +0300 Subject: [PATCH 30/85] Update tests/__data__ --- .../playlist_generate/logs/generators.log | 75 ++++++++++--------- tests/__data__/input/data/channels.json | 38 +++++++++- tests/__data__/input/data/feeds.json | 14 ++++ tests/__data__/input/playlist_generate/kg.m3u | 3 + 4 files changed, 94 insertions(+), 36 deletions(-) create mode 100644 tests/__data__/input/playlist_generate/kg.m3u diff --git a/tests/__data__/expected/playlist_generate/logs/generators.log b/tests/__data__/expected/playlist_generate/logs/generators.log index 676f9a3a4..720731423 100644 --- a/tests/__data__/expected/playlist_generate/logs/generators.log +++ b/tests/__data__/expected/playlist_generate/logs/generators.log @@ -1,71 +1,76 @@ {"type":"category","filepath":"categories/auto.m3u","count":0} -{"type":"category","filepath":"categories/animation.m3u","count":0} +{"type":"category","filepath":"categories/cooking.m3u","count":0} +{"type":"category","filepath":"categories/comedy.m3u","count":0} +{"type":"category","filepath":"categories/documentary.m3u","count":0} {"type":"category","filepath":"categories/business.m3u","count":0} {"type":"category","filepath":"categories/classic.m3u","count":0} -{"type":"category","filepath":"categories/comedy.m3u","count":0} -{"type":"category","filepath":"categories/cooking.m3u","count":0} -{"type":"category","filepath":"categories/culture.m3u","count":0} -{"type":"category","filepath":"categories/documentary.m3u","count":0} -{"type":"category","filepath":"categories/education.m3u","count":0} {"type":"category","filepath":"categories/entertainment.m3u","count":0} +{"type":"category","filepath":"categories/education.m3u","count":0} +{"type":"category","filepath":"categories/animation.m3u","count":0} {"type":"category","filepath":"categories/family.m3u","count":0} -{"type":"category","filepath":"categories/general.m3u","count":2} {"type":"category","filepath":"categories/kids.m3u","count":0} -{"type":"category","filepath":"categories/legislative.m3u","count":0} +{"type":"category","filepath":"categories/culture.m3u","count":0} {"type":"category","filepath":"categories/lifestyle.m3u","count":0} -{"type":"category","filepath":"categories/movies.m3u","count":0} -{"type":"category","filepath":"categories/music.m3u","count":0} -{"type":"category","filepath":"categories/news.m3u","count":1} +{"type":"category","filepath":"categories/general.m3u","count":3} {"type":"category","filepath":"categories/outdoor.m3u","count":0} +{"type":"category","filepath":"categories/music.m3u","count":0} +{"type":"category","filepath":"categories/legislative.m3u","count":0} +{"type":"category","filepath":"categories/series.m3u","count":0} +{"type":"category","filepath":"categories/news.m3u","count":1} +{"type":"category","filepath":"categories/movies.m3u","count":0} {"type":"category","filepath":"categories/relax.m3u","count":0} {"type":"category","filepath":"categories/religious.m3u","count":0} -{"type":"category","filepath":"categories/series.m3u","count":0} +{"type":"category","filepath":"categories/weather.m3u","count":1} {"type":"category","filepath":"categories/science.m3u","count":0} {"type":"category","filepath":"categories/shop.m3u","count":0} +{"type":"category","filepath":"categories/xxx.m3u","count":1} {"type":"category","filepath":"categories/sports.m3u","count":0} {"type":"category","filepath":"categories/travel.m3u","count":0} -{"type":"category","filepath":"categories/weather.m3u","count":1} -{"type":"category","filepath":"categories/xxx.m3u","count":1} {"type":"category","filepath":"categories/undefined.m3u","count":6} {"type":"country","filepath":"countries/ad.m3u","count":1} {"type":"country","filepath":"countries/ca.m3u","count":1} -{"type":"subdivision","filepath":"subdivisions/ca-on.m3u","count":1} +{"type":"country","filepath":"countries/kg.m3u","count":1} +{"type":"country","filepath":"countries/kz.m3u","count":1} +{"type":"country","filepath":"countries/tj.m3u","count":1} {"type":"country","filepath":"countries/ru.m3u","count":1} +{"type":"country","filepath":"countries/tm.m3u","count":1} {"type":"country","filepath":"countries/undefined.m3u","count":4} -{"type":"index","filepath":"index.category.m3u","count":10} -{"type":"index","filepath":"index.country.m3u","count":9} -{"type":"index","filepath":"index.language.m3u","count":9} -{"type":"index","filepath":"index.m3u","count":9} -{"type":"index","filepath":"index.region.m3u","count":13} -{"type":"language","filepath":"languages/eng.m3u","count":1} -{"type":"language","filepath":"languages/rus.m3u","count":1} +{"type":"country","filepath":"countries/uz.m3u","count":1} {"type":"language","filepath":"languages/cat.m3u","count":1} -{"type":"language","filepath":"languages/undefined.m3u","count":6} +{"type":"language","filepath":"languages/rus.m3u","count":1} +{"type":"subdivision","filepath":"subdivisions/ca-on.m3u","count":1} +{"type":"language","filepath":"languages/undefined.m3u","count":7} +{"type":"language","filepath":"languages/eng.m3u","count":1} {"type":"region","filepath":"regions/afr.m3u","count":0} -{"type":"region","filepath":"regions/amer.m3u","count":1} {"type":"region","filepath":"regions/apac.m3u","count":0} +{"type":"region","filepath":"regions/amer.m3u","count":1} {"type":"region","filepath":"regions/arab.m3u","count":0} {"type":"region","filepath":"regions/asean.m3u","count":0} -{"type":"region","filepath":"regions/asia.m3u","count":1} -{"type":"region","filepath":"regions/carib.m3u","count":0} -{"type":"region","filepath":"regions/cas.m3u","count":0} {"type":"region","filepath":"regions/cenamer.m3u","count":0} -{"type":"region","filepath":"regions/cis.m3u","count":1} -{"type":"region","filepath":"regions/emea.m3u","count":2} -{"type":"region","filepath":"regions/eur.m3u","count":2} +{"type":"region","filepath":"regions/asia.m3u","count":2} +{"type":"region","filepath":"regions/carib.m3u","count":0} +{"type":"region","filepath":"regions/cis.m3u","count":2} {"type":"region","filepath":"regions/hispam.m3u","count":0} +{"type":"region","filepath":"regions/emea.m3u","count":3} {"type":"region","filepath":"regions/lac.m3u","count":0} +{"type":"region","filepath":"regions/cas.m3u","count":1} {"type":"region","filepath":"regions/latam.m3u","count":0} -{"type":"region","filepath":"regions/maghreb.m3u","count":0} -{"type":"region","filepath":"regions/mena.m3u","count":0} -{"type":"region","filepath":"regions/mideast.m3u","count":0} +{"type":"region","filepath":"regions/eur.m3u","count":3} {"type":"region","filepath":"regions/nam.m3u","count":1} +{"type":"region","filepath":"regions/mena.m3u","count":0} {"type":"region","filepath":"regions/noram.m3u","count":1} +{"type":"region","filepath":"regions/mideast.m3u","count":0} +{"type":"region","filepath":"regions/maghreb.m3u","count":0} +{"type":"region","filepath":"regions/ssa.m3u","count":0} {"type":"region","filepath":"regions/nord.m3u","count":0} {"type":"region","filepath":"regions/oce.m3u","count":0} -{"type":"region","filepath":"regions/sas.m3u","count":0} {"type":"region","filepath":"regions/southam.m3u","count":0} -{"type":"region","filepath":"regions/ssa.m3u","count":0} {"type":"region","filepath":"regions/wafr.m3u","count":0} {"type":"region","filepath":"regions/int.m3u","count":2} +{"type":"region","filepath":"regions/sas.m3u","count":0} {"type":"region","filepath":"regions/undefined.m3u","count":4} +{"type":"index","filepath":"index.m3u","count":10} +{"type":"index","filepath":"index.category.m3u","count":11} +{"type":"index","filepath":"index.country.m3u","count":14} +{"type":"index","filepath":"index.language.m3u","count":10} +{"type":"index","filepath":"index.region.m3u","count":20} diff --git a/tests/__data__/input/data/channels.json b/tests/__data__/input/data/channels.json index 6adfaa377..fe31e8dc0 100644 --- a/tests/__data__/input/data/channels.json +++ b/tests/__data__/input/data/channels.json @@ -638,8 +638,44 @@ "country": "HU", "subdivision": null, "city": null, - "categories": ["General"], + "categories": [ + "General" + ], "is_nsfw": false, "logo": "https://i.imgur.com/uOBQJZS.png" + }, + { + "id": "ElTR.kg", + "name": "ElTR", + "alt_names": [ + "ЭлТР", + "МТРК ЭлТР", + "Эл каналы", + "ЭлТР Кыргызстан", + "ELTR Kyrgyzstan" + ], + "network": "ElTR", + "owners": [ + "ElTR" + ], + "country": "KG", + "subdivision": null, + "city": "Bishkek", + "broadcast_area": [ + "r/CAS" + ], + "languages": [ + "kir", + "rus" + ], + "categories": [ + "general" + ], + "is_nsfw": false, + "launched": null, + "closed": null, + "replaced_by": null, + "website": "https://eltr.kg", + "logo": "https://i.ibb.co/r6czQwQ/365049798-774721644658455-5702658175909463406-n-2.png" } ] \ No newline at end of file diff --git a/tests/__data__/input/data/feeds.json b/tests/__data__/input/data/feeds.json index 3ac036acd..5170ebf26 100644 --- a/tests/__data__/input/data/feeds.json +++ b/tests/__data__/input/data/feeds.json @@ -812,5 +812,19 @@ "Europe/London" ], "video_format": "576i" + }, + { + "channel": "ElTR.kg", + "id": "SD", + "name": "SD", + "is_main": true, + "broadcast_area": [ + "r/CAS" + ], + "timezones": [ + "Asia/Bishkek" + ], + "languages": [], + "video_format": "576i" } ] \ No newline at end of file diff --git a/tests/__data__/input/playlist_generate/kg.m3u b/tests/__data__/input/playlist_generate/kg.m3u new file mode 100644 index 000000000..9c1d5a575 --- /dev/null +++ b/tests/__data__/input/playlist_generate/kg.m3u @@ -0,0 +1,3 @@ +#EXTM3U +#EXTINF:-1 tvg-id="ElTR.kg",ЭлТР (480p) [Not 24/7] +http://gohoski.fvds.ru:3000/mediabay/162/index.m3u8 From 593db47ea315622c2ac89465c31e422ff293a7d5 Mon Sep 17 00:00:00 2001 From: freearhey <7253922+freearhey@users.noreply.github.com> Date: Mon, 31 Mar 2025 07:50:35 +0300 Subject: [PATCH 31/85] Update scripts --- scripts/generators/indexRegionGenerator.ts | 12 ++++++++++-- scripts/models/feed.ts | 10 ++++++++-- 2 files changed, 18 insertions(+), 4 deletions(-) diff --git a/scripts/generators/indexRegionGenerator.ts b/scripts/generators/indexRegionGenerator.ts index 1e31d4416..94537c9af 100644 --- a/scripts/generators/indexRegionGenerator.ts +++ b/scripts/generators/indexRegionGenerator.ts @@ -26,8 +26,15 @@ export class IndexRegionGenerator implements Generator { let groupedStreams = new Collection() this.streams .orderBy((stream: Stream) => stream.getTitle()) - .filter((stream: Stream) => stream.isSFW() && !stream.isInternational()) + .filter((stream: Stream) => stream.isSFW()) .forEach((stream: Stream) => { + if (stream.isInternational()) { + const streamClone = stream.clone() + streamClone.groupTitle = 'International' + groupedStreams.push(streamClone) + return + } + if (!stream.hasBroadcastArea()) { const streamClone = stream.clone() streamClone.groupTitle = 'Undefined' @@ -43,7 +50,8 @@ export class IndexRegionGenerator implements Generator { }) groupedStreams = groupedStreams.orderBy((stream: Stream) => { - if (stream.groupTitle === 'Undefined') return 'ZZ' + if (stream.groupTitle === 'International') return 'ZZ' + if (stream.groupTitle === 'Undefined') return 'ZZZ' return stream.groupTitle }) diff --git a/scripts/models/feed.ts b/scripts/models/feed.ts index 67d37a254..03e34762b 100644 --- a/scripts/models/feed.ts +++ b/scripts/models/feed.ts @@ -109,12 +109,18 @@ export class Feed { this.broadcastRegionCodes.forEach((code: string) => { const region: Region = regionsGroupedByCode.get(code) - broadcastCountries = broadcastCountries.concat(region.countryCodes) + if (region) { + region.countryCodes.forEach((countryCode: string) => { + broadcastCountries.add(countriesGroupedByCode.get(countryCode)) + }) + } }) this.broadcastSubdivisionCodes.forEach((code: string) => { const subdivision: Subdivision = subdivisionsGroupedByCode.get(code) - broadcastCountries.add(countriesGroupedByCode.get(subdivision.countryCode)) + if (subdivision) { + broadcastCountries.add(countriesGroupedByCode.get(subdivision.countryCode)) + } }) this.broadcastCountries = broadcastCountries.uniq().filter(Boolean) From 2c39dcab2d4e63b8d14207ebfb7930733d382a36 Mon Sep 17 00:00:00 2001 From: Luu Tuyen Date: Mon, 31 Mar 2025 12:59:11 +0700 Subject: [PATCH 32/85] Update vn.m3u --- streams/vn.m3u | 16 +++------------- 1 file changed, 3 insertions(+), 13 deletions(-) diff --git a/streams/vn.m3u b/streams/vn.m3u index fc45056c2..b7437a365 100644 --- a/streams/vn.m3u +++ b/streams/vn.m3u @@ -1,6 +1,6 @@ #EXTM3U -#EXTINF:-1 tvg-id="AnNinhTV.vn",ANTV (1080p) -https://liveh34.vtvcab.vn/hls/ONANTV_CL/04.m3u8 +#EXTINF:-1 tvg-id="AnNinhTV.vn",ANTV +https://ott1.nethubtv.vn/live/antv/playlist.m3u8 #EXTINF:-1 tvg-id="BacKanTV.vn",Bac Kan TV (406p) http://123.31.36.68/live.m3u8?c=vstv360&deviceId=&deviceType=&gcId=1532&location=NA&pkg=pkg11.hni&q=high&requestTime=1586309420781&time=1586395820&token=LX-ibJYRUq9pflRtYAxfYQ&type=tv&userId= #EXTINF:-1 tvg-id="BacLieuTV.vn",Bac Lieu TV (1080p) @@ -117,24 +117,14 @@ http://125hvt.ddns.net:21585/thvl1/tracks-v1a1/mono.m3u8 http://vinhphuctv.vn:8090/vinhphuclive/web.stream/playlist.m3u8 #EXTINF:-1 tvg-id="VTV1.vn",VTV1 (576p) http://125hvt.ddns.net:21585/vtv1/tracks-v1a1/mono.m3u8 -#EXTINF:-1 tvg-id="VTV2.vn",VTV2 (1080p) -http://str1.cvtv.xyz/vtv2?token=live #EXTINF:-1 tvg-id="VTV2.vn",VTV2 (1080p) [Geo-blocked] https://live.fptplay53.net/fnxch2/vtv2hd_abr.smil/chunklist.m3u8 #EXTINF:-1 tvg-id="VTV3.vn",VTV3 (1080p) [Geo-blocked] -https://live.fptplay53.net/fnxch2/vtv3hd_abr.smil/chunklist_b4200000.m3u8 +https://live.fptplay53.net/fnxch2/vtv3hd_abr.smil/chunklist.m3u8 #EXTINF:-1 tvg-id="VTV4.vn",VTV4 (576p) http://125hvt.ddns.net:21585/vtv4/tracks-v1a1/mono.m3u8 #EXTINF:-1 tvg-id="VTV5.vn",VTV5 http://125hvt.ddns.net:21585/vtv5/tracks-v1a1/mono.m3u8 -#EXTINF:-1 tvg-id="VTV5TayNamBo.vn",VTV5 (1080p) -http://103.47.194.152/VTV5TNB/mpegts -#EXTINF:-1 tvg-id="VTV5.vn",VTV5 (1080p) -https://liveh12.vtvcab.vn/hls/ONVTV5_CL/04.m3u8 -#EXTINF:-1 tvg-id="VTV5TayNamBo.vn",VTV5 Tây Nam Bộ (1080p) -https://liveh12.vtvcab.vn/hls/ONVTV5TNB_CL/04.m3u8 -#EXTINF:-1 tvg-id="VTV9.vn",VTV9 (1080p) -https://e2.endpoint.cdn.sctvonline.vn/hls/vtv9/index.m3u8 #EXTINF:-1 tvg-id="VTV9.vn",VTV9 (576p) http://125hvt.ddns.net:21585/vtv9/tracks-v1a1/mono.m3u8 #EXTINF:-1 tvg-id="VTVCanTho.vn",VTV Can Tho (720p) From 6c1d7c51f235904e9e7f9e505f91d3c2da62c19d Mon Sep 17 00:00:00 2001 From: Alstruit <34786806+Alstruit@users.noreply.github.com> Date: Mon, 31 Mar 2025 06:09:19 -0500 Subject: [PATCH 33/85] Update us_moveonjoy.m3u --- streams/us_moveonjoy.m3u | 2 -- 1 file changed, 2 deletions(-) diff --git a/streams/us_moveonjoy.m3u b/streams/us_moveonjoy.m3u index 4ffcdaf4d..9a2ebd3b6 100644 --- a/streams/us_moveonjoy.m3u +++ b/streams/us_moveonjoy.m3u @@ -11,8 +11,6 @@ http://fl3.moveonjoy.com/Aspire/index.m3u8 http://fl2.moveonjoy.com/BBC_AMERICA/index.m3u8 #EXTINF:-1 tvg-id="BBCNewsNorthAmerica.uk",BBC News North America http://fl2.moveonjoy.com/BBC_WORLD_NEWS/index.m3u8 -#EXTINF:-1 tvg-id="beINSportsUSA.us",beIN Sports (720p) -http://fl2.moveonjoy.com/BEIN_SPORTS/index.m3u8 #EXTINF:-1 tvg-id="BETEast.us",BET East http://fl2.moveonjoy.com/BET_EAST/index.m3u8 #EXTINF:-1 tvg-id="BETGospel.us",BET Gospel From 225fb282f45e46b217933c5995b7e29da3bc44d3 Mon Sep 17 00:00:00 2001 From: CasperMcFadden95 <145611964+CasperMcFadden95@users.noreply.github.com> Date: Mon, 31 Mar 2025 13:36:26 +0000 Subject: [PATCH 34/85] Update vn.m3u --- streams/vn.m3u | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/streams/vn.m3u b/streams/vn.m3u index b7437a365..f573aa30e 100644 --- a/streams/vn.m3u +++ b/streams/vn.m3u @@ -1,5 +1,5 @@ #EXTM3U -#EXTINF:-1 tvg-id="AnNinhTV.vn",ANTV +#EXTINF:-1 tvg-id="AnNinhTV.vn",ANTV (480p) https://ott1.nethubtv.vn/live/antv/playlist.m3u8 #EXTINF:-1 tvg-id="BacKanTV.vn",Bac Kan TV (406p) http://123.31.36.68/live.m3u8?c=vstv360&deviceId=&deviceType=&gcId=1532&location=NA&pkg=pkg11.hni&q=high&requestTime=1586309420781&time=1586395820&token=LX-ibJYRUq9pflRtYAxfYQ&type=tv&userId= From 45185bb91cdb4bd93050d9f2ccc55b9e1f3690ea Mon Sep 17 00:00:00 2001 From: "iptv-bot[bot]" <84861620+iptv-bot[bot]@users.noreply.github.com> Date: Tue, 1 Apr 2025 00:12:52 +0000 Subject: [PATCH 35/85] [Bot] Update /streams Committed by [iptv-bot](https://github.com/apps/iptv-bot) via [update](https://github.com/iptv-org/iptv/actions/runs/14184025031) workflow. closes #20977, closes #20958, closes #20937 --- streams/aw.m3u | 6 ------ streams/bs.m3u | 2 +- streams/in.m3u | 2 -- streams/ma.m3u | 10 ---------- 4 files changed, 1 insertion(+), 19 deletions(-) diff --git a/streams/aw.m3u b/streams/aw.m3u index 3984dec6f..1133a053b 100644 --- a/streams/aw.m3u +++ b/streams/aw.m3u @@ -7,12 +7,6 @@ https://livertmptwo.com:19360/atvplusrelay/atvplusrelay.m3u8 https://livertmptwo.com:19360/balchirelaytv/balchirelaytv.m3u8 #EXTINF:-1 tvg-id="CoolFM989.aw",Cool FM 98.9 (720p) https://live2.tensila.com/cool-v-1.arubara/hls/master.m3u8 -#EXTINF:-1 tvg-id="",Dushi TV (720p) -https://livertmptwo.com:19360/dushitvrelay/dushitvrelay.m3u8 -#EXTINF:-1 tvg-id="HeartRadioAruba.aw",Heart Radio Aruba (720p) [Not 24/7] -https://live2.tensila.com/heart-v-1.heartar/hls/live/mystream.m3u8 -#EXTINF:-1 tvg-id="Hit94FM.aw",Hit 94 FM (720p) -https://565280.gvideo.io/cmaf/565280_2069313/master.m3u8 #EXTINF:-1 tvg-id="NosIslaTV.aw" http-user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.90 Safari/537.36",Nos Isla TV (1080p) [Not 24/7] #EXTVLCOPT:http-user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.90 Safari/537.36 https://backend-server-dot-telearuba-app.appspot.com/media/livestream23/playlist.m3u8 diff --git a/streams/bs.m3u b/streams/bs.m3u index 718da9105..fbdaecba9 100644 --- a/streams/bs.m3u +++ b/streams/bs.m3u @@ -1,5 +1,5 @@ #EXTM3U -#EXTINF:-1 tvg-id="GuardianTalkRadio.bs",Guardian Talk Radio (1080p) +#EXTINF:-1 tvg-id="GuardianTalkRadio.bs",Guardian Talk Radio (1080p) https://cdn-edge1.streamcomedia.com/abr_tngr969fm/abr-tngr969fm_streams/playlist.m3u8 #EXTINF:-1 tvg-id="IslandLuckTV.bs",Island Luck TV (1080p) [Geo-blocked] https://islandluck-edge1.streamcomedia.com/abr_islandluck-ott/abr-islandluck-ott_streams/playlist.m3u8 diff --git a/streams/in.m3u b/streams/in.m3u index 803deef33..7df60c618 100644 --- a/streams/in.m3u +++ b/streams/in.m3u @@ -1,8 +1,6 @@ #EXTM3U #EXTINF:-1 tvg-id="7SMusic.in",7S Music (576p) [Not 24/7] http://103.199.161.254/Content/7smusic/Live/Channel(7smusic)/index.m3u8 -#EXTINF:-1 tvg-id="9XJalwa.in",9X Jalwa -https://amg01281-9xmediapvtltd-9xjalwa-samsungin-goszf.amagi.tv/playlist/amg01281-9xmediapvtltd-9xjalwa-samsungin/playlist.m3u8 #EXTINF:-1 tvg-id="9XJhakaas.in",9x Jhakaas https://amg01281-9xmediapvtltd-9xjhakaas-samsungin-ci2cs.amagi.tv/playlist/amg01281-9xmediapvtltd-9xjhakaas-samsungin/playlist.m3u8 #EXTINF:-1 tvg-id="9XTashan.in",9X Tashan diff --git a/streams/ma.m3u b/streams/ma.m3u index 9064976fe..e929f4eff 100644 --- a/streams/ma.m3u +++ b/streams/ma.m3u @@ -9,26 +9,18 @@ http://154.197.91.168:7001/play/a0fn/index.m3u8 http://154.197.91.168:7001/play/a0f5/index.m3u8 #EXTINF:-1 tvg-id="AlAoulaInter.ma",Al Aoula International (480p) https://cdn.live.easybroadcast.io/abr_corp/73_aloula_w1dqfwm/playlist_dvr.m3u8 -#EXTINF:-1 tvg-id="LaayouneTV.ma",Al Aoula Laâyoune (1080p) -http://154.197.91.168:7001/play/a0f6/index.m3u8 #EXTINF:-1 tvg-id="LaayouneTV.ma",Al Aoula Laâyoune (480p) https://cdn.live.easybroadcast.io/abr_corp/73_laayoune_pgagr52/playlist_dvr.m3u8 -#EXTINF:-1 tvg-id="AlMaghribia.ma",Al Maghribia (1080p) -http://154.197.91.168:7001/play/a0f9/index.m3u8 #EXTINF:-1 tvg-id="AlMaghribia.ma",Al Maghribia (480p) https://cdn.live.easybroadcast.io/abr_corp/73_almaghribia_83tz85q/playlist_dvr.m3u8 #EXTINF:-1 tvg-id="",Al Rahman (480p) http://149.100.11.244:8001/play/a06j/index.m3u8 #EXTINF:-1 tvg-id="Arryadia.ma",Arryadia (1080p) -http://154.197.91.168:7001/play/a0f7/index.m3u8 -#EXTINF:-1 tvg-id="Arryadia.ma",Arryadia (1080p) http://154.197.91.168:7001/play/a0fa/index.m3u8 #EXTINF:-1 tvg-id="Arryadia.ma",Arryadia (480p) https://cdn.live.easybroadcast.io/abr_corp/73_arryadia_k2tgcj0/playlist_dvr.m3u8 #EXTINF:-1 tvg-id="Assadissa.ma",Assadissa (480p) https://cdn.live.easybroadcast.io/abr_corp/73_assadissa_7b7u5n1/playlist_dvr.m3u8 -#EXTINF:-1 tvg-id="Athaqafia.ma",Athaqafia (1080p) -http://154.197.91.168:7001/play/a0f8/index.m3u8 #EXTINF:-1 tvg-id="Athaqafia.ma",Athaqafia (480p) https://cdn.live.easybroadcast.io/abr_corp/73_arrabia_hthcj4p/playlist_dvr.m3u8 #EXTINF:-1 tvg-id="ChadaTV.ma",Chada TV (720p) @@ -49,7 +41,5 @@ https://streaming2.medi1tv.com/live/smil:medi1ar.smil/playlist.m3u8 https://streaming1.medi1tv.com/live/smil:medi1tv.smil/playlist.m3u8 #EXTINF:-1 tvg-id="Medi1TVMaghreb.ma",Medi 1 TV Maghreb (1080p) [Not 24/7] https://streaming2.medi1tv.com/live/smil:medi1tv.smil/playlist.m3u8 -#EXTINF:-1 tvg-id="TamazightTV.ma",Tamazight (1080p) -http://154.197.91.168:7001/play/a0fb/index.m3u8 #EXTINF:-1 tvg-id="TamazightTV.ma",Tamazight (480p) https://cdn.live.easybroadcast.io/abr_corp/73_tamazight_tccybxt/playlist_dvr.m3u8 From a4d801c2fc2b104242c8f9072da940af5cf2407f Mon Sep 17 00:00:00 2001 From: "iptv-bot[bot]" <84861620+iptv-bot[bot]@users.noreply.github.com> Date: Tue, 1 Apr 2025 00:12:53 +0000 Subject: [PATCH 36/85] [Bot] Update README.md Committed by [iptv-bot](https://github.com/apps/iptv-bot) via [update](https://github.com/iptv-org/iptv/actions/runs/14184025031) workflow. --- README.md | 426 +++++++++++++++++++++++++++--------------------------- 1 file changed, 214 insertions(+), 212 deletions(-) diff --git a/README.md b/README.md index aa12813ee..9f5197583 100644 --- a/README.md +++ b/README.md @@ -60,29 +60,29 @@ Same thing, but split up into separate files: Classic44https://iptv-org.github.io/iptv/categories/classic.m3u Comedy60https://iptv-org.github.io/iptv/categories/comedy.m3u Cooking24https://iptv-org.github.io/iptv/categories/cooking.m3u - Culture169https://iptv-org.github.io/iptv/categories/culture.m3u + Culture170https://iptv-org.github.io/iptv/categories/culture.m3u Documentary80https://iptv-org.github.io/iptv/categories/documentary.m3u Education154https://iptv-org.github.io/iptv/categories/education.m3u - Entertainment544https://iptv-org.github.io/iptv/categories/entertainment.m3u + Entertainment547https://iptv-org.github.io/iptv/categories/entertainment.m3u Family35https://iptv-org.github.io/iptv/categories/family.m3u - General2328https://iptv-org.github.io/iptv/categories/general.m3u + General2334https://iptv-org.github.io/iptv/categories/general.m3u Kids182https://iptv-org.github.io/iptv/categories/kids.m3u - Legislative191https://iptv-org.github.io/iptv/categories/legislative.m3u + Legislative192https://iptv-org.github.io/iptv/categories/legislative.m3u Lifestyle79https://iptv-org.github.io/iptv/categories/lifestyle.m3u Movies235https://iptv-org.github.io/iptv/categories/movies.m3u - Music661https://iptv-org.github.io/iptv/categories/music.m3u - News763https://iptv-org.github.io/iptv/categories/news.m3u + Music659https://iptv-org.github.io/iptv/categories/music.m3u + News766https://iptv-org.github.io/iptv/categories/news.m3u Outdoor41https://iptv-org.github.io/iptv/categories/outdoor.m3u Relax3https://iptv-org.github.io/iptv/categories/relax.m3u - Religious693https://iptv-org.github.io/iptv/categories/religious.m3u + Religious694https://iptv-org.github.io/iptv/categories/religious.m3u Science21https://iptv-org.github.io/iptv/categories/science.m3u Series149https://iptv-org.github.io/iptv/categories/series.m3u Shop86https://iptv-org.github.io/iptv/categories/shop.m3u - Sports267https://iptv-org.github.io/iptv/categories/sports.m3u + Sports270https://iptv-org.github.io/iptv/categories/sports.m3u Travel40https://iptv-org.github.io/iptv/categories/travel.m3u Weather13https://iptv-org.github.io/iptv/categories/weather.m3u XXX0https://iptv-org.github.io/iptv/categories/xxx.m3u - Undefined4732https://iptv-org.github.io/iptv/categories/undefined.m3u + Undefined4734https://iptv-org.github.io/iptv/categories/undefined.m3u @@ -138,7 +138,7 @@ Same thing, but split up into separate files: Chewa3https://iptv-org.github.io/iptv/languages/nya.m3u Chhattisgarhi1https://iptv-org.github.io/iptv/languages/hne.m3u Chiga1https://iptv-org.github.io/iptv/languages/cgg.m3u - Chinese193https://iptv-org.github.io/iptv/languages/zho.m3u + Chinese194https://iptv-org.github.io/iptv/languages/zho.m3u Croatian22https://iptv-org.github.io/iptv/languages/hrv.m3u Czech35https://iptv-org.github.io/iptv/languages/ces.m3u Danish19https://iptv-org.github.io/iptv/languages/dan.m3u @@ -147,10 +147,10 @@ Same thing, but split up into separate files: Dhivehi10https://iptv-org.github.io/iptv/languages/div.m3u Dholuo2https://iptv-org.github.io/iptv/languages/luo.m3u Dimili2https://iptv-org.github.io/iptv/languages/zza.m3u - Dutch191https://iptv-org.github.io/iptv/languages/nld.m3u + Dutch192https://iptv-org.github.io/iptv/languages/nld.m3u Dyula1https://iptv-org.github.io/iptv/languages/dyu.m3u Egyptian Arabic2https://iptv-org.github.io/iptv/languages/arz.m3u - English2096https://iptv-org.github.io/iptv/languages/eng.m3u + English2112https://iptv-org.github.io/iptv/languages/eng.m3u Estonian9https://iptv-org.github.io/iptv/languages/est.m3u Ewe2https://iptv-org.github.io/iptv/languages/ewe.m3u Faroese1https://iptv-org.github.io/iptv/languages/fao.m3u @@ -165,7 +165,7 @@ Same thing, but split up into separate files: Ganda5https://iptv-org.github.io/iptv/languages/lug.m3u Gen1https://iptv-org.github.io/iptv/languages/gej.m3u Georgian9https://iptv-org.github.io/iptv/languages/kat.m3u - German259https://iptv-org.github.io/iptv/languages/deu.m3u + German256https://iptv-org.github.io/iptv/languages/deu.m3u Gikuyu2https://iptv-org.github.io/iptv/languages/kik.m3u Goan Konkani1https://iptv-org.github.io/iptv/languages/gom.m3u Greek125https://iptv-org.github.io/iptv/languages/ell.m3u @@ -176,7 +176,7 @@ Same thing, but split up into separate files: Haitian4https://iptv-org.github.io/iptv/languages/hat.m3u Hausa2https://iptv-org.github.io/iptv/languages/hau.m3u Hebrew13https://iptv-org.github.io/iptv/languages/heb.m3u - Hindi121https://iptv-org.github.io/iptv/languages/hin.m3u + Hindi120https://iptv-org.github.io/iptv/languages/hin.m3u Hmong1https://iptv-org.github.io/iptv/languages/hmn.m3u Hungarian104https://iptv-org.github.io/iptv/languages/hun.m3u Icelandic5https://iptv-org.github.io/iptv/languages/isl.m3u @@ -232,12 +232,12 @@ Same thing, but split up into separate files: Nyoro1https://iptv-org.github.io/iptv/languages/nyo.m3u Oriya (macrolanguage)7https://iptv-org.github.io/iptv/languages/ori.m3u Panjabi27https://iptv-org.github.io/iptv/languages/pan.m3u - Papiamento17https://iptv-org.github.io/iptv/languages/pap.m3u + Papiamento18https://iptv-org.github.io/iptv/languages/pap.m3u Parsi-Dari3https://iptv-org.github.io/iptv/languages/prd.m3u Pashto16https://iptv-org.github.io/iptv/languages/pus.m3u Persian138https://iptv-org.github.io/iptv/languages/fas.m3u - Polish148https://iptv-org.github.io/iptv/languages/pol.m3u - Portuguese336https://iptv-org.github.io/iptv/languages/por.m3u + Polish144https://iptv-org.github.io/iptv/languages/pol.m3u + Portuguese334https://iptv-org.github.io/iptv/languages/por.m3u Pulaar1https://iptv-org.github.io/iptv/languages/fuc.m3u Quechua1https://iptv-org.github.io/iptv/languages/que.m3u Romanian126https://iptv-org.github.io/iptv/languages/ron.m3u @@ -253,7 +253,7 @@ Same thing, but split up into separate files: Slovak49https://iptv-org.github.io/iptv/languages/slk.m3u Slovenian13https://iptv-org.github.io/iptv/languages/slv.m3u Somali11https://iptv-org.github.io/iptv/languages/som.m3u - Spanish2063https://iptv-org.github.io/iptv/languages/spa.m3u + Spanish2067https://iptv-org.github.io/iptv/languages/spa.m3u Sranan Tongo3https://iptv-org.github.io/iptv/languages/srn.m3u Swahili24https://iptv-org.github.io/iptv/languages/swa.m3u Swedish16https://iptv-org.github.io/iptv/languages/swe.m3u @@ -278,7 +278,7 @@ Same thing, but split up into separate files: Ukrainian61https://iptv-org.github.io/iptv/languages/ukr.m3u Urdu38https://iptv-org.github.io/iptv/languages/urd.m3u Uzbek14https://iptv-org.github.io/iptv/languages/uzb.m3u - Vietnamese68https://iptv-org.github.io/iptv/languages/vie.m3u + Vietnamese67https://iptv-org.github.io/iptv/languages/vie.m3u Welsh1https://iptv-org.github.io/iptv/languages/cym.m3u Western Frisian1https://iptv-org.github.io/iptv/languages/fry.m3u Wolof8https://iptv-org.github.io/iptv/languages/wol.m3u @@ -287,7 +287,7 @@ Same thing, but split up into separate files: Yucatec Maya1https://iptv-org.github.io/iptv/languages/yua.m3u Yue Chinese7https://iptv-org.github.io/iptv/languages/yue.m3u Zarma1https://iptv-org.github.io/iptv/languages/dje.m3u - Undefined2892https://iptv-org.github.io/iptv/languages/undefined.m3u + Undefined2898https://iptv-org.github.io/iptv/languages/undefined.m3u @@ -313,15 +313,15 @@ Same thing, but split up into separate files: CountryChannelsPlaylist - 🇦🇫 Afghanistan32https://iptv-org.github.io/iptv/countries/af.m3u - 🇦🇱 Albania44https://iptv-org.github.io/iptv/countries/al.m3u - 🇩🇿 Algeria70https://iptv-org.github.io/iptv/countries/dz.m3u + 🇦🇫 Afghanistan31https://iptv-org.github.io/iptv/countries/af.m3u + 🇦🇱 Albania42https://iptv-org.github.io/iptv/countries/al.m3u + 🇩🇿 Algeria71https://iptv-org.github.io/iptv/countries/dz.m3u 🇦🇸 American Samoa5https://iptv-org.github.io/iptv/countries/as.m3u - 🇦🇩 Andorra36https://iptv-org.github.io/iptv/countries/ad.m3u - 🇦🇴 Angola25https://iptv-org.github.io/iptv/countries/ao.m3u + 🇦🇩 Andorra34https://iptv-org.github.io/iptv/countries/ad.m3u + 🇦🇴 Angola26https://iptv-org.github.io/iptv/countries/ao.m3u 🇦🇮 Anguilla12https://iptv-org.github.io/iptv/countries/ai.m3u 🇦🇬 Antigua and Barbuda13https://iptv-org.github.io/iptv/countries/ag.m3u - 🇦🇷 Argentina225https://iptv-org.github.io/iptv/countries/ar.m3u + 🇦🇷 Argentina222https://iptv-org.github.io/iptv/countries/ar.m3u       Buenos Aires18https://iptv-org.github.io/iptv/subdivisions/ar-b.m3u       Catamarca1https://iptv-org.github.io/iptv/subdivisions/ar-k.m3u       Chaco3https://iptv-org.github.io/iptv/subdivisions/ar-h.m3u @@ -344,31 +344,31 @@ Same thing, but split up into separate files:       Santa Fe3https://iptv-org.github.io/iptv/subdivisions/ar-s.m3u       Santiago del Estero1https://iptv-org.github.io/iptv/subdivisions/ar-g.m3u       Tucuman2https://iptv-org.github.io/iptv/subdivisions/ar-t.m3u - 🇦🇲 Armenia64https://iptv-org.github.io/iptv/countries/am.m3u - 🇦🇼 Aruba22https://iptv-org.github.io/iptv/countries/aw.m3u - 🇦🇺 Australia63https://iptv-org.github.io/iptv/countries/au.m3u - 🇦🇹 Austria302https://iptv-org.github.io/iptv/countries/at.m3u - 🇦🇿 Azerbaijan60https://iptv-org.github.io/iptv/countries/az.m3u - 🇧🇸 Bahamas12https://iptv-org.github.io/iptv/countries/bs.m3u + 🇦🇲 Armenia55https://iptv-org.github.io/iptv/countries/am.m3u + 🇦🇼 Aruba21https://iptv-org.github.io/iptv/countries/aw.m3u + 🇦🇺 Australia38https://iptv-org.github.io/iptv/countries/au.m3u + 🇦🇹 Austria74https://iptv-org.github.io/iptv/countries/at.m3u + 🇦🇿 Azerbaijan50https://iptv-org.github.io/iptv/countries/az.m3u + 🇧🇸 Bahamas15https://iptv-org.github.io/iptv/countries/bs.m3u 🇧🇭 Bahrain47https://iptv-org.github.io/iptv/countries/bh.m3u - 🇧🇩 Bangladesh22https://iptv-org.github.io/iptv/countries/bd.m3u + 🇧🇩 Bangladesh21https://iptv-org.github.io/iptv/countries/bd.m3u 🇧🇧 Barbados13https://iptv-org.github.io/iptv/countries/bb.m3u - 🇧🇾 Belarus55https://iptv-org.github.io/iptv/countries/by.m3u - 🇧🇪 Belgium79https://iptv-org.github.io/iptv/countries/be.m3u - 🇧🇿 Belize18https://iptv-org.github.io/iptv/countries/bz.m3u - 🇧🇯 Benin31https://iptv-org.github.io/iptv/countries/bj.m3u + 🇧🇾 Belarus51https://iptv-org.github.io/iptv/countries/by.m3u + 🇧🇪 Belgium76https://iptv-org.github.io/iptv/countries/be.m3u + 🇧🇿 Belize9https://iptv-org.github.io/iptv/countries/bz.m3u + 🇧🇯 Benin32https://iptv-org.github.io/iptv/countries/bj.m3u 🇧🇲 Bermuda7https://iptv-org.github.io/iptv/countries/bm.m3u 🇧🇹 Bhutan5https://iptv-org.github.io/iptv/countries/bt.m3u - 🇧🇴 Bolivia131https://iptv-org.github.io/iptv/countries/bo.m3u + 🇧🇴 Bolivia127https://iptv-org.github.io/iptv/countries/bo.m3u       Cochabamba1https://iptv-org.github.io/iptv/subdivisions/bo-c.m3u       La Paz2https://iptv-org.github.io/iptv/subdivisions/bo-l.m3u       Oruro1https://iptv-org.github.io/iptv/subdivisions/bo-o.m3u       Santa Cruz2https://iptv-org.github.io/iptv/subdivisions/bo-s.m3u - 🇧🇶 Bonaire4https://iptv-org.github.io/iptv/countries/bq.m3u - 🇧🇦 Bosnia and Herzegovina51https://iptv-org.github.io/iptv/countries/ba.m3u - 🇧🇼 Botswana22https://iptv-org.github.io/iptv/countries/bw.m3u + 🇧🇶 Bonaire5https://iptv-org.github.io/iptv/countries/bq.m3u + 🇧🇦 Bosnia and Herzegovina48https://iptv-org.github.io/iptv/countries/ba.m3u + 🇧🇼 Botswana23https://iptv-org.github.io/iptv/countries/bw.m3u 🇧🇻 Bouvet Island5https://iptv-org.github.io/iptv/countries/bv.m3u - 🇧🇷 Brazil312https://iptv-org.github.io/iptv/countries/br.m3u + 🇧🇷 Brazil298https://iptv-org.github.io/iptv/countries/br.m3u       Alagoas3https://iptv-org.github.io/iptv/subdivisions/br-al.m3u       Amazonas1https://iptv-org.github.io/iptv/subdivisions/br-am.m3u       Bahia5https://iptv-org.github.io/iptv/subdivisions/br-ba.m3u @@ -390,14 +390,14 @@ Same thing, but split up into separate files:       Roraima1https://iptv-org.github.io/iptv/subdivisions/br-rr.m3u       Santa Catarina9https://iptv-org.github.io/iptv/subdivisions/br-sc.m3u       Sao Paulo24https://iptv-org.github.io/iptv/subdivisions/br-sp.m3u - 🇻🇬 British Virgin Islands13https://iptv-org.github.io/iptv/countries/vg.m3u + 🇻🇬 British Virgin Islands14https://iptv-org.github.io/iptv/countries/vg.m3u 🇧🇳 Brunei16https://iptv-org.github.io/iptv/countries/bn.m3u - 🇧🇬 Bulgaria71https://iptv-org.github.io/iptv/countries/bg.m3u - 🇧🇫 Burkina Faso27https://iptv-org.github.io/iptv/countries/bf.m3u - 🇧🇮 Burundi22https://iptv-org.github.io/iptv/countries/bi.m3u - 🇰🇭 Cambodia37https://iptv-org.github.io/iptv/countries/kh.m3u - 🇨🇲 Cameroon53https://iptv-org.github.io/iptv/countries/cm.m3u - 🇨🇦 Canada406https://iptv-org.github.io/iptv/countries/ca.m3u + 🇧🇬 Bulgaria69https://iptv-org.github.io/iptv/countries/bg.m3u + 🇧🇫 Burkina Faso28https://iptv-org.github.io/iptv/countries/bf.m3u + 🇧🇮 Burundi23https://iptv-org.github.io/iptv/countries/bi.m3u + 🇰🇭 Cambodia35https://iptv-org.github.io/iptv/countries/kh.m3u + 🇨🇲 Cameroon54https://iptv-org.github.io/iptv/countries/cm.m3u + 🇨🇦 Canada171https://iptv-org.github.io/iptv/countries/ca.m3u       Alberta5https://iptv-org.github.io/iptv/subdivisions/ca-ab.m3u       British Columbia5https://iptv-org.github.io/iptv/subdivisions/ca-bc.m3u       Manitoba3https://iptv-org.github.io/iptv/subdivisions/ca-mb.m3u @@ -410,11 +410,11 @@ Same thing, but split up into separate files:       Prince Edward Island1https://iptv-org.github.io/iptv/subdivisions/ca-pe.m3u       Quebec15https://iptv-org.github.io/iptv/subdivisions/ca-qc.m3u       Saskatchewan2https://iptv-org.github.io/iptv/subdivisions/ca-sk.m3u - 🇨🇻 Cape Verde26https://iptv-org.github.io/iptv/countries/cv.m3u + 🇨🇻 Cape Verde27https://iptv-org.github.io/iptv/countries/cv.m3u 🇰🇾 Cayman Islands12https://iptv-org.github.io/iptv/countries/ky.m3u - 🇨🇫 Central African Republic21https://iptv-org.github.io/iptv/countries/cf.m3u - 🇹🇩 Chad22https://iptv-org.github.io/iptv/countries/td.m3u - 🇨🇱 Chile266https://iptv-org.github.io/iptv/countries/cl.m3u + 🇨🇫 Central African Republic22https://iptv-org.github.io/iptv/countries/cf.m3u + 🇹🇩 Chad23https://iptv-org.github.io/iptv/countries/td.m3u + 🇨🇱 Chile265https://iptv-org.github.io/iptv/countries/cl.m3u       Atacama1https://iptv-org.github.io/iptv/subdivisions/cl-at.m3u       Biobio3https://iptv-org.github.io/iptv/subdivisions/cl-bi.m3u       Coquimbo1https://iptv-org.github.io/iptv/subdivisions/cl-co.m3u @@ -424,8 +424,8 @@ Same thing, but split up into separate files:       Maule1https://iptv-org.github.io/iptv/subdivisions/cl-ml.m3u       Nuble3https://iptv-org.github.io/iptv/subdivisions/cl-nb.m3u       Valparaiso2https://iptv-org.github.io/iptv/subdivisions/cl-vs.m3u - 🇨🇳 China632https://iptv-org.github.io/iptv/countries/cn.m3u - 🇨🇴 Colombia196https://iptv-org.github.io/iptv/countries/co.m3u + 🇨🇳 China149https://iptv-org.github.io/iptv/countries/cn.m3u + 🇨🇴 Colombia193https://iptv-org.github.io/iptv/countries/co.m3u       Antioquia1https://iptv-org.github.io/iptv/subdivisions/co-ant.m3u       Atlantico1https://iptv-org.github.io/iptv/subdivisions/co-atl.m3u       Bolivar1https://iptv-org.github.io/iptv/subdivisions/co-bol.m3u @@ -442,21 +442,21 @@ Same thing, but split up into separate files:       San Andres, Providencia y Santa Catalina1https://iptv-org.github.io/iptv/subdivisions/co-sap.m3u       Tolima1https://iptv-org.github.io/iptv/subdivisions/co-tol.m3u       Valle del Cauca5https://iptv-org.github.io/iptv/subdivisions/co-vac.m3u - 🇰🇲 Comoros59https://iptv-org.github.io/iptv/countries/km.m3u + 🇰🇲 Comoros60https://iptv-org.github.io/iptv/countries/km.m3u 🇨🇰 Cook Islands5https://iptv-org.github.io/iptv/countries/ck.m3u - 🇨🇷 Costa Rica137https://iptv-org.github.io/iptv/countries/cr.m3u + 🇨🇷 Costa Rica136https://iptv-org.github.io/iptv/countries/cr.m3u       Puntarenas1https://iptv-org.github.io/iptv/subdivisions/cr-p.m3u       San Jose1https://iptv-org.github.io/iptv/subdivisions/cr-sj.m3u - 🇭🇷 Croatia64https://iptv-org.github.io/iptv/countries/hr.m3u - 🇨🇺 Cuba68https://iptv-org.github.io/iptv/countries/cu.m3u - 🇨🇼 Curacao20https://iptv-org.github.io/iptv/countries/cw.m3u - 🇨🇾 Cyprus74https://iptv-org.github.io/iptv/countries/cy.m3u - 🇨🇿 Czech Republic74https://iptv-org.github.io/iptv/countries/cz.m3u - 🇨🇩 Democratic Republic of the Congo60https://iptv-org.github.io/iptv/countries/cd.m3u - 🇩🇰 Denmark65https://iptv-org.github.io/iptv/countries/dk.m3u - 🇩🇯 Djibouti62https://iptv-org.github.io/iptv/countries/dj.m3u + 🇭🇷 Croatia62https://iptv-org.github.io/iptv/countries/hr.m3u + 🇨🇺 Cuba67https://iptv-org.github.io/iptv/countries/cu.m3u + 🇨🇼 Curacao18https://iptv-org.github.io/iptv/countries/cw.m3u + 🇨🇾 Cyprus72https://iptv-org.github.io/iptv/countries/cy.m3u + 🇨🇿 Czech Republic72https://iptv-org.github.io/iptv/countries/cz.m3u + 🇨🇩 Democratic Republic of the Congo59https://iptv-org.github.io/iptv/countries/cd.m3u + 🇩🇰 Denmark58https://iptv-org.github.io/iptv/countries/dk.m3u + 🇩🇯 Djibouti63https://iptv-org.github.io/iptv/countries/dj.m3u 🇩🇲 Dominica13https://iptv-org.github.io/iptv/countries/dm.m3u - 🇩🇴 Dominican Republic316https://iptv-org.github.io/iptv/countries/do.m3u + 🇩🇴 Dominican Republic251https://iptv-org.github.io/iptv/countries/do.m3u       Distrito Nacional (Santo Domingo)2https://iptv-org.github.io/iptv/subdivisions/do-01.m3u       El Seibo1https://iptv-org.github.io/iptv/subdivisions/do-08.m3u       La Altagracia2https://iptv-org.github.io/iptv/subdivisions/do-11.m3u @@ -467,32 +467,32 @@ Same thing, but split up into separate files:       Santiago1https://iptv-org.github.io/iptv/subdivisions/do-25.m3u       Valverde1https://iptv-org.github.io/iptv/subdivisions/do-27.m3u 🇹🇱 East Timor10https://iptv-org.github.io/iptv/countries/tl.m3u - 🇪🇨 Ecuador139https://iptv-org.github.io/iptv/countries/ec.m3u + 🇪🇨 Ecuador138https://iptv-org.github.io/iptv/countries/ec.m3u       Azuay1https://iptv-org.github.io/iptv/subdivisions/ec-a.m3u       Loja2https://iptv-org.github.io/iptv/subdivisions/ec-l.m3u       Orellana1https://iptv-org.github.io/iptv/subdivisions/ec-d.m3u 🇪🇬 Egypt92https://iptv-org.github.io/iptv/countries/eg.m3u - 🇸🇻 El Salvador100https://iptv-org.github.io/iptv/countries/sv.m3u - 🇬🇶 Equatorial Guinea25https://iptv-org.github.io/iptv/countries/gq.m3u - 🇪🇷 Eritrea21https://iptv-org.github.io/iptv/countries/er.m3u - 🇪🇪 Estonia68https://iptv-org.github.io/iptv/countries/ee.m3u + 🇸🇻 El Salvador99https://iptv-org.github.io/iptv/countries/sv.m3u + 🇬🇶 Equatorial Guinea26https://iptv-org.github.io/iptv/countries/gq.m3u + 🇪🇷 Eritrea22https://iptv-org.github.io/iptv/countries/er.m3u + 🇪🇪 Estonia66https://iptv-org.github.io/iptv/countries/ee.m3u 🇪🇹 Ethiopia26https://iptv-org.github.io/iptv/countries/et.m3u 🇫🇰 Falkland Islands5https://iptv-org.github.io/iptv/countries/fk.m3u 🇫🇴 Faroe Islands1https://iptv-org.github.io/iptv/countries/fo.m3u 🇫🇯 Fiji6https://iptv-org.github.io/iptv/countries/fj.m3u - 🇫🇮 Finland67https://iptv-org.github.io/iptv/countries/fi.m3u + 🇫🇮 Finland63https://iptv-org.github.io/iptv/countries/fi.m3u       Keski-Suomi1https://iptv-org.github.io/iptv/subdivisions/fi-08.m3u       Pohjanmaa1https://iptv-org.github.io/iptv/subdivisions/fi-12.m3u - 🇫🇷 France376https://iptv-org.github.io/iptv/countries/fr.m3u + 🇫🇷 France155https://iptv-org.github.io/iptv/countries/fr.m3u 🇬🇫 French Guiana18https://iptv-org.github.io/iptv/countries/gf.m3u 🇵🇫 French Polynesia6https://iptv-org.github.io/iptv/countries/pf.m3u - 🇹🇫 French Southern Territories21https://iptv-org.github.io/iptv/countries/tf.m3u - 🇬🇦 Gabon26https://iptv-org.github.io/iptv/countries/ga.m3u - 🇬🇲 Gambia22https://iptv-org.github.io/iptv/countries/gm.m3u - 🇬🇪 Georgia39https://iptv-org.github.io/iptv/countries/ge.m3u - 🇩🇪 Germany489https://iptv-org.github.io/iptv/countries/de.m3u - 🇬🇭 Ghana40https://iptv-org.github.io/iptv/countries/gh.m3u - 🇬🇷 Greece155https://iptv-org.github.io/iptv/countries/gr.m3u + 🇹🇫 French Southern Territories22https://iptv-org.github.io/iptv/countries/tf.m3u + 🇬🇦 Gabon27https://iptv-org.github.io/iptv/countries/ga.m3u + 🇬🇲 Gambia23https://iptv-org.github.io/iptv/countries/gm.m3u + 🇬🇪 Georgia37https://iptv-org.github.io/iptv/countries/ge.m3u + 🇩🇪 Germany248https://iptv-org.github.io/iptv/countries/de.m3u + 🇬🇭 Ghana41https://iptv-org.github.io/iptv/countries/gh.m3u + 🇬🇷 Greece146https://iptv-org.github.io/iptv/countries/gr.m3u       Attiki10https://iptv-org.github.io/iptv/subdivisions/gr-i.m3u       Dytiki Ellada5https://iptv-org.github.io/iptv/subdivisions/gr-g.m3u       Dytiki Makedonia2https://iptv-org.github.io/iptv/subdivisions/gr-c.m3u @@ -506,7 +506,7 @@ Same thing, but split up into separate files: 🇬🇩 Grenada12https://iptv-org.github.io/iptv/countries/gd.m3u 🇬🇵 Guadeloupe26https://iptv-org.github.io/iptv/countries/gp.m3u 🇬🇺 Guam7https://iptv-org.github.io/iptv/countries/gu.m3u - 🇬🇹 Guatemala148https://iptv-org.github.io/iptv/countries/gt.m3u + 🇬🇹 Guatemala147https://iptv-org.github.io/iptv/countries/gt.m3u       Escuintla2https://iptv-org.github.io/iptv/subdivisions/gt-05.m3u       Huehuetenango1https://iptv-org.github.io/iptv/subdivisions/gt-13.m3u       Izabal1https://iptv-org.github.io/iptv/subdivisions/gt-18.m3u @@ -516,16 +516,16 @@ Same thing, but split up into separate files:       Santa Rosa1https://iptv-org.github.io/iptv/subdivisions/gt-06.m3u       Solola4https://iptv-org.github.io/iptv/subdivisions/gt-07.m3u       Totonicapan1https://iptv-org.github.io/iptv/subdivisions/gt-08.m3u - 🇬🇳 Guinea33https://iptv-org.github.io/iptv/countries/gn.m3u - 🇬🇼 Guinea-Bissau21https://iptv-org.github.io/iptv/countries/gw.m3u - 🇬🇾 Guyana19https://iptv-org.github.io/iptv/countries/gy.m3u - 🇭🇹 Haiti48https://iptv-org.github.io/iptv/countries/ht.m3u - 🇭🇳 Honduras139https://iptv-org.github.io/iptv/countries/hn.m3u - 🇭🇰 Hong Kong19https://iptv-org.github.io/iptv/countries/hk.m3u - 🇭🇺 Hungary142https://iptv-org.github.io/iptv/countries/hu.m3u - 🇮🇸 Iceland35https://iptv-org.github.io/iptv/countries/is.m3u - 🇮🇳 India324https://iptv-org.github.io/iptv/countries/in.m3u - 🇮🇩 Indonesia144https://iptv-org.github.io/iptv/countries/id.m3u + 🇬🇳 Guinea34https://iptv-org.github.io/iptv/countries/gn.m3u + 🇬🇼 Guinea-Bissau22https://iptv-org.github.io/iptv/countries/gw.m3u + 🇬🇾 Guyana18https://iptv-org.github.io/iptv/countries/gy.m3u + 🇭🇹 Haiti44https://iptv-org.github.io/iptv/countries/ht.m3u + 🇭🇳 Honduras138https://iptv-org.github.io/iptv/countries/hn.m3u + 🇭🇰 Hong Kong14https://iptv-org.github.io/iptv/countries/hk.m3u + 🇭🇺 Hungary139https://iptv-org.github.io/iptv/countries/hu.m3u + 🇮🇸 Iceland33https://iptv-org.github.io/iptv/countries/is.m3u + 🇮🇳 India300https://iptv-org.github.io/iptv/countries/in.m3u + 🇮🇩 Indonesia143https://iptv-org.github.io/iptv/countries/id.m3u       Aceh2https://iptv-org.github.io/iptv/subdivisions/id-ac.m3u       Bali2https://iptv-org.github.io/iptv/subdivisions/id-ba.m3u       Banten1https://iptv-org.github.io/iptv/subdivisions/id-bt.m3u @@ -555,15 +555,15 @@ Same thing, but split up into separate files:       Sumatera Barat2https://iptv-org.github.io/iptv/subdivisions/id-sb.m3u       Sumatera Selatan2https://iptv-org.github.io/iptv/subdivisions/id-ss.m3u       Yogyakarta3https://iptv-org.github.io/iptv/subdivisions/id-yo.m3u - 🇮🇷 Iran147https://iptv-org.github.io/iptv/countries/ir.m3u - 🇮🇶 Iraq116https://iptv-org.github.io/iptv/countries/iq.m3u - 🇮🇪 Ireland59https://iptv-org.github.io/iptv/countries/ie.m3u - 🇮🇱 Israel24https://iptv-org.github.io/iptv/countries/il.m3u - 🇮🇹 Italy432https://iptv-org.github.io/iptv/countries/it.m3u + 🇮🇷 Iran123https://iptv-org.github.io/iptv/countries/ir.m3u + 🇮🇶 Iraq109https://iptv-org.github.io/iptv/countries/iq.m3u + 🇮🇪 Ireland57https://iptv-org.github.io/iptv/countries/ie.m3u + 🇮🇱 Israel22https://iptv-org.github.io/iptv/countries/il.m3u + 🇮🇹 Italy322https://iptv-org.github.io/iptv/countries/it.m3u       Trentino-Alto Adige3https://iptv-org.github.io/iptv/subdivisions/it-32.m3u - 🇨🇮 Ivory Coast50https://iptv-org.github.io/iptv/countries/ci.m3u + 🇨🇮 Ivory Coast51https://iptv-org.github.io/iptv/countries/ci.m3u 🇯🇲 Jamaica19https://iptv-org.github.io/iptv/countries/jm.m3u - 🇯🇵 Japan72https://iptv-org.github.io/iptv/countries/jp.m3u + 🇯🇵 Japan68https://iptv-org.github.io/iptv/countries/jp.m3u       Chiba2https://iptv-org.github.io/iptv/subdivisions/jp-12.m3u       Gunma1https://iptv-org.github.io/iptv/subdivisions/jp-10.m3u       Ibaraki1https://iptv-org.github.io/iptv/subdivisions/jp-08.m3u @@ -573,34 +573,34 @@ Same thing, but split up into separate files:       Tochigi1https://iptv-org.github.io/iptv/subdivisions/jp-09.m3u       Tokyo1https://iptv-org.github.io/iptv/subdivisions/jp-13.m3u 🇯🇴 Jordan69https://iptv-org.github.io/iptv/countries/jo.m3u - 🇰🇿 Kazakhstan73https://iptv-org.github.io/iptv/countries/kz.m3u - 🇰🇪 Kenya61https://iptv-org.github.io/iptv/countries/ke.m3u + 🇰🇿 Kazakhstan70https://iptv-org.github.io/iptv/countries/kz.m3u + 🇰🇪 Kenya62https://iptv-org.github.io/iptv/countries/ke.m3u 🇰🇮 Kiribati5https://iptv-org.github.io/iptv/countries/ki.m3u 🇽🇰 Kosovo10https://iptv-org.github.io/iptv/countries/xk.m3u 🇰🇼 Kuwait54https://iptv-org.github.io/iptv/countries/kw.m3u 🇰🇬 Kyrgyzstan22https://iptv-org.github.io/iptv/countries/kg.m3u - 🇱🇦 Laos26https://iptv-org.github.io/iptv/countries/la.m3u - 🇱🇻 Latvia62https://iptv-org.github.io/iptv/countries/lv.m3u + 🇱🇦 Laos24https://iptv-org.github.io/iptv/countries/la.m3u + 🇱🇻 Latvia58https://iptv-org.github.io/iptv/countries/lv.m3u 🇱🇧 Lebanon70https://iptv-org.github.io/iptv/countries/lb.m3u - 🇱🇸 Lesotho21https://iptv-org.github.io/iptv/countries/ls.m3u - 🇱🇷 Liberia22https://iptv-org.github.io/iptv/countries/lr.m3u + 🇱🇸 Lesotho22https://iptv-org.github.io/iptv/countries/ls.m3u + 🇱🇷 Liberia23https://iptv-org.github.io/iptv/countries/lr.m3u 🇱🇾 Libya70https://iptv-org.github.io/iptv/countries/ly.m3u - 🇱🇮 Liechtenstein33https://iptv-org.github.io/iptv/countries/li.m3u - 🇱🇹 Lithuania50https://iptv-org.github.io/iptv/countries/lt.m3u - 🇱🇺 Luxembourg60https://iptv-org.github.io/iptv/countries/lu.m3u - 🇲🇴 Macao9https://iptv-org.github.io/iptv/countries/mo.m3u - 🇲🇬 Madagascar21https://iptv-org.github.io/iptv/countries/mg.m3u - 🇲🇼 Malawi24https://iptv-org.github.io/iptv/countries/mw.m3u - 🇲🇾 Malaysia29https://iptv-org.github.io/iptv/countries/my.m3u + 🇱🇮 Liechtenstein31https://iptv-org.github.io/iptv/countries/li.m3u + 🇱🇹 Lithuania48https://iptv-org.github.io/iptv/countries/lt.m3u + 🇱🇺 Luxembourg58https://iptv-org.github.io/iptv/countries/lu.m3u + 🇲🇴 Macao7https://iptv-org.github.io/iptv/countries/mo.m3u + 🇲🇬 Madagascar22https://iptv-org.github.io/iptv/countries/mg.m3u + 🇲🇼 Malawi25https://iptv-org.github.io/iptv/countries/mw.m3u + 🇲🇾 Malaysia30https://iptv-org.github.io/iptv/countries/my.m3u 🇲🇻 Maldives15https://iptv-org.github.io/iptv/countries/mv.m3u - 🇲🇱 Mali27https://iptv-org.github.io/iptv/countries/ml.m3u - 🇲🇹 Malta63https://iptv-org.github.io/iptv/countries/mt.m3u + 🇲🇱 Mali28https://iptv-org.github.io/iptv/countries/ml.m3u + 🇲🇹 Malta46https://iptv-org.github.io/iptv/countries/mt.m3u 🇲🇭 Marshall Islands5https://iptv-org.github.io/iptv/countries/mh.m3u 🇲🇶 Martinique24https://iptv-org.github.io/iptv/countries/mq.m3u - 🇲🇷 Mauritania61https://iptv-org.github.io/iptv/countries/mr.m3u - 🇲🇺 Mauritius22https://iptv-org.github.io/iptv/countries/mu.m3u - 🇾🇹 Mayotte22https://iptv-org.github.io/iptv/countries/yt.m3u - 🇲🇽 Mexico263https://iptv-org.github.io/iptv/countries/mx.m3u + 🇲🇷 Mauritania62https://iptv-org.github.io/iptv/countries/mr.m3u + 🇲🇺 Mauritius23https://iptv-org.github.io/iptv/countries/mu.m3u + 🇾🇹 Mayotte23https://iptv-org.github.io/iptv/countries/yt.m3u + 🇲🇽 Mexico253https://iptv-org.github.io/iptv/countries/mx.m3u       Chihuahua2https://iptv-org.github.io/iptv/subdivisions/mx-chh.m3u       Coahuila de Zaragoza1https://iptv-org.github.io/iptv/subdivisions/mx-coa.m3u       Durango1https://iptv-org.github.io/iptv/subdivisions/mx-dur.m3u @@ -612,35 +612,35 @@ Same thing, but split up into separate files:       San Luis Potosi1https://iptv-org.github.io/iptv/subdivisions/mx-slp.m3u       Yucatan1https://iptv-org.github.io/iptv/subdivisions/mx-yuc.m3u 🇫🇲 Micronesia5https://iptv-org.github.io/iptv/countries/fm.m3u - 🇲🇩 Moldova66https://iptv-org.github.io/iptv/countries/md.m3u - 🇲🇨 Monaco35https://iptv-org.github.io/iptv/countries/mc.m3u - 🇲🇳 Mongolia27https://iptv-org.github.io/iptv/countries/mn.m3u - 🇲🇪 Montenegro38https://iptv-org.github.io/iptv/countries/me.m3u + 🇲🇩 Moldova64https://iptv-org.github.io/iptv/countries/md.m3u + 🇲🇨 Monaco33https://iptv-org.github.io/iptv/countries/mc.m3u + 🇲🇳 Mongolia24https://iptv-org.github.io/iptv/countries/mn.m3u + 🇲🇪 Montenegro36https://iptv-org.github.io/iptv/countries/me.m3u       Ulcinj1https://iptv-org.github.io/iptv/subdivisions/me-20.m3u 🇲🇸 Montserrat12https://iptv-org.github.io/iptv/countries/ms.m3u - 🇲🇦 Morocco76https://iptv-org.github.io/iptv/countries/ma.m3u - 🇲🇿 Mozambique25https://iptv-org.github.io/iptv/countries/mz.m3u - 🇲🇲 Myanmar22https://iptv-org.github.io/iptv/countries/mm.m3u - 🇳🇦 Namibia22https://iptv-org.github.io/iptv/countries/na.m3u + 🇲🇦 Morocco74https://iptv-org.github.io/iptv/countries/ma.m3u + 🇲🇿 Mozambique26https://iptv-org.github.io/iptv/countries/mz.m3u + 🇲🇲 Myanmar21https://iptv-org.github.io/iptv/countries/mm.m3u + 🇳🇦 Namibia23https://iptv-org.github.io/iptv/countries/na.m3u 🇳🇷 Nauru5https://iptv-org.github.io/iptv/countries/nr.m3u 🇳🇵 Nepal17https://iptv-org.github.io/iptv/countries/np.m3u - 🇳🇱 Netherlands211https://iptv-org.github.io/iptv/countries/nl.m3u + 🇳🇱 Netherlands197https://iptv-org.github.io/iptv/countries/nl.m3u 🇳🇨 New Caledonia5https://iptv-org.github.io/iptv/countries/nc.m3u - 🇳🇿 New Zealand35https://iptv-org.github.io/iptv/countries/nz.m3u - 🇳🇮 Nicaragua83https://iptv-org.github.io/iptv/countries/ni.m3u - 🇳🇪 Niger23https://iptv-org.github.io/iptv/countries/ne.m3u - 🇳🇬 Nigeria80https://iptv-org.github.io/iptv/countries/ng.m3u + 🇳🇿 New Zealand24https://iptv-org.github.io/iptv/countries/nz.m3u + 🇳🇮 Nicaragua81https://iptv-org.github.io/iptv/countries/ni.m3u + 🇳🇪 Niger24https://iptv-org.github.io/iptv/countries/ne.m3u + 🇳🇬 Nigeria81https://iptv-org.github.io/iptv/countries/ng.m3u 🇳🇺 Niue5https://iptv-org.github.io/iptv/countries/nu.m3u 🇳🇫 Norfolk Island5https://iptv-org.github.io/iptv/countries/nf.m3u 🇰🇵 North Korea5https://iptv-org.github.io/iptv/countries/kp.m3u - 🇲🇰 North Macedonia67https://iptv-org.github.io/iptv/countries/mk.m3u + 🇲🇰 North Macedonia65https://iptv-org.github.io/iptv/countries/mk.m3u 🇲🇵 Northern Mariana Islands5https://iptv-org.github.io/iptv/countries/mp.m3u - 🇳🇴 Norway41https://iptv-org.github.io/iptv/countries/no.m3u + 🇳🇴 Norway39https://iptv-org.github.io/iptv/countries/no.m3u 🇴🇲 Oman48https://iptv-org.github.io/iptv/countries/om.m3u - 🇵🇰 Pakistan40https://iptv-org.github.io/iptv/countries/pk.m3u + 🇵🇰 Pakistan39https://iptv-org.github.io/iptv/countries/pk.m3u 🇵🇼 Palau5https://iptv-org.github.io/iptv/countries/pw.m3u 🇵🇸 Palestine64https://iptv-org.github.io/iptv/countries/ps.m3u - 🇵🇦 Panama84https://iptv-org.github.io/iptv/countries/pa.m3u + 🇵🇦 Panama83https://iptv-org.github.io/iptv/countries/pa.m3u 🇵🇬 Papua New Guinea6https://iptv-org.github.io/iptv/countries/pg.m3u 🇵🇾 Paraguay123https://iptv-org.github.io/iptv/countries/py.m3u       Alto Parana2https://iptv-org.github.io/iptv/subdivisions/py-10.m3u @@ -649,7 +649,7 @@ Same thing, but split up into separate files:       Central1https://iptv-org.github.io/iptv/subdivisions/py-11.m3u       Itapua1https://iptv-org.github.io/iptv/subdivisions/py-7.m3u       Presidente Hayes1https://iptv-org.github.io/iptv/subdivisions/py-15.m3u - 🇵🇪 Peru211https://iptv-org.github.io/iptv/countries/pe.m3u + 🇵🇪 Peru206https://iptv-org.github.io/iptv/countries/pe.m3u       Amazonas2https://iptv-org.github.io/iptv/subdivisions/pe-ama.m3u       Ancash1https://iptv-org.github.io/iptv/subdivisions/pe-anc.m3u       Apurimac1https://iptv-org.github.io/iptv/subdivisions/pe-apu.m3u @@ -665,41 +665,41 @@ Same thing, but split up into separate files:       Ucayali2https://iptv-org.github.io/iptv/subdivisions/pe-uca.m3u 🇵🇭 Philippines26https://iptv-org.github.io/iptv/countries/ph.m3u 🇵🇳 Pitcairn Islands5https://iptv-org.github.io/iptv/countries/pn.m3u - 🇵🇱 Poland213https://iptv-org.github.io/iptv/countries/pl.m3u - 🇵🇹 Portugal87https://iptv-org.github.io/iptv/countries/pt.m3u - 🇵🇷 Puerto Rico100https://iptv-org.github.io/iptv/countries/pr.m3u - 🇶🇦 Qatar56https://iptv-org.github.io/iptv/countries/qa.m3u - 🇨🇬 Republic of the Congo31https://iptv-org.github.io/iptv/countries/cg.m3u + 🇵🇱 Poland188https://iptv-org.github.io/iptv/countries/pl.m3u + 🇵🇹 Portugal83https://iptv-org.github.io/iptv/countries/pt.m3u + 🇵🇷 Puerto Rico99https://iptv-org.github.io/iptv/countries/pr.m3u + 🇶🇦 Qatar55https://iptv-org.github.io/iptv/countries/qa.m3u + 🇨🇬 Republic of the Congo32https://iptv-org.github.io/iptv/countries/cg.m3u       Brazzaville1https://iptv-org.github.io/iptv/subdivisions/cg-bzv.m3u - 🇷🇪 Reunion22https://iptv-org.github.io/iptv/countries/re.m3u - 🇷🇴 Romania146https://iptv-org.github.io/iptv/countries/ro.m3u + 🇷🇪 Reunion23https://iptv-org.github.io/iptv/countries/re.m3u + 🇷🇴 Romania143https://iptv-org.github.io/iptv/countries/ro.m3u       Gorj1https://iptv-org.github.io/iptv/subdivisions/ro-gj.m3u - 🇷🇺 Russia275https://iptv-org.github.io/iptv/countries/ru.m3u - 🇷🇼 Rwanda29https://iptv-org.github.io/iptv/countries/rw.m3u + 🇷🇺 Russia228https://iptv-org.github.io/iptv/countries/ru.m3u + 🇷🇼 Rwanda30https://iptv-org.github.io/iptv/countries/rw.m3u 🇧🇱 Saint Barthélemy20https://iptv-org.github.io/iptv/countries/bl.m3u - 🇸🇭 Saint Helena21https://iptv-org.github.io/iptv/countries/sh.m3u + 🇸🇭 Saint Helena22https://iptv-org.github.io/iptv/countries/sh.m3u 🇰🇳 Saint Kitts and Nevis13https://iptv-org.github.io/iptv/countries/kn.m3u 🇱🇨 Saint Lucia13https://iptv-org.github.io/iptv/countries/lc.m3u 🇲🇫 Saint Martin20https://iptv-org.github.io/iptv/countries/mf.m3u 🇵🇲 Saint Pierre and Miquelon7https://iptv-org.github.io/iptv/countries/pm.m3u 🇻🇨 Saint Vincent and the Grenadines12https://iptv-org.github.io/iptv/countries/vc.m3u 🇼🇸 Samoa7https://iptv-org.github.io/iptv/countries/ws.m3u - 🇸🇲 San Marino32https://iptv-org.github.io/iptv/countries/sm.m3u - 🇸🇹 Sao Tome and Principe22https://iptv-org.github.io/iptv/countries/st.m3u + 🇸🇲 San Marino30https://iptv-org.github.io/iptv/countries/sm.m3u + 🇸🇹 Sao Tome and Principe23https://iptv-org.github.io/iptv/countries/st.m3u 🇸🇦 Saudi Arabia89https://iptv-org.github.io/iptv/countries/sa.m3u 🇸🇳 Senegal53https://iptv-org.github.io/iptv/countries/sn.m3u - 🇷🇸 Serbia71https://iptv-org.github.io/iptv/countries/rs.m3u - 🇸🇨 Seychelles21https://iptv-org.github.io/iptv/countries/sc.m3u - 🇸🇱 Sierra Leone23https://iptv-org.github.io/iptv/countries/sl.m3u + 🇷🇸 Serbia69https://iptv-org.github.io/iptv/countries/rs.m3u + 🇸🇨 Seychelles22https://iptv-org.github.io/iptv/countries/sc.m3u + 🇸🇱 Sierra Leone24https://iptv-org.github.io/iptv/countries/sl.m3u 🇸🇬 Singapore20https://iptv-org.github.io/iptv/countries/sg.m3u - 🇸🇽 Sint Maarten17https://iptv-org.github.io/iptv/countries/sx.m3u - 🇸🇰 Slovakia94https://iptv-org.github.io/iptv/countries/sk.m3u - 🇸🇮 Slovenia59https://iptv-org.github.io/iptv/countries/si.m3u + 🇸🇽 Sint Maarten18https://iptv-org.github.io/iptv/countries/sx.m3u + 🇸🇰 Slovakia92https://iptv-org.github.io/iptv/countries/sk.m3u + 🇸🇮 Slovenia56https://iptv-org.github.io/iptv/countries/si.m3u 🇸🇧 Solomon Islands5https://iptv-org.github.io/iptv/countries/sb.m3u 🇸🇴 Somalia69https://iptv-org.github.io/iptv/countries/so.m3u - 🇿🇦 South Africa62https://iptv-org.github.io/iptv/countries/za.m3u + 🇿🇦 South Africa60https://iptv-org.github.io/iptv/countries/za.m3u 🇬🇸 South Georgia and the South Sandwich Islands5https://iptv-org.github.io/iptv/countries/gs.m3u - 🇰🇷 South Korea95https://iptv-org.github.io/iptv/countries/kr.m3u + 🇰🇷 South Korea93https://iptv-org.github.io/iptv/countries/kr.m3u       Busan-gwangyeoksi2https://iptv-org.github.io/iptv/subdivisions/kr-26.m3u       Chungcheongbuk-do2https://iptv-org.github.io/iptv/subdivisions/kr-43.m3u       Daegu-gwangyeoksi2https://iptv-org.github.io/iptv/subdivisions/kr-27.m3u @@ -713,8 +713,8 @@ Same thing, but split up into separate files:       Jeollanam-do4https://iptv-org.github.io/iptv/subdivisions/kr-46.m3u       Seoul-teukbyeolsi1https://iptv-org.github.io/iptv/subdivisions/kr-11.m3u       Ulsan-gwangyeoksi1https://iptv-org.github.io/iptv/subdivisions/kr-31.m3u - 🇸🇸 South Sudan21https://iptv-org.github.io/iptv/countries/ss.m3u - 🇪🇸 Spain360https://iptv-org.github.io/iptv/countries/es.m3u + 🇸🇸 South Sudan22https://iptv-org.github.io/iptv/countries/ss.m3u + 🇪🇸 Spain339https://iptv-org.github.io/iptv/countries/es.m3u       Andalucia38https://iptv-org.github.io/iptv/subdivisions/es-an.m3u       Aragon1https://iptv-org.github.io/iptv/subdivisions/es-ar.m3u       Asturias, Principado de1https://iptv-org.github.io/iptv/subdivisions/es-as.m3u @@ -733,31 +733,31 @@ Same thing, but split up into separate files:       Pais Vasco6https://iptv-org.github.io/iptv/subdivisions/es-pv.m3u       Valenciana, Comunidad16https://iptv-org.github.io/iptv/subdivisions/es-vc.m3u 🇱🇰 Sri Lanka13https://iptv-org.github.io/iptv/countries/lk.m3u - 🇸🇩 Sudan65https://iptv-org.github.io/iptv/countries/sd.m3u + 🇸🇩 Sudan66https://iptv-org.github.io/iptv/countries/sd.m3u 🇸🇷 Suriname10https://iptv-org.github.io/iptv/countries/sr.m3u - 🇸🇿 Swaziland22https://iptv-org.github.io/iptv/countries/sz.m3u - 🇸🇪 Sweden73https://iptv-org.github.io/iptv/countries/se.m3u - 🇨🇭 Switzerland298https://iptv-org.github.io/iptv/countries/ch.m3u + 🇸🇿 Swaziland23https://iptv-org.github.io/iptv/countries/sz.m3u + 🇸🇪 Sweden59https://iptv-org.github.io/iptv/countries/se.m3u + 🇨🇭 Switzerland75https://iptv-org.github.io/iptv/countries/ch.m3u 🇸🇾 Syria47https://iptv-org.github.io/iptv/countries/sy.m3u - 🇹🇼 Taiwan67https://iptv-org.github.io/iptv/countries/tw.m3u + 🇹🇼 Taiwan29https://iptv-org.github.io/iptv/countries/tw.m3u 🇹🇯 Tajikistan30https://iptv-org.github.io/iptv/countries/tj.m3u - 🇹🇿 Tanzania29https://iptv-org.github.io/iptv/countries/tz.m3u - 🇹🇭 Thailand76https://iptv-org.github.io/iptv/countries/th.m3u - 🇹🇬 Togo34https://iptv-org.github.io/iptv/countries/tg.m3u + 🇹🇿 Tanzania30https://iptv-org.github.io/iptv/countries/tz.m3u + 🇹🇭 Thailand75https://iptv-org.github.io/iptv/countries/th.m3u + 🇹🇬 Togo35https://iptv-org.github.io/iptv/countries/tg.m3u 🇹🇰 Tokelau5https://iptv-org.github.io/iptv/countries/tk.m3u 🇹🇴 Tonga5https://iptv-org.github.io/iptv/countries/to.m3u 🇹🇹 Trinidad and Tobago18https://iptv-org.github.io/iptv/countries/tt.m3u - 🇹🇳 Tunisia65https://iptv-org.github.io/iptv/countries/tn.m3u - 🇹🇷 Turkey290https://iptv-org.github.io/iptv/countries/tr.m3u + 🇹🇳 Tunisia66https://iptv-org.github.io/iptv/countries/tn.m3u + 🇹🇷 Turkey278https://iptv-org.github.io/iptv/countries/tr.m3u 🇹🇲 Turkmenistan16https://iptv-org.github.io/iptv/countries/tm.m3u 🇹🇨 Turks and Caicos Islands12https://iptv-org.github.io/iptv/countries/tc.m3u 🇹🇻 Tuvalu5https://iptv-org.github.io/iptv/countries/tv.m3u 🇻🇮 U.S. Virgin Islands12https://iptv-org.github.io/iptv/countries/vi.m3u - 🇺🇬 Uganda49https://iptv-org.github.io/iptv/countries/ug.m3u - 🇺🇦 Ukraine95https://iptv-org.github.io/iptv/countries/ua.m3u + 🇺🇬 Uganda50https://iptv-org.github.io/iptv/countries/ug.m3u + 🇺🇦 Ukraine92https://iptv-org.github.io/iptv/countries/ua.m3u 🇦🇪 United Arab Emirates89https://iptv-org.github.io/iptv/countries/ae.m3u - 🇬🇧 United Kingdom233https://iptv-org.github.io/iptv/countries/uk.m3u - 🇺🇸 United States2049https://iptv-org.github.io/iptv/countries/us.m3u + 🇬🇧 United Kingdom175https://iptv-org.github.io/iptv/countries/uk.m3u + 🇺🇸 United States1422https://iptv-org.github.io/iptv/countries/us.m3u       Alabama3https://iptv-org.github.io/iptv/subdivisions/us-al.m3u       Alaska2https://iptv-org.github.io/iptv/subdivisions/us-ak.m3u       Arizona13https://iptv-org.github.io/iptv/subdivisions/us-az.m3u @@ -808,17 +808,17 @@ Same thing, but split up into separate files: 🇺🇾 Uruguay74https://iptv-org.github.io/iptv/countries/uy.m3u 🇺🇿 Uzbekistan30https://iptv-org.github.io/iptv/countries/uz.m3u 🇻🇺 Vanuatu5https://iptv-org.github.io/iptv/countries/vu.m3u - 🇻🇦 Vatican City31https://iptv-org.github.io/iptv/countries/va.m3u - 🇻🇪 Venezuela119https://iptv-org.github.io/iptv/countries/ve.m3u + 🇻🇦 Vatican City29https://iptv-org.github.io/iptv/countries/va.m3u + 🇻🇪 Venezuela115https://iptv-org.github.io/iptv/countries/ve.m3u       Aragua2https://iptv-org.github.io/iptv/subdivisions/ve-d.m3u       Lara1https://iptv-org.github.io/iptv/subdivisions/ve-k.m3u - 🇻🇳 Vietnam74https://iptv-org.github.io/iptv/countries/vn.m3u + 🇻🇳 Vietnam72https://iptv-org.github.io/iptv/countries/vn.m3u 🇼🇫 Wallis and Futuna5https://iptv-org.github.io/iptv/countries/wf.m3u - 🇪🇭 Western Sahara26https://iptv-org.github.io/iptv/countries/eh.m3u + 🇪🇭 Western Sahara27https://iptv-org.github.io/iptv/countries/eh.m3u 🇾🇪 Yemen47https://iptv-org.github.io/iptv/countries/ye.m3u - 🇿🇲 Zambia22https://iptv-org.github.io/iptv/countries/zm.m3u - 🇿🇼 Zimbabwe22https://iptv-org.github.io/iptv/countries/zw.m3u - 🌍 International58https://iptv-org.github.io/iptv/countries/int.m3u + 🇿🇲 Zambia23https://iptv-org.github.io/iptv/countries/zm.m3u + 🇿🇼 Zimbabwe23https://iptv-org.github.io/iptv/countries/zw.m3u + Undefined2898https://iptv-org.github.io/iptv/countries/undefined.m3u @@ -844,40 +844,42 @@ Same thing, but split up into separate files: RegionChannelsPlaylist - Africa519https://iptv-org.github.io/iptv/regions/afr.m3u - Americas4521https://iptv-org.github.io/iptv/regions/amer.m3u - Arab world387https://iptv-org.github.io/iptv/regions/arab.m3u - Asia2726https://iptv-org.github.io/iptv/regions/asia.m3u - Asia-Pacific1729https://iptv-org.github.io/iptv/regions/apac.m3u - Association of Southeast Asian Nations341https://iptv-org.github.io/iptv/regions/asean.m3u - Balkan662https://iptv-org.github.io/iptv/regions/balkan.m3u - Benelux219https://iptv-org.github.io/iptv/regions/benelux.m3u - Caribbean370https://iptv-org.github.io/iptv/regions/carib.m3u - Central America320https://iptv-org.github.io/iptv/regions/cenamer.m3u - Central and Eastern Europe1069https://iptv-org.github.io/iptv/regions/cee.m3u - Central Asia78https://iptv-org.github.io/iptv/regions/cas.m3u - Commonwealth of Independent States403https://iptv-org.github.io/iptv/regions/cis.m3u - Europe4101https://iptv-org.github.io/iptv/regions/eur.m3u - Europe, the Middle East and Africa4994https://iptv-org.github.io/iptv/regions/emea.m3u - European Union2835https://iptv-org.github.io/iptv/regions/eu.m3u - Hispanic America1753https://iptv-org.github.io/iptv/regions/hispam.m3u - Latin America2052https://iptv-org.github.io/iptv/regions/latam.m3u - Latin America and the Caribbean2086https://iptv-org.github.io/iptv/regions/lac.m3u - Maghreb50https://iptv-org.github.io/iptv/regions/maghreb.m3u - Middle East745https://iptv-org.github.io/iptv/regions/mideast.m3u - Middle East and North Africa781https://iptv-org.github.io/iptv/regions/mena.m3u - Nordics92https://iptv-org.github.io/iptv/regions/nord.m3u - North America3309https://iptv-org.github.io/iptv/regions/noram.m3u - Northern America2438https://iptv-org.github.io/iptv/regions/nam.m3u - Northern Europe136https://iptv-org.github.io/iptv/regions/neur.m3u - Oceania87https://iptv-org.github.io/iptv/regions/oce.m3u - South America1229https://iptv-org.github.io/iptv/regions/southam.m3u - South Asia428https://iptv-org.github.io/iptv/regions/sas.m3u - Southeast Asia346https://iptv-org.github.io/iptv/regions/sea.m3u - Southern Europe1169https://iptv-org.github.io/iptv/regions/ser.m3u - Sub-Saharan Africa442https://iptv-org.github.io/iptv/regions/ssa.m3u - West Africa198https://iptv-org.github.io/iptv/regions/wafr.m3u - Western Europe1719https://iptv-org.github.io/iptv/regions/wer.m3u + Africa548https://iptv-org.github.io/iptv/regions/afr.m3u + Americas3598https://iptv-org.github.io/iptv/regions/amer.m3u + Arab world399https://iptv-org.github.io/iptv/regions/arab.m3u + Asia2161https://iptv-org.github.io/iptv/regions/asia.m3u + Asia-Pacific1137https://iptv-org.github.io/iptv/regions/apac.m3u + Association of Southeast Asian Nations343https://iptv-org.github.io/iptv/regions/asean.m3u + Balkan686https://iptv-org.github.io/iptv/regions/balkan.m3u + Benelux246https://iptv-org.github.io/iptv/regions/benelux.m3u + Caribbean365https://iptv-org.github.io/iptv/regions/carib.m3u + Central America372https://iptv-org.github.io/iptv/regions/cenamer.m3u + Central and Eastern Europe1002https://iptv-org.github.io/iptv/regions/cee.m3u + Central Asia112https://iptv-org.github.io/iptv/regions/cas.m3u + Commonwealth of Independent States374https://iptv-org.github.io/iptv/regions/cis.m3u + Europe2873https://iptv-org.github.io/iptv/regions/eur.m3u + Europe, the Middle East and Africa3784https://iptv-org.github.io/iptv/regions/emea.m3u + European Union1954https://iptv-org.github.io/iptv/regions/eu.m3u + Hispanic America1679https://iptv-org.github.io/iptv/regions/hispam.m3u + Latin America1994https://iptv-org.github.io/iptv/regions/latam.m3u + Latin America and the Caribbean2038https://iptv-org.github.io/iptv/regions/lac.m3u + Maghreb89https://iptv-org.github.io/iptv/regions/maghreb.m3u + Middle East802https://iptv-org.github.io/iptv/regions/mideast.m3u + Middle East and North Africa830https://iptv-org.github.io/iptv/regions/mena.m3u + Nordics113https://iptv-org.github.io/iptv/regions/nord.m3u + North America2420https://iptv-org.github.io/iptv/regions/noram.m3u + Northern America1582https://iptv-org.github.io/iptv/regions/nam.m3u + Northern Europe155https://iptv-org.github.io/iptv/regions/neur.m3u + Oceania54https://iptv-org.github.io/iptv/regions/oce.m3u + South America1257https://iptv-org.github.io/iptv/regions/southam.m3u + South Asia405https://iptv-org.github.io/iptv/regions/sas.m3u + Southeast Asia343https://iptv-org.github.io/iptv/regions/sea.m3u + Southern Europe1049https://iptv-org.github.io/iptv/regions/ser.m3u + Sub-Saharan Africa494https://iptv-org.github.io/iptv/regions/ssa.m3u + West Africa256https://iptv-org.github.io/iptv/regions/wafr.m3u + Western Europe785https://iptv-org.github.io/iptv/regions/wer.m3u + Worldwide57https://iptv-org.github.io/iptv/regions/int.m3u + Undefined2898https://iptv-org.github.io/iptv/regions/undefined.m3u From 0327c5d811a48560313326890f62a818d8ce8c85 Mon Sep 17 00:00:00 2001 From: "iptv-bot[bot]" <84861620+iptv-bot[bot]@users.noreply.github.com> Date: Tue, 1 Apr 2025 01:24:41 +0000 Subject: [PATCH 37/85] [Bot] Update /streams Committed by [iptv-bot](https://github.com/apps/iptv-bot) via [update](https://github.com/iptv-org/iptv/actions/runs/14184967716) workflow. closes #20973, closes #20950, closes #20947, closes #20940 --- streams/es.m3u | 4 ++++ streams/pl.m3u | 2 ++ streams/tr.m3u | 2 ++ 3 files changed, 8 insertions(+) diff --git a/streams/es.m3u b/streams/es.m3u index ffca5a170..63461de66 100644 --- a/streams/es.m3u +++ b/streams/es.m3u @@ -685,3 +685,7 @@ http://181.78.109.48:8000/play/a00l/index.m3u8 http://181.78.109.48:8000/play/a00f/index.m3u8 #EXTINF:-1 tvg-id="AXN.es",AXN (1080p) http://181.78.109.48:8000/play/a05u/index.m3u8 +#EXTINF:-1 tvg-id="AXN.es",AXN (480p) +http://181.78.109.48:8000/play/a023/index.m3u8 +#EXTINF:-1 tvg-id="Nickelodeon.es",Nickelodeon (480p) +http://181.78.109.48:8000/play/a05a/index.m3u8 diff --git a/streams/pl.m3u b/streams/pl.m3u index 6deb833e6..2222918df 100644 --- a/streams/pl.m3u +++ b/streams/pl.m3u @@ -802,3 +802,5 @@ http://109.233.89.170/Zoom_TV_HD/index.m3u8 http://178.219.128.68:64889/ZOOMTVHD #EXTINF:-1 tvg-id="ZoomTV.pl",Zoom TV (576p) http://185.236.229.62:9981/play/a02a +#EXTINF:-1 tvg-id="PolsatNewsPolityka.pl",Polsat News Polityka (1080p) [Geo-blocked] +https://lb2-e3-20.pluscdn.pl/lv/1511888/322/dash/52a9b70b/live.mpd diff --git a/streams/tr.m3u b/streams/tr.m3u index 078d12901..c5de48af8 100644 --- a/streams/tr.m3u +++ b/streams/tr.m3u @@ -802,3 +802,5 @@ https://cdn-yildiz.yayin.com.tr/yildiz/yildiz/playlist.m3u8 https://stream.yol.tv:9443/medialive/yol.m3u8 #EXTINF:-1 tvg-id="ZarokTV.tr",Zarok TV (720p) https://zindikurmanci.zaroktv.com.tr/hls/stream.m3u8 +#EXTINF:-1 tvg-id="TYTTurk.tr",TYT Turk +https://cdn-tytturk.yayin.com.tr/tytturk/index.m3u8 From 05a22adcedb55d387e7c60b8ec55195e6167b39b Mon Sep 17 00:00:00 2001 From: "iptv-bot[bot]" <84861620+iptv-bot[bot]@users.noreply.github.com> Date: Tue, 1 Apr 2025 01:24:42 +0000 Subject: [PATCH 38/85] [Bot] Update README.md Committed by [iptv-bot](https://github.com/apps/iptv-bot) via [update](https://github.com/iptv-org/iptv/actions/runs/14184967716) workflow. From 51a0f1bbdf36970a20c8fd90f9ca9d33be75b437 Mon Sep 17 00:00:00 2001 From: "iptv-bot[bot]" <84861620+iptv-bot[bot]@users.noreply.github.com> Date: Tue, 1 Apr 2025 01:33:22 +0000 Subject: [PATCH 39/85] [Bot] Update /streams Committed by [iptv-bot](https://github.com/apps/iptv-bot) via [update](https://github.com/iptv-org/iptv/actions/runs/14185081227) workflow. closes #20956, closes #20954, closes #20949, closes #20948 --- streams/ad.m3u | 2 ++ streams/uk.m3u | 6 ++++++ 2 files changed, 8 insertions(+) diff --git a/streams/ad.m3u b/streams/ad.m3u index ef27ca479..65ccf3b44 100644 --- a/streams/ad.m3u +++ b/streams/ad.m3u @@ -1,3 +1,5 @@ #EXTM3U #EXTINF:-1 tvg-id="AndorraTV.ad",ATV (720p) https://videos.rtva.ad/live/rtva/playlist.m3u8 +#EXTINF:-1 tvg-id="AndorraTV.ad@Web",Andorra TV (1080p) +https://live-edge-eu-1.cdn.enetres.net/56495F77FD124FECA75590A906965F2C022/live-3000/index.m3u8 diff --git a/streams/uk.m3u b/streams/uk.m3u index 5e292f035..1fa616c76 100644 --- a/streams/uk.m3u +++ b/streams/uk.m3u @@ -272,3 +272,9 @@ https://abr.de1se01.v2beat.live/playlist.m3u8 https://wildearth-ono.amagi.tv/playlist/amg01290-wildearth-oando/playlist.m3u8 #EXTINF:-1 tvg-id="YAAAS.uk",YAAAS! (720p) [Geo-blocked] https://jmp2.uk/sam-GB340000289.m3u8 +#EXTINF:-1 tvg-id="BabyTV.uk@Spain",BabyTV Spain (480p) +http://181.78.109.48:8000/play/a00c/index.m3u8 +#EXTINF:-1 tvg-id="AMCEurope.uk@Spain",AMC Europe Spain (1080p) +http://181.78.109.48:8000/play/a02l/index.m3u8 +#EXTINF:-1 tvg-id="AMCEurope.uk@Spain",AMC Europe Spain (480p) +http://181.78.109.48:8000/play/a025/index.m3u8 From b80cfd2d2b2fcab799d48418c5819849997e7223 Mon Sep 17 00:00:00 2001 From: "iptv-bot[bot]" <84861620+iptv-bot[bot]@users.noreply.github.com> Date: Tue, 1 Apr 2025 01:33:22 +0000 Subject: [PATCH 40/85] [Bot] Update README.md Committed by [iptv-bot](https://github.com/apps/iptv-bot) via [update](https://github.com/iptv-org/iptv/actions/runs/14185081227) workflow. --- README.md | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/README.md b/README.md index 9f5197583..90515f88e 100644 --- a/README.md +++ b/README.md @@ -65,11 +65,11 @@ Same thing, but split up into separate files: Education154https://iptv-org.github.io/iptv/categories/education.m3u Entertainment547https://iptv-org.github.io/iptv/categories/entertainment.m3u Family35https://iptv-org.github.io/iptv/categories/family.m3u - General2334https://iptv-org.github.io/iptv/categories/general.m3u - Kids182https://iptv-org.github.io/iptv/categories/kids.m3u + General2335https://iptv-org.github.io/iptv/categories/general.m3u + Kids183https://iptv-org.github.io/iptv/categories/kids.m3u Legislative192https://iptv-org.github.io/iptv/categories/legislative.m3u Lifestyle79https://iptv-org.github.io/iptv/categories/lifestyle.m3u - Movies235https://iptv-org.github.io/iptv/categories/movies.m3u + Movies236https://iptv-org.github.io/iptv/categories/movies.m3u Music659https://iptv-org.github.io/iptv/categories/music.m3u News766https://iptv-org.github.io/iptv/categories/news.m3u Outdoor41https://iptv-org.github.io/iptv/categories/outdoor.m3u @@ -253,7 +253,7 @@ Same thing, but split up into separate files: Slovak49https://iptv-org.github.io/iptv/languages/slk.m3u Slovenian13https://iptv-org.github.io/iptv/languages/slv.m3u Somali11https://iptv-org.github.io/iptv/languages/som.m3u - Spanish2067https://iptv-org.github.io/iptv/languages/spa.m3u + Spanish2069https://iptv-org.github.io/iptv/languages/spa.m3u Sranan Tongo3https://iptv-org.github.io/iptv/languages/srn.m3u Swahili24https://iptv-org.github.io/iptv/languages/swa.m3u Swedish16https://iptv-org.github.io/iptv/languages/swe.m3u @@ -287,7 +287,7 @@ Same thing, but split up into separate files: Yucatec Maya1https://iptv-org.github.io/iptv/languages/yua.m3u Yue Chinese7https://iptv-org.github.io/iptv/languages/yue.m3u Zarma1https://iptv-org.github.io/iptv/languages/dje.m3u - Undefined2898https://iptv-org.github.io/iptv/languages/undefined.m3u + Undefined2899https://iptv-org.github.io/iptv/languages/undefined.m3u @@ -714,7 +714,7 @@ Same thing, but split up into separate files:       Seoul-teukbyeolsi1https://iptv-org.github.io/iptv/subdivisions/kr-11.m3u       Ulsan-gwangyeoksi1https://iptv-org.github.io/iptv/subdivisions/kr-31.m3u 🇸🇸 South Sudan22https://iptv-org.github.io/iptv/countries/ss.m3u - 🇪🇸 Spain339https://iptv-org.github.io/iptv/countries/es.m3u + 🇪🇸 Spain341https://iptv-org.github.io/iptv/countries/es.m3u       Andalucia38https://iptv-org.github.io/iptv/subdivisions/es-an.m3u       Aragon1https://iptv-org.github.io/iptv/subdivisions/es-ar.m3u       Asturias, Principado de1https://iptv-org.github.io/iptv/subdivisions/es-as.m3u @@ -818,7 +818,7 @@ Same thing, but split up into separate files: 🇾🇪 Yemen47https://iptv-org.github.io/iptv/countries/ye.m3u 🇿🇲 Zambia23https://iptv-org.github.io/iptv/countries/zm.m3u 🇿🇼 Zimbabwe23https://iptv-org.github.io/iptv/countries/zw.m3u - Undefined2898https://iptv-org.github.io/iptv/countries/undefined.m3u + Undefined2899https://iptv-org.github.io/iptv/countries/undefined.m3u @@ -857,9 +857,9 @@ Same thing, but split up into separate files: Central and Eastern Europe1002https://iptv-org.github.io/iptv/regions/cee.m3u Central Asia112https://iptv-org.github.io/iptv/regions/cas.m3u Commonwealth of Independent States374https://iptv-org.github.io/iptv/regions/cis.m3u - Europe2873https://iptv-org.github.io/iptv/regions/eur.m3u - Europe, the Middle East and Africa3784https://iptv-org.github.io/iptv/regions/emea.m3u - European Union1954https://iptv-org.github.io/iptv/regions/eu.m3u + Europe2875https://iptv-org.github.io/iptv/regions/eur.m3u + Europe, the Middle East and Africa3786https://iptv-org.github.io/iptv/regions/emea.m3u + European Union1956https://iptv-org.github.io/iptv/regions/eu.m3u Hispanic America1679https://iptv-org.github.io/iptv/regions/hispam.m3u Latin America1994https://iptv-org.github.io/iptv/regions/latam.m3u Latin America and the Caribbean2038https://iptv-org.github.io/iptv/regions/lac.m3u @@ -874,12 +874,12 @@ Same thing, but split up into separate files: South America1257https://iptv-org.github.io/iptv/regions/southam.m3u South Asia405https://iptv-org.github.io/iptv/regions/sas.m3u Southeast Asia343https://iptv-org.github.io/iptv/regions/sea.m3u - Southern Europe1049https://iptv-org.github.io/iptv/regions/ser.m3u + Southern Europe1051https://iptv-org.github.io/iptv/regions/ser.m3u Sub-Saharan Africa494https://iptv-org.github.io/iptv/regions/ssa.m3u West Africa256https://iptv-org.github.io/iptv/regions/wafr.m3u Western Europe785https://iptv-org.github.io/iptv/regions/wer.m3u Worldwide57https://iptv-org.github.io/iptv/regions/int.m3u - Undefined2898https://iptv-org.github.io/iptv/regions/undefined.m3u + Undefined2899https://iptv-org.github.io/iptv/regions/undefined.m3u From 3e9d75135a77ee6257b9b18806657fa1a2ccd375 Mon Sep 17 00:00:00 2001 From: QogsY04diTn64zgl4WUxBYzxhHKWjcjmYTBVdBU Date: Tue, 1 Apr 2025 09:47:22 +0800 Subject: [PATCH 41/85] Update my.m3u - add NTV7 Malaysia - update names of RTM channels --- streams/my.m3u | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/streams/my.m3u b/streams/my.m3u index b521e72c7..27a28d4ae 100644 --- a/streams/my.m3u +++ b/streams/my.m3u @@ -14,7 +14,7 @@ http://210.210.155.35/dr9445/h/h04/index.m3u8 http://210.210.155.37/uq2663/h/h22/index.m3u8 #EXTINF:-1 tvg-id="MaahTV.my",Maah TV (720p) [Not 24/7] https://hls.maahtv.live/hls/stream.m3u8 -#EXTINF:-1 tvg-id="Okey.my" http-referrer="https://rtm-player.glueapi.io/",Okey RTM [Geo-blocked] +#EXTINF:-1 tvg-id="Okey.my" http-referrer="https://rtm-player.glueapi.io/",Okey [Geo-blocked] #EXTVLCOPT:http-referrer=https://rtm-player.glueapi.io/ https://d25tgymtnqzu8s.cloudfront.net/smil:okey/playlist.m3u8?id=3 #EXTINF:-1 tvg-id="RTMASEAN.my",RTM ASEAN @@ -25,9 +25,9 @@ https://d25tgymtnqzu8s.cloudfront.net/smil:negara/playlist.m3u8?id=8 #EXTINF:-1 tvg-id="ParlimenMalaysia.my" http-referrer="https://rtm-player.glueapi.io/",RTM Parlimen (Dewan Rakyat) [Geo-blocked] #EXTVLCOPT:http-referrer=https://rtm-player.glueapi.io/ https://d25tgymtnqzu8s.cloudfront.net/smil:rakyat/playlist.m3u8?id=7 -#EXTINF:-1 tvg-id="TV1.my",RTM TV 1 [Geo-blocked] +#EXTINF:-1 tvg-id="TV1.my",TV1 [Geo-blocked] https://d25tgymtnqzu8s.cloudfront.net/smil:tv1/manifest.mpd -#EXTINF:-1 tvg-id="TV2.my",RTM TV 2 [Geo-blocked] +#EXTINF:-1 tvg-id="TV2.my",TV2 [Geo-blocked] https://d25tgymtnqzu8s.cloudfront.net/smil:tv2/manifest.mpd #EXTINF:-1 tvg-id="SukanRTM.my",Sukan RTM [Geo-blocked] https://d25tgymtnqzu8s.cloudfront.net/smil:sukan/manifest.mpd @@ -46,5 +46,7 @@ https://d25tgymtnqzu8s.cloudfront.net/smil:tv6/playlist.m3u8?id=6 https://tonton-live-switch-ssar.akamaized.net/stream-tv9/master.m3u8?bpkio_serviceid=6c0958d82a830a02ca0936d9cfab8311 #EXTINF:-1 tvg-id="8TV.my",8TV https://tonton-live-switch-ssar.akamaized.net/stream-8tv/master.m3u8?bpkio_serviceid=6c0958d82a830a02ca0936d9cfab8311 +#EXTINF:-1 tvg-id="NTV7.my",NTV7 +https://tonton-live-switch-ssar.akamaized.net/stream-ntv7/master.m3u8?bpkio_serviceid=6c0958d82a830a02ca0936d9cfab8311 #EXTINF:-1 tvg-id="TVIKIM.my",TVIKIM https://edge-sg1.vediostream.com/abr/tvikim/playlist.m3u8 From 8c28a9502674aa2c378e07a37134213210270b38 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Isma=C3=ABl=20Moret?= <30985701+BellezaEmporium@users.noreply.github.com> Date: Tue, 1 Apr 2025 11:08:36 +0200 Subject: [PATCH 42/85] Update de.m3u --- streams/de.m3u | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/streams/de.m3u b/streams/de.m3u index a7068f836..26ff70000 100644 --- a/streams/de.m3u +++ b/streams/de.m3u @@ -216,13 +216,7 @@ https://hls1.wtnet.de/noa4hh/apple/wifi6500.m3u8 #EXTINF:-1 tvg-id="noa4Norderstedt.de",Noa 4 Norderstedt (1080p) https://hls1.wtnet.de/noa4/apple/wifi6500.m3u8 #EXTINF:-1 tvg-id="NRWision.de",NRWision (1080p) -https://fms.nrwision.de/live/livestreamHD.stream/playlist.m3u8 -#EXTINF:-1 tvg-id="NRWision.de",NRWISION (1080p) -https://fms.nrwision.de/live/livestreamHD.stream_source/playlist.m3u8 -#EXTINF:-1 tvg-id="NRWision.de",NRWision (720p) -https://fms.nrwision.de/live/livestreamHD.stream_1080p/playlist.m3u8 -#EXTINF:-1 tvg-id="NRWision.de",NRWision (360p) -https://fms.nrwision.de/live/livestreamHD.stream_360p/playlist.m3u8 +https://fms.nrwision.de/live/ngrp:livestreamHD.stream/playlist.m3u8 #EXTINF:-1 tvg-id="OberpfalzTV.de",Oberpfalz TV (1080p) https://oberpfalztv.iptv-playoutcenter.de/oberpfalztv/oberpfalztv.stream_1/playlist.m3u8 #EXTINF:-1 tvg-id="Oeins.de",oeins (Oldenburg) (1080p) [Not 24/7] From bffb84ea7a1b5340a774b9f1eb65e43c2be0bc26 Mon Sep 17 00:00:00 2001 From: "iptv-bot[bot]" <84861620+iptv-bot[bot]@users.noreply.github.com> Date: Wed, 2 Apr 2025 00:11:21 +0000 Subject: [PATCH 43/85] [Bot] Update /streams Committed by [iptv-bot](https://github.com/apps/iptv-bot) via [update](https://github.com/iptv-org/iptv/actions/runs/14208563953) workflow. closes #20987, closes #20985, closes #20983, closes #20981, closes #20980, closes #20988, closes #20925 --- streams/kh.m3u | 2 ++ streams/ma.m3u | 2 -- streams/no.m3u | 2 -- streams/pl.m3u | 2 -- streams/vn.m3u | 6 ++---- 5 files changed, 4 insertions(+), 10 deletions(-) diff --git a/streams/kh.m3u b/streams/kh.m3u index 54fc6cb1c..b412e59c7 100644 --- a/streams/kh.m3u +++ b/streams/kh.m3u @@ -58,3 +58,5 @@ https://live.kh.malimarcdn.com/live/tvk2.stream/playlist.m3u8 https://stream.wikitv.asia/live/ngrp:myStream_all/playlist.m3u8 #EXTINF:-1 tvg-id="MyTV.kh",My TV http://43.252.18.195:5080/live/streams/mytv.m3u8 +#EXTINF:-1 tvg-id="CTN.kh",CTN (480p) +http://43.252.18.195:5080/live/streams/ctntv.m3u8 diff --git a/streams/ma.m3u b/streams/ma.m3u index e929f4eff..8f65b67ea 100644 --- a/streams/ma.m3u +++ b/streams/ma.m3u @@ -15,8 +15,6 @@ https://cdn.live.easybroadcast.io/abr_corp/73_laayoune_pgagr52/playlist_dvr.m3u8 https://cdn.live.easybroadcast.io/abr_corp/73_almaghribia_83tz85q/playlist_dvr.m3u8 #EXTINF:-1 tvg-id="",Al Rahman (480p) http://149.100.11.244:8001/play/a06j/index.m3u8 -#EXTINF:-1 tvg-id="Arryadia.ma",Arryadia (1080p) -http://154.197.91.168:7001/play/a0fa/index.m3u8 #EXTINF:-1 tvg-id="Arryadia.ma",Arryadia (480p) https://cdn.live.easybroadcast.io/abr_corp/73_arryadia_k2tgcj0/playlist_dvr.m3u8 #EXTINF:-1 tvg-id="Assadissa.ma",Assadissa (480p) diff --git a/streams/no.m3u b/streams/no.m3u index 520fb3e8f..858e5ca00 100644 --- a/streams/no.m3u +++ b/streams/no.m3u @@ -13,8 +13,6 @@ http://media1.adventist.no:1935/live/hope2/playlist.m3u8 http://media1.adventist.no:1935/live/hope3/playlist.m3u8 #EXTINF:-1 tvg-id="Kanal10Asia.se",Kanal 10 Asia (540p) http://cdn-kanal10.crossnet.net:1935/kanal10/kanal10asia/playlist.m3u8 -#EXTINF:-1 tvg-id="NRK1.no",NRK 1 [Geo-blocked] -https://nrk-nrk1.akamaized.net/21/0/hls/nrk_1/playlist.m3u8 #EXTINF:-1 tvg-id="NRK2.no",NRK 2 [Geo-blocked] https://nrk-nrk2.akamaized.net/22/0/hls/nrk_2/playlist.m3u8 #EXTINF:-1 tvg-id="NRK3.no",NRK 3 [Geo-blocked] diff --git a/streams/pl.m3u b/streams/pl.m3u index 2222918df..22acf67ad 100644 --- a/streams/pl.m3u +++ b/streams/pl.m3u @@ -88,8 +88,6 @@ http://109.233.89.170/CBS_Reality_HD/index.m3u8 #EXTINF:-1 tvg-id="CBSReality.pl",CBS Reality (1080p) http://185.236.229.62:9981/play/a02v #EXTINF:-1 tvg-id="ComedyCentral.pl",Comedy Central (1080p) -http://109.233.89.166/Comedy_Central_HD/index.m3u8 -#EXTINF:-1 tvg-id="ComedyCentral.pl",Comedy Central (1080p) http://109.233.89.170/Comedy_Central_HD/index.m3u8 #EXTINF:-1 tvg-id="ComedyCentral.pl",Comedy Central (1080p) http://178.219.128.68:64889/COMECENTHD diff --git a/streams/vn.m3u b/streams/vn.m3u index f573aa30e..a80dfd95d 100644 --- a/streams/vn.m3u +++ b/streams/vn.m3u @@ -75,8 +75,6 @@ https://livefta.malimarcdn.com/ftaedge00/laonet.sdp/playlist.m3u8 https://livefta.malimarcdn.com/ftaedge00/laosvtv.stream/playlist.m3u8 #EXTINF:-1 tvg-id="KDOCDT7.us",Little Saigon TV (720p) https://media.streambrothers.com:1936/8228/8228/playlist.m3u8 -#EXTINF:-1 tvg-id="NhanDanTV.vn",Nhan Dan TV (720p) -https://video.nhandan.thienvietjsc.net/live/nhandan720/playlist.m3u8 #EXTINF:-1 tvg-id="NingTV.la",Ning TV (720p) https://livefta.malimarcdn.com/ftaedge00/ningtv.sdp/playlist.m3u8 #EXTINF:-1 tvg-id="NinhThuanTV.vn",Ninh Thuan TV (720p) @@ -85,8 +83,6 @@ https://60acee235f4d5.streamlock.net/live/mystream/playlist.m3u8 http://113.161.4.48:8080/phuyen/tv/index.m3u8 #EXTINF:-1 tvg-id="PNTV.us",PNTV (720p) https://livefta.malimarcdn.com/ftaedge00/pntv.sdp/playlist.m3u8 -#EXTINF:-1 tvg-id="QPVN.vn",QPVN (720p) -http://27.76.137.122:1935/standard/smil:standard.smil/playlist.m3u8 #EXTINF:-1 tvg-id="QuangNgaiTV.vn",Quang Ngai TV (720p) http://118.107.85.5:1935/live/smil:PTQ.smil/playlist.m3u8 #EXTINF:-1 tvg-id="SETTV.us",SET TV 1 (1080p) @@ -129,3 +125,5 @@ http://125hvt.ddns.net:21585/vtv5/tracks-v1a1/mono.m3u8 http://125hvt.ddns.net:21585/vtv9/tracks-v1a1/mono.m3u8 #EXTINF:-1 tvg-id="VTVCanTho.vn",VTV Can Tho (720p) http://125hvt.ddns.net:21585/vtv6/playlist.m3u8 +#EXTINF:-1 tvg-id="QPVN.vn",QPVN (480p) +https://ott1.nethubtv.vn/live/qpvn/playlist.m3u8 From 6826dc04dfe98340ba82298b2e5cfdf916aaf3b7 Mon Sep 17 00:00:00 2001 From: "iptv-bot[bot]" <84861620+iptv-bot[bot]@users.noreply.github.com> Date: Wed, 2 Apr 2025 00:11:21 +0000 Subject: [PATCH 44/85] [Bot] Update README.md Committed by [iptv-bot](https://github.com/apps/iptv-bot) via [update](https://github.com/iptv-org/iptv/actions/runs/14208563953) workflow. --- README.md | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/README.md b/README.md index 90515f88e..78802fc3b 100644 --- a/README.md +++ b/README.md @@ -62,10 +62,10 @@ Same thing, but split up into separate files: Cooking24https://iptv-org.github.io/iptv/categories/cooking.m3u Culture170https://iptv-org.github.io/iptv/categories/culture.m3u Documentary80https://iptv-org.github.io/iptv/categories/documentary.m3u - Education154https://iptv-org.github.io/iptv/categories/education.m3u + Education153https://iptv-org.github.io/iptv/categories/education.m3u Entertainment547https://iptv-org.github.io/iptv/categories/entertainment.m3u Family35https://iptv-org.github.io/iptv/categories/family.m3u - General2335https://iptv-org.github.io/iptv/categories/general.m3u + General2334https://iptv-org.github.io/iptv/categories/general.m3u Kids183https://iptv-org.github.io/iptv/categories/kids.m3u Legislative192https://iptv-org.github.io/iptv/categories/legislative.m3u Lifestyle79https://iptv-org.github.io/iptv/categories/lifestyle.m3u @@ -226,7 +226,7 @@ Same thing, but split up into separate files: Mossi1https://iptv-org.github.io/iptv/languages/mos.m3u Mycenaean Greek1https://iptv-org.github.io/iptv/languages/gmy.m3u Nepali9https://iptv-org.github.io/iptv/languages/nep.m3u - Norwegian9https://iptv-org.github.io/iptv/languages/nor.m3u + Norwegian8https://iptv-org.github.io/iptv/languages/nor.m3u Norwegian Bokmål1https://iptv-org.github.io/iptv/languages/nob.m3u Nyankole1https://iptv-org.github.io/iptv/languages/nyn.m3u Nyoro1https://iptv-org.github.io/iptv/languages/nyo.m3u @@ -278,7 +278,7 @@ Same thing, but split up into separate files: Ukrainian61https://iptv-org.github.io/iptv/languages/ukr.m3u Urdu38https://iptv-org.github.io/iptv/languages/urd.m3u Uzbek14https://iptv-org.github.io/iptv/languages/uzb.m3u - Vietnamese67https://iptv-org.github.io/iptv/languages/vie.m3u + Vietnamese66https://iptv-org.github.io/iptv/languages/vie.m3u Welsh1https://iptv-org.github.io/iptv/languages/cym.m3u Western Frisian1https://iptv-org.github.io/iptv/languages/fry.m3u Wolof8https://iptv-org.github.io/iptv/languages/wol.m3u @@ -635,7 +635,7 @@ Same thing, but split up into separate files: 🇰🇵 North Korea5https://iptv-org.github.io/iptv/countries/kp.m3u 🇲🇰 North Macedonia65https://iptv-org.github.io/iptv/countries/mk.m3u 🇲🇵 Northern Mariana Islands5https://iptv-org.github.io/iptv/countries/mp.m3u - 🇳🇴 Norway39https://iptv-org.github.io/iptv/countries/no.m3u + 🇳🇴 Norway38https://iptv-org.github.io/iptv/countries/no.m3u 🇴🇲 Oman48https://iptv-org.github.io/iptv/countries/om.m3u 🇵🇰 Pakistan39https://iptv-org.github.io/iptv/countries/pk.m3u 🇵🇼 Palau5https://iptv-org.github.io/iptv/countries/pw.m3u @@ -736,7 +736,7 @@ Same thing, but split up into separate files: 🇸🇩 Sudan66https://iptv-org.github.io/iptv/countries/sd.m3u 🇸🇷 Suriname10https://iptv-org.github.io/iptv/countries/sr.m3u 🇸🇿 Swaziland23https://iptv-org.github.io/iptv/countries/sz.m3u - 🇸🇪 Sweden59https://iptv-org.github.io/iptv/countries/se.m3u + 🇸🇪 Sweden58https://iptv-org.github.io/iptv/countries/se.m3u 🇨🇭 Switzerland75https://iptv-org.github.io/iptv/countries/ch.m3u 🇸🇾 Syria47https://iptv-org.github.io/iptv/countries/sy.m3u 🇹🇼 Taiwan29https://iptv-org.github.io/iptv/countries/tw.m3u @@ -812,7 +812,7 @@ Same thing, but split up into separate files: 🇻🇪 Venezuela115https://iptv-org.github.io/iptv/countries/ve.m3u       Aragua2https://iptv-org.github.io/iptv/subdivisions/ve-d.m3u       Lara1https://iptv-org.github.io/iptv/subdivisions/ve-k.m3u - 🇻🇳 Vietnam72https://iptv-org.github.io/iptv/countries/vn.m3u + 🇻🇳 Vietnam71https://iptv-org.github.io/iptv/countries/vn.m3u 🇼🇫 Wallis and Futuna5https://iptv-org.github.io/iptv/countries/wf.m3u 🇪🇭 Western Sahara27https://iptv-org.github.io/iptv/countries/eh.m3u 🇾🇪 Yemen47https://iptv-org.github.io/iptv/countries/ye.m3u @@ -847,9 +847,9 @@ Same thing, but split up into separate files: Africa548https://iptv-org.github.io/iptv/regions/afr.m3u Americas3598https://iptv-org.github.io/iptv/regions/amer.m3u Arab world399https://iptv-org.github.io/iptv/regions/arab.m3u - Asia2161https://iptv-org.github.io/iptv/regions/asia.m3u - Asia-Pacific1137https://iptv-org.github.io/iptv/regions/apac.m3u - Association of Southeast Asian Nations343https://iptv-org.github.io/iptv/regions/asean.m3u + Asia2160https://iptv-org.github.io/iptv/regions/asia.m3u + Asia-Pacific1136https://iptv-org.github.io/iptv/regions/apac.m3u + Association of Southeast Asian Nations342https://iptv-org.github.io/iptv/regions/asean.m3u Balkan686https://iptv-org.github.io/iptv/regions/balkan.m3u Benelux246https://iptv-org.github.io/iptv/regions/benelux.m3u Caribbean365https://iptv-org.github.io/iptv/regions/carib.m3u @@ -857,23 +857,23 @@ Same thing, but split up into separate files: Central and Eastern Europe1002https://iptv-org.github.io/iptv/regions/cee.m3u Central Asia112https://iptv-org.github.io/iptv/regions/cas.m3u Commonwealth of Independent States374https://iptv-org.github.io/iptv/regions/cis.m3u - Europe2875https://iptv-org.github.io/iptv/regions/eur.m3u - Europe, the Middle East and Africa3786https://iptv-org.github.io/iptv/regions/emea.m3u - European Union1956https://iptv-org.github.io/iptv/regions/eu.m3u + Europe2874https://iptv-org.github.io/iptv/regions/eur.m3u + Europe, the Middle East and Africa3785https://iptv-org.github.io/iptv/regions/emea.m3u + European Union1955https://iptv-org.github.io/iptv/regions/eu.m3u Hispanic America1679https://iptv-org.github.io/iptv/regions/hispam.m3u Latin America1994https://iptv-org.github.io/iptv/regions/latam.m3u Latin America and the Caribbean2038https://iptv-org.github.io/iptv/regions/lac.m3u Maghreb89https://iptv-org.github.io/iptv/regions/maghreb.m3u Middle East802https://iptv-org.github.io/iptv/regions/mideast.m3u Middle East and North Africa830https://iptv-org.github.io/iptv/regions/mena.m3u - Nordics113https://iptv-org.github.io/iptv/regions/nord.m3u + Nordics112https://iptv-org.github.io/iptv/regions/nord.m3u North America2420https://iptv-org.github.io/iptv/regions/noram.m3u Northern America1582https://iptv-org.github.io/iptv/regions/nam.m3u - Northern Europe155https://iptv-org.github.io/iptv/regions/neur.m3u + Northern Europe154https://iptv-org.github.io/iptv/regions/neur.m3u Oceania54https://iptv-org.github.io/iptv/regions/oce.m3u South America1257https://iptv-org.github.io/iptv/regions/southam.m3u South Asia405https://iptv-org.github.io/iptv/regions/sas.m3u - Southeast Asia343https://iptv-org.github.io/iptv/regions/sea.m3u + Southeast Asia342https://iptv-org.github.io/iptv/regions/sea.m3u Southern Europe1051https://iptv-org.github.io/iptv/regions/ser.m3u Sub-Saharan Africa494https://iptv-org.github.io/iptv/regions/ssa.m3u West Africa256https://iptv-org.github.io/iptv/regions/wafr.m3u From 118bb342a8d1be4667022bc49964958205c195e9 Mon Sep 17 00:00:00 2001 From: "iptv-bot[bot]" <84861620+iptv-bot[bot]@users.noreply.github.com> Date: Thu, 3 Apr 2025 00:11:05 +0000 Subject: [PATCH 45/85] [Bot] Update /streams Committed by [iptv-bot](https://github.com/apps/iptv-bot) via [update](https://github.com/iptv-org/iptv/actions/runs/14232034421) workflow. closes #21003, closes #20995, closes #20994, closes #20993, closes #20992, closes #20991, closes #20989 --- streams/az.m3u | 2 -- streams/ba.m3u | 4 ---- streams/bd.m3u | 4 ---- streams/be.m3u | 14 -------------- streams/ma.m3u | 6 ++---- streams/us_samsung.m3u | 2 -- 6 files changed, 2 insertions(+), 30 deletions(-) diff --git a/streams/az.m3u b/streams/az.m3u index 79d36aa38..88440a0e2 100644 --- a/streams/az.m3u +++ b/streams/az.m3u @@ -35,8 +35,6 @@ https://raw.githubusercontent.com/UzunMuhalefet/streams/refs/heads/main/myvideo- https://str.yodacdn.net/medeniyyet/index.m3u8 #EXTINF:-1 tvg-id="",MTV TV https://raw.githubusercontent.com/UzunMuhalefet/streams/refs/heads/main/myvideo-az/mtv-azerbaycan.m3u8 -#EXTINF:-1 tvg-id="ShowPlusTV.az",Show Plus TV (720p) -https://glb.bozztv.com/glb/ssh101/showplus/index.m3u8 #EXTINF:-1 tvg-id="SpaceTV.az",Space TV https://raw.githubusercontent.com/UzunMuhalefet/streams/main/myvideo-az/space-tv.m3u8 #EXTINF:-1 tvg-id="",TMB TV diff --git a/streams/ba.m3u b/streams/ba.m3u index 88fbacaba..dfcc434ed 100644 --- a/streams/ba.m3u +++ b/streams/ba.m3u @@ -1,8 +1,6 @@ #EXTM3U #EXTINF:-1 tvg-id="AlJazeeraBalkans.ba",Al Jazeera Balkans (1080p) https://live-hls-apps-ajb-v3-fa.getaj.net/AJB/index.m3u8 -#EXTINF:-1 tvg-id="B1TV.ba",B1 TV (1080p) [Not 24/7] -http://wowza.bihnet.net:88/hls/b1-live.m3u8 #EXTINF:-1 tvg-id="BHRT.ba",BHRT (720p) [Geo-blocked] https://bhrtstream.bhtelecom.ba/bhrtportal.m3u8 #EXTINF:-1 tvg-id="BHRT.ba",BHRT (270p) [Geo-blocked] @@ -25,8 +23,6 @@ http://glasdrine.cutuk.net:8081/433ssdsw/GlasDrineSD/playlist.m3u8 https://prd-hometv-live-open.spectar.tv/ERO_1_083/playlist.m3u8 #EXTINF:-1 tvg-id="RTVZenica.ba",RTV Zenica (720p) https://stream.rtvze.ba/live/123/123.m3u8 -#EXTINF:-1 tvg-id="SevdahTV.ba",Sevdah TV (288p) -https://restreamer2.tnt.ba/hls/stream.m3u8 #EXTINF:-1 tvg-id="SuperTV.ba",Super TV Media (720p) https://mirtv.club/live/mirtv/index.m3u8 #EXTINF:-1 tvg-id="Televizija5.ba",Televizija 5 (576p) diff --git a/streams/bd.m3u b/streams/bd.m3u index 2ef1c316e..1a90ee72a 100644 --- a/streams/bd.m3u +++ b/streams/bd.m3u @@ -11,14 +11,10 @@ https://www.btvlive.gov.bd/streams/ef8b8bbc-98b7-4ba7-a49d-a0adaf259d35/ES/d96eb https://amigofx.com:1936/channelsreporter/channelsreporter/playlist.m3u8 #EXTINF:-1 tvg-id="DeshiTV.ca",Deshi TV (720p) https://deshitv.deshitv24.net/live/myStream/playlist.m3u8 -#EXTINF:-1 tvg-id="ETenTV.bd",E Ten TV (1080p) [Not 24/7] -https://iptvbd.live/test/1080.m3u8 #EXTINF:-1 tvg-id="EkusheyTV.bd",Ekushey TV (480p) https://ekusheyserver.com/etvlivesn.m3u8 #EXTINF:-1 tvg-id="JamunaTV.bd",Jamuna TV (720p) [Geo-blocked] http://113.212.111.246:8080/hls/col12.m3u8 -#EXTINF:-1 tvg-id="",JaTV (720p) -https://cloud2.smartsolbd.com/live/jatvbd/index.m3u8 #EXTINF:-1 tvg-id="ProbashiTVNews.ca",Probashi TV News (720p) http://probashi.alvegroups.com:8081/probashitv/probashi/playlist.m3u8 #EXTINF:-1 tvg-id="SangsadTV.bd",Sangsad TV (1080p) diff --git a/streams/be.m3u b/streams/be.m3u index 0dfdea9b5..fae73786b 100644 --- a/streams/be.m3u +++ b/streams/be.m3u @@ -7,32 +7,22 @@ https://live.zendzend.com/streams/29375_107244/playlist.m3u8 https://bel-live-hls.akamaized.net/hls/live/2038650/BEL-Live-HLS/master.m3u8 #EXTINF:-1 tvg-id="BAMTV.be",Bel'Afrika Media TV (1080p) https://goccn.cloud/hls/belafrikatv/index.m3u8 -#EXTINF:-1 tvg-id="BelgianFederalParliament.be",Belgian Federal Parliament (720p) [Not 24/7] -http://livestream.parolis.be:1935/live/PLN_NL/playlist.m3u8 #EXTINF:-1 tvg-id="Bouke.be",Bouke [Geo-blocked] https://tvlocales-live.freecaster.com/live/95d2f70d-9229-478b-9aed-bc4fa220316d/95d2f70d-9229-478b-9aed-bc4fa220316d.isml/master.m3u8 #EXTINF:-1 tvg-id="BX1.be",BX1 (720p) [Not 24/7] https://59959724487e3.streamlock.net/stream/live/playlist.m3u8 #EXTINF:-1 tvg-id="CanalZoom.be",Canal Zoom [Geo-blocked] https://tvlocales-live.freecaster.com/live/95d2e3af-5ab8-45a9-9dc9-f544d006b5d5/95d2e3af-5ab8-45a9-9dc9-f544d006b5d5.isml/master.m3u8 -#EXTINF:-1 tvg-id="CityMusicTV.be",City Music TV (720p) -https://5592f056abba8.streamlock.net/citytv/citytv/playlist.m3u8 #EXTINF:-1 tvg-id="EbS.be",EbS (1080p) https://streams.prd.commavservices.eu/live/ebs/index.m3u8 #EXTINF:-1 tvg-id="EbSPlus.be",EbS+ (1080p) https://streams.prd.commavservices.eu/live/ebsplus/index.m3u8 -#EXTINF:-1 tvg-id="FunVision.be",Fun Radio Vision (720p) [Not 24/7] -https://raw.githubusercontent.com/Sphinxroot/HSL/main/DM/be/FunRadio.m3u8 #EXTINF:-1 tvg-id="HLNLive.be",HLN Live (720p) https://dpg-eventstreams.akamaized.net/hlnlivesrt-xmr/streamx/hlnlivesrt_720p.m3u8 #EXTINF:-1 tvg-id="JapanimTV.be",Japanim TV (1080p) https://foxkidstv.be:3369/stream/play.m3u8 #EXTINF:-1 tvg-id="JoeFM.be",Joe FM (720p) [Not 24/7] https://dpp-streamlive-plain.medialaancdn.be/joe_kijklive/plain/hls_hd.m3u8 -#EXTINF:-1 tvg-id="KetnetJunior.be",Ketnet Junior (720p) -https://content.uplynk.com/channel/e11a05356cc44198977436418ad71832.m3u8 -#EXTINF:-1 tvg-id="KetnetJunior.be",Ketnet Junior (720p) -https://content.uplynk.com/channel/e11a05356cc44198977436418ad71832.mpd #EXTINF:-1 tvg-id="LaUne.be",La Une (1080p) http://41.205.93.154/LA-UNE/mpegts #EXTINF:-1 tvg-id="LN24.be",LN24 @@ -49,10 +39,6 @@ https://streaming01.divercom.be/notele_live/direct.stream/playlist.m3u8 https://live-video.dpgmedia.net/f1d26a28c95485cc/out/v1/5f60a245c110454fba652900ecf30ea2/index.m3u8 #EXTINF:-1 tvg-id="RadioContact.be",Radio Contact (1080p) https://contact-live-hls.akamaized.net/hls/live/2038650/CONTACT-Live-HLS/master.m3u8 -#EXTINF:-1 tvg-id="RadioPROS.be",Radio PROS (720p) [Not 24/7] -http://highvolume04.streampartner.nl/radiopros/livestream/playlist.m3u8 -#EXTINF:-1 tvg-id="RadioPROS.be",Radio PROS (720p) [Not 24/7] -https://558bd16067b67.streamlock.net/radiopros/livestream/playlist.m3u8 #EXTINF:-1 tvg-id="",RTC Télé Liège [Geo-blocked] https://tvlocales-live.freecaster.com/live/95d2f6eb-6f01-4d1d-8543-d14966de7b04/95d2f6eb-6f01-4d1d-8543-d14966de7b04.isml/master.m3u8 #EXTINF:-1 tvg-id="RTLTVI.be",RTL-TVI (1080p) [Not 24/7] diff --git a/streams/ma.m3u b/streams/ma.m3u index 8f65b67ea..d328d9f72 100644 --- a/streams/ma.m3u +++ b/streams/ma.m3u @@ -3,10 +3,6 @@ #EXTVLCOPT:http-referrer=https://2m.ma #EXTVLCOPT:http-user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0 https://cdn-globecast.akamaized.net/live/eds/2m_monde/hls_video_ts_tuhawxpiemz257adfc/2m_monde.m3u8 -#EXTINF:-1 tvg-id="",2M National (1080p) -http://154.197.91.168:7001/play/a0fn/index.m3u8 -#EXTINF:-1 tvg-id="AlAoulaInter.ma",Al Aoula International (1080p) -http://154.197.91.168:7001/play/a0f5/index.m3u8 #EXTINF:-1 tvg-id="AlAoulaInter.ma",Al Aoula International (480p) https://cdn.live.easybroadcast.io/abr_corp/73_aloula_w1dqfwm/playlist_dvr.m3u8 #EXTINF:-1 tvg-id="LaayouneTV.ma",Al Aoula Laâyoune (480p) @@ -41,3 +37,5 @@ https://streaming1.medi1tv.com/live/smil:medi1tv.smil/playlist.m3u8 https://streaming2.medi1tv.com/live/smil:medi1tv.smil/playlist.m3u8 #EXTINF:-1 tvg-id="TamazightTV.ma",Tamazight (480p) https://cdn.live.easybroadcast.io/abr_corp/73_tamazight_tccybxt/playlist_dvr.m3u8 +#EXTINF:-1 tvg-id="2M.ma",2M (720p) +https://d3g87jnubafe6a.cloudfront.net/out/v1/1fa0fb3c8dec402994a6f7a7f6492b82/index.m3u8 diff --git a/streams/us_samsung.m3u b/streams/us_samsung.m3u index b2f616ed9..d3ee5b96d 100644 --- a/streams/us_samsung.m3u +++ b/streams/us_samsung.m3u @@ -27,8 +27,6 @@ https://edgesport-rakuten-samsung.amagi.tv/playlist.m3u8 https://estrellanews-samsung-us.amagi.tv/playlist.m3u8 #EXTINF:-1 tvg-id="ESTV.us",ESTV (1080p) https://estv-rakuten-samsung.amagi.tv/playlist.m3u8 -#EXTINF:-1 tvg-id="FireplaceLounge.us",Fireplace Lounge (2160p) -https://d300k472vyqakg.cloudfront.net/v1/master/3722c60a815c199d9c0ef36c5b73da68a62b09d1/cc-aijrtvzii4xsm-ssai-prd/v1/channel/FIREPLACE_4K_2022/index.m3u8 #EXTINF:-1 tvg-id="LiveNOWfromFOX.us",FOX News Now (720p) https://fox-foxnewsnow-samsungus.amagi.tv/playlist.m3u8 #EXTINF:-1 tvg-id="FoxSoul.us",Fox Soul (1080p) From 5ff47aa15824bd4e3bee21b1b305a2fd0debe78a Mon Sep 17 00:00:00 2001 From: "iptv-bot[bot]" <84861620+iptv-bot[bot]@users.noreply.github.com> Date: Thu, 3 Apr 2025 00:11:05 +0000 Subject: [PATCH 46/85] [Bot] Update README.md Committed by [iptv-bot](https://github.com/apps/iptv-bot) via [update](https://github.com/iptv-org/iptv/actions/runs/14232034421) workflow. --- README.md | 94 +++++++++++++++++++++++++++---------------------------- 1 file changed, 47 insertions(+), 47 deletions(-) diff --git a/README.md b/README.md index 78802fc3b..9c3d362e9 100644 --- a/README.md +++ b/README.md @@ -63,17 +63,17 @@ Same thing, but split up into separate files: Culture170https://iptv-org.github.io/iptv/categories/culture.m3u Documentary80https://iptv-org.github.io/iptv/categories/documentary.m3u Education153https://iptv-org.github.io/iptv/categories/education.m3u - Entertainment547https://iptv-org.github.io/iptv/categories/entertainment.m3u + Entertainment545https://iptv-org.github.io/iptv/categories/entertainment.m3u Family35https://iptv-org.github.io/iptv/categories/family.m3u - General2334https://iptv-org.github.io/iptv/categories/general.m3u - Kids183https://iptv-org.github.io/iptv/categories/kids.m3u - Legislative192https://iptv-org.github.io/iptv/categories/legislative.m3u + General2336https://iptv-org.github.io/iptv/categories/general.m3u + Kids182https://iptv-org.github.io/iptv/categories/kids.m3u + Legislative191https://iptv-org.github.io/iptv/categories/legislative.m3u Lifestyle79https://iptv-org.github.io/iptv/categories/lifestyle.m3u Movies236https://iptv-org.github.io/iptv/categories/movies.m3u - Music659https://iptv-org.github.io/iptv/categories/music.m3u + Music655https://iptv-org.github.io/iptv/categories/music.m3u News766https://iptv-org.github.io/iptv/categories/news.m3u Outdoor41https://iptv-org.github.io/iptv/categories/outdoor.m3u - Relax3https://iptv-org.github.io/iptv/categories/relax.m3u + Relax2https://iptv-org.github.io/iptv/categories/relax.m3u Religious694https://iptv-org.github.io/iptv/categories/religious.m3u Science21https://iptv-org.github.io/iptv/categories/science.m3u Series149https://iptv-org.github.io/iptv/categories/series.m3u @@ -82,7 +82,7 @@ Same thing, but split up into separate files: Travel40https://iptv-org.github.io/iptv/categories/travel.m3u Weather13https://iptv-org.github.io/iptv/categories/weather.m3u XXX0https://iptv-org.github.io/iptv/categories/xxx.m3u - Undefined4734https://iptv-org.github.io/iptv/categories/undefined.m3u + Undefined4731https://iptv-org.github.io/iptv/categories/undefined.m3u @@ -115,21 +115,21 @@ Same thing, but split up into separate files: Albanian37https://iptv-org.github.io/iptv/languages/sqi.m3u Alur1https://iptv-org.github.io/iptv/languages/alz.m3u Amharic7https://iptv-org.github.io/iptv/languages/amh.m3u - Arabic391https://iptv-org.github.io/iptv/languages/ara.m3u + Arabic392https://iptv-org.github.io/iptv/languages/ara.m3u Armenian25https://iptv-org.github.io/iptv/languages/hye.m3u Assamese7https://iptv-org.github.io/iptv/languages/asm.m3u Assyrian Neo-Aramaic1https://iptv-org.github.io/iptv/languages/aii.m3u Ayizo Gbe1https://iptv-org.github.io/iptv/languages/ayb.m3u Aymara1https://iptv-org.github.io/iptv/languages/aym.m3u - Azerbaijani18https://iptv-org.github.io/iptv/languages/aze.m3u + Azerbaijani17https://iptv-org.github.io/iptv/languages/aze.m3u Baatonum2https://iptv-org.github.io/iptv/languages/bba.m3u Bambara3https://iptv-org.github.io/iptv/languages/bam.m3u Bashkir1https://iptv-org.github.io/iptv/languages/bak.m3u Basque8https://iptv-org.github.io/iptv/languages/eus.m3u Belarusian7https://iptv-org.github.io/iptv/languages/bel.m3u - Bengali31https://iptv-org.github.io/iptv/languages/ben.m3u + Bengali30https://iptv-org.github.io/iptv/languages/ben.m3u Bhojpuri1https://iptv-org.github.io/iptv/languages/bho.m3u - Bosnian15https://iptv-org.github.io/iptv/languages/bos.m3u + Bosnian13https://iptv-org.github.io/iptv/languages/bos.m3u Bulgarian34https://iptv-org.github.io/iptv/languages/bul.m3u Burmese9https://iptv-org.github.io/iptv/languages/mya.m3u Catalan51https://iptv-org.github.io/iptv/languages/cat.m3u @@ -147,7 +147,7 @@ Same thing, but split up into separate files: Dhivehi10https://iptv-org.github.io/iptv/languages/div.m3u Dholuo2https://iptv-org.github.io/iptv/languages/luo.m3u Dimili2https://iptv-org.github.io/iptv/languages/zza.m3u - Dutch192https://iptv-org.github.io/iptv/languages/nld.m3u + Dutch188https://iptv-org.github.io/iptv/languages/nld.m3u Dyula1https://iptv-org.github.io/iptv/languages/dyu.m3u Egyptian Arabic2https://iptv-org.github.io/iptv/languages/arz.m3u English2112https://iptv-org.github.io/iptv/languages/eng.m3u @@ -158,7 +158,7 @@ Same thing, but split up into separate files: Filipino1https://iptv-org.github.io/iptv/languages/fil.m3u Finnish23https://iptv-org.github.io/iptv/languages/fin.m3u Fon3https://iptv-org.github.io/iptv/languages/fon.m3u - French420https://iptv-org.github.io/iptv/languages/fra.m3u + French419https://iptv-org.github.io/iptv/languages/fra.m3u Fulah2https://iptv-org.github.io/iptv/languages/ful.m3u Gaelic2https://iptv-org.github.io/iptv/languages/gla.m3u Galician13https://iptv-org.github.io/iptv/languages/glg.m3u @@ -214,7 +214,7 @@ Same thing, but split up into separate files: Macedonian34https://iptv-org.github.io/iptv/languages/mkd.m3u Maithili1https://iptv-org.github.io/iptv/languages/mai.m3u Malay18https://iptv-org.github.io/iptv/languages/msa.m3u - Malayalam61https://iptv-org.github.io/iptv/languages/mal.m3u + Malayalam62https://iptv-org.github.io/iptv/languages/mal.m3u Maltese8https://iptv-org.github.io/iptv/languages/mlt.m3u Mandarin Chinese3https://iptv-org.github.io/iptv/languages/cmn.m3u Mandinka1https://iptv-org.github.io/iptv/languages/mnk.m3u @@ -287,7 +287,7 @@ Same thing, but split up into separate files: Yucatec Maya1https://iptv-org.github.io/iptv/languages/yua.m3u Yue Chinese7https://iptv-org.github.io/iptv/languages/yue.m3u Zarma1https://iptv-org.github.io/iptv/languages/dje.m3u - Undefined2899https://iptv-org.github.io/iptv/languages/undefined.m3u + Undefined2897https://iptv-org.github.io/iptv/languages/undefined.m3u @@ -348,13 +348,13 @@ Same thing, but split up into separate files: 🇦🇼 Aruba21https://iptv-org.github.io/iptv/countries/aw.m3u 🇦🇺 Australia38https://iptv-org.github.io/iptv/countries/au.m3u 🇦🇹 Austria74https://iptv-org.github.io/iptv/countries/at.m3u - 🇦🇿 Azerbaijan50https://iptv-org.github.io/iptv/countries/az.m3u + 🇦🇿 Azerbaijan49https://iptv-org.github.io/iptv/countries/az.m3u 🇧🇸 Bahamas15https://iptv-org.github.io/iptv/countries/bs.m3u 🇧🇭 Bahrain47https://iptv-org.github.io/iptv/countries/bh.m3u - 🇧🇩 Bangladesh21https://iptv-org.github.io/iptv/countries/bd.m3u + 🇧🇩 Bangladesh20https://iptv-org.github.io/iptv/countries/bd.m3u 🇧🇧 Barbados13https://iptv-org.github.io/iptv/countries/bb.m3u 🇧🇾 Belarus51https://iptv-org.github.io/iptv/countries/by.m3u - 🇧🇪 Belgium76https://iptv-org.github.io/iptv/countries/be.m3u + 🇧🇪 Belgium71https://iptv-org.github.io/iptv/countries/be.m3u 🇧🇿 Belize9https://iptv-org.github.io/iptv/countries/bz.m3u 🇧🇯 Benin32https://iptv-org.github.io/iptv/countries/bj.m3u 🇧🇲 Bermuda7https://iptv-org.github.io/iptv/countries/bm.m3u @@ -365,7 +365,7 @@ Same thing, but split up into separate files:       Oruro1https://iptv-org.github.io/iptv/subdivisions/bo-o.m3u       Santa Cruz2https://iptv-org.github.io/iptv/subdivisions/bo-s.m3u 🇧🇶 Bonaire5https://iptv-org.github.io/iptv/countries/bq.m3u - 🇧🇦 Bosnia and Herzegovina48https://iptv-org.github.io/iptv/countries/ba.m3u + 🇧🇦 Bosnia and Herzegovina46https://iptv-org.github.io/iptv/countries/ba.m3u 🇧🇼 Botswana23https://iptv-org.github.io/iptv/countries/bw.m3u 🇧🇻 Bouvet Island5https://iptv-org.github.io/iptv/countries/bv.m3u 🇧🇷 Brazil298https://iptv-org.github.io/iptv/countries/br.m3u @@ -391,7 +391,7 @@ Same thing, but split up into separate files:       Santa Catarina9https://iptv-org.github.io/iptv/subdivisions/br-sc.m3u       Sao Paulo24https://iptv-org.github.io/iptv/subdivisions/br-sp.m3u 🇻🇬 British Virgin Islands14https://iptv-org.github.io/iptv/countries/vg.m3u - 🇧🇳 Brunei16https://iptv-org.github.io/iptv/countries/bn.m3u + 🇧🇳 Brunei17https://iptv-org.github.io/iptv/countries/bn.m3u 🇧🇬 Bulgaria69https://iptv-org.github.io/iptv/countries/bg.m3u 🇧🇫 Burkina Faso28https://iptv-org.github.io/iptv/countries/bf.m3u 🇧🇮 Burundi23https://iptv-org.github.io/iptv/countries/bi.m3u @@ -587,11 +587,11 @@ Same thing, but split up into separate files: 🇱🇾 Libya70https://iptv-org.github.io/iptv/countries/ly.m3u 🇱🇮 Liechtenstein31https://iptv-org.github.io/iptv/countries/li.m3u 🇱🇹 Lithuania48https://iptv-org.github.io/iptv/countries/lt.m3u - 🇱🇺 Luxembourg58https://iptv-org.github.io/iptv/countries/lu.m3u + 🇱🇺 Luxembourg57https://iptv-org.github.io/iptv/countries/lu.m3u 🇲🇴 Macao7https://iptv-org.github.io/iptv/countries/mo.m3u 🇲🇬 Madagascar22https://iptv-org.github.io/iptv/countries/mg.m3u 🇲🇼 Malawi25https://iptv-org.github.io/iptv/countries/mw.m3u - 🇲🇾 Malaysia30https://iptv-org.github.io/iptv/countries/my.m3u + 🇲🇾 Malaysia31https://iptv-org.github.io/iptv/countries/my.m3u 🇲🇻 Maldives15https://iptv-org.github.io/iptv/countries/mv.m3u 🇲🇱 Mali28https://iptv-org.github.io/iptv/countries/ml.m3u 🇲🇹 Malta46https://iptv-org.github.io/iptv/countries/mt.m3u @@ -618,13 +618,13 @@ Same thing, but split up into separate files: 🇲🇪 Montenegro36https://iptv-org.github.io/iptv/countries/me.m3u       Ulcinj1https://iptv-org.github.io/iptv/subdivisions/me-20.m3u 🇲🇸 Montserrat12https://iptv-org.github.io/iptv/countries/ms.m3u - 🇲🇦 Morocco74https://iptv-org.github.io/iptv/countries/ma.m3u + 🇲🇦 Morocco75https://iptv-org.github.io/iptv/countries/ma.m3u 🇲🇿 Mozambique26https://iptv-org.github.io/iptv/countries/mz.m3u 🇲🇲 Myanmar21https://iptv-org.github.io/iptv/countries/mm.m3u 🇳🇦 Namibia23https://iptv-org.github.io/iptv/countries/na.m3u 🇳🇷 Nauru5https://iptv-org.github.io/iptv/countries/nr.m3u 🇳🇵 Nepal17https://iptv-org.github.io/iptv/countries/np.m3u - 🇳🇱 Netherlands197https://iptv-org.github.io/iptv/countries/nl.m3u + 🇳🇱 Netherlands196https://iptv-org.github.io/iptv/countries/nl.m3u 🇳🇨 New Caledonia5https://iptv-org.github.io/iptv/countries/nc.m3u 🇳🇿 New Zealand24https://iptv-org.github.io/iptv/countries/nz.m3u 🇳🇮 Nicaragua81https://iptv-org.github.io/iptv/countries/ni.m3u @@ -691,7 +691,7 @@ Same thing, but split up into separate files: 🇷🇸 Serbia69https://iptv-org.github.io/iptv/countries/rs.m3u 🇸🇨 Seychelles22https://iptv-org.github.io/iptv/countries/sc.m3u 🇸🇱 Sierra Leone24https://iptv-org.github.io/iptv/countries/sl.m3u - 🇸🇬 Singapore20https://iptv-org.github.io/iptv/countries/sg.m3u + 🇸🇬 Singapore21https://iptv-org.github.io/iptv/countries/sg.m3u 🇸🇽 Sint Maarten18https://iptv-org.github.io/iptv/countries/sx.m3u 🇸🇰 Slovakia92https://iptv-org.github.io/iptv/countries/sk.m3u 🇸🇮 Slovenia56https://iptv-org.github.io/iptv/countries/si.m3u @@ -757,7 +757,7 @@ Same thing, but split up into separate files: 🇺🇦 Ukraine92https://iptv-org.github.io/iptv/countries/ua.m3u 🇦🇪 United Arab Emirates89https://iptv-org.github.io/iptv/countries/ae.m3u 🇬🇧 United Kingdom175https://iptv-org.github.io/iptv/countries/uk.m3u - 🇺🇸 United States1422https://iptv-org.github.io/iptv/countries/us.m3u + 🇺🇸 United States1421https://iptv-org.github.io/iptv/countries/us.m3u       Alabama3https://iptv-org.github.io/iptv/subdivisions/us-al.m3u       Alaska2https://iptv-org.github.io/iptv/subdivisions/us-ak.m3u       Arizona13https://iptv-org.github.io/iptv/subdivisions/us-az.m3u @@ -818,7 +818,7 @@ Same thing, but split up into separate files: 🇾🇪 Yemen47https://iptv-org.github.io/iptv/countries/ye.m3u 🇿🇲 Zambia23https://iptv-org.github.io/iptv/countries/zm.m3u 🇿🇼 Zimbabwe23https://iptv-org.github.io/iptv/countries/zw.m3u - Undefined2899https://iptv-org.github.io/iptv/countries/undefined.m3u + Undefined2897https://iptv-org.github.io/iptv/countries/undefined.m3u @@ -844,42 +844,42 @@ Same thing, but split up into separate files: RegionChannelsPlaylist - Africa548https://iptv-org.github.io/iptv/regions/afr.m3u - Americas3598https://iptv-org.github.io/iptv/regions/amer.m3u - Arab world399https://iptv-org.github.io/iptv/regions/arab.m3u - Asia2160https://iptv-org.github.io/iptv/regions/asia.m3u + Africa549https://iptv-org.github.io/iptv/regions/afr.m3u + Americas3597https://iptv-org.github.io/iptv/regions/amer.m3u + Arab world400https://iptv-org.github.io/iptv/regions/arab.m3u + Asia2159https://iptv-org.github.io/iptv/regions/asia.m3u Asia-Pacific1136https://iptv-org.github.io/iptv/regions/apac.m3u - Association of Southeast Asian Nations342https://iptv-org.github.io/iptv/regions/asean.m3u - Balkan686https://iptv-org.github.io/iptv/regions/balkan.m3u - Benelux246https://iptv-org.github.io/iptv/regions/benelux.m3u + Association of Southeast Asian Nations343https://iptv-org.github.io/iptv/regions/asean.m3u + Balkan684https://iptv-org.github.io/iptv/regions/balkan.m3u + Benelux241https://iptv-org.github.io/iptv/regions/benelux.m3u Caribbean365https://iptv-org.github.io/iptv/regions/carib.m3u Central America372https://iptv-org.github.io/iptv/regions/cenamer.m3u - Central and Eastern Europe1002https://iptv-org.github.io/iptv/regions/cee.m3u + Central and Eastern Europe999https://iptv-org.github.io/iptv/regions/cee.m3u Central Asia112https://iptv-org.github.io/iptv/regions/cas.m3u - Commonwealth of Independent States374https://iptv-org.github.io/iptv/regions/cis.m3u - Europe2874https://iptv-org.github.io/iptv/regions/eur.m3u - Europe, the Middle East and Africa3785https://iptv-org.github.io/iptv/regions/emea.m3u - European Union1955https://iptv-org.github.io/iptv/regions/eu.m3u + Commonwealth of Independent States373https://iptv-org.github.io/iptv/regions/cis.m3u + Europe2866https://iptv-org.github.io/iptv/regions/eur.m3u + Europe, the Middle East and Africa3778https://iptv-org.github.io/iptv/regions/emea.m3u + European Union1950https://iptv-org.github.io/iptv/regions/eu.m3u Hispanic America1679https://iptv-org.github.io/iptv/regions/hispam.m3u Latin America1994https://iptv-org.github.io/iptv/regions/latam.m3u Latin America and the Caribbean2038https://iptv-org.github.io/iptv/regions/lac.m3u - Maghreb89https://iptv-org.github.io/iptv/regions/maghreb.m3u + Maghreb90https://iptv-org.github.io/iptv/regions/maghreb.m3u Middle East802https://iptv-org.github.io/iptv/regions/mideast.m3u - Middle East and North Africa830https://iptv-org.github.io/iptv/regions/mena.m3u + Middle East and North Africa831https://iptv-org.github.io/iptv/regions/mena.m3u Nordics112https://iptv-org.github.io/iptv/regions/nord.m3u - North America2420https://iptv-org.github.io/iptv/regions/noram.m3u - Northern America1582https://iptv-org.github.io/iptv/regions/nam.m3u + North America2419https://iptv-org.github.io/iptv/regions/noram.m3u + Northern America1581https://iptv-org.github.io/iptv/regions/nam.m3u Northern Europe154https://iptv-org.github.io/iptv/regions/neur.m3u Oceania54https://iptv-org.github.io/iptv/regions/oce.m3u South America1257https://iptv-org.github.io/iptv/regions/southam.m3u - South Asia405https://iptv-org.github.io/iptv/regions/sas.m3u - Southeast Asia342https://iptv-org.github.io/iptv/regions/sea.m3u + South Asia404https://iptv-org.github.io/iptv/regions/sas.m3u + Southeast Asia343https://iptv-org.github.io/iptv/regions/sea.m3u Southern Europe1051https://iptv-org.github.io/iptv/regions/ser.m3u Sub-Saharan Africa494https://iptv-org.github.io/iptv/regions/ssa.m3u West Africa256https://iptv-org.github.io/iptv/regions/wafr.m3u - Western Europe785https://iptv-org.github.io/iptv/regions/wer.m3u + Western Europe780https://iptv-org.github.io/iptv/regions/wer.m3u Worldwide57https://iptv-org.github.io/iptv/regions/int.m3u - Undefined2899https://iptv-org.github.io/iptv/regions/undefined.m3u + Undefined2897https://iptv-org.github.io/iptv/regions/undefined.m3u From 58f0638b7267129db5159093edd7d864a1d01020 Mon Sep 17 00:00:00 2001 From: CasperMcFadden95 <145611964+CasperMcFadden95@users.noreply.github.com> Date: Thu, 3 Apr 2025 07:28:18 +0000 Subject: [PATCH 47/85] Update ma.m3u --- streams/ma.m3u | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/streams/ma.m3u b/streams/ma.m3u index d328d9f72..3029936b4 100644 --- a/streams/ma.m3u +++ b/streams/ma.m3u @@ -37,5 +37,5 @@ https://streaming1.medi1tv.com/live/smil:medi1tv.smil/playlist.m3u8 https://streaming2.medi1tv.com/live/smil:medi1tv.smil/playlist.m3u8 #EXTINF:-1 tvg-id="TamazightTV.ma",Tamazight (480p) https://cdn.live.easybroadcast.io/abr_corp/73_tamazight_tccybxt/playlist_dvr.m3u8 -#EXTINF:-1 tvg-id="2M.ma",2M (720p) +#EXTINF:-1 tvg-id="2MMonde.ma",2M Monde (720p) https://d3g87jnubafe6a.cloudfront.net/out/v1/1fa0fb3c8dec402994a6f7a7f6492b82/index.m3u8 From 5b45d77612396956fb7145daad4350a60fc193a6 Mon Sep 17 00:00:00 2001 From: theshoeshiner <2922868+theshoeshiner@users.noreply.github.com> Date: Thu, 3 Apr 2025 09:10:01 -0400 Subject: [PATCH 48/85] Add quality field to streams json --- scripts/models/stream.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/scripts/models/stream.ts b/scripts/models/stream.ts index 383790900..bd01845f6 100644 --- a/scripts/models/stream.ts +++ b/scripts/models/stream.ts @@ -326,7 +326,8 @@ export class Stream { feed: this.feedId || null, url: this.url, referrer: this.httpReferrer || null, - user_agent: this.httpUserAgent || null + user_agent: this.httpUserAgent || null, + quality: this.getQuality() || null } } From 699b2c1da623ae512f55e1f4f285443b0b95d59d Mon Sep 17 00:00:00 2001 From: "iptv-bot[bot]" <84861620+iptv-bot[bot]@users.noreply.github.com> Date: Fri, 4 Apr 2025 00:11:13 +0000 Subject: [PATCH 49/85] [Bot] Update /streams Committed by [iptv-bot](https://github.com/apps/iptv-bot) via [update](https://github.com/iptv-org/iptv/actions/runs/14255160701) workflow. closes #20999, closes #21001, closes #21000, closes #20997 --- streams/ae.m3u | 2 -- streams/ma.m3u | 2 ++ streams/sa.m3u | 2 ++ streams/tr.m3u | 2 ++ 4 files changed, 6 insertions(+), 2 deletions(-) diff --git a/streams/ae.m3u b/streams/ae.m3u index 7b3564189..9172ef7e7 100644 --- a/streams/ae.m3u +++ b/streams/ae.m3u @@ -33,8 +33,6 @@ https://svs.itworkscdn.net/kablatvlive/kabtv1.smil/playlist.m3u8 https://svs.itworkscdn.net/alwoustalive/alwoustatv.smil/playlist.m3u8 #EXTINF:-1 tvg-id="AlYaumTV.ae",Al Yaum TV (1080p) https://iko-live.akamaized.net/AlyuamTV/master.m3u8 -#EXTINF:-1 tvg-id="AlYaumTV.ae",Al Yaum TV (720p) -https://alyaum-tv.akamaized.net/hls/alyaum-tv.m3u8 #EXTINF:-1 tvg-id="Alarabiya.ae",Alarabiya (1080p) https://d35j504z0x2vu2.cloudfront.net/v1/master/0bc8e8376bd8417a1b6761138aa41c26c7309312/al-arabiya/playlist.m3u8 #EXTINF:-1 tvg-id="Alarabiya.ae",Alarabiya (1080p) diff --git a/streams/ma.m3u b/streams/ma.m3u index d328d9f72..12743cd20 100644 --- a/streams/ma.m3u +++ b/streams/ma.m3u @@ -39,3 +39,5 @@ https://streaming2.medi1tv.com/live/smil:medi1tv.smil/playlist.m3u8 https://cdn.live.easybroadcast.io/abr_corp/73_tamazight_tccybxt/playlist_dvr.m3u8 #EXTINF:-1 tvg-id="2M.ma",2M (720p) https://d3g87jnubafe6a.cloudfront.net/out/v1/1fa0fb3c8dec402994a6f7a7f6492b82/index.m3u8 +#EXTINF:-1 tvg-id="TeleMaroc.ma",Tele Maroc (720p) +https://raw.githubusercontent.com/ipstreet312/freeiptv/master/ressources/kuw/telmar.m3u8 diff --git a/streams/sa.m3u b/streams/sa.m3u index 8677b05cb..7e5d3bc81 100644 --- a/streams/sa.m3u +++ b/streams/sa.m3u @@ -143,3 +143,5 @@ https://rotana.hibridcdn.net/rotana/khaleejiya_net-7Y83PP5adWixDF93/playlist.m3u https://rotana.hibridcdn.net/rotana/lbc_net-7Y83PP5adWixDF93/playlist.m3u8 #EXTINF:-1 tvg-id="RotanaCinemaKSA.sa",Rotana Cinema KSA (1080p) https://rotana.hibridcdn.net/rotana/cinema_net-7Y83PP5adWixDF93/playlist.m3u8 +#EXTINF:-1 tvg-id="Fairuz.sa",Fairuz (1080p) +https://shls-live-enc.edgenextcdn.net/out/v1/bba3ef00b71b470fa955d93a9ca8c277/index.m3u8 diff --git a/streams/tr.m3u b/streams/tr.m3u index c5de48af8..33f0891ef 100644 --- a/streams/tr.m3u +++ b/streams/tr.m3u @@ -804,3 +804,5 @@ https://stream.yol.tv:9443/medialive/yol.m3u8 https://zindikurmanci.zaroktv.com.tr/hls/stream.m3u8 #EXTINF:-1 tvg-id="TYTTurk.tr",TYT Turk https://cdn-tytturk.yayin.com.tr/tytturk/index.m3u8 +#EXTINF:-1 tvg-id="MedMuzik.tr",Med Muzik (1080p) +http://54.36.110.140/live3/live3.m3u8 From f4eca66b1237ac3f55a01d4e11b41ef71c94b78d Mon Sep 17 00:00:00 2001 From: "iptv-bot[bot]" <84861620+iptv-bot[bot]@users.noreply.github.com> Date: Fri, 4 Apr 2025 00:11:13 +0000 Subject: [PATCH 50/85] [Bot] Update README.md Committed by [iptv-bot](https://github.com/apps/iptv-bot) via [update](https://github.com/iptv-org/iptv/actions/runs/14255160701) workflow. --- README.md | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/README.md b/README.md index 9c3d362e9..af57c2482 100644 --- a/README.md +++ b/README.md @@ -60,17 +60,17 @@ Same thing, but split up into separate files: Classic44https://iptv-org.github.io/iptv/categories/classic.m3u Comedy60https://iptv-org.github.io/iptv/categories/comedy.m3u Cooking24https://iptv-org.github.io/iptv/categories/cooking.m3u - Culture170https://iptv-org.github.io/iptv/categories/culture.m3u + Culture171https://iptv-org.github.io/iptv/categories/culture.m3u Documentary80https://iptv-org.github.io/iptv/categories/documentary.m3u Education153https://iptv-org.github.io/iptv/categories/education.m3u - Entertainment545https://iptv-org.github.io/iptv/categories/entertainment.m3u + Entertainment546https://iptv-org.github.io/iptv/categories/entertainment.m3u Family35https://iptv-org.github.io/iptv/categories/family.m3u - General2336https://iptv-org.github.io/iptv/categories/general.m3u + General2340https://iptv-org.github.io/iptv/categories/general.m3u Kids182https://iptv-org.github.io/iptv/categories/kids.m3u Legislative191https://iptv-org.github.io/iptv/categories/legislative.m3u Lifestyle79https://iptv-org.github.io/iptv/categories/lifestyle.m3u Movies236https://iptv-org.github.io/iptv/categories/movies.m3u - Music655https://iptv-org.github.io/iptv/categories/music.m3u + Music657https://iptv-org.github.io/iptv/categories/music.m3u News766https://iptv-org.github.io/iptv/categories/news.m3u Outdoor41https://iptv-org.github.io/iptv/categories/outdoor.m3u Relax2https://iptv-org.github.io/iptv/categories/relax.m3u @@ -82,7 +82,7 @@ Same thing, but split up into separate files: Travel40https://iptv-org.github.io/iptv/categories/travel.m3u Weather13https://iptv-org.github.io/iptv/categories/weather.m3u XXX0https://iptv-org.github.io/iptv/categories/xxx.m3u - Undefined4731https://iptv-org.github.io/iptv/categories/undefined.m3u + Undefined4728https://iptv-org.github.io/iptv/categories/undefined.m3u @@ -115,7 +115,7 @@ Same thing, but split up into separate files: Albanian37https://iptv-org.github.io/iptv/languages/sqi.m3u Alur1https://iptv-org.github.io/iptv/languages/alz.m3u Amharic7https://iptv-org.github.io/iptv/languages/amh.m3u - Arabic392https://iptv-org.github.io/iptv/languages/ara.m3u + Arabic394https://iptv-org.github.io/iptv/languages/ara.m3u Armenian25https://iptv-org.github.io/iptv/languages/hye.m3u Assamese7https://iptv-org.github.io/iptv/languages/asm.m3u Assyrian Neo-Aramaic1https://iptv-org.github.io/iptv/languages/aii.m3u @@ -158,7 +158,7 @@ Same thing, but split up into separate files: Filipino1https://iptv-org.github.io/iptv/languages/fil.m3u Finnish23https://iptv-org.github.io/iptv/languages/fin.m3u Fon3https://iptv-org.github.io/iptv/languages/fon.m3u - French419https://iptv-org.github.io/iptv/languages/fra.m3u + French420https://iptv-org.github.io/iptv/languages/fra.m3u Fulah2https://iptv-org.github.io/iptv/languages/ful.m3u Gaelic2https://iptv-org.github.io/iptv/languages/gla.m3u Galician13https://iptv-org.github.io/iptv/languages/glg.m3u @@ -618,7 +618,7 @@ Same thing, but split up into separate files: 🇲🇪 Montenegro36https://iptv-org.github.io/iptv/countries/me.m3u       Ulcinj1https://iptv-org.github.io/iptv/subdivisions/me-20.m3u 🇲🇸 Montserrat12https://iptv-org.github.io/iptv/countries/ms.m3u - 🇲🇦 Morocco75https://iptv-org.github.io/iptv/countries/ma.m3u + 🇲🇦 Morocco76https://iptv-org.github.io/iptv/countries/ma.m3u 🇲🇿 Mozambique26https://iptv-org.github.io/iptv/countries/mz.m3u 🇲🇲 Myanmar21https://iptv-org.github.io/iptv/countries/mm.m3u 🇳🇦 Namibia23https://iptv-org.github.io/iptv/countries/na.m3u @@ -686,7 +686,7 @@ Same thing, but split up into separate files: 🇼🇸 Samoa7https://iptv-org.github.io/iptv/countries/ws.m3u 🇸🇲 San Marino30https://iptv-org.github.io/iptv/countries/sm.m3u 🇸🇹 Sao Tome and Principe23https://iptv-org.github.io/iptv/countries/st.m3u - 🇸🇦 Saudi Arabia89https://iptv-org.github.io/iptv/countries/sa.m3u + 🇸🇦 Saudi Arabia90https://iptv-org.github.io/iptv/countries/sa.m3u 🇸🇳 Senegal53https://iptv-org.github.io/iptv/countries/sn.m3u 🇷🇸 Serbia69https://iptv-org.github.io/iptv/countries/rs.m3u 🇸🇨 Seychelles22https://iptv-org.github.io/iptv/countries/sc.m3u @@ -844,10 +844,10 @@ Same thing, but split up into separate files: RegionChannelsPlaylist - Africa549https://iptv-org.github.io/iptv/regions/afr.m3u + Africa550https://iptv-org.github.io/iptv/regions/afr.m3u Americas3597https://iptv-org.github.io/iptv/regions/amer.m3u - Arab world400https://iptv-org.github.io/iptv/regions/arab.m3u - Asia2159https://iptv-org.github.io/iptv/regions/asia.m3u + Arab world402https://iptv-org.github.io/iptv/regions/arab.m3u + Asia2160https://iptv-org.github.io/iptv/regions/asia.m3u Asia-Pacific1136https://iptv-org.github.io/iptv/regions/apac.m3u Association of Southeast Asian Nations343https://iptv-org.github.io/iptv/regions/asean.m3u Balkan684https://iptv-org.github.io/iptv/regions/balkan.m3u @@ -858,14 +858,14 @@ Same thing, but split up into separate files: Central Asia112https://iptv-org.github.io/iptv/regions/cas.m3u Commonwealth of Independent States373https://iptv-org.github.io/iptv/regions/cis.m3u Europe2866https://iptv-org.github.io/iptv/regions/eur.m3u - Europe, the Middle East and Africa3778https://iptv-org.github.io/iptv/regions/emea.m3u + Europe, the Middle East and Africa3780https://iptv-org.github.io/iptv/regions/emea.m3u European Union1950https://iptv-org.github.io/iptv/regions/eu.m3u Hispanic America1679https://iptv-org.github.io/iptv/regions/hispam.m3u Latin America1994https://iptv-org.github.io/iptv/regions/latam.m3u Latin America and the Caribbean2038https://iptv-org.github.io/iptv/regions/lac.m3u - Maghreb90https://iptv-org.github.io/iptv/regions/maghreb.m3u - Middle East802https://iptv-org.github.io/iptv/regions/mideast.m3u - Middle East and North Africa831https://iptv-org.github.io/iptv/regions/mena.m3u + Maghreb91https://iptv-org.github.io/iptv/regions/maghreb.m3u + Middle East803https://iptv-org.github.io/iptv/regions/mideast.m3u + Middle East and North Africa833https://iptv-org.github.io/iptv/regions/mena.m3u Nordics112https://iptv-org.github.io/iptv/regions/nord.m3u North America2419https://iptv-org.github.io/iptv/regions/noram.m3u Northern America1581https://iptv-org.github.io/iptv/regions/nam.m3u From 3e89a2634ed6564d1d89054814fc8eac09576c06 Mon Sep 17 00:00:00 2001 From: CasperMcFadden95 <145611964+CasperMcFadden95@users.noreply.github.com> Date: Fri, 4 Apr 2025 14:34:03 +0000 Subject: [PATCH 51/85] Update sa.m3u --- streams/sa.m3u | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/streams/sa.m3u b/streams/sa.m3u index 7e5d3bc81..611f62218 100644 --- a/streams/sa.m3u +++ b/streams/sa.m3u @@ -71,7 +71,7 @@ https://playlist.fasttvcdn.com/pl/dlkqw1ftuvuuzkcb4pxdcg/Iqraafasttv3/playlist.m https://playlist.fasttvcdn.com/pl/dlkqw1ftuvuuzkcb4pxdcg/Iqraafasttv2/playlist.m3u8 #EXTINF:-1 tvg-id="JeddahRadio.sa",Jeddah Radio (1080p) https://live.kwikmotion.com/sbrksajeddahradiolive/srpksajeddahradio/playlist.m3u8 -#EXTINF:-1 tvg-id="KhalijiComedy.sa",Khaliji Comedy (1080p) +#EXTINF:-1 tvg-id="RabehSaqer.sa",Rabeh Saqer (1080p) https://shls-live-enc.edgenextcdn.net/out/v1/ea4275b6dc0840c198c17f6dc6f1ec49/index.m3u8 #EXTINF:-1 tvg-id="MPlusHD.sa",M+ HD (1080p) https://d35j504z0x2vu2.cloudfront.net/v1/master/0bc8e8376bd8417a1b6761138aa41c26c7309312/m-plus/playlist.m3u8 From 72f1e7784611771efc6fd8df901175cb1d675d3a Mon Sep 17 00:00:00 2001 From: "iptv-bot[bot]" <84861620+iptv-bot[bot]@users.noreply.github.com> Date: Sat, 5 Apr 2025 00:11:05 +0000 Subject: [PATCH 52/85] [Bot] Update /streams Committed by [iptv-bot](https://github.com/apps/iptv-bot) via [update](https://github.com/iptv-org/iptv/actions/runs/14276258310) workflow. From 9de62b8706d327ddf3eb251a2a8ae9b72ee58cee Mon Sep 17 00:00:00 2001 From: "iptv-bot[bot]" <84861620+iptv-bot[bot]@users.noreply.github.com> Date: Sat, 5 Apr 2025 00:11:05 +0000 Subject: [PATCH 53/85] [Bot] Update README.md Committed by [iptv-bot](https://github.com/apps/iptv-bot) via [update](https://github.com/iptv-org/iptv/actions/runs/14276258310) workflow. From dfa2e3d7275421e54df00996239810b5aceb160c Mon Sep 17 00:00:00 2001 From: QogsY04diTn64zgl4WUxBYzxhHKWjcjmYTBVdBU Date: Sat, 5 Apr 2025 09:03:09 +0800 Subject: [PATCH 54/85] Update my.m3u Change id of RTM Parlimen channels --- streams/my.m3u | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/streams/my.m3u b/streams/my.m3u index 27a28d4ae..1c73198ba 100644 --- a/streams/my.m3u +++ b/streams/my.m3u @@ -19,10 +19,10 @@ https://hls.maahtv.live/hls/stream.m3u8 https://d25tgymtnqzu8s.cloudfront.net/smil:okey/playlist.m3u8?id=3 #EXTINF:-1 tvg-id="RTMASEAN.my",RTM ASEAN https://d25tgymtnqzu8s.cloudfront.net/event/smil:event1/chunklist_b2596000_slENG.m3u8 -#EXTINF:-1 tvg-id="ParlimenMalaysia.my" http-referrer="https://rtm-player.glueapi.io/",RTM Parlimen (Dewan Negara) [Geo-blocked] +#EXTINF:-1 tvg-id="RTMParlimenDewanNegara.my" http-referrer="https://rtm-player.glueapi.io/",RTM Parlimen (Dewan Negara) [Geo-blocked] #EXTVLCOPT:http-referrer=https://rtm-player.glueapi.io/ https://d25tgymtnqzu8s.cloudfront.net/smil:negara/playlist.m3u8?id=8 -#EXTINF:-1 tvg-id="ParlimenMalaysia.my" http-referrer="https://rtm-player.glueapi.io/",RTM Parlimen (Dewan Rakyat) [Geo-blocked] +#EXTINF:-1 tvg-id="RTMParlimenDewanRakyat.my" http-referrer="https://rtm-player.glueapi.io/",RTM Parlimen (Dewan Rakyat) [Geo-blocked] #EXTVLCOPT:http-referrer=https://rtm-player.glueapi.io/ https://d25tgymtnqzu8s.cloudfront.net/smil:rakyat/playlist.m3u8?id=7 #EXTINF:-1 tvg-id="TV1.my",TV1 [Geo-blocked] From 3c294ae0ae2b1ea1c30bd47ce0235ff39d74e0f3 Mon Sep 17 00:00:00 2001 From: Abu-Vovan-Al-Yahudi <202685450+Abu-Vovan-Al-Yahudi@users.noreply.github.com> Date: Sat, 5 Apr 2025 11:15:52 +0300 Subject: [PATCH 55/85] Delete streams/pl_irylek.m3u --- streams/pl_irylek.m3u | 41 ----------------------------------------- 1 file changed, 41 deletions(-) delete mode 100644 streams/pl_irylek.m3u diff --git a/streams/pl_irylek.m3u b/streams/pl_irylek.m3u deleted file mode 100644 index fb251189d..000000000 --- a/streams/pl_irylek.m3u +++ /dev/null @@ -1,41 +0,0 @@ -#EXTM3U -#EXTINF:-1 tvg-id="AlfaTVP.pl",Alfa TVP (1080p) -https://irylek.ct8.pl/stream/alfatvp -#EXTINF:-1 tvg-id="BelsatTV.pl",Belsat TV (1080p) -https://irylek.ct8.pl/stream/belsat -#EXTINF:-1 tvg-id="TVP1.pl",TVP1 (1080p) -https://irylek.ct8.pl/stream/tvp1hd -#EXTINF:-1 tvg-id="TVP2.pl",TVP2 (1080p) -https://irylek.ct8.pl/stream/tvp2hd -#EXTINF:-1 tvg-id="TVP3Warszawa.pl",TVP 3 Warszawa (1080p) -https://irylek.ct8.pl/stream/tvp3warszawahd -#EXTINF:-1 tvg-id="TVPABC.pl",TVP ABC (1080p) -https://irylek.ct8.pl/stream/tvpabc -#EXTINF:-1 tvg-id="TVPABC2.pl",TVP ABC 2 (1080p) -https://irylek.ct8.pl/stream/tvpabc2 -#EXTINF:-1 tvg-id="TVPDokument.pl",TVP Dokument (1080p) -https://irylek.ct8.pl/stream/tvpdokument -#EXTINF:-1 tvg-id="TVPHistoria.pl",TVP Historia (1080p) -https://irylek.ct8.pl/stream/tvphistoria -#EXTINF:-1 tvg-id="",TVP Historia 2 (1080p) -https://irylek.ct8.pl/stream/tvphistoria2 -#EXTINF:-1 tvg-id="TVPInfo.pl",TVP Info (1080p) -https://irylek.ct8.pl/stream/tvpinfo -#EXTINF:-1 tvg-id="TVPKobieta.pl",TVP Kobieta (1080p) [Geo-blocked] -https://irylek.ct8.pl/stream/tvpkobieta -#EXTINF:-1 tvg-id="TVPKultura.pl",TVP Kultura (1080p) -https://irylek.ct8.pl/stream/tvpkultura -#EXTINF:-1 tvg-id="TVPKultura2.pl",TVP Kultura 2 (1080p) -https://irylek.ct8.pl/stream/tvpkultura2 -#EXTINF:-1 tvg-id="TVPNauka.pl",TVP Nauka (1080p) -https://irylek.ct8.pl/stream/tvpnauka -#EXTINF:-1 tvg-id="TVPPolonia.pl",TVP Polonia (1080p) -https://irylek.ct8.pl/stream/tvppolonia -#EXTINF:-1 tvg-id="TVPRozrywka.pl",TVP Rozrywka (1080p) -https://irylek.ct8.pl/stream/tvprozrywka -#EXTINF:-1 tvg-id="TVPSport.pl",TVP Sport (1080p) -https://irylek.ct8.pl/stream/tvpsport -#EXTINF:-1 tvg-id="TVPWilno.pl",TVP Wilno (1080p) -https://irylek.ct8.pl/stream/tvpwilno -#EXTINF:-1 tvg-id="TVPWorld.pl",TVP World (1080p) -https://irylek.ct8.pl/stream/tvpworld From e4345a048733f6be82dfd6deac99b9e8d5d695c1 Mon Sep 17 00:00:00 2001 From: Abu-Vovan-Al-Yahudi <202685450+Abu-Vovan-Al-Yahudi@users.noreply.github.com> Date: Sat, 5 Apr 2025 11:27:46 +0300 Subject: [PATCH 56/85] Update us.m3u --- streams/us.m3u | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/streams/us.m3u b/streams/us.m3u index 9c1c1899f..a3ccf0fb2 100644 --- a/streams/us.m3u +++ b/streams/us.m3u @@ -180,9 +180,9 @@ https://reflect-stream-bronxnet.cablecast.tv/live-16/live/live.m3u8 #EXTINF:-1 tvg-id="BYUTV.us",BYU TV (720p) https://content.uplynk.com/channel/2f29cb20fcb74f68a85c38b99ca384bc.m3u8 #EXTINF:-1 tvg-id="CSPAN.us" http-referrer="https://pkpakiplay.xyz/" http-user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 17_7 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.0 Mobile/15E148 Safari/604.1",C-SPAN -#EXTVLCOPT:http-referrer=https://pkpakiplay.xyz/ +#EXTVLCOPT:http-referrer=https://webxzplay.cfd/ #EXTVLCOPT:http-user-agent=Mozilla/5.0 (iPhone; CPU iPhone OS 17_7 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.0 Mobile/15E148 Safari/604.1 -https://windnew.koskoros.ru/wind/premium750/mono.m3u8 +https://windnew.newkso.ru/wind/premium750/mono.m3u8 #EXTINF:-1 tvg-id="CafeTradeTV.us",Cafe Trade TV (720p) https://cafetradehls.wns.live/hls/stream.m3u8 #EXTINF:-1 tvg-id="CaliforniaMusicChannel.us",California Music Channel (720p) [Not 24/7] @@ -332,9 +332,9 @@ http://41.205.93.154/FOXBUSINESS/index.m3u8 #EXTVLCOPT:http-user-agent=Mozilla/5.0 (iPhone; CPU iPhone OS 17_7 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.0 Mobile/15E148 Safari/604.1 https://stream.livenewsplay.com:9443/hls/foxnews/foxsd.m3u8 #EXTINF:-1 tvg-id="FoxNewsChannel.us" http-referrer="https://pkpakiplay.xyz/" http-user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 17_7 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.0 Mobile/15E148 Safari/604.1",Fox News Channel (720p) -#EXTVLCOPT:http-referrer=https://pkpakiplay.xyz/ +#EXTVLCOPT:http-referrer=https://webxzplay.cfd/ #EXTVLCOPT:http-user-agent=Mozilla/5.0 (iPhone; CPU iPhone OS 17_7 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.0 Mobile/15E148 Safari/604.1 -https://zekonew.koskoros.ru/zeko/premium347/mono.m3u8 +https://zekonew.newkso.ru/zeko/premium347/mono.m3u8 #EXTINF:-1 tvg-id="FoxNewsChannel.us",Fox News Channel (144p) http://247preview.foxnews.com/hls/live/2020027/fncv3preview/primary.m3u8 #EXTINF:-1 tvg-id="FoxNewsRadio.us",Fox News Radio (720p) @@ -570,9 +570,9 @@ https://1422977263.rsc.cdn77.org/HLS/MOTOAMERICA.m3u8 #EXTINF:-1 tvg-id="",Motorbikes & Engines https://motors.playout.vju.tv/motors/main.m3u8 #EXTINF:-1 tvg-id="MSNBC.us" http-referrer="https://pkpakiplay.xyz/" http-user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 17_7 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.0 Mobile/15E148 Safari/604.1",MSNBC (1080p) -#EXTVLCOPT:http-referrer=https://pkpakiplay.xyz/ +#EXTVLCOPT:http-referrer=https://webxzplay.cfd/ #EXTVLCOPT:http-user-agent=Mozilla/5.0 (iPhone; CPU iPhone OS 17_7 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.0 Mobile/15E148 Safari/604.1 -https://windnew.koskoros.ru/wind/premium327/mono.m3u8 +https://windnew.newkso.ru/wind/premium327/mono.m3u8 #EXTINF:-1 tvg-id="MSNBC.us",MSNBC (720p) http://41.205.93.154/MSNBC/index.m3u8 #EXTINF:-1 tvg-id="MTC.us",MTC (720p) @@ -596,9 +596,9 @@ https://nmxlive.akamaized.net/hls/live/529965/Live_1/index.m3u8 #EXTINF:-1 tvg-id="NewsmaxTV.us",Newsmax TV (720p) https://nmx1ota.akamaized.net/hls/live/2107010/Live_1/index.m3u8 #EXTINF:-1 tvg-id="NewsNationEast.us" http-referrer="https://pkpakiplay.xyz/" http-user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 17_7 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.0 Mobile/15E148 Safari/604.1",NewsNation East (720p) -#EXTVLCOPT:http-referrer=https://pkpakiplay.xyz/ +#EXTVLCOPT:http-referrer=https://webxzplay.cfd/ #EXTVLCOPT:http-user-agent=Mozilla/5.0 (iPhone; CPU iPhone OS 17_7 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.0 Mobile/15E148 Safari/604.1 -https://windnew.koskoros.ru/wind/premium292/mono.m3u8 +https://windnew.newkso.ru/wind/premium292/mono.m3u8 #EXTINF:-1 tvg-id="NewsNet.us",NewsNet (720p) [Not 24/7] https://2-fss-2.streamhoster.com/pl_138/amlst:201950-1311088/playlist.m3u8 #EXTINF:-1 tvg-id="Newsy.us",Newsy (1080p) From b895acfdba9b765212be3c3ea4e1e6179cccb451 Mon Sep 17 00:00:00 2001 From: Jeka Der Date: Sat, 5 Apr 2025 13:37:04 +0200 Subject: [PATCH 57/85] Re-introduce Moldova 1 and Moldova 2 streams --- streams/md.m3u | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/streams/md.m3u b/streams/md.m3u index f35e2f221..d05b59324 100644 --- a/streams/md.m3u +++ b/streams/md.m3u @@ -13,6 +13,10 @@ http://62.233.57.226:8001/play/a00l00 https://hls.drochia.tv/tv/web.m3u8 #EXTINF:-1 tvg-id="DuniaSinema.my",Dunia Sinema (1080p) https://unifi-live05.secureswiftcontent.com/UnifiHD/live27-1080FHD.m3u8 +#EXTINF:-1 tvg-id="Moldova1.md",Moldova 1 (1080p) +https://v0.trm.md/static/streaming-playlists/hls/9b79338b-1870-4cd7-91d4-0f6ce5cac7ca/master.m3u8 +#EXTINF:-1 tvg-id="Moldova2.md",Moldova 2 (1080p) +https://v0.trm.md/static/streaming-playlists/hls/d5fafab0-9c37-4746-9e7a-b2d6c0427015/master.m3u8 #EXTINF:-1 tvg-id="ExclusivTV.md",Exclusiv TV (1080p) http://62.233.57.226:8001/play/a00f #EXTINF:-1 tvg-id="GRT.md",GRT (1080p) From cc043437196ab1bde2caf9b7f68cbfe74923e520 Mon Sep 17 00:00:00 2001 From: Jeka Der Date: Sat, 5 Apr 2025 13:48:27 +0200 Subject: [PATCH 58/85] md.m3u update STREAM_ID --- streams/md.m3u | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/streams/md.m3u b/streams/md.m3u index d05b59324..08caaed63 100644 --- a/streams/md.m3u +++ b/streams/md.m3u @@ -15,7 +15,7 @@ https://hls.drochia.tv/tv/web.m3u8 https://unifi-live05.secureswiftcontent.com/UnifiHD/live27-1080FHD.m3u8 #EXTINF:-1 tvg-id="Moldova1.md",Moldova 1 (1080p) https://v0.trm.md/static/streaming-playlists/hls/9b79338b-1870-4cd7-91d4-0f6ce5cac7ca/master.m3u8 -#EXTINF:-1 tvg-id="Moldova2.md",Moldova 2 (1080p) +#EXTINF:-1 tvg-id="Moldova1.md",Moldova 2 (1080p) https://v0.trm.md/static/streaming-playlists/hls/d5fafab0-9c37-4746-9e7a-b2d6c0427015/master.m3u8 #EXTINF:-1 tvg-id="ExclusivTV.md",Exclusiv TV (1080p) http://62.233.57.226:8001/play/a00f From 1c6746c5e6e78619e3c24a16d0fd1c0a68fae72e Mon Sep 17 00:00:00 2001 From: Jeka Der Date: Sat, 5 Apr 2025 13:55:25 +0200 Subject: [PATCH 59/85] md.m3u sort TRM channels --- streams/md.m3u | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/streams/md.m3u b/streams/md.m3u index 08caaed63..81bbc26c5 100644 --- a/streams/md.m3u +++ b/streams/md.m3u @@ -13,16 +13,16 @@ http://62.233.57.226:8001/play/a00l00 https://hls.drochia.tv/tv/web.m3u8 #EXTINF:-1 tvg-id="DuniaSinema.my",Dunia Sinema (1080p) https://unifi-live05.secureswiftcontent.com/UnifiHD/live27-1080FHD.m3u8 -#EXTINF:-1 tvg-id="Moldova1.md",Moldova 1 (1080p) -https://v0.trm.md/static/streaming-playlists/hls/9b79338b-1870-4cd7-91d4-0f6ce5cac7ca/master.m3u8 -#EXTINF:-1 tvg-id="Moldova1.md",Moldova 2 (1080p) -https://v0.trm.md/static/streaming-playlists/hls/d5fafab0-9c37-4746-9e7a-b2d6c0427015/master.m3u8 #EXTINF:-1 tvg-id="ExclusivTV.md",Exclusiv TV (1080p) http://62.233.57.226:8001/play/a00f #EXTINF:-1 tvg-id="GRT.md",GRT (1080p) http://62.233.57.226:8001/play/a00f00 #EXTINF:-1 tvg-id="JurnalTV.md",Jurnal TV (1080p) http://62.233.57.226:8001/play/a00i +#EXTINF:-1 tvg-id="Moldova1.md",Moldova 1 (1080p) +https://v0.trm.md/static/streaming-playlists/hls/9b79338b-1870-4cd7-91d4-0f6ce5cac7ca/master.m3u8 +#EXTINF:-1 tvg-id="Moldova2.md",Moldova 2 (1080p) +https://v0.trm.md/static/streaming-playlists/hls/d5fafab0-9c37-4746-9e7a-b2d6c0427015/master.m3u8 #EXTINF:-1 tvg-id="Moldova2.md",Moldova 2 (1080p) http://62.233.57.226:8001/play/a00a #EXTINF:-1 tvg-id="MoldovaTV.md",Moldova TV (576p) [Not 24/7] From 254697a4cd6076bf6d8a5b0ed13ec968bb6a3b29 Mon Sep 17 00:00:00 2001 From: "iptv-bot[bot]" <84861620+iptv-bot[bot]@users.noreply.github.com> Date: Sun, 6 Apr 2025 00:11:58 +0000 Subject: [PATCH 60/85] [Bot] Update /streams Committed by [iptv-bot](https://github.com/apps/iptv-bot) via [update](https://github.com/iptv-org/iptv/actions/runs/14287059290) workflow. From a6bc10bb2197d4f31e6fb2cf237faaa76a2864e7 Mon Sep 17 00:00:00 2001 From: "iptv-bot[bot]" <84861620+iptv-bot[bot]@users.noreply.github.com> Date: Sun, 6 Apr 2025 00:11:58 +0000 Subject: [PATCH 61/85] [Bot] Update README.md Committed by [iptv-bot](https://github.com/apps/iptv-bot) via [update](https://github.com/iptv-org/iptv/actions/runs/14287059290) workflow. From d3670bde72bac4fa42d8cc938255da927c83234a Mon Sep 17 00:00:00 2001 From: "iptv-bot[bot]" <84861620+iptv-bot[bot]@users.noreply.github.com> Date: Mon, 7 Apr 2025 00:11:45 +0000 Subject: [PATCH 62/85] [Bot] Update /streams Committed by [iptv-bot](https://github.com/apps/iptv-bot) via [update](https://github.com/iptv-org/iptv/actions/runs/14298009912) workflow. closes #21040, closes #21037, closes #21033, closes #21032 --- streams/it.m3u | 2 ++ streams/mc.m3u | 2 ++ streams/tr.m3u | 4 ++++ streams/us.m3u | 8 ++++---- 4 files changed, 12 insertions(+), 4 deletions(-) diff --git a/streams/it.m3u b/streams/it.m3u index f32ed0a4b..1fe99ff49 100644 --- a/streams/it.m3u +++ b/streams/it.m3u @@ -667,3 +667,5 @@ https://stream.cp.ets-sistemi.it:1936/profservtv/profservtv/playlist.m3u8 https://5f22d76e220e1.streamlock.net/canale5/canale5/playlist.m3u8 #EXTINF:-1 tvg-id="ZerounoTVNews.it",Zerouno TV News (720p) https://5db313b643fd8.streamlock.net/ZerounoTVEventi/ZerounoTVEventi/playlist.m3u8 +#EXTINF:-1 tvg-id="Telenova.it",Telenova (720p) +https://64b16f23efbee.streamlock.net/telenova/telenova/playlist.m3u8 diff --git a/streams/mc.m3u b/streams/mc.m3u index eedd55969..1c2085c81 100644 --- a/streams/mc.m3u +++ b/streams/mc.m3u @@ -5,3 +5,5 @@ https://webtvmonacoinfo.mc/live/prod_720/index.m3u8 https://sy.wns.live/hls/stream.m3u8 #EXTINF:-1 tvg-id="TVMonaco.mc",TV Monaco (1080p) https://production-fast-mcrtv.content.okast.tv/channels/2116dc08-1959-465d-857f-3619daefb66b/b702b2b9-aebd-436c-be69-2118f56f3d86/2024/media.m3u8 +#EXTINF:-1 tvg-id="MonacoInfo.mc",Monaco Info (1080p) +https://webtv.monacoinfo.com/live/prod/index.m3u8 diff --git a/streams/tr.m3u b/streams/tr.m3u index 33f0891ef..1578dc6dc 100644 --- a/streams/tr.m3u +++ b/streams/tr.m3u @@ -806,3 +806,7 @@ https://zindikurmanci.zaroktv.com.tr/hls/stream.m3u8 https://cdn-tytturk.yayin.com.tr/tytturk/index.m3u8 #EXTINF:-1 tvg-id="MedMuzik.tr",Med Muzik (1080p) http://54.36.110.140/live3/live3.m3u8 +#EXTINF:-1 tvg-id="DisneyJr.tr",Disney Jr. (1080p) [Geo-blocked] +https://saran-live.ercdn.net/disneyjunior/index.m3u8 +#EXTINF:-1 tvg-id="NationalGeographic.tr",National Geographic (1080p) [Geo-blocked] +https://saran-live.ercdn.net/natgeohd/index.m3u8 diff --git a/streams/us.m3u b/streams/us.m3u index a3ccf0fb2..18e2b7ea9 100644 --- a/streams/us.m3u +++ b/streams/us.m3u @@ -179,7 +179,7 @@ https://reflect-stream-bronxnet.cablecast.tv/live-18/live/live.m3u8 https://reflect-stream-bronxnet.cablecast.tv/live-16/live/live.m3u8 #EXTINF:-1 tvg-id="BYUTV.us",BYU TV (720p) https://content.uplynk.com/channel/2f29cb20fcb74f68a85c38b99ca384bc.m3u8 -#EXTINF:-1 tvg-id="CSPAN.us" http-referrer="https://pkpakiplay.xyz/" http-user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 17_7 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.0 Mobile/15E148 Safari/604.1",C-SPAN +#EXTINF:-1 tvg-id="CSPAN.us" http-referrer="https://webxzplay.cfd/" http-user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 17_7 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.0 Mobile/15E148 Safari/604.1",C-SPAN #EXTVLCOPT:http-referrer=https://webxzplay.cfd/ #EXTVLCOPT:http-user-agent=Mozilla/5.0 (iPhone; CPU iPhone OS 17_7 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.0 Mobile/15E148 Safari/604.1 https://windnew.newkso.ru/wind/premium750/mono.m3u8 @@ -331,7 +331,7 @@ http://41.205.93.154/FOXBUSINESS/index.m3u8 #EXTVLCOPT:http-referrer=https://www.newslive.com/ #EXTVLCOPT:http-user-agent=Mozilla/5.0 (iPhone; CPU iPhone OS 17_7 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.0 Mobile/15E148 Safari/604.1 https://stream.livenewsplay.com:9443/hls/foxnews/foxsd.m3u8 -#EXTINF:-1 tvg-id="FoxNewsChannel.us" http-referrer="https://pkpakiplay.xyz/" http-user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 17_7 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.0 Mobile/15E148 Safari/604.1",Fox News Channel (720p) +#EXTINF:-1 tvg-id="FoxNewsChannel.us" http-referrer="https://webxzplay.cfd/" http-user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 17_7 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.0 Mobile/15E148 Safari/604.1",Fox News Channel (720p) #EXTVLCOPT:http-referrer=https://webxzplay.cfd/ #EXTVLCOPT:http-user-agent=Mozilla/5.0 (iPhone; CPU iPhone OS 17_7 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.0 Mobile/15E148 Safari/604.1 https://zekonew.newkso.ru/zeko/premium347/mono.m3u8 @@ -569,7 +569,7 @@ http://media.mohabat.tv:1935/live_transcoder/ngrp:mohabat.stream_all/playlist.m3 https://1422977263.rsc.cdn77.org/HLS/MOTOAMERICA.m3u8 #EXTINF:-1 tvg-id="",Motorbikes & Engines https://motors.playout.vju.tv/motors/main.m3u8 -#EXTINF:-1 tvg-id="MSNBC.us" http-referrer="https://pkpakiplay.xyz/" http-user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 17_7 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.0 Mobile/15E148 Safari/604.1",MSNBC (1080p) +#EXTINF:-1 tvg-id="MSNBC.us" http-referrer="https://webxzplay.cfd/" http-user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 17_7 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.0 Mobile/15E148 Safari/604.1",MSNBC (1080p) #EXTVLCOPT:http-referrer=https://webxzplay.cfd/ #EXTVLCOPT:http-user-agent=Mozilla/5.0 (iPhone; CPU iPhone OS 17_7 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.0 Mobile/15E148 Safari/604.1 https://windnew.newkso.ru/wind/premium327/mono.m3u8 @@ -595,7 +595,7 @@ https://newidco-newkid-1-eu.xiaomi.wurl.tv/playlist.m3u8 https://nmxlive.akamaized.net/hls/live/529965/Live_1/index.m3u8 #EXTINF:-1 tvg-id="NewsmaxTV.us",Newsmax TV (720p) https://nmx1ota.akamaized.net/hls/live/2107010/Live_1/index.m3u8 -#EXTINF:-1 tvg-id="NewsNationEast.us" http-referrer="https://pkpakiplay.xyz/" http-user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 17_7 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.0 Mobile/15E148 Safari/604.1",NewsNation East (720p) +#EXTINF:-1 tvg-id="NewsNationEast.us" http-referrer="https://webxzplay.cfd/" http-user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 17_7 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.0 Mobile/15E148 Safari/604.1",NewsNation East (720p) #EXTVLCOPT:http-referrer=https://webxzplay.cfd/ #EXTVLCOPT:http-user-agent=Mozilla/5.0 (iPhone; CPU iPhone OS 17_7 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.0 Mobile/15E148 Safari/604.1 https://windnew.newkso.ru/wind/premium292/mono.m3u8 From 52d0a9e0ec28afc316bd911c8bd038e7f4f58288 Mon Sep 17 00:00:00 2001 From: "iptv-bot[bot]" <84861620+iptv-bot[bot]@users.noreply.github.com> Date: Mon, 7 Apr 2025 00:11:45 +0000 Subject: [PATCH 63/85] [Bot] Update README.md Committed by [iptv-bot](https://github.com/apps/iptv-bot) via [update](https://github.com/iptv-org/iptv/actions/runs/14298009912) workflow. --- README.md | 68 +++++++++++++++++++++++++++---------------------------- 1 file changed, 34 insertions(+), 34 deletions(-) diff --git a/README.md b/README.md index af57c2482..33f303bb3 100644 --- a/README.md +++ b/README.md @@ -54,24 +54,24 @@ Same thing, but split up into separate files: CategoryChannelsPlaylist - Animation45https://iptv-org.github.io/iptv/categories/animation.m3u + Animation46https://iptv-org.github.io/iptv/categories/animation.m3u Auto14https://iptv-org.github.io/iptv/categories/auto.m3u Business61https://iptv-org.github.io/iptv/categories/business.m3u Classic44https://iptv-org.github.io/iptv/categories/classic.m3u Comedy60https://iptv-org.github.io/iptv/categories/comedy.m3u Cooking24https://iptv-org.github.io/iptv/categories/cooking.m3u - Culture171https://iptv-org.github.io/iptv/categories/culture.m3u - Documentary80https://iptv-org.github.io/iptv/categories/documentary.m3u + Culture170https://iptv-org.github.io/iptv/categories/culture.m3u + Documentary81https://iptv-org.github.io/iptv/categories/documentary.m3u Education153https://iptv-org.github.io/iptv/categories/education.m3u Entertainment546https://iptv-org.github.io/iptv/categories/entertainment.m3u Family35https://iptv-org.github.io/iptv/categories/family.m3u General2340https://iptv-org.github.io/iptv/categories/general.m3u Kids182https://iptv-org.github.io/iptv/categories/kids.m3u - Legislative191https://iptv-org.github.io/iptv/categories/legislative.m3u + Legislative192https://iptv-org.github.io/iptv/categories/legislative.m3u Lifestyle79https://iptv-org.github.io/iptv/categories/lifestyle.m3u Movies236https://iptv-org.github.io/iptv/categories/movies.m3u Music657https://iptv-org.github.io/iptv/categories/music.m3u - News766https://iptv-org.github.io/iptv/categories/news.m3u + News765https://iptv-org.github.io/iptv/categories/news.m3u Outdoor41https://iptv-org.github.io/iptv/categories/outdoor.m3u Relax2https://iptv-org.github.io/iptv/categories/relax.m3u Religious694https://iptv-org.github.io/iptv/categories/religious.m3u @@ -126,7 +126,7 @@ Same thing, but split up into separate files: Bambara3https://iptv-org.github.io/iptv/languages/bam.m3u Bashkir1https://iptv-org.github.io/iptv/languages/bak.m3u Basque8https://iptv-org.github.io/iptv/languages/eus.m3u - Belarusian7https://iptv-org.github.io/iptv/languages/bel.m3u + Belarusian6https://iptv-org.github.io/iptv/languages/bel.m3u Bengali30https://iptv-org.github.io/iptv/languages/ben.m3u Bhojpuri1https://iptv-org.github.io/iptv/languages/bho.m3u Bosnian13https://iptv-org.github.io/iptv/languages/bos.m3u @@ -185,7 +185,7 @@ Same thing, but split up into separate files: Iranian Persian1https://iptv-org.github.io/iptv/languages/pes.m3u Irish7https://iptv-org.github.io/iptv/languages/gle.m3u Isekiri1https://iptv-org.github.io/iptv/languages/its.m3u - Italian285https://iptv-org.github.io/iptv/languages/ita.m3u + Italian286https://iptv-org.github.io/iptv/languages/ita.m3u Japanese70https://iptv-org.github.io/iptv/languages/jpn.m3u Javanese3https://iptv-org.github.io/iptv/languages/jav.m3u Kabiyè1https://iptv-org.github.io/iptv/languages/kbp.m3u @@ -213,8 +213,8 @@ Same thing, but split up into separate files: Luba-Lulua1https://iptv-org.github.io/iptv/languages/lua.m3u Macedonian34https://iptv-org.github.io/iptv/languages/mkd.m3u Maithili1https://iptv-org.github.io/iptv/languages/mai.m3u - Malay18https://iptv-org.github.io/iptv/languages/msa.m3u - Malayalam62https://iptv-org.github.io/iptv/languages/mal.m3u + Malay17https://iptv-org.github.io/iptv/languages/msa.m3u + Malayalam64https://iptv-org.github.io/iptv/languages/mal.m3u Maltese8https://iptv-org.github.io/iptv/languages/mlt.m3u Mandarin Chinese3https://iptv-org.github.io/iptv/languages/cmn.m3u Mandinka1https://iptv-org.github.io/iptv/languages/mnk.m3u @@ -236,11 +236,11 @@ Same thing, but split up into separate files: Parsi-Dari3https://iptv-org.github.io/iptv/languages/prd.m3u Pashto16https://iptv-org.github.io/iptv/languages/pus.m3u Persian138https://iptv-org.github.io/iptv/languages/fas.m3u - Polish144https://iptv-org.github.io/iptv/languages/pol.m3u + Polish141https://iptv-org.github.io/iptv/languages/pol.m3u Portuguese334https://iptv-org.github.io/iptv/languages/por.m3u Pulaar1https://iptv-org.github.io/iptv/languages/fuc.m3u Quechua1https://iptv-org.github.io/iptv/languages/que.m3u - Romanian126https://iptv-org.github.io/iptv/languages/ron.m3u + Romanian127https://iptv-org.github.io/iptv/languages/ron.m3u Romany1https://iptv-org.github.io/iptv/languages/rom.m3u Rundi1https://iptv-org.github.io/iptv/languages/run.m3u Russian279https://iptv-org.github.io/iptv/languages/rus.m3u @@ -272,10 +272,10 @@ Same thing, but split up into separate files: Tooro1https://iptv-org.github.io/iptv/languages/ttj.m3u Tswana1https://iptv-org.github.io/iptv/languages/tsn.m3u Tumzabt1https://iptv-org.github.io/iptv/languages/mzb.m3u - Turkish255https://iptv-org.github.io/iptv/languages/tur.m3u + Turkish257https://iptv-org.github.io/iptv/languages/tur.m3u Turkmen8https://iptv-org.github.io/iptv/languages/tuk.m3u Uighur3https://iptv-org.github.io/iptv/languages/uig.m3u - Ukrainian61https://iptv-org.github.io/iptv/languages/ukr.m3u + Ukrainian60https://iptv-org.github.io/iptv/languages/ukr.m3u Urdu38https://iptv-org.github.io/iptv/languages/urd.m3u Uzbek14https://iptv-org.github.io/iptv/languages/uzb.m3u Vietnamese66https://iptv-org.github.io/iptv/languages/vie.m3u @@ -287,7 +287,7 @@ Same thing, but split up into separate files: Yucatec Maya1https://iptv-org.github.io/iptv/languages/yua.m3u Yue Chinese7https://iptv-org.github.io/iptv/languages/yue.m3u Zarma1https://iptv-org.github.io/iptv/languages/dje.m3u - Undefined2897https://iptv-org.github.io/iptv/languages/undefined.m3u + Undefined2896https://iptv-org.github.io/iptv/languages/undefined.m3u @@ -353,7 +353,7 @@ Same thing, but split up into separate files: 🇧🇭 Bahrain47https://iptv-org.github.io/iptv/countries/bh.m3u 🇧🇩 Bangladesh20https://iptv-org.github.io/iptv/countries/bd.m3u 🇧🇧 Barbados13https://iptv-org.github.io/iptv/countries/bb.m3u - 🇧🇾 Belarus51https://iptv-org.github.io/iptv/countries/by.m3u + 🇧🇾 Belarus50https://iptv-org.github.io/iptv/countries/by.m3u 🇧🇪 Belgium71https://iptv-org.github.io/iptv/countries/be.m3u 🇧🇿 Belize9https://iptv-org.github.io/iptv/countries/bz.m3u 🇧🇯 Benin32https://iptv-org.github.io/iptv/countries/bj.m3u @@ -559,7 +559,7 @@ Same thing, but split up into separate files: 🇮🇶 Iraq109https://iptv-org.github.io/iptv/countries/iq.m3u 🇮🇪 Ireland57https://iptv-org.github.io/iptv/countries/ie.m3u 🇮🇱 Israel22https://iptv-org.github.io/iptv/countries/il.m3u - 🇮🇹 Italy322https://iptv-org.github.io/iptv/countries/it.m3u + 🇮🇹 Italy323https://iptv-org.github.io/iptv/countries/it.m3u       Trentino-Alto Adige3https://iptv-org.github.io/iptv/subdivisions/it-32.m3u 🇨🇮 Ivory Coast51https://iptv-org.github.io/iptv/countries/ci.m3u 🇯🇲 Jamaica19https://iptv-org.github.io/iptv/countries/jm.m3u @@ -591,7 +591,7 @@ Same thing, but split up into separate files: 🇲🇴 Macao7https://iptv-org.github.io/iptv/countries/mo.m3u 🇲🇬 Madagascar22https://iptv-org.github.io/iptv/countries/mg.m3u 🇲🇼 Malawi25https://iptv-org.github.io/iptv/countries/mw.m3u - 🇲🇾 Malaysia31https://iptv-org.github.io/iptv/countries/my.m3u + 🇲🇾 Malaysia32https://iptv-org.github.io/iptv/countries/my.m3u 🇲🇻 Maldives15https://iptv-org.github.io/iptv/countries/mv.m3u 🇲🇱 Mali28https://iptv-org.github.io/iptv/countries/ml.m3u 🇲🇹 Malta46https://iptv-org.github.io/iptv/countries/mt.m3u @@ -612,7 +612,7 @@ Same thing, but split up into separate files:       San Luis Potosi1https://iptv-org.github.io/iptv/subdivisions/mx-slp.m3u       Yucatan1https://iptv-org.github.io/iptv/subdivisions/mx-yuc.m3u 🇫🇲 Micronesia5https://iptv-org.github.io/iptv/countries/fm.m3u - 🇲🇩 Moldova64https://iptv-org.github.io/iptv/countries/md.m3u + 🇲🇩 Moldova65https://iptv-org.github.io/iptv/countries/md.m3u 🇲🇨 Monaco33https://iptv-org.github.io/iptv/countries/mc.m3u 🇲🇳 Mongolia24https://iptv-org.github.io/iptv/countries/mn.m3u 🇲🇪 Montenegro36https://iptv-org.github.io/iptv/countries/me.m3u @@ -665,7 +665,7 @@ Same thing, but split up into separate files:       Ucayali2https://iptv-org.github.io/iptv/subdivisions/pe-uca.m3u 🇵🇭 Philippines26https://iptv-org.github.io/iptv/countries/ph.m3u 🇵🇳 Pitcairn Islands5https://iptv-org.github.io/iptv/countries/pn.m3u - 🇵🇱 Poland188https://iptv-org.github.io/iptv/countries/pl.m3u + 🇵🇱 Poland185https://iptv-org.github.io/iptv/countries/pl.m3u 🇵🇹 Portugal83https://iptv-org.github.io/iptv/countries/pt.m3u 🇵🇷 Puerto Rico99https://iptv-org.github.io/iptv/countries/pr.m3u 🇶🇦 Qatar55https://iptv-org.github.io/iptv/countries/qa.m3u @@ -737,7 +737,7 @@ Same thing, but split up into separate files: 🇸🇷 Suriname10https://iptv-org.github.io/iptv/countries/sr.m3u 🇸🇿 Swaziland23https://iptv-org.github.io/iptv/countries/sz.m3u 🇸🇪 Sweden58https://iptv-org.github.io/iptv/countries/se.m3u - 🇨🇭 Switzerland75https://iptv-org.github.io/iptv/countries/ch.m3u + 🇨🇭 Switzerland76https://iptv-org.github.io/iptv/countries/ch.m3u 🇸🇾 Syria47https://iptv-org.github.io/iptv/countries/sy.m3u 🇹🇼 Taiwan29https://iptv-org.github.io/iptv/countries/tw.m3u 🇹🇯 Tajikistan30https://iptv-org.github.io/iptv/countries/tj.m3u @@ -748,7 +748,7 @@ Same thing, but split up into separate files: 🇹🇴 Tonga5https://iptv-org.github.io/iptv/countries/to.m3u 🇹🇹 Trinidad and Tobago18https://iptv-org.github.io/iptv/countries/tt.m3u 🇹🇳 Tunisia66https://iptv-org.github.io/iptv/countries/tn.m3u - 🇹🇷 Turkey278https://iptv-org.github.io/iptv/countries/tr.m3u + 🇹🇷 Turkey280https://iptv-org.github.io/iptv/countries/tr.m3u 🇹🇲 Turkmenistan16https://iptv-org.github.io/iptv/countries/tm.m3u 🇹🇨 Turks and Caicos Islands12https://iptv-org.github.io/iptv/countries/tc.m3u 🇹🇻 Tuvalu5https://iptv-org.github.io/iptv/countries/tv.m3u @@ -818,7 +818,7 @@ Same thing, but split up into separate files: 🇾🇪 Yemen47https://iptv-org.github.io/iptv/countries/ye.m3u 🇿🇲 Zambia23https://iptv-org.github.io/iptv/countries/zm.m3u 🇿🇼 Zimbabwe23https://iptv-org.github.io/iptv/countries/zw.m3u - Undefined2897https://iptv-org.github.io/iptv/countries/undefined.m3u + Undefined2896https://iptv-org.github.io/iptv/countries/undefined.m3u @@ -847,25 +847,25 @@ Same thing, but split up into separate files: Africa550https://iptv-org.github.io/iptv/regions/afr.m3u Americas3597https://iptv-org.github.io/iptv/regions/amer.m3u Arab world402https://iptv-org.github.io/iptv/regions/arab.m3u - Asia2160https://iptv-org.github.io/iptv/regions/asia.m3u - Asia-Pacific1136https://iptv-org.github.io/iptv/regions/apac.m3u - Association of Southeast Asian Nations343https://iptv-org.github.io/iptv/regions/asean.m3u - Balkan684https://iptv-org.github.io/iptv/regions/balkan.m3u + Asia2163https://iptv-org.github.io/iptv/regions/asia.m3u + Asia-Pacific1137https://iptv-org.github.io/iptv/regions/apac.m3u + Association of Southeast Asian Nations344https://iptv-org.github.io/iptv/regions/asean.m3u + Balkan686https://iptv-org.github.io/iptv/regions/balkan.m3u Benelux241https://iptv-org.github.io/iptv/regions/benelux.m3u Caribbean365https://iptv-org.github.io/iptv/regions/carib.m3u Central America372https://iptv-org.github.io/iptv/regions/cenamer.m3u - Central and Eastern Europe999https://iptv-org.github.io/iptv/regions/cee.m3u + Central and Eastern Europe996https://iptv-org.github.io/iptv/regions/cee.m3u Central Asia112https://iptv-org.github.io/iptv/regions/cas.m3u Commonwealth of Independent States373https://iptv-org.github.io/iptv/regions/cis.m3u Europe2866https://iptv-org.github.io/iptv/regions/eur.m3u Europe, the Middle East and Africa3780https://iptv-org.github.io/iptv/regions/emea.m3u - European Union1950https://iptv-org.github.io/iptv/regions/eu.m3u + European Union1948https://iptv-org.github.io/iptv/regions/eu.m3u Hispanic America1679https://iptv-org.github.io/iptv/regions/hispam.m3u Latin America1994https://iptv-org.github.io/iptv/regions/latam.m3u Latin America and the Caribbean2038https://iptv-org.github.io/iptv/regions/lac.m3u Maghreb91https://iptv-org.github.io/iptv/regions/maghreb.m3u - Middle East803https://iptv-org.github.io/iptv/regions/mideast.m3u - Middle East and North Africa833https://iptv-org.github.io/iptv/regions/mena.m3u + Middle East805https://iptv-org.github.io/iptv/regions/mideast.m3u + Middle East and North Africa835https://iptv-org.github.io/iptv/regions/mena.m3u Nordics112https://iptv-org.github.io/iptv/regions/nord.m3u North America2419https://iptv-org.github.io/iptv/regions/noram.m3u Northern America1581https://iptv-org.github.io/iptv/regions/nam.m3u @@ -873,13 +873,13 @@ Same thing, but split up into separate files: Oceania54https://iptv-org.github.io/iptv/regions/oce.m3u South America1257https://iptv-org.github.io/iptv/regions/southam.m3u South Asia404https://iptv-org.github.io/iptv/regions/sas.m3u - Southeast Asia343https://iptv-org.github.io/iptv/regions/sea.m3u - Southern Europe1051https://iptv-org.github.io/iptv/regions/ser.m3u + Southeast Asia344https://iptv-org.github.io/iptv/regions/sea.m3u + Southern Europe1054https://iptv-org.github.io/iptv/regions/ser.m3u Sub-Saharan Africa494https://iptv-org.github.io/iptv/regions/ssa.m3u West Africa256https://iptv-org.github.io/iptv/regions/wafr.m3u - Western Europe780https://iptv-org.github.io/iptv/regions/wer.m3u + Western Europe781https://iptv-org.github.io/iptv/regions/wer.m3u Worldwide57https://iptv-org.github.io/iptv/regions/int.m3u - Undefined2897https://iptv-org.github.io/iptv/regions/undefined.m3u + Undefined2896https://iptv-org.github.io/iptv/regions/undefined.m3u From c95c26056d6835c1cfb32665933fae3f228c31f2 Mon Sep 17 00:00:00 2001 From: freearhey <7253922+freearhey@users.noreply.github.com> Date: Mon, 7 Apr 2025 10:23:25 +0300 Subject: [PATCH 64/85] Update template.md --- .readme/template.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/.readme/template.md b/.readme/template.md index da49331b9..5dd4d1cf8 100644 --- a/.readme/template.md +++ b/.readme/template.md @@ -36,12 +36,12 @@ https://iptv-org.github.io/iptv/index.m3u ### Grouped by category +Playlists in which channels are grouped by category. A list of all supported categories with descriptions can be found [here](.readme/supported-categories.md). +
Expand
-Playlist in which each channel has its _category_ as a group title: - ``` https://iptv-org.github.io/iptv/index.category.m3u ``` @@ -55,12 +55,12 @@ Same thing, but split up into separate files: ### Grouped by language +Playlists in which channels are grouped by the language in which they are broadcast. +
Expand
-Playlist in which each channel has its _language_ as a group title: - ``` https://iptv-org.github.io/iptv/index.language.m3u ``` @@ -74,12 +74,12 @@ Same thing, but split up into separate files: ### Grouped by country +Playlists in which channels are grouped by country for which they are broadcasted. +
Expand
-Playlist in which each channel has its _country_ as a group title: - ``` https://iptv-org.github.io/iptv/index.country.m3u ``` @@ -97,7 +97,7 @@ Same thing, but split up into separate files: Expand
-Playlist in which each channel has its _region_ as a group title: +Playlists in which channels are grouped by the region for which they are broadcasted. ``` https://iptv-org.github.io/iptv/index.region.m3u From 09b639c801efd1e678da98c3296694018d6b3b98 Mon Sep 17 00:00:00 2001 From: freearhey <7253922+freearhey@users.noreply.github.com> Date: Mon, 7 Apr 2025 10:23:31 +0300 Subject: [PATCH 65/85] Delete supported-regions.md --- .readme/supported-regions.md | 30 ------------------------------ 1 file changed, 30 deletions(-) delete mode 100644 .readme/supported-regions.md diff --git a/.readme/supported-regions.md b/.readme/supported-regions.md deleted file mode 100644 index 8431742ef..000000000 --- a/.readme/supported-regions.md +++ /dev/null @@ -1,30 +0,0 @@ -## Supported Regions - -| Code | Description | -| ------------------------------------------------------------------------ | -------------------------------------- | -| [AFR](https://en.wikipedia.org/wiki/Africa) | Africa | -| [AMER](https://en.wikipedia.org/wiki/Americas) | Americas | -| [APAC](https://en.wikipedia.org/wiki/Asia-Pacific) | Asia-Pacific | -| [ARAB](https://en.wikipedia.org/wiki/Arab_world) | Arab world | -| [ASEAN](https://en.wikipedia.org/wiki/ASEAN) | Association of Southeast Asian Nations | -| [ASIA](https://en.wikipedia.org/wiki/Asia) | Asia | -| [CARIB](https://en.wikipedia.org/wiki/Caribbean) | Caribbean | -| [CAS](https://en.wikipedia.org/wiki/Central_Asia) | Central Asia | -| [CENAMER](https://en.wikipedia.org/wiki/Central_America) | Central America | -| [CIS](https://en.wikipedia.org/wiki/Commonwealth_of_Independent_States) | Commonwealth of Independent States | -| [EMEA](https://en.wikipedia.org/wiki/Europe,_the_Middle_East_and_Africa) | Europe, the Middle East and Africa | -| [EUR](https://en.wikipedia.org/wiki/Europe) | Europe | -| [HISPAM](https://en.wikipedia.org/wiki/Hispanic_America) | Hispanic America | -| [LAC](https://en.wikipedia.org/wiki/Latin_America_and_the_Caribbean) | Latin America and the Caribbean | -| [LATAM](https://en.wikipedia.org/wiki/Latin_America) | Latin America | -| [MAGHREB](https://en.wikipedia.org/wiki/Maghreb) | Maghreb | -| [MENA](https://en.wikipedia.org/wiki/MENA) | Middle East and North Africa | -| [MIDEAST](https://en.wikipedia.org/wiki/Middle_East) | Middle East | -| [NAM](https://en.wikipedia.org/wiki/Northern_America) | Northern America | -| [NORAM](https://en.wikipedia.org/wiki/North_America) | North America | -| [NORD](https://en.wikipedia.org/wiki/Nordic_countries) | Nordics | -| [OCE](https://en.wikipedia.org/wiki/Oceania) | Oceania | -| [SAS](https://en.wikipedia.org/wiki/South_Asia) | South Asia | -| [SSA](https://en.wikipedia.org/wiki/Sub-Saharan_Africa) | Sub-Saharan Africa | -| [WAFR](https://en.wikipedia.org/wiki/West_Africa) | West Africa | -| [INT](https://en.wikipedia.org/wiki/West_Africa) | Worldwide | From 6625f81156c262097cb798312a60a93a0f81145a Mon Sep 17 00:00:00 2001 From: freearhey <7253922+freearhey@users.noreply.github.com> Date: Mon, 7 Apr 2025 10:23:34 +0300 Subject: [PATCH 66/85] Update supported-categories.md --- .readme/supported-categories.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.readme/supported-categories.md b/.readme/supported-categories.md index c01f5cf26..9107c3501 100644 --- a/.readme/supported-categories.md +++ b/.readme/supported-categories.md @@ -22,7 +22,7 @@ | News | Programming is mostly news | | Outdoor | Programming related to outdoor activities like fishing, hunting, etc. | | Relax | Programming is calm sounding and beautiful views | -| Religious | Religious Programming | +| Religious | Religious programming | | Science | Science and Technology | | Series | Channels that only show series | | Shop | Programming is for shopping | From 4bfd7287b25775c972b0d86c167e5589b6616764 Mon Sep 17 00:00:00 2001 From: freearhey <7253922+freearhey@users.noreply.github.com> Date: Mon, 7 Apr 2025 10:23:38 +0300 Subject: [PATCH 67/85] Update CONTRIBUTING.md --- CONTRIBUTING.md | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index da6c69a7f..556ed05c7 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -104,7 +104,7 @@ Please note that we only accept removal requests from channel owners and their o For a stream to be approved, its description must follow this template: ``` -#EXTINF:-1 tvg-id="STREAM_ID",CHANNEL_NAME (RESOLUTION) [LABEL] +#EXTINF:-1 tvg-id="STREAM_ID",CHANNEL_NAME (QUALITY) [LABEL] STREAM_URL ``` @@ -112,7 +112,7 @@ STREAM_URL | -------------- | -------------------------------------------------------------------------------------------------------------------------------------------- | -------- | -------------------------------------------- | | `STREAM_ID` | ID of the stream. Full list of supported channels with corresponding ID could be found on [iptv-org.github.io](https://iptv-org.github.io/). | Optional | `` or `@` | | `CHANNEL_NAME` | Full name of the channel. May contain any characters except: `,`, `[`, `]`. | Required | - | -| `RESOLUTION` | Maximum stream resolution. | Optional | `2160p`, `1080p`, `720p`, `480p`, `360p` etc | +| `QUALITY` | Maximum stream quality. | Optional | `2160p`, `1080p`, `720p`, `480p`, `360p` etc | | `LABEL` | Specified in cases where the broadcast for some reason may not be available to some users. | Optional | `Geo-blocked` or `Not 24/7` | | `STREAM_URL` | Stream URL. | Required | - | @@ -149,7 +149,6 @@ http://example.com/stream.m3u8 - `config.json`: config for the `markdown-include` package, which is used to compile everything into one `README.md` file. - `preview.png`: image displayed in the `README.md`. - `supported-categories.md`: list of supported categories. - - `supported-regions.md`: list of supported regions. - `template.md`: template for `README.md`. - `scripts/`: contains all scripts used in the repository. - `streams/`: contains all streams broken down by the country from which they are broadcast. From 9ed76738b6ec76f468a12f8a47bbb9cc8f7cff7b Mon Sep 17 00:00:00 2001 From: "iptv-bot[bot]" <84861620+iptv-bot[bot]@users.noreply.github.com> Date: Tue, 8 Apr 2025 00:11:09 +0000 Subject: [PATCH 68/85] [Bot] Update /streams Committed by [iptv-bot](https://github.com/apps/iptv-bot) via [update](https://github.com/iptv-org/iptv/actions/runs/14322051088) workflow. From 99642b2b8435baa3999aa0432943fc3de1391289 Mon Sep 17 00:00:00 2001 From: "iptv-bot[bot]" <84861620+iptv-bot[bot]@users.noreply.github.com> Date: Tue, 8 Apr 2025 00:11:09 +0000 Subject: [PATCH 69/85] [Bot] Update README.md Committed by [iptv-bot](https://github.com/apps/iptv-bot) via [update](https://github.com/iptv-org/iptv/actions/runs/14322051088) workflow. --- README.md | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/README.md b/README.md index 33f303bb3..394c1ce67 100644 --- a/README.md +++ b/README.md @@ -36,12 +36,12 @@ https://iptv-org.github.io/iptv/index.m3u ### Grouped by category +Playlists in which channels are grouped by category. A list of all supported categories with descriptions can be found [here](.readme/supported-categories.md). +
Expand
-Playlist in which each channel has its _category_ as a group title: - ``` https://iptv-org.github.io/iptv/index.category.m3u ``` @@ -65,7 +65,7 @@ Same thing, but split up into separate files: Education153https://iptv-org.github.io/iptv/categories/education.m3u Entertainment546https://iptv-org.github.io/iptv/categories/entertainment.m3u Family35https://iptv-org.github.io/iptv/categories/family.m3u - General2340https://iptv-org.github.io/iptv/categories/general.m3u + General2339https://iptv-org.github.io/iptv/categories/general.m3u Kids182https://iptv-org.github.io/iptv/categories/kids.m3u Legislative192https://iptv-org.github.io/iptv/categories/legislative.m3u Lifestyle79https://iptv-org.github.io/iptv/categories/lifestyle.m3u @@ -90,12 +90,12 @@ Same thing, but split up into separate files: ### Grouped by language +Playlists in which channels are grouped by the language in which they are broadcast. +
Expand
-Playlist in which each channel has its _language_ as a group title: - ``` https://iptv-org.github.io/iptv/index.language.m3u ``` @@ -115,7 +115,7 @@ Same thing, but split up into separate files: Albanian37https://iptv-org.github.io/iptv/languages/sqi.m3u Alur1https://iptv-org.github.io/iptv/languages/alz.m3u Amharic7https://iptv-org.github.io/iptv/languages/amh.m3u - Arabic394https://iptv-org.github.io/iptv/languages/ara.m3u + Arabic393https://iptv-org.github.io/iptv/languages/ara.m3u Armenian25https://iptv-org.github.io/iptv/languages/hye.m3u Assamese7https://iptv-org.github.io/iptv/languages/asm.m3u Assyrian Neo-Aramaic1https://iptv-org.github.io/iptv/languages/aii.m3u @@ -295,12 +295,12 @@ Same thing, but split up into separate files: ### Grouped by country +Playlists in which channels are grouped by country for which they are broadcasted. +
Expand
-Playlist in which each channel has its _country_ as a group title: - ``` https://iptv-org.github.io/iptv/index.country.m3u ``` @@ -618,7 +618,7 @@ Same thing, but split up into separate files: 🇲🇪 Montenegro36https://iptv-org.github.io/iptv/countries/me.m3u       Ulcinj1https://iptv-org.github.io/iptv/subdivisions/me-20.m3u 🇲🇸 Montserrat12https://iptv-org.github.io/iptv/countries/ms.m3u - 🇲🇦 Morocco76https://iptv-org.github.io/iptv/countries/ma.m3u + 🇲🇦 Morocco75https://iptv-org.github.io/iptv/countries/ma.m3u 🇲🇿 Mozambique26https://iptv-org.github.io/iptv/countries/mz.m3u 🇲🇲 Myanmar21https://iptv-org.github.io/iptv/countries/mm.m3u 🇳🇦 Namibia23https://iptv-org.github.io/iptv/countries/na.m3u @@ -830,7 +830,7 @@ Same thing, but split up into separate files: Expand
-Playlist in which each channel has its _region_ as a group title: +Playlists in which channels are grouped by the region for which they are broadcasted. ``` https://iptv-org.github.io/iptv/index.region.m3u @@ -844,9 +844,9 @@ Same thing, but split up into separate files: RegionChannelsPlaylist - Africa550https://iptv-org.github.io/iptv/regions/afr.m3u + Africa549https://iptv-org.github.io/iptv/regions/afr.m3u Americas3597https://iptv-org.github.io/iptv/regions/amer.m3u - Arab world402https://iptv-org.github.io/iptv/regions/arab.m3u + Arab world401https://iptv-org.github.io/iptv/regions/arab.m3u Asia2163https://iptv-org.github.io/iptv/regions/asia.m3u Asia-Pacific1137https://iptv-org.github.io/iptv/regions/apac.m3u Association of Southeast Asian Nations344https://iptv-org.github.io/iptv/regions/asean.m3u @@ -858,14 +858,14 @@ Same thing, but split up into separate files: Central Asia112https://iptv-org.github.io/iptv/regions/cas.m3u Commonwealth of Independent States373https://iptv-org.github.io/iptv/regions/cis.m3u Europe2866https://iptv-org.github.io/iptv/regions/eur.m3u - Europe, the Middle East and Africa3780https://iptv-org.github.io/iptv/regions/emea.m3u + Europe, the Middle East and Africa3779https://iptv-org.github.io/iptv/regions/emea.m3u European Union1948https://iptv-org.github.io/iptv/regions/eu.m3u Hispanic America1679https://iptv-org.github.io/iptv/regions/hispam.m3u Latin America1994https://iptv-org.github.io/iptv/regions/latam.m3u Latin America and the Caribbean2038https://iptv-org.github.io/iptv/regions/lac.m3u - Maghreb91https://iptv-org.github.io/iptv/regions/maghreb.m3u + Maghreb90https://iptv-org.github.io/iptv/regions/maghreb.m3u Middle East805https://iptv-org.github.io/iptv/regions/mideast.m3u - Middle East and North Africa835https://iptv-org.github.io/iptv/regions/mena.m3u + Middle East and North Africa834https://iptv-org.github.io/iptv/regions/mena.m3u Nordics112https://iptv-org.github.io/iptv/regions/nord.m3u North America2419https://iptv-org.github.io/iptv/regions/noram.m3u Northern America1581https://iptv-org.github.io/iptv/regions/nam.m3u From f1be6049678c013747dee434983e19acb9d82a91 Mon Sep 17 00:00:00 2001 From: "iptv-bot[bot]" <84861620+iptv-bot[bot]@users.noreply.github.com> Date: Wed, 9 Apr 2025 00:11:21 +0000 Subject: [PATCH 70/85] [Bot] Update /streams Committed by [iptv-bot](https://github.com/apps/iptv-bot) via [update](https://github.com/iptv-org/iptv/actions/runs/14346018683) workflow. closes #21060, closes #21053, closes #21048, closes #21047, closes #21059, closes #21057, closes #21056, closes #21046, closes #21044, closes #21042, closes #21038, closes #21031 --- streams/ae.m3u | 2 ++ streams/de.m3u | 2 ++ streams/hu.m3u | 6 ------ streams/it.m3u | 2 ++ streams/lk.m3u | 4 ++++ streams/pe.m3u | 2 ++ streams/sy.m3u | 2 -- streams/tr.m3u | 4 ++++ streams/us_moveonjoy.m3u | 10 ---------- 9 files changed, 16 insertions(+), 18 deletions(-) diff --git a/streams/ae.m3u b/streams/ae.m3u index 9172ef7e7..c02c37de4 100644 --- a/streams/ae.m3u +++ b/streams/ae.m3u @@ -155,3 +155,5 @@ https://vo-live.cdb.cdn.orange.com/Content/Channel/YASSportsChannel/HLS/index.m3 https://weyyak-live.akamaized.net/weyyak_zee_aflam/index.m3u8 #EXTINF:-1 tvg-id="ZeeAlwan.ae",Zee Alwan (720p) [Geo-blocked] https://weyyak-live.akamaized.net/weyyak_zee_alwan/index.m3u8 +#EXTINF:-1 tvg-id="SpacetoonArabic.ae",Spacetoon Arabic (1080p) +https://shd-gcp-live.edgenextcdn.net/live/bitmovin-spacetoon/d8382fb9ab4b2307058f12c7ea90db54/index.m3u8 diff --git a/streams/de.m3u b/streams/de.m3u index 26ff70000..53ff78c41 100644 --- a/streams/de.m3u +++ b/streams/de.m3u @@ -508,3 +508,5 @@ https://zdf-hls-16.akamaized.net/hls/live/2016499/de/high/master.m3u8 https://ef56ef401101403a8b06f1dec29ef1eb.mediatailor.us-east-1.amazonaws.com/v1/master/44f73ba4d03e9607dcd9bebdcb8494d86964f1d8/Samsung-de_ZeeOne/playlist.m3u8 #EXTINF:-1 tvg-id="ZweiMusicTelevision.de",ZWEI2 Music (1080p) https://cdne.folxplay.tv/folx-trz/streams/ch-2/master.m3u8 +#EXTINF:-1 tvg-id="MCTV.de",MC TV (720p) +https://rrr.sz.xlcdn.com/?account=mceutv&file=mc2&type=live&service=wowza&protocol=https&output=playlist.m3u8 diff --git a/streams/hu.m3u b/streams/hu.m3u index 6dd7f08ff..4711e943b 100644 --- a/streams/hu.m3u +++ b/streams/hu.m3u @@ -199,12 +199,6 @@ http://194.76.186.33:8000/play/a05h/index.m3u8 http://194.76.186.33:8000/play/a02a/index.m3u8 #EXTINF:-1 tvg-id="RTLHarom.hu",RTL Harom (576p) http://194.76.186.33:8000/play/a05d/index.m3u8 -#EXTINF:-1 tvg-id="RTL.hu",RTL Hungary (1080p) -http://194.76.186.33:8000/play/a041/index.m3u8 -#EXTINF:-1 tvg-id="RTL.hu",RTL Hungary (576p) -http://194.76.186.33:8000/play/a01e/index.m3u8 -#EXTINF:-1 tvg-id="RTL.hu",RTL Hungary (576p) -http://194.76.186.33:8000/play/a04g/index.m3u8 #EXTINF:-1 tvg-id="RTLKetto.hu",RTL Ketto (1080p) http://194.76.186.33:8000/play/a01z/index.m3u8 #EXTINF:-1 tvg-id="RTLKetto.hu",RTL Ketto (576p) diff --git a/streams/it.m3u b/streams/it.m3u index 1fe99ff49..85242f40f 100644 --- a/streams/it.m3u +++ b/streams/it.m3u @@ -669,3 +669,5 @@ https://5f22d76e220e1.streamlock.net/canale5/canale5/playlist.m3u8 https://5db313b643fd8.streamlock.net/ZerounoTVEventi/ZerounoTVEventi/playlist.m3u8 #EXTINF:-1 tvg-id="Telenova.it",Telenova (720p) https://64b16f23efbee.streamlock.net/telenova/telenova/playlist.m3u8 +#EXTINF:-1 tvg-id="TeleQuattro.it",Tele Quattro (720p) +https://59d7d6f47d7fc.streamlock.net/telequattro/telequattro/playlist.m3u8 diff --git a/streams/lk.m3u b/streams/lk.m3u index 23f004fcf..2f6b50329 100644 --- a/streams/lk.m3u +++ b/streams/lk.m3u @@ -19,3 +19,7 @@ https://jk3lz8xklw79-hls-live.5centscdn.com/live/6226f7cbe59e99a90b5cef6f94f966f https://j78dp2pnlq5r-hls-live.comcities.net/ITNDigital/20a317b0496a4930b375290505e5d628.sdp/playlist_dvr.m3u8 #EXTINF:-1 tvg-id="VerbumTV.lk",Verbum TV (414p) [Not 24/7] https://verbumtv.livebox.co.in/verbumtvhls/live.m3u8 +#EXTINF:-1 tvg-id="VasanthamTV.lk",Vasantham TV (720p) +https://222103-hls.akamaized.net/668828a00bf80aa436254876/live_2cdb4ef03c1311efadcf7986aa245789/rewind-3600.m3u8 +#EXTINF:-1 tvg-id="ITN.lk",ITN (1080p) +https://222103-hls.akamaized.net/668828a00bf80aa436254876/live_aabd3d003af211efadcf7986aa245789/rewind-3600.m3u8 diff --git a/streams/pe.m3u b/streams/pe.m3u index 56d796608..253bdd415 100644 --- a/streams/pe.m3u +++ b/streams/pe.m3u @@ -303,3 +303,5 @@ https://live.obslivestream.com/wtv/index.m3u8 https://vdo.panelchs.com:3927/live/xtvcontrollive.m3u8 #EXTINF:-1 tvg-id="",X TV Zona Film https://vdo.panelchs.com:3769/live/vdo54575151live.m3u8 +#EXTINF:-1 tvg-id="ONDADIGITAL.pe",ONDA DIGITAL (720p) +https://tv.ondadigital.pe/ondadigital/index.m3u8 diff --git a/streams/sy.m3u b/streams/sy.m3u index 2c5c5aad8..2cb03017c 100644 --- a/streams/sy.m3u +++ b/streams/sy.m3u @@ -7,7 +7,5 @@ https://p-ltv.akamaized.net/ltv/ltv.m3u8 https://rojava-tv.akamaized.net/hls/rojava-tv.m3u8 #EXTINF:-1 tvg-id="RonahiTV.sy",Ronahi TV https://ronahi-tv.akamaized.net/hls/ronahi-tv.m3u8 -#EXTINF:-1 tvg-id="SpacetoonArabic.ae",Spacetoon (1080p) -https://shls-spacetoon-prod-dub.shahid.net/out/v1/6240b773a3f34cca95d119f9e76aec02/index.m3u8 #EXTINF:-1 tvg-id="SpacetoonArabic.ae",Spacetoon (576p) https://streams.spacetoon.com/live/stchannel/smil:livesmil.smil/playlist.m3u8 diff --git a/streams/tr.m3u b/streams/tr.m3u index 1578dc6dc..088cd7ede 100644 --- a/streams/tr.m3u +++ b/streams/tr.m3u @@ -810,3 +810,7 @@ http://54.36.110.140/live3/live3.m3u8 https://saran-live.ercdn.net/disneyjunior/index.m3u8 #EXTINF:-1 tvg-id="NationalGeographic.tr",National Geographic (1080p) [Geo-blocked] https://saran-live.ercdn.net/natgeohd/index.m3u8 +#EXTINF:-1 tvg-id="LalegulTV.tr",Lalegul TV (1080p) +https://lbl.netmedya.net/hls/lalegultv.m3u8 +#EXTINF:-1 tvg-id="FX.tr",FX (1080p) [Geo-blocked] +https://saran-live.ercdn.net/fx/index.m3u8 diff --git a/streams/us_moveonjoy.m3u b/streams/us_moveonjoy.m3u index 9a2ebd3b6..372984acf 100644 --- a/streams/us_moveonjoy.m3u +++ b/streams/us_moveonjoy.m3u @@ -199,8 +199,6 @@ http://fl2.moveonjoy.com/REVOLT/index.m3u8 http://fl2.moveonjoy.com/SHOWTIME_2/index.m3u8 #EXTINF:-1 tvg-id="ShowtimeEast.us",Showtime East http://fl2.moveonjoy.com/SHOWTIME/index.m3u8 -#EXTINF:-1 tvg-id="ShowtimeExtremeEast.us",Showtime Extreme East -http://fl2.moveonjoy.com/SHOWTIME_EXTREME/index.m3u8 #EXTINF:-1 tvg-id="ShowtimeNextEast.us",Showtime Next East http://fl2.moveonjoy.com/SHOWTIME_NEXT/index.m3u8 #EXTINF:-1 tvg-id="ShowtimeWest.us",Showtime West (1080p) @@ -215,18 +213,10 @@ http://fl2.moveonjoy.com/SPORTSMAN_CHANNEL/index.m3u8 http://fl2.moveonjoy.com/SNY/index.m3u8 #EXTINF:-1 tvg-id="StartTV.us",Start TV http://fl3.moveonjoy.com/Start_Tv/index.m3u8 -#EXTINF:-1 tvg-id="StarzComedyEast.us",Starz Comedy East -http://fl2.moveonjoy.com/STARZ_COMEDY/index.m3u8 #EXTINF:-1 tvg-id="StarzEast.us",Starz East http://fl2.moveonjoy.com/STARZ/index.m3u8 -#EXTINF:-1 tvg-id="StarzEdgeEast.us",Starz Edge East -http://fl2.moveonjoy.com/STARZ_EDGE/index.m3u8 -#EXTINF:-1 tvg-id="StarzEncoreActionEast.us",Starz Encore Action East -http://fl2.moveonjoy.com/STARZ_ENCORE_ACTION/index.m3u8 #EXTINF:-1 tvg-id="StarzEncoreClassicEast.us",Starz Encore Classic East http://fl5.moveonjoy.com/STARZ_ENCORE_CLASSIC/index.m3u8 -#EXTINF:-1 tvg-id="StarzEncoreEast.us",Starz Encore East -http://fl2.moveonjoy.com/STARZ_ENCORE/index.m3u8 #EXTINF:-1 tvg-id="StarzWest.us",Starz West http://fl2.moveonjoy.com/STARZ_WEST/index.m3u8 #EXTINF:-1 tvg-id="SundanceTVEast.us",Sundance TV East From 55a1eabf18904507433e21d0aed33e1743d65483 Mon Sep 17 00:00:00 2001 From: "iptv-bot[bot]" <84861620+iptv-bot[bot]@users.noreply.github.com> Date: Wed, 9 Apr 2025 00:11:21 +0000 Subject: [PATCH 71/85] [Bot] Update README.md Committed by [iptv-bot](https://github.com/apps/iptv-bot) via [update](https://github.com/iptv-org/iptv/actions/runs/14346018683) workflow. --- README.md | 65 ++++++++++++++++++++++++++++--------------------------- 1 file changed, 33 insertions(+), 32 deletions(-) diff --git a/README.md b/README.md index 394c1ce67..d053aab05 100644 --- a/README.md +++ b/README.md @@ -63,9 +63,9 @@ Same thing, but split up into separate files: Culture170https://iptv-org.github.io/iptv/categories/culture.m3u Documentary81https://iptv-org.github.io/iptv/categories/documentary.m3u Education153https://iptv-org.github.io/iptv/categories/education.m3u - Entertainment546https://iptv-org.github.io/iptv/categories/entertainment.m3u + Entertainment547https://iptv-org.github.io/iptv/categories/entertainment.m3u Family35https://iptv-org.github.io/iptv/categories/family.m3u - General2339https://iptv-org.github.io/iptv/categories/general.m3u + General2341https://iptv-org.github.io/iptv/categories/general.m3u Kids182https://iptv-org.github.io/iptv/categories/kids.m3u Legislative192https://iptv-org.github.io/iptv/categories/legislative.m3u Lifestyle79https://iptv-org.github.io/iptv/categories/lifestyle.m3u @@ -82,7 +82,7 @@ Same thing, but split up into separate files: Travel40https://iptv-org.github.io/iptv/categories/travel.m3u Weather13https://iptv-org.github.io/iptv/categories/weather.m3u XXX0https://iptv-org.github.io/iptv/categories/xxx.m3u - Undefined4728https://iptv-org.github.io/iptv/categories/undefined.m3u + Undefined4722https://iptv-org.github.io/iptv/categories/undefined.m3u @@ -150,7 +150,7 @@ Same thing, but split up into separate files: Dutch188https://iptv-org.github.io/iptv/languages/nld.m3u Dyula1https://iptv-org.github.io/iptv/languages/dyu.m3u Egyptian Arabic2https://iptv-org.github.io/iptv/languages/arz.m3u - English2112https://iptv-org.github.io/iptv/languages/eng.m3u + English2113https://iptv-org.github.io/iptv/languages/eng.m3u Estonian9https://iptv-org.github.io/iptv/languages/est.m3u Ewe2https://iptv-org.github.io/iptv/languages/ewe.m3u Faroese1https://iptv-org.github.io/iptv/languages/fao.m3u @@ -165,7 +165,7 @@ Same thing, but split up into separate files: Ganda5https://iptv-org.github.io/iptv/languages/lug.m3u Gen1https://iptv-org.github.io/iptv/languages/gej.m3u Georgian9https://iptv-org.github.io/iptv/languages/kat.m3u - German256https://iptv-org.github.io/iptv/languages/deu.m3u + German257https://iptv-org.github.io/iptv/languages/deu.m3u Gikuyu2https://iptv-org.github.io/iptv/languages/kik.m3u Goan Konkani1https://iptv-org.github.io/iptv/languages/gom.m3u Greek125https://iptv-org.github.io/iptv/languages/ell.m3u @@ -178,7 +178,7 @@ Same thing, but split up into separate files: Hebrew13https://iptv-org.github.io/iptv/languages/heb.m3u Hindi120https://iptv-org.github.io/iptv/languages/hin.m3u Hmong1https://iptv-org.github.io/iptv/languages/hmn.m3u - Hungarian104https://iptv-org.github.io/iptv/languages/hun.m3u + Hungarian103https://iptv-org.github.io/iptv/languages/hun.m3u Icelandic5https://iptv-org.github.io/iptv/languages/isl.m3u Indonesian127https://iptv-org.github.io/iptv/languages/ind.m3u Inuktitut1https://iptv-org.github.io/iptv/languages/iku.m3u @@ -253,7 +253,7 @@ Same thing, but split up into separate files: Slovak49https://iptv-org.github.io/iptv/languages/slk.m3u Slovenian13https://iptv-org.github.io/iptv/languages/slv.m3u Somali11https://iptv-org.github.io/iptv/languages/som.m3u - Spanish2069https://iptv-org.github.io/iptv/languages/spa.m3u + Spanish2070https://iptv-org.github.io/iptv/languages/spa.m3u Sranan Tongo3https://iptv-org.github.io/iptv/languages/srn.m3u Swahili24https://iptv-org.github.io/iptv/languages/swa.m3u Swedish16https://iptv-org.github.io/iptv/languages/swe.m3u @@ -272,7 +272,7 @@ Same thing, but split up into separate files: Tooro1https://iptv-org.github.io/iptv/languages/ttj.m3u Tswana1https://iptv-org.github.io/iptv/languages/tsn.m3u Tumzabt1https://iptv-org.github.io/iptv/languages/mzb.m3u - Turkish257https://iptv-org.github.io/iptv/languages/tur.m3u + Turkish259https://iptv-org.github.io/iptv/languages/tur.m3u Turkmen8https://iptv-org.github.io/iptv/languages/tuk.m3u Uighur3https://iptv-org.github.io/iptv/languages/uig.m3u Ukrainian60https://iptv-org.github.io/iptv/languages/ukr.m3u @@ -287,7 +287,7 @@ Same thing, but split up into separate files: Yucatec Maya1https://iptv-org.github.io/iptv/languages/yua.m3u Yue Chinese7https://iptv-org.github.io/iptv/languages/yue.m3u Zarma1https://iptv-org.github.io/iptv/languages/dje.m3u - Undefined2896https://iptv-org.github.io/iptv/languages/undefined.m3u + Undefined2891https://iptv-org.github.io/iptv/languages/undefined.m3u @@ -450,7 +450,7 @@ Same thing, but split up into separate files: 🇭🇷 Croatia62https://iptv-org.github.io/iptv/countries/hr.m3u 🇨🇺 Cuba67https://iptv-org.github.io/iptv/countries/cu.m3u 🇨🇼 Curacao18https://iptv-org.github.io/iptv/countries/cw.m3u - 🇨🇾 Cyprus72https://iptv-org.github.io/iptv/countries/cy.m3u + 🇨🇾 Cyprus73https://iptv-org.github.io/iptv/countries/cy.m3u 🇨🇿 Czech Republic72https://iptv-org.github.io/iptv/countries/cz.m3u 🇨🇩 Democratic Republic of the Congo59https://iptv-org.github.io/iptv/countries/cd.m3u 🇩🇰 Denmark58https://iptv-org.github.io/iptv/countries/dk.m3u @@ -490,7 +490,7 @@ Same thing, but split up into separate files: 🇬🇦 Gabon27https://iptv-org.github.io/iptv/countries/ga.m3u 🇬🇲 Gambia23https://iptv-org.github.io/iptv/countries/gm.m3u 🇬🇪 Georgia37https://iptv-org.github.io/iptv/countries/ge.m3u - 🇩🇪 Germany248https://iptv-org.github.io/iptv/countries/de.m3u + 🇩🇪 Germany249https://iptv-org.github.io/iptv/countries/de.m3u 🇬🇭 Ghana41https://iptv-org.github.io/iptv/countries/gh.m3u 🇬🇷 Greece146https://iptv-org.github.io/iptv/countries/gr.m3u       Attiki10https://iptv-org.github.io/iptv/subdivisions/gr-i.m3u @@ -522,7 +522,7 @@ Same thing, but split up into separate files: 🇭🇹 Haiti44https://iptv-org.github.io/iptv/countries/ht.m3u 🇭🇳 Honduras138https://iptv-org.github.io/iptv/countries/hn.m3u 🇭🇰 Hong Kong14https://iptv-org.github.io/iptv/countries/hk.m3u - 🇭🇺 Hungary139https://iptv-org.github.io/iptv/countries/hu.m3u + 🇭🇺 Hungary138https://iptv-org.github.io/iptv/countries/hu.m3u 🇮🇸 Iceland33https://iptv-org.github.io/iptv/countries/is.m3u 🇮🇳 India300https://iptv-org.github.io/iptv/countries/in.m3u 🇮🇩 Indonesia143https://iptv-org.github.io/iptv/countries/id.m3u @@ -649,7 +649,7 @@ Same thing, but split up into separate files:       Central1https://iptv-org.github.io/iptv/subdivisions/py-11.m3u       Itapua1https://iptv-org.github.io/iptv/subdivisions/py-7.m3u       Presidente Hayes1https://iptv-org.github.io/iptv/subdivisions/py-15.m3u - 🇵🇪 Peru206https://iptv-org.github.io/iptv/countries/pe.m3u + 🇵🇪 Peru207https://iptv-org.github.io/iptv/countries/pe.m3u       Amazonas2https://iptv-org.github.io/iptv/subdivisions/pe-ama.m3u       Ancash1https://iptv-org.github.io/iptv/subdivisions/pe-anc.m3u       Apurimac1https://iptv-org.github.io/iptv/subdivisions/pe-apu.m3u @@ -657,7 +657,8 @@ Same thing, but split up into separate files:       Ayacucho2https://iptv-org.github.io/iptv/subdivisions/pe-aya.m3u       Cusco1https://iptv-org.github.io/iptv/subdivisions/pe-cus.m3u       Junin4https://iptv-org.github.io/iptv/subdivisions/pe-jun.m3u -       Lima8https://iptv-org.github.io/iptv/subdivisions/pe-lim.m3u +       La Libertad1https://iptv-org.github.io/iptv/subdivisions/pe-lal.m3u +       Lima9https://iptv-org.github.io/iptv/subdivisions/pe-lim.m3u       Loreto2https://iptv-org.github.io/iptv/subdivisions/pe-lor.m3u       Moquegua3https://iptv-org.github.io/iptv/subdivisions/pe-moq.m3u       Puno2https://iptv-org.github.io/iptv/subdivisions/pe-pun.m3u @@ -748,7 +749,7 @@ Same thing, but split up into separate files: 🇹🇴 Tonga5https://iptv-org.github.io/iptv/countries/to.m3u 🇹🇹 Trinidad and Tobago18https://iptv-org.github.io/iptv/countries/tt.m3u 🇹🇳 Tunisia66https://iptv-org.github.io/iptv/countries/tn.m3u - 🇹🇷 Turkey280https://iptv-org.github.io/iptv/countries/tr.m3u + 🇹🇷 Turkey281https://iptv-org.github.io/iptv/countries/tr.m3u 🇹🇲 Turkmenistan16https://iptv-org.github.io/iptv/countries/tm.m3u 🇹🇨 Turks and Caicos Islands12https://iptv-org.github.io/iptv/countries/tc.m3u 🇹🇻 Tuvalu5https://iptv-org.github.io/iptv/countries/tv.m3u @@ -818,7 +819,7 @@ Same thing, but split up into separate files: 🇾🇪 Yemen47https://iptv-org.github.io/iptv/countries/ye.m3u 🇿🇲 Zambia23https://iptv-org.github.io/iptv/countries/zm.m3u 🇿🇼 Zimbabwe23https://iptv-org.github.io/iptv/countries/zw.m3u - Undefined2896https://iptv-org.github.io/iptv/countries/undefined.m3u + Undefined2891https://iptv-org.github.io/iptv/countries/undefined.m3u @@ -845,41 +846,41 @@ Same thing, but split up into separate files: Africa549https://iptv-org.github.io/iptv/regions/afr.m3u - Americas3597https://iptv-org.github.io/iptv/regions/amer.m3u + Americas3598https://iptv-org.github.io/iptv/regions/amer.m3u Arab world401https://iptv-org.github.io/iptv/regions/arab.m3u - Asia2163https://iptv-org.github.io/iptv/regions/asia.m3u + Asia2164https://iptv-org.github.io/iptv/regions/asia.m3u Asia-Pacific1137https://iptv-org.github.io/iptv/regions/apac.m3u Association of Southeast Asian Nations344https://iptv-org.github.io/iptv/regions/asean.m3u - Balkan686https://iptv-org.github.io/iptv/regions/balkan.m3u + Balkan687https://iptv-org.github.io/iptv/regions/balkan.m3u Benelux241https://iptv-org.github.io/iptv/regions/benelux.m3u Caribbean365https://iptv-org.github.io/iptv/regions/carib.m3u Central America372https://iptv-org.github.io/iptv/regions/cenamer.m3u - Central and Eastern Europe996https://iptv-org.github.io/iptv/regions/cee.m3u + Central and Eastern Europe995https://iptv-org.github.io/iptv/regions/cee.m3u Central Asia112https://iptv-org.github.io/iptv/regions/cas.m3u Commonwealth of Independent States373https://iptv-org.github.io/iptv/regions/cis.m3u - Europe2866https://iptv-org.github.io/iptv/regions/eur.m3u - Europe, the Middle East and Africa3779https://iptv-org.github.io/iptv/regions/emea.m3u - European Union1948https://iptv-org.github.io/iptv/regions/eu.m3u - Hispanic America1679https://iptv-org.github.io/iptv/regions/hispam.m3u - Latin America1994https://iptv-org.github.io/iptv/regions/latam.m3u - Latin America and the Caribbean2038https://iptv-org.github.io/iptv/regions/lac.m3u + Europe2867https://iptv-org.github.io/iptv/regions/eur.m3u + Europe, the Middle East and Africa3780https://iptv-org.github.io/iptv/regions/emea.m3u + European Union1949https://iptv-org.github.io/iptv/regions/eu.m3u + Hispanic America1680https://iptv-org.github.io/iptv/regions/hispam.m3u + Latin America1995https://iptv-org.github.io/iptv/regions/latam.m3u + Latin America and the Caribbean2039https://iptv-org.github.io/iptv/regions/lac.m3u Maghreb90https://iptv-org.github.io/iptv/regions/maghreb.m3u - Middle East805https://iptv-org.github.io/iptv/regions/mideast.m3u - Middle East and North Africa834https://iptv-org.github.io/iptv/regions/mena.m3u + Middle East806https://iptv-org.github.io/iptv/regions/mideast.m3u + Middle East and North Africa835https://iptv-org.github.io/iptv/regions/mena.m3u Nordics112https://iptv-org.github.io/iptv/regions/nord.m3u North America2419https://iptv-org.github.io/iptv/regions/noram.m3u Northern America1581https://iptv-org.github.io/iptv/regions/nam.m3u Northern Europe154https://iptv-org.github.io/iptv/regions/neur.m3u Oceania54https://iptv-org.github.io/iptv/regions/oce.m3u - South America1257https://iptv-org.github.io/iptv/regions/southam.m3u + South America1258https://iptv-org.github.io/iptv/regions/southam.m3u South Asia404https://iptv-org.github.io/iptv/regions/sas.m3u Southeast Asia344https://iptv-org.github.io/iptv/regions/sea.m3u - Southern Europe1054https://iptv-org.github.io/iptv/regions/ser.m3u + Southern Europe1055https://iptv-org.github.io/iptv/regions/ser.m3u Sub-Saharan Africa494https://iptv-org.github.io/iptv/regions/ssa.m3u West Africa256https://iptv-org.github.io/iptv/regions/wafr.m3u - Western Europe781https://iptv-org.github.io/iptv/regions/wer.m3u + Western Europe782https://iptv-org.github.io/iptv/regions/wer.m3u Worldwide57https://iptv-org.github.io/iptv/regions/int.m3u - Undefined2896https://iptv-org.github.io/iptv/regions/undefined.m3u + Undefined2891https://iptv-org.github.io/iptv/regions/undefined.m3u From ac204df2e31478ff395003f5c384ad13ef20d109 Mon Sep 17 00:00:00 2001 From: "iptv-bot[bot]" <84861620+iptv-bot[bot]@users.noreply.github.com> Date: Thu, 10 Apr 2025 00:11:22 +0000 Subject: [PATCH 72/85] [Bot] Update /streams Committed by [iptv-bot](https://github.com/apps/iptv-bot) via [update](https://github.com/iptv-org/iptv/actions/runs/14369354352) workflow. closes #21066, closes #21063, closes #21043, closes #21064, closes #21062, closes #21061 --- streams/de.m3u | 6 ++++-- streams/it.m3u | 2 ++ streams/kz.m3u | 2 -- streams/lk.m3u | 2 -- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/streams/de.m3u b/streams/de.m3u index 53ff78c41..2a5a3f560 100644 --- a/streams/de.m3u +++ b/streams/de.m3u @@ -3,8 +3,6 @@ https://123tv-mx1.flex-cdn.net/index.m3u8 #EXTINF:-1 tvg-id="3sat.de",3sat (720p) [Geo-blocked] https://zdf-hls-18.akamaized.net/hls/live/2016501/dach/high/master.m3u8 -#EXTINF:-1 tvg-id="AlexBerlin.de",Alex Berlin (1080p) [Not 24/7] -https://alex-stream.rosebud-media.de/live/alexlivetv40.smil/playlist.m3u8 #EXTINF:-1 tvg-id="AllgauTV.de",Allgäu TV (1080p) https://stream01.welocal.stream/stream/fhd-allgaeutv_25679/ngrp:stream_all/playlist.m3u8 #EXTINF:-1 tvg-id="AltenburgTV.de",Altenburg TV (1080p) @@ -510,3 +508,7 @@ https://ef56ef401101403a8b06f1dec29ef1eb.mediatailor.us-east-1.amazonaws.com/v1/ https://cdne.folxplay.tv/folx-trz/streams/ch-2/master.m3u8 #EXTINF:-1 tvg-id="MCTV.de",MC TV (720p) https://rrr.sz.xlcdn.com/?account=mceutv&file=mc2&type=live&service=wowza&protocol=https&output=playlist.m3u8 +#EXTINF:-1 tvg-id="RFH.de",RFH (1080p) +https://h056.video-stream-hosting.de/medienasa-live/_definst_/mp4:RFH_high/index.m3u8 +#EXTINF:-1 tvg-id="AlexBerlin.de",Alex Berlin (1080p) +https://alex-stream.rosebud-media.de/bounce/alexlivetv50.smil/index.m3u8 diff --git a/streams/it.m3u b/streams/it.m3u index 85242f40f..e9359e130 100644 --- a/streams/it.m3u +++ b/streams/it.m3u @@ -671,3 +671,5 @@ https://5db313b643fd8.streamlock.net/ZerounoTVEventi/ZerounoTVEventi/playlist.m3 https://64b16f23efbee.streamlock.net/telenova/telenova/playlist.m3u8 #EXTINF:-1 tvg-id="TeleQuattro.it",Tele Quattro (720p) https://59d7d6f47d7fc.streamlock.net/telequattro/telequattro/playlist.m3u8 +#EXTINF:-1 tvg-id="7RadioVisione.it",7 RadioVisione (720p) +https://stream10.xdevel.com/video1s976543-1932/stream/playlist.m3u8 diff --git a/streams/kz.m3u b/streams/kz.m3u index 9c58de14a..ff46dbaf9 100644 --- a/streams/kz.m3u +++ b/streams/kz.m3u @@ -31,8 +31,6 @@ https://stream.kaztrk.kz/regional/kokshetautv/index.m3u8 http://212.42.111.152:8080/hls/manas.m3u8 #EXTINF:-1 tvg-id="Mangystay.kz",Mańǵystaý (540p) [Not 24/7] https://stream.kaztrk.kz/regional/mangystautv/index.m3u8 -#EXTINF:-1 tvg-id="MuzzOne.kz",MuzzOne (1080p) -https://muzzone-stream.daitsuna.net/muzzondvr/muzzone/playlist_dvr.m3u8 #EXTINF:-1 tvg-id="Ontustik.kz",Ontústik (360p) https://stream.kaztrk.kz/regional/shymkenttv/index.m3u8 #EXTINF:-1 tvg-id="Qazaqstan.kz",Qazaqstan TV (720p) [Not 24/7] diff --git a/streams/lk.m3u b/streams/lk.m3u index 2f6b50329..a58517609 100644 --- a/streams/lk.m3u +++ b/streams/lk.m3u @@ -3,8 +3,6 @@ https://tv.hiruhost.com:1936/8012/8012/playlist.m3u8 #EXTINF:-1 tvg-id="ImaiTV.lk",Imai TV (720p) https://rpn3.bozztv.com/ssh101/ssh101/imaitv/playlist.m3u8 -#EXTINF:-1 tvg-id="ITN.lk",ITN (720p) [Not 24/7] -https://j78dp2pnlq5r-hls-live.comcities.net/ITNDigital/cf467ddf13ba30dd3c71435cafa6fd6e.sdp/playlist_dvr.m3u8 #EXTINF:-1 tvg-id="MonaraTV.lk",Monara TV (720p) [Not 24/7] https://jk3lz8xklw79-hls-live.5centscdn.com/lpl/d0dbe915091d400bd8ee7f27f0791303.sdp/playlist.m3u8 #EXTINF:-1 tvg-id="Rupavahini.lk",Rupavahini (480p) From bf7fbc218417386f9079b5c50467f5ab221f8733 Mon Sep 17 00:00:00 2001 From: "iptv-bot[bot]" <84861620+iptv-bot[bot]@users.noreply.github.com> Date: Thu, 10 Apr 2025 00:11:22 +0000 Subject: [PATCH 73/85] [Bot] Update README.md Committed by [iptv-bot](https://github.com/apps/iptv-bot) via [update](https://github.com/iptv-org/iptv/actions/runs/14369354352) workflow. --- README.md | 77 +++++++++++++++++++++++++++---------------------------- 1 file changed, 38 insertions(+), 39 deletions(-) diff --git a/README.md b/README.md index d053aab05..ae295239c 100644 --- a/README.md +++ b/README.md @@ -58,7 +58,7 @@ Same thing, but split up into separate files: Auto14https://iptv-org.github.io/iptv/categories/auto.m3u Business61https://iptv-org.github.io/iptv/categories/business.m3u Classic44https://iptv-org.github.io/iptv/categories/classic.m3u - Comedy60https://iptv-org.github.io/iptv/categories/comedy.m3u + Comedy59https://iptv-org.github.io/iptv/categories/comedy.m3u Cooking24https://iptv-org.github.io/iptv/categories/cooking.m3u Culture170https://iptv-org.github.io/iptv/categories/culture.m3u Documentary81https://iptv-org.github.io/iptv/categories/documentary.m3u @@ -70,7 +70,7 @@ Same thing, but split up into separate files: Legislative192https://iptv-org.github.io/iptv/categories/legislative.m3u Lifestyle79https://iptv-org.github.io/iptv/categories/lifestyle.m3u Movies236https://iptv-org.github.io/iptv/categories/movies.m3u - Music657https://iptv-org.github.io/iptv/categories/music.m3u + Music658https://iptv-org.github.io/iptv/categories/music.m3u News765https://iptv-org.github.io/iptv/categories/news.m3u Outdoor41https://iptv-org.github.io/iptv/categories/outdoor.m3u Relax2https://iptv-org.github.io/iptv/categories/relax.m3u @@ -150,7 +150,7 @@ Same thing, but split up into separate files: Dutch188https://iptv-org.github.io/iptv/languages/nld.m3u Dyula1https://iptv-org.github.io/iptv/languages/dyu.m3u Egyptian Arabic2https://iptv-org.github.io/iptv/languages/arz.m3u - English2113https://iptv-org.github.io/iptv/languages/eng.m3u + English2112https://iptv-org.github.io/iptv/languages/eng.m3u Estonian9https://iptv-org.github.io/iptv/languages/est.m3u Ewe2https://iptv-org.github.io/iptv/languages/ewe.m3u Faroese1https://iptv-org.github.io/iptv/languages/fao.m3u @@ -171,7 +171,6 @@ Same thing, but split up into separate files: Greek125https://iptv-org.github.io/iptv/languages/ell.m3u Guadeloupean Creole French2https://iptv-org.github.io/iptv/languages/gcf.m3u Gujarati6https://iptv-org.github.io/iptv/languages/guj.m3u - Gulf Arabic1https://iptv-org.github.io/iptv/languages/afb.m3u Gun1https://iptv-org.github.io/iptv/languages/guw.m3u Haitian4https://iptv-org.github.io/iptv/languages/hat.m3u Hausa2https://iptv-org.github.io/iptv/languages/hau.m3u @@ -185,14 +184,14 @@ Same thing, but split up into separate files: Iranian Persian1https://iptv-org.github.io/iptv/languages/pes.m3u Irish7https://iptv-org.github.io/iptv/languages/gle.m3u Isekiri1https://iptv-org.github.io/iptv/languages/its.m3u - Italian286https://iptv-org.github.io/iptv/languages/ita.m3u + Italian287https://iptv-org.github.io/iptv/languages/ita.m3u Japanese70https://iptv-org.github.io/iptv/languages/jpn.m3u Javanese3https://iptv-org.github.io/iptv/languages/jav.m3u Kabiyè1https://iptv-org.github.io/iptv/languages/kbp.m3u Kabyle1https://iptv-org.github.io/iptv/languages/kab.m3u Kannada11https://iptv-org.github.io/iptv/languages/kan.m3u Kapampangan1https://iptv-org.github.io/iptv/languages/pam.m3u - Kazakh29https://iptv-org.github.io/iptv/languages/kaz.m3u + Kazakh28https://iptv-org.github.io/iptv/languages/kaz.m3u Khmer22https://iptv-org.github.io/iptv/languages/khm.m3u Khorasani Turkish1https://iptv-org.github.io/iptv/languages/kmz.m3u Kinyarwanda7https://iptv-org.github.io/iptv/languages/kin.m3u @@ -243,7 +242,7 @@ Same thing, but split up into separate files: Romanian127https://iptv-org.github.io/iptv/languages/ron.m3u Romany1https://iptv-org.github.io/iptv/languages/rom.m3u Rundi1https://iptv-org.github.io/iptv/languages/run.m3u - Russian279https://iptv-org.github.io/iptv/languages/rus.m3u + Russian278https://iptv-org.github.io/iptv/languages/rus.m3u Saint Lucian Creole French2https://iptv-org.github.io/iptv/languages/acf.m3u Samoan2https://iptv-org.github.io/iptv/languages/smo.m3u Santali1https://iptv-org.github.io/iptv/languages/sat.m3u @@ -315,7 +314,7 @@ Same thing, but split up into separate files: 🇦🇫 Afghanistan31https://iptv-org.github.io/iptv/countries/af.m3u 🇦🇱 Albania42https://iptv-org.github.io/iptv/countries/al.m3u - 🇩🇿 Algeria71https://iptv-org.github.io/iptv/countries/dz.m3u + 🇩🇿 Algeria70https://iptv-org.github.io/iptv/countries/dz.m3u 🇦🇸 American Samoa5https://iptv-org.github.io/iptv/countries/as.m3u 🇦🇩 Andorra34https://iptv-org.github.io/iptv/countries/ad.m3u 🇦🇴 Angola26https://iptv-org.github.io/iptv/countries/ao.m3u @@ -350,7 +349,7 @@ Same thing, but split up into separate files: 🇦🇹 Austria74https://iptv-org.github.io/iptv/countries/at.m3u 🇦🇿 Azerbaijan49https://iptv-org.github.io/iptv/countries/az.m3u 🇧🇸 Bahamas15https://iptv-org.github.io/iptv/countries/bs.m3u - 🇧🇭 Bahrain47https://iptv-org.github.io/iptv/countries/bh.m3u + 🇧🇭 Bahrain46https://iptv-org.github.io/iptv/countries/bh.m3u 🇧🇩 Bangladesh20https://iptv-org.github.io/iptv/countries/bd.m3u 🇧🇧 Barbados13https://iptv-org.github.io/iptv/countries/bb.m3u 🇧🇾 Belarus50https://iptv-org.github.io/iptv/countries/by.m3u @@ -442,7 +441,7 @@ Same thing, but split up into separate files:       San Andres, Providencia y Santa Catalina1https://iptv-org.github.io/iptv/subdivisions/co-sap.m3u       Tolima1https://iptv-org.github.io/iptv/subdivisions/co-tol.m3u       Valle del Cauca5https://iptv-org.github.io/iptv/subdivisions/co-vac.m3u - 🇰🇲 Comoros60https://iptv-org.github.io/iptv/countries/km.m3u + 🇰🇲 Comoros59https://iptv-org.github.io/iptv/countries/km.m3u 🇨🇰 Cook Islands5https://iptv-org.github.io/iptv/countries/ck.m3u 🇨🇷 Costa Rica136https://iptv-org.github.io/iptv/countries/cr.m3u       Puntarenas1https://iptv-org.github.io/iptv/subdivisions/cr-p.m3u @@ -454,7 +453,7 @@ Same thing, but split up into separate files: 🇨🇿 Czech Republic72https://iptv-org.github.io/iptv/countries/cz.m3u 🇨🇩 Democratic Republic of the Congo59https://iptv-org.github.io/iptv/countries/cd.m3u 🇩🇰 Denmark58https://iptv-org.github.io/iptv/countries/dk.m3u - 🇩🇯 Djibouti63https://iptv-org.github.io/iptv/countries/dj.m3u + 🇩🇯 Djibouti62https://iptv-org.github.io/iptv/countries/dj.m3u 🇩🇲 Dominica13https://iptv-org.github.io/iptv/countries/dm.m3u 🇩🇴 Dominican Republic251https://iptv-org.github.io/iptv/countries/do.m3u       Distrito Nacional (Santo Domingo)2https://iptv-org.github.io/iptv/subdivisions/do-01.m3u @@ -471,7 +470,7 @@ Same thing, but split up into separate files:       Azuay1https://iptv-org.github.io/iptv/subdivisions/ec-a.m3u       Loja2https://iptv-org.github.io/iptv/subdivisions/ec-l.m3u       Orellana1https://iptv-org.github.io/iptv/subdivisions/ec-d.m3u - 🇪🇬 Egypt92https://iptv-org.github.io/iptv/countries/eg.m3u + 🇪🇬 Egypt91https://iptv-org.github.io/iptv/countries/eg.m3u 🇸🇻 El Salvador99https://iptv-org.github.io/iptv/countries/sv.m3u 🇬🇶 Equatorial Guinea26https://iptv-org.github.io/iptv/countries/gq.m3u 🇪🇷 Eritrea22https://iptv-org.github.io/iptv/countries/er.m3u @@ -556,10 +555,10 @@ Same thing, but split up into separate files:       Sumatera Selatan2https://iptv-org.github.io/iptv/subdivisions/id-ss.m3u       Yogyakarta3https://iptv-org.github.io/iptv/subdivisions/id-yo.m3u 🇮🇷 Iran123https://iptv-org.github.io/iptv/countries/ir.m3u - 🇮🇶 Iraq109https://iptv-org.github.io/iptv/countries/iq.m3u + 🇮🇶 Iraq108https://iptv-org.github.io/iptv/countries/iq.m3u 🇮🇪 Ireland57https://iptv-org.github.io/iptv/countries/ie.m3u 🇮🇱 Israel22https://iptv-org.github.io/iptv/countries/il.m3u - 🇮🇹 Italy323https://iptv-org.github.io/iptv/countries/it.m3u + 🇮🇹 Italy324https://iptv-org.github.io/iptv/countries/it.m3u       Trentino-Alto Adige3https://iptv-org.github.io/iptv/subdivisions/it-32.m3u 🇨🇮 Ivory Coast51https://iptv-org.github.io/iptv/countries/ci.m3u 🇯🇲 Jamaica19https://iptv-org.github.io/iptv/countries/jm.m3u @@ -572,19 +571,19 @@ Same thing, but split up into separate files:       Saitama2https://iptv-org.github.io/iptv/subdivisions/jp-11.m3u       Tochigi1https://iptv-org.github.io/iptv/subdivisions/jp-09.m3u       Tokyo1https://iptv-org.github.io/iptv/subdivisions/jp-13.m3u - 🇯🇴 Jordan69https://iptv-org.github.io/iptv/countries/jo.m3u - 🇰🇿 Kazakhstan70https://iptv-org.github.io/iptv/countries/kz.m3u + 🇯🇴 Jordan68https://iptv-org.github.io/iptv/countries/jo.m3u + 🇰🇿 Kazakhstan69https://iptv-org.github.io/iptv/countries/kz.m3u 🇰🇪 Kenya62https://iptv-org.github.io/iptv/countries/ke.m3u 🇰🇮 Kiribati5https://iptv-org.github.io/iptv/countries/ki.m3u 🇽🇰 Kosovo10https://iptv-org.github.io/iptv/countries/xk.m3u - 🇰🇼 Kuwait54https://iptv-org.github.io/iptv/countries/kw.m3u + 🇰🇼 Kuwait53https://iptv-org.github.io/iptv/countries/kw.m3u 🇰🇬 Kyrgyzstan22https://iptv-org.github.io/iptv/countries/kg.m3u 🇱🇦 Laos24https://iptv-org.github.io/iptv/countries/la.m3u 🇱🇻 Latvia58https://iptv-org.github.io/iptv/countries/lv.m3u - 🇱🇧 Lebanon70https://iptv-org.github.io/iptv/countries/lb.m3u + 🇱🇧 Lebanon69https://iptv-org.github.io/iptv/countries/lb.m3u 🇱🇸 Lesotho22https://iptv-org.github.io/iptv/countries/ls.m3u 🇱🇷 Liberia23https://iptv-org.github.io/iptv/countries/lr.m3u - 🇱🇾 Libya70https://iptv-org.github.io/iptv/countries/ly.m3u + 🇱🇾 Libya69https://iptv-org.github.io/iptv/countries/ly.m3u 🇱🇮 Liechtenstein31https://iptv-org.github.io/iptv/countries/li.m3u 🇱🇹 Lithuania48https://iptv-org.github.io/iptv/countries/lt.m3u 🇱🇺 Luxembourg57https://iptv-org.github.io/iptv/countries/lu.m3u @@ -597,7 +596,7 @@ Same thing, but split up into separate files: 🇲🇹 Malta46https://iptv-org.github.io/iptv/countries/mt.m3u 🇲🇭 Marshall Islands5https://iptv-org.github.io/iptv/countries/mh.m3u 🇲🇶 Martinique24https://iptv-org.github.io/iptv/countries/mq.m3u - 🇲🇷 Mauritania62https://iptv-org.github.io/iptv/countries/mr.m3u + 🇲🇷 Mauritania61https://iptv-org.github.io/iptv/countries/mr.m3u 🇲🇺 Mauritius23https://iptv-org.github.io/iptv/countries/mu.m3u 🇾🇹 Mayotte23https://iptv-org.github.io/iptv/countries/yt.m3u 🇲🇽 Mexico253https://iptv-org.github.io/iptv/countries/mx.m3u @@ -618,7 +617,7 @@ Same thing, but split up into separate files: 🇲🇪 Montenegro36https://iptv-org.github.io/iptv/countries/me.m3u       Ulcinj1https://iptv-org.github.io/iptv/subdivisions/me-20.m3u 🇲🇸 Montserrat12https://iptv-org.github.io/iptv/countries/ms.m3u - 🇲🇦 Morocco75https://iptv-org.github.io/iptv/countries/ma.m3u + 🇲🇦 Morocco74https://iptv-org.github.io/iptv/countries/ma.m3u 🇲🇿 Mozambique26https://iptv-org.github.io/iptv/countries/mz.m3u 🇲🇲 Myanmar21https://iptv-org.github.io/iptv/countries/mm.m3u 🇳🇦 Namibia23https://iptv-org.github.io/iptv/countries/na.m3u @@ -636,10 +635,10 @@ Same thing, but split up into separate files: 🇲🇰 North Macedonia65https://iptv-org.github.io/iptv/countries/mk.m3u 🇲🇵 Northern Mariana Islands5https://iptv-org.github.io/iptv/countries/mp.m3u 🇳🇴 Norway38https://iptv-org.github.io/iptv/countries/no.m3u - 🇴🇲 Oman48https://iptv-org.github.io/iptv/countries/om.m3u + 🇴🇲 Oman47https://iptv-org.github.io/iptv/countries/om.m3u 🇵🇰 Pakistan39https://iptv-org.github.io/iptv/countries/pk.m3u 🇵🇼 Palau5https://iptv-org.github.io/iptv/countries/pw.m3u - 🇵🇸 Palestine64https://iptv-org.github.io/iptv/countries/ps.m3u + 🇵🇸 Palestine63https://iptv-org.github.io/iptv/countries/ps.m3u 🇵🇦 Panama83https://iptv-org.github.io/iptv/countries/pa.m3u 🇵🇬 Papua New Guinea6https://iptv-org.github.io/iptv/countries/pg.m3u 🇵🇾 Paraguay123https://iptv-org.github.io/iptv/countries/py.m3u @@ -669,7 +668,7 @@ Same thing, but split up into separate files: 🇵🇱 Poland185https://iptv-org.github.io/iptv/countries/pl.m3u 🇵🇹 Portugal83https://iptv-org.github.io/iptv/countries/pt.m3u 🇵🇷 Puerto Rico99https://iptv-org.github.io/iptv/countries/pr.m3u - 🇶🇦 Qatar55https://iptv-org.github.io/iptv/countries/qa.m3u + 🇶🇦 Qatar54https://iptv-org.github.io/iptv/countries/qa.m3u 🇨🇬 Republic of the Congo32https://iptv-org.github.io/iptv/countries/cg.m3u       Brazzaville1https://iptv-org.github.io/iptv/subdivisions/cg-bzv.m3u 🇷🇪 Reunion23https://iptv-org.github.io/iptv/countries/re.m3u @@ -697,7 +696,7 @@ Same thing, but split up into separate files: 🇸🇰 Slovakia92https://iptv-org.github.io/iptv/countries/sk.m3u 🇸🇮 Slovenia56https://iptv-org.github.io/iptv/countries/si.m3u 🇸🇧 Solomon Islands5https://iptv-org.github.io/iptv/countries/sb.m3u - 🇸🇴 Somalia69https://iptv-org.github.io/iptv/countries/so.m3u + 🇸🇴 Somalia68https://iptv-org.github.io/iptv/countries/so.m3u 🇿🇦 South Africa60https://iptv-org.github.io/iptv/countries/za.m3u 🇬🇸 South Georgia and the South Sandwich Islands5https://iptv-org.github.io/iptv/countries/gs.m3u 🇰🇷 South Korea93https://iptv-org.github.io/iptv/countries/kr.m3u @@ -734,12 +733,12 @@ Same thing, but split up into separate files:       Pais Vasco6https://iptv-org.github.io/iptv/subdivisions/es-pv.m3u       Valenciana, Comunidad16https://iptv-org.github.io/iptv/subdivisions/es-vc.m3u 🇱🇰 Sri Lanka13https://iptv-org.github.io/iptv/countries/lk.m3u - 🇸🇩 Sudan66https://iptv-org.github.io/iptv/countries/sd.m3u + 🇸🇩 Sudan65https://iptv-org.github.io/iptv/countries/sd.m3u 🇸🇷 Suriname10https://iptv-org.github.io/iptv/countries/sr.m3u 🇸🇿 Swaziland23https://iptv-org.github.io/iptv/countries/sz.m3u 🇸🇪 Sweden58https://iptv-org.github.io/iptv/countries/se.m3u 🇨🇭 Switzerland76https://iptv-org.github.io/iptv/countries/ch.m3u - 🇸🇾 Syria47https://iptv-org.github.io/iptv/countries/sy.m3u + 🇸🇾 Syria46https://iptv-org.github.io/iptv/countries/sy.m3u 🇹🇼 Taiwan29https://iptv-org.github.io/iptv/countries/tw.m3u 🇹🇯 Tajikistan30https://iptv-org.github.io/iptv/countries/tj.m3u 🇹🇿 Tanzania30https://iptv-org.github.io/iptv/countries/tz.m3u @@ -748,7 +747,7 @@ Same thing, but split up into separate files: 🇹🇰 Tokelau5https://iptv-org.github.io/iptv/countries/tk.m3u 🇹🇴 Tonga5https://iptv-org.github.io/iptv/countries/to.m3u 🇹🇹 Trinidad and Tobago18https://iptv-org.github.io/iptv/countries/tt.m3u - 🇹🇳 Tunisia66https://iptv-org.github.io/iptv/countries/tn.m3u + 🇹🇳 Tunisia65https://iptv-org.github.io/iptv/countries/tn.m3u 🇹🇷 Turkey281https://iptv-org.github.io/iptv/countries/tr.m3u 🇹🇲 Turkmenistan16https://iptv-org.github.io/iptv/countries/tm.m3u 🇹🇨 Turks and Caicos Islands12https://iptv-org.github.io/iptv/countries/tc.m3u @@ -756,7 +755,7 @@ Same thing, but split up into separate files: 🇻🇮 U.S. Virgin Islands12https://iptv-org.github.io/iptv/countries/vi.m3u 🇺🇬 Uganda50https://iptv-org.github.io/iptv/countries/ug.m3u 🇺🇦 Ukraine92https://iptv-org.github.io/iptv/countries/ua.m3u - 🇦🇪 United Arab Emirates89https://iptv-org.github.io/iptv/countries/ae.m3u + 🇦🇪 United Arab Emirates88https://iptv-org.github.io/iptv/countries/ae.m3u 🇬🇧 United Kingdom175https://iptv-org.github.io/iptv/countries/uk.m3u 🇺🇸 United States1421https://iptv-org.github.io/iptv/countries/us.m3u       Alabama3https://iptv-org.github.io/iptv/subdivisions/us-al.m3u @@ -816,7 +815,7 @@ Same thing, but split up into separate files: 🇻🇳 Vietnam71https://iptv-org.github.io/iptv/countries/vn.m3u 🇼🇫 Wallis and Futuna5https://iptv-org.github.io/iptv/countries/wf.m3u 🇪🇭 Western Sahara27https://iptv-org.github.io/iptv/countries/eh.m3u - 🇾🇪 Yemen47https://iptv-org.github.io/iptv/countries/ye.m3u + 🇾🇪 Yemen46https://iptv-org.github.io/iptv/countries/ye.m3u 🇿🇲 Zambia23https://iptv-org.github.io/iptv/countries/zm.m3u 🇿🇼 Zimbabwe23https://iptv-org.github.io/iptv/countries/zw.m3u Undefined2891https://iptv-org.github.io/iptv/countries/undefined.m3u @@ -845,10 +844,10 @@ Same thing, but split up into separate files: RegionChannelsPlaylist - Africa549https://iptv-org.github.io/iptv/regions/afr.m3u + Africa548https://iptv-org.github.io/iptv/regions/afr.m3u Americas3598https://iptv-org.github.io/iptv/regions/amer.m3u Arab world401https://iptv-org.github.io/iptv/regions/arab.m3u - Asia2164https://iptv-org.github.io/iptv/regions/asia.m3u + Asia2163https://iptv-org.github.io/iptv/regions/asia.m3u Asia-Pacific1137https://iptv-org.github.io/iptv/regions/apac.m3u Association of Southeast Asian Nations344https://iptv-org.github.io/iptv/regions/asean.m3u Balkan687https://iptv-org.github.io/iptv/regions/balkan.m3u @@ -856,15 +855,15 @@ Same thing, but split up into separate files: Caribbean365https://iptv-org.github.io/iptv/regions/carib.m3u Central America372https://iptv-org.github.io/iptv/regions/cenamer.m3u Central and Eastern Europe995https://iptv-org.github.io/iptv/regions/cee.m3u - Central Asia112https://iptv-org.github.io/iptv/regions/cas.m3u - Commonwealth of Independent States373https://iptv-org.github.io/iptv/regions/cis.m3u + Central Asia111https://iptv-org.github.io/iptv/regions/cas.m3u + Commonwealth of Independent States372https://iptv-org.github.io/iptv/regions/cis.m3u Europe2867https://iptv-org.github.io/iptv/regions/eur.m3u Europe, the Middle East and Africa3780https://iptv-org.github.io/iptv/regions/emea.m3u - European Union1949https://iptv-org.github.io/iptv/regions/eu.m3u + European Union1950https://iptv-org.github.io/iptv/regions/eu.m3u Hispanic America1680https://iptv-org.github.io/iptv/regions/hispam.m3u Latin America1995https://iptv-org.github.io/iptv/regions/latam.m3u Latin America and the Caribbean2039https://iptv-org.github.io/iptv/regions/lac.m3u - Maghreb90https://iptv-org.github.io/iptv/regions/maghreb.m3u + Maghreb89https://iptv-org.github.io/iptv/regions/maghreb.m3u Middle East806https://iptv-org.github.io/iptv/regions/mideast.m3u Middle East and North Africa835https://iptv-org.github.io/iptv/regions/mena.m3u Nordics112https://iptv-org.github.io/iptv/regions/nord.m3u @@ -875,9 +874,9 @@ Same thing, but split up into separate files: South America1258https://iptv-org.github.io/iptv/regions/southam.m3u South Asia404https://iptv-org.github.io/iptv/regions/sas.m3u Southeast Asia344https://iptv-org.github.io/iptv/regions/sea.m3u - Southern Europe1055https://iptv-org.github.io/iptv/regions/ser.m3u - Sub-Saharan Africa494https://iptv-org.github.io/iptv/regions/ssa.m3u - West Africa256https://iptv-org.github.io/iptv/regions/wafr.m3u + Southern Europe1056https://iptv-org.github.io/iptv/regions/ser.m3u + Sub-Saharan Africa493https://iptv-org.github.io/iptv/regions/ssa.m3u + West Africa255https://iptv-org.github.io/iptv/regions/wafr.m3u Western Europe782https://iptv-org.github.io/iptv/regions/wer.m3u Worldwide57https://iptv-org.github.io/iptv/regions/int.m3u Undefined2891https://iptv-org.github.io/iptv/regions/undefined.m3u From 968248ff4abe4369b971ca1b2ca53fbc32e55a05 Mon Sep 17 00:00:00 2001 From: "iptv-bot[bot]" <84861620+iptv-bot[bot]@users.noreply.github.com> Date: Fri, 11 Apr 2025 00:11:24 +0000 Subject: [PATCH 74/85] [Bot] Update /streams Committed by [iptv-bot](https://github.com/apps/iptv-bot) via [update](https://github.com/iptv-org/iptv/actions/runs/14392685047) workflow. closes #21071, closes #21069, closes #21034, closes #21072, closes #21070, closes #21068, closes #21067, closes #21065, closes #21039, closes #21036 --- streams/kz.m3u | 2 ++ streams/mc.m3u | 2 -- streams/tr.m3u | 18 ++++++++++++------ 3 files changed, 14 insertions(+), 8 deletions(-) diff --git a/streams/kz.m3u b/streams/kz.m3u index ff46dbaf9..e5e164eb2 100644 --- a/streams/kz.m3u +++ b/streams/kz.m3u @@ -61,3 +61,5 @@ https://tvcdn01.oktv.kz/tv/mtrk/playlist.m3u8 http://serv25.vintera.tv:8081/novoetv/nov_tv/playlist.m3u8 #EXTINF:-1 tvg-id="ChannelOneEurasia.kz",Первый канал Евразия (720p) https://1tvkz-stream.daitsuna.net/1tvkz/1tvkz/playlist.m3u8 +#EXTINF:-1 tvg-id="MuzzOne.kz",MuzzOne (1080p) +https://streams.qazcdn.net/muzzone/muzzone/playlist_dvr.m3u8 diff --git a/streams/mc.m3u b/streams/mc.m3u index 1c2085c81..7377e229c 100644 --- a/streams/mc.m3u +++ b/streams/mc.m3u @@ -1,6 +1,4 @@ #EXTM3U -#EXTINF:-1 tvg-id="MonacoInfo.mc",Monaco Info (720p) [Not 24/7] -https://webtvmonacoinfo.mc/live/prod_720/index.m3u8 #EXTINF:-1 tvg-id="SuperyachtTV.mc",Superyacht TV (1080p) https://sy.wns.live/hls/stream.m3u8 #EXTINF:-1 tvg-id="TVMonaco.mc",TV Monaco (1080p) diff --git a/streams/tr.m3u b/streams/tr.m3u index 088cd7ede..25d22ce0b 100644 --- a/streams/tr.m3u +++ b/streams/tr.m3u @@ -72,10 +72,6 @@ https://live.al-zahratv.com/live/playlist.m3u8 https://api-tv3.yayin.com.tr/postatv/postatv/playlist.m3u8 #EXTINF:-1 tvg-id="AlmahriahTV.tr",Almahriah TV (576p) https://starmenajo.com/hls/almahriah/index.m3u8 -#EXTINF:-1 tvg-id="AltasTV.tr",ALTAS TV (720p) [Not 24/7] -http://stream.taksimbilisim.com:1935/altastv/bant1/playlist.m3u8 -#EXTINF:-1 tvg-id="AltasTV.tr",ALTAŞ TV (720p) [Not 24/7] -https://edge1.socialsmart.tv/altastv/bant1/index.m3u8 #EXTINF:-1 tvg-id="AnadoluDernekTV.tr",Anadolu Dernek TV (576p) http://185.234.111.229:8000/play/a020 #EXTINF:-1 tvg-id="AnadoluNetTV.tr",Anadolu Net TV (1080p) @@ -230,8 +226,6 @@ https://live.duhnet.tv/S2/HLS_LIVE/eurodnp/playlist.m3u8 http://185.234.111.229:8000/play/a01h #EXTINF:-1 tvg-id="EuroStar.tr",EuroStar TV (1080p) https://canlitvulusal.xyz/live/eurostar/index.m3u8 -#EXTINF:-1 tvg-id="FinansTurkTV.tr",Finans Turk TV (720p) -https://vdo.digitalbox.xyz:3588/live/finansturktvlive.m3u8 #EXTINF:-1 tvg-id="FlashTV.tr",Flash TV (720p) https://mn-nl.mncdn.com/blutv_flashtv/live.m3u8 #EXTINF:-1 tvg-id="FortunaTV.tr",Fortuna TV @@ -814,3 +808,15 @@ https://saran-live.ercdn.net/natgeohd/index.m3u8 https://lbl.netmedya.net/hls/lalegultv.m3u8 #EXTINF:-1 tvg-id="FX.tr",FX (1080p) [Geo-blocked] https://saran-live.ercdn.net/fx/index.m3u8 +#EXTINF:-1 tvg-id="CanTV.tr",Can TV (720p) +https://livetv.canbroadcast.com:7443/canlican/tv.m3u8 +#EXTINF:-1 tvg-id="AltasTV.tr",Altas TV (1080p) +https://edge1.socialsmart.tv/altastv/bant1/playlist.m3u8 +#EXTINF:-1 tvg-id="FinansTurkTV.tr",Finans Turk TV (720p) +https://yayin30.haber100.com/live/finansturk/playlist.m3u8 +#EXTINF:-1 tvg-id="AfroturkTV.tr",Afroturk TV (1080p) +https://edge.socialsmart.tv/naturaltv/bant1/playlist.m3u8 +#EXTINF:-1 tvg-id="NationalGeographicWild.tr",National Geographic Wild (1080p) [Geo-blocked] +https://saran-live.ercdn.net/natgeowild/index.m3u8 +#EXTINF:-1 tvg-id="NationalGeographicWild.tr",National Geographic Wild (720p) +https://tv.arectv29.sbs/live/natgeowild.m3u8 From bb4e4e994a56c480fb9d93da5a842dde870c0574 Mon Sep 17 00:00:00 2001 From: "iptv-bot[bot]" <84861620+iptv-bot[bot]@users.noreply.github.com> Date: Fri, 11 Apr 2025 00:11:24 +0000 Subject: [PATCH 75/85] [Bot] Update README.md Committed by [iptv-bot](https://github.com/apps/iptv-bot) via [update](https://github.com/iptv-org/iptv/actions/runs/14392685047) workflow. --- README.md | 156 +++++++++++++++++++++++++++--------------------------- 1 file changed, 78 insertions(+), 78 deletions(-) diff --git a/README.md b/README.md index ae295239c..742016174 100644 --- a/README.md +++ b/README.md @@ -65,12 +65,12 @@ Same thing, but split up into separate files: Education153https://iptv-org.github.io/iptv/categories/education.m3u Entertainment547https://iptv-org.github.io/iptv/categories/entertainment.m3u Family35https://iptv-org.github.io/iptv/categories/family.m3u - General2341https://iptv-org.github.io/iptv/categories/general.m3u + General2342https://iptv-org.github.io/iptv/categories/general.m3u Kids182https://iptv-org.github.io/iptv/categories/kids.m3u Legislative192https://iptv-org.github.io/iptv/categories/legislative.m3u Lifestyle79https://iptv-org.github.io/iptv/categories/lifestyle.m3u Movies236https://iptv-org.github.io/iptv/categories/movies.m3u - Music658https://iptv-org.github.io/iptv/categories/music.m3u + Music659https://iptv-org.github.io/iptv/categories/music.m3u News765https://iptv-org.github.io/iptv/categories/news.m3u Outdoor41https://iptv-org.github.io/iptv/categories/outdoor.m3u Relax2https://iptv-org.github.io/iptv/categories/relax.m3u @@ -150,7 +150,7 @@ Same thing, but split up into separate files: Dutch188https://iptv-org.github.io/iptv/languages/nld.m3u Dyula1https://iptv-org.github.io/iptv/languages/dyu.m3u Egyptian Arabic2https://iptv-org.github.io/iptv/languages/arz.m3u - English2112https://iptv-org.github.io/iptv/languages/eng.m3u + English2114https://iptv-org.github.io/iptv/languages/eng.m3u Estonian9https://iptv-org.github.io/iptv/languages/est.m3u Ewe2https://iptv-org.github.io/iptv/languages/ewe.m3u Faroese1https://iptv-org.github.io/iptv/languages/fao.m3u @@ -158,7 +158,7 @@ Same thing, but split up into separate files: Filipino1https://iptv-org.github.io/iptv/languages/fil.m3u Finnish23https://iptv-org.github.io/iptv/languages/fin.m3u Fon3https://iptv-org.github.io/iptv/languages/fon.m3u - French420https://iptv-org.github.io/iptv/languages/fra.m3u + French421https://iptv-org.github.io/iptv/languages/fra.m3u Fulah2https://iptv-org.github.io/iptv/languages/ful.m3u Gaelic2https://iptv-org.github.io/iptv/languages/gla.m3u Galician13https://iptv-org.github.io/iptv/languages/glg.m3u @@ -191,7 +191,7 @@ Same thing, but split up into separate files: Kabyle1https://iptv-org.github.io/iptv/languages/kab.m3u Kannada11https://iptv-org.github.io/iptv/languages/kan.m3u Kapampangan1https://iptv-org.github.io/iptv/languages/pam.m3u - Kazakh28https://iptv-org.github.io/iptv/languages/kaz.m3u + Kazakh29https://iptv-org.github.io/iptv/languages/kaz.m3u Khmer22https://iptv-org.github.io/iptv/languages/khm.m3u Khorasani Turkish1https://iptv-org.github.io/iptv/languages/kmz.m3u Kinyarwanda7https://iptv-org.github.io/iptv/languages/kin.m3u @@ -242,7 +242,7 @@ Same thing, but split up into separate files: Romanian127https://iptv-org.github.io/iptv/languages/ron.m3u Romany1https://iptv-org.github.io/iptv/languages/rom.m3u Rundi1https://iptv-org.github.io/iptv/languages/run.m3u - Russian278https://iptv-org.github.io/iptv/languages/rus.m3u + Russian279https://iptv-org.github.io/iptv/languages/rus.m3u Saint Lucian Creole French2https://iptv-org.github.io/iptv/languages/acf.m3u Samoan2https://iptv-org.github.io/iptv/languages/smo.m3u Santali1https://iptv-org.github.io/iptv/languages/sat.m3u @@ -314,10 +314,10 @@ Same thing, but split up into separate files: 🇦🇫 Afghanistan31https://iptv-org.github.io/iptv/countries/af.m3u 🇦🇱 Albania42https://iptv-org.github.io/iptv/countries/al.m3u - 🇩🇿 Algeria70https://iptv-org.github.io/iptv/countries/dz.m3u + 🇩🇿 Algeria71https://iptv-org.github.io/iptv/countries/dz.m3u 🇦🇸 American Samoa5https://iptv-org.github.io/iptv/countries/as.m3u 🇦🇩 Andorra34https://iptv-org.github.io/iptv/countries/ad.m3u - 🇦🇴 Angola26https://iptv-org.github.io/iptv/countries/ao.m3u + 🇦🇴 Angola27https://iptv-org.github.io/iptv/countries/ao.m3u 🇦🇮 Anguilla12https://iptv-org.github.io/iptv/countries/ai.m3u 🇦🇬 Antigua and Barbuda13https://iptv-org.github.io/iptv/countries/ag.m3u 🇦🇷 Argentina222https://iptv-org.github.io/iptv/countries/ar.m3u @@ -355,7 +355,7 @@ Same thing, but split up into separate files: 🇧🇾 Belarus50https://iptv-org.github.io/iptv/countries/by.m3u 🇧🇪 Belgium71https://iptv-org.github.io/iptv/countries/be.m3u 🇧🇿 Belize9https://iptv-org.github.io/iptv/countries/bz.m3u - 🇧🇯 Benin32https://iptv-org.github.io/iptv/countries/bj.m3u + 🇧🇯 Benin33https://iptv-org.github.io/iptv/countries/bj.m3u 🇧🇲 Bermuda7https://iptv-org.github.io/iptv/countries/bm.m3u 🇧🇹 Bhutan5https://iptv-org.github.io/iptv/countries/bt.m3u 🇧🇴 Bolivia127https://iptv-org.github.io/iptv/countries/bo.m3u @@ -365,7 +365,7 @@ Same thing, but split up into separate files:       Santa Cruz2https://iptv-org.github.io/iptv/subdivisions/bo-s.m3u 🇧🇶 Bonaire5https://iptv-org.github.io/iptv/countries/bq.m3u 🇧🇦 Bosnia and Herzegovina46https://iptv-org.github.io/iptv/countries/ba.m3u - 🇧🇼 Botswana23https://iptv-org.github.io/iptv/countries/bw.m3u + 🇧🇼 Botswana24https://iptv-org.github.io/iptv/countries/bw.m3u 🇧🇻 Bouvet Island5https://iptv-org.github.io/iptv/countries/bv.m3u 🇧🇷 Brazil298https://iptv-org.github.io/iptv/countries/br.m3u       Alagoas3https://iptv-org.github.io/iptv/subdivisions/br-al.m3u @@ -392,10 +392,10 @@ Same thing, but split up into separate files: 🇻🇬 British Virgin Islands14https://iptv-org.github.io/iptv/countries/vg.m3u 🇧🇳 Brunei17https://iptv-org.github.io/iptv/countries/bn.m3u 🇧🇬 Bulgaria69https://iptv-org.github.io/iptv/countries/bg.m3u - 🇧🇫 Burkina Faso28https://iptv-org.github.io/iptv/countries/bf.m3u - 🇧🇮 Burundi23https://iptv-org.github.io/iptv/countries/bi.m3u + 🇧🇫 Burkina Faso29https://iptv-org.github.io/iptv/countries/bf.m3u + 🇧🇮 Burundi24https://iptv-org.github.io/iptv/countries/bi.m3u 🇰🇭 Cambodia35https://iptv-org.github.io/iptv/countries/kh.m3u - 🇨🇲 Cameroon54https://iptv-org.github.io/iptv/countries/cm.m3u + 🇨🇲 Cameroon55https://iptv-org.github.io/iptv/countries/cm.m3u 🇨🇦 Canada171https://iptv-org.github.io/iptv/countries/ca.m3u       Alberta5https://iptv-org.github.io/iptv/subdivisions/ca-ab.m3u       British Columbia5https://iptv-org.github.io/iptv/subdivisions/ca-bc.m3u @@ -409,10 +409,10 @@ Same thing, but split up into separate files:       Prince Edward Island1https://iptv-org.github.io/iptv/subdivisions/ca-pe.m3u       Quebec15https://iptv-org.github.io/iptv/subdivisions/ca-qc.m3u       Saskatchewan2https://iptv-org.github.io/iptv/subdivisions/ca-sk.m3u - 🇨🇻 Cape Verde27https://iptv-org.github.io/iptv/countries/cv.m3u + 🇨🇻 Cape Verde28https://iptv-org.github.io/iptv/countries/cv.m3u 🇰🇾 Cayman Islands12https://iptv-org.github.io/iptv/countries/ky.m3u - 🇨🇫 Central African Republic22https://iptv-org.github.io/iptv/countries/cf.m3u - 🇹🇩 Chad23https://iptv-org.github.io/iptv/countries/td.m3u + 🇨🇫 Central African Republic23https://iptv-org.github.io/iptv/countries/cf.m3u + 🇹🇩 Chad24https://iptv-org.github.io/iptv/countries/td.m3u 🇨🇱 Chile265https://iptv-org.github.io/iptv/countries/cl.m3u       Atacama1https://iptv-org.github.io/iptv/subdivisions/cl-at.m3u       Biobio3https://iptv-org.github.io/iptv/subdivisions/cl-bi.m3u @@ -441,7 +441,7 @@ Same thing, but split up into separate files:       San Andres, Providencia y Santa Catalina1https://iptv-org.github.io/iptv/subdivisions/co-sap.m3u       Tolima1https://iptv-org.github.io/iptv/subdivisions/co-tol.m3u       Valle del Cauca5https://iptv-org.github.io/iptv/subdivisions/co-vac.m3u - 🇰🇲 Comoros59https://iptv-org.github.io/iptv/countries/km.m3u + 🇰🇲 Comoros60https://iptv-org.github.io/iptv/countries/km.m3u 🇨🇰 Cook Islands5https://iptv-org.github.io/iptv/countries/ck.m3u 🇨🇷 Costa Rica136https://iptv-org.github.io/iptv/countries/cr.m3u       Puntarenas1https://iptv-org.github.io/iptv/subdivisions/cr-p.m3u @@ -451,9 +451,9 @@ Same thing, but split up into separate files: 🇨🇼 Curacao18https://iptv-org.github.io/iptv/countries/cw.m3u 🇨🇾 Cyprus73https://iptv-org.github.io/iptv/countries/cy.m3u 🇨🇿 Czech Republic72https://iptv-org.github.io/iptv/countries/cz.m3u - 🇨🇩 Democratic Republic of the Congo59https://iptv-org.github.io/iptv/countries/cd.m3u + 🇨🇩 Democratic Republic of the Congo60https://iptv-org.github.io/iptv/countries/cd.m3u 🇩🇰 Denmark58https://iptv-org.github.io/iptv/countries/dk.m3u - 🇩🇯 Djibouti62https://iptv-org.github.io/iptv/countries/dj.m3u + 🇩🇯 Djibouti63https://iptv-org.github.io/iptv/countries/dj.m3u 🇩🇲 Dominica13https://iptv-org.github.io/iptv/countries/dm.m3u 🇩🇴 Dominican Republic251https://iptv-org.github.io/iptv/countries/do.m3u       Distrito Nacional (Santo Domingo)2https://iptv-org.github.io/iptv/subdivisions/do-01.m3u @@ -470,12 +470,12 @@ Same thing, but split up into separate files:       Azuay1https://iptv-org.github.io/iptv/subdivisions/ec-a.m3u       Loja2https://iptv-org.github.io/iptv/subdivisions/ec-l.m3u       Orellana1https://iptv-org.github.io/iptv/subdivisions/ec-d.m3u - 🇪🇬 Egypt91https://iptv-org.github.io/iptv/countries/eg.m3u + 🇪🇬 Egypt92https://iptv-org.github.io/iptv/countries/eg.m3u 🇸🇻 El Salvador99https://iptv-org.github.io/iptv/countries/sv.m3u - 🇬🇶 Equatorial Guinea26https://iptv-org.github.io/iptv/countries/gq.m3u - 🇪🇷 Eritrea22https://iptv-org.github.io/iptv/countries/er.m3u + 🇬🇶 Equatorial Guinea27https://iptv-org.github.io/iptv/countries/gq.m3u + 🇪🇷 Eritrea23https://iptv-org.github.io/iptv/countries/er.m3u 🇪🇪 Estonia66https://iptv-org.github.io/iptv/countries/ee.m3u - 🇪🇹 Ethiopia26https://iptv-org.github.io/iptv/countries/et.m3u + 🇪🇹 Ethiopia27https://iptv-org.github.io/iptv/countries/et.m3u 🇫🇰 Falkland Islands5https://iptv-org.github.io/iptv/countries/fk.m3u 🇫🇴 Faroe Islands1https://iptv-org.github.io/iptv/countries/fo.m3u 🇫🇯 Fiji6https://iptv-org.github.io/iptv/countries/fj.m3u @@ -485,12 +485,12 @@ Same thing, but split up into separate files: 🇫🇷 France155https://iptv-org.github.io/iptv/countries/fr.m3u 🇬🇫 French Guiana18https://iptv-org.github.io/iptv/countries/gf.m3u 🇵🇫 French Polynesia6https://iptv-org.github.io/iptv/countries/pf.m3u - 🇹🇫 French Southern Territories22https://iptv-org.github.io/iptv/countries/tf.m3u - 🇬🇦 Gabon27https://iptv-org.github.io/iptv/countries/ga.m3u - 🇬🇲 Gambia23https://iptv-org.github.io/iptv/countries/gm.m3u + 🇹🇫 French Southern Territories23https://iptv-org.github.io/iptv/countries/tf.m3u + 🇬🇦 Gabon28https://iptv-org.github.io/iptv/countries/ga.m3u + 🇬🇲 Gambia24https://iptv-org.github.io/iptv/countries/gm.m3u 🇬🇪 Georgia37https://iptv-org.github.io/iptv/countries/ge.m3u 🇩🇪 Germany249https://iptv-org.github.io/iptv/countries/de.m3u - 🇬🇭 Ghana41https://iptv-org.github.io/iptv/countries/gh.m3u + 🇬🇭 Ghana42https://iptv-org.github.io/iptv/countries/gh.m3u 🇬🇷 Greece146https://iptv-org.github.io/iptv/countries/gr.m3u       Attiki10https://iptv-org.github.io/iptv/subdivisions/gr-i.m3u       Dytiki Ellada5https://iptv-org.github.io/iptv/subdivisions/gr-g.m3u @@ -515,8 +515,8 @@ Same thing, but split up into separate files:       Santa Rosa1https://iptv-org.github.io/iptv/subdivisions/gt-06.m3u       Solola4https://iptv-org.github.io/iptv/subdivisions/gt-07.m3u       Totonicapan1https://iptv-org.github.io/iptv/subdivisions/gt-08.m3u - 🇬🇳 Guinea34https://iptv-org.github.io/iptv/countries/gn.m3u - 🇬🇼 Guinea-Bissau22https://iptv-org.github.io/iptv/countries/gw.m3u + 🇬🇳 Guinea35https://iptv-org.github.io/iptv/countries/gn.m3u + 🇬🇼 Guinea-Bissau23https://iptv-org.github.io/iptv/countries/gw.m3u 🇬🇾 Guyana18https://iptv-org.github.io/iptv/countries/gy.m3u 🇭🇹 Haiti44https://iptv-org.github.io/iptv/countries/ht.m3u 🇭🇳 Honduras138https://iptv-org.github.io/iptv/countries/hn.m3u @@ -560,7 +560,7 @@ Same thing, but split up into separate files: 🇮🇱 Israel22https://iptv-org.github.io/iptv/countries/il.m3u 🇮🇹 Italy324https://iptv-org.github.io/iptv/countries/it.m3u       Trentino-Alto Adige3https://iptv-org.github.io/iptv/subdivisions/it-32.m3u - 🇨🇮 Ivory Coast51https://iptv-org.github.io/iptv/countries/ci.m3u + 🇨🇮 Ivory Coast52https://iptv-org.github.io/iptv/countries/ci.m3u 🇯🇲 Jamaica19https://iptv-org.github.io/iptv/countries/jm.m3u 🇯🇵 Japan68https://iptv-org.github.io/iptv/countries/jp.m3u       Chiba2https://iptv-org.github.io/iptv/subdivisions/jp-12.m3u @@ -572,8 +572,8 @@ Same thing, but split up into separate files:       Tochigi1https://iptv-org.github.io/iptv/subdivisions/jp-09.m3u       Tokyo1https://iptv-org.github.io/iptv/subdivisions/jp-13.m3u 🇯🇴 Jordan68https://iptv-org.github.io/iptv/countries/jo.m3u - 🇰🇿 Kazakhstan69https://iptv-org.github.io/iptv/countries/kz.m3u - 🇰🇪 Kenya62https://iptv-org.github.io/iptv/countries/ke.m3u + 🇰🇿 Kazakhstan70https://iptv-org.github.io/iptv/countries/kz.m3u + 🇰🇪 Kenya63https://iptv-org.github.io/iptv/countries/ke.m3u 🇰🇮 Kiribati5https://iptv-org.github.io/iptv/countries/ki.m3u 🇽🇰 Kosovo10https://iptv-org.github.io/iptv/countries/xk.m3u 🇰🇼 Kuwait53https://iptv-org.github.io/iptv/countries/kw.m3u @@ -581,24 +581,24 @@ Same thing, but split up into separate files: 🇱🇦 Laos24https://iptv-org.github.io/iptv/countries/la.m3u 🇱🇻 Latvia58https://iptv-org.github.io/iptv/countries/lv.m3u 🇱🇧 Lebanon69https://iptv-org.github.io/iptv/countries/lb.m3u - 🇱🇸 Lesotho22https://iptv-org.github.io/iptv/countries/ls.m3u - 🇱🇷 Liberia23https://iptv-org.github.io/iptv/countries/lr.m3u - 🇱🇾 Libya69https://iptv-org.github.io/iptv/countries/ly.m3u + 🇱🇸 Lesotho23https://iptv-org.github.io/iptv/countries/ls.m3u + 🇱🇷 Liberia24https://iptv-org.github.io/iptv/countries/lr.m3u + 🇱🇾 Libya70https://iptv-org.github.io/iptv/countries/ly.m3u 🇱🇮 Liechtenstein31https://iptv-org.github.io/iptv/countries/li.m3u 🇱🇹 Lithuania48https://iptv-org.github.io/iptv/countries/lt.m3u 🇱🇺 Luxembourg57https://iptv-org.github.io/iptv/countries/lu.m3u 🇲🇴 Macao7https://iptv-org.github.io/iptv/countries/mo.m3u - 🇲🇬 Madagascar22https://iptv-org.github.io/iptv/countries/mg.m3u - 🇲🇼 Malawi25https://iptv-org.github.io/iptv/countries/mw.m3u + 🇲🇬 Madagascar23https://iptv-org.github.io/iptv/countries/mg.m3u + 🇲🇼 Malawi26https://iptv-org.github.io/iptv/countries/mw.m3u 🇲🇾 Malaysia32https://iptv-org.github.io/iptv/countries/my.m3u 🇲🇻 Maldives15https://iptv-org.github.io/iptv/countries/mv.m3u - 🇲🇱 Mali28https://iptv-org.github.io/iptv/countries/ml.m3u + 🇲🇱 Mali29https://iptv-org.github.io/iptv/countries/ml.m3u 🇲🇹 Malta46https://iptv-org.github.io/iptv/countries/mt.m3u 🇲🇭 Marshall Islands5https://iptv-org.github.io/iptv/countries/mh.m3u 🇲🇶 Martinique24https://iptv-org.github.io/iptv/countries/mq.m3u - 🇲🇷 Mauritania61https://iptv-org.github.io/iptv/countries/mr.m3u - 🇲🇺 Mauritius23https://iptv-org.github.io/iptv/countries/mu.m3u - 🇾🇹 Mayotte23https://iptv-org.github.io/iptv/countries/yt.m3u + 🇲🇷 Mauritania62https://iptv-org.github.io/iptv/countries/mr.m3u + 🇲🇺 Mauritius24https://iptv-org.github.io/iptv/countries/mu.m3u + 🇾🇹 Mayotte24https://iptv-org.github.io/iptv/countries/yt.m3u 🇲🇽 Mexico253https://iptv-org.github.io/iptv/countries/mx.m3u       Chihuahua2https://iptv-org.github.io/iptv/subdivisions/mx-chh.m3u       Coahuila de Zaragoza1https://iptv-org.github.io/iptv/subdivisions/mx-coa.m3u @@ -617,18 +617,18 @@ Same thing, but split up into separate files: 🇲🇪 Montenegro36https://iptv-org.github.io/iptv/countries/me.m3u       Ulcinj1https://iptv-org.github.io/iptv/subdivisions/me-20.m3u 🇲🇸 Montserrat12https://iptv-org.github.io/iptv/countries/ms.m3u - 🇲🇦 Morocco74https://iptv-org.github.io/iptv/countries/ma.m3u - 🇲🇿 Mozambique26https://iptv-org.github.io/iptv/countries/mz.m3u + 🇲🇦 Morocco75https://iptv-org.github.io/iptv/countries/ma.m3u + 🇲🇿 Mozambique27https://iptv-org.github.io/iptv/countries/mz.m3u 🇲🇲 Myanmar21https://iptv-org.github.io/iptv/countries/mm.m3u - 🇳🇦 Namibia23https://iptv-org.github.io/iptv/countries/na.m3u + 🇳🇦 Namibia24https://iptv-org.github.io/iptv/countries/na.m3u 🇳🇷 Nauru5https://iptv-org.github.io/iptv/countries/nr.m3u 🇳🇵 Nepal17https://iptv-org.github.io/iptv/countries/np.m3u 🇳🇱 Netherlands196https://iptv-org.github.io/iptv/countries/nl.m3u 🇳🇨 New Caledonia5https://iptv-org.github.io/iptv/countries/nc.m3u 🇳🇿 New Zealand24https://iptv-org.github.io/iptv/countries/nz.m3u 🇳🇮 Nicaragua81https://iptv-org.github.io/iptv/countries/ni.m3u - 🇳🇪 Niger24https://iptv-org.github.io/iptv/countries/ne.m3u - 🇳🇬 Nigeria81https://iptv-org.github.io/iptv/countries/ng.m3u + 🇳🇪 Niger25https://iptv-org.github.io/iptv/countries/ne.m3u + 🇳🇬 Nigeria82https://iptv-org.github.io/iptv/countries/ng.m3u 🇳🇺 Niue5https://iptv-org.github.io/iptv/countries/nu.m3u 🇳🇫 Norfolk Island5https://iptv-org.github.io/iptv/countries/nf.m3u 🇰🇵 North Korea5https://iptv-org.github.io/iptv/countries/kp.m3u @@ -669,15 +669,15 @@ Same thing, but split up into separate files: 🇵🇹 Portugal83https://iptv-org.github.io/iptv/countries/pt.m3u 🇵🇷 Puerto Rico99https://iptv-org.github.io/iptv/countries/pr.m3u 🇶🇦 Qatar54https://iptv-org.github.io/iptv/countries/qa.m3u - 🇨🇬 Republic of the Congo32https://iptv-org.github.io/iptv/countries/cg.m3u + 🇨🇬 Republic of the Congo33https://iptv-org.github.io/iptv/countries/cg.m3u       Brazzaville1https://iptv-org.github.io/iptv/subdivisions/cg-bzv.m3u - 🇷🇪 Reunion23https://iptv-org.github.io/iptv/countries/re.m3u + 🇷🇪 Reunion24https://iptv-org.github.io/iptv/countries/re.m3u 🇷🇴 Romania143https://iptv-org.github.io/iptv/countries/ro.m3u       Gorj1https://iptv-org.github.io/iptv/subdivisions/ro-gj.m3u 🇷🇺 Russia228https://iptv-org.github.io/iptv/countries/ru.m3u - 🇷🇼 Rwanda30https://iptv-org.github.io/iptv/countries/rw.m3u + 🇷🇼 Rwanda31https://iptv-org.github.io/iptv/countries/rw.m3u 🇧🇱 Saint Barthélemy20https://iptv-org.github.io/iptv/countries/bl.m3u - 🇸🇭 Saint Helena22https://iptv-org.github.io/iptv/countries/sh.m3u + 🇸🇭 Saint Helena23https://iptv-org.github.io/iptv/countries/sh.m3u 🇰🇳 Saint Kitts and Nevis13https://iptv-org.github.io/iptv/countries/kn.m3u 🇱🇨 Saint Lucia13https://iptv-org.github.io/iptv/countries/lc.m3u 🇲🇫 Saint Martin20https://iptv-org.github.io/iptv/countries/mf.m3u @@ -685,19 +685,19 @@ Same thing, but split up into separate files: 🇻🇨 Saint Vincent and the Grenadines12https://iptv-org.github.io/iptv/countries/vc.m3u 🇼🇸 Samoa7https://iptv-org.github.io/iptv/countries/ws.m3u 🇸🇲 San Marino30https://iptv-org.github.io/iptv/countries/sm.m3u - 🇸🇹 Sao Tome and Principe23https://iptv-org.github.io/iptv/countries/st.m3u + 🇸🇹 Sao Tome and Principe24https://iptv-org.github.io/iptv/countries/st.m3u 🇸🇦 Saudi Arabia90https://iptv-org.github.io/iptv/countries/sa.m3u - 🇸🇳 Senegal53https://iptv-org.github.io/iptv/countries/sn.m3u + 🇸🇳 Senegal54https://iptv-org.github.io/iptv/countries/sn.m3u 🇷🇸 Serbia69https://iptv-org.github.io/iptv/countries/rs.m3u - 🇸🇨 Seychelles22https://iptv-org.github.io/iptv/countries/sc.m3u - 🇸🇱 Sierra Leone24https://iptv-org.github.io/iptv/countries/sl.m3u + 🇸🇨 Seychelles23https://iptv-org.github.io/iptv/countries/sc.m3u + 🇸🇱 Sierra Leone25https://iptv-org.github.io/iptv/countries/sl.m3u 🇸🇬 Singapore21https://iptv-org.github.io/iptv/countries/sg.m3u 🇸🇽 Sint Maarten18https://iptv-org.github.io/iptv/countries/sx.m3u 🇸🇰 Slovakia92https://iptv-org.github.io/iptv/countries/sk.m3u 🇸🇮 Slovenia56https://iptv-org.github.io/iptv/countries/si.m3u 🇸🇧 Solomon Islands5https://iptv-org.github.io/iptv/countries/sb.m3u - 🇸🇴 Somalia68https://iptv-org.github.io/iptv/countries/so.m3u - 🇿🇦 South Africa60https://iptv-org.github.io/iptv/countries/za.m3u + 🇸🇴 Somalia69https://iptv-org.github.io/iptv/countries/so.m3u + 🇿🇦 South Africa61https://iptv-org.github.io/iptv/countries/za.m3u 🇬🇸 South Georgia and the South Sandwich Islands5https://iptv-org.github.io/iptv/countries/gs.m3u 🇰🇷 South Korea93https://iptv-org.github.io/iptv/countries/kr.m3u       Busan-gwangyeoksi2https://iptv-org.github.io/iptv/subdivisions/kr-26.m3u @@ -713,7 +713,7 @@ Same thing, but split up into separate files:       Jeollanam-do4https://iptv-org.github.io/iptv/subdivisions/kr-46.m3u       Seoul-teukbyeolsi1https://iptv-org.github.io/iptv/subdivisions/kr-11.m3u       Ulsan-gwangyeoksi1https://iptv-org.github.io/iptv/subdivisions/kr-31.m3u - 🇸🇸 South Sudan22https://iptv-org.github.io/iptv/countries/ss.m3u + 🇸🇸 South Sudan23https://iptv-org.github.io/iptv/countries/ss.m3u 🇪🇸 Spain341https://iptv-org.github.io/iptv/countries/es.m3u       Andalucia38https://iptv-org.github.io/iptv/subdivisions/es-an.m3u       Aragon1https://iptv-org.github.io/iptv/subdivisions/es-ar.m3u @@ -733,27 +733,27 @@ Same thing, but split up into separate files:       Pais Vasco6https://iptv-org.github.io/iptv/subdivisions/es-pv.m3u       Valenciana, Comunidad16https://iptv-org.github.io/iptv/subdivisions/es-vc.m3u 🇱🇰 Sri Lanka13https://iptv-org.github.io/iptv/countries/lk.m3u - 🇸🇩 Sudan65https://iptv-org.github.io/iptv/countries/sd.m3u + 🇸🇩 Sudan66https://iptv-org.github.io/iptv/countries/sd.m3u 🇸🇷 Suriname10https://iptv-org.github.io/iptv/countries/sr.m3u - 🇸🇿 Swaziland23https://iptv-org.github.io/iptv/countries/sz.m3u + 🇸🇿 Swaziland24https://iptv-org.github.io/iptv/countries/sz.m3u 🇸🇪 Sweden58https://iptv-org.github.io/iptv/countries/se.m3u 🇨🇭 Switzerland76https://iptv-org.github.io/iptv/countries/ch.m3u 🇸🇾 Syria46https://iptv-org.github.io/iptv/countries/sy.m3u 🇹🇼 Taiwan29https://iptv-org.github.io/iptv/countries/tw.m3u 🇹🇯 Tajikistan30https://iptv-org.github.io/iptv/countries/tj.m3u - 🇹🇿 Tanzania30https://iptv-org.github.io/iptv/countries/tz.m3u + 🇹🇿 Tanzania31https://iptv-org.github.io/iptv/countries/tz.m3u 🇹🇭 Thailand75https://iptv-org.github.io/iptv/countries/th.m3u - 🇹🇬 Togo35https://iptv-org.github.io/iptv/countries/tg.m3u + 🇹🇬 Togo36https://iptv-org.github.io/iptv/countries/tg.m3u 🇹🇰 Tokelau5https://iptv-org.github.io/iptv/countries/tk.m3u 🇹🇴 Tonga5https://iptv-org.github.io/iptv/countries/to.m3u 🇹🇹 Trinidad and Tobago18https://iptv-org.github.io/iptv/countries/tt.m3u - 🇹🇳 Tunisia65https://iptv-org.github.io/iptv/countries/tn.m3u + 🇹🇳 Tunisia66https://iptv-org.github.io/iptv/countries/tn.m3u 🇹🇷 Turkey281https://iptv-org.github.io/iptv/countries/tr.m3u 🇹🇲 Turkmenistan16https://iptv-org.github.io/iptv/countries/tm.m3u 🇹🇨 Turks and Caicos Islands12https://iptv-org.github.io/iptv/countries/tc.m3u 🇹🇻 Tuvalu5https://iptv-org.github.io/iptv/countries/tv.m3u 🇻🇮 U.S. Virgin Islands12https://iptv-org.github.io/iptv/countries/vi.m3u - 🇺🇬 Uganda50https://iptv-org.github.io/iptv/countries/ug.m3u + 🇺🇬 Uganda51https://iptv-org.github.io/iptv/countries/ug.m3u 🇺🇦 Ukraine92https://iptv-org.github.io/iptv/countries/ua.m3u 🇦🇪 United Arab Emirates88https://iptv-org.github.io/iptv/countries/ae.m3u 🇬🇧 United Kingdom175https://iptv-org.github.io/iptv/countries/uk.m3u @@ -814,10 +814,10 @@ Same thing, but split up into separate files:       Lara1https://iptv-org.github.io/iptv/subdivisions/ve-k.m3u 🇻🇳 Vietnam71https://iptv-org.github.io/iptv/countries/vn.m3u 🇼🇫 Wallis and Futuna5https://iptv-org.github.io/iptv/countries/wf.m3u - 🇪🇭 Western Sahara27https://iptv-org.github.io/iptv/countries/eh.m3u + 🇪🇭 Western Sahara28https://iptv-org.github.io/iptv/countries/eh.m3u 🇾🇪 Yemen46https://iptv-org.github.io/iptv/countries/ye.m3u - 🇿🇲 Zambia23https://iptv-org.github.io/iptv/countries/zm.m3u - 🇿🇼 Zimbabwe23https://iptv-org.github.io/iptv/countries/zw.m3u + 🇿🇲 Zambia24https://iptv-org.github.io/iptv/countries/zm.m3u + 🇿🇼 Zimbabwe24https://iptv-org.github.io/iptv/countries/zw.m3u Undefined2891https://iptv-org.github.io/iptv/countries/undefined.m3u @@ -844,10 +844,10 @@ Same thing, but split up into separate files: RegionChannelsPlaylist - Africa548https://iptv-org.github.io/iptv/regions/afr.m3u + Africa549https://iptv-org.github.io/iptv/regions/afr.m3u Americas3598https://iptv-org.github.io/iptv/regions/amer.m3u - Arab world401https://iptv-org.github.io/iptv/regions/arab.m3u - Asia2163https://iptv-org.github.io/iptv/regions/asia.m3u + Arab world402https://iptv-org.github.io/iptv/regions/arab.m3u + Asia2164https://iptv-org.github.io/iptv/regions/asia.m3u Asia-Pacific1137https://iptv-org.github.io/iptv/regions/apac.m3u Association of Southeast Asian Nations344https://iptv-org.github.io/iptv/regions/asean.m3u Balkan687https://iptv-org.github.io/iptv/regions/balkan.m3u @@ -855,17 +855,17 @@ Same thing, but split up into separate files: Caribbean365https://iptv-org.github.io/iptv/regions/carib.m3u Central America372https://iptv-org.github.io/iptv/regions/cenamer.m3u Central and Eastern Europe995https://iptv-org.github.io/iptv/regions/cee.m3u - Central Asia111https://iptv-org.github.io/iptv/regions/cas.m3u - Commonwealth of Independent States372https://iptv-org.github.io/iptv/regions/cis.m3u - Europe2867https://iptv-org.github.io/iptv/regions/eur.m3u - Europe, the Middle East and Africa3780https://iptv-org.github.io/iptv/regions/emea.m3u + Central Asia112https://iptv-org.github.io/iptv/regions/cas.m3u + Commonwealth of Independent States373https://iptv-org.github.io/iptv/regions/cis.m3u + Europe2868https://iptv-org.github.io/iptv/regions/eur.m3u + Europe, the Middle East and Africa3782https://iptv-org.github.io/iptv/regions/emea.m3u European Union1950https://iptv-org.github.io/iptv/regions/eu.m3u Hispanic America1680https://iptv-org.github.io/iptv/regions/hispam.m3u Latin America1995https://iptv-org.github.io/iptv/regions/latam.m3u Latin America and the Caribbean2039https://iptv-org.github.io/iptv/regions/lac.m3u - Maghreb89https://iptv-org.github.io/iptv/regions/maghreb.m3u - Middle East806https://iptv-org.github.io/iptv/regions/mideast.m3u - Middle East and North Africa835https://iptv-org.github.io/iptv/regions/mena.m3u + Maghreb90https://iptv-org.github.io/iptv/regions/maghreb.m3u + Middle East807https://iptv-org.github.io/iptv/regions/mideast.m3u + Middle East and North Africa836https://iptv-org.github.io/iptv/regions/mena.m3u Nordics112https://iptv-org.github.io/iptv/regions/nord.m3u North America2419https://iptv-org.github.io/iptv/regions/noram.m3u Northern America1581https://iptv-org.github.io/iptv/regions/nam.m3u @@ -875,8 +875,8 @@ Same thing, but split up into separate files: South Asia404https://iptv-org.github.io/iptv/regions/sas.m3u Southeast Asia344https://iptv-org.github.io/iptv/regions/sea.m3u Southern Europe1056https://iptv-org.github.io/iptv/regions/ser.m3u - Sub-Saharan Africa493https://iptv-org.github.io/iptv/regions/ssa.m3u - West Africa255https://iptv-org.github.io/iptv/regions/wafr.m3u + Sub-Saharan Africa494https://iptv-org.github.io/iptv/regions/ssa.m3u + West Africa256https://iptv-org.github.io/iptv/regions/wafr.m3u Western Europe782https://iptv-org.github.io/iptv/regions/wer.m3u Worldwide57https://iptv-org.github.io/iptv/regions/int.m3u Undefined2891https://iptv-org.github.io/iptv/regions/undefined.m3u From ddebf065b70881b8068f4a02aba1796f48da7dd7 Mon Sep 17 00:00:00 2001 From: "iptv-bot[bot]" <84861620+iptv-bot[bot]@users.noreply.github.com> Date: Sat, 12 Apr 2025 00:11:06 +0000 Subject: [PATCH 76/85] [Bot] Update /streams Committed by [iptv-bot](https://github.com/apps/iptv-bot) via [update](https://github.com/iptv-org/iptv/actions/runs/14414076577) workflow. From d17597616eb61f053c4c50677d317284212c87cf Mon Sep 17 00:00:00 2001 From: "iptv-bot[bot]" <84861620+iptv-bot[bot]@users.noreply.github.com> Date: Sat, 12 Apr 2025 00:11:06 +0000 Subject: [PATCH 77/85] [Bot] Update README.md Committed by [iptv-bot](https://github.com/apps/iptv-bot) via [update](https://github.com/iptv-org/iptv/actions/runs/14414076577) workflow. From bd6f081ea7c5ee3394aebfd953bd57531c274244 Mon Sep 17 00:00:00 2001 From: "iptv-bot[bot]" <84861620+iptv-bot[bot]@users.noreply.github.com> Date: Sun, 13 Apr 2025 00:36:02 +0000 Subject: [PATCH 78/85] [Bot] Update /streams Committed by [iptv-bot](https://github.com/apps/iptv-bot) via [update](https://github.com/iptv-org/iptv/actions/runs/14424556566) workflow. From 2d6ec3597141101c414a71bd8311d94627ea75e0 Mon Sep 17 00:00:00 2001 From: "iptv-bot[bot]" <84861620+iptv-bot[bot]@users.noreply.github.com> Date: Sun, 13 Apr 2025 00:36:02 +0000 Subject: [PATCH 79/85] [Bot] Update README.md Committed by [iptv-bot](https://github.com/apps/iptv-bot) via [update](https://github.com/iptv-org/iptv/actions/runs/14424556566) workflow. From 45d713af6a3b59d8df45f6af3c3c6d8e449069d7 Mon Sep 17 00:00:00 2001 From: "iptv-bot[bot]" <84861620+iptv-bot[bot]@users.noreply.github.com> Date: Mon, 14 Apr 2025 00:12:17 +0000 Subject: [PATCH 80/85] [Bot] Update /streams Committed by [iptv-bot](https://github.com/apps/iptv-bot) via [update](https://github.com/iptv-org/iptv/actions/runs/14434699821) workflow. closes #21107, closes #21078, closes #21023, closes #21016, closes #21015, closes #21014, closes #21103, closes #21102, closes #21099, closes #21098, closes #21097, closes #21096, closes #21095, closes #21094, closes #21093, closes #21092, closes #21091, closes #21090, closes #21087, closes #21083, closes #21082, closes #21081, closes #21079, closes #21077, closes #21030 --- streams/be_samsung.m3u | 8 -------- streams/bf.m3u | 8 -------- streams/bg.m3u | 12 ------------ streams/cn.m3u | 36 ------------------------------------ streams/ec.m3u | 4 ++-- streams/in.m3u | 8 ++++++++ streams/it.m3u | 2 ++ streams/pl.m3u | 26 ++++++++++++++++++++++++++ streams/us.m3u | 2 -- 9 files changed, 38 insertions(+), 68 deletions(-) diff --git a/streams/be_samsung.m3u b/streams/be_samsung.m3u index 7889da66f..c060b8134 100644 --- a/streams/be_samsung.m3u +++ b/streams/be_samsung.m3u @@ -1,13 +1,5 @@ #EXTM3U -#EXTINF:-1 tvg-id="AfricanewsFrench.fr",AfricaNews Français (720p) -https://rakuten-africanews-2-be.samsung.wurl.tv/manifest/playlist.m3u8 #EXTINF:-1 tvg-id="AFVFamily.us",AFV Family https://futuretoday-afv-family-2-be.samsung.wurl.tv/playlist.m3u8 #EXTINF:-1 tvg-id="BloombergQuicktake.us",Bloomberg Quicktake https://bloomberg-quicktake-1-be.samsung.wurl.tv/playlist.m3u8 -#EXTINF:-1 tvg-id="BloombergTV.us",Bloomberg TV -https://bloomberg-bloomberg-1-be.samsung.wurl.tv/playlist.m3u8 -#EXTINF:-1 tvg-id="EuronewsFrench.fr",Euronews -https://rakuten-euronews-10-be.samsung.wurl.tv/playlist.m3u8 -#EXTINF:-1 tvg-id="RakutenTVFamilyMovies.fr",Rakuten Family -https://rakuten-family-16-be.samsung.wurl.tv/playlist.m3u8 diff --git a/streams/bf.m3u b/streams/bf.m3u index 618ec8ab8..0f552635c 100644 --- a/streams/bf.m3u +++ b/streams/bf.m3u @@ -3,13 +3,5 @@ https://547f72e6652371c3.mediapackage.us-east-1.amazonaws.com/out/v1/7e66f389bec3463dac81e8d55e680431/index.m3u8 #EXTINF:-1 tvg-id="BurkinaInfoTV.bf",Burkina Info TV (540p) http://69.64.57.208/burkinainfo/index.m3u8 -#EXTINF:-1 tvg-id="ImpactTV.bf",Impact TV (360p) [Not 24/7] -https://edge20.vedge.infomaniak.com/livecast/ik:fluxtvimpact/manifest.m3u8 #EXTINF:-1 tvg-id="RTB.bf",RTB [Not 24/7] https://edge20.vedge.infomaniak.com/livecast/ik:rtblive1_8/manifest.m3u8 -#EXTINF:-1 tvg-id="RTB.bf",RTB (360p) [Not 24/7] -https://edge.vedge.infomaniak.com/livecast/ik:rtbtvlive1/manifest.m3u8 -#EXTINF:-1 tvg-id="RTBZenith.bf",RTB Zénith (360p) [Geo-blocked] -https://edge20.vedge.infomaniak.com/livecast/ik:zenith/playlist.m3u8 -#EXTINF:-1 tvg-id="TVAlHouda.bf",TV Al Houda (720p) [Not 24/7] -https://ssh101.bozztv.com/ssh101/alhoudatv/playlist.m3u8 diff --git a/streams/bg.m3u b/streams/bg.m3u index 0fef91b03..f1c8fa018 100644 --- a/streams/bg.m3u +++ b/streams/bg.m3u @@ -5,20 +5,12 @@ https://ms4.sedemosmi.tv/live/M3E5ajhtdjJkaXBscmZubmUxMmh1cjN1bjZrbm5wZW8/index. http://100automoto.tv:1935/bgtv1/autotv/playlist.m3u8 #EXTINF:-1 tvg-id="AgroTV.bg",Agro TV (480p) https://restr2.bgtv.bg/agro/hls/agro.m3u8 -#EXTINF:-1 tvg-id="b1bbox.bg",B1B Box (720p) -https://e105-ts.cdn.bg/b1b/fls/b1btv.stream/playlist.m3u8 #EXTINF:-1 tvg-id="BalkanikaTV.bg",Balkanika TV (270p) rtsp://stream.teracomm.bg/balkanika #EXTINF:-1 tvg-id="CityTV.bg",City TV (576p) [Not 24/7] https://tv.city.bg/play/tshls/citytv/index.m3u8 -#EXTINF:-1 tvg-id="CodeFashionTV.bg",Code Fashion TV (1080p) -https://cdn3.invivo.bg/Codefashion_5500/index.m3u8 -#EXTINF:-1 tvg-id="CodeHealthTV.bg",Code Health TV (1080p) -https://cdn3.invivo.bg/codehealth_test/index.m3u8 #EXTINF:-1 tvg-id="DSTV.bg",DSTV (614p) [Not 24/7] http://46.249.95.140:8081/hls/data.m3u8 -#EXTINF:-1 tvg-id="EuroFolkTV.bg",EuroFolk TV (720p) -https://eurofolk.cdn.netbadgers.com/bg040/bg041/bg041.m3u8 #EXTINF:-1 tvg-id="Eurocom.bg",Evrokom (360p) https://live.ecomservice.bg/hls/stream.m3u8 #EXTINF:-1 tvg-id="HopeChannelBulgaria.bg",Hope Channel Bulgaria @@ -48,11 +40,7 @@ https://streamer103.neterra.tv/tiankov-orient/live.m3u8 https://streamer103.neterra.tv/travel/live.m3u8 #EXTINF:-1 tvg-id="TV1.bg",TV 1 (720p) https://tv1.cloudcdn.bg:8081/stream.m3u8 -#EXTINF:-1 tvg-id="TVDarts.bg",TV Darts (576p) -https://streamer103.neterra.tv/darts/live.m3u8 #EXTINF:-1 tvg-id="TVZagora.bg",TV Zagora (576p) http://zagoratv.ddns.net:8080/tvzagora.m3u8 -#EXTINF:-1 tvg-id="TVart.bg",TVart (1080p) -https://stream.osc.bg/tvart/Stream3/playlist.m3u8 #EXTINF:-1 tvg-id="TVNBulgaria.bg",TVN-Bulgaria (1080p) https://obs.friendshipchurch.eu/tvn/mystream.m3u8 diff --git a/streams/cn.m3u b/streams/cn.m3u index 1a8c91b18..8be3fced0 100644 --- a/streams/cn.m3u +++ b/streams/cn.m3u @@ -25,46 +25,10 @@ http://49.113.179.174:4022/udp/238.125.3.121:5140 http://gslbservzqhsw.itv.cmvideo.cn/index.m3u8?Contentid=reallive-hdcctv1&channel-id=ystenlive&livemode=1&stbId=3 #EXTINF:-1 tvg-id="CCTV1.cn",CCTV1 (576p) http://117.161.133.51:81/gitv_live/G_CCTV-1/G_CCTV-1.m3u8 -#EXTINF:-1 tvg-id="CCTV2.cn",CCTV2 (1080p) -http://bl.dchwtq.asia:10000/rtp/239.69.1.102:10250 #EXTINF:-1 tvg-id="CCTV2.cn",CCTV2 (576p) http://117.161.133.51:81/gitv_live/G_CCTV-2/G_CCTV-2.m3u8 -#EXTINF:-1 tvg-id="CCTV3.cn",CCTV3 (1080p) -http://bl.dchwtq.asia:10000/rtp/239.69.1.122:10370 -#EXTINF:-1 tvg-id="",CCTV4 (1080p) -http://bl.dchwtq.asia:10000/rtp/239.69.1.138:10466 -#EXTINF:-1 tvg-id="CCTV5.cn",CCTV5 (1080p) -http://bl.dchwtq.asia:10000/rtp/239.69.1.123:10376 -#EXTINF:-1 tvg-id="CCTV5Plus.cn",CCTV5+ (1080p) -http://bl.dchwtq.asia:10000/rtp/239.254.96.234:9484 -#EXTINF:-1 tvg-id="CCTV6.cn",CCTV6 (1080p) -http://bl.dchwtq.asia:10000/rtp/239.69.1.124:10382 -#EXTINF:-1 tvg-id="CCTV7.cn",CCTV7 (1080p) -http://bl.dchwtq.asia:10000/rtp/239.69.1.103:10256 -#EXTINF:-1 tvg-id="CCTV8.cn",CCTV8 (1080p) -http://bl.dchwtq.asia:10000/rtp/239.69.1.125:10388 -#EXTINF:-1 tvg-id="CCTV9.cn",CCTV9 (1080p) -http://bl.dchwtq.asia:10000/rtp/239.69.1.104:10262 -#EXTINF:-1 tvg-id="CCTV10.cn",CCTV10 (1080p) -http://bl.dchwtq.asia:10000/rtp/239.69.1.105:10268 -#EXTINF:-1 tvg-id="CCTV11.cn",CCTV11 (1080p) -http://bl.dchwtq.asia:10000/rtp/239.69.1.154:10560 -#EXTINF:-1 tvg-id="CCTV12.cn",CCTV12 (1080p) -http://bl.dchwtq.asia:10000/rtp/239.69.1.106:10274 -#EXTINF:-1 tvg-id="CCTV13.cn",CCTV13 (1080p) -http://bl.dchwtq.asia:10000/rtp/239.254.96.161:9040 -#EXTINF:-1 tvg-id="CCTV14.cn",CCTV14 (1080p) -http://bl.dchwtq.asia:10000/rtp/239.69.1.107:10280 -#EXTINF:-1 tvg-id="CCTV15.cn",CCTV15 (1080p) -http://bl.dchwtq.asia:10000/rtp/239.69.1.155:10566 #EXTINF:-1 tvg-id="CCTV15.cn",CCTV15音乐 http://hwrr.jx.chinamobile.com:8080/PLTV/88888888/224/3221225641/index.m3u8 -#EXTINF:-1 tvg-id="CCTV16.cn",CCTV16 (1080p) -http://bl.dchwtq.asia:10000/rtp/239.69.1.247:11124 -#EXTINF:-1 tvg-id="",CCTV16-4K (2160p) -http://bl.dchwtq.asia:10000/rtp/239.69.1.249:11136 -#EXTINF:-1 tvg-id="CCTV17.cn",CCTV17 (1080p) -http://bl.dchwtq.asia:10000/rtp/239.69.1.152:10548 #EXTINF:-1 tvg-id="",CCTV TV Guide (576p) http://117.161.133.51:81/gitv_live/G_DIANSHIZN-CQ/G_DIANSHIZN-CQ.m3u8?p=GITV #EXTINF:-1 tvg-id="CCTVWorldGeography.cn",CCTV 世界地理 diff --git a/streams/ec.m3u b/streams/ec.m3u index a9144a5a9..e1e30dad8 100644 --- a/streams/ec.m3u +++ b/streams/ec.m3u @@ -130,8 +130,6 @@ https://ssh101-fl.bozztv.com/ssh101/scandalotv/index.m3u8 https://eu1.servers10.com:8081/8108/index.m3u8 #EXTINF:-1 tvg-id="SonoOndaTV.ec",Sono Onda TV (720p) https://live.obslivestream.com/sonoondatv/index.m3u8 -#EXTINF:-1 tvg-id="Teleamazonas.ec",Teleamazonas (1080p) [Geo-blocked] -https://teleamazonas-live.cdn.vustreams.com/live/0fc97608-6057-4db8-9af7-102c21ac18af/live.isml/0fc97608-6057-4db8-9af7-102c21ac18af.m3u8 #EXTINF:-1 tvg-id="Teledigital.ec",Teledigital (240p) [Not 24/7] https://tv.portalexpress.es:3182/hybrid/play.m3u8 #EXTINF:-1 tvg-id="Telerama.ec",Telerama (240p) [Not 24/7] @@ -154,3 +152,5 @@ https://cloud37.ecuatel.com/vostv/live/manifest.m3u8 https://video2.makrodigital.com/wuanplus/wuanplus/playlist.m3u8 #EXTINF:-1 tvg-id="ZaracayTV.ec",Zaracay TV (1080p) [Not 24/7] https://video2.makrodigital.com/zaracay/zaracay/playlist.m3u8 +#EXTINF:-1 tvg-id="Teleamazonas.ec",Teleamazonas (1080p) +https://teleamazonas-live.cdn.vustreams.com/live/fd4ab346-b4e3-4628-abf0-b5a1bc192428/live.isml/playlist.m3u8 diff --git a/streams/in.m3u b/streams/in.m3u index 7df60c618..b1d182004 100644 --- a/streams/in.m3u +++ b/streams/in.m3u @@ -678,3 +678,11 @@ http://183.89.246.119:8881/play/a09a/index.m3u8 http://103.81.104.118/hls/stream8.m3u8 #EXTINF:-1 tvg-id="ShowBox.in",ShowBox https://epiconvh.akamaized.net/live/showbox/master.m3u8 +#EXTINF:-1 tvg-id="RajTV.in",Raj TV +https://d3qs3d2rkhfqrt.cloudfront.net/out/v1/2839e3d1e0f84a2e821c1708d5fdfdf0/index.m3u8 +#EXTINF:-1 tvg-id="DDSahyadri.in",DD Sahyadri +https://d3qs3d2rkhfqrt.cloudfront.net/out/v1/66dcc3ebe182447ba42837e746cf0c7c/index.m3u8 +#EXTINF:-1 tvg-id="DDSaptagiri.in",DD Saptagiri +https://d2lk5u59tns74c.cloudfront.net/out/v1/26e915d6d12b4a06822c5e33c088ed56/index.m3u8 +#EXTINF:-1 tvg-id="DDHaryana.in",DD Haryana +https://d2lk5u59tns74c.cloudfront.net/out/v1/950fc69666474351bde0a32b9600c804/index.m3u8 diff --git a/streams/it.m3u b/streams/it.m3u index e9359e130..933581a68 100644 --- a/streams/it.m3u +++ b/streams/it.m3u @@ -673,3 +673,5 @@ https://64b16f23efbee.streamlock.net/telenova/telenova/playlist.m3u8 https://59d7d6f47d7fc.streamlock.net/telequattro/telequattro/playlist.m3u8 #EXTINF:-1 tvg-id="7RadioVisione.it",7 RadioVisione (720p) https://stream10.xdevel.com/video1s976543-1932/stream/playlist.m3u8 +#EXTINF:-1 tvg-id="RTV38.it",RTV38 (576p) +https://streamcdne1-845d8509d2cb4f249dd0b2ae5755b6c2.msvdn.net/rtv38/rtv38_live_main/mainabr/rtv38_live_main/main_576/chunks_dvr.m3u8 diff --git a/streams/pl.m3u b/streams/pl.m3u index 22acf67ad..7cd563a6f 100644 --- a/streams/pl.m3u +++ b/streams/pl.m3u @@ -802,3 +802,29 @@ http://178.219.128.68:64889/ZOOMTVHD http://185.236.229.62:9981/play/a02a #EXTINF:-1 tvg-id="PolsatNewsPolityka.pl",Polsat News Polityka (1080p) [Geo-blocked] https://lb2-e3-20.pluscdn.pl/lv/1511888/322/dash/52a9b70b/live.mpd +#EXTINF:-1 tvg-id="Royalworld.pl",Royalworld (720p) +https://ac76260b1102416c93f3d20958bfeb4b.mediatailor.us-east-1.amazonaws.com/v1/master/44f73ba4d03e9607dcd9bebdcb8494d86964f1d8/RakutenTV-pl_Royalworld/playlist.m3u8 +#EXTINF:-1 tvg-id="Euronews.pl",Euronews (720p) +https://euronews-live-pol-pl.fast.rakuten.tv/v1/master/0547f18649bd788bec7b67b746e47670f558b6b2/production-LiveChannel-6769/bitok/eyJzdGlkIjoiNDgyYjMzYzEtYmYwYi00NTIzLThlMGMtZGZmY2ZkNjYyMGU1IiwibWt0IjoicGwiLCJjaCI6Njc2OSwicHRmIjo1fQ%3D%3D/26235/euronews-pl.m3u8 +#EXTINF:-1 tvg-id="TopMoviesPolska.pl",Top Movies Polska (1080i) +https://top-movies-rakuten-tv-pl.fast.rakuten.tv/v1/master/0547f18649bd788bec7b67b746e47670f558b6b2/production-LiveChannel-6059/master.m3u8 +#EXTINF:-1 tvg-id="HiDance.pl",HiDance (1080i) +https://s-pl-01.mediatool.tv/playout/hdpl-abr/index.m3u8 +#EXTINF:-1 tvg-id="HiMusic.pl",HiMusic (1080i) +https://s-pl-01.mediatool.tv/playout/hmpl-abr/index.m3u8 +#EXTINF:-1 tvg-id="SAYHi.pl",SAYHi (1080i) +https://s-pl-01.mediatool.tv/playout/shpl-abr/index.m3u8 +#EXTINF:-1 tvg-id="VoxwRytmieHitow.pl",Vox w Rytmie Hitow (1080i) +https://s-pl-01.mediatool.tv/playout/vxpl-abr/index.m3u8 +#EXTINF:-1 tvg-id="EskaRockDobrzeRockuje.pl",Eska Rock Dobrze Rockuje (1080i) +https://s-pl-01.mediatool.tv/playout/erpl-abr/index.m3u8 +#EXTINF:-1 tvg-id="EskaHitynaCzasie.pl",Eska Hity na Czasie (1080i) +https://s-pl-01.mediatool.tv/playout/espl-abr/index.m3u8 +#EXTINF:-1 tvg-id="PoradnikZdrowieTV.pl",Poradnik Zdrowie TV (1080i) +https://s-pl-01.mediatool.tv/playout/pzpl-abr/index.m3u8 +#EXTINF:-1 tvg-id="MuratorTV.pl",Murator TV (1080i) +https://s-pl-01.mediatool.tv/playout/mupl-abr/index.m3u8 +#EXTINF:-1 tvg-id="SuperExpressTV.pl",Super Express TV (1080i) +https://s-pl-01.mediatool.tv/playout/sepl-abr/index.m3u8 +#EXTINF:-1 tvg-id="TVP1.pl",TVP1 (1080i) +http://nowatv.stream2.link:8080/live/64%3A1c%3Ab0%3Aa1%3A48%3Ac1/tfAjswfz6H/172c116f-0e21-4c80-9146-327a2ee05918.ts diff --git a/streams/us.m3u b/streams/us.m3u index 18e2b7ea9..a15484634 100644 --- a/streams/us.m3u +++ b/streams/us.m3u @@ -609,8 +609,6 @@ https://content.uplynk.com/channel/1f93c13275024afb9e0ead299624073d.m3u8 https://content.uplynk.com/channel/4bb4901b934c4e029fd4c1abfc766c37.m3u8 #EXTINF:-1 tvg-id="NickPlutoTV.us",Nick Pluto TV (720p) https://jmp2.uk/plu-62bdb6a83c6e37000726823b.m3u8 -#EXTINF:-1 tvg-id="NickelodeonEast.us",Nickelodeon East (720p) -http://143.244.60.30/NICKELODEON/index.m3u8 #EXTINF:-1 tvg-id="NicktoonsEast.us",NickToons (720p) http://143.244.60.30/NICKTOONS/index.m3u8 #EXTINF:-1 tvg-id="",Novelas From f86c4d831c7225ef4dadbbafdaedccec390466b7 Mon Sep 17 00:00:00 2001 From: "iptv-bot[bot]" <84861620+iptv-bot[bot]@users.noreply.github.com> Date: Mon, 14 Apr 2025 00:12:17 +0000 Subject: [PATCH 81/85] [Bot] Update README.md Committed by [iptv-bot](https://github.com/apps/iptv-bot) via [update](https://github.com/iptv-org/iptv/actions/runs/14434699821) workflow. --- README.md | 88 +++++++++++++++++++++++++++---------------------------- 1 file changed, 44 insertions(+), 44 deletions(-) diff --git a/README.md b/README.md index 742016174..93ad85c86 100644 --- a/README.md +++ b/README.md @@ -60,29 +60,29 @@ Same thing, but split up into separate files: Classic44https://iptv-org.github.io/iptv/categories/classic.m3u Comedy59https://iptv-org.github.io/iptv/categories/comedy.m3u Cooking24https://iptv-org.github.io/iptv/categories/cooking.m3u - Culture170https://iptv-org.github.io/iptv/categories/culture.m3u + Culture168https://iptv-org.github.io/iptv/categories/culture.m3u Documentary81https://iptv-org.github.io/iptv/categories/documentary.m3u - Education153https://iptv-org.github.io/iptv/categories/education.m3u - Entertainment547https://iptv-org.github.io/iptv/categories/entertainment.m3u + Education152https://iptv-org.github.io/iptv/categories/education.m3u + Entertainment545https://iptv-org.github.io/iptv/categories/entertainment.m3u Family35https://iptv-org.github.io/iptv/categories/family.m3u - General2342https://iptv-org.github.io/iptv/categories/general.m3u - Kids182https://iptv-org.github.io/iptv/categories/kids.m3u + General2346https://iptv-org.github.io/iptv/categories/general.m3u + Kids181https://iptv-org.github.io/iptv/categories/kids.m3u Legislative192https://iptv-org.github.io/iptv/categories/legislative.m3u - Lifestyle79https://iptv-org.github.io/iptv/categories/lifestyle.m3u + Lifestyle78https://iptv-org.github.io/iptv/categories/lifestyle.m3u Movies236https://iptv-org.github.io/iptv/categories/movies.m3u - Music659https://iptv-org.github.io/iptv/categories/music.m3u - News765https://iptv-org.github.io/iptv/categories/news.m3u - Outdoor41https://iptv-org.github.io/iptv/categories/outdoor.m3u + Music664https://iptv-org.github.io/iptv/categories/music.m3u + News767https://iptv-org.github.io/iptv/categories/news.m3u + Outdoor40https://iptv-org.github.io/iptv/categories/outdoor.m3u Relax2https://iptv-org.github.io/iptv/categories/relax.m3u - Religious694https://iptv-org.github.io/iptv/categories/religious.m3u + Religious692https://iptv-org.github.io/iptv/categories/religious.m3u Science21https://iptv-org.github.io/iptv/categories/science.m3u Series149https://iptv-org.github.io/iptv/categories/series.m3u Shop86https://iptv-org.github.io/iptv/categories/shop.m3u - Sports270https://iptv-org.github.io/iptv/categories/sports.m3u - Travel40https://iptv-org.github.io/iptv/categories/travel.m3u + Sports268https://iptv-org.github.io/iptv/categories/sports.m3u + Travel39https://iptv-org.github.io/iptv/categories/travel.m3u Weather13https://iptv-org.github.io/iptv/categories/weather.m3u XXX0https://iptv-org.github.io/iptv/categories/xxx.m3u - Undefined4722https://iptv-org.github.io/iptv/categories/undefined.m3u + Undefined4721https://iptv-org.github.io/iptv/categories/undefined.m3u @@ -130,7 +130,7 @@ Same thing, but split up into separate files: Bengali30https://iptv-org.github.io/iptv/languages/ben.m3u Bhojpuri1https://iptv-org.github.io/iptv/languages/bho.m3u Bosnian13https://iptv-org.github.io/iptv/languages/bos.m3u - Bulgarian34https://iptv-org.github.io/iptv/languages/bul.m3u + Bulgarian28https://iptv-org.github.io/iptv/languages/bul.m3u Burmese9https://iptv-org.github.io/iptv/languages/mya.m3u Catalan51https://iptv-org.github.io/iptv/languages/cat.m3u Central Kurdish1https://iptv-org.github.io/iptv/languages/ckb.m3u @@ -138,7 +138,7 @@ Same thing, but split up into separate files: Chewa3https://iptv-org.github.io/iptv/languages/nya.m3u Chhattisgarhi1https://iptv-org.github.io/iptv/languages/hne.m3u Chiga1https://iptv-org.github.io/iptv/languages/cgg.m3u - Chinese194https://iptv-org.github.io/iptv/languages/zho.m3u + Chinese188https://iptv-org.github.io/iptv/languages/zho.m3u Croatian22https://iptv-org.github.io/iptv/languages/hrv.m3u Czech35https://iptv-org.github.io/iptv/languages/ces.m3u Danish19https://iptv-org.github.io/iptv/languages/dan.m3u @@ -150,7 +150,7 @@ Same thing, but split up into separate files: Dutch188https://iptv-org.github.io/iptv/languages/nld.m3u Dyula1https://iptv-org.github.io/iptv/languages/dyu.m3u Egyptian Arabic2https://iptv-org.github.io/iptv/languages/arz.m3u - English2114https://iptv-org.github.io/iptv/languages/eng.m3u + English2113https://iptv-org.github.io/iptv/languages/eng.m3u Estonian9https://iptv-org.github.io/iptv/languages/est.m3u Ewe2https://iptv-org.github.io/iptv/languages/ewe.m3u Faroese1https://iptv-org.github.io/iptv/languages/fao.m3u @@ -158,7 +158,7 @@ Same thing, but split up into separate files: Filipino1https://iptv-org.github.io/iptv/languages/fil.m3u Finnish23https://iptv-org.github.io/iptv/languages/fin.m3u Fon3https://iptv-org.github.io/iptv/languages/fon.m3u - French421https://iptv-org.github.io/iptv/languages/fra.m3u + French418https://iptv-org.github.io/iptv/languages/fra.m3u Fulah2https://iptv-org.github.io/iptv/languages/ful.m3u Gaelic2https://iptv-org.github.io/iptv/languages/gla.m3u Galician13https://iptv-org.github.io/iptv/languages/glg.m3u @@ -175,7 +175,7 @@ Same thing, but split up into separate files: Haitian4https://iptv-org.github.io/iptv/languages/hat.m3u Hausa2https://iptv-org.github.io/iptv/languages/hau.m3u Hebrew13https://iptv-org.github.io/iptv/languages/heb.m3u - Hindi120https://iptv-org.github.io/iptv/languages/hin.m3u + Hindi121https://iptv-org.github.io/iptv/languages/hin.m3u Hmong1https://iptv-org.github.io/iptv/languages/hmn.m3u Hungarian103https://iptv-org.github.io/iptv/languages/hun.m3u Icelandic5https://iptv-org.github.io/iptv/languages/isl.m3u @@ -184,7 +184,7 @@ Same thing, but split up into separate files: Iranian Persian1https://iptv-org.github.io/iptv/languages/pes.m3u Irish7https://iptv-org.github.io/iptv/languages/gle.m3u Isekiri1https://iptv-org.github.io/iptv/languages/its.m3u - Italian287https://iptv-org.github.io/iptv/languages/ita.m3u + Italian288https://iptv-org.github.io/iptv/languages/ita.m3u Japanese70https://iptv-org.github.io/iptv/languages/jpn.m3u Javanese3https://iptv-org.github.io/iptv/languages/jav.m3u Kabiyè1https://iptv-org.github.io/iptv/languages/kbp.m3u @@ -218,7 +218,7 @@ Same thing, but split up into separate files: Mandarin Chinese3https://iptv-org.github.io/iptv/languages/cmn.m3u Mandinka1https://iptv-org.github.io/iptv/languages/mnk.m3u Maori2https://iptv-org.github.io/iptv/languages/mri.m3u - Marathi6https://iptv-org.github.io/iptv/languages/mar.m3u + Marathi7https://iptv-org.github.io/iptv/languages/mar.m3u Min Nan Chinese1https://iptv-org.github.io/iptv/languages/nan.m3u Mongolian22https://iptv-org.github.io/iptv/languages/mon.m3u Montenegrin1https://iptv-org.github.io/iptv/languages/cnr.m3u @@ -235,7 +235,7 @@ Same thing, but split up into separate files: Parsi-Dari3https://iptv-org.github.io/iptv/languages/prd.m3u Pashto16https://iptv-org.github.io/iptv/languages/pus.m3u Persian138https://iptv-org.github.io/iptv/languages/fas.m3u - Polish141https://iptv-org.github.io/iptv/languages/pol.m3u + Polish152https://iptv-org.github.io/iptv/languages/pol.m3u Portuguese334https://iptv-org.github.io/iptv/languages/por.m3u Pulaar1https://iptv-org.github.io/iptv/languages/fuc.m3u Quechua1https://iptv-org.github.io/iptv/languages/que.m3u @@ -263,9 +263,9 @@ Same thing, but split up into separate files: Tajik15https://iptv-org.github.io/iptv/languages/tgk.m3u Tamashek1https://iptv-org.github.io/iptv/languages/tmh.m3u Tamasheq1https://iptv-org.github.io/iptv/languages/taq.m3u - Tamil45https://iptv-org.github.io/iptv/languages/tam.m3u + Tamil46https://iptv-org.github.io/iptv/languages/tam.m3u Tatar1https://iptv-org.github.io/iptv/languages/tat.m3u - Telugu7https://iptv-org.github.io/iptv/languages/tel.m3u + Telugu8https://iptv-org.github.io/iptv/languages/tel.m3u Thai63https://iptv-org.github.io/iptv/languages/tha.m3u Tibetan1https://iptv-org.github.io/iptv/languages/bod.m3u Tooro1https://iptv-org.github.io/iptv/languages/ttj.m3u @@ -286,7 +286,7 @@ Same thing, but split up into separate files: Yucatec Maya1https://iptv-org.github.io/iptv/languages/yua.m3u Yue Chinese7https://iptv-org.github.io/iptv/languages/yue.m3u Zarma1https://iptv-org.github.io/iptv/languages/dje.m3u - Undefined2891https://iptv-org.github.io/iptv/languages/undefined.m3u + Undefined2889https://iptv-org.github.io/iptv/languages/undefined.m3u @@ -391,8 +391,8 @@ Same thing, but split up into separate files:       Sao Paulo24https://iptv-org.github.io/iptv/subdivisions/br-sp.m3u 🇻🇬 British Virgin Islands14https://iptv-org.github.io/iptv/countries/vg.m3u 🇧🇳 Brunei17https://iptv-org.github.io/iptv/countries/bn.m3u - 🇧🇬 Bulgaria69https://iptv-org.github.io/iptv/countries/bg.m3u - 🇧🇫 Burkina Faso29https://iptv-org.github.io/iptv/countries/bf.m3u + 🇧🇬 Bulgaria63https://iptv-org.github.io/iptv/countries/bg.m3u + 🇧🇫 Burkina Faso26https://iptv-org.github.io/iptv/countries/bf.m3u 🇧🇮 Burundi24https://iptv-org.github.io/iptv/countries/bi.m3u 🇰🇭 Cambodia35https://iptv-org.github.io/iptv/countries/kh.m3u 🇨🇲 Cameroon55https://iptv-org.github.io/iptv/countries/cm.m3u @@ -423,7 +423,7 @@ Same thing, but split up into separate files:       Maule1https://iptv-org.github.io/iptv/subdivisions/cl-ml.m3u       Nuble3https://iptv-org.github.io/iptv/subdivisions/cl-nb.m3u       Valparaiso2https://iptv-org.github.io/iptv/subdivisions/cl-vs.m3u - 🇨🇳 China149https://iptv-org.github.io/iptv/countries/cn.m3u + 🇨🇳 China143https://iptv-org.github.io/iptv/countries/cn.m3u 🇨🇴 Colombia193https://iptv-org.github.io/iptv/countries/co.m3u       Antioquia1https://iptv-org.github.io/iptv/subdivisions/co-ant.m3u       Atlantico1https://iptv-org.github.io/iptv/subdivisions/co-atl.m3u @@ -523,7 +523,7 @@ Same thing, but split up into separate files: 🇭🇰 Hong Kong14https://iptv-org.github.io/iptv/countries/hk.m3u 🇭🇺 Hungary138https://iptv-org.github.io/iptv/countries/hu.m3u 🇮🇸 Iceland33https://iptv-org.github.io/iptv/countries/is.m3u - 🇮🇳 India300https://iptv-org.github.io/iptv/countries/in.m3u + 🇮🇳 India304https://iptv-org.github.io/iptv/countries/in.m3u 🇮🇩 Indonesia143https://iptv-org.github.io/iptv/countries/id.m3u       Aceh2https://iptv-org.github.io/iptv/subdivisions/id-ac.m3u       Bali2https://iptv-org.github.io/iptv/subdivisions/id-ba.m3u @@ -558,7 +558,7 @@ Same thing, but split up into separate files: 🇮🇶 Iraq108https://iptv-org.github.io/iptv/countries/iq.m3u 🇮🇪 Ireland57https://iptv-org.github.io/iptv/countries/ie.m3u 🇮🇱 Israel22https://iptv-org.github.io/iptv/countries/il.m3u - 🇮🇹 Italy324https://iptv-org.github.io/iptv/countries/it.m3u + 🇮🇹 Italy325https://iptv-org.github.io/iptv/countries/it.m3u       Trentino-Alto Adige3https://iptv-org.github.io/iptv/subdivisions/it-32.m3u 🇨🇮 Ivory Coast52https://iptv-org.github.io/iptv/countries/ci.m3u 🇯🇲 Jamaica19https://iptv-org.github.io/iptv/countries/jm.m3u @@ -665,7 +665,7 @@ Same thing, but split up into separate files:       Ucayali2https://iptv-org.github.io/iptv/subdivisions/pe-uca.m3u 🇵🇭 Philippines26https://iptv-org.github.io/iptv/countries/ph.m3u 🇵🇳 Pitcairn Islands5https://iptv-org.github.io/iptv/countries/pn.m3u - 🇵🇱 Poland185https://iptv-org.github.io/iptv/countries/pl.m3u + 🇵🇱 Poland196https://iptv-org.github.io/iptv/countries/pl.m3u 🇵🇹 Portugal83https://iptv-org.github.io/iptv/countries/pt.m3u 🇵🇷 Puerto Rico99https://iptv-org.github.io/iptv/countries/pr.m3u 🇶🇦 Qatar54https://iptv-org.github.io/iptv/countries/qa.m3u @@ -818,7 +818,7 @@ Same thing, but split up into separate files: 🇾🇪 Yemen46https://iptv-org.github.io/iptv/countries/ye.m3u 🇿🇲 Zambia24https://iptv-org.github.io/iptv/countries/zm.m3u 🇿🇼 Zimbabwe24https://iptv-org.github.io/iptv/countries/zw.m3u - Undefined2891https://iptv-org.github.io/iptv/countries/undefined.m3u + Undefined2889https://iptv-org.github.io/iptv/countries/undefined.m3u @@ -844,22 +844,22 @@ Same thing, but split up into separate files: RegionChannelsPlaylist - Africa549https://iptv-org.github.io/iptv/regions/afr.m3u + Africa546https://iptv-org.github.io/iptv/regions/afr.m3u Americas3598https://iptv-org.github.io/iptv/regions/amer.m3u Arab world402https://iptv-org.github.io/iptv/regions/arab.m3u - Asia2164https://iptv-org.github.io/iptv/regions/asia.m3u - Asia-Pacific1137https://iptv-org.github.io/iptv/regions/apac.m3u + Asia2162https://iptv-org.github.io/iptv/regions/asia.m3u + Asia-Pacific1135https://iptv-org.github.io/iptv/regions/apac.m3u Association of Southeast Asian Nations344https://iptv-org.github.io/iptv/regions/asean.m3u - Balkan687https://iptv-org.github.io/iptv/regions/balkan.m3u + Balkan681https://iptv-org.github.io/iptv/regions/balkan.m3u Benelux241https://iptv-org.github.io/iptv/regions/benelux.m3u Caribbean365https://iptv-org.github.io/iptv/regions/carib.m3u Central America372https://iptv-org.github.io/iptv/regions/cenamer.m3u - Central and Eastern Europe995https://iptv-org.github.io/iptv/regions/cee.m3u + Central and Eastern Europe1000https://iptv-org.github.io/iptv/regions/cee.m3u Central Asia112https://iptv-org.github.io/iptv/regions/cas.m3u Commonwealth of Independent States373https://iptv-org.github.io/iptv/regions/cis.m3u - Europe2868https://iptv-org.github.io/iptv/regions/eur.m3u - Europe, the Middle East and Africa3782https://iptv-org.github.io/iptv/regions/emea.m3u - European Union1950https://iptv-org.github.io/iptv/regions/eu.m3u + Europe2874https://iptv-org.github.io/iptv/regions/eur.m3u + Europe, the Middle East and Africa3785https://iptv-org.github.io/iptv/regions/emea.m3u + European Union1956https://iptv-org.github.io/iptv/regions/eu.m3u Hispanic America1680https://iptv-org.github.io/iptv/regions/hispam.m3u Latin America1995https://iptv-org.github.io/iptv/regions/latam.m3u Latin America and the Caribbean2039https://iptv-org.github.io/iptv/regions/lac.m3u @@ -872,14 +872,14 @@ Same thing, but split up into separate files: Northern Europe154https://iptv-org.github.io/iptv/regions/neur.m3u Oceania54https://iptv-org.github.io/iptv/regions/oce.m3u South America1258https://iptv-org.github.io/iptv/regions/southam.m3u - South Asia404https://iptv-org.github.io/iptv/regions/sas.m3u + South Asia408https://iptv-org.github.io/iptv/regions/sas.m3u Southeast Asia344https://iptv-org.github.io/iptv/regions/sea.m3u - Southern Europe1056https://iptv-org.github.io/iptv/regions/ser.m3u - Sub-Saharan Africa494https://iptv-org.github.io/iptv/regions/ssa.m3u - West Africa256https://iptv-org.github.io/iptv/regions/wafr.m3u + Southern Europe1057https://iptv-org.github.io/iptv/regions/ser.m3u + Sub-Saharan Africa491https://iptv-org.github.io/iptv/regions/ssa.m3u + West Africa253https://iptv-org.github.io/iptv/regions/wafr.m3u Western Europe782https://iptv-org.github.io/iptv/regions/wer.m3u Worldwide57https://iptv-org.github.io/iptv/regions/int.m3u - Undefined2891https://iptv-org.github.io/iptv/regions/undefined.m3u + Undefined2889https://iptv-org.github.io/iptv/regions/undefined.m3u From cc0cfa111b05ff8fd9d24d9da0562488f4ae489b Mon Sep 17 00:00:00 2001 From: "iptv-bot[bot]" <84861620+iptv-bot[bot]@users.noreply.github.com> Date: Tue, 15 Apr 2025 00:11:34 +0000 Subject: [PATCH 82/85] [Bot] Update /streams Committed by [iptv-bot](https://github.com/apps/iptv-bot) via [update](https://github.com/iptv-org/iptv/actions/runs/14458295925) workflow. From 4365cb56551699d2721b0e1da3d92a7655a72cd8 Mon Sep 17 00:00:00 2001 From: "iptv-bot[bot]" <84861620+iptv-bot[bot]@users.noreply.github.com> Date: Tue, 15 Apr 2025 00:11:34 +0000 Subject: [PATCH 83/85] [Bot] Update README.md Committed by [iptv-bot](https://github.com/apps/iptv-bot) via [update](https://github.com/iptv-org/iptv/actions/runs/14458295925) workflow. From 975d83b7ab781a70cedbfe8e3f45b3f6369b4385 Mon Sep 17 00:00:00 2001 From: "iptv-bot[bot]" <84861620+iptv-bot[bot]@users.noreply.github.com> Date: Wed, 16 Apr 2025 00:11:31 +0000 Subject: [PATCH 84/85] [Bot] Update /streams Committed by [iptv-bot](https://github.com/apps/iptv-bot) via [update](https://github.com/iptv-org/iptv/actions/runs/14481800403) workflow. closes #21108, closes #21012, closes #21009, closes #20873, closes #21207, closes #21198, closes #21197, closes #21196, closes #21195, closes #21194, closes #21193, closes #21192, closes #21191, closes #21190, closes #21189, closes #21188, closes #21187, closes #21186, closes #21185, closes #21184, closes #21183, closes #21182, closes #21181, closes #21180, closes #21179, closes #21178, closes #21177, closes #21176, closes #21175, closes #21174, closes #21173, closes #21172, closes #21170, closes #21169, closes #21168, closes #21167, closes #21166, closes #21165, closes #21164, closes #21163, closes #21162, closes #21161, closes #21160, closes #21159, closes #21158, closes #21157, closes #21156, closes #21155, closes #21154, closes #21153, closes #21152, closes #21151, closes #21149, closes #21148, closes #21147, closes #21146, closes #21145, closes #21144, closes #21143, closes #21142, closes #21141, closes #21140, closes #21139, closes #21138, closes #21137, closes #21136, closes #21135, closes #21134, closes #21133, closes #21132, closes #21131, closes #21129, closes #21128, closes #21127, closes #21126, closes #21125, closes #21124, closes #21123, closes #21122, closes #21121, closes #21120, closes #21119, closes #21118, closes #21117, closes #21116, closes #21115, closes #21114, closes #21113, closes #21112, closes #21111, closes #21110, closes #21109, closes #21025 --- streams/am_vnet.m3u | 26 -------- streams/bo.m3u | 4 ++ streams/br.m3u | 8 +++ streams/de.m3u | 5 -- streams/es_samsung.m3u | 2 - streams/gr.m3u | 2 - streams/ir.m3u | 2 + streams/jp.m3u | 4 -- streams/kr.m3u | 2 - streams/pl.m3u | 142 +++++++++++++++++++++++++++++++++++++++++ streams/ps.m3u | 2 + streams/pt.m3u | 6 ++ streams/ro.m3u | 3 + streams/ru.m3u | 19 ------ streams/ru_bonustv.m3u | 4 -- streams/ru_smotrim.m3u | 4 -- streams/tr.m3u | 2 + streams/uk.m3u | 2 - streams/us.m3u | 10 +++ 19 files changed, 179 insertions(+), 70 deletions(-) diff --git a/streams/am_vnet.m3u b/streams/am_vnet.m3u index eb314add2..9188290eb 100644 --- a/streams/am_vnet.m3u +++ b/streams/am_vnet.m3u @@ -5,32 +5,8 @@ http://stream01.vnet.am/AmediaPremium/mono.m3u8 http://stream02.vnet.am/Kinoman/mono.m3u8 #EXTINF:-1 tvg-id="FightBox.nl",FightBox http://stream01.vnet.am/Fightbox/mono.m3u8 -#EXTINF:-1 tvg-id="Fox.ru",Fox -https://stream01.vnet.am/Fox/mono.m3u8 -#EXTINF:-1 tvg-id="Hollywood.ru",Hollywood -http://stream01.vnet.am/ParamountChannel/mono.m3u8 -#EXTINF:-1 tvg-id="NationalGeographicWild.ru",National Geographic Wild -http://stream02.vnet.am/NatGeoWild/mono.m3u8 -#EXTINF:-1 tvg-id="NicktoonsCIS.ru",Nicktoons -https://stream01.vnet.am/Boomerang/mono.m3u8 -#EXTINF:-1 tvg-id="BoksTV.ru",Бокс ТВ -http://stream01.vnet.am/BoksTv/mono.m3u8 #EXTINF:-1 tvg-id="Detskimir.ru",Детский мир http://stream01.vnet.am/CartoonNetwork/mono.m3u8 -#EXTINF:-1 tvg-id="Domkino.ru",Дом Кино -https://stream01.vnet.am/DomKino/mono.m3u8 -#EXTINF:-1 tvg-id="India.ru",Индия -https://stream01.vnet.am/ZeeTV/mono.m3u8 -#EXTINF:-1 tvg-id="CarouselInternational.ru",Карусель Int -http://stream02.vnet.am/Karusel/mono.m3u8 -#EXTINF:-1 tvg-id="KinopremyeraHD.ru",Кинопремьера HD -http://stream02.vnet.am/Kinopremera/mono.m3u8 -#EXTINF:-1 tvg-id="KukhnyaTV.ru",Кухня ТВ HD -http://stream01.vnet.am/KukhnyaTv/mono.m3u8 -#EXTINF:-1 tvg-id="MuzTV.ru",Муз ТВ -http://stream01.vnet.am/MuzTv/mono.m3u8 -#EXTINF:-1 tvg-id="Mult.ru",Мульт -http://stream01.vnet.am/Mult/mono.m3u8 #EXTINF:-1 tvg-id="Nauka.ru",Наука 2.0 http://stream01.vnet.am/Nauka/mono.m3u8 #EXTINF:-1 tvg-id="NTVMir.ru",НТВ Мир @@ -41,7 +17,5 @@ http://stream01.vnet.am/Evrika/mono.m3u8 http://stream01.vnet.am/Perec/mono.m3u8 #EXTINF:-1 tvg-id="FridayInternational.ru",Пятница International https://stream01.vnet.am/Pyatnica/mono.m3u8 -#EXTINF:-1 tvg-id="STSkids.ru",СТС Kids -http://stream02.vnet.am/DisneyChannel/mono.m3u8 #EXTINF:-1 tvg-id="Telecafe.ru",Телекафе http://stream01.vnet.am/Telekafe/mono.m3u8 diff --git a/streams/bo.m3u b/streams/bo.m3u index eba10f679..6855b3ac3 100644 --- a/streams/bo.m3u +++ b/streams/bo.m3u @@ -155,3 +155,7 @@ https://fl1004.bozztv.com/ssh101/zoytvsports5/index.m3u8 https://fl1004.bozztv.com/ssh101/zoytvturcas/index.m3u8 #EXTINF:-1 tvg-id="BoliviaTV.bo",Bolivia TV (720p) https://5fe2654d6127d.streamlock.net:443/boliviatv/videoboliviatv/playlist.m3u8 +#EXTINF:-1 tvg-id="ZoyTVSports1.bo",Zoy TV Sports 1 (1080p) +https://ssh101stream.ssh101.com/akamaissh101/ssh101/zoytvsports/playlist.m3u8 +#EXTINF:-1 tvg-id="ZoyTVTurcas.bo",Zoy TV Turcas (720p) +https://ssh101stream.ssh101.com/akamaissh101/ssh101/zoytvturcas/playlist.m3u8 diff --git a/streams/br.m3u b/streams/br.m3u index a56c35599..29668ec3a 100644 --- a/streams/br.m3u +++ b/streams/br.m3u @@ -599,3 +599,11 @@ https://video01.kshost.com.br/seap8272/seap8272/playlist.m3u8 http://painelvj.com.br/tvaguaboa2/tvaguaboa2.sdp/playlist.m3u8 #EXTINF:-1 tvg-id="WTVBrasil.br",WTV Brasil (720p) https://stmv1.srvstm.com/wtvbrasil/wtvbrasil/playlist.m3u8 +#EXTINF:-1 tvg-id="TVCancaoNova.br",TV Cancao Nova (720p) +https://5c65286fc6ace.streamlock.net/cancaonova/CancaoNova.stream_720p/playlist.m3u8 +#EXTINF:-1 tvg-id="TVMAX.br",TV MAX (720p) +https://5cf4a2c2512a2.streamlock.net/tvmax/tvmax/playlist.m3u8 +#EXTINF:-1 tvg-id="TVBrasil.br",TV Brasil (720p) +https://tvbrasil-stream.ebc.com.br/index.m3u8 +#EXTINF:-1 tvg-id="RedeTV.br",Rede TV! (720p) +https://cdn.jmvstream.com/w/AVJ-15235/playlist/playlist.m3u8 diff --git a/streams/de.m3u b/streams/de.m3u index 2a5a3f560..6df857b60 100644 --- a/streams/de.m3u +++ b/streams/de.m3u @@ -365,17 +365,12 @@ https://live.creacast.com/rockland-radio/smil:rockland-radio.smil/playlist.m3u8 https://rt-ger.rttv.com/dvr/rtdeutsch/playlist.m3u8 #EXTINF:-1 tvg-id="RTDE.de",RT DE (1080p) [Not 24/7] https://rt-ger.rttv.com/live/rtdeutsch/playlist.m3u8 -#EXTINF:-1 tvg-id="RTL.de",RTL (576p) -https://s6.hopslan.com/rtlc1/tracks-v1a1/mono.m3u8 #EXTINF:-1 tvg-id="RTL.de",RTL (Germany) (576p) http://178.219.128.68:64888/RTL #EXTINF:-1 tvg-id="RTLSuper.de",RTL Super (576p) http://178.219.128.68:64888/SUPERTL #EXTINF:-1 tvg-id="RTLZwei.de",RTL Zwei (1080p) http://178.219.128.68:64888/RTL2 -#EXTINF:-1 tvg-id="RTLZwei.de" http-referrer="https://www.2ix2.com/rtl2-live/",RTL Zwei (576p) -#EXTVLCOPT:http-referrer=https://www.2ix2.com/rtl2-live/ -https://s6.hopslan.com/rtl2x1/index.m3u8 #EXTINF:-1 tvg-id="SaarlandFernsehen1.de",Saarland Fernsehen 1 (1080p) https://saarland1.iptv-playoutcenter.de/saarland1/saarland1.stream_1/playlist.m3u8 #EXTINF:-1 tvg-id="SaarlandFernsehen2.de",Saarland Fernsehen 2 (720p) [Not 24/7] diff --git a/streams/es_samsung.m3u b/streams/es_samsung.m3u index 00105f578..159547501 100644 --- a/streams/es_samsung.m3u +++ b/streams/es_samsung.m3u @@ -3,8 +3,6 @@ https://dhx-caillou-1-es.samsung.wurl.tv/playlist.m3u8 #EXTINF:-1 tvg-id="EuronewsSpanish.fr",Euronews en Español (720p) https://rakuten-euronews-4-es.samsung.wurl.tv/manifest/playlist.m3u8 -#EXTINF:-1 tvg-id="FashionTVEurope.fr",Fashion TV (Spain) (1080p) -https://fashiontv-fashiontv-2-es.samsung.wurl.tv/manifest/playlist.m3u8 #EXTINF:-1 tvg-id="",iHola Play https://rakuten-hola-2-es.samsung.wurl.tv/playlist.m3u8 #EXTINF:-1 tvg-id="PeopleAreAwesome.us",People are Awesome diff --git a/streams/gr.m3u b/streams/gr.m3u index dcc6444bb..78fb449f7 100644 --- a/streams/gr.m3u +++ b/streams/gr.m3u @@ -67,8 +67,6 @@ http://live.streams.ovh:1935/tvcreta/tvcreta/playlist.m3u8 http://81.171.10.42:554/liveD/DStream.sdp/playlist.m3u8 #EXTINF:-1 tvg-id="DiavataTV.gr",Diavata TV (720p) https://ssh101.bozztv.com/ssh101/diavatatvweb/playlist.m3u8 -#EXTINF:-1 tvg-id="DiavataTV.gr",Diavata TV (720p) -https://video.streams.ovh:1936/DiavataTV/DiavataTV/playlist.m3u8 #EXTINF:-1 tvg-id="DiktyoTV.gr",Diktyo TV (576p) https://5d00db0e0fcd5.streamlock.net/7322/7322/playlist.m3u8 #EXTINF:-1 tvg-id="DipsoTV.gr",Dipso TV (720p) [Not 24/7] diff --git a/streams/ir.m3u b/streams/ir.m3u index 4d7c35b2a..93a1dcaf2 100644 --- a/streams/ir.m3u +++ b/streams/ir.m3u @@ -71,3 +71,5 @@ https://hls.nejat.live/hls/stream.m3u8 https://hls.vox1.live/hls/stream.m3u8 #EXTINF:-1 tvg-id="YourTimeTV.ir",YourTime TV (720p) [Not 24/7] https://hls.yourtime.live/hls/stream.m3u8 +#EXTINF:-1 tvg-id="VarzeshTV.ir",Varzesh TV (480p) +https://stream.sainaertebat.com/hls2/varzeshtest.m3u8 diff --git a/streams/jp.m3u b/streams/jp.m3u index 33e9a1736..d698488a8 100644 --- a/streams/jp.m3u +++ b/streams/jp.m3u @@ -32,10 +32,6 @@ https://cdn.skygo.mn/live/disk1/NHK_World_Premium/HLSv3-FTA/NHK_World_Premium.m3 https://master.nhkworld.jp/nhkworld-tv/playlist/live.m3u8 #EXTINF:-1 tvg-id="JOAXDTV.jp",Nippon TV (540p) [Not 24/7] https://ntv4.mov3.co/hls/ntv.m3u8 -#EXTINF:-1 tvg-id="NTVNEWS24.jp",NTV News24 (480p) -https://n24-cdn-live.ntv.co.jp/ch01/index.m3u8 -#EXTINF:-1 tvg-id="NTVNEWS24.jp",NTV News24 (480p) -https://n24-cdn-live.ntv.co.jp/ch02/index.m3u8 #EXTINF:-1 tvg-id="QVC.jp",QVC Japan (720p) https://cdn-live1.qvc.jp/iPhone/1501/1501.m3u8 #EXTINF:-1 tvg-id="ShopChannel.jp",Shop Channel (1080p) [Not 24/7] diff --git a/streams/kr.m3u b/streams/kr.m3u index 96b6a77ed..b76ce9137 100644 --- a/streams/kr.m3u +++ b/streams/kr.m3u @@ -105,8 +105,6 @@ http://kbs-dokdo.gscdn.com/dokdo_300/dokdo_300.stream/playlist.m3u8 http://mytv.dothome.co.kr/ch/catv/4.php #EXTINF:-1 tvg-id="KBSWorld.kr",KBS World http://mytv.dothome.co.kr/ch/catv/7.php -#EXTINF:-1 tvg-id="KBSWorld.kr",KBS World (Vietnamese Subtitles) (720p) -https://livecdn.fptplay.net/sdb/kbs_hls.smil/playlist.m3u8 #EXTINF:-1 tvg-id="KCTV.kr",KCTV 광주 CH05 (720p) [Not 24/7] http://119.77.96.184:1935/chn05/chn05/playlist.m3u8 #EXTINF:-1 tvg-id="KTV.kr",Korea TV (1080p) diff --git a/streams/pl.m3u b/streams/pl.m3u index 7cd563a6f..eb1ae6e28 100644 --- a/streams/pl.m3u +++ b/streams/pl.m3u @@ -828,3 +828,145 @@ https://s-pl-01.mediatool.tv/playout/mupl-abr/index.m3u8 https://s-pl-01.mediatool.tv/playout/sepl-abr/index.m3u8 #EXTINF:-1 tvg-id="TVP1.pl",TVP1 (1080i) http://nowatv.stream2.link:8080/live/64%3A1c%3Ab0%3Aa1%3A48%3Ac1/tfAjswfz6H/172c116f-0e21-4c80-9146-327a2ee05918.ts +#EXTINF:-1 tvg-id="ComedyCentral.pl",Comedy Central (540i) +http://nowatv.stream2.link:8080/live/64%3A1c%3Ab0%3Aa1%3A48%3Ac1/tfAjswfz6H/ecf03eb6-acc5-4c9e-9339-9e6a4fe31d98.ts +#EXTINF:-1 tvg-id="VOD205.pl",VOD 205 (576i) +http://nowatv.stream2.link:8080/live/64%3A1c%3Ab0%3Aa1%3A48%3Ac1/tfAjswfz6H/9dac17c7-98be-4b05-8ef2-038aa3a37cc4.ts +#EXTINF:-1 tvg-id="VOD206.pl",VOD 206 (576i) +http://nowatv.stream2.link:8080/live/64%3A1c%3Ab0%3Aa1%3A48%3Ac1/tfAjswfz6H/4a4bb8f0-c5bc-4001-94ed-1b8d628e097d.ts +#EXTINF:-1 tvg-id="VOD207.pl",VOD 207 (576i) +http://nowatv.stream2.link:8080/live/64%3A1c%3Ab0%3Aa1%3A48%3Ac1/tfAjswfz6H/1e51c6c3-a5a2-4f0e-8482-d1bc9f94d2e5.ts +#EXTINF:-1 tvg-id="VOD208.pl",VOD 208 (720p) +http://nowatv.stream2.link:8080/live/64%3A1c%3Ab0%3Aa1%3A48%3Ac1/tfAjswfz6H/ffb9bcf6-96e8-4a7a-9bcd-a32a8b399f5a.ts +#EXTINF:-1 tvg-id="13Ulica.pl",13 Ulica (1080i) +http://nowatv.stream2.link:8080/live/64%3A1c%3Ab0%3Aa1%3A48%3Ac1/tfAjswfz6H/ced900ec-18e3-4500-be3d-5642227688f7.ts +#EXTINF:-1 tvg-id="NowaTV.pl",Nowa TV (1080i) +http://nowatv.stream2.link:8080/live/64%3A1c%3Ab0%3Aa1%3A48%3Ac1/tfAjswfz6H/62d1cae5-4864-4c79-9224-96e4a1dfe9f3.ts +#EXTINF:-1 tvg-id="PoloTV.pl",Polo TV (720p) +http://nowatv.stream2.link:8080/live/64%3A1c%3Ab0%3Aa1%3A48%3Ac1/tfAjswfz6H/6e627418-a319-4d09-a627-4b612193147d.ts +#EXTINF:-1 tvg-id="PowerTV.pl",Power TV (576i) +http://nowatv.stream2.link:8080/live/64%3A1c%3Ab0%3Aa1%3A48%3Ac1/tfAjswfz6H/ca44c966-c2d9-48a4-aa6c-c22f1c95fd17.ts +#EXTINF:-1 tvg-id="RedCarpetTV.pl",Red Carpet TV (1080i) +http://nowatv.stream2.link:8080/live/64%3A1c%3Ab0%3Aa1%3A48%3Ac1/tfAjswfz6H/6109dcb5-ebdd-41a0-b7f0-0c1ab0c1ddd2.ts +#EXTINF:-1 tvg-id="StarsTV.pl",Stars TV (1080i) +http://nowatv.stream2.link:8080/live/64%3A1c%3Ab0%3Aa1%3A48%3Ac1/tfAjswfz6H/f78056d5-c76b-4ed5-9186-f02217dcfb48.ts +#EXTINF:-1 tvg-id="TV6.pl",TV6 (1080i) +http://nowatv.stream2.link:8080/live/64%3A1c%3Ab0%3Aa1%3A48%3Ac1/tfAjswfz6H/693f29bf-70ac-432d-bed6-458b1ed144e7.ts +#EXTINF:-1 tvg-id="TV6.pl",TV6 (1080i) +http://nowatv.stream2.link:8080/live/64%3A1c%3Ab0%3Aa1%3A48%3Ac1/tfAjswfz6H/9f075b25-a8e2-4801-9ed5-e599c6e281c4.ts +#EXTINF:-1 tvg-id="RomanceTV.pl",Romance TV (1080i) +http://nowatv.stream2.link:8080/live/64%3A1c%3Ab0%3Aa1%3A48%3Ac1/tfAjswfz6H/a58cea4f-b711-4935-ab88-5848b99d76e2.ts +#EXTINF:-1 tvg-id="SundanceTV.pl",Sundance TV (1080i) +http://nowatv.stream2.link:8080/live/64%3A1c%3Ab0%3Aa1%3A48%3Ac1/tfAjswfz6H/e02f357c-de0f-461f-9928-949889a786fb.ts +#EXTINF:-1 tvg-id="WPTV.pl",WP TV (1080i) +http://nowatv.stream2.link:8080/live/64%3A1c%3Ab0%3Aa1%3A48%3Ac1/tfAjswfz6H/0a234f82-e4ff-470e-864c-bfc560b00f6a.ts +#EXTINF:-1 tvg-id="WPTV.pl",WP TV (576i) +http://nowatv.stream2.link:8080/live/64%3A1c%3Ab0%3Aa1%3A48%3Ac1/tfAjswfz6H/afd2ddbf-a0f9-481a-8dcd-fcfa8f97939b.ts +#EXTINF:-1 tvg-id="E.pl",E! (1080i) +http://nowatv.stream2.link:8080/live/64%3A1c%3Ab0%3Aa1%3A48%3Ac1/tfAjswfz6H/1edbd119-5fef-4b2f-b3ef-7bb9e27a49aa.ts +#EXTINF:-1 tvg-id="TVS.pl",TVS (576i) +http://nowatv.stream2.link:8080/live/64%3A1c%3Ab0%3Aa1%3A48%3Ac1/tfAjswfz6H/a8ddbe08-496f-4aba-9f18-6bef849a01fa.ts +#EXTINF:-1 tvg-id="TVS.pl",TVS (576i) +http://nowatv.stream2.link:8080/live/64%3A1c%3Ab0%3Aa1%3A48%3Ac1/tfAjswfz6H/38e7bf79-ed62-4242-968d-df18f04181de.ts +#EXTINF:-1 tvg-id="ZoomTV.pl",Zoom TV (720p) +http://nowatv.stream2.link:8080/live/64%3A1c%3Ab0%3Aa1%3A48%3Ac1/tfAjswfz6H/f9057d34-8caf-4cf6-894d-9e4ca197095e.ts +#EXTINF:-1 tvg-id="ZoomTV.pl",Zoom TV (576i) +http://nowatv.stream2.link:8080/live/64%3A1c%3Ab0%3Aa1%3A48%3Ac1/tfAjswfz6H/95b37a9f-4e7f-4c72-9595-5c1b27324cab.ts +#EXTINF:-1 tvg-id="ComedyCentral.pl",Comedy Central (540i) +http://nowatv.stream2.link:8080/live/64%3A1c%3Ab0%3Aa1%3A48%3Ac1/tfAjswfz6H/3499eccd-fe22-444a-9129-2975ae097d42.ts +#EXTINF:-1 tvg-id="ComedyCentral.pl",Comedy Central (1080i) +http://nowatv.stream2.link:8080/live/64%3A1c%3Ab0%3Aa1%3A48%3Ac1/tfAjswfz6H/b78c60f0-b186-485a-822c-2ee6822b006f.ts +#EXTINF:-1 tvg-id="Puls2.pl",Puls 2 (720p) +http://nowatv.stream2.link:8080/live/64%3A1c%3Ab0%3Aa1%3A48%3Ac1/tfAjswfz6H/aef35b7b-ac74-4207-9db9-b1bfae15be28.ts +#EXTINF:-1 tvg-id="Puls2.pl",Puls 2 (1080i) +http://nowatv.stream2.link:8080/live/64%3A1c%3Ab0%3Aa1%3A48%3Ac1/tfAjswfz6H/e0286f10-a4c8-45fb-983c-f6ebec907fd8.ts +#EXTINF:-1 tvg-id="TVOkazje.pl",TV Okazje (576i) +http://nowatv.stream2.link:8080/live/64%3A1c%3Ab0%3Aa1%3A48%3Ac1/tfAjswfz6H/26e34e37-6cf4-49d8-bcf3-f1a2eac28c57.ts +#EXTINF:-1 tvg-id="TVPuls.pl",TV Puls (1080i) +http://nowatv.stream2.link:8080/live/64%3A1c%3Ab0%3Aa1%3A48%3Ac1/tfAjswfz6H/aeb45398-d540-43df-814d-b9eab064cb13.ts +#EXTINF:-1 tvg-id="TVPuls.pl",TV Puls (1080i) +http://nowatv.stream2.link:8080/live/64%3A1c%3Ab0%3Aa1%3A48%3Ac1/tfAjswfz6H/53c57b24-742a-42d0-ae2b-998408f4c19c.ts +#EXTINF:-1 tvg-id="TV4.pl",TV4 (720p) +http://nowatv.stream2.link:8080/live/64%3A1c%3Ab0%3Aa1%3A48%3Ac1/tfAjswfz6H/85edd39f-d0c7-42ca-b3b4-43c25b427c3a.ts +#EXTINF:-1 tvg-id="TV4.pl",TV4 (1080i) +http://nowatv.stream2.link:8080/live/64%3A1c%3Ab0%3Aa1%3A48%3Ac1/tfAjswfz6H/2b98fc49-f914-4b76-83dc-50a16d039e8f.ts +#EXTINF:-1 tvg-id="SuperPolsat.pl",Super Polsat (720p) +http://nowatv.stream2.link:8080/live/64%3A1c%3Ab0%3Aa1%3A48%3Ac1/tfAjswfz6H/ddd92d16-e9fc-405a-9cde-3b39297dc7db.ts +#EXTINF:-1 tvg-id="SuperPolsat.pl",Super Polsat (1080i) +http://nowatv.stream2.link:8080/live/64%3A1c%3Ab0%3Aa1%3A48%3Ac1/tfAjswfz6H/1e84efe5-b400-470a-847d-2ff4e511fdf6.ts +#EXTINF:-1 tvg-id="PolsatPlay.pl",Polsat Play (1080i) +http://nowatv.stream2.link:8080/live/64%3A1c%3Ab0%3Aa1%3A48%3Ac1/tfAjswfz6H/6fbc38af-7ef3-4997-a9cd-d95f3adffa10.ts +#EXTINF:-1 tvg-id="PolsatPlay.pl",Polsat Play (1080i) +http://nowatv.stream2.link:8080/live/64%3A1c%3Ab0%3Aa1%3A48%3Ac1/tfAjswfz6H/580e1210-a4e7-4538-a335-ba0778c2a88c.ts +#EXTINF:-1 tvg-id="PolsatRodzina.pl",Polsat Rodzina (720p) +http://nowatv.stream2.link:8080/live/64%3A1c%3Ab0%3Aa1%3A48%3Ac1/tfAjswfz6H/426e3874-1088-452b-86b9-d5ffd907645c.ts +#EXTINF:-1 tvg-id="PolsatRodzina.pl",Polsat Rodzina (1080i) +http://nowatv.stream2.link:8080/live/64%3A1c%3Ab0%3Aa1%3A48%3Ac1/tfAjswfz6H/f342f17c-f85c-4940-8192-e12f20065006.ts +#EXTINF:-1 tvg-id="PolsatComedyCentralExtra.pl",Polsat Comedy Central Extra (720p) +http://nowatv.stream2.link:8080/live/64%3A1c%3Ab0%3Aa1%3A48%3Ac1/tfAjswfz6H/dcd9bfb6-3cf1-4ed3-8071-8bb7c5584dd9.ts +#EXTINF:-1 tvg-id="PolsatComedyCentralExtra.pl",Polsat Comedy Central Extra (1080i) +http://nowatv.stream2.link:8080/live/64%3A1c%3Ab0%3Aa1%3A48%3Ac1/tfAjswfz6H/47026565-02f2-49ec-aa83-f0e12630be0d.ts +#EXTINF:-1 tvg-id="PolsatSeriale.pl",Polsat Seriale (720p) +http://nowatv.stream2.link:8080/live/64%3A1c%3Ab0%3Aa1%3A48%3Ac1/tfAjswfz6H/4b49481c-3ec7-4a54-91e1-4406aec5074e.ts +#EXTINF:-1 tvg-id="PolsatSeriale.pl",Polsat Seriale (1080i) +http://nowatv.stream2.link:8080/live/64%3A1c%3Ab0%3Aa1%3A48%3Ac1/tfAjswfz6H/ab79c293-a2d0-4352-addf-3abd775c056a.ts +#EXTINF:-1 tvg-id="PolsatFilm.pl",Polsat Film (720p) +http://nowatv.stream2.link:8080/live/64%3A1c%3Ab0%3Aa1%3A48%3Ac1/tfAjswfz6H/6be8bf64-18d0-49a0-8da9-a2e93359597f.ts +#EXTINF:-1 tvg-id="PolsatFilm.pl",Polsat Film (1080i) +http://nowatv.stream2.link:8080/live/64%3A1c%3Ab0%3Aa1%3A48%3Ac1/tfAjswfz6H/d23ca912-3c76-4384-8609-b3efb74d6860.ts +#EXTINF:-1 tvg-id="PolsatCafe.pl",Polsat Cafe (1080i) +http://nowatv.stream2.link:8080/live/64%3A1c%3Ab0%3Aa1%3A48%3Ac1/tfAjswfz6H/873595c1-87e1-4acb-a856-021ef40de90d.ts +#EXTINF:-1 tvg-id="PolsatCafe.pl",Polsat Cafe (1080i) +http://nowatv.stream2.link:8080/live/64%3A1c%3Ab0%3Aa1%3A48%3Ac1/tfAjswfz6H/842750a0-b7fc-4261-bd56-2a68b03c5a27.ts +#EXTINF:-1 tvg-id="Polsat2.pl",Polsat 2 (1080i) +http://nowatv.stream2.link:8080/live/64%3A1c%3Ab0%3Aa1%3A48%3Ac1/tfAjswfz6H/3313df7a-4f5a-49d4-b75a-d3ed161915ca.ts +#EXTINF:-1 tvg-id="Polsat2.pl",Polsat 2 (1080i) +http://nowatv.stream2.link:8080/live/64%3A1c%3Ab0%3Aa1%3A48%3Ac1/tfAjswfz6H/185dd46e-4702-42ac-84f3-a4ddcfdd9704.ts +#EXTINF:-1 tvg-id="Polsat.pl",Polsat (1080i) +http://nowatv.stream2.link:8080/live/64%3A1c%3Ab0%3Aa1%3A48%3Ac1/tfAjswfz6H/3623e2ea-d0eb-450e-bdbd-8ba4806553a1.ts +#EXTINF:-1 tvg-id="Polsat.pl",Polsat (1080p) +http://nowatv.stream2.link:8080/live/64%3A1c%3Ab0%3Aa1%3A48%3Ac1/tfAjswfz6H/0affc19c-ec65-4558-a9a7-07f0445f341a.ts +#EXTINF:-1 tvg-id="ActiveFamily.pl",Active Family (1080i) +http://nowatv.stream2.link:8080/live/64%3A1c%3Ab0%3Aa1%3A48%3Ac1/tfAjswfz6H/f13879f3-bcd4-4321-9d62-313670edbd64.ts +#EXTINF:-1 tvg-id="StudioMedTV.pl",StudioMed TV (576i) +http://nowatv.stream2.link:8080/live/64%3A1c%3Ab0%3Aa1%3A48%3Ac1/tfAjswfz6H/729629f0-1c3f-4504-a229-17cab8264f6d.ts +#EXTINF:-1 tvg-id="TVTrwam.pl",TV Trwam (1080i) +http://nowatv.stream2.link:8080/live/64%3A1c%3Ab0%3Aa1%3A48%3Ac1/tfAjswfz6H/a221dbe9-fe9c-448b-ac03-c888235c32f9.ts +#EXTINF:-1 tvg-id="HomeTV.pl",Home TV (576i) +http://nowatv.stream2.link:8080/live/64%3A1c%3Ab0%3Aa1%3A48%3Ac1/tfAjswfz6H/cd50060a-0ab8-42c4-a245-473fab0e27a1.ts +#EXTINF:-1 tvg-id="TVC.pl",TVC (576i) +http://nowatv.stream2.link:8080/live/64%3A1c%3Ab0%3Aa1%3A48%3Ac1/tfAjswfz6H/23d51aa6-9daa-45d5-857f-a73f741f0655.ts +#EXTINF:-1 tvg-id="AntenaHD.pl",Antena HD (576p) +http://nowatv.stream2.link:8080/live/64%3A1c%3Ab0%3Aa1%3A48%3Ac1/tfAjswfz6H/648835f7-46e6-4b32-bfae-2536848f708d.ts +#EXTINF:-1 tvg-id="TVPPolonia.pl",TVP Polonia (720p) +http://nowatv.stream2.link:8080/live/64%3A1c%3Ab0%3Aa1%3A48%3Ac1/tfAjswfz6H/c7eebc71-bd18-4042-886c-e9aaefb7477f.ts +#EXTINF:-1 tvg-id="TVPPolonia.pl",TVP Polonia (1080i) +http://nowatv.stream2.link:8080/live/64%3A1c%3Ab0%3Aa1%3A48%3Ac1/tfAjswfz6H/3ab29e79-8cf7-4f7b-9f7d-56ac82451e77.ts +#EXTINF:-1 tvg-id="TVPHistoria.pl",TVP Historia (576i) +http://nowatv.stream2.link:8080/live/64%3A1c%3Ab0%3Aa1%3A48%3Ac1/tfAjswfz6H/1126cb0c-d437-4f64-bd74-e66b085a72ef.ts +#EXTINF:-1 tvg-id="TVPHistoria.pl",TVP Historia (576i) +http://nowatv.stream2.link:8080/live/64%3A1c%3Ab0%3Aa1%3A48%3Ac1/tfAjswfz6H/d19b3e42-40ab-4a06-bfa1-d659d0d0c926.ts +#EXTINF:-1 tvg-id="TVPKultura.pl",TVP Kultura (1080i) +http://nowatv.stream2.link:8080/live/64%3A1c%3Ab0%3Aa1%3A48%3Ac1/tfAjswfz6H/77234e51-d22e-4941-9644-e4537a9f0691.ts +#EXTINF:-1 tvg-id="TVPDokument.pl",TVP Dokument (1080i) +http://nowatv.stream2.link:8080/live/64%3A1c%3Ab0%3Aa1%3A48%3Ac1/tfAjswfz6H/d91afe3f-da34-4537-96b1-02dd5e1dc6eb.ts +#EXTINF:-1 tvg-id="TVPRozrywka.pl",TVP Rozrywka (540i) +http://nowatv.stream2.link:8080/live/64%3A1c%3Ab0%3Aa1%3A48%3Ac1/tfAjswfz6H/6ac08ec1-579b-4033-ab8e-85cdc83b62fe.ts +#EXTINF:-1 tvg-id="TVPRozrywka.pl",TVP Rozrywka (576i) +http://nowatv.stream2.link:8080/live/64%3A1c%3Ab0%3Aa1%3A48%3Ac1/tfAjswfz6H/d4cd00a3-60f5-40dc-bfcf-0c5e228d4dc5.ts +#EXTINF:-1 tvg-id="TVPSeriale.pl",TVP Seriale (360p) +http://nowatv.stream2.link:8080/live/64%3A1c%3Ab0%3Aa1%3A48%3Ac1/tfAjswfz6H/470aea40-e244-4d07-9d03-1305cc51c5eb.ts +#EXTINF:-1 tvg-id="TVPSeriale.pl",TVP Seriale (1080i) +http://nowatv.stream2.link:8080/live/64%3A1c%3Ab0%3Aa1%3A48%3Ac1/tfAjswfz6H/47400c2a-f645-47a3-860a-ee745a2ee678.ts +#EXTINF:-1 tvg-id="TVPHD.pl",TVP HD (720p) +http://nowatv.stream2.link:8080/live/64%3A1c%3Ab0%3Aa1%3A48%3Ac1/tfAjswfz6H/5445b6cd-c1ed-4d3b-be39-55ac3dc85ba8.ts +#EXTINF:-1 tvg-id="TVPHD.pl",TVP HD (1080i) +http://nowatv.stream2.link:8080/live/64%3A1c%3Ab0%3Aa1%3A48%3Ac1/tfAjswfz6H/a8ef46c5-142a-4c2a-bb0d-27fdb7ba3a36.ts +#EXTINF:-1 tvg-id="TVRepublika.pl",TV Republika (1080i) +http://nowatv.stream2.link:8080/live/64%3A1c%3Ab0%3Aa1%3A48%3Ac1/tfAjswfz6H/610afe23-79a2-4d0d-b607-dbbe08297b50.ts +#EXTINF:-1 tvg-id="TVP2.pl",TVP2 (720p) +http://nowatv.stream2.link:8080/live/64%3A1c%3Ab0%3Aa1%3A48%3Ac1/tfAjswfz6H/896c4efd-0a92-4b7a-9152-bfba2ecd12ec.ts +#EXTINF:-1 tvg-id="TVP2.pl",TVP2 (1080p) +http://nowatv.stream2.link:8080/live/64%3A1c%3Ab0%3Aa1%3A48%3Ac1/tfAjswfz6H/5242aace-e131-4449-af51-46207be50da5.ts +#EXTINF:-1 tvg-id="TVP1.pl",TVP1 (1080i) +http://nowatv.stream2.link:8080/live/64%3A1c%3Ab0%3Aa1%3A48%3Ac1/tfAjswfz6H/00eb3d6b-3ce1-4016-aa67-944190ae0103.ts diff --git a/streams/ps.m3u b/streams/ps.m3u index 9e1999514..c7ddf783e 100644 --- a/streams/ps.m3u +++ b/streams/ps.m3u @@ -48,3 +48,5 @@ https://streaming.zaytonatube.com:8081/ShababFM/shabab/index.m3u8 http://htvint.mada.ps:8889/orient/index.m3u8 #EXTINF:-1 tvg-id="WatarTV.ps",Watar TV (720p) [Not 24/7] https://htvint.mada.ps/orient/index.m3u8 +#EXTINF:-1 tvg-id="NablusTV.ps",Nablus TV (1080p) +https://htvint.mada.ps/nabluslive/index.m3u8 diff --git a/streams/pt.m3u b/streams/pt.m3u index b34a62b3c..904aa678d 100644 --- a/streams/pt.m3u +++ b/streams/pt.m3u @@ -99,3 +99,9 @@ https://video-auth4.iol.pt/live_tvi_reality/live_tvi_reality/edge_servers/tvirea https://video-auth2.iol.pt/live_vmais/live_vmais/edge_servers/vmais-720p/playlist.m3u8 #EXTINF:-1 tvg-id="WayTV.pt",Way TV (1080p) http://213.13.26.11:1935/live/sobrenaturaltv/livestream.m3u8 +#EXTINF:-1 tvg-id="ADBTV.pt",ADB TV (1080p) +https://customer-dxeagripmkqbhyeq.cloudflarestream.com/580c36d77be200bf5c7d3efc06487bd4/manifest/video.m3u8 +#EXTINF:-1 tvg-id="NPCRadioeTV.pt",NPC Radio e TV (720p) +https://stmv1.srvif.com/npc/npc/playlist.m3u8 +#EXTINF:-1 tvg-id="TVI.pt",TVI (720p) +https://raw.githubusercontent.com/ipstreet312/freeiptv/master/ressources/tvipt/sh/tvi.m3u8 diff --git a/streams/ro.m3u b/streams/ro.m3u index 852bd705c..518230122 100644 --- a/streams/ro.m3u +++ b/streams/ro.m3u @@ -249,3 +249,6 @@ https://mn-nl.mncdn.com/tvrtgmures_new/smil:tvrtgmures_new.smil/index.m3u8 https://tvr-tvrtimisoara.cdn.zitec.com/live/tvrtimisoara/main.m3u8 #EXTINF:-1 tvg-id="TVSat.ro",TVSat (576p) [Not 24/7] http://89.38.8.130:39443 +#EXTINF:-1 tvg-id="SuperTV.ro" http-referrer="https://supertv.ro",Super TV (1080i) [Not 24/7] +#EXTVLCOPT:http-referrer=https://supertv.ro +https://live.supertv.ro/live/supertv/playlist.m3u8 diff --git a/streams/ru.m3u b/streams/ru.m3u index 6fd79cf09..65124dbb0 100644 --- a/streams/ru.m3u +++ b/streams/ru.m3u @@ -1,8 +1,4 @@ #EXTM3U -#EXTINF:-1 tvg-id="7tv.ru",7 TV -http://v4.proofix.ru/7tv-live/tracks-v1a1/index.m3u8 -#EXTINF:-1 tvg-id="Channel43.ru",43 канал (Туапсе) (720p) -http://sochinskayatrk.ru/hdtv/hls/43Channel_hd/playlist.m3u8 #EXTINF:-1 tvg-id="360.ru",360° (1080p) [Not 24/7] https://edge2-tv-ll.facecast.io/evacoder_hls_hi/CkxfR1xNUAJwTgtXTBZTAJli/index.m3u8 #EXTINF:-1 tvg-id="360.ru",360° (720p) @@ -21,8 +17,6 @@ http://retj.educom.ru/mosobrtv/tv1/index.m3u8 http://retc.educom.ru/mosobrtv/tv1/index.m3u8 #EXTINF:-1 tvg-id="Pro100TV.ru",Pro100TV https://sirius.greenhosting.ru/Pro100tvRu/video.m3u8 -#EXTINF:-1 tvg-id="",Relax -http://185.57.68.33:8091/232/tracks-v1a1/index.m3u8 #EXTINF:-1 tvg-id="RUTV.ru",RU TV https://hls-03-video.webcaramba.com/rutv/live.m3u8 #EXTINF:-1 tvg-id="RussianMusicBox.ru",Russian MusicBox (1080p) @@ -77,8 +71,6 @@ http://serv24.vintera.tv:8081/vetta/vetta_office/playlist.m3u8 http://tele2dvrnat01-02.cdnvideo.ru/stream/NAT_Volga/hls/1920x1080@4504/playlist.m3u8 #EXTINF:-1 tvg-id="Volgograd24.ru",Волгоград 24 https://vgtrkregion-reg.cdnvideo.ru/vgtrk/volgograd/russia1-hd/index.m3u8 -#EXTINF:-1 tvg-id="Gorodskoytelekanal.ru",Городской телеканал (Ярославль) (576p) -https://www.gtk.tv/hls/gtyar.m3u8 #EXTINF:-1 tvg-id="GuberniaSamara.ru",Губерния (Самара) (576p) http://live.guberniatv.cdnvideo.ru/guberniatv/guberniatv.sdp/playlist.m3u8 #EXTINF:-1 tvg-id="TVRain.ru",Дождь (1080p) [Geo-blocked] @@ -159,15 +151,8 @@ https://live-ntm13.cdnvideo.ru/ntm13/smil:ntm13.smil/playlist.m3u8 https://peqk71plnjy.a.trbcdn.net/livemaster/w4kz7pki62_nts_tv/playlist.m3u8 #EXTINF:-1 tvg-id="OSN.ru",ОСН http://osnmedia.servicecdn.ru/streams/17603_88089/playlist.m3u8 -#EXTINF:-1 tvg-id="OstrosyuzhetnoyeHD.ru",Остросюжетное HD -http://213.172.73.133:8081/nimble_live/9009_Остросюжетное_HD/playlist.m3u8 #EXTINF:-1 tvg-id="ChannelOne.ru",Первый канал https://edge1.1internet.tv/dash-live2/streams/1tv-dvr/1tvdash.mpd -#EXTINF:-1 tvg-id="Pobeda.ru" http-referrer="https://pobeda.tv/",Победа (720p) -#EXTVLCOPT:http-referrer=https://pobeda.tv/ -https://pkvc-hls3.cdnvideo.ru/Pobeda/smil:Pobeda.smil/chunklist_b5128000_slru.m3u8 -#EXTINF:-1 tvg-id="PremialnoeHD.ru",Премиальное HD -http://213.172.73.133:8081/nimble_live/9008_Премиальное_HD/playlist.m3u8 #EXTINF:-1 tvg-id="Prima.ru",Прима (1080p) https://tele2dvrnat01-02.cdnvideo.ru/stream/NAT_Prima/hls/index.m3u8 #EXTINF:-1 tvg-id="GovoritMoskva.ru",Радио Говорит Москва (404p) [Not 24/7] @@ -202,14 +187,10 @@ https://sitv.ru/hls/stv.m3u8 http://45.67.57.9:8080/new/new/playlist.m3u8 #EXTINF:-1 tvg-id="SvoyoTV.ru",Своё HD http://live.stv24.tv:8080/svoetv/HQ_video.m3u8 -#EXTINF:-1 tvg-id="Solnce.ru",Солнце -http://tv.mediacdn.ru/live/disney/playlist.m3u8 #EXTINF:-1 tvg-id="Soyuz.ru",Союз (576p) https://hls-tvsoyuz.cdnvideo.ru/tvsoyuz/soyuz/playlist.m3u8 #EXTINF:-1 tvg-id="StranaFM.ru",Страна FM (720p) [Not 24/7] http://live.stranafm.cdnvideo.ru/stranafm/stranafm_hd.sdp/playlist.m3u8 -#EXTINF:-1 tvg-id="STRK.ru",СТРК (720p) [Not 24/7] -http://sochinskayatrk.ru/hdtv/hls/strc_hd/playlist.m3u8 #EXTINF:-1 tvg-id="Surgut24.ru",Сургут 24 (720p) [Not 24/7] https://video1.in-news.ru/c24/index.m3u8 #EXTINF:-1 tvg-id="TVK.ru",ТВК 24 (576p) diff --git a/streams/ru_bonustv.m3u b/streams/ru_bonustv.m3u index 6f8c646d3..9791e65a8 100644 --- a/streams/ru_bonustv.m3u +++ b/streams/ru_bonustv.m3u @@ -1,6 +1,4 @@ #EXTM3U -#EXTINF:-1 tvg-id="9Volna.ru",9 Волна (Черкесск) -http://cdn-01.bonus-tv.ru/9volna/playlist.m3u8 #EXTINF:-1 tvg-id="Channel12.ru",12 канал https://12channel.bonus-tv.ru/cdn/12channel_blackout/playlist.m3u8 #EXTINF:-1 tvg-id="Channel12.ru",12 канал (1080p) @@ -65,8 +63,6 @@ https://cdn-01.bonus-tv.ru/prosveschenie_edge/playlist.m3u8 https://radm.mediacdn.ru/cdn/radost/playlist.m3u8 #EXTINF:-1 tvg-id="Salyam.ru",Салям (Уфа) (576p) https://bsttv.bonus-tv.ru/cdn/salyam/playlist.m3u8 -#EXTINF:-1 tvg-id="SanktPeterburg.ru",Санкт-Петербург -https://streamsrv2.tvspb.ru/OTT/playlist.m3u8 #EXTINF:-1 tvg-id="SvoyoTV.ru",Своё ТВ (Ставрополь) https://svoetv.mediacdn.ru/cdn/svoetv/playlist.m3u8 #EXTINF:-1 tvg-id="Sever.ru",Север (Нарьян-Мар) (1080p) diff --git a/streams/ru_smotrim.m3u b/streams/ru_smotrim.m3u index 932284295..1761da3dd 100644 --- a/streams/ru_smotrim.m3u +++ b/streams/ru_smotrim.m3u @@ -3,14 +3,10 @@ https://live-vgtrksmotrim.cdnvideo.ru/vgtrksmotrim/smotrim-live-04-srt.smil/playlist.m3u8 #EXTINF:-1 tvg-id="360News.ru",360° Новости https://live-vgtrksmotrim.cdnvideo.ru/vgtrksmotrim/smotrim-live-03-srt.smil/playlist.m3u8 -#EXTINF:-1 tvg-id="",Thematical Stream 1 -https://vgtrksmotrim.cdnvideo.ru/hls2/givc11_hd/playlist.m3u8 #EXTINF:-1 tvg-id="",Арктика 24 https://vgtrkregion-reg.cdnvideo.ru/vgtrk/arhangelsk/arktika24-hd/index.m3u8 #EXTINF:-1 tvg-id="",Башкортостан 24 https://vgtrkregion-reg.cdnvideo.ru/vgtrk/ufa/bashkortostan24-hd/index.m3u8 -#EXTINF:-1 tvg-id="Bashkortostan24.ru",Башкортостан 24 (Уфа) -https://vgtrkregion-reg.cdnvideo.ru/vgtrk/ufa/russia1-hd/index.m3u8 #EXTINF:-1 tvg-id="BigAsia.ru",Большая Азия https://live-bigasia.cdnvideo.ru/bigasia/bigasia.smil/playlist.m3u8 #EXTINF:-1 tvg-id="",Вести ФМ diff --git a/streams/tr.m3u b/streams/tr.m3u index 25d22ce0b..a275ed63d 100644 --- a/streams/tr.m3u +++ b/streams/tr.m3u @@ -820,3 +820,5 @@ https://edge.socialsmart.tv/naturaltv/bant1/playlist.m3u8 https://saran-live.ercdn.net/natgeowild/index.m3u8 #EXTINF:-1 tvg-id="NationalGeographicWild.tr",National Geographic Wild (720p) https://tv.arectv29.sbs/live/natgeowild.m3u8 +#EXTINF:-1 tvg-id="NOWTV.tr",NOW TV (720p) +https://uycyyuuzyh.turknet.ercdn.net/nphindgytw/nowtv/nowtv.m3u8 diff --git a/streams/uk.m3u b/streams/uk.m3u index 1fa616c76..eb7459e58 100644 --- a/streams/uk.m3u +++ b/streams/uk.m3u @@ -46,8 +46,6 @@ https://x.canlitvapp.com/u-channel-4/index.m3u8 https://x.canlitvapp.com/u-channel-5/index.m3u8 #EXTINF:-1 tvg-id="ChannelS.uk",Channel S (576p) [Not 24/7] https://cdn149.anystream.uk:8082/g1/tvchsuk03/playlist.m3u8 -#EXTINF:-1 tvg-id="CNBCEurope.uk",CNBC Europe/World (1080p) [Geo-blocked] -https://amg01079-nbcuuk-amg01079c1-samsung-es-1261.playouts.now.amagi.tv/playlist/amg01079-nbcuukfast-cnbcpe-samsunges/playlist.m3u8 #EXTINF:-1 tvg-id="DeenTV.uk",Deen TV (576p) [Not 24/7] https://ap02.iqplay.tv:8082/iqb8002/d33ntv/playlist.m3u8 #EXTINF:-1 tvg-id="E4.uk",E4 diff --git a/streams/us.m3u b/streams/us.m3u index a15484634..e751dfb3e 100644 --- a/streams/us.m3u +++ b/streams/us.m3u @@ -1010,3 +1010,13 @@ https://fastmedia-yu-gi-oh-1-gb.xiaomi.wurl.tv/playlist.m3u8 https://live.zoomnews.info/live/Zoom_playlist.m3u8 #EXTINF:-1 tvg-id="Laff.us",Laff (480p) http://72.46.118.193/Laff/index.m3u8 +#EXTINF:-1 tvg-id="History2LatinAmerica.us",History 2 Latin America +https://cors-proxy.cooks.fyi/https://streamer1.nexgen.bz/HISTORY2/index.m3u8 +#EXTINF:-1 tvg-id="DidgahTV.us",Didgah TV (576p) +https://media.streambrothers.com:1936/8276/8276/playlist.m3u8 +#EXTINF:-1 tvg-id="TinTV.us",Tin TV (720p) +https://tulixcdn.akamaized.net/tintv6/tintv/tintv/playlist.m3u8 +#EXTINF:-1 tvg-id="RJTV.us",RJTV (720p) +https://rjtvhls.wns.live/hls/stream.m3u8 +#EXTINF:-1 tvg-id="PBCTapeshTV.us",PBC Tapesh TV (480p) +https://iptv.tapesh.tv/tapesh/playlist_mid/index.m3u8 From 8f07964dd0098b5c49087aea798dc2a572d9a781 Mon Sep 17 00:00:00 2001 From: "iptv-bot[bot]" <84861620+iptv-bot[bot]@users.noreply.github.com> Date: Wed, 16 Apr 2025 00:11:31 +0000 Subject: [PATCH 85/85] [Bot] Update README.md Committed by [iptv-bot](https://github.com/apps/iptv-bot) via [update](https://github.com/iptv-org/iptv/actions/runs/14481800403) workflow. --- README.md | 252 +++++++++++++++++++++++++++--------------------------- 1 file changed, 126 insertions(+), 126 deletions(-) diff --git a/README.md b/README.md index 93ad85c86..ac0904dc2 100644 --- a/README.md +++ b/README.md @@ -54,35 +54,35 @@ Same thing, but split up into separate files: CategoryChannelsPlaylist - Animation46https://iptv-org.github.io/iptv/categories/animation.m3u + Animation45https://iptv-org.github.io/iptv/categories/animation.m3u Auto14https://iptv-org.github.io/iptv/categories/auto.m3u - Business61https://iptv-org.github.io/iptv/categories/business.m3u + Business60https://iptv-org.github.io/iptv/categories/business.m3u Classic44https://iptv-org.github.io/iptv/categories/classic.m3u - Comedy59https://iptv-org.github.io/iptv/categories/comedy.m3u - Cooking24https://iptv-org.github.io/iptv/categories/cooking.m3u + Comedy60https://iptv-org.github.io/iptv/categories/comedy.m3u + Cooking23https://iptv-org.github.io/iptv/categories/cooking.m3u Culture168https://iptv-org.github.io/iptv/categories/culture.m3u Documentary81https://iptv-org.github.io/iptv/categories/documentary.m3u Education152https://iptv-org.github.io/iptv/categories/education.m3u - Entertainment545https://iptv-org.github.io/iptv/categories/entertainment.m3u + Entertainment541https://iptv-org.github.io/iptv/categories/entertainment.m3u Family35https://iptv-org.github.io/iptv/categories/family.m3u General2346https://iptv-org.github.io/iptv/categories/general.m3u - Kids181https://iptv-org.github.io/iptv/categories/kids.m3u + Kids176https://iptv-org.github.io/iptv/categories/kids.m3u Legislative192https://iptv-org.github.io/iptv/categories/legislative.m3u Lifestyle78https://iptv-org.github.io/iptv/categories/lifestyle.m3u - Movies236https://iptv-org.github.io/iptv/categories/movies.m3u + Movies233https://iptv-org.github.io/iptv/categories/movies.m3u Music664https://iptv-org.github.io/iptv/categories/music.m3u - News767https://iptv-org.github.io/iptv/categories/news.m3u + News766https://iptv-org.github.io/iptv/categories/news.m3u Outdoor40https://iptv-org.github.io/iptv/categories/outdoor.m3u Relax2https://iptv-org.github.io/iptv/categories/relax.m3u Religious692https://iptv-org.github.io/iptv/categories/religious.m3u Science21https://iptv-org.github.io/iptv/categories/science.m3u Series149https://iptv-org.github.io/iptv/categories/series.m3u Shop86https://iptv-org.github.io/iptv/categories/shop.m3u - Sports268https://iptv-org.github.io/iptv/categories/sports.m3u + Sports267https://iptv-org.github.io/iptv/categories/sports.m3u Travel39https://iptv-org.github.io/iptv/categories/travel.m3u Weather13https://iptv-org.github.io/iptv/categories/weather.m3u XXX0https://iptv-org.github.io/iptv/categories/xxx.m3u - Undefined4721https://iptv-org.github.io/iptv/categories/undefined.m3u + Undefined4725https://iptv-org.github.io/iptv/categories/undefined.m3u @@ -150,7 +150,7 @@ Same thing, but split up into separate files: Dutch188https://iptv-org.github.io/iptv/languages/nld.m3u Dyula1https://iptv-org.github.io/iptv/languages/dyu.m3u Egyptian Arabic2https://iptv-org.github.io/iptv/languages/arz.m3u - English2113https://iptv-org.github.io/iptv/languages/eng.m3u + English2112https://iptv-org.github.io/iptv/languages/eng.m3u Estonian9https://iptv-org.github.io/iptv/languages/est.m3u Ewe2https://iptv-org.github.io/iptv/languages/ewe.m3u Faroese1https://iptv-org.github.io/iptv/languages/fao.m3u @@ -185,13 +185,13 @@ Same thing, but split up into separate files: Irish7https://iptv-org.github.io/iptv/languages/gle.m3u Isekiri1https://iptv-org.github.io/iptv/languages/its.m3u Italian288https://iptv-org.github.io/iptv/languages/ita.m3u - Japanese70https://iptv-org.github.io/iptv/languages/jpn.m3u + Japanese69https://iptv-org.github.io/iptv/languages/jpn.m3u Javanese3https://iptv-org.github.io/iptv/languages/jav.m3u Kabiyè1https://iptv-org.github.io/iptv/languages/kbp.m3u Kabyle1https://iptv-org.github.io/iptv/languages/kab.m3u Kannada11https://iptv-org.github.io/iptv/languages/kan.m3u Kapampangan1https://iptv-org.github.io/iptv/languages/pam.m3u - Kazakh29https://iptv-org.github.io/iptv/languages/kaz.m3u + Kazakh28https://iptv-org.github.io/iptv/languages/kaz.m3u Khmer22https://iptv-org.github.io/iptv/languages/khm.m3u Khorasani Turkish1https://iptv-org.github.io/iptv/languages/kmz.m3u Kinyarwanda7https://iptv-org.github.io/iptv/languages/kin.m3u @@ -234,15 +234,15 @@ Same thing, but split up into separate files: Papiamento18https://iptv-org.github.io/iptv/languages/pap.m3u Parsi-Dari3https://iptv-org.github.io/iptv/languages/prd.m3u Pashto16https://iptv-org.github.io/iptv/languages/pus.m3u - Persian138https://iptv-org.github.io/iptv/languages/fas.m3u - Polish152https://iptv-org.github.io/iptv/languages/pol.m3u - Portuguese334https://iptv-org.github.io/iptv/languages/por.m3u + Persian139https://iptv-org.github.io/iptv/languages/fas.m3u + Polish160https://iptv-org.github.io/iptv/languages/pol.m3u + Portuguese337https://iptv-org.github.io/iptv/languages/por.m3u Pulaar1https://iptv-org.github.io/iptv/languages/fuc.m3u Quechua1https://iptv-org.github.io/iptv/languages/que.m3u Romanian127https://iptv-org.github.io/iptv/languages/ron.m3u Romany1https://iptv-org.github.io/iptv/languages/rom.m3u Rundi1https://iptv-org.github.io/iptv/languages/run.m3u - Russian279https://iptv-org.github.io/iptv/languages/rus.m3u + Russian261https://iptv-org.github.io/iptv/languages/rus.m3u Saint Lucian Creole French2https://iptv-org.github.io/iptv/languages/acf.m3u Samoan2https://iptv-org.github.io/iptv/languages/smo.m3u Santali1https://iptv-org.github.io/iptv/languages/sat.m3u @@ -252,7 +252,7 @@ Same thing, but split up into separate files: Slovak49https://iptv-org.github.io/iptv/languages/slk.m3u Slovenian13https://iptv-org.github.io/iptv/languages/slv.m3u Somali11https://iptv-org.github.io/iptv/languages/som.m3u - Spanish2070https://iptv-org.github.io/iptv/languages/spa.m3u + Spanish2071https://iptv-org.github.io/iptv/languages/spa.m3u Sranan Tongo3https://iptv-org.github.io/iptv/languages/srn.m3u Swahili24https://iptv-org.github.io/iptv/languages/swa.m3u Swedish16https://iptv-org.github.io/iptv/languages/swe.m3u @@ -286,7 +286,7 @@ Same thing, but split up into separate files: Yucatec Maya1https://iptv-org.github.io/iptv/languages/yua.m3u Yue Chinese7https://iptv-org.github.io/iptv/languages/yue.m3u Zarma1https://iptv-org.github.io/iptv/languages/dje.m3u - Undefined2889https://iptv-org.github.io/iptv/languages/undefined.m3u + Undefined2885https://iptv-org.github.io/iptv/languages/undefined.m3u @@ -313,14 +313,14 @@ Same thing, but split up into separate files: 🇦🇫 Afghanistan31https://iptv-org.github.io/iptv/countries/af.m3u - 🇦🇱 Albania42https://iptv-org.github.io/iptv/countries/al.m3u + 🇦🇱 Albania41https://iptv-org.github.io/iptv/countries/al.m3u 🇩🇿 Algeria71https://iptv-org.github.io/iptv/countries/dz.m3u 🇦🇸 American Samoa5https://iptv-org.github.io/iptv/countries/as.m3u - 🇦🇩 Andorra34https://iptv-org.github.io/iptv/countries/ad.m3u + 🇦🇩 Andorra33https://iptv-org.github.io/iptv/countries/ad.m3u 🇦🇴 Angola27https://iptv-org.github.io/iptv/countries/ao.m3u 🇦🇮 Anguilla12https://iptv-org.github.io/iptv/countries/ai.m3u 🇦🇬 Antigua and Barbuda13https://iptv-org.github.io/iptv/countries/ag.m3u - 🇦🇷 Argentina222https://iptv-org.github.io/iptv/countries/ar.m3u + 🇦🇷 Argentina223https://iptv-org.github.io/iptv/countries/ar.m3u       Buenos Aires18https://iptv-org.github.io/iptv/subdivisions/ar-b.m3u       Catamarca1https://iptv-org.github.io/iptv/subdivisions/ar-k.m3u       Chaco3https://iptv-org.github.io/iptv/subdivisions/ar-h.m3u @@ -343,31 +343,31 @@ Same thing, but split up into separate files:       Santa Fe3https://iptv-org.github.io/iptv/subdivisions/ar-s.m3u       Santiago del Estero1https://iptv-org.github.io/iptv/subdivisions/ar-g.m3u       Tucuman2https://iptv-org.github.io/iptv/subdivisions/ar-t.m3u - 🇦🇲 Armenia55https://iptv-org.github.io/iptv/countries/am.m3u + 🇦🇲 Armenia52https://iptv-org.github.io/iptv/countries/am.m3u 🇦🇼 Aruba21https://iptv-org.github.io/iptv/countries/aw.m3u - 🇦🇺 Australia38https://iptv-org.github.io/iptv/countries/au.m3u - 🇦🇹 Austria74https://iptv-org.github.io/iptv/countries/at.m3u - 🇦🇿 Azerbaijan49https://iptv-org.github.io/iptv/countries/az.m3u + 🇦🇺 Australia39https://iptv-org.github.io/iptv/countries/au.m3u + 🇦🇹 Austria73https://iptv-org.github.io/iptv/countries/at.m3u + 🇦🇿 Azerbaijan46https://iptv-org.github.io/iptv/countries/az.m3u 🇧🇸 Bahamas15https://iptv-org.github.io/iptv/countries/bs.m3u 🇧🇭 Bahrain46https://iptv-org.github.io/iptv/countries/bh.m3u 🇧🇩 Bangladesh20https://iptv-org.github.io/iptv/countries/bd.m3u 🇧🇧 Barbados13https://iptv-org.github.io/iptv/countries/bb.m3u - 🇧🇾 Belarus50https://iptv-org.github.io/iptv/countries/by.m3u - 🇧🇪 Belgium71https://iptv-org.github.io/iptv/countries/be.m3u + 🇧🇾 Belarus47https://iptv-org.github.io/iptv/countries/by.m3u + 🇧🇪 Belgium70https://iptv-org.github.io/iptv/countries/be.m3u 🇧🇿 Belize9https://iptv-org.github.io/iptv/countries/bz.m3u 🇧🇯 Benin33https://iptv-org.github.io/iptv/countries/bj.m3u 🇧🇲 Bermuda7https://iptv-org.github.io/iptv/countries/bm.m3u 🇧🇹 Bhutan5https://iptv-org.github.io/iptv/countries/bt.m3u - 🇧🇴 Bolivia127https://iptv-org.github.io/iptv/countries/bo.m3u + 🇧🇴 Bolivia128https://iptv-org.github.io/iptv/countries/bo.m3u       Cochabamba1https://iptv-org.github.io/iptv/subdivisions/bo-c.m3u       La Paz2https://iptv-org.github.io/iptv/subdivisions/bo-l.m3u       Oruro1https://iptv-org.github.io/iptv/subdivisions/bo-o.m3u       Santa Cruz2https://iptv-org.github.io/iptv/subdivisions/bo-s.m3u 🇧🇶 Bonaire5https://iptv-org.github.io/iptv/countries/bq.m3u - 🇧🇦 Bosnia and Herzegovina46https://iptv-org.github.io/iptv/countries/ba.m3u + 🇧🇦 Bosnia and Herzegovina45https://iptv-org.github.io/iptv/countries/ba.m3u 🇧🇼 Botswana24https://iptv-org.github.io/iptv/countries/bw.m3u 🇧🇻 Bouvet Island5https://iptv-org.github.io/iptv/countries/bv.m3u - 🇧🇷 Brazil298https://iptv-org.github.io/iptv/countries/br.m3u + 🇧🇷 Brazil301https://iptv-org.github.io/iptv/countries/br.m3u       Alagoas3https://iptv-org.github.io/iptv/subdivisions/br-al.m3u       Amazonas1https://iptv-org.github.io/iptv/subdivisions/br-am.m3u       Bahia5https://iptv-org.github.io/iptv/subdivisions/br-ba.m3u @@ -391,12 +391,12 @@ Same thing, but split up into separate files:       Sao Paulo24https://iptv-org.github.io/iptv/subdivisions/br-sp.m3u 🇻🇬 British Virgin Islands14https://iptv-org.github.io/iptv/countries/vg.m3u 🇧🇳 Brunei17https://iptv-org.github.io/iptv/countries/bn.m3u - 🇧🇬 Bulgaria63https://iptv-org.github.io/iptv/countries/bg.m3u + 🇧🇬 Bulgaria62https://iptv-org.github.io/iptv/countries/bg.m3u 🇧🇫 Burkina Faso26https://iptv-org.github.io/iptv/countries/bf.m3u 🇧🇮 Burundi24https://iptv-org.github.io/iptv/countries/bi.m3u 🇰🇭 Cambodia35https://iptv-org.github.io/iptv/countries/kh.m3u 🇨🇲 Cameroon55https://iptv-org.github.io/iptv/countries/cm.m3u - 🇨🇦 Canada171https://iptv-org.github.io/iptv/countries/ca.m3u + 🇨🇦 Canada172https://iptv-org.github.io/iptv/countries/ca.m3u       Alberta5https://iptv-org.github.io/iptv/subdivisions/ca-ab.m3u       British Columbia5https://iptv-org.github.io/iptv/subdivisions/ca-bc.m3u       Manitoba3https://iptv-org.github.io/iptv/subdivisions/ca-mb.m3u @@ -413,7 +413,7 @@ Same thing, but split up into separate files: 🇰🇾 Cayman Islands12https://iptv-org.github.io/iptv/countries/ky.m3u 🇨🇫 Central African Republic23https://iptv-org.github.io/iptv/countries/cf.m3u 🇹🇩 Chad24https://iptv-org.github.io/iptv/countries/td.m3u - 🇨🇱 Chile265https://iptv-org.github.io/iptv/countries/cl.m3u + 🇨🇱 Chile266https://iptv-org.github.io/iptv/countries/cl.m3u       Atacama1https://iptv-org.github.io/iptv/subdivisions/cl-at.m3u       Biobio3https://iptv-org.github.io/iptv/subdivisions/cl-bi.m3u       Coquimbo1https://iptv-org.github.io/iptv/subdivisions/cl-co.m3u @@ -424,7 +424,7 @@ Same thing, but split up into separate files:       Nuble3https://iptv-org.github.io/iptv/subdivisions/cl-nb.m3u       Valparaiso2https://iptv-org.github.io/iptv/subdivisions/cl-vs.m3u 🇨🇳 China143https://iptv-org.github.io/iptv/countries/cn.m3u - 🇨🇴 Colombia193https://iptv-org.github.io/iptv/countries/co.m3u + 🇨🇴 Colombia194https://iptv-org.github.io/iptv/countries/co.m3u       Antioquia1https://iptv-org.github.io/iptv/subdivisions/co-ant.m3u       Atlantico1https://iptv-org.github.io/iptv/subdivisions/co-atl.m3u       Bolivar1https://iptv-org.github.io/iptv/subdivisions/co-bol.m3u @@ -443,19 +443,19 @@ Same thing, but split up into separate files:       Valle del Cauca5https://iptv-org.github.io/iptv/subdivisions/co-vac.m3u 🇰🇲 Comoros60https://iptv-org.github.io/iptv/countries/km.m3u 🇨🇰 Cook Islands5https://iptv-org.github.io/iptv/countries/ck.m3u - 🇨🇷 Costa Rica136https://iptv-org.github.io/iptv/countries/cr.m3u + 🇨🇷 Costa Rica137https://iptv-org.github.io/iptv/countries/cr.m3u       Puntarenas1https://iptv-org.github.io/iptv/subdivisions/cr-p.m3u       San Jose1https://iptv-org.github.io/iptv/subdivisions/cr-sj.m3u - 🇭🇷 Croatia62https://iptv-org.github.io/iptv/countries/hr.m3u - 🇨🇺 Cuba67https://iptv-org.github.io/iptv/countries/cu.m3u + 🇭🇷 Croatia61https://iptv-org.github.io/iptv/countries/hr.m3u + 🇨🇺 Cuba68https://iptv-org.github.io/iptv/countries/cu.m3u 🇨🇼 Curacao18https://iptv-org.github.io/iptv/countries/cw.m3u - 🇨🇾 Cyprus73https://iptv-org.github.io/iptv/countries/cy.m3u - 🇨🇿 Czech Republic72https://iptv-org.github.io/iptv/countries/cz.m3u + 🇨🇾 Cyprus72https://iptv-org.github.io/iptv/countries/cy.m3u + 🇨🇿 Czech Republic71https://iptv-org.github.io/iptv/countries/cz.m3u 🇨🇩 Democratic Republic of the Congo60https://iptv-org.github.io/iptv/countries/cd.m3u - 🇩🇰 Denmark58https://iptv-org.github.io/iptv/countries/dk.m3u + 🇩🇰 Denmark57https://iptv-org.github.io/iptv/countries/dk.m3u 🇩🇯 Djibouti63https://iptv-org.github.io/iptv/countries/dj.m3u 🇩🇲 Dominica13https://iptv-org.github.io/iptv/countries/dm.m3u - 🇩🇴 Dominican Republic251https://iptv-org.github.io/iptv/countries/do.m3u + 🇩🇴 Dominican Republic252https://iptv-org.github.io/iptv/countries/do.m3u       Distrito Nacional (Santo Domingo)2https://iptv-org.github.io/iptv/subdivisions/do-01.m3u       El Seibo1https://iptv-org.github.io/iptv/subdivisions/do-08.m3u       La Altagracia2https://iptv-org.github.io/iptv/subdivisions/do-11.m3u @@ -466,32 +466,32 @@ Same thing, but split up into separate files:       Santiago1https://iptv-org.github.io/iptv/subdivisions/do-25.m3u       Valverde1https://iptv-org.github.io/iptv/subdivisions/do-27.m3u 🇹🇱 East Timor10https://iptv-org.github.io/iptv/countries/tl.m3u - 🇪🇨 Ecuador138https://iptv-org.github.io/iptv/countries/ec.m3u + 🇪🇨 Ecuador139https://iptv-org.github.io/iptv/countries/ec.m3u       Azuay1https://iptv-org.github.io/iptv/subdivisions/ec-a.m3u       Loja2https://iptv-org.github.io/iptv/subdivisions/ec-l.m3u       Orellana1https://iptv-org.github.io/iptv/subdivisions/ec-d.m3u 🇪🇬 Egypt92https://iptv-org.github.io/iptv/countries/eg.m3u - 🇸🇻 El Salvador99https://iptv-org.github.io/iptv/countries/sv.m3u + 🇸🇻 El Salvador100https://iptv-org.github.io/iptv/countries/sv.m3u 🇬🇶 Equatorial Guinea27https://iptv-org.github.io/iptv/countries/gq.m3u 🇪🇷 Eritrea23https://iptv-org.github.io/iptv/countries/er.m3u - 🇪🇪 Estonia66https://iptv-org.github.io/iptv/countries/ee.m3u + 🇪🇪 Estonia65https://iptv-org.github.io/iptv/countries/ee.m3u 🇪🇹 Ethiopia27https://iptv-org.github.io/iptv/countries/et.m3u 🇫🇰 Falkland Islands5https://iptv-org.github.io/iptv/countries/fk.m3u 🇫🇴 Faroe Islands1https://iptv-org.github.io/iptv/countries/fo.m3u 🇫🇯 Fiji6https://iptv-org.github.io/iptv/countries/fj.m3u - 🇫🇮 Finland63https://iptv-org.github.io/iptv/countries/fi.m3u + 🇫🇮 Finland62https://iptv-org.github.io/iptv/countries/fi.m3u       Keski-Suomi1https://iptv-org.github.io/iptv/subdivisions/fi-08.m3u       Pohjanmaa1https://iptv-org.github.io/iptv/subdivisions/fi-12.m3u - 🇫🇷 France155https://iptv-org.github.io/iptv/countries/fr.m3u - 🇬🇫 French Guiana18https://iptv-org.github.io/iptv/countries/gf.m3u + 🇫🇷 France154https://iptv-org.github.io/iptv/countries/fr.m3u + 🇬🇫 French Guiana19https://iptv-org.github.io/iptv/countries/gf.m3u 🇵🇫 French Polynesia6https://iptv-org.github.io/iptv/countries/pf.m3u 🇹🇫 French Southern Territories23https://iptv-org.github.io/iptv/countries/tf.m3u 🇬🇦 Gabon28https://iptv-org.github.io/iptv/countries/ga.m3u 🇬🇲 Gambia24https://iptv-org.github.io/iptv/countries/gm.m3u - 🇬🇪 Georgia37https://iptv-org.github.io/iptv/countries/ge.m3u - 🇩🇪 Germany249https://iptv-org.github.io/iptv/countries/de.m3u + 🇬🇪 Georgia36https://iptv-org.github.io/iptv/countries/ge.m3u + 🇩🇪 Germany248https://iptv-org.github.io/iptv/countries/de.m3u 🇬🇭 Ghana42https://iptv-org.github.io/iptv/countries/gh.m3u - 🇬🇷 Greece146https://iptv-org.github.io/iptv/countries/gr.m3u + 🇬🇷 Greece145https://iptv-org.github.io/iptv/countries/gr.m3u       Attiki10https://iptv-org.github.io/iptv/subdivisions/gr-i.m3u       Dytiki Ellada5https://iptv-org.github.io/iptv/subdivisions/gr-g.m3u       Dytiki Makedonia2https://iptv-org.github.io/iptv/subdivisions/gr-c.m3u @@ -503,9 +503,9 @@ Same thing, but split up into separate files:       Thessalia4https://iptv-org.github.io/iptv/subdivisions/gr-e.m3u 🇬🇱 Greenland7https://iptv-org.github.io/iptv/countries/gl.m3u 🇬🇩 Grenada12https://iptv-org.github.io/iptv/countries/gd.m3u - 🇬🇵 Guadeloupe26https://iptv-org.github.io/iptv/countries/gp.m3u + 🇬🇵 Guadeloupe27https://iptv-org.github.io/iptv/countries/gp.m3u 🇬🇺 Guam7https://iptv-org.github.io/iptv/countries/gu.m3u - 🇬🇹 Guatemala147https://iptv-org.github.io/iptv/countries/gt.m3u + 🇬🇹 Guatemala148https://iptv-org.github.io/iptv/countries/gt.m3u       Escuintla2https://iptv-org.github.io/iptv/subdivisions/gt-05.m3u       Huehuetenango1https://iptv-org.github.io/iptv/subdivisions/gt-13.m3u       Izabal1https://iptv-org.github.io/iptv/subdivisions/gt-18.m3u @@ -518,11 +518,11 @@ Same thing, but split up into separate files: 🇬🇳 Guinea35https://iptv-org.github.io/iptv/countries/gn.m3u 🇬🇼 Guinea-Bissau23https://iptv-org.github.io/iptv/countries/gw.m3u 🇬🇾 Guyana18https://iptv-org.github.io/iptv/countries/gy.m3u - 🇭🇹 Haiti44https://iptv-org.github.io/iptv/countries/ht.m3u - 🇭🇳 Honduras138https://iptv-org.github.io/iptv/countries/hn.m3u + 🇭🇹 Haiti45https://iptv-org.github.io/iptv/countries/ht.m3u + 🇭🇳 Honduras139https://iptv-org.github.io/iptv/countries/hn.m3u 🇭🇰 Hong Kong14https://iptv-org.github.io/iptv/countries/hk.m3u - 🇭🇺 Hungary138https://iptv-org.github.io/iptv/countries/hu.m3u - 🇮🇸 Iceland33https://iptv-org.github.io/iptv/countries/is.m3u + 🇭🇺 Hungary137https://iptv-org.github.io/iptv/countries/hu.m3u + 🇮🇸 Iceland32https://iptv-org.github.io/iptv/countries/is.m3u 🇮🇳 India304https://iptv-org.github.io/iptv/countries/in.m3u 🇮🇩 Indonesia143https://iptv-org.github.io/iptv/countries/id.m3u       Aceh2https://iptv-org.github.io/iptv/subdivisions/id-ac.m3u @@ -554,15 +554,15 @@ Same thing, but split up into separate files:       Sumatera Barat2https://iptv-org.github.io/iptv/subdivisions/id-sb.m3u       Sumatera Selatan2https://iptv-org.github.io/iptv/subdivisions/id-ss.m3u       Yogyakarta3https://iptv-org.github.io/iptv/subdivisions/id-yo.m3u - 🇮🇷 Iran123https://iptv-org.github.io/iptv/countries/ir.m3u + 🇮🇷 Iran124https://iptv-org.github.io/iptv/countries/ir.m3u 🇮🇶 Iraq108https://iptv-org.github.io/iptv/countries/iq.m3u - 🇮🇪 Ireland57https://iptv-org.github.io/iptv/countries/ie.m3u + 🇮🇪 Ireland56https://iptv-org.github.io/iptv/countries/ie.m3u 🇮🇱 Israel22https://iptv-org.github.io/iptv/countries/il.m3u - 🇮🇹 Italy325https://iptv-org.github.io/iptv/countries/it.m3u + 🇮🇹 Italy324https://iptv-org.github.io/iptv/countries/it.m3u       Trentino-Alto Adige3https://iptv-org.github.io/iptv/subdivisions/it-32.m3u 🇨🇮 Ivory Coast52https://iptv-org.github.io/iptv/countries/ci.m3u 🇯🇲 Jamaica19https://iptv-org.github.io/iptv/countries/jm.m3u - 🇯🇵 Japan68https://iptv-org.github.io/iptv/countries/jp.m3u + 🇯🇵 Japan67https://iptv-org.github.io/iptv/countries/jp.m3u       Chiba2https://iptv-org.github.io/iptv/subdivisions/jp-12.m3u       Gunma1https://iptv-org.github.io/iptv/subdivisions/jp-10.m3u       Ibaraki1https://iptv-org.github.io/iptv/subdivisions/jp-08.m3u @@ -572,34 +572,34 @@ Same thing, but split up into separate files:       Tochigi1https://iptv-org.github.io/iptv/subdivisions/jp-09.m3u       Tokyo1https://iptv-org.github.io/iptv/subdivisions/jp-13.m3u 🇯🇴 Jordan68https://iptv-org.github.io/iptv/countries/jo.m3u - 🇰🇿 Kazakhstan70https://iptv-org.github.io/iptv/countries/kz.m3u + 🇰🇿 Kazakhstan67https://iptv-org.github.io/iptv/countries/kz.m3u 🇰🇪 Kenya63https://iptv-org.github.io/iptv/countries/ke.m3u 🇰🇮 Kiribati5https://iptv-org.github.io/iptv/countries/ki.m3u 🇽🇰 Kosovo10https://iptv-org.github.io/iptv/countries/xk.m3u 🇰🇼 Kuwait53https://iptv-org.github.io/iptv/countries/kw.m3u - 🇰🇬 Kyrgyzstan22https://iptv-org.github.io/iptv/countries/kg.m3u + 🇰🇬 Kyrgyzstan20https://iptv-org.github.io/iptv/countries/kg.m3u 🇱🇦 Laos24https://iptv-org.github.io/iptv/countries/la.m3u - 🇱🇻 Latvia58https://iptv-org.github.io/iptv/countries/lv.m3u + 🇱🇻 Latvia57https://iptv-org.github.io/iptv/countries/lv.m3u 🇱🇧 Lebanon69https://iptv-org.github.io/iptv/countries/lb.m3u 🇱🇸 Lesotho23https://iptv-org.github.io/iptv/countries/ls.m3u 🇱🇷 Liberia24https://iptv-org.github.io/iptv/countries/lr.m3u 🇱🇾 Libya70https://iptv-org.github.io/iptv/countries/ly.m3u - 🇱🇮 Liechtenstein31https://iptv-org.github.io/iptv/countries/li.m3u - 🇱🇹 Lithuania48https://iptv-org.github.io/iptv/countries/lt.m3u - 🇱🇺 Luxembourg57https://iptv-org.github.io/iptv/countries/lu.m3u + 🇱🇮 Liechtenstein30https://iptv-org.github.io/iptv/countries/li.m3u + 🇱🇹 Lithuania47https://iptv-org.github.io/iptv/countries/lt.m3u + 🇱🇺 Luxembourg56https://iptv-org.github.io/iptv/countries/lu.m3u 🇲🇴 Macao7https://iptv-org.github.io/iptv/countries/mo.m3u 🇲🇬 Madagascar23https://iptv-org.github.io/iptv/countries/mg.m3u 🇲🇼 Malawi26https://iptv-org.github.io/iptv/countries/mw.m3u 🇲🇾 Malaysia32https://iptv-org.github.io/iptv/countries/my.m3u 🇲🇻 Maldives15https://iptv-org.github.io/iptv/countries/mv.m3u 🇲🇱 Mali29https://iptv-org.github.io/iptv/countries/ml.m3u - 🇲🇹 Malta46https://iptv-org.github.io/iptv/countries/mt.m3u + 🇲🇹 Malta45https://iptv-org.github.io/iptv/countries/mt.m3u 🇲🇭 Marshall Islands5https://iptv-org.github.io/iptv/countries/mh.m3u - 🇲🇶 Martinique24https://iptv-org.github.io/iptv/countries/mq.m3u + 🇲🇶 Martinique25https://iptv-org.github.io/iptv/countries/mq.m3u 🇲🇷 Mauritania62https://iptv-org.github.io/iptv/countries/mr.m3u 🇲🇺 Mauritius24https://iptv-org.github.io/iptv/countries/mu.m3u 🇾🇹 Mayotte24https://iptv-org.github.io/iptv/countries/yt.m3u - 🇲🇽 Mexico253https://iptv-org.github.io/iptv/countries/mx.m3u + 🇲🇽 Mexico254https://iptv-org.github.io/iptv/countries/mx.m3u       Chihuahua2https://iptv-org.github.io/iptv/subdivisions/mx-chh.m3u       Coahuila de Zaragoza1https://iptv-org.github.io/iptv/subdivisions/mx-coa.m3u       Durango1https://iptv-org.github.io/iptv/subdivisions/mx-dur.m3u @@ -611,10 +611,10 @@ Same thing, but split up into separate files:       San Luis Potosi1https://iptv-org.github.io/iptv/subdivisions/mx-slp.m3u       Yucatan1https://iptv-org.github.io/iptv/subdivisions/mx-yuc.m3u 🇫🇲 Micronesia5https://iptv-org.github.io/iptv/countries/fm.m3u - 🇲🇩 Moldova65https://iptv-org.github.io/iptv/countries/md.m3u - 🇲🇨 Monaco33https://iptv-org.github.io/iptv/countries/mc.m3u + 🇲🇩 Moldova62https://iptv-org.github.io/iptv/countries/md.m3u + 🇲🇨 Monaco32https://iptv-org.github.io/iptv/countries/mc.m3u 🇲🇳 Mongolia24https://iptv-org.github.io/iptv/countries/mn.m3u - 🇲🇪 Montenegro36https://iptv-org.github.io/iptv/countries/me.m3u + 🇲🇪 Montenegro35https://iptv-org.github.io/iptv/countries/me.m3u       Ulcinj1https://iptv-org.github.io/iptv/subdivisions/me-20.m3u 🇲🇸 Montserrat12https://iptv-org.github.io/iptv/countries/ms.m3u 🇲🇦 Morocco75https://iptv-org.github.io/iptv/countries/ma.m3u @@ -623,32 +623,32 @@ Same thing, but split up into separate files: 🇳🇦 Namibia24https://iptv-org.github.io/iptv/countries/na.m3u 🇳🇷 Nauru5https://iptv-org.github.io/iptv/countries/nr.m3u 🇳🇵 Nepal17https://iptv-org.github.io/iptv/countries/np.m3u - 🇳🇱 Netherlands196https://iptv-org.github.io/iptv/countries/nl.m3u + 🇳🇱 Netherlands195https://iptv-org.github.io/iptv/countries/nl.m3u 🇳🇨 New Caledonia5https://iptv-org.github.io/iptv/countries/nc.m3u 🇳🇿 New Zealand24https://iptv-org.github.io/iptv/countries/nz.m3u - 🇳🇮 Nicaragua81https://iptv-org.github.io/iptv/countries/ni.m3u + 🇳🇮 Nicaragua82https://iptv-org.github.io/iptv/countries/ni.m3u 🇳🇪 Niger25https://iptv-org.github.io/iptv/countries/ne.m3u 🇳🇬 Nigeria82https://iptv-org.github.io/iptv/countries/ng.m3u 🇳🇺 Niue5https://iptv-org.github.io/iptv/countries/nu.m3u 🇳🇫 Norfolk Island5https://iptv-org.github.io/iptv/countries/nf.m3u 🇰🇵 North Korea5https://iptv-org.github.io/iptv/countries/kp.m3u - 🇲🇰 North Macedonia65https://iptv-org.github.io/iptv/countries/mk.m3u + 🇲🇰 North Macedonia64https://iptv-org.github.io/iptv/countries/mk.m3u 🇲🇵 Northern Mariana Islands5https://iptv-org.github.io/iptv/countries/mp.m3u - 🇳🇴 Norway38https://iptv-org.github.io/iptv/countries/no.m3u + 🇳🇴 Norway37https://iptv-org.github.io/iptv/countries/no.m3u 🇴🇲 Oman47https://iptv-org.github.io/iptv/countries/om.m3u 🇵🇰 Pakistan39https://iptv-org.github.io/iptv/countries/pk.m3u 🇵🇼 Palau5https://iptv-org.github.io/iptv/countries/pw.m3u 🇵🇸 Palestine63https://iptv-org.github.io/iptv/countries/ps.m3u - 🇵🇦 Panama83https://iptv-org.github.io/iptv/countries/pa.m3u + 🇵🇦 Panama84https://iptv-org.github.io/iptv/countries/pa.m3u 🇵🇬 Papua New Guinea6https://iptv-org.github.io/iptv/countries/pg.m3u - 🇵🇾 Paraguay123https://iptv-org.github.io/iptv/countries/py.m3u + 🇵🇾 Paraguay124https://iptv-org.github.io/iptv/countries/py.m3u       Alto Parana2https://iptv-org.github.io/iptv/subdivisions/py-10.m3u       Boqueron1https://iptv-org.github.io/iptv/subdivisions/py-19.m3u       Caaguazu1https://iptv-org.github.io/iptv/subdivisions/py-5.m3u       Central1https://iptv-org.github.io/iptv/subdivisions/py-11.m3u       Itapua1https://iptv-org.github.io/iptv/subdivisions/py-7.m3u       Presidente Hayes1https://iptv-org.github.io/iptv/subdivisions/py-15.m3u - 🇵🇪 Peru207https://iptv-org.github.io/iptv/countries/pe.m3u + 🇵🇪 Peru208https://iptv-org.github.io/iptv/countries/pe.m3u       Amazonas2https://iptv-org.github.io/iptv/subdivisions/pe-ama.m3u       Ancash1https://iptv-org.github.io/iptv/subdivisions/pe-anc.m3u       Apurimac1https://iptv-org.github.io/iptv/subdivisions/pe-apu.m3u @@ -665,36 +665,36 @@ Same thing, but split up into separate files:       Ucayali2https://iptv-org.github.io/iptv/subdivisions/pe-uca.m3u 🇵🇭 Philippines26https://iptv-org.github.io/iptv/countries/ph.m3u 🇵🇳 Pitcairn Islands5https://iptv-org.github.io/iptv/countries/pn.m3u - 🇵🇱 Poland196https://iptv-org.github.io/iptv/countries/pl.m3u + 🇵🇱 Poland203https://iptv-org.github.io/iptv/countries/pl.m3u 🇵🇹 Portugal83https://iptv-org.github.io/iptv/countries/pt.m3u - 🇵🇷 Puerto Rico99https://iptv-org.github.io/iptv/countries/pr.m3u + 🇵🇷 Puerto Rico100https://iptv-org.github.io/iptv/countries/pr.m3u 🇶🇦 Qatar54https://iptv-org.github.io/iptv/countries/qa.m3u 🇨🇬 Republic of the Congo33https://iptv-org.github.io/iptv/countries/cg.m3u       Brazzaville1https://iptv-org.github.io/iptv/subdivisions/cg-bzv.m3u 🇷🇪 Reunion24https://iptv-org.github.io/iptv/countries/re.m3u - 🇷🇴 Romania143https://iptv-org.github.io/iptv/countries/ro.m3u + 🇷🇴 Romania142https://iptv-org.github.io/iptv/countries/ro.m3u       Gorj1https://iptv-org.github.io/iptv/subdivisions/ro-gj.m3u - 🇷🇺 Russia228https://iptv-org.github.io/iptv/countries/ru.m3u + 🇷🇺 Russia209https://iptv-org.github.io/iptv/countries/ru.m3u 🇷🇼 Rwanda31https://iptv-org.github.io/iptv/countries/rw.m3u - 🇧🇱 Saint Barthélemy20https://iptv-org.github.io/iptv/countries/bl.m3u + 🇧🇱 Saint Barthélemy21https://iptv-org.github.io/iptv/countries/bl.m3u 🇸🇭 Saint Helena23https://iptv-org.github.io/iptv/countries/sh.m3u 🇰🇳 Saint Kitts and Nevis13https://iptv-org.github.io/iptv/countries/kn.m3u 🇱🇨 Saint Lucia13https://iptv-org.github.io/iptv/countries/lc.m3u - 🇲🇫 Saint Martin20https://iptv-org.github.io/iptv/countries/mf.m3u + 🇲🇫 Saint Martin21https://iptv-org.github.io/iptv/countries/mf.m3u 🇵🇲 Saint Pierre and Miquelon7https://iptv-org.github.io/iptv/countries/pm.m3u 🇻🇨 Saint Vincent and the Grenadines12https://iptv-org.github.io/iptv/countries/vc.m3u 🇼🇸 Samoa7https://iptv-org.github.io/iptv/countries/ws.m3u - 🇸🇲 San Marino30https://iptv-org.github.io/iptv/countries/sm.m3u + 🇸🇲 San Marino29https://iptv-org.github.io/iptv/countries/sm.m3u 🇸🇹 Sao Tome and Principe24https://iptv-org.github.io/iptv/countries/st.m3u 🇸🇦 Saudi Arabia90https://iptv-org.github.io/iptv/countries/sa.m3u 🇸🇳 Senegal54https://iptv-org.github.io/iptv/countries/sn.m3u - 🇷🇸 Serbia69https://iptv-org.github.io/iptv/countries/rs.m3u + 🇷🇸 Serbia68https://iptv-org.github.io/iptv/countries/rs.m3u 🇸🇨 Seychelles23https://iptv-org.github.io/iptv/countries/sc.m3u 🇸🇱 Sierra Leone25https://iptv-org.github.io/iptv/countries/sl.m3u 🇸🇬 Singapore21https://iptv-org.github.io/iptv/countries/sg.m3u 🇸🇽 Sint Maarten18https://iptv-org.github.io/iptv/countries/sx.m3u - 🇸🇰 Slovakia92https://iptv-org.github.io/iptv/countries/sk.m3u - 🇸🇮 Slovenia56https://iptv-org.github.io/iptv/countries/si.m3u + 🇸🇰 Slovakia91https://iptv-org.github.io/iptv/countries/sk.m3u + 🇸🇮 Slovenia55https://iptv-org.github.io/iptv/countries/si.m3u 🇸🇧 Solomon Islands5https://iptv-org.github.io/iptv/countries/sb.m3u 🇸🇴 Somalia69https://iptv-org.github.io/iptv/countries/so.m3u 🇿🇦 South Africa61https://iptv-org.github.io/iptv/countries/za.m3u @@ -714,7 +714,7 @@ Same thing, but split up into separate files:       Seoul-teukbyeolsi1https://iptv-org.github.io/iptv/subdivisions/kr-11.m3u       Ulsan-gwangyeoksi1https://iptv-org.github.io/iptv/subdivisions/kr-31.m3u 🇸🇸 South Sudan23https://iptv-org.github.io/iptv/countries/ss.m3u - 🇪🇸 Spain341https://iptv-org.github.io/iptv/countries/es.m3u + 🇪🇸 Spain340https://iptv-org.github.io/iptv/countries/es.m3u       Andalucia38https://iptv-org.github.io/iptv/subdivisions/es-an.m3u       Aragon1https://iptv-org.github.io/iptv/subdivisions/es-ar.m3u       Asturias, Principado de1https://iptv-org.github.io/iptv/subdivisions/es-as.m3u @@ -736,11 +736,11 @@ Same thing, but split up into separate files: 🇸🇩 Sudan66https://iptv-org.github.io/iptv/countries/sd.m3u 🇸🇷 Suriname10https://iptv-org.github.io/iptv/countries/sr.m3u 🇸🇿 Swaziland24https://iptv-org.github.io/iptv/countries/sz.m3u - 🇸🇪 Sweden58https://iptv-org.github.io/iptv/countries/se.m3u - 🇨🇭 Switzerland76https://iptv-org.github.io/iptv/countries/ch.m3u + 🇸🇪 Sweden57https://iptv-org.github.io/iptv/countries/se.m3u + 🇨🇭 Switzerland75https://iptv-org.github.io/iptv/countries/ch.m3u 🇸🇾 Syria46https://iptv-org.github.io/iptv/countries/sy.m3u 🇹🇼 Taiwan29https://iptv-org.github.io/iptv/countries/tw.m3u - 🇹🇯 Tajikistan30https://iptv-org.github.io/iptv/countries/tj.m3u + 🇹🇯 Tajikistan28https://iptv-org.github.io/iptv/countries/tj.m3u 🇹🇿 Tanzania31https://iptv-org.github.io/iptv/countries/tz.m3u 🇹🇭 Thailand75https://iptv-org.github.io/iptv/countries/th.m3u 🇹🇬 Togo36https://iptv-org.github.io/iptv/countries/tg.m3u @@ -748,16 +748,16 @@ Same thing, but split up into separate files: 🇹🇴 Tonga5https://iptv-org.github.io/iptv/countries/to.m3u 🇹🇹 Trinidad and Tobago18https://iptv-org.github.io/iptv/countries/tt.m3u 🇹🇳 Tunisia66https://iptv-org.github.io/iptv/countries/tn.m3u - 🇹🇷 Turkey281https://iptv-org.github.io/iptv/countries/tr.m3u + 🇹🇷 Turkey280https://iptv-org.github.io/iptv/countries/tr.m3u 🇹🇲 Turkmenistan16https://iptv-org.github.io/iptv/countries/tm.m3u 🇹🇨 Turks and Caicos Islands12https://iptv-org.github.io/iptv/countries/tc.m3u 🇹🇻 Tuvalu5https://iptv-org.github.io/iptv/countries/tv.m3u 🇻🇮 U.S. Virgin Islands12https://iptv-org.github.io/iptv/countries/vi.m3u 🇺🇬 Uganda51https://iptv-org.github.io/iptv/countries/ug.m3u - 🇺🇦 Ukraine92https://iptv-org.github.io/iptv/countries/ua.m3u + 🇺🇦 Ukraine91https://iptv-org.github.io/iptv/countries/ua.m3u 🇦🇪 United Arab Emirates88https://iptv-org.github.io/iptv/countries/ae.m3u - 🇬🇧 United Kingdom175https://iptv-org.github.io/iptv/countries/uk.m3u - 🇺🇸 United States1421https://iptv-org.github.io/iptv/countries/us.m3u + 🇬🇧 United Kingdom174https://iptv-org.github.io/iptv/countries/uk.m3u + 🇺🇸 United States1422https://iptv-org.github.io/iptv/countries/us.m3u       Alabama3https://iptv-org.github.io/iptv/subdivisions/us-al.m3u       Alaska2https://iptv-org.github.io/iptv/subdivisions/us-ak.m3u       Arizona13https://iptv-org.github.io/iptv/subdivisions/us-az.m3u @@ -805,11 +805,11 @@ Same thing, but split up into separate files:       Virginia3https://iptv-org.github.io/iptv/subdivisions/us-va.m3u       Washington5https://iptv-org.github.io/iptv/subdivisions/us-wa.m3u       Wisconsin4https://iptv-org.github.io/iptv/subdivisions/us-wi.m3u - 🇺🇾 Uruguay74https://iptv-org.github.io/iptv/countries/uy.m3u - 🇺🇿 Uzbekistan30https://iptv-org.github.io/iptv/countries/uz.m3u + 🇺🇾 Uruguay75https://iptv-org.github.io/iptv/countries/uy.m3u + 🇺🇿 Uzbekistan28https://iptv-org.github.io/iptv/countries/uz.m3u 🇻🇺 Vanuatu5https://iptv-org.github.io/iptv/countries/vu.m3u - 🇻🇦 Vatican City29https://iptv-org.github.io/iptv/countries/va.m3u - 🇻🇪 Venezuela115https://iptv-org.github.io/iptv/countries/ve.m3u + 🇻🇦 Vatican City28https://iptv-org.github.io/iptv/countries/va.m3u + 🇻🇪 Venezuela116https://iptv-org.github.io/iptv/countries/ve.m3u       Aragua2https://iptv-org.github.io/iptv/subdivisions/ve-d.m3u       Lara1https://iptv-org.github.io/iptv/subdivisions/ve-k.m3u 🇻🇳 Vietnam71https://iptv-org.github.io/iptv/countries/vn.m3u @@ -818,7 +818,7 @@ Same thing, but split up into separate files: 🇾🇪 Yemen46https://iptv-org.github.io/iptv/countries/ye.m3u 🇿🇲 Zambia24https://iptv-org.github.io/iptv/countries/zm.m3u 🇿🇼 Zimbabwe24https://iptv-org.github.io/iptv/countries/zw.m3u - Undefined2889https://iptv-org.github.io/iptv/countries/undefined.m3u + Undefined2885https://iptv-org.github.io/iptv/countries/undefined.m3u @@ -845,41 +845,41 @@ Same thing, but split up into separate files: Africa546https://iptv-org.github.io/iptv/regions/afr.m3u - Americas3598https://iptv-org.github.io/iptv/regions/amer.m3u + Americas3602https://iptv-org.github.io/iptv/regions/amer.m3u Arab world402https://iptv-org.github.io/iptv/regions/arab.m3u - Asia2162https://iptv-org.github.io/iptv/regions/asia.m3u + Asia2143https://iptv-org.github.io/iptv/regions/asia.m3u Asia-Pacific1135https://iptv-org.github.io/iptv/regions/apac.m3u Association of Southeast Asian Nations344https://iptv-org.github.io/iptv/regions/asean.m3u - Balkan681https://iptv-org.github.io/iptv/regions/balkan.m3u - Benelux241https://iptv-org.github.io/iptv/regions/benelux.m3u - Caribbean365https://iptv-org.github.io/iptv/regions/carib.m3u - Central America372https://iptv-org.github.io/iptv/regions/cenamer.m3u - Central and Eastern Europe1000https://iptv-org.github.io/iptv/regions/cee.m3u - Central Asia112https://iptv-org.github.io/iptv/regions/cas.m3u - Commonwealth of Independent States373https://iptv-org.github.io/iptv/regions/cis.m3u - Europe2874https://iptv-org.github.io/iptv/regions/eur.m3u - Europe, the Middle East and Africa3785https://iptv-org.github.io/iptv/regions/emea.m3u - European Union1956https://iptv-org.github.io/iptv/regions/eu.m3u - Hispanic America1680https://iptv-org.github.io/iptv/regions/hispam.m3u - Latin America1995https://iptv-org.github.io/iptv/regions/latam.m3u - Latin America and the Caribbean2039https://iptv-org.github.io/iptv/regions/lac.m3u + Balkan680https://iptv-org.github.io/iptv/regions/balkan.m3u + Benelux240https://iptv-org.github.io/iptv/regions/benelux.m3u + Caribbean366https://iptv-org.github.io/iptv/regions/carib.m3u + Central America373https://iptv-org.github.io/iptv/regions/cenamer.m3u + Central and Eastern Europe989https://iptv-org.github.io/iptv/regions/cee.m3u + Central Asia109https://iptv-org.github.io/iptv/regions/cas.m3u + Commonwealth of Independent States354https://iptv-org.github.io/iptv/regions/cis.m3u + Europe2864https://iptv-org.github.io/iptv/regions/eur.m3u + Europe, the Middle East and Africa3776https://iptv-org.github.io/iptv/regions/emea.m3u + European Union1964https://iptv-org.github.io/iptv/regions/eu.m3u + Hispanic America1681https://iptv-org.github.io/iptv/regions/hispam.m3u + Latin America1998https://iptv-org.github.io/iptv/regions/latam.m3u + Latin America and the Caribbean2042https://iptv-org.github.io/iptv/regions/lac.m3u Maghreb90https://iptv-org.github.io/iptv/regions/maghreb.m3u Middle East807https://iptv-org.github.io/iptv/regions/mideast.m3u Middle East and North Africa836https://iptv-org.github.io/iptv/regions/mena.m3u - Nordics112https://iptv-org.github.io/iptv/regions/nord.m3u - North America2419https://iptv-org.github.io/iptv/regions/noram.m3u - Northern America1581https://iptv-org.github.io/iptv/regions/nam.m3u - Northern Europe154https://iptv-org.github.io/iptv/regions/neur.m3u - Oceania54https://iptv-org.github.io/iptv/regions/oce.m3u - South America1258https://iptv-org.github.io/iptv/regions/southam.m3u + Nordics111https://iptv-org.github.io/iptv/regions/nord.m3u + North America2421https://iptv-org.github.io/iptv/regions/noram.m3u + Northern America1582https://iptv-org.github.io/iptv/regions/nam.m3u + Northern Europe153https://iptv-org.github.io/iptv/regions/neur.m3u + Oceania55https://iptv-org.github.io/iptv/regions/oce.m3u + South America1261https://iptv-org.github.io/iptv/regions/southam.m3u South Asia408https://iptv-org.github.io/iptv/regions/sas.m3u Southeast Asia344https://iptv-org.github.io/iptv/regions/sea.m3u Southern Europe1057https://iptv-org.github.io/iptv/regions/ser.m3u Sub-Saharan Africa491https://iptv-org.github.io/iptv/regions/ssa.m3u West Africa253https://iptv-org.github.io/iptv/regions/wafr.m3u - Western Europe782https://iptv-org.github.io/iptv/regions/wer.m3u + Western Europe781https://iptv-org.github.io/iptv/regions/wer.m3u Worldwide57https://iptv-org.github.io/iptv/regions/int.m3u - Undefined2889https://iptv-org.github.io/iptv/regions/undefined.m3u + Undefined2885https://iptv-org.github.io/iptv/regions/undefined.m3u