Moozonian
Web Images Developer News Books Maps Shopping Moo-AI
Showing results for CLASSIC Product HD
GitHub Repo https://github.com/kenkinn/cain_conditionalindependence-

kenkinn/cain_conditionalindependence-

(* This file is maintained by Jinfang Wang (wang@math.s.chiba-u.ac.jp). *) Require Import ssreflect ssrfun ssrnat ssrbool ssralg ssrint. Require Import eqtype seq choice bigop fintype finset finfun. (***********************************************************************************************) (* This file contains the scripts related to the following paper, *) (* `Formalization of Probabilistic Conditional Independence Using Coq/SSReflect` *) (* by Jinfang Wang, Manabu Hagiwara and Mitsuharu Yamamoto, *) (* submitted to ITP2015 for possible publication. *) (* *) (* These scripts are compatiable with Coq v8.4 and SSReflect v.1.5. *) (* This file was last updated on 2015/3/12. *) (* *) (* The theory of cain is built upon a bounded lattice. *) (* L == of eqType is a bounded lattice. *) (* bot == bottom of lattice L. *) (* top == top of lattice L. *) (* meet == the binary meet operator, a function of type L->L->L. *) (* join == the binary meet operator, a function of type L->L->L. *) (* ge x y == returns [true] if [x >= y], where x and y are elements of L. *) (* gt x y == returns [true] if [x >y], where x and y are elements of L. *) (* le x y == returns [true] if [x <= y], where x and y are elements of L. *) (* lt x y == returns [true] if [x <y], where x and y are elements of L. *) (* complement_P x y == a proposision if y is a complement of x. *) (* complement_b x y == returns [true] if y is a complement of x. *) (* com x == the complement of x. *) (* *) (* The following are basic components of a cainoid, a pre-form of a cain. *) (* coins == of choiceType is the set of coins. *) (* dot == the dot product, a function of coins. *) (* Mix x y == the Mixed coin . *) (* bob == the unit coin . *) (* up x == the up coin with raising context x. *) (* down x == the down coin with lowering context x . *) (* coin_prod_atomics == an axiom saying that each coin is a product of *) (* finite number of atom coins. *) (* up_injective up == asserting that [up] is an injective function. *) (* down_injective down == asserting that [down] is an injective function. *) (* [up_injective] and [down_injective] are triky and may be removed. *) (* *) (* The following are the five axioms of a cainoid. *) (* dotC == dot product is commutative. *) (* dotA == dot product is associative. *) (* bob_unitL == bob is a unit element from left. *) (* up_down_unitL x == [up x] is the inverse of [down x]; *) (* that is, [dot (up x) (down x) = bob]. *) (* Mix_up_down x y == a property corresponding to the definition of *) (* conditional desity functions in probability theory. *) (* *) (* Definition of independence and conditional independence. *) (* CIP x y z == a proposition for independence of x and y given z. *) (* IP x y == a proposition for independence of x and y. *) (* acinv (x, y) == defines the inverse of the atom coin [Mix x y]. *) (* dot_inv c == defines the inverse of an arbitrary coin c. *) (* *) (* A cainoid satisfies all properties of an abelian group. *) (* These properties can be put together using the record type ZmodMixin. *) (* zmodMixin == ZmodMixin dotA dotC bob_unitL dotV. *) (* zmodType == ZmodType _ zmodMixin. *) (* x \+ y == notation for dot x y. *) (* why not use the notation " _ . _" ? *) (***********************************************************************************************) Set Implicit Arguments. Unset Strict Implicit. Unset Printing Implicit Defensive. (* (*formalization of the fintary case*) Variable T : finType. Variable D : {set T}. Variable X Y Z : {set T}. (*有限集合*) Definition finjoin (X Y : {set {set T}}) := X :|: Y. Definition finmeet (X Y : {set {set T}}) := X :&: Y. Lemma finjoin_commu : commutative finjoin. Proof. apply/ setUC. Qed. Lemma finjoin_assoc : associative finjoin. Proof. apply/ setUA. Qed. Lemma finjoin_absorp : forall X Y, finmeet X (finjoin X Y) = X. Proof. move=> X Y. rewrite finjoin_commu ; apply/ setKU. Qed. Lemma finmeet_commu : commutative finmeet. Proof. apply/ setIC. Qed. Lemma finmeet_assoc : associative finmeet. Proof. apply/ setIA. Qed. Lemma finmeet_absorp : forall X Y, finjoin X (finmeet X Y) = X. Proof. move=> X Y. rewrite finmeet_commu. apply/ setKI. Qed. Lemma finmeet_distr : forall X Y Z, finmeet X (finjoin Y Z) = finjoin (finmeet X Y) (finmeet X Z). Proof. move=> X Y Z. apply/ setIUr. Qed. Definition fincom (X : {set {set T}}) := ~:X. Lemma fincom_bot : forall X, finmeet X (fincom X) = set0. Proof. move=> X. apply/ setICr. Qed. Lemma fincom_top : forall X, finjoin X (fincom X) = setT. Proof. move=> X. apply/ setUCr. Qed. Record lattice_mixin_of (T : Type) : Type := LatticeMixin { join_op : T -> T -> T; meet_op : T -> T -> T; bot_op : T; top_op : T; _ : commutative join_op; _ : associative join_op; _ : forall x y, meet_op x (join_op x y) = x; _ : commutative meet_op; _ : associative meet_op; _ : forall x y, join_op x (meet_op x y) = x; _ : forall x y z, meet_op x (join_op y z) = join_op (meet_op x y) (meet_op x z); com_op : T -> T; com_op_bot : forall x, meet_op x (com_op x) = bot_op; com_op_top : forall x, join_op x (com_op x) = top_op }. Record lattice : Type := Lattice { carrier :> Type; spec : lattice_mixin_of carrier }. Definition finitary_latticemixin := LatticeMixin finjoin_commu finjoin_assoc finjoin_absorp finmeet_commu finmeet_assoc finmeet_absorp finmeet_distr fincom_bot fincom_top. Canonical fin_lattice := Lattice finitary_latticemixin. (*End of the formalization of the finitary Lattice*) *) (* Basic theories on bounded lattice with a bottom and a top. *) Section Lattice. Parameter L : eqType. Parameters bot top: L. Parameters meet join : L->L->L. Axiom join_commutative : commutative join. Axiom join_associative : associative join. Axiom join_absorption : forall x y, meet x (join x y) = x. Axiom meet_commutative : commutative meet. Axiom meet_associative : associative meet. Axiom meet_absorption : forall x y, join x (meet x y) = x. Axiom meet_distributive : forall x y z, meet x (join y z) = join (meet x y) (meet x z). Lemma join_distributive x y z : join x (meet y z) = meet (join x y) (join x z). Proof. by rewrite [in RHS]meet_distributive [meet _ x]meet_commutative join_absorption [in RHS]meet_commutative [in RHS]meet_distributive join_associative [meet z x]meet_commutative meet_absorption [in RHS]meet_commutative. Qed. Lemma join_idempotent(*冪等性*) : idempotent join. Proof. move=>x. move: (join_absorption x x) => Haj. move: (meet_absorption x (join x x)) => Ham. by rewrite -{2}[in LHS ]Haj. Qed. Lemma meet_idempotent : idempotent meet. Proof. move=>x. move: (meet_absorption x x) => Ham. move: (join_absorption x (meet x x)) => Haj. by rewrite -{2}[in LHS ]Ham. Qed. (* Introduce partial order in L *) Definition ge x y := join x y == x. (* <=> (y <= x) *) Definition gt x y := (ge x y) && (x !=y). (* <=> (y < x) *) Definition le x y := ge y x. (* <=> (x <= y)*) Definition lt x y := (le x y) && (x !=y). (* <=> (x < y)*) Axiom bot_minimum : forall x, ge x bot. Axiom top_maximum : forall x, ge top x. Lemma ge_reflexive : reflexive ge. Proof. by move => x; rewrite /ge join_idempotent. Qed. Lemma ge_transitive : transitive ge. Proof. rewrite /ge => x y z /eqP Hyx /eqP Hxz. apply/eqP. by rewrite -Hyx -[in RHS]Hxz join_associative. Qed. Lemma ge_antisymmetric : antisymmetric ge. (*反対称性、x~y & y~x => x=y*) Proof. rewrite /ge => x y /andP [] /eqP Hxy /eqP <-. by rewrite join_commutative. Qed. Lemma join_ge x y : ge (join x y) x. Proof. rewrite /ge. by rewrite -!join_associative [join y x] join_commutative join_associative join_idempotent. Qed. (* [complement_P x y] is a relation between x and y. *) Definition complement_P x y := (meet x y = bot) /\ (join x y = top). (* [complement_b x y] is [true] if y is a complement of x. *) Definition complement_b x y := (meet x y == bot) && (join x y == top). (* Given x of L, [com x] returns the complement of x. *) Parameter com : L -> L. Axiom com_bot : forall x, meet x (com x) = bot. Axiom com_top : forall x, join x (com x) = top. Lemma complement_eqP x y : complement_P x y <-> (complement_b x y) = true. Proof. apply conj. rewrite /complement_P /complement_b => c. apply /andP. destruct c. by rewrite H H0. rewrite /complement_P /complement_b. case /andP => h1 h2. by apply conj; apply/eqP. Qed. Lemma com_P x : complement_P x (com x). Proof. rewrite /complement_P. apply conj. apply com_bot. apply com_top. Restart. rewrite /complement_P. apply conj. by apply com_bot. by apply com_top. Qed. (* Like [ge], [gt] is also transitive. *) Lemma gt_transitive : transitive gt. Proof. rewrite /gt /transitive. move=>y x z. move /andP. case. move=>gxy nxy. move /andP. case. move=>gyz nyz. rewrite (ge_transitive gxy gyz) /=. (*?*) apply /eqP. case. move=>xz. move:nxy. move /eqP. case. apply:ge_antisymmetric. rewrite gxy. rewrite xz. rewrite gyz. by[]. Restart. rewrite /gt => y x z /andP [] gxy nxy /andP [] gyz nyz. rewrite (ge_transitive gxy gyz) /=. apply/eqP => xz. move: nxy. move/eqP. case. apply: ge_antisymmetric. by rewrite gxy xz gyz. Qed. (* an alternative proof *) Goal transitive gt. Proof. rewrite /gt => y x z /andP [] gxy nxy /andP [] gyz nyz. apply /andP; apply conj. by move: gyz; exact: ge_transitive. apply /negP. move=> /eqP xz. rewrite xz in gxy. move: nyz; move /negP. case. apply/eqP; apply: ge_antisymmetric. by apply /andP. Qed. Lemma top_unique y : (forall x, ge y x) -> y == top. Proof. move => Hge; apply /eqP; apply: ge_antisymmetric. by rewrite Hge top_maximum. Qed. Lemma bot_unique y : (forall x, ge x y) -> y == bot. Proof. move => Hge; apply /eqP; apply: ge_antisymmetric. by rewrite Hge bot_minimum. Qed. Lemma join_bot_unitL x : join bot x = x. Proof. by rewrite join_commutative; move: (bot_minimum x); rewrite/ge=> H; apply /eqP. Qed. Lemma join_bot_unitR x : join x bot = x. Proof. by rewrite join_commutative join_bot_unitL. Qed. Lemma meet_bot_unitL x : meet bot x = bot. Proof. move: (join_bot_unitL x). move=> H. by rewrite -H join_absorption. Qed. Lemma meet_bot_unitR x : meet x bot = bot. Proof. by rewrite meet_commutative meet_bot_unitL. Qed. Lemma join_bot : join bot bot = bot. Proof. by move: (join_bot_unitL bot). Qed. Lemma join_top_unitL x : join top x = top. Proof. by rewrite -(com_top x) join_commutative join_associative join_idempotent. Qed. Lemma join_top_unitR x : join x top = top. Proof. by rewrite join_commutative join_top_unitL. Qed. Lemma meet_top_unitL x : meet top x = x. Proof. move: (top_maximum x); rewrite/ge; move/eqP => join_top. by rewrite -[in LHS]join_top meet_commutative join_commutative join_absorption. Qed. Lemma meet_top_unitR x : meet x top = x. Proof. by rewrite meet_commutative meet_top_unitL. Qed. Lemma complement_unique x y z : (complement_P x y) /\ (complement_P x z) -> y = z. Proof. rewrite/complement_P. case => yCx zCx. move:yCx; case=> xy_bot xy_top. move:zCx; case=>xz_bot xz_top. have Hyxz: join (meet x z) y = y. - rewrite xz_bot. by apply: join_bot_unitL. rewrite -Hyxz. rewrite join_commutative join_distributive [join y x] join_commutative xy_top. move: (meet_top_unitL (join y z)) ; move => Hmeet_top. rewrite Hmeet_top. have Hzxy: join z (meet x y) = z. - by rewrite xy_bot join_commutative join_bot_unitL. rewrite -[in RHS]Hzxy join_distributive [join z x]join_commutative xz_top. move: (meet_top_unitL (join z y)); move => Hmeet_top'. by rewrite Hmeet_top' join_commutative. Qed. Lemma join_eq_bot x y : join x y == bot -> (x == bot) && (y == bot). Proof. suff H: forall x y, join x y == bot -> x == bot. by move => Hjoinbot; apply /andP; split; move: Hjoinbot; [| rewrite join_commutative]; exact: H. move => x0 y0 /eqP H. apply /eqP. apply: ge_antisymmetric. rewrite bot_minimum /ge /=. by rewrite -H -join_associative [join y0 x0]join_commutative join_associative join_idempotent. Qed. Theorem ge_bot : forall x, ge bot x -> x == bot. Proof. by move => x /join_eq_bot /andP []. Qed. Lemma minimum_unique: forall y, (forall x, ge x y) -> y == bot. Proof. move => y Hge. apply /eqP. apply: ge_antisymmetric. by rewrite Hge bot_minimum. Qed. End Lattice. (* >>> Begin formalization of the cainoid. *) Section Cainoid. (* Define coins, the dot product, and atom coins. *) Parameter coins : choiceType. Parameter dot : coins -> coins -> coins. Parameter mix : L -> L -> coins. Definition bob := mix bot bot. Definition up x := mix x bot. Definition down x := mix bot x. (* A coin is built as a product of mixed coins. *) Axiom coin_prod_atomics : forall c:coins, {acs:seq (L*L) | c = \big[dot/bob]_(ac <- acs) mix ac.1 ac.2}. (* [up] and [down] are both injective functions. *) Axiom up_injective : injective up. Axiom down_injective : injective down. (* Axioms of a cainoid. *) (* These axioms determine the properties of the dot product. *) Axiom dotC : commutative dot. Axiom dotA : associative dot. Axiom bob_unitL : left_id bob dot. Axiom up_down_unitL : forall x, dot (up x) (down x) = bob. Axiom mix_up_down : forall x y, x != bot -> mix x y = dot (up (join x y)) (down y). (* Basic properties on [bob], the unit of a cainoid. *) Lemma bob_unitR : right_id bob dot. Proof. by move=>x; rewrite dotC bob_unitL. Qed. Lemma down_up_unitL : forall x, dot (down x) (up x) = bob. Proof. by move=> x; rewrite dotC; apply up_down_unitL. Qed. Lemma up_bot_bob : up bot = bob. Proof. done. Qed. Lemma down_bot_bob : down bot = bob. Proof. by[]. Qed. Lemma mix_bot_bot_bob : mix bot bot = bob. Proof. by[]. Qed. Lemma lemma1_1 x : mix x x = bob. Proof. move: (altP (x =P bot)). (*move: (altP (x =P bot)) + caseで場合分け*) case. move=> H. rewrite H. by[]. move=> Hxneqbob. rewrite mix_up_down. rewrite join_idempotent. rewrite up_down_unitL. by[]. Restart. case: (altP (x =P bot)) => [-> | Hxneqbob] //. by rewrite mix_up_down // join_idempotent up_down_unitL. Qed. Lemma lemma1_2 x y : ge x y -> mix x y = dot (up x) (down y). Proof. have [->| Hxneqbob] := altP (x =P bot). (*altP~をスタックのトップに追加し[]があるためcaseを行う。さらに[]の中の->で1サブゴールで出てくるトップを代入する。|の後ろは2サブゴールのトップの名前。*) - move/ge_bot => /eqP ->. (*-は意味なし*) (*by rewrite up_bot_bob down_bot_bob bob_unitL.*) by rewrite up_down_unitL. - by rewrite mix_up_down // /ge => /eqP ->. Qed. Lemma lemma1_3 x y w : x != bot -> ge (join x y) w -> mix x y = mix (join x w) y. Proof. move => Hxneqbot. rewrite /ge !mix_up_down //. - move/eqP => <-. by rewrite -!join_associative [join y w]join_commutative. - apply/eqP => /eqP /join_eq_bot /andP [] /eqP. by move/eqP: Hxneqbot. Qed. (* This lemma concerns transforming a coin identity to another coin identity, by dividing an [up] or [down] coin, or equivalently, by multypling a corresponding [down] or [up] coin. *) Lemma div_up_down : forall (A B : coins) (x : L), dot A (down x) = B <-> A = dot B (up x). Proof. split. - by move=> h; rewrite -[in RHS]h -dotA [dot (_ x) (_ x)]dotC up_down_unitL bob_unitR. - by move=> h; rewrite h -dotA up_down_unitL bob_unitR. Qed. (* Representation of lattice order by a coin identity. *) (* [x <= y] if and only if [mix x y = 1]. *) (*prop1*) Lemma le_mix_bob_eq : forall x y, x != bot -> (le x y <-> mix x y = bob). Proof. split. - rewrite /le /ge mix_up_down; last by[]. rewrite div_up_down bob_unitL join_commutative. by move /eqP ->. - rewrite mix_up_down; last by[]. rewrite div_up_down bob_unitL. move=> Hup. apply up_injective in Hup. move /eqP in Hup. by rewrite /le /ge join_commutative. Qed. Lemma mix_up_ge_down: forall x y, ge x y -> mix x y = dot (up x) (down y). Proof. move => x y. have [-> | Hxneqbob] := altP (x =P bot). - move/ge_bot => /eqP ->. by rewrite up_bot_bob down_bot_bob bob_unitL. - by rewrite mix_up_down // /ge => /eqP ->. Qed. Lemma mix_join_ge_down: forall x y w, x != bot -> ge (join x y) w -> mix x y = mix (join x w) y. Proof. move => x y w Hxneqbot. rewrite /ge !mix_up_down //. - move/eqP => <-. by rewrite -!join_associative [join y w]join_commutative. - apply/eqP => /eqP /join_eq_bot /andP [] /eqP. by move/eqP: Hxneqbot. Qed. Theorem Bayes_Theorem: forall x y, x != bot -> y != bot -> mix x y = dot (mix y x) (dot (up x) (down y)). Proof. move=> x y Hx Hy. rewrite [in RHS]mix_up_down; last exact. by rewrite dotA -![dot (dot (up _) _) _]dotA [dot (_ x) (_ x)]dotC up_down_unitL bob_unitL join_commutative mix_up_down. Qed. Lemma div_down_right: forall A B x, dot A (down x) = B -> A = dot B (up x). Proof. move=> A B x <-. by rewrite -dotA [dot (_ x) _]dotC up_down_unitL dotC bob_unitL. Qed. (* >>> inverse coins*) (* [acinv (x, y)] defines the inverse of the atom coin [mix x y]. *) Definition acinv (ac : L * L) := let: (x, y) := ac in if x == bot then up y else dot (up y) (down (join x y)). (* Now show that [acinv (x, y)] is indeed the inverse of [mix x y]. *) Lemma acinvN : forall ac : L * L, dot (acinv ac) (mix ac.1 ac.2) = bob. Proof. move => [x y] /=. case: (altP (x =P bot)) => [-> | xneqbot]; first by exact: up_down_unitL. rewrite mix_up_down // -dotA [x in dot _ x]dotA. by rewrite [dot (down _) (up _)]dotC !(up_down_unitL, bob_unitL). Qed. (* A cainoid is an abelian group. To show this fact we first show that there exists an inverse coin for an arbitrary coin in a cainoid. *) Lemma dot_inv_sig: forall c:coins, {d | dot d c = bob}. Proof. move => c. case: (coin_prod_atomics c) => acs ->. elim: acs => [| ac acs [d Hd]] ; first by exists bob; rewrite big_nil bob_unitL. exists (dot d (acinv ac)). by rewrite big_cons -dotA [dot (acinv _) (dot _ _)]dotA acinvN bob_unitL. Qed. (* The following function [dot_inv], of type [coins -> coins], defines an inverse for an arbitrary coin of a cainoid. *) Definition dot_inv (c:coins) := sval (dot_inv_sig c). (* The definition for [dot_inv] is indeed a right one. *) Lemma dotV : left_inverse bob dot_inv dot. Proof. move => c. exact: (svalP (dot_inv_sig c)). Qed. (* A cainoid has all properties of an Abelian group. *) (* Now we put all these relevant properties together. *) Definition zmodMixin := ZmodMixin dotA dotC bob_unitL dotV. Canonical zmodType := ZmodType _ zmodMixin. (* Now we introduce the usual plus notation for abelian groups. *) Notation "x \+ y" := (dot x y)(at level 50, left associativity). (* All the properties known to abelian groups can now be exported to a cainoid directly. *) Lemma dotrC: forall a b, a \+ b = b \+ a. Proof. by apply: GRing.addrC. Qed. Lemma dotrA: forall x y z, x \+ (y \+ z) = (x \+ y) \+ z. Proof. by apply: GRing.addrA. Qed. Example dotrA': forall x y z, (x \+ y) \+ z = x \+ (y \+ z). Proof. move=> x y z; apply: Logic.eq_sym; exact: GRing.addrA. Qed. Example dotrA'': forall x y z, (x \+ y) \+ z = x \+ (y \+ z). Proof. move=> x y z; by rewrite dotrA. Qed. Lemma dotrAC: forall x y z, x \+ y \+ z = x \+ z \+ y. Proof. move=> x y z. by rewrite -dotrA [y \+ z]dotrC dotrA. Qed. Lemma dotrACA :forall x y z t, (x \+ y) \+ (z \+ t) = (x \+ z) \+ (y \+ t). Proof. exact: GRing.addrACA. Qed. Example dotr_perm :forall a b c d, a \+ b \+ c \+ d = d \+ c \+ b \+ a. Proof. move=> a b c d. by rewrite [_ \+ d]dotrC [(_ \+ _) \+ c]dotrC [a \+ b]dotrC [d \+ (c \+ _)]dotrA [_ \+ (b \+ a)]dotrA. Qed. (* In an abelian group, the unit element is 0. *) (* So in the ring scope (%R), bob corresponds to 0. *) Lemma bob0 : bob = 0%R. Proof. done. Qed. Lemma dot0r: forall x, bob \+ x = x. Proof. exact: GRing.add0r. Qed. Lemma dotr0: forall x, x \+ bob = x. Proof. exact: GRing.addr0. Qed. Lemma dotNr :forall x, (dot_inv x) \+ x = bob. Proof. exact: GRing.addNr. Qed. End Cainoid. (* The following are experimental *) (* updated 2015/3/26 *) (* Axioms from classic logic *) Axiom peirce_axiom : forall P Q: Prop, ((P->Q)->P)->P. Axiom classic_axiom : forall P:Prop, ~ ~P -> P. Axiom excluded_middle_axiom : forall P:Prop, P \/ ~P. Axiom de_morgan_not_and_not_axiom : forall P Q:Prop, ~(~P /\ ~Q) -> P\/Q. Axiom implies_to_or_axiom : forall P Q:Prop, (P->Q) -> (~P\/Q). Definition peirce := forall P Q: Prop, ((P->Q)->P)->P. Definition classic := forall P:Prop, ~ ~P -> P. Definition excluded_middle := forall P:Prop, P \/ ~P. Definition de_morgan_not_and_not := forall P Q:Prop, ~(~P/\~Q) -> P\/Q. Definition implies_to_or := forall P Q:Prop, (P->Q) -> (~P\/Q). Lemma or_imply_and: forall A B C:Prop, (A \/ B -> C) -> (A->C) /\ (B->C). Proof. move=> A B C H. apply conj. by move=>HA; apply: H; left . by move=>HB; apply: H; right . Qed. (* de Morgran's law: part 1 *) (* previously named not_a_or_b_implies_not_a_and_not_b *) Lemma morgan_not_or: forall (A B : Prop), ~(A \/ B) -> ~A /\ ~B. Proof. move=> A B. rewrite/not. by apply or_imply_and. Qed. (* an alternative proof *) Theorem not_a_or_b_implies_not_a_and_not_b : forall A B, ~ (A \/ B) -> (~ A) /\ (~ B). Proof. move=>A B nAB. split. by move=> HA; apply: nAB; left. by move=> HB; apply: nAB; right. Qed. Theorem peirce_implies_classic : peirce -> classic. Proof. rewrite /peirce /classic. move=> p P nnP; rewrite /not in nnP. by apply p with (Q := False). Qed. (* alternativ coq-proof *) Theorem peirce_implies_classic'': peirce -> classic. Proof. unfold peirce. unfold classic. intros p P nnP. unfold not in nnP. apply p with (Q := False). intros h. apply nnP in h. inversion h. Qed. Theorem classic_implies_peirce : classic -> peirce. Proof. rewrite/classic /peirce. move => nnp P Q HPQ. apply: nnp => np. by apply np; apply: HPQ. Qed. Lemma classic_eq_peirce : classic <-> peirce. Proof. apply conj. by apply classic_implies_peirce. by apply peirce_implies_classic. Qed. Example classic_implies_peirce': forall P Q: Prop, (~ ~P -> P) -> (((P->Q)->P)->P). Proof. move=> P Q nnP H. apply: nnP => nP. by apply nP; apply: H. Qed. Theorem classic_implies_excluded_middle : classic -> excluded_middle. Proof. rewrite /classic /excluded_middle => c P. apply: c. move=> h. apply not_a_or_b_implies_not_a_and_not_b in h. by destruct h as [nh nnh]. Qed. Example classic_implies_excluded_middle': forall P, (P \/ ~ P). Proof. move=>P; move:classic_axiom => c. move: (c (P\/~P)) => HPoP; apply: HPoP. move=> nnPoP. apply not_a_or_b_implies_not_a_and_not_b in nnPoP. by destruct nnPoP. Qed. Theorem excluded_middle_implies_classic : excluded_middle -> classic. Proof. rewrite /excluded_middle /classic. move=> em P nnP. by destruct (em P). Qed. (* an alternative proof *) Theorem excluded_middle_implies_classic' : excluded_middle -> classic. Proof. rewrite /excluded_middle /classic. move=> em P nnP. move: (em (P\/~P))=> H. destruct H as [PnP | nPnP]. by destruct PnP as [HP | HnP]. apply not_a_or_b_implies_not_a_and_not_b in nPnP. by destruct nPnP. Qed. Theorem classic_implies_de_morgan_not_and_not : classic -> de_morgan_not_and_not. Proof. rewrite /classic /de_morgan_not_and_not. move=> c P Q H; move: (c (P\/Q)). apply. move=> H1. by apply not_a_or_b_implies_not_a_and_not_b in H1. Qed. (* an alternative proof *) Theorem classic_implies_de_morgan_not_and_not' : classic -> de_morgan_not_and_not. Proof. rewrite /classic /de_morgan_not_and_not. move=> c P Q H; apply: c; move=> h. by apply not_a_or_b_implies_not_a_and_not_b in h. Qed. Theorem de_morgan_not_and_not_implies_excluded_middle : de_morgan_not_and_not -> excluded_middle. Proof. rewrite /de_morgan_not_and_not /excluded_middle. move=>dm P. apply: dm =>H. by destruct H. Qed. Theorem de_morgan_not_and_not_implies_classic : de_morgan_not_and_not -> classic. Proof. rewrite /de_morgan_not_and_not /classic. move=> dm P nnP. move: (dm P P)=> H. have t: P \/ P -> P. by case. apply:t; apply H; move=> h. by destruct h. Qed. (* an alternative proof using what have already been proved.*) Goal de_morgan_not_and_not -> classic. Proof. move=> dm. by apply excluded_middle_implies_classic; apply de_morgan_not_and_not_implies_excluded_middle; apply dm. Qed. Theorem excluded_middle_implies_implies_to_or: excluded_middle -> implies_to_or. Proof. rewrite /excluded_middle /implies_to_or. move=> em P Q h. destruct (em P). by right; apply: h. by left. Qed. Theorem implies_to_or_implies_excluded_middle: implies_to_or -> excluded_middle. Proof. rewrite /implies_to_or /excluded_middle. move=> to P. destruct (to P P) . by[]. by right. by left. Qed. (* beginner's proof *) Theorem implies_to_or_implies_excluded_middle' : implies_to_or -> excluded_middle. Proof. rewrite /implies_to_or /excluded_middle. move=> to P. move: (to P P) => H. suff: ~ P \/ P -> P \/ ~ P. by move=> h; apply h; apply H. move=> PnP; destruct PnP. by right. by left. Qed. (* previously known as not_a_and_b_implies_not_a_or_not_b *) Theorem morgan_not_and : forall A B, ~ (A /\ B) -> (~ A) \/ (~ B). Proof. move=>A B nAB. move: not_a_or_b_implies_not_a_and_not_b => dm. move: (dm (~A) (~B)) => Hdm. move: excluded_middle_axiom => em. move: (em (~A \/ ~B)) => Hem. destruct Hem. by[]. apply Hdm in H; destruct H as [ h1 h2]. apply classic_axiom in h1. apply classic_axiom in h2. by have t: A /\ B. Qed. (* proof by contradiction *) Lemma contradiction : forall P Q : Prop, (~Q -> ~P) <-> (P -> Q). Proof. move=> P Q. apply conj. move=> nQnP HP. move: excluded_middle_axiom => em. move: (em Q) => emQ. destruct emQ as [q | nq]. by[]. by apply nQnP in nq. move=> H Hq. move/H. by[]. Qed. (* an example using contradiction Lemma *) Example de_morgan_not_and : forall A B, ~ (A /\ B) -> (~ A) \/ (~ B). Proof. move=>A B; apply contradiction. move=> H. apply not_a_or_b_implies_not_a_and_not_b in H. move=>h; apply: h. by destruct H as [HA HB]; apply classic_axiom in HA; apply classic_axiom in HB. Qed. Lemma not_not_and_double_not: forall P Q: Prop, ~(~P /\ ~Q) -> ~ ~ P \/ ~ ~ Q . Proof. by move=>P Q H; apply de_morgan_not_and in H. Qed. Goal forall P Q:Prop, ~(~P /\ ~Q) -> P\/Q. Proof. move=> P Q H. apply de_morgan_not_and in H. destruct H as [HP | HQ]. apply classic_axiom in HP; by left. apply classic_axiom in HQ; by right. Qed. (* prove properties for [gt] *) (* Students should fill in here. *) (* prove the same properties for [le] *) (* Students should fill in here. *) (* prove the same properties for [lt] *) (* Students should fill in here. *) (* prove properties for [le] and [lt] *) (* Students should fill in here. *) (* [remove_last] removes the last element of a list. *) Fixpoint remove_last (T:Type) (l: seq T) := let l' := rev l in match l' with | nil => nil | h::t => rev t end. (* [tail] removes the first element of a list. *) Fixpoint tail (T:Type) (l: seq T) := match l with | [::] => [::] | _::t => t end. (* [big_cons] defines the rule for recursive computation. *) (* [big_cons_dot] (probably not needed) is a special case of [big_cons], with dot operator of coins: c1...cn = c1.(c2...cn) *) Lemma big_cons_dot: forall (cs: seq coins), \big[dot/bob]_(c <- cs) c = let first := head bob cs in dot first (\big[dot/bob]_(c <- tail cs) c). Proof. move=> cs. case: cs. rewrite big_nil /=. by rewrite bob_unitL. move=> a l. by rewrite big_cons /=. Qed. (* Power of a coin, [ncoins n c =c...c]. *) Definition ncoins n c := \big[dot/bob]_(i <- nseq n c) i. (* alternative definition of power using [iter]. *) Definition ncoins' n c := if (n==0) then bob else (iter n.-1 (dot c) c). (* power of a raising/lowering coin *) Definition nups n x := ncoins n (up x). Definition ndowns n x := ncoins n (down x). Lemma updownnK : forall n x, dot (nups n x) (ndowns n x) = bob. Proof. (* FILL IN HERE *) Admitted. Lemma ncoins1': forall n c, ncoins' n.+1 c = dot (ncoins' n c) c. Proof. case. move=>c. by rewrite /ncoins' /= bob_unitL. rewrite /ncoins'/=; move=> n c; by rewrite dotC. Qed. Lemma ncoins0_bob : forall x, ncoins 0 x = bob. Proof. by move => x; rewrite /ncoins big_nil. Qed. Lemma up_power0_bob : forall x, nups 0 x = bob. Proof. move=> x. rewrite /nups /ncoins big_cons_dot/=; by rewrite big_nil bob_unitR. Qed. Lemma down_power0_bob : forall x, ndowns 0 x = bob. Proof. move=> x. rewrite /ndowns /ncoins big_cons_dot /=; by rewrite big_nil bob_unitR. Qed. Lemma up_power1 : forall x, nups 1 x = up x. Proof. move=> x. rewrite /nups /ncoins big_cons_dot /=. by rewrite big_nil bob_unitR. Qed. Lemma down_power1 : forall x, ndowns 1 x = down x. Proof. move=> x. rewrite /ndowns /ncoins big_cons_dot /=; by rewrite big_nil bob_unitR. Qed. Lemma updown1K : forall x, dot (nups 1 x) (ndowns 1 x) = bob. Proof. by move=> x; rewrite up_power1 down_power1 up_down_unitL. Qed. Example up3 : forall x, nups 3 x = ncoins' 3 (up x). Proof. move=>x. rewrite /nups /ncoins /ncoins'. do 3! rewrite big_cons_dot /=. (* big_cons is also ok. *) by rewrite big_nil bob_unitR. Qed. Example down3 : forall x, ndowns 3 x = ncoins' 3 (down x). Proof. move=>x. rewrite /ndowns /ncoins /ncoins'. do 3! rewrite big_cons/=. by rewrite big_nil bob_unitR. Qed. Lemma nups_eq : forall n x, nups n x = ncoins' n (up x). Proof. move=> n x. rewrite /nups /ncoins /ncoins' big_cons_dot /=. elim n. by rewrite big_nil bob_unitL /=. move=> m iH. rewrite big_cons_dot /=. rewrite iH /=. case m=> /=. by rewrite bob_unitR. by[]. Qed. Lemma ndowns_eq : forall n x, ndowns n x = ncoins' n (down x). Proof. move=> n x. rewrite /ndowns /ncoins /ncoins' big_cons_dot /=. elim n => /=. by rewrite big_nil bob_unitL /=. move=> m iH. rewrite big_cons_dot /= iH. case m =>/=. by rewrite bob_unitR /=. done. Qed. Lemma ncoins2_eq: forall n x, ncoins n x = ncoins' n x. Proof. move=> n x. rewrite /ncoins /ncoins' big_cons_dot /=. elim n =>/=. by rewrite big_nil bob_unitL /=. move=> m iH. rewrite big_cons_dot /= iH. case m =>/=. by rewrite bob_unitR. done. Qed. Lemma nupdownK : forall n x, dot (nups n x) (ndowns n x) = bob. Proof. move=> n x; rewrite nups_eq ndowns_eq. elim n. by rewrite /ncoins' /=; rewrite bob_unitL. move=> m iH. do 2! rewrite ncoins1'. have ac: forall a b, dot a b = bob -> dot (dot a (up x)) (dot b (down x)) = bob. - move=> a b ih. - by rewrite -!dotA [ dot _ (dot b _)] dotA [dot _ b] dotC -![dot (dot b _) _]dotA up_down_unitL bob_unitR ih. by rewrite ac. Qed. (* work from here *) (* 2015/3/27 *) (* working with integers using library [ssrint]. *) Require Import ssrint. (* addition of two integers *) Definition addz := intZmod.addz. (* negative numbers are denoted by [Negz n] == -(n+1). *) Eval compute in addz 1 2. Eval compute in addz 3 (-1). Eval compute in addz 1 (Negz 0). Eval compute in addz 1 (Negz 1). (* Opposite of an integer n, [oppz n] == -n. For instance, oppz Posz 0 == Posz 0, oppz Posz n.+1 == Neg n, oppz Negz 0 == Posz 1, oppz Negz n == Posz n.+1. *) Definition oppz := intZmod.oppz. Eval compute in addz 1 (oppz 1). Eval compute in addz (Negz 3) (oppz (Negz 3)). Goal forall n, addz n (oppz n) = Posz 0. Proof. (* FILL IN LINES HERE *) Admitted. (* Notations for integers, addition, and subtraction. (1) 1,2,3, etc. also stand for int, when coerced, eg. 1+1. (2) - 1%:Z, - 2%:Z, -3%:Z, stand for negative integers, -1, -2, -3, etc.. (3) m+n, integer addition for any m, n integers, e.g., 1+2, - 5%:Z + - 7%:Z, etc.. (4) m-n, integer subtraction for any m, n integers, e.g., 1-7%:Z, - 5%:Z - 7%:Z, etc.. *) (* 2015/3/27 *) Local Open Scope int_scope. Local Notation "0" := (Posz 0) : int_scope. Local Notation "-%Z" := (@oppz) : int_scope. Local Notation "- x" := (oppz x) : int_scope. Local Notation "+%Z" := (@addz) : int_scope. Local Notation "x + y" := (addz x y) : int_scope. Local Notation "x - y" := (x + - y) : int_scope. (* addition of two integers *) Eval compute in 0 + 0. Eval compute in 3+0. Eval compute in Negz 3 + 4. Eval compute in 4 + Negz 3. Eval compute in Negz 3 + Negz 3. Goal forall m n:nat, addz m n = addn m n. Proof. (* FILL IN LINES HERE *) Admitted. (* to confirm the useage of the notations *) (* the oppsite numbers *) Goal -(-0)=0. Proof. by[]. Qed. Goal -(-1) = 1. Proof. by[]. Qed. Goal -(-2%:Z) = 2%:Z. Proof. by[]. Qed. Goal -(-2%:Z) = 2. Proof. by[]. Qed. Goal - -2%:Z = 2. Proof. by[]. Qed. Goal --2%:Z = 2. Proof. by[]. Qed. Goal -------2%:Z = -2%:Z. Proof. by[]. Qed. Goal forall n, n - n =0. Proof. move => n; elim n. by[]. by case. by case. Qed. Goal forall n, oppz (oppz n) = n. Proof. by do 2! case. Qed. Goal forall n: int, - - n = n. Proof. by do 2! case. Qed. Goal forall n, - Negz n = n.+1. Proof. by []. Qed. (* Define integer powers of coins. *) Definition nupsz n x := match n with | Posz n' => nups n' x | Negz n' => ncoins n'.+1 (down x) end. Definition ndownsz n x := match n with | Posz n' => ndowns n' x | Negz n' => ncoins n'.+1 (up x) end. Lemma upz_power0_bob: forall x, nupsz 0 x = bob. Proof. move=> x /=. by rewrite up_power0_bob. Qed. Lemma upz_power1: forall x, nupsz 1 x = up x. Proof. move=> x /=. by rewrite up_power1. Qed. Lemma downz_power0_bob: forall x, ndownsz 0 x = bob. Proof. move=> x /=. by rewrite down_power0_bob. Qed. Lemma downz_power1: forall x, ndownsz 1 x = down x. Proof. move=> x /=. by rewrite down_power1. Qed. Lemma upz_power_m1: forall x, nupsz (-1%:Z) x = down x. Proof. move=> x /=. rewrite /ncoins big_cons_dot /=. by rewrite big_nil bob_unitR. Qed. Lemma downz_power_m1: forall x, ndownsz (-1%:Z) x = up x. Proof. move=> x /=. rewrite /ncoins big_cons_dot /=. by rewrite big_nil bob_unitR. Qed. Lemma nupsz_eq: forall (n:nat) x, nupsz n x = nups n x. Proof. by []. Qed. Lemma ndownsz_eq: forall (n:nat) x, ndownsz n x = ndowns n x. Proof. by []. Qed. Lemma nupszdown_eq: forall (n:nat) x, nupsz (-n%:Z) x = ndowns n x. Proof. case. by[]. by[]. Qed. Lemma ndownszup_eq: forall (n:nat) x, ndownsz (-n%:Z) x = nups n x. Proof. case. by[]. by[]. Qed. Lemma updownz_eq: forall n x, nupsz n x = ndownsz (-n) x. Proof. case; move=> n x /=. by rewrite /nups ndownszup_eq /= /ndowns. by[]. Qed. Lemma downupz_eq: forall n x, ndownsz n x = nupsz (-n) x. Proof. case; move=> n x. by rewrite nupszdown_eq. by[]. Qed. Lemma upzK: forall n x, dot (nupsz n x) (nupsz (-n) x) = bob. Proof. case; move=> n x. by rewrite nupsz_eq nupszdown_eq nupdownK /=. move=> /=. have tem: ndowns n.+1 x = ncoins n.+1 (down x). by[]. by rewrite -!tem dotC nupdownK. Qed. Lemma downzK: forall n x, dot (ndownsz n x) (ndownsz (-n) x) = bob. Proof. move=> n x; by rewrite -!updownz_eq downupz_eq dotC upzK. Qed. Lemma mix_up: forall x y, x != bot -> mix x y = dot (nupsz 1 (join x y)) (nupsz (-1) y). Proof. move=> x y iH; rewrite mix_up_down. by rewrite -!upz_power1 -!downz_power1 downupz_eq. by[]. Qed. Lemma atomic_up: forall x y, mix x y = if x==bot then down y else dot (nupsz 1 (join x y)) (nupsz (-1) y). Proof. move=> x y. case: ifPn; first by move/eqP => ->. exact: mix_up. Qed. (* Representation of coins in terms of raising coins. *) (* Lower coins can be expressed as powers of raising coins. *) Lemma down_up_ex: forall x, {n : int | down x = nupsz n x}. Proof. by exists (-1%:Z); rewrite upz_power_m1. Qed. (* Mixed coins can be decomposed as the product of powers of raising coins *) Lemma mix_up_ex: forall x y, x != bot -> {a: L*L | mix x y = dot (nupsz 1 a.1) (nupsz (-1) a.2)}. Proof. by move=> x y; exists (join x y, y); rewrite mix_up. Qed. (* >>> An example using dependent type *) Example ex_imp_ex A (f g: A -> Prop): (exists a: A, f a) -> (forall x: A, f x -> g x) -> exists b: A, g b. Proof. case => a Sa SiT. by exists a; apply: SiT. Qed. (* <<< An example using dependent type *) (* An important theorem says that any coin can be decomposed as the product of powers of raising coins. *) (* By definition, any coin is a product of mixed coins. *) Print coin_prod_atomics. (* ==== forall c : coins, {acs : seq (L * L) | c = \big[dot/bob]_(ac <- acs) mix ac.1 ac.2} ] *) (* Define coin products without using bigop *) Fixpoint coin_prod (l:seq coins) : coins := match l with | nil => bob | h :: t => dot h (coin_prod t) end. (* Parameters c d:coins. Eval compute in (coin_prod [::]). Eval compute in (coin_prod [::bob]). Eval compute in (coin_prod [:: c]). Eval compute in (coin_prod [:: c; d]). Eval compute in (coin_prod [::c; d; d]). Eval compute in (coin_prod (c :: [::d; d])). Eval compute in (coin_prod [:: c; c; d; d]). *) Lemma coin_prod_rec : forall a l, coin_prod (a :: l) = dot a (coin_prod l). Proof. move=> a l. case l. by rewrite /coin_prod bob_unitR. by rewrite /coin_prod //. Qed. (* Define coin products using bigop *) Definition coin_prod_bigop (l:seq coins) : coins := \big[dot/bob]_(c <- l) c. Lemma coin_prod_eq : forall l, coin_prod l = coin_prod_bigop l. Proof. elim. by rewrite /coin_prod /coin_prod_bigop big_nil //. move=>a l. rewrite /coin_prod_bigop =>h. by rewrite coin_prod_rec big_cons h. Qed. (* Define a list of mixed coins corresponding to a list of type [L*L]. *) Fixpoint seqL_to_seqC (l : seq (L * L)) : seq coins := match l with | nil => nil | h :: t => (mix h.1 h.2) :: (seqL_to_seqC t) end. Lemma seqL_to_seqC_rec : forall (a:L*L) (l: seq (L*L)), seqL_to_seqC (a :: l) = (mix a.1 a.2) :: (seqL_to_seqC l). Proof. by move=> a. Qed. (* Eval compute in (seqL_to_seqC [::]). Eval compute in (seqL_to_seqC [:: (bot,bot)]). Eval compute in (seqL_to_seqC [:: (bot,bot); (top, bot)]). *) Lemma seqL_to_seqC_eq : forall l : seq (L * L), coin_prod (seqL_to_seqC l) = \big[dot/bob]_(x <- l) mix x.1 x.2. Proof. - elim. by rewrite big_nil. - move=>a l h. by rewrite seqL_to_seqC_rec big_cons coin_prod_rec h. Qed. (* A list of type [seq (L * L)] produces a product of mixed coins, which can be rewritten as a product of interger powers. *) Fixpoint seqL_to_seqUp (l : seq (L * L)) : coins := match l with | nil => bob | h :: t => let c:= if (h.1==bot) then (down h.2) else dot (up (join h.1 h.2)) (down h.2) in dot c (seqL_to_seqUp t) end. Eval compute in (seqL_to_seqUp [::]). Eval compute in (seqL_to_seqUp [:: (bot, top)]). Lemma ref_eq (T: eqType) : forall x:T, (x == x) = true. Proof. move=> x. by apply /eqP. Qed. Goal forall x, seqL_to_seqUp [:: (bot, x)] = down x. Proof. by move=> x /=; rewrite ref_eq bob_unitR. Qed. Lemma double_not : forall P:Prop, ~ ~ P <-> P. Proof. move=> P. split. apply contradiction. by rewrite /not . by rewrite /not . Qed. Lemma negb_false_iff : forall (T:eqType) (x y: T), x != y <-> ((x == y) = false). Proof. split. rewrite /negb. destruct (x==y). by[]. by[]. move=> xny. rewrite /negb. by move: xny ->. Qed. Goal forall x y, x != bot -> seqL_to_seqUp [:: (x, y)] = mix x y. Proof. move=> x y h /=. rewrite mix_up_down; last by[]. move:h. rewrite negb_false_iff => ->. by rewrite bob_unitR //. Qed. Goal forall x y : L, {xns : seq (int*L) | seqL_to_seqUp [:: (x, y)] = \big[dot/bob]_(xn <- xns) nupsz xn.1 xn.2}. Proof. move=> x y. case: (altP (x =P bot)). exists [:: (-1%:Z, y)] =>/=. move: p; move /eqP ->. by rewrite bob_unitR /= big_cons /= big_nil bob_unitR ncoins2_eq /ncoins' . - exists [:: (1%:Z, join x y); (-1%:Z, y)] => /= . move:i; rewrite negb_false_iff =>->. do 2! rewrite big_cons //=. rewrite big_nil up_power1 /ncoins big_cons big_nil //=. by do 3! rewrite bob_unitR. Qed. (* <<<< selective induction *) Fixpoint evenb n := if n is n'.+2 then evenb n' else n == 0%N. Lemma evenb_plus n m : evenb n -> evenb m -> evenb (n + m). Proof. move: (leqnn n) . elim: n {1 3 4}n. (* --- among the 4 n's, do induction on the second one, the same as [elim: n {-2}n]. *) by case=>//. move =>n Hn. case=>//. case=>// n0. by move/ltnW /Hn=>//. Qed. (* Any coin can be written as the product of powers of raising coins. *) Theorem coin_prod_up : forall c : coins, {xns:seq (int*L) | c = \big[dot/bob]_(xn <- xns) nupsz xn.1 xn.2}. Proof. move=>c. move: (coin_prod_atomics c). case=> x. move:c. (* essential step for induction! *) elim: x. move=> c ca; exists nil; rewrite big_nil; by rewrite big_nil in ca. (* the second subgoal *) move=> a l H c. rewrite big_cons. rewrite atomic_up. case: ifPn => _. rewrite -upz_power_m1. set c1:= \big[dot/bob]_(j <- l) mix j.1 j.2. case: (H c1) => // il Hc1 Hc. exists ((-1%Z, a.2) :: il). by rewrite big_cons Hc Hc1. -set c1:= \big[dot/bob]_(j <- l) mix j.1 j.2. case: (H c1) => // il Hc1 Hc. exists ((1%:Z, (join a.1 a.2)) :: (-1%Z, a.2) :: il). do 2! rewrite big_cons. by rewrite Hc Hc1 dotA. Qed. (* return [true] if [seq L] has mutually distinct elements *) Fixpoint neqs (l:seq L) : bool := match l with | nil => true | h :: t => match t with | nil => true | h' :: t' => (h != h') && (neqs t') end end. Eval compute in neqs [::]. Eval compute in neqs [:: bot]. Eval compute in neqs [:: bot;bot]. Lemma ref: forall (T:eqType) (x:T), x == x. Proof. by[]. Qed. Lemma nnref: forall (T:eqType) (x:T), ~(x != x). Proof. move=> T x; by rewrite /not /negb ref. Qed. Lemma nref: forall (T:eqType) (x:T), (x != x) = false. Proof. by move=> T x; rewrite /negb ref. Qed. (* Return true if each element of [l:seq L] is smaller than [x:L]. *) Fixpoint seq_le (l:seq L) (x:L) : bool := match l with | nil => true | h :: t => if (ge x h) then (seq_le t x) else false end. (* this definition is equivalent to [all (ge x) l]. *) Goal all (ge bot) [::]. Proof. by[]. Qed. Eval compute in all (ge bot) [::]. Goal seq_le [::] bot. Proof. by[]. Qed. Eval compute in seq_le [::] bot. Lemma seq_le_all: forall x l, seq_le l x == all (ge x) l. Proof. move=> x l. elim l. by[]. move=>a l1 h. rewrite /seq_le /all. by case: ifP. Qed. (* Return true if each element of [l:seq L] is strictly smaller than [x:L]. *) Fixpoint seq_lt (l:seq L) (x:L) : bool := match l with | nil => true | h :: t => if gt x h then (seq_lt t x) else false end. (* this definition is equivalent to [all (gt x) l]. *) Lemma seq_lt_all: forall x l, seq_lt l x == all (gt x) l. Proof. move=> x l. elim l. by[]. move=>a l1 h. rewrite /seq_lt /all. by case: ifP. Qed. Goal seq_lt [::] bot. Proof. by[]. Qed. Eval compute in seq_lt [::] bot. (* Return true if each natural of a list is strictly smaller than a given natural. *) Fixpoint seqn_lt (l:seq nat) (x:nat) : bool := match l with | nil => true | h :: t => if (h < x) then (seqn_lt t x) else false end. (* this definition is equivalent to [all (fun z => z< x) l]. *) Lemma seqn_lt_all: forall (x:nat) l, seqn_lt l x == all (fun z => z< x) l. Proof. move=> x l. elim l. by[]. move=>a l1 h. rewrite /seqn_lt /all. by case: ifP. Qed. (* pick the first elements from [seq (A*B)] *) Fixpoint seq_1 {A B: Type} (l:seq (A*B)) : seq A:= match l with | nil => nil | h :: t => h.1 :: seq_1 t end. (* the same as [map (fun x => x.1) l] *) (* pick the second elements from [seq (A*B)] *) Fixpoint seq_2 {A B: Type} (l:seq (A*B)) : seq B:= match l with | nil => nil | h :: t => h.2 :: seq_2 t end. (* the same as [map (fun x => x.2) l] *) Lemma seq_1_map {A B: Type}: forall l:seq (A*B), seq_1 l = map (fun x => x.1) l. Proof. elim. by[]. move=> a l h. have t1: seq_1 (a :: l) = a.1::seq_1 l. by[]. have t2: [seq x.1 | x <- a :: l] = a.1::[seq x.1 | x <- l]. by[]. by rewrite t1 t2 h. Qed. Lemma seq_2_map {A B: Type}: forall l:seq (A*B), seq_2 l = map (fun x => x.2) l. Proof. elim. by[]. move=> a l h. have t1: seq_2 (a :: l) = a.2::seq_2 l. by[]. have t2: [seq x.2 | x <- a :: l] = a.2::[seq x.2 | x <- l]. by[]. by rewrite t1 t2 h. Qed. (*New fomalization of prime coins by Shimoyama.*) Lemma coin_decomp : forall x : L, exists y c xns, x != bot -> ge x y /\ c = \big[dot/bob]_(xn <- xns) nupsz xn.1 xn.2 /\ seq_lt (seq_2 xns) x /\ up x == dot c (up y). Proof. move=> x; exists x; exists bob; exists [::(1%:Z, bot)]; move=> H. apply/and_assoc. apply/(and_assoc _ _ (up x == dot bob (up x))). apply:conj. apply:conj. apply:conj. by apply:ge_reflexive. by rewrite big_cons big_nil upz_power1 up_bot_bob dot0r. rewrite /seq_2 /snd /seq_lt /gt; case:ifP. - done. - move/ andP; case; apply: conj. apply/ bot_minimum. apply/ H. by rewrite dot0r. Qed. (*formalization of cain*) (* Define ctext *) Parameter ctext : coins -> L. Fixpoint neq0_seq (l:seq int) : bool := match l with | nil => true | h :: t => match t with | nil => (h !=0) | h' :: t' => (h != h') && (neq0_seq t') end end. Axiom weak_ctext: forall (c:coins) (nx: seq(int*L)), c = \big[dot/bob]_(i <- nx) nupsz i.1 i.2 -> uniq [seq i.2 | i <- nx](*neqs (seq_2 nx)*) -> 0 \notin [seq i.1 | i <- nx] (*neq0_seq (seq_1 nx)*) -> ctext c = \big[join/bot]_(i <- nx) i.2. Lemma addnzE(n m:nat) : (addn n m)%:Z = addz n m. Proof. elim:n => //. Qed. Theorem addncoins n m c: dot (ncoins n c)(ncoins m c) = ncoins (n + m) c. Proof. elim: n => [|n Hn]. by rewrite add0n ncoins0_bob bob_unitL. by rewrite addSn !ncoins2_eq !ncoins1' dotrC dotrA -!ncoins2_eq [dot _ (ncoins n c)]dotrC Hn. Qed. (* move=> [[|n]|n] [[|m]|m] /=; rewrite ?NegzE ?oppzK ?addnS ?addn0 ?subn0 //; *) (* rewrite ?ltnS[m <= n]leqNgt [n <= m]leqNgt; case: ltngtP=> hmn /=; *) (* by rewrite ?hmn ?subnn // ?oppzK ?subSS ?subnS ?prednK // ?subn_gt0. *) Theorem neg_nupsz n x : ncoins n (down x) = nupsz (-n%:Z) x. Proof. by elim:n =>[|n Hn] /=;rewrite /nups ?ncoins0_bob. Qed. Theorem poz_nupsz n x : ncoins n (up x) = nupsz (n%:Z) x. Proof. by elim:n. Qed. Theorem nupszp_eq m x: (0 <= m) -> (nupsz m%:Z x) = nups m x. Proof. by elim:m => [h|m h1 h2] => //. Qed. Theorem nupszn_eq m x: (0 <= m) -> (ndownsz m%:Z x) = ndowns m x. Proof. by elim:m => [h|m h1 h2] => //. Qed. Lemma ncoins_subup n m x: m <= n -> ncoins n (up x) = dot (ncoins (n - m) (up x)) (ncoins m (up x)). Proof. move => h. by rewrite addncoins (subnK h). Qed. Lemma ncoins_subdown n m x: m <= n -> ncoins n (down x) = dot (ncoins (n - m) (down x)) (ncoins m (down x)). Proof. move => h. by rewrite addncoins (subnK h). Qed. Theorem addnupsz n m x: dot (nupsz n x)(nupsz m x) = nupsz (n + m) x. Proof. move: n m. move=> [[|n]|n] [[|m]|m] /= ; rewrite ?NegzE ?addn0 ?subn0 //; rewrite /nups ?ncoins0_bob ?bob_unitL ?bob_unitR; rewrite ?addncoins ?addSn ?addnS //; rewrite !ncoins2_eq !ncoins1' dotrACA ?up_down_unitL; rewrite ?down_up_unitL bob_unitR -!ncoins2_eq. rewrite subzSS. move:(leq_total m n) => /orP [] H. rewrite (subzn H) (@ncoins_subup n m x H) -dotA nupdownK bob_unitR. move/ (leq_sub2r m) in H; rewrite subnn in H. by rewrite (@nupszp_eq (n - m) x H). rewrite (@ncoins_subdown m n x H) dotC -dotA [dot (ncoins n (down x)) _]dotC; rewrite nupdownK bob_unitR updownz_eq oppz_add GRing.addrC GRing.opprK; rewrite (subzn H). move/ (leq_sub2r n) in H; rewrite subnn in H. by rewrite (@nupszn_eq (m - n) x H). rewrite GRing.addrC. rewrite subzSS. move:(leq_total n m) => /orP [] H. rewrite (subzn H). rewrite (@ncoins_subup m n x H) dotC -dotA nupdownK bob_unitR. move/ (leq_sub2r n) in H; rewrite subnn in H. by rewrite (@nupszp_eq (m - n) x H). rewrite (@ncoins_subdown n m x H) -dotA [dot (ncoins m (down x)) _]dotC nupdownK bob_unitR; rewrite updownz_eq oppz_add GRing.addrC GRing.opprK; rewrite (subzn H). move/ (leq_sub2r m) in H; rewrite subnn in H. by rewrite (@nupszn_eq (n - m) x H). Qed. (* 2016/07/20 *) Fixpoint head_in_tail (a:(int*L))(l:seq(int*L)):= match l with | nil => [::a] | h :: t => if a.2 == h.2 then ((a.1 + h.1),a.2)::t else h :: (head_in_tail a t) end. Fixpoint remove0L (xns:seq(int*L)):= match xns with | nil => nil | h::t => if h.1 == 0 then remove0L t else h ::(remove0L t) end. Theorem coin_prod_up_eq_non0 (xns:seq(int*L)): \big[dot/bob]_(xn <- xns) nupsz xn.1 xn.2 = \big[dot/bob]_(xn <- (remove0L xns)) nupsz xn.1 xn.2 . Proof. elim: xns => /=. -by[]. -move => a l H. case: ifP. move/eqP => a0. by rewrite big_cons a0 upz_power0_bob bob_unitL H. move => a0f. by rewrite !big_cons H. Qed. Theorem coin_prod_up_eq_hit (a:(int*L))(xns:seq(int*L)): \big[dot/bob]_(xn <- a :: xns) nupsz xn.1 xn.2 = \big[dot/bob]_(xn <- (head_in_tail a xns)) nupsz xn.1 xn.2 . Proof. elim: xns => /=. -by[]. -move => a0 l H. case: ifP; move/eqP => ha. rewrite !big_cons ha => /=. by rewrite -addnupsz dotA. by rewrite [in RHS] big_cons -H !big_cons dotC dotrAC dotA. Qed. Theorem zero_notin_rem (xns:seq (int*L)): 0 \in [seq i.1 | i <- (remove0L xns)] = false. Proof. elim:xns. by[]. move => a l H /=. case:ifP => a0. exact: H. rewrite in_cons eq_sym a0 Bool.orb_false_l. apply: H. Qed. Theorem hit_map_eq a xns: a.2 \in [seq i.2 | i <- xns] -> [seq i.2 | i <- xns] = [seq i.2 | i <- (head_in_tail a xns)]. Proof. elim: xns => /=. -by[ ]. -move => a0 l h1. rewrite in_cons => /orP [] /eqP h2. case:ifP => /eqP. by rewrite map_cons h2 => /=. by rewrite h2. move/eqP in h2. case:ifP => /eqP h3. by rewrite map_cons h3 => /=. rewrite map_cons. rewrite h2 in h1. by rewrite h1. Qed. Theorem coin_prod_seq_uniq xns: {uxns:seq (int*L) | \big[dot/bob]_(i <- xns) nupsz i.1 i.2 = \big[dot/bob]_(ui <- uxns)nupsz ui.1 ui.2 /\ uniq ([seq i.2 | i <- uxns]) }. Proof. elim: xns => /=. exists nil. by[]. move => a l. case => yms [] h1 h2. case H :(a.2 \notin [seq i.2 | i <- yms]). exists (a :: yms). split. by rewrite !big_cons -h1. apply/andP. exact: conj; last first => //. move:H;rewrite/negb. case:ifP => H _ //. exists (head_in_tail a yms). split. by rewrite -coin_prod_up_eq_hit !big_cons h1. by rewrite -(hit_map_eq H) h2. Qed. Lemma notin_rem_notin (a:(int*L))(l:seq(int*L)): a.2 \notin [seq i.2 | i <- l] -> a.2 \notin [seq i.2 | i <- (remove0L l)]. Proof. elim: l => /=. by[]. move => a' l h1 h2; case: ifP => // a'10. apply: h1. move:h2; rewrite in_cons /negb. case: ifP => // ;rewrite Bool.orb_false_iff. case => h2 h3 _ ; case:ifP => // h4. by rewrite -h3. move: h2. rewrite map_cons in_cons /negb. case: ifP => //. rewrite Bool.orb_false_iff. case => h2 h3 _. case:ifP => //. rewrite in_cons h2 Bool.orb_false_l. move:h1. rewrite /negb. case: ifP => h4; case:ifP => h5 _ // _. by rewrite -h3. Qed. Lemma rem_uniq (xns:seq (int*L)) : uniq ([seq i.2 | i <- xns]) -> uniq ([seq i.2 | i <- (remove0L xns)]). Proof. elim:xns => /=. by[]. move => a l h1. move/andP =>[] h2 h3. case:ifP => a0 /=. exact: h1. apply/andP. split; last first. exact: h1. exact: notin_rem_notin. Qed. Theorem coin_prod_up_strong c: {xns:seq (int*L) | c = \big[dot/bob]_(xn <- xns) nupsz xn.1 xn.2 /\ uniq ([seq i.2 | i <- xns]) /\ 0 \notin [seq i.1 | i <- xns] }. Proof. move: (@coin_prod_up c) => [] xns Hc. move: (@coin_prod_seq_uniq xns) => [] uxns [] uHc1 uHc2. exists (remove0L uxns). split. -by rewrite uHc1 in Hc ;rewrite -coin_prod_up_eq_non0. rewrite (coin_prod_up_eq_non0 uxns) in uHc1. split. by apply:rem_uniq. move : Hc uHc1 uHc2. elim: uxns => /=. by[]. move => a l h1 h2. case:ifP. move/eqP => a0 h3. move/andP => [] h4 h5. apply: h1 => //. move => a0f; rewrite big_cons /= => hc1; rewrite in_cons /negb. by case :ifP ;rewrite eq_sym a0f Bool.orb_false_l zero_notin_rem. Qed. (* 2016/07/13 *) Axiom ctext1 : forall x, ctext (up x) = x. Axiom ctext2 : forall x y, x != bot /\ ge y x -> ctext (mix x y) = bot. Axiom ctext3 : forall x y, x != bot /\ ~~ ge y x -> ctext (mix x y) = join x y. Axiom ctext4 : forall x, ctext (down x) = x. Lemma ctext1_1 x: {xns| up x = \big[dot/bob]_(xn <- xns) nupsz xn.1 xn.2 /\ uniq ([seq i.2 | i <- xns]) /\ 0 \notin ([seq i.1 | i <- xns]) /\ \big[join/bot]_(i <- xns) i.2 = x}. Proof. exists [::(1%:Z,x)] => //=. split. by rewrite big_cons big_nil bob_unitR -up_power1 => //=. rewrite big_cons big_nil join_commutative => //=. do 2 split => //. exact:join_bot_unitL. Qed. Lemma ctext1' x: ctext (up x) = x. Proof. move:(@ctext1_1 x). case => x0 [] h1 [] h2 [] h3 h4. move: (@weak_ctext (up x) x0)=> h5. rewrite h4 in h5. by rewrite (h5 h1 h2 h3). Qed. Lemma dot_inv_prod_up c nx: c = \big[dot/bob]_(i <- nx) nupsz i.1 i.2 -> dot_inv c = \big[dot/bob]_(i <- nx) nupsz (- i.1) i.2. Proof. Admitted. Theorem Th3_1 c: ctext c = ctext (dot_inv c). Proof. Admitted. Theorem Th3_2 c1 c2: ge (join (ctext c1) (ctext c2)) (ctext (dot c1 c2)). Proof. Admitted. Lemma not_bot_gt_bot x : x != bot = gt x bot. Proof. rewrite /gt; apply/eqP. case: ifP. case /andP => H1 H2; exact/eqP. rewrite (@bot_minimum x) /= ;by move/negbFE /eqP. Qed. Definition cintegrable x c := ge (ctext c) x. Parameter mcoin : L -> coins. Axiom mcoin_axiom : forall y, ge y (ctext (mcoin y)). Axiom mcoin_axiom':forall x c, ge x (ctext c)-> c = mcoin x. Lemma gt_joinL(*used in lemma5's proof*) a b : gt (join a b) b -> gt a bot. Proof. case: (altP (b =P bot)) => [-> | nbbot]. move: (@join_bot_unitL a)=> H. by rewrite join_commutative H. rewrite /gt. move /andP => [] gjabb njabb. apply /andP; apply conj. exact:bot_minimum. apply/negP. move=> /eqP abot. move: njabb; move /negP. case. by rewrite abot join_bot_unitL. Qed. Lemma ge_meet_def(*used in lemma5's proof*) a b: ge a b = (meet a b == b). Proof. rewrite /ge; apply/eqP;case: ifPn; move/eqP => H. by rewrite -{2}(@join_absorption a b) meet_distributive meet_idempotent H. rewrite /not. move => H1; move:H. rewrite /not => /eqP. by rewrite -H1 meet_commutative join_commutative join_absorption nref. Qed. Lemma meet_not_bot (*lemma5*)a b x: ge (join a b) x -> gt x b -> meet a x != bot. Proof. rewrite ge_meet_def meet_commutative meet_distributive;move /eqP => H1. rewrite /gt. move/andP =>[]; rewrite ge_meet_def;move/eqP => H2 H3. rewrite not_bot_gt_bot. apply: (@gt_joinL (meet a x) b). rewrite -{1}H2 [meet _ x] meet_commutative H1. rewrite /gt. apply/andP. split. by rewrite ge_meet_def;apply /eqP. by[]. Qed. Lemma also_integ x y c cy : cintegrable x c /\ meet y x = bot /\ ge y (ctext cy) -> cintegrable x (dot cy c). Proof. Admitted. Parameter coin_margin : L -> coins -> coins. Notation "c /d x" := (coin_margin x c) (at level 50). Axiom margin0 : forall x c, ctext (c /d x) = meet (ctext c) (com x). Axiom margin1 : forall x y, ge y x -> (up y) /d x = up (meet y (com x)). Axiom margin2 : forall x1 x2 c1 c2, meet x1 x2 = bot /\ meet x1 (ctext c2) = bot /\ meet x2 (ctext c1) = bot /\ ge (ctext c1) x1 /\ ge (ctext c2) x2 /\ cintegrable (join x1 x2) (dot c1 c2) -> (dot c1 c2) /d (join x1 x2) = dot (c1 /d x1) (c2 /d x2). Axiom margin3 : forall c, c /d bot = c. (*we define cain by this cainoid satisfying these properties*) (*Th4*) Theorem const_margin' x y c cx : cintegrable x cx /\ meet x y = bot /\ ge y (ctext c) -> dot c cx /d x = dot c (cx /d x). Proof. rewrite /cintegrable; move=> []=> H1 []=> H2 H3. rewrite -[in RHS](@margin3 c). rewrite -[in RHS]margin2; last first. apply :conj; first by rewrite meet_bot_unitL. apply :conj; first by rewrite meet_bot_unitL. apply :conj; last first. apply :conj; first by rewrite /ge join_bot_unitR. apply :conj; first by[]. apply /also_integ; first by[]. apply :conj; first by rewrite /cintegrable join_bot_unitL H1. apply :conj; first by rewrite join_bot_unitL meet_commutative. by[]. rewrite ge_meet_def in H3. move :H3; move /eqP => H3. by rewrite -H3 meet_associative H2 meet_bot_unitL. by rewrite join_bot_unitL. Qed. Theorem const_margin x c cx : cintegrable x cx /\ meet x (ctext c) = bot -> dot c cx /d x = dot c (cx /d x). Proof. rewrite /cintegrable; move=> []=> H1=> H2. rewrite -[in LHS](@join_bot_unitL x) margin2. rewrite margin3; first by[]. apply :conj; first by rewrite meet_bot_unitL. apply :conj; first by rewrite meet_bot_unitL. apply :conj; first by[]. apply :conj; first by rewrite /ge join_bot_unitR. apply :conj; first by[]. rewrite (@also_integ (join bot x) (ctext c) cx c); first by[]. apply :conj; first by rewrite /cintegrable join_bot_unitL H1. apply :conj; first by rewrite join_bot_unitL meet_commutative. by rewrite /ge join_idempotent. Qed. Lemma com_join_P x y : complement_P (join x y) (meet (com x) (com y)). Proof. rewrite/ complement_P; apply: conj. -rewrite meet_commutative meet_distributive [_ (com y)]meet_commutative -meet_associative [_ x]meet_commutative com_bot meet_bot_unitR [_ (com x)]meet_commutative -meet_associative [_ y]meet_commutative com_bot meet_bot_unitR; apply: join_bot_unitL. -by rewrite join_distributive {1}[_ y]join_commutative -join_associative com_top -join_associative com_top 2!join_top_unitR meet_idempotent. Qed. Lemma com_meet_P x y : complement_P (meet x y) (join (com x) (com y)). Proof. rewrite/ complement_P; apply: conj. -by rewrite meet_distributive {1}[_ y]meet_commutative -!meet_associative !com_bot !meet_bot_unitR join_bot. -by rewrite join_commutative join_distributive join_commutative !join_associative com_top -join_associative [_ _ y]join_commutative com_top join_top_unitL join_top_unitR meet_idempotent. Qed. Lemma com_join x y : com (join x y) = meet (com x) (com y). Proof. apply: (@complement_unique (join x y)). apply: conj. -apply: com_P. -apply: com_join_P. Qed. Lemma com_meet x y : com (meet x y) = join (com x) (com y). Proof. apply: (@complement_unique (meet x y)). apply: conj. -apply: com_P. -apply: com_meet_P. Qed. Lemma double_com x : com (com x) = x. Proof. apply: (@complement_unique (com x)). apply: conj. -apply: com_P. -rewrite /complement_P meet_commutative join_commutative; apply/ com_P. Qed. Lemma Th5_1 x y z : x != bot /\ mix x y = mix x z -> up (join x y) = dot (mix x z) (up y). Proof. case=> H1 H2. rewrite -H2 mix_up_down. by rewrite -dotA down_up_unitL dotr0. by[]. Qed. Lemma Th5_2 x y z : x != bot /\ mix x y = mix x z -> up (meet (join x y) (com (meet (meet y (com x)) (com z)))) = dot (mix x z) (up (meet y (com (meet (meet y (com x)) (com z))))). Proof. case=> H1 H2; rewrite -margin1. rewrite (@Th5_1 x y z). rewrite const_margin. rewrite margin1. by[]. rewrite/ ge. by rewrite -meet_associative meet_absorption. apply: conj. rewrite/ cintegrable ctext1. rewrite /ge; by rewrite -meet_associative meet_absorption. move: (@orbN (ge z x)). move/ orP. case. move=> H3. rewrite ctext2. by rewrite meet_bot_unitR. by split. move=> H3. rewrite ctext3. by rewrite meet_distributive meet_commutative meet_associative [_ y _]meet_commutative meet_associative com_bot !meet_bot_unitL -meet_associative [_ _ z]meet_commutative com_bot meet_bot_unitR join_bot. by split. by split. by rewrite/ ge 2!join_distributive -join_associative join_idempotent !join_absorption. Qed. Lemma Th5_3 x y z : meet (join x y) (com (meet (meet y (com x)) (com z))) = join x (meet y z). Proof. rewrite !com_meet !double_com !meet_distributive ![_ (join x y) _]meet_commutative 2!meet_distributive [_ _ y]meet_commutative com_bot. by rewrite [_ bot]join_commutative join_bot_unitL meet_idempotent meet_absorption [_ x]join_commutative [_ _ x]meet_commutative meet_absorption join_distributive join_associative join_idempotent meet_commutative -join_distributive. Qed. Lemma Th5_4 x y z : x != bot /\ mix x y = mix x z -> up (meet y (com (meet (meet y (com x)) (com z)))) = up (meet z (com (meet (meet z (com x)) (com y)))). Proof. move=> H1; move: (H1); move /Th5_2; rewrite Th5_3=> H2. have H3: dot (mix x z) (up (meet y (com (meet (meet y (com x)) (com z))))) = dot (mix x y) (up (meet z (com (meet (meet z (com x)) (com y))))). -by rewrite -H2 meet_commutative -Th5_3; apply: Th5_2; apply: conj; case: H1. case: H1=> H1' H1''; move: H3; rewrite H1'' mix_up_down. by rewrite -dotA [_ (down z) _]dotC dotA; move/ div_down_right; rewrite -[RHS]dotA [_ _ (up z)]dotC dotA -[_ _ (up z)]dotA down_up_unitL bob_unitR [RHS]dotC; move/ div_up_down; rewrite dotC dotA down_up_unitL bob_unitL. by[]. Qed. Lemma Th5_5 x y z : meet (com (meet (meet y (com x)) (com z))) (com (meet (meet z (com x)) (com y))) = join (join x (meet y z)) (meet (com z) (com y)). Proof. rewrite !com_meet !double_com; rewrite [_ _ y]join_commutative [_ (com z) _]join_commutative join_associative meet_distributive [_ _ (com z)]meet_commutative [_ (com z) _]meet_distributive [_ (com z) z]meet_commutative com_bot [_ _ bot]join_commutative join_bot_unitL meet_commutative [_ y x]join_commutative. have H: com (meet (meet y (com x)) (com z)) = join (join (com y) x) z. -by rewrite !com_meet !double_com. by rewrite -H Th5_3 meet_distributive join_associative -[_ (join x (meet y z)) (meet (com z) (com y))]join_associative join_commutative join_associative [_ _ x]join_commutative meet_commutative meet_absorption join_associative. Qed. Theorem Th5 x y z : mix x y = mix x z -> mix x y = mix x (meet y z). Proof. move=> H1. move: (excluded_middle_axiom (x = bot)). case. -by move=> h1; move: H1; rewrite h1; move/ down_injective=> h2; rewrite -h2 meet_idempotent. -move/ eqP=> H2. have H3: (meet y (com (meet (meet y (com x)) (com z)))) = (meet z (com (meet (meet z (com x)) (com y)))). +by apply /up_injective /Th5_4. have H4: meet y (com (meet (meet y (com x)) (com z))) = meet y z. +by rewrite -[_ y _]meet_idempotent {2}H3 meet_associative -[meet (meet y (com (meet (meet y (com x)) (com z)))) z]meet_associative [_ _ z]meet_commutative meet_associative -meet_associative Th5_5 meet_distributive [_ x _]join_commutative join_absorption meet_absorption. rewrite [in RHS]mix_up_down; first 1 [apply/ eqP|]. by rewrite eq_sym; apply/ eqP; rewrite div_up_down H1 -[in LHS]Th5_3 -H4 Th5_2. by[]. Qed. Lemma com_bot_top_P : complement_P bot top. Proof. rewrite/ complement_P; split. -apply /meet_bot_unitL. -apply /join_bot_unitL. Qed. Lemma com_bot_top : com bot = top. Proof. apply /complement_unique. exact: bot. split. -apply /com_P. -apply /com_bot_top_P. Qed. Lemma com_top_bot : com top = bot. Proof. apply /complement_unique. exact: top. split. -apply /com_P. -move: com_bot_top_P => H; rewrite/ complement_P meet_commutative join_commutative; apply /H. Qed. Lemma meet_eq_ge x y : meet x y = bot <-> ge (com x) y. Proof. split. -move=> H; rewrite/ ge; apply/ eqP; move: (com_meet x y); rewrite H com_bot_top; move=> H1; by rewrite -[in RHS](join_bot_unitL (com x)) -com_top_bot H1 com_join !double_com [in RHS]join_commutative join_distributive [_ _ x]join_commutative com_top meet_top_unitL. -by rewrite/ ge; move /eqP => H1; rewrite -(double_com x) -(double_com y) -com_join -H1 -join_associative com_top join_top_unitR com_top_bot. Qed. Theorem Th6 x y z : gt x z /\ meet y z = bot -> mix x y /d z = mix (meet x (com z)) y. Proof. case; rewrite /gt /ge; move /andP =>[] /eqP => H1 H2; move: (excluded_middle_axiom (x = bot)); case. -by move=> H3; rewrite H3; rewrite H3 join_bot_unitL in H1; rewrite H1 margin3 meet_bot_unitL. -move/ eqP=> H3 H4; rewrite mix_up_down ; last by[]; rewrite dotC const_margin; last first. -rewrite /cintegrable /ge ctext1 ctext4. apply: conj. -by rewrite [_ _ y]join_commutative -join_associative H1. -by rewrite meet_commutative. rewrite margin1; last first. -by rewrite /ge [_ _ y]join_commutative -join_associative H1. rewrite meet_commutative meet_distributive. rewrite meet_commutative in H4. move: H4; move/ meet_eq_ge; rewrite ge_meet_def; move/ eqP=> H4; rewrite H4. rewrite dotC -mix_up_down ; first by rewrite meet_commutative. apply: meet_not_bot. exact z. by rewrite /ge [_ _ z]join_commutative com_top join_top_unitL. by rewrite /gt; apply /andP; split; first by rewrite /ge; apply /eqP. Qed. Theorem Th7_1 x : up x /d x = bob. Proof. rewrite margin1; first by rewrite com_bot up_bot_bob. by rewrite /ge join_idempotent. Qed. Theorem Th7_2 x y : x != bot -> mix x y /d meet x (com y) = bob. Proof. move=> H; rewrite mix_up_down; last by[]. rewrite -(meet_top_unitR (join x y)) -(com_top y) join_commutative -join_distributive dotC const_margin; first rewrite margin1; first by rewrite com_meet double_com join_distributive com_top meet_top_unitR [_ _ y]join_commutative -join_distributive com_bot join_commutative join_bot_unitL dotC up_down_unitL. by rewrite /ge -join_associative join_idempotent. apply: conj. by rewrite /cintegrable ctext1 /ge -join_associative join_idempotent. by rewrite ctext4 -meet_associative [_ _ y]meet_commutative com_bot meet_bot_unitR. Qed. Corollary Co1_1 c y : meet (ctext c) y = bot -> dot c (up y) /d y = c. Proof. move=> H; rewrite const_margin; first rewrite margin1; first by rewrite com_bot up_bot_bob bob_unitR. apply: ge_reflexive. apply: conj; first rewrite/ cintegrable ctext1; first apply: ge_reflexive. by rewrite meet_commutative. Qed. Corollary Co1_2 y z c : meet (ctext c) z = bot /\ meet y z = bot -> dot c (up (join y z)) /d z = dot c (up y). Proof. case=> H1 H2; rewrite const_margin; first rewrite margin1; first rewrite meet_commutative meet_distributive [_ _ z]meet_commutative com_bot join_bot_unitR; move: H2; rewrite meet_commutative =>/meet_eq_ge; rewrite ge_meet_def=>/ eqP=> H2; first by rewrite H2. by rewrite /ge -join_associative join_idempotent. apply: conj; first by rewrite /cintegrable ctext1 /ge -join_associative join_idempotent. by rewrite meet_commutative H1. Qed. Corollary Co1_3 x y z c : meet x z = bot /\ meet y z = bot /\ meet (ctext c) z = bot -> dot c (up (join x (join y z))) /d z = dot c (up (join x y)). Proof. case=> H1 [] H2 H3; rewrite const_margin. rewrite margin1. rewrite join_associative meet_commutative meet_distributive [_ _ z]meet_commutative com_bot join_bot_unitR meet_commutative. have H: meet z (join x y) = bot. -by rewrite meet_distributive meet_commutative [_ _ y]meet_commutative H1 H2 join_bot. by move: H; move /meet_eq_ge; rewrite ge_meet_def; move /eqP; rewrite meet_commutative=> H4; rewrite H4. by rewrite join_associative /ge -join_associative join_idempotent. rewrite meet_commutative in H3; apply: conj; last by[]. by rewrite /cintegrable ctext1 join_associative /ge -join_associative join_idempotent. Qed. Corollary Co1_4 x y z : x != bot /\ meet x y = bot /\ meet y z = bot -> mix (join x y) z /d y = mix x z. Proof. case => H1 [] H2 H3; rewrite mix_up_down; first rewrite dotC const_margin. rewrite margin1. rewrite -join_associative [_ _ z]join_commutative join_associative meet_commutative meet_distributive [_ _ y]meet_commutative com_bot join_bot_unitR meet_commutative. have H: meet y (join x z) = bot. -by rewrite meet_distributive meet_commutative H2 H3 join_bot. by move: H; move /meet_eq_ge; rewrite ge_meet_def; move /eqP; rewrite meet_commutative=> H4; rewrite H4 dotC -mix_up_down. by rewrite -join_associative [_ y _]join_commutative join_associative /ge -join_associative join_idempotent. apply: conj. -by rewrite /cintegrable ctext1 -join_associative [_ y _]join_commutative join_associative /ge -join_associative join_idempotent. -by rewrite ctext4. have H: (x != bot) || (y != bot) -> join x y != bot. -rewrite -negb_and; apply: contra; apply/join_eq_bot. by apply /H /orP /or_introl. Qed. Lemma meet_ge x y:ge x (meet x y). Proof. rewrite/ge. rewrite join_distributive. rewrite join_idempotent. apply/eqP. by apply:join_absorption. Qed. Lemma meet_ge' x y:ge x y <->meet x y = y. Proof. rewrite/ge. split. move=>H. move/eqP in H. rewrite meet_commutative -H meet_distributive. rewrite meet_idempotent join_commutative. apply/eqP. apply:meet_ge. move=>H. apply/eqP. by rewrite -H meet_absorption. Qed. Lemma ge_w_L x y z:ge x (join y z)-> ge x y. Proof. move=>H. apply:(@ge_transitive (join y z) x y)=>//. apply meet_ge'. by rewrite meet_commutative join_absorption. Qed. Lemma meet_ge_meet x y z:ge x y -> ge (meet x z) (meet y z). Proof. move=>H. rewrite meet_ge'=>//. move/meet_ge' in H. by rewrite (meet_commutative y _) meet_associative -(meet_associative x z z) meet_idempotent (meet_commutative x z) -meet_associative H. Qed. Theorem N_law1 x y z : x != bot /\ ge (com z) (ctext (mix x (join y z))) /\ meet x (com z)!=bot -> mix x (join y z) = mix (meet x (com z)) (meet y (com z)). Proof. case => H1 [] H2 H3. -move:(excluded_middle_axiom (ge (join y z) x));case=>Hyz. move:(le_mix_bob_eq)(Hyz)=>H Hyz'. rewrite/le in H. move/H in Hyz. rewrite Hyz=>//. move/(@meet_ge_meet _ _ (com z)) in Hyz'. rewrite meet_commutative meet_distributive (meet_commutative (com z) z) com_bot meet_commutative join_bot_unitR in Hyz'. move/H in Hyz'. by rewrite Hyz'. -rewrite ctext3 in H2=>//. move/negP in Hyz. rewrite [in RHS]mix_up_down=>//. move:(H2)=>H2';move:(H2)=>h2. move/ge_w_L in H2. move/meet_eq_ge in H2. rewrite join_associative (join_commutative x _) -join_associative in h2; move/ge_w_L in h2. move/meet_eq_ge in h2. rewrite meet_commutative {1}[(meet y (com z))]meet_commutative -meet_distributive meet_commutative -(join_bot_unitR (meet (join x y) (com z))) -(com_bot z) meet_commutative [_ z _]meet_commutative -meet_distributive meet_commutative -margin1. --have H: up (join (join x y) z) = dot (mix x (join y z)) (up (join y z)). -by rewrite mix_up_down; first rewrite -dotA down_up_unitL bob_unitR join_associative. rewrite H. --have h: ge (join y z) z. by rewrite join_commutative join_ge. move/margin1 in h. rewrite const_margin. rewrite meet_commutative meet_distributive (meet_commutative _ y) (meet_commutative _ z) com_bot join_bot_unitR in h. by rewrite h -dotrA up_down_unitL dotr0. apply:conj=>//. by rewrite /cintegrable ctext1 /ge -join_associative join_idempotent. rewrite ctext3=>//. move/meet_ge' in H2'. by rewrite -H2' meet_associative com_bot meet_bot_unitL. by rewrite join_commutative join_ge. by move/negP in Hyz. Qed. Lemma ctext_eq_ge x c : meet (ctext c) (com x) = bot <-> ge x (ctext c). Proof. split. by move=> H; apply /eqP; rewrite /ge -[in RHS](@join_bot_unitR x) -H join_distributive com_top meet_top_unitR. by rewrite ge_meet_def; move /eqP =>H; rewrite -H [_ x _]meet_commutative -meet_associative com_bot meet_bot_unitR. Qed. Lemma N_law2_1 x y z cx cy : meet (ctext cx) x = bot /\ meet (ctext cy) y = bot /\ up (join (join x y) z) = dot cy cx -> up (meet (join y z) (com x)) = dot cx (cy /d x). Proof. case=> H1 [] H2 H3. rewrite -(@join_bot_unitR (meet (join y z) (com x))) -(@com_bot x) meet_commutative [_ x _]meet_commutative -meet_distributive meet_commutative join_commutative join_associative -margin1; last first; first by rewrite /ge -join_associative join_commutative -join_associative join_commutative join_associative join_idempotent. rewrite H3 dotC const_margin; first by[]. apply: conj; last first; first by rewrite meet_commutative. rewrite /cintegrable /ge; move: (@Th3_2 cy cx); rewrite -H3 ctext1=> H4. move: (@join_ge x y) (@join_ge (join x y) z)=> H5 H6. have H: ge (join (join x y) z) x. -apply/ (@ge_transitive (join x y)); by[]. have H': ge (join (ctext cy) (ctext cx)) x. -apply/ (@ge_transitive (join (join x y) z)); by[]. move: H1; rewrite -{1}(double_com x) ctext_eq_ge ge_meet_def; move /eqP=> H1. rewrite ge_meet_def in H'; move /eqP in H'. by rewrite -H' -H1 meet_commutative meet_distributive meet_associative com_bot meet_bot_unitL join_bot_unitR meet_commutative meet_absorption. Qed. Lemma dot_eq c1 c2 c3 : c1 = c2 <-> dot c1 c3 = dot c2 c3. Proof. split. by move=> H; rewrite H. by move=> H; rewrite -(dotr0 c1) -(dotr0 c2) -(dotNr c3) [_ _ c3]dotC !dotA H. Qed. Lemma N_law2_2 x y z cx cy : ge (com x) y /\ meet (ctext cx) x = bot /\ meet (ctext cy) y = bot /\ up (join (join x y) z) = dot cy cx -> up (meet z (meet (com x) (com y))) = dot (cx /d y) (cy /d x). Proof. case=> H1 [] H2 [] H3 H4. rewrite (@dot_eq _ _ (up (meet (join x z) (com y)))) -(@join_bot_unitL (meet z (meet (com x) (com y)))) -(@meet_bot_unitL (com x)) -(com_bot y) -meet_associative [_ (com y) (com x)]meet_commutative meet_commutative [_ z _]meet_commutative -meet_distributive meet_commutative meet_associative -margin1; first rewrite dotC -[in LHS]const_margin; first rewrite (@N_law2_1 x y z cx cy); first rewrite [in LHS](@N_law2_1 y x z cy cx); first rewrite dotA [_ _ cx]dotC dotA [_ cx _]dotC -H4 -dotA dotC const_margin; first rewrite margin1; first by rewrite [_ _ y]join_commutative -join_associative meet_commutative meet_distributive [_ _ y]meet_commutative com_bot join_bot_unitL meet_commutative. by rewrite /ge join_commutative join_associative [_ x _]join_commutative join_associative join_idempotent. split. by rewrite /cintegrable /ge ctext1 join_commutative join_associative [_ x _]join_commutative join_associative join_idempotent; first last. move: (@Th3_2 (cx /d y) (cy /d x)); rewrite ge_meet_def; move /eqP=> H5. by rewrite -H5 meet_associative meet_distributive !margin0 [_ _ (com y)]meet_commutative meet_associative com_bot meet_bot_unitL meet_associative [_ y _]meet_commutative H3 meet_bot_unitL join_idempotent meet_bot_unitL. by rewrite [_ y _]join_commutative dotC. by[]. split; first rewrite /cintegrable /ge join_commutative ctext1 join_distributive join_associative join_idempotent; rewrite /ge in H1; move: H1; move /eqP=> H1. by rewrite [_ _ (com x)]join_commutative H1. by rewrite ctext1 [_ _ (com y)]meet_commutative meet_associative com_bot meet_bot_unitL. by rewrite /ge in H1; move: H1; move /eqP=> H1; rewrite /ge join_commutative join_distributive join_associative join_idempotent [_ _ (com x)]join_commutative H1. Qed. Theorem N_law2 x y z cx cy : ge (com x) y /\ meet (ctext cx) x = bot /\ meet (ctext cy) y = bot /\ up (join (join x y) z) = dot cy cx -> up (join (join x y) z) = dot (dot (up (meet (join x z) (com y))) (up (meet (join y z) (com x)))) (down (meet (meet z (com x)) (com y))). Proof. case=> H1 [] H2 [] H3 H4. rewrite (@N_law2_1 y x z cy cx); last by rewrite [_ y _]join_commutative dotC. rewrite (@N_law2_1 x y z cx cy); last by[]. rewrite [_ cy _]dotC dotA -[_ _ cx]dotA [_ (cx /d y) _]dotC -2!dotA -H4 [_ (cx /d y) _]dotA -meet_associative -(@N_law2_2 x y z cx cy); last by[]. by rewrite (@up_down_unitL (meet z (meet (com x) (com y)))) dotr0. Qed. Section conditional_independence. (*def 10*) Definition co_ind x y z:= (mix x (join y z))=(mix x z). Definition ind x y:= (co_ind x y bot). (*Notation "x._y|z":=(@co_ind _ _ _). Notation "x._y":=(@ind _ _).*) Lemma join_bot_bot x y: x!=bot-> y!=bot -> (join x y)!=bot. Proof. move=>XH YH. apply/eqP. case. move/eqP=>H0. move:(@join_eq_bot x y H0). move/andP. case. move=>X. move/eqP. by apply/eqP. Qed. Theorem co_ind_eq_1 x y z: x!=bot -> y!=bot -> (co_ind x y z <-> (mix (join x y) z)=dot (mix x z) (mix y z)). Proof. move=> XH YH . split. -rewrite/ co_ind=>H. rewrite -H. rewrite[in RHS] mix_up_down=>//. rewrite[in RHS] mix_up_down=>//. rewrite -dotrAC dotrA -dotrA dotrACA dotrA dotr_perm down_up_unitL dot0r dotC join_associative mix_up_down=>//. by apply join_bot_bot=>//. -rewrite/co_ind mix_up_down. rewrite div_up_down. move=>H. rewrite mix_up_down=>//. rewrite join_associative H. rewrite [mix y _]mix_up_down=>//. rewrite dotrA div_up_down dotr_perm up_down_unitL dot0r dotrC=>//. by apply join_bot_bot=>//. Qed. Theorem co_ind_eq_2 x y z: x!=bot -> y!=bot -> (co_ind x y z <-> (up (join (join x y) z)=dot (up (join y z)) (mix x z))). Proof. move=>XH YH. rewrite/co_ind. rewrite mix_up_down=>//. by rewrite div_up_down -join_associative dotrC. Qed. Theorem ind_eq x y: x!=bot -> y!=bot -> (ind x y <-> up (join x y) = dot (up x) (up y)). Proof. move=>XH YH. rewrite/ind/co_ind join_commutative. move:(join_bot_unitL y)=>->. rewrite mix_up_down=>//. by rewrite div_up_down. Qed. (*co_ind is symmetry*) Theorem co_sym x y z:x!=bot->y!=bot-> (co_ind x y z <-> co_ind y x z). Proof. move=>X Y. by split;move=>H; apply co_ind_eq_1 in H=>//; rewrite co_ind_eq_1=>//; rewrite join_commutative dotrC=>//. Qed. (*Prop6*) Proposition eq_co_ge x y: x!=bot -> y!=bot ->(co_ind x x y <-> ge y x). Proof. move=>X Y. rewrite (@co_ind_eq_1 x x y)=>//. rewrite join_idempotent. rewrite mix_up_down=>//. rewrite div_up_down. rewrite dotrA. rewrite dotr_perm. rewrite up_down_unitL dot0r. rewrite dotrC -div_up_down=>//. rewrite up_down_unitL. rewrite dotrC -div_up_down bob_unitL. split. move=>H. apply down_injective in H. rewrite/ge. rewrite join_commutative. by apply/eqP. rewrite/ge=>H. rewrite join_commutative. move/eqP in H. by rewrite H. Qed. Proposition ge_co_1 x y z : ge z y -> co_ind x y z. Proof. rewrite/ge/co_ind. move=>H. move/eqP in H. rewrite join_commutative H. by[]. Qed. Proposition ge_co_2 x y z : x!=bot -> ge z x -> co_ind x y z. Proof. rewrite/ge/co_ind. move=>X H. rewrite mix_up_down=>//. rewrite join_commutative. rewrite -join_associative. move/eqP in H. rewrite H up_down_unitL. rewrite mix_up_down=>//. by rewrite join_commutative H up_down_unitL. Qed. Lemma co_mc0 x y b:meet x y = bot->meet y b!=bot-> x = meet x (join (com y) b). Proof. move=>A H. rewrite meet_commutative in A;apply meet_eq_ge in A=>//. apply meet_ge' in A;rewrite meet_commutative in A. by rewrite meet_distributive A meet_absorption. Qed. Lemma co_mc00 x y b:meet x y = bot->meet y b!=bot-> (com x)=join (com x) (meet y (com b)). Proof. move=>A B. rewrite [in LHS](@co_mc0 x y b)=>//. by rewrite com_meet com_join double_com. Qed. Lemma gt_0 x y z:gt x y -> gt x (meet y z). Proof. rewrite/gt. move/andP=>[h1 h2]. move:(h1)=>h. apply/andP;split. move/eqP in h1. apply/eqP. by rewrite join_distributive h1 join_absorption. apply/negP; move=> /eqP h3. move/eqP in h1;apply meet_ge' in h. rewrite h3 join_commutative join_distributive join_idempotent -h3 join_absorption in h1. move:h2;move/negP. case. by rewrite h1. Qed. Lemma co_mc1 x y z b:x!=bot->y!=bot->meet x y = bot->meet y b!=bot-> (mix (join x y) z) /d (meet y (meet (com b) (com z)))=mix (join x (meet y b)) z. Proof. move=>X Y A H. rewrite Th6. rewrite com_meet -com_join double_com (join_associative (com y) _ _). rewrite meet_distributive. rewrite meet_commutative meet_distributive meet_commutative -co_mc0=>//. rewrite meet_commutative meet_distributive com_bot join_bot_unitL. apply/eqP;rewrite eq_sym;apply/eqP. apply:(@lemma1_3 (join x (meet y b)) z (meet (join x y) z)). apply:join_bot_bot=>//. -apply:(@ge_transitive z (join (join x (meet y b)) z) (meet (join x y) z)). rewrite join_commutative join_ge=>//. rewrite meet_commutative meet_ge=>//. split. -rewrite meet_associative. apply:gt_0. rewrite/gt;apply/andP;split. apply:(@ge_transitive y (join x y) (meet y (com b))). rewrite join_commutative join_ge=>//. apply meet_ge. apply/negP. move=>/eqP h. move:(A)=>a. apply meet_eq_ge in a. apply meet_ge' in a. move:(A)=>c. apply meet_eq_ge in c;move/eqP in c. move:H;move/negP. case. apply/eqP. rewrite meet_commutative. apply (@meet_eq_ge b y). apply meet_ge'. rewrite meet_commutative -h. rewrite-[in RHS](@join_bot_unitL y). rewrite -(@com_bot x) (join_commutative (meet _ _) _) join_distributive. rewrite meet_commutative (join_commutative y x) h (join_commutative y _) c. by rewrite meet_associative a. --rewrite meet_commutative -meet_associative -(meet_associative (com b) _ _) (meet_commutative (com _) z) com_bot. by rewrite meet_commutative (meet_commutative _ bot) meet_bot_unitL meet_bot_unitL. Qed. Lemma meet_join x y:(join x y = x)<->(meet x y = y). Proof. split=>H. apply meet_ge'. by apply/eqP. apply meet_ge' in H. by move/eqP in H. Qed. Lemma ge_mix_bob_eq x y:x!=bot-> (ge y x <-> (mix x y = bob)). Proof. move=>X. move:(@le_mix_bob_eq x y)=>H. rewrite/le in H. by apply H. Qed. Lemma co_mc2 x y z b:x!=bot->y!=bot->meet x y = bot->meet y b!=bot->~~(ge z y)->~~ (ge z x)-> (dot (mix x z) (mix y z))/d (meet y (meet (com b) (com z)))= dot (mix x z) (mix (meet y b) z). Proof. move=>X Y A B C D. rewrite const_margin. rewrite Th6. rewrite com_meet -com_join double_com meet_distributive. rewrite com_bot join_bot_unitL meet_distributive. rewrite -(@lemma1_3 (meet y b) z (meet y z))=>//. -apply:(@ge_transitive z (join (meet y b) z) (meet y z)). by rewrite join_commutative join_ge. by rewrite meet_commutative meet_ge. split. -rewrite meet_associative. apply:gt_0=>//. rewrite/gt;apply/andP;split. by rewrite meet_ge. apply/negP; move=> /eqP H. move:B;move/negP. case. by rewrite H -meet_associative (meet_commutative _ b) com_bot meet_commutative meet_bot_unitL. --rewrite meet_commutative -meet_associative -(meet_associative (com b) _ _) (meet_commutative (com _) z) com_bot. by rewrite meet_commutative (meet_commutative _ bot) meet_bot_unitL meet_bot_unitL. ---split. +rewrite/cintegrable. rewrite ctext3=>//. apply/eqP. rewrite join_distributive (join_commutative _ y) join_associative join_idempotent. by rewrite join_distributive -(join_associative y z (com z)) com_top join_top_unitR meet_top_unitR join_absorption. rewrite ctext3=>//. rewrite meet_distributive (meet_commutative _ x) meet_associative A meet_bot_unitL -meet_associative -meet_associative (meet_commutative _ z) com_bot meet_associative meet_bot_unitR join_idempotent=>//. Qed. Lemma margin_eq x y z:(x = y)-> (x /d z) = (y /d z). Proof. by move=>->. Qed. Theorem M_law x y z a b: (meet x y)=bot ->(meet x a)!=bot ->(meet y b)!=bot -> co_ind x y z ->co_ind (meet x a) (meet y b) z. Proof. move=> H1 H2 H3 H. move:(excluded_middle_axiom (x = bot));case=>Hx. rewrite co_sym=>//. rewrite Hx meet_bot_unitL. apply: ge_co_1. by apply bot_minimum. move:(excluded_middle_axiom (y = bot));case=>Hy. rewrite Hy meet_bot_unitL. by apply:ge_co_1; apply bot_minimum. move/eqP in Hx; move/eqP in Hy. move:(excluded_middle_axiom (ge z x));case=>Hzx. apply:ge_co_2=>//. apply:(@ge_transitive x z (meet x a))=>//. by rewrite meet_ge. move:(excluded_middle_axiom (ge z y));case=>Hzy. apply:ge_co_1. apply:(@ge_transitive y z (meet y b))=>//. by rewrite meet_ge. move:(excluded_middle_axiom (ge z (meet y b)));case=>Hzy'. by apply:ge_co_1. move/negP in Hzx;move/negP in Hzy;move/negP in Hzy'. -apply co_ind_eq_1 in H=>//. rewrite co_ind_eq_1=>//. apply (@margin_eq _ _ (meet y (meet (com b) (com z)))) in H. rewrite co_mc1 in H=>//. rewrite co_mc2 in H=>//. rewrite join_commutative dotrC in H. apply (@margin_eq _ _ (meet x (meet (com a) (com z)))) in H. rewrite co_mc1 in H=>//. rewrite co_mc2 in H=>//. by rewrite join_commutative dotrC. by rewrite meet_commutative meet_associative H1 meet_bot_unitL. by rewrite meet_commutative meet_associative H1 meet_bot_unitL. Qed. Theorem N_law1' x y z: meet x y = bot -> meet y z = bot -> meet x z = bot -> x != bot /\ ge (com z) (ctext (mix x (join y z)))/\ meet x (com z)!=bot-> mix x (join y z) = mix x y. Proof. move=> A B C H. apply N_law1 in H. rewrite meet_commutative in B;rewrite meet_commutative in C. apply meet_eq_ge in B;apply meet_eq_ge in C. apply meet_ge' in B;apply meet_ge' in C. rewrite meet_commutative in B;rewrite meet_commutative in C. by rewrite B C in H. Qed. Theorem N_law2' x y z cx cy : meet x y = bot -> meet y z = bot -> meet x z = bot -> ge (com x) y /\ meet (ctext cx) x = bot /\ meet (ctext cy) y = bot /\ up (join (join x y) z) = dot cy cx -> up (join (join x y) z) = dot (dot (up (join x z)) (up (join y z))) (down z). Proof. move=>a b c H. move:(a)(b)(c)=>A B C. apply N_law2 in H. rewrite meet_commutative in A. apply meet_eq_ge in A;apply meet_eq_ge in B;apply meet_eq_ge in C. apply meet_ge' in A;apply meet_ge' in B;apply meet_ge' in C. apply meet_eq_ge in a;apply meet_ge' in a. rewrite meet_commutative meet_distributive A B in H. rewrite meet_commutative meet_distributive a C in H. by rewrite (meet_commutative z _) C meet_commutative B in H. Qed. Theorem co_fact x y z cx cy:x!=bot->y!=bot->z!=bot-> meet x y = bot -> meet y z = bot -> meet x z = bot -> ge (com x) y /\ meet (ctext cx) x = bot /\ meet (ctext cy) y = bot /\ up (join x (join y z)) = dot cx cy -> co_ind x y z . Proof. move=>X Y Z A B C. case=>Ha [] Hb [] Hc Hd. apply co_ind_eq_2=>//. rewrite mix_up_down//. rewrite dotrA (dotrC (up (join y z)) _). move:(A)=>a;apply meet_eq_ge in A. apply (@N_law2' x y z cx cy)=>//. split=>//. split=>//. split=>//. by rewrite -join_associative dotrC. Qed. Theorem co_fact' x y z:x!=bot->y!=bot->z!=bot-> meet x y = bot -> meet y z = bot -> meet x z = bot -> co_ind x y z -> exists cx cy,ge (com x) (ctext cx) /\ ge (com y) (ctext cy) /\ up (join x (join y z)) = dot cx cy. Proof. move=>X Y Z A B C H. apply co_ind_eq_2 in H=>//. exists (up (join y z)), (mix x z). split. apply/meet_eq_ge. by rewrite ctext1 meet_distributive A C join_idempotent. split. apply/meet_eq_ge. move:(excluded_middle_axiom (ge z x));case=>Hzx. apply ge_mix_bob_eq in Hzx=>//. by rewrite Hzx ctext1 meet_bot_unitR. move/negP in Hzx. rewrite ctext3=>//. by rewrite meet_distributive B meet_commutative A join_idempotent. by rewrite join_associative. Qed. Theorem co_decomp x y z a b: a!=bot -> b!=bot -> meet x y = bot -> co_ind x y z -> ge x a -> ge y b -> co_ind a b z. Proof. move=> A B H0 H1 Ha Hb. apply meet_ge' in Ha. apply meet_ge' in Hb. rewrite -Ha -Hb. apply:M_law=>//. rewrite Ha=>//. rewrite Hb=>//. Qed. Theorem co_w_u x y z w:x!=bot -> y!=bot -> z!=bot -> w!=bot-> meet x y = bot -> meet x z = bot -> meet x w = bot -> meet y z = bot -> meet y w = bot -> meet w z = bot -> co_ind x (join y z) w -> co_ind x y (join z w). Proof. move=>X Y Z W A B C D E F H. move:(H)=>H'. apply co_ind_eq_2 in H=>//. rewrite co_ind_eq_2=>//. rewrite join_associative in H. rewrite join_associative H. rewrite[in RHS]dotrC -div_up_down. rewrite dotrC join_associative. rewrite dotrA (@dotrC (down (join (join y z) w)) _). rewrite up_down_unitL dot0r=>//. apply/eqP. rewrite eq_sym. apply/eqP. apply (@M_law x (join y z) w x (join z w)) in H'=>//. rewrite/co_ind in H'. rewrite meet_idempotent in H'. rewrite meet_distributive in H'. rewrite (join_commutative y _) in H'. rewrite (meet_commutative _ z) join_absorption in H'. rewrite (meet_commutative _ w) in H'. rewrite meet_distributive in H'. rewrite (meet_commutative _ y) F E in H'. rewrite join_idempotent in H'. move:(bot_minimum z)=>I. rewrite/ge in I. move/eqP in I. rewrite I in H'=>//. rewrite meet_distributive A B join_idempotent=>//. rewrite meet_idempotent=>//. rewrite (join_commutative y _) -join_distributive E. move:(bot_minimum z)=>I;rewrite/ge in I;move/eqP in I. rewrite I=>//. apply join_bot_bot=>//. Qed. Corollary M_l x y z w:x!=bot -> y!=bot -> z!=bot -> w!=bot-> meet x y = bot -> meet x z = bot -> meet x w = bot -> meet y z = bot -> meet y w = bot -> meet w z = bot -> co_ind x (join y z) w -> co_ind x z w. Proof. move=>X Y Z W A B C D E F H'. rewrite/co_ind. apply (@M_law x (join y z) w x (join z w)) in H'=>//. rewrite/co_ind in H'. rewrite meet_idempotent in H'. rewrite meet_distributive in H'. rewrite (join_commutative y _) in H'. rewrite (meet_commutative _ z) join_absorption in H'. rewrite (meet_commutative _ w) in H'. rewrite meet_distributive in H'. rewrite (meet_commutative _ y) F E in H'. rewrite join_idempotent in H'. move:(bot_minimum z)=>I. rewrite/ge in I. move/eqP in I. rewrite I in H'=>//. rewrite meet_distributive A B join_idempotent=>//. rewrite meet_idempotent=>//. rewrite (join_commutative y _) -join_distributive E. move:(bot_minimum z)=>I;rewrite/ge in I;move/eqP in I. rewrite I=>//. Qed. Theorem co_contr x y z w:x!=bot -> y!=bot -> z!=bot -> w!=bot -> meet x y = bot -> meet x z = bot -> meet x w = bot -> meet y z = bot -> meet y w = bot -> meet w z = bot -> (co_ind x y (join z w) /\ co_ind x z w <-> co_ind x (join y z) w). Proof. move=>X Y Z W A B C D E F. split. move=>[Ha Hb]. apply co_sym in Ha=>//. apply co_sym in Hb=>//. apply co_ind_eq_2 in Ha=>//. apply co_ind_eq_2 in Hb=>//. rewrite (join_commutative z x) -join_associative in Hb. rewrite Hb in Ha. rewrite co_sym=>//. rewrite co_ind_eq_2=>//. rewrite (join_commutative _ x) join_associative (join_commutative x y). rewrite -join_associative Ha. rewrite[in RHS]dotrC. rewrite -div_up_down. rewrite dotrC -(dotrA (up (join x w)) _ _). rewrite dotrA (dotrC (down (join x w)) (up (join x w))). rewrite up_down_unitL dot0r. rewrite mix_up_down=>//. rewrite mix_up_down=>//. rewrite dotrA. rewrite (dotrC (dot (dot (up (join z w)) (down w)) (up (join y (join z w))))). rewrite dotrA dotrA. rewrite (dotrC _ (up (join z w))). rewrite up_down_unitL dot0r. rewrite dotrC join_associative mix_up_down=>//. apply:join_bot_bot=>//. apply:join_bot_bot=>//. apply:join_bot_bot=>//. -move=>H. split. apply:co_w_u=>//. apply: (@M_l x y z w)=>//. Qed. Corollary co_con x y z:x!=bot -> y!=bot -> z!=bot -> meet x y = bot -> meet x z = bot -> meet y z = bot->((co_ind x y z /\ ind x z)<->ind x (join y z)). Proof. move=>X Y Z A B C. split. move=>[Ha Hb]. rewrite ind_eq=>//. apply ind_eq in Hb=>//. apply co_sym in Ha=>//. apply co_ind_eq_2 in Ha=>//. rewrite Hb in Ha. rewrite (join_commutative y x) -join_associative in Ha. rewrite Ha. apply/eqP. rewrite eq_sym. apply/eqP. rewrite[in RHS] dotrC (dotrC (up x) (up z)) dotrA. rewrite dotrC -div_up_down. rewrite -dotrA dotrC up_down_unitL bob_unitL -div_up_down=>//. rewrite -mix_up_down=>//. apply:join_bot_bot=>//. move=>H. move:(H)=>H'. split. apply ind_eq in H=>//. rewrite co_ind_eq_2=>//. rewrite -join_associative H. rewrite[in RHS]dotrC. rewrite -div_up_down. rewrite -dotrA (dotrC (up x) _). rewrite up_down_unitL bob_unitL. rewrite/ind in H'. apply (@M_law x (join y z) bot x z) in H'. rewrite meet_idempotent in H'. rewrite meet_commutative join_commutative join_absorption in H'. rewrite/co_ind in H'. rewrite join_commutative join_bot_unitL in H'. rewrite H'=>//. rewrite meet_distributive. rewrite A B join_bot=>//. rewrite meet_idempotent=>//. rewrite meet_commutative join_commutative join_absorption=>//. apply:join_bot_bot=>//. apply (@M_law x (join y z) bot x z) in H'. rewrite meet_idempotent in H'. rewrite meet_commutative join_commutative join_absorption in H'. rewrite/ind=>//. rewrite meet_distributive. rewrite A B join_bot=>//. rewrite meet_idempotent=>//. rewrite meet_commutative join_commutative join_absorption=>//. Qed. Theorem co_inter x y z w:x!=bot -> y!=bot -> z!=bot -> w!=bot->meet x (com z)!=bot-> meet x y = bot -> meet x z = bot -> meet x w = bot -> meet y z = bot -> meet y w = bot -> meet w z = bot -> (co_ind x (join y z) w <-> (co_ind x y (join z w)/\co_ind x z (join y w))). Proof. move=>X Y Z W XZ A B C D E F. split. -move=>H. apply:conj. apply:co_w_u=>//. rewrite join_commutative in H;apply:co_w_u=>//. by rewrite meet_commutative. by rewrite meet_commutative. by rewrite meet_commutative. -move=>[HA HB]. move:(HA)(HB)=>Ha Hb. move/co_ind_eq_2 in Ha=>//; move/co_ind_eq_2 in Hb=>//. rewrite dotrC in Ha; rewrite dotrC in Hb. rewrite (join_associative y _ _) (join_commutative y z) -(join_associative z _ _)in Ha. apply div_up_down in Ha=>//;apply div_up_down in Hb=>//. rewrite -join_associative (join_associative y z w) (join_commutative y z) (join_associative x _ w) (join_associative x z y) -join_associative in Ha. rewrite Ha in Hb. ---have Hm: mix x (join z w)=mix x w. rewrite join_commutative. apply:N_law1'=>//. split;first by[]. split;last by[]. rewrite join_commutative Hb. move: (excluded_middle_axiom (ge (join y w) x)); case=>Hyw. rewrite ctext2=>//. by rewrite bot_minimum. move/negP in Hyw. rewrite ctext3=>//. by rewrite -meet_eq_ge meet_distributive meet_distributive meet_commutative B meet_commutative D meet_commutative F join_bot_unitL join_bot_unitL. apply div_up_down in Ha. rewrite dotrC Hm in Ha. rewrite co_ind_eq_2=>//. by rewrite (join_commutative y z) -join_associative -join_associative join_associative. by apply:join_bot_bot. Qed. End conditional_independence. Section separoid. Parameter sep:L -> L -> L -> bool. Axiom sep_id :forall x y, sep x y x. Axiom sep_co : forall x y z, sep x y z -> sep y x z. Axiom sep_decomp : forall x y z w, sep x y z -> ge y w -> sep x w z. Axiom sep_w_u : forall x y z w, sep x y z -> ge y w -> sep x y (join z w). Axiom sep_contr : forall x y z w, sep x y z -> sep x w (join y z) -> sep x (join y w) z. Axiom sep_strong : forall x y z w, ge y z -> ge y w -> sep x y z -> sep x y w -> sep x y (meet z w). Lemma sep_idL x y: sep x y y. Proof. apply:sep_co. by apply:sep_id. Qed. (* Lemma sep_xx x y: sep x x y -> sep x (join x y) y. Proof. move:(@sep_idL x y). move=>Ha Hb ;move:Ha Hb. move:(@sep_contr x y y x)=>H. by rewrite join_idempotent join_commutative in H. Qed. *) Lemma ge_sep_eq x y: ge y x -> sep x x y. Proof. (*move: (sep_idL x y).*) apply:sep_decomp. by apply:sep_idL. Qed. Proposition ge_sep_1 x y z: ge z y -> sep x y z. Proof. move:(@sep_idL x z). apply:(@sep_decomp x z z y). Qed. Proposition ge_sep_2 x y z: x!=bot -> ge z x -> sep x y z. Proof. move=>H h. apply sep_co. by apply:(@ge_sep_1 y x z). Qed. Lemma sep_de x y z w: sep x (join y w) z -> sep x y z. Proof. move=>H. move:H (@join_ge y w). apply:(@sep_decomp x (join y w) z y). Qed. Lemma sep_join x y z:sep x y z -> sep x (join y z) z. Proof. move=>H. move:(sep_idL x z)=>Ha. rewrite -(@join_idempotent z) in H. rewrite join_commutative. apply:sep_contr=>//. Qed. Lemma sep_join' x y z:sep x y z -> sep x y (join y z). Proof. move=>H. rewrite join_commutative. apply:(@sep_w_u x y z y)=>//. by rewrite ge_reflexive. Qed. Lemma sep_join'2 x y z:sep x y z -> sep x y (join x z). Proof. move=>H. apply:sep_co. apply:sep_join'. by apply sep_co. Qed. Lemma sep_join'3 x y z:sep x y z -> sep x y (join x (join y z)). Proof. move=>H. move:(sep_join' H)=>H'. apply:sep_join'2=>//. Qed. Theorem M_law_sep x y z a b: (meet x y)=bot ->(meet x a)!=bot ->(meet y b)!=bot -> sep x y z ->sep (meet x a) (meet y b) z. Proof. move=>H1 H2 H3 H. rewrite(@sep_decomp (meet x a) y z (meet y b))=>//. rewrite sep_co=>//. rewrite (@sep_decomp y x z (meet x a))=>//. rewrite sep_co=>//. by apply meet_ge. by apply meet_ge. Qed. Proposition mar_sep x1 x2 x3 x4 x5: sep x3 x1 x2 -> sep x4 (join x1 x2) x3 -> sep x5 (join (join x1 x2) x3) x4 -> sep x3 (join x1 x5) (join x2 x4). Proof. move=>Ha Hb Hc. move:(Hc)=>Hc'. apply (@sep_w_u x5 (join (join x1 x2) x3) x4 x2) in Hc'. rewrite (join_commutative x4 _) join_commutative in Hc'. apply sep_de in Hc'. rewrite join_commutative sep_contr=>//. rewrite sep_co=>//. -rewrite join_commutative -join_associative. rewrite sep_co=>//. rewrite(@sep_decomp x1 (join x3 (join x4 x5)) (join x2 (join x4 x5)) x3)=>//. rewrite sep_w_u=>//. rewrite sep_contr=>//. rewrite sep_co=>//. rewrite sep_contr=>//. -move:(Hb)=>Hb'. apply(@sep_w_u x4 (join x1 x2) x3 x2) in Hb'. rewrite sep_co=>//. rewrite (@sep_decomp x4 (join x1 x2) (join x3 x2) x1)=>//. rewrite join_ge=>//. rewrite join_commutative join_ge=>//. -rewrite sep_co=>//. move:(Hc)=>HC. rewrite -join_associative in HC. apply(@sep_w_u x5 (join x1 (join x2 x3)) x4 (join x2 x3)) in HC. rewrite (@sep_decomp x5 (join x1 (join x2 x3)) (join x4 (join x3 x2)) x1)=>//. rewrite (join_commutative x3 _)=>//. rewrite join_ge=>//. rewrite join_commutative join_ge=>//. rewrite join_commutative join_ge=>//. rewrite join_ge=>//. rewrite (join_commutative x1 _) -join_associative join_ge=>//. Qed. (*conditional independence => separoid*) Theorem co_id x y:x!=bot -> co_ind x y x. Proof. move=>X. apply ge_co_2=>//. Print ge_co_2. by rewrite/le ge_reflexive. Qed. Theorem co_ind_sep x y z w:x!=bot -> y!=bot -> z!=bot -> w!=bot -> meet x y = bot -> meet x z = bot -> meet x w = bot -> meet y z = bot -> meet y w = bot -> meet w z = bot -> (co_ind x y x /\ (co_ind x y z -> co_ind y x z) /\(co_ind x y z -> ge y w -> co_ind x w z) /\(co_ind x y z -> ge y w -> co_ind x y (join z w)) /\ (co_ind x y z -> co_ind x w (join y z) -> co_ind x (join y w) z) /\(ge y z -> ge y w -> co_ind x y z -> co_ind x y w -> co_ind x y (meet z w))). Proof. move=>X Y Z W A B C D E F. split. -by apply co_id. split. --by apply co_sym. split. ---move=>H H'. apply:(@co_decomp x y z x w)=>//. by rewrite ge_reflexive. split. ----move=>H H'. rewrite/ge/le in H'. move/eqP in H'. rewrite -H' in H. move/co_w_u in H=>//. rewrite join_commutative. apply:H=>//. by rewrite meet_commutative. split. -----move=>H1 H2. rewrite join_commutative. apply (@co_contr x w y z)=>//. by rewrite meet_commutative. by rewrite meet_commutative. ------rewrite/co_ind. move=>H1 H2 H H'. move:( H1)=>H3;move:(H2)=>H4. apply meet_ge' in H3;apply meet_ge' in H4. move/eqP in H1;move/eqP in H2. rewrite join_distributive H1 H2 meet_idempotent. rewrite H1 in H; rewrite H2 in H'. rewrite H in H'. rewrite H. by apply Th5. Qed. End separoid. Section graphoid. Parameter grap: L -> L -> L -> bool. Axiom grap_sym:forall x y z, grap x y z -> grap y x z. Axiom grap_decomp:forall x y z w, grap x (join y w) z -> grap x y z. Axiom grap_w_u:forall x y z w, grap x (join y z) w -> grap x y (join z w). Axiom grap_contr:forall x y z w, grap x y (join z w) /\ grap x z w -> grap x (join y z) w. Axiom grap_int:forall x y z w, grap x y (join z w) /\ grap x z (join y w) -> grap x (join y z) w.
GitHub Repo https://github.com/Agoengwew/wew

Agoengwew/wew

#EXTM3U ########################################### INDONESIA CHANNEL ################################################## #EXTINF:-1 tvg-logo="https://i.imgur.com/L2LS8iY.png" group-title="INDONESIA", MNC TV http://id6.indostreamingtv.com/live/mnctv/index.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/L2LS8iY.png" group-title="INDONESIA", MNC TV (1) https://live.rctiplus.id/rctiplus/mnctv_720p.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/RAAXLWk.png" group-title="INDONESIA", INDOSIAR https://anevia115.mncnow.id:443/live/eds/Indosiar/sa_hls/Indosiar-avc1_1000000=9-mp4a_98800_eng=5.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/RAAXLWk.png" group-title="INDONESIA", INDOSIAR (1) http://203.153.218.28:9981/stream/channelid/261435212?ticket=A192592FCB24306982D91467C77D3822DE0861B2&profile=pass #EXTINF:-1 tvg-logo="https://i.imgur.com/JK2UPbl.png" group-title="INDONESIA", RCTI https://live.rctiplus.id/rctiplus/rcti_720p.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/JK2UPbl.png" group-title="INDONESIA", RCTI (1) http://id6.indostreamingtv.com:80/live/rcti/index.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/XJRm3N1.png" group-title="INDONESIA", SCTV https://anevia114.mncnow.id:443/live/eds/SCTV/sa_hls/SCTV-avc1_1000000=10-mp4a_98800_eng=5.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/k4XLh36.png" group-title="INDONESIA", ANTV http://203.153.218.26:9981/stream/channelid/1654354630?ticket=6640B7776404F498CBF118E4AF04C93D72BE584D&profile=pass #EXTINF:-1 tvg-logo="https://i.imgur.com/k4XLh36.png" group-title="INDONESIA", ANTV (1) https://anevia114.mncnow.id:443/live/eds/ANTV/sa_hls/ANTV-avc1_1000000=6-mp4a_98800_eng=5.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/6iokkOz.png" group-title="INDONESIA", TRANS 7 http://203.153.218.26:9981/stream/channelid/302821177?ticket=67841DB7C784200CDA6E121CE4010B696B04CFBE&profile=pass #EXTINF:-1 tvg-logo="https://i.imgur.com/6iokkOz.png" group-title="INDONESIA", TRANS 7 (1) https://anevia114.mncnow.id:443/live/eds/Trans7/sa_hls/Trans7-avc1_1000000=7-mp4a_98800_eng=5.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/GVFqTkA.png" group-title="INDONESIA", TRANS TV https://anevia114.mncnow.id:443/live/eds/TransTV/sa_hls/TransTV-avc1_1000000=7-mp4a_98800_eng=3.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/GVFqTkA.png" group-title="INDONESIA", TRANS TV (1) http://203.153.218.26:9981/stream/channelid/611995608?ticket=53AC2D2761CB9F20600BD2F05DABFBE71E93D0BE&profile=pass #EXTINF:-1 tvg-logo="https://i.imgur.com/7mzjLGe.png" group-title="INDONESIA", GLOBAL TV http://id6.indostreamingtv.com/live/tv1/index.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/7mzjLGe.png" group-title="INDONESIA", GLOBAL TV (1) https://live.rctiplus.id/rctiplus/gtv_720p.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/l2cgeYi.png" group-title="INDONESIA", NET. https://anevia115.mncnow.id/live/eds/NetTV/sa_hls/NetTV-avc1_1000000=9-mp4a_98800_eng=5.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/l2cgeYi.png" group-title="INDONESIA", NET. (1) http://rr2.dens.tv/s/s08/index.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/gxDKBJF.png" group-title="INDONESIA", METRO TV HD http://203.153.218.26:9981/stream/channelid/1360909675?ticket=28AFC6692094FABCE06A7952176323C5154F56F4&profile=pass #EXTINF:-1 tvg-logo="https://i.imgur.com/gxDKBJF.png" group-title="INDONESIA", METRO TV https://anevia115.mncnow.id:443/live/eds/MetroTV/sa_hls/MetroTV-avc1_1000000=7-mp4a_98800_eng=5.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/gxDKBJF.png" group-title="INDONESIA", METRO TV (1) http://edge.metrotvnews.com:1935/live-edge/smil:metro.smil/playlist.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/uMbKFzB.png" group-title="INDONESIA", TVONE https://anevia114.mncnow.id:443/live/eds/TVOne/sa_hls/TVOne-avc1_1000000=7-mp4a_98800_eng=5.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/uMbKFzB.png" group-title="INDONESIA", TVONE (1) http://id1.indostreamingtv.com/live/tv444/index.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/qxIlRs7.png" group-title="INDONESIA", KOMPAS TV https://anevia115.mncnow.id:443/live/eds/KompasTV/sa_hls/KompasTV-avc1_1000000=7-mp4a_98800_eng=3.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/XBm7Gc3.png" group-title="INDONESIA", CNN INDONESIA http://203.153.218.26:9981/stream/channelid/180919192?ticket=F26DABFDD4DCC91FCF2CE02805A8B91339F9FD92&profile=pass #EXTINF:-1 tvg-logo="https://i.imgur.com/XBm7Gc3.png" group-title="INDONESIA", CNN INDONESIA (1) https://live.cnnindonesia.com/livecnn/smil:cnntv.smil/chunklist_w691324912_b384000_sleng.m3u8 #EXTINF:-1 tvg-logo="https://imgur.com/UUy8bTn" group-title="INDONESIA", CNBC INDONESIA https://live.cnbcindonesia.com/livecnbc/smil:cnbctv.smil/playlist.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/Ear3Tqc.png" group-title="INDONESIA", INEWS TV https://live.rctiplus.id/rctiplus/inews_720p.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/rCaMpOi.png" group-title="INDONESIA", TVRI NASIONAL https://anevia115.mncnow.id:443/live/eds/PemersatuBangsa/sa_hls/PemersatuBangsa-avc1_1000000=6-mp4a_98800_eng=5.m3u8 #EXTINF:-1 tvg-logo="https://raw.githubusercontent.com/adisyukri/test/master/1576870774-picsay.jpg" group-title="INDONESIA",VISION PRIME https://anevia114.mncnow.id:443/live/eds/VisionPrime/sa_hls/VisionPrime-avc1_1000000=7-mp4a_98800_eng=3.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/YzK2l8m.png" group-title="INDONESIA", RAJAWALI TV http://rr2.dens.tv/s/s12/index.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/YzK2l8m.png" group-title="INDONESIA", RAJAWALI TV (1) http://45.126.83.51:80/qwr9ew/s/s12/01.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/sz4Fz2u.png" group-title="INDONESIA", BERITA SATU NEWS https://anevia115.mncnow.id:443/live/eds/BeritaSatu/sa_hls/BeritaSatu-avc1_1000000=7-mp4a_98800_eng=3.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/sz4Fz2u.png" group-title="INDONESIA", BERITA SATU NEWS (1) http://edge.linknetott.swiftserve.com/live/BsNew/amlst:bsnew/chunklist_b1128000.m3u8 #EXTINF:-1 tvg-logo="" group-title="INDONESIA", BERITA SATU WORLD HD http://203.153.218.26:9981/stream/channelid/885612247?ticket=A19C514A9C15977896E27C283AA6BC858B39C383&profile=pass #EXTINF:-1 tvg-logo="" group-title="INDONESIA", BERITA SATU WORLD HD (2) http://edge.linknetott.swiftserve.com/live/BsNew/amlst:bsworld/playlist.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/jLTCWHP.png" group-title="INDONESIA", JAKARTA GLOBE NEWS http://edge.linknetott.swiftserve.com/live/BsNew/amlst:bsenglish/playlist.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/h4u6TMV.jpg" group-title="INDONESIA", INDONESIAN CHANNEL http://202.93.133.3:1935/svr2/tic.com.stream_720p/playlist.m3u8 #EXTINF:-1 tvg-logo="https://raw.githubusercontent.com/adisyukri/test/master/1576870774-picsay.jpg" group-title="INDONESIA", JAWAPOS TV https://livetvhooq.akamaized.net:443/448282ebe21e4ddaa20ffac3f5725086/ap-southeast-1/5493668622001/profile_2/chunklist.m3u8?hdnts=st=1573600053~exp=9007200828341044~acl=/448282ebe21e4ddaa20ffac3f5725086/*/profile_2/chunklist.m3u8*~hmac=34668c3a5d65ee732b03c74c8c5fe7f2bd27db8a18a14541660649e8fae2dfc4 #EXTINF:-1 tvg-logo="https://raw.githubusercontent.com/adisyukri/test/master/1576870774-picsay.jpg" group-title="INDONESIA", JTV SURABAYA https://livetvhooq.akamaized.net/ae74dfdacfc1474ebacda1990c3dc338/ap-southeast-1/5493668622001/profile_0/chunklist.m3u8?hdnts=st=1578737355~exp=9007200833478346~acl=/ae74dfdacfc1474ebacda1990c3dc338/*/profile_0/chunklist.m3u8*~hmac=38fffe01dee4cdd681554c4a989a37ce79cb84f3d782a9ba5dd8997ddf403d67&hdnts=st=1578737356~exp=1578737476~acl=/*~id=69e868e0-65de-48a7-a997-65e76560ba94~data=36.75.70.213~hmac=8a97806bfb9c8ccb8bb2e6af1a63ffde0cedf4d14618ca0d3e7c8cd80fd10c6f #EXTINF:-1 tvg-logo="https://i.imgur.com/6LGy9aA.png" group-title="INDONESIA", RODJA TV http://vids.rodja.tv:1935/live/rodja/playlist.m3u8 #EXTINF:-1 tvg-logo="" group-title="INDONESIA",MUSLIM TV https://anevia114.mncnow.id:443/live/eds/MNCMuslim/sa_hls/MNCMuslim-avc1_1000000=7-mp4a_98800_eng=5.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/A6oxELS.png" group-title="INDONESIA", ASHIIL TV http://119.82.232.89:1935/ashiiltv/live2/playlist.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/U0eKIMM.png" group-title="INDONESIA", MADANI TV http://stream.asianastream.com:1935/live/ngrp:madanitv_all/playlist.m3u8 #EXTINF:-1 tvg-logo="" group-title="INDONESIA", TAHFIDZ TV http://119.235.249.58:1935/tahfidztv/live/chunk.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/VRlAcoA.png" group-title="INDONESIA", AHSAN TV http://119.82.224.75:1935/live/ahsantv/chunk.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/hbnyodH.png" group-title="INDONESIA", TV9 NUSANTARA http://wowza60.indostreamserver.com:1935/tv9/live/playlist.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/AOBzMH3.png" group-title="INDONESIA", ADI TV http://aditv.onlivestreaming.net/aditv/livestream/playlist.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/IgetlBX.png" group-title="INDONESIA", MNC SHOP http://202.80.222.130/000001/2/ch16061710145075159643/index.m3u8?virtualDomain=000001.live_hls.zte.com #EXTINF:-1 tvg-logo="https://i.imgur.com/kt7Sn1H.png" group-title="INDONESIA", FOODIE http://edge.linknetott.swiftserve.com/live/BSgroup/amlst:foodiee/playlist.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/9wKyMDT.png" group-title="INDONESIA", ELSHINTA TV http://rr2.dens.tv/s/s10/index.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/0jVGDf3.png" group-title="INDONESIA", BALI TV http://210.210.155.35/x6bnqe/s/s82/S4/mnf.m3u8 #EXTINF:-1 tvg-logo="" group-title="INDONESIA", CAHAYA TV http://103.23.201.170:1935/live/livestream/chunk.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/oCPldm1.png" group-title="INDONESIA", TVKU http://103.30.1.14:8080/hls/live.m3u8 #EXTINF:-1 tvg-logo="" group-title="INDONESIA",USEE PHOTO https://livetvhooq.akamaized.net/c37364587aeb4050bd51a0b8068e976f/eu-central-1/5493668622001/profile_1/chunklist.m3u8?hdnts=st=1572048772~exp=9007200826789763~acl=/c37364587aeb4050bd51a0b8068e976f/*/profile_1/chunklist.m3u8*~hmac=db830a2d176a5620aa93f8a722a43796aba20e38f757a257a6874826bc3f7308 #EXTINF:-1 tvg-logo="" group-title="INDONESIA",USEE PRIME https://livetvhooq.akamaized.net/8eb1108c494240ef94c5c8ae7e572c29/eu-central-1/5493668622001/profile_1/chunklist.m3u8?hdnts=st=1572048811~exp=9007200826789802~acl=/8eb1108c494240ef94c5c8ae7e572c29/*/profile_1/chunklist.m3u8*~hmac=c7b056ffebcb94ad6c429bd0685d5d6fed40b7bad0dcfca6e48df944d45a43d4 #EXTINF:-1 tvg-logo="" group-title="INDONESIA",ID KU https://livetvhooq.akamaized.net/8d310f35fdf349daab8e0610161060f1/eu-central-1/5493668622001/profile_1/chunklist.m3u8?hdnts=st=1572048854~exp=9007200826789845~acl=/8d310f35fdf349daab8e0610161060f1/*/profile_1/chunklist.m3u8*~hmac=eb90616605948f62a0c512ed38cdd06b0f5cf7bce0fee578df3441455b550da6 #EXTINF:-1 tvg-logo="" group-title="INDONESIA",RUANG TERAMPIL https://livetvhooq.akamaized.net/b1b6d552c80f4ef78bd4c10bfb32268d/eu-central-1/5493668622001/profile_1/chunklist.m3u8?hdnts=st=1572048870~exp=9007200826789861~acl=/b1b6d552c80f4ef78bd4c10bfb32268d/*/profile_1/chunklist.m3u8*~hmac=d953442254a991bd90234bddbdec85c2ebd07648d38983e23e541e31e7993cc9 ################################################ NINMEDIA ################################################ #EXTINF:-1 tvg-logo="https://ninmedia.tv/wp-content/uploads/2019/02/cropped-Ninmedia-Edit-183x42.png" group-title="NINMEDIA",KITANESIA http://stream1.ninmedia.tv/kitanesia/udp.stream_360p/playlist.m3u8 #EXTINF:-1 tvg-logo="https://ninmedia.tv/wp-content/uploads/2019/02/cropped-Ninmedia-Edit-183x42.png" group-title="NINMEDIA",MALEO http://stream1.ninmedia.tv/maleo/udp.stream_360p/playlist.m3u8 #EXTINF:-1 tvg-logo="https://ninmedia.tv/wp-content/uploads/2019/02/cropped-Ninmedia-Edit-183x42.png" group-title="NINMEDIA",INSPIRA TV http://stream1.ninmedia.tv/inspiratv/udp.stream_360p/playlist.m3u8 #EXTINF:-1 tvg-logo="https://ninmedia.tv/wp-content/uploads/2019/02/cropped-Ninmedia-Edit-183x42.png" group-title="NINMEDIA",BMW TV http://stream1.ninmedia.tv/bmwtv/udp.stream_360p/playlist.m3u8 #EXTINF:-1 tvg-logo="https://ninmedia.tv/wp-content/uploads/2019/02/cropped-Ninmedia-Edit-183x42.png" group-title="NINMEDIA",TABALONG TV http://stream1.ninmedia.tv/tabalongtv/udp.stream_360p/playlist.m3u8 #EXTINF:-1 tvg-logo="https://ninmedia.tv/wp-content/uploads/2019/02/cropped-Ninmedia-Edit-183x42.png" group-title="NINMEDIA",AREK TV SURABAYA http://stream2.ninmedia.tv/arektv/arek_360p/playlist.m3u8 #EXTINF:-1 tvg-logo="https://ninmedia.tv/wp-content/uploads/2019/02/cropped-Ninmedia-Edit-183x42.png" group-title="NINMEDIA",RUMAH TV http://stream2.ninmedia.tv/rumahtv/rtmp.stream_360p/playlist.m3u8 #EXTINF:-1 tvg-logo="https://ninmedia.tv/wp-content/uploads/2019/02/cropped-Ninmedia-Edit-183x42.png" group-title="NINMEDIA",TV DESA http://stream1.ninmedia.tv/tvdesa/udp.stream_360p/playlist.m3u8 #EXTINF:-1 tvg-logo="https://ninmedia.tv/wp-content/uploads/2019/02/cropped-Ninmedia-Edit-183x42.png" group-title="NINMEDIA",RCTV http://stream1.ninmedia.tv/rctv/rtmp.stream_360p/playlist.m3u8 #EXTINF:-1 tvg-logo="https://ninmedia.tv/wp-content/uploads/2019/02/cropped-Ninmedia-Edit-183x42.png" group-title="NINMEDIA",JAMBI TV http://stream1.ninmedia.tv/jambitv/rtmp.stream_360p/playlist.m3u8 #EXTINF:-1 tvg-logo="https://ninmedia.tv/wp-content/uploads/2019/02/cropped-Ninmedia-Edit-183x42.png" group-title="NINMEDIA",RADAR TV LAMPUNG http://stream1.ninmedia.tv/radartvlampung/udp.stream_360p/playlist.m3u8 #EXTINF:-1 tvg-logo="https://ninmedia.tv/wp-content/uploads/2019/02/cropped-Ninmedia-Edit-183x42.png" group-title="NINMEDIA",PAL TV http://stream1.ninmedia.tv/paltv/rtmp.stream_360p/playlist.m3u8 #EXTINF:-1 tvg-logo="https://ninmedia.tv/wp-content/uploads/2019/02/cropped-Ninmedia-Edit-183x42.png" group-title="NINMEDIA",OSHOP http://stream1.ninmedia.tv/oshop/udp.stream_360p/playlist.m3u8 #EXTINF:-1 tvg-logo="https://ninmedia.tv/wp-content/uploads/2019/02/cropped-Ninmedia-Edit-183x42.png" group-title="NINMEDIA",NABAWI TV http://stream2.ninmedia.tv/nabawitv/nabawitv_360p/playlist.m3u8 #EXTINF:-1 tvg-logo="https://ninmedia.tv/wp-content/uploads/2019/02/cropped-Ninmedia-Edit-183x42.png" group-title="NINMEDIA",BE TV http://stream1.ninmedia.tv/betv/rtmp.stream_360p/playlist.m3u8 #EXTINF:-1 tvg-logo="https://ninmedia.tv/wp-content/uploads/2019/02/cropped-Ninmedia-Edit-183x42.png" group-title="NINMEDIA",RB TV http://stream1.ninmedia.tv/rbtv/rtmp.stream_360p/playlist.m3u8 #EXTINF:-1 tvg-logo="https://ninmedia.tv/wp-content/uploads/2019/02/cropped-Ninmedia-Edit-183x42.png" group-title="NINMEDIA",DMI TV http://stream1.ninmedia.tv/dmitv/udp.stream_360p/playlist.m3u8 #EXTINF:-1 tvg-logo="https://ninmedia.tv/wp-content/uploads/2019/02/cropped-Ninmedia-Edit-183x42.png" group-title="NINMEDIA",SALINGSAPA http://stream1.ninmedia.tv/salingsapa/rtmp.stream_360p/playlist.m3u8 #EXTINF:-1 tvg-logo="https://ninmedia.tv/wp-content/uploads/2019/02/cropped-Ninmedia-Edit-183x42.png" group-title="NINMEDIA",NU CHANNEL http://stream1.ninmedia.tv/nuchannel/udp.stream_360p/playlist.m3u8 #EXTINF:-1 tvg-logo="https://ninmedia.tv/wp-content/uploads/2019/02/cropped-Ninmedia-Edit-183x42.png" group-title="NINMEDIA",RRI NET http://stream1.ninmedia.tv/rrinet/udp.stream_360p/playlist.m3u8 #EXTINF:-1 tvg-logo="https://ninmedia.tv/wp-content/uploads/2019/02/cropped-Ninmedia-Edit-183x42.png" group-title="NINMEDIA",GPR TV http://stream1.ninmedia.tv/gprtv/udp.stream_360p/playlist.m3u8 #EXTINF:-1 tvg-logo="https://ninmedia.tv/wp-content/uploads/2019/02/cropped-Ninmedia-Edit-183x42.png" group-title="NINMEDIA",MI TV http://stream2.ninmedia.tv/mitv/rtmp.stream_360p/playlist.m3u8 #EXTINF:-1 tvg-logo="https://ninmedia.tv/wp-content/uploads/2019/02/cropped-Ninmedia-Edit-183x42.png" group-title="NINMEDIA",TRIBRATA TV http://stream1.ninmedia.tv/tribratatv/udp.stream_360p/playlist.m3u8 #EXTINF:-1 tvg-logo="https://ninmedia.tv/wp-content/uploads/2019/02/cropped-Ninmedia-Edit-183x42.png" group-title="NINMEDIA",POP MUSIK http://stream1.ninmedia.tv/popmusik/udp.stream_360p/playlist.m3u8 ################################################ MOVIES CHANNEL ################################################ #EXTINF:-1 tvg-logo="https://i.imgur.com/wdUGjly.png" group-title="MOVIES - SERIES", JGO http://edge.linknetott.swiftserve.com/live/BSgroup/amlst:jgoch/playlist.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/wdUGjly.png" group-title="MOVIES - SERIES", JGO (1) http://edge.linknetott.swiftserve.com/live/BSgroup/amlst:jgoch/chunklist_b2288000.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/1onb5CQ.png" group-title="MOVIES - SERIES", HBO http://95.170.215.118/hls/m3u8/HBO.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/1onb5CQ.png" group-title="MOVIES - SERIES", HBO 2 http://95.170.215.118/hls/m3u8/HBO-2.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/1onb5CQ.png" group-title="MOVIES - SERIES", HBO 3 http://95.170.215.118/hls/m3u8/HBO-3.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/TdU3cK4.png" group-title="MOVIES - SERIES", HBO HITS http://203.153.218.28:9981/stream/channelid/2038175895?ticket=0299B4C37DF5A2B463E83E4FFD9AD1E91BA48253&profile=pass #EXTINF:-1 tvg-logo="https://i.imgur.com/mvRyGWf.png" group-title="MOVIES - SERIES", HBO SIGNATURE http://203.153.218.28:9981/stream/channelid/1197019186?ticket=96AB9AD0536B1000E515E3219100C78A9625CAE3&profile=pass #EXTINF:-1 tvg-logo="https://i.imgur.com/xwRlC3C.png" group-title="MOVIES - SERIES", HBO FAMILY http://203.153.218.28:9981/stream/channelid/1316004766?ticket=8603609D96360D7B639AB97584FF09E1086B3284&profile=pass #EXTINF:-1 tvg-logo="https://i.imgur.com/f6F0DYo.png" group-title="MOVIES - SERIES", CINEMAX http://203.153.218.28:9981/stream/channelid/255605374?ticket=434549F6D027878D70C7F1F479D0C3495B16099D&profile=pass #EXTINF:-1 tvg-logo="https://i.imgur.com/f6F0DYo.png" group-title="MOVIES - SERIES", CINEMAX (1) https://liveanevia.mncnow.id/live/eds/CinemaxHD/sa_hls/CinemaxHD-avc1_2499968=7-mp4a_98800_eng=3.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/FAqwf1j.png" group-title="MOVIES - SERIES", FOX HD ID https://liveanevia.mncnow.id/live/eds/FoxChannel/sa_hls/FoxChannel-avc1_2499968=11-mp4a_98800_eng=3.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/Zf1YW1l.png" group-title="MOVIES - SERIES", FOX MOVIES http://203.153.218.28:9981/stream/channelid/756717990?ticket=D9CDD7DB18E80023C22954FE693F71DB745D5CE7&profile=pass #EXTINF:-1 tvg-logo="https://i.imgur.com/oJirPnY.png" group-title="MOVIES - SERIES", FOX FAMILY MOVIES http://203.153.218.28:9981/stream/channelid/1949182550?ticket=39C98E4111054C7CF2A242280A406A438219FEA8&profile=pass #EXTINF:-1 tvg-logo="" group-title="MOVIES - SERIES",FX https://liveanevia.mncnow.id/live/eds/FX/sa_hls/FX-avc1_2499968=10-mp4a_98800_eng=3.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/E7sygNm.png" group-title="MOVIES - SERIES", AXN http://rr.dens.tv/h/h141/index.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/E7sygNm.png" group-title="MOVIES - SERIES", AXN (1) http://hvod.imirun.net:8080/AXN-HD/index.m3u8 #EXTINF:-1 tvg-logo="" group-title="MOVIES - SERIES",WARNER TV https://liveanevia.mncnow.id/live/eds/WarnerTV/sa_hls/WarnerTV-avc1_1000000=16-mp4a_98800_eng=5.m3u8 #EXTINF:-1 tvg-logo="" group-title="MOVIES - SERIES",USA http://cdnak19.cast4u.info/channels/4/10804.m3u8?fluxustv.m3u8 #EXTINF:-1 tvg-logo="" group-title="MOVIES - SERIES",CRIME INVESTIGATION https://liveanevia.mncnow.id/live/eds/CrimeInvestigation/sa_hls/CrimeInvestigation-avc1_1000000=10-mp4a_98800_eng=3.m3u8 #EXTINF:-1 tvg-logo="" group-title="MOVIES - SERIES",FOX CRIME https://liveanevia.mncnow.id/live/eds/FoxCrime/sa_hls/FoxCrime-avc1_2499968=10-mp4a_98800_eng=3.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/EXhCprS.png" group-title="MOVIES - SERIES", CELESTIAL MOVIES ID http://45.126.83.51:80/qwr9ew/s/s33/01.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/EXhCprS.png" group-title="MOVIES - SERIES", CELESTIAL MOVIES ID (1) http://rr2.dens.tv/s/s33/index.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/EXhCprS.png" group-title="MOVIES - SERIES", CELESTIAL MOVIES ID (2) https://anevia115.mncnow.id:443/live/eds/CelestialMovie/sa_hls/CelestialMovie-avc1_1000000=7-mp4a_66000_eng=2.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/ASQjlFW.png" group-title="MOVIES - SERIES", TVN https://liveanevia.mncnow.id/live/eds/tvN/sa_hls/tvN-avc1_2499968=7-mp4a_98800_eng=5.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/ASQjlFW.png" group-title="MOVIES - SERIES", TVN MOVIES https://liveanevia.mncnow.id/live/eds/tvNMovies/sa_hls/tvNMovies-avc1_2499968=10-mp4a_66000_eng=2.m3u8 #EXTINF:-1 tvg-logo="" group-title="MOVIES - SERIES", Waku Waku Japan https://liveanevia.mncnow.id/live/eds/WakuWakuJapan/sa_hls/WakuWakuJapan-avc1_2499968=11-mp4a_98800_eng=3.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/Vsa0rWm.png" group-title="MOVIES - SERIES", KIX ID https://liveanevia.mncnow.id/live/eds/KIX/sa_hls/KIX-avc1_1000000=7-mp4a_98800_eng=3.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/K4VRZKU.png" group-title="MOVIES - SERIES", HITS https://liveanevia.mncnow.id/live/eds/HITS/sa_hls/HITS-avc1_2499968=11-mp4a_98800_eng=5.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/K4VRZKU.png" group-title="MOVIES - SERIES", HITS (1) https://liveanevia.mncnow.id/live/eds/HitsMovies/sa_hls/HitsMovies-avc1_2499968=12-mp4a_98800_eng=5.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/ClSwlqI.png" group-title="MOVIES - SERIES", CINEMA WORLD ID https://liveanevia.mncnow.id/live/eds/CinemaWorld/sa_hls/CinemaWorld-avc1_2499968=13-mp4a_98800_eng=3.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/MlOHhWl.png" group-title="MOVIES - SERIES", THRIL https://liveanevia.mncnow.id/live/eds/Thrill/sa_hls/Thrill-avc1_1000000=7-mp4a_98800_eng=5.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/jFbo1l8.png" group-title="MOVIES - SERIES", ZEE BIOSKOP https://anevia115.mncnow.id:443/live/eds/MovieChannel/sa_hls/MovieChannel-avc1_1000000=7-mp4a_66900_eng=2.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/jFbo1l8.png" group-title="MOVIES - SERIES", ZEE BIOSKOP (1) https://livetvhooq.akamaized.net/ed9f674616594d96bbe00f93ab8d7672/eu-central-1/5493668622001/profile_3/chunklist.m3u8?hdnts=st=1576169705~exp=9007200830910696~acl=/ed9f674616594d96bbe00f93ab8d7672/*/profile_3/chunklist.m3u8*~hmac=c464efdac528cb4b0e4c27ada7a0480ce7bce6030e39ab45e36833b4bc9b9fbd #EXTINF:-1 tvg-logo="https://i.imgur.com/rGvQhQZ.png" group-title="MOVIES - SERIES", RAI MOVIE HD ITA http://b2everyrai-lh.akamaihd.net/i/raimovie_1@67348/master.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/UMYCo8x.png" group-title="MOVIES - SERIES", WAU HD RUS http://nn2.joj.sk/hls/wau-540.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/G83S7dd.png" group-title="MOVIES - SERIES", WOWOW HD JPN http://192.240.127.34:1935/live/cs27.stream/playlist.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/pUmiY0Z.png" group-title="MOVIES - SERIES", MOVIES 1 http://aldirect.hls.huya.com/huyalive/29169025-2686219962-11537226886652362752-2710080226-10057-A-0-1_1200.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/pUmiY0Z.png" group-title="MOVIES - SERIES", MOVIES 2 http://aldirect.hls.huya.com/huyalive/29169025-2686220018-11537227127170531328-2847699120-10057-A-1524041208-1_1200.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/pUmiY0Z.png" group-title="MOVIES - SERIES", MOVIES 3 http://aldirect.hls.huya.com/huyalive/29169025-2686219962-11537226886652362752-2710080226-10057-A-0-1_1200.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/pUmiY0Z.png" group-title="MOVIES - SERIES", MOVIES 4 http://aldirect.hls.huya.com/huyalive/30765679-2504742278-10757786168918540288-3049003128-10057-A-0-1_1200.m3u8 ############################################## LIFESTYLE ############################################## #EXTINF:-1 tvg-logo="https://imgur.com/CFlF21c" group-title="LIFESTYLE",TV5 MONDE STYLE http://210.210.155.35:80/uq2663/h/h01/index.m3u8 #EXTINF:-1 group-title="LIFESTYLE",FASHION TV http://fash1043.cloudycdn.services/slive/_definst_/ftv_midnite_secrets_adaptive.smil/chunklist_b4700000_t64MTA4MHA=.m3u8 #EXTINF:-1 group-title="LIFESTYLE",HD FASHION http://fash1043.cloudycdn.services/slive/_definst_/ftv_paris_adaptive.smil/chunklist.m3u8?xtreamiptv.m3u8 #EXTINF:-1 tvg-logo="https://c1.staticflickr.com/9/8142/7238493116_82bbf6de31_b.jpg" group-title="LIFESTYLE",Home & Living http://edge.linknetott.swiftserve.com/live/BSgroup/amlst:homelivinghd/playlist.m3u8 #EXTINF:-1 tvg-logo="https://c1.staticflickr.com/9/8142/7238493116_82bbf6de31_b.jpg" group-title="LIFESTYLE",Home & Living (1) http://edge.linknetott.swiftserve.com/live/BSgroup/amlst:homelivinghd/chunklist_b2288000.m3u8 #EXTINF:-1 tvg-logo="https://www.useetv.com/assets/images/channel/logo_ruangtrampil_small.png?v=2.0.1.16" group-title="LIFESTYLE",Ruang Terampil https://livetvhooq.akamaized.net/b1b6d552c80f4ef78bd4c10bfb32268d/eu-central-1/5493668622001/profile_2/chunklist.m3u8?hdnts=st=1574876064~exp=9007200829617055~acl=/b1b6d552c80f4ef78bd4c10bfb32268d/*/profile_2/chunklist.m3u8*~hmac=43e732720209b4ede047d32a879e517cc1f2b74fc30d7793054e461b394dfe57 #EXTINF:-1 tvg-logo="https://vignette.wikia.nocookie.net/logopedia/images/3/3c/Foodie.png/revision/latest?cb=20190207074112" group-title="LIFESTYLE",Foodie Channel http://edge.linknetott.swiftserve.com/live/BSgroup/amlst:foodiee/chunklist_b2288000.m3u8 #EXTINF:-1 tvg-logo="https://vignette.wikia.nocookie.net/logopedia/images/3/3c/Foodie.png/revision/latest?cb=20190207074112" group-title="LIFESTYLE",Foodie Channel (1) http://edge.linknetott.swiftserve.com/live/BSgroup/amlst:foodiee/playlist.m3u8 #EXTINF:-1 tvg-logo="" group-title="LIFESTYLE",ASIAN FOOD CHANNEL https://liveanevia.mncnow.id/live/eds/AFC/sa_hls/AFC-avc1_1000000=6-mp4a_98800_eng=3.m3u8 #EXTINF:-1 tvg-logo="https://encrypted-tbn0.gstatic.com/images?q=tbn%3AANd9GcSMJU_9tQ7p7AL9yxk99lg7Ajr7muv151xM9D6HJObyzuJ3Z7Uu" group-title="LIFESTYLE",OCEAN TV http://live-oceantvhd.cdnvideo.ru/oceantvhd/oceantvhd/chunklist.m3u8 ############################################### DOCUMENTARY ################################################ #EXTINF:-1 tvg-logo="https://i.imgur.com/yN2fxBu.png" group-title="DOCUMENTARY", TV5 ASIA http://rr2.dens.tv/s/s24/index.m3u8 #EXTINF:-1 tvg-logo="" group-title="DOCUMENTARY", RTP INTERNATIONAL http://rr2.dens.tv/s/s38/index.m3u8 #EXTINF:-1 tvg-logo="https://www.useetv.com/assets/images/channel/logo_natgeo_big.png?v=2.0.0.13" group-title="DOCUMENTARY",National Geographic http://livecdnh1.tvanywhere.ae/hls/nat_geo/05.m3u8?IWAK-PEYEK.m3u8 #EXTINF:-1 tvg-logo="https://www.useetv.com/assets/images/channel/logo_natgeo_big.png?v=2.0.0.13" group-title="DOCUMENTARY",National Geographic (1) http://203.153.218.28:9981/stream/channelid/681683355?ticket=6125EF8C23E1DC1183AD45B22AB25E348AB2CB97&profile=pass #EXTINF:-1 tvg-logo="https://www.useetv.com/assets/images/channel/logo_natgeo_big.png?v=2.0.0.13" group-title="DOCUMENTARY",National Geographic (2) https://liveanevia.mncnow.id/live/eds/NatGeoChannel/sa_hls/NatGeoChannel-avc1_2499968=10-mp4a_98800_eng=4.m3u8 #EXTINF:-1 tvg-logo="https://www.useetv.com/assets/images/channel/logo_natgeo_big.png?v=2.0.0.13" group-title="DOCUMENTARY", NAT GEO WILD http://livecdnh1.tvanywhere.ae/hls/nat_geo_wild/05.m3u8 #EXTINF:-1 tvg-logo="https://www.useetv.com/assets/images/channel/logo_natgeo_big.png?v=2.0.0.13" group-title="DOCUMENTARY", NAT GEO WILD (1) https://liveanevia.mncnow.id/live/eds/NatGeoWild/sa_hls/NatGeoWild-avc1_2499968=10-mp4a_98800_eng=5.m3u8http://203.153.218.28:9981/stream/channelid/1497533758?ticket=A1217AFD7D4BACB9F66B9B369E8BC5B02FB0CEE4&profile=pass #EXTINF:-1 tvg-logo="" group-title="DOCUMENTARY", NAT GEO PEOPLE https://liveanevia.mncnow.id/live/eds/NatGeoPeople/sa_hls/NatGeoPeople-avc1_2499968=7-mp4a_98800_eng=3.m3u8 #EXTINF:-1 tvg-logo="https://imgur.com/1iDqMdp" group-title="DOCUMENTARY", DISCOVERY ID http://203.153.218.28:9981/stream/channelid/1151931232?ticket=078500147F811BFE771335FA49291072620A412D&profile=pass #EXTINF:-1 tvg-logo="https://imgur.com/1iDqMdp" group-title="DOCUMENTARY", DISCOVERY ID (1) http://203.153.218.28:9981/stream/channelid/1868154562?ticket=3447A71572697A20883C796D7F6C137B2F95FF0C&profile=pass #EXTINF:-1 tvg-logo="https://imgur.com/1iDqMdp" group-title="DOCUMENTARY", DISCOVERY ID (2) https://liveanevia.mncnow.id/live/eds/Discovery/sa_hls/Discovery-avc1_2499968=13-mp4a_98800_eng=5.m3u8 #EXTINF:-1 tvg-logo="https://imgur.com/JsQHmHW" group-title="DOCUMENTARY", ANIMAL PLANET http://203.153.218.28:9981/stream/channelid/1943600623?ticket=B9755D3F6F97FAC8FEFC0E14BC05B2F2CE0CDB76&profile=pass #EXTINF:-1 tvg-logo="https://imgur.com/JsQHmHW" group-title="DOCUMENTARY", ANIMAL PLANET (1) https://liveanevia.mncnow.id/live/eds/AnimalPlanet/sa_hls/AnimalPlanet-avc1_1000000=16-mp4a_98800_eng=3.m3u8 #EXTINF:-1 tvg-logo="https://commodusprod.hooq.tv/cdnimagesprod/assets/feed/34c6ccfc44fa.png" group-title="DOCUMENTARY",THE PET COLLECTIVE https://livetvhooq.akamaized.net/b31c750a9bbe45fcbe58d72534e6b8f6/ap-southeast-1/5493668622001/profile_2/chunklist.m3u8?hdnts=st=1577080744~exp=9007200831821735~acl=/b31c750a9bbe45fcbe58d72534e6b8f6/*/profile_2/chunklist.m3u8*~hmac=baa54452db02d00d42b3b34565dd2c7ac10da7fdec56bbe1e717ce4fccaba918 #EXTINF:-1 tvg-logo="https://encrypted-tbn0.gstatic.com/images?q=tbn%3AANd9GcTupMmB3cw51YJqk8xVO8WZj3yDVr70ayrxkkLS0_SMNT7pR0t6" group-title="DOCUMENTARY",NASA TV http://iphone-streaming.ustream.tv/uhls/6540154/streams/live/iphone/playlist.m3u8 #EXTINF:-1 tvg-logo="" group-title="DOCUMENTARY",BBC EARTH https://liveanevia.mncnow.id/live/eds/BBCEarth/sa_hls/BBCEarth-avc1_1000000=10-mp4a_98800_eng=5.m3u8 #EXTINF:-1 tvg-logo="https://imgur.com/tRR4zY8" group-title="DOCUMENTARY", CGTN DOCUMENTARY http://45.126.83.51:80/qwr9ew/s/s20/01.m3u8 #EXTINF:-1 tvg-logo="" group-title="DOCUMENTARY",OUTDOOR CHANNEL https://livetvhooq.akamaized.net/4333904e5f68426cae808a645e882206/eu-central-1/5493668622001/profile_2/chunklist.m3u8?hdnts=st=1576672231~exp=9007200831413222~acl=/4333904e5f68426cae808a645e882206/*/profile_2/chunklist.m3u8*~hmac=d22ed12147e6fe5936f8198fcf71838cb4651880f2ac0f4fdea39fb2b8a054b7 ################################################ SPORTS ############################################ #EXTINF:-1 tvg-logo="" group-title="SPORTS",MNC SPORT 1 https://liveanevia.mncnow.id/live/eds/MNCSports/sa_hls/MNCSports-avc1_1000000=7-mp4a_98800_eng=5.m3u8 #EXTINF:-1 tvg-logo="" group-title="SPORTS",MNC SPORT 2 https://liveanevia.mncnow.id/live/eds/SoccerChannel/sa_hls/SoccerChannel-avc1_1000000=7-mp4a_98800_eng=3.m3u8 #EXTINF:-1 tvg-logo="" group-title="SPORTS",TVRI SPORT http://wpc.d1627.nucdn.net:80/80D1627/o-tvri/Content/HLS/Live/Channel(TVRI4)/Stream(03)/index.m3u8 #EXTINF:-1 tvg-logo="" group-title="SPORTS",SPORTSMAX http://161.0.157.5/PLTV/88888888/224/3221226766/03.m3u8 #EXTINF:-1 tvg-logo="" group-title="SPORTS",Fight Sports https://liveanevia.mncnow.id/live/eds/FightSports/sa_hls/FightSports-avc1_2499968=10-mp4a_98800_eng=5.m3u8 #EXTINF:-1 tvg-logo="" group-title="SPORTS",FOX Sport 1 https://liveanevia.mncnow.id/live/eds/FOXSports/sa_hls/FOXSports-avc1_2499968=10-mp4a_98800_eng=3.m3u8 #EXTINF:-1 tvg-logo="" group-title="SPORTS",FOX Sport 2 https://liveanevia.mncnow.id/live/eds/FoxSports2/sa_hls/FoxSports2-avc1_2499968=10-mp4a_98800_eng=3.m3u8 #EXTINF:-1 tvg-logo="" group-title="SPORTS",FOX Sport 3 https://liveanevia.mncnow.id/live/eds/FoxSports3/sa_hls/FoxSports3-avc1_2499968=10-mp4a_98800_eng=5.m3u8 #EXTINF:-1 tvg-logo="" group-title="SPORTS",RTSH Sport http://79.106.48.2/live/rtsh_sport_ott_p3/playlist.m3u8 #EXTINF:-1 tvg-logo="" group-title="SPORTS",Sony Ten 1 https://streamer-1.toffeelive.com/live/sony_ten1_hd_576/index.m3u8 #EXTINF:-1 tvg-logo="" group-title="SPORTS",Sony Ten 2 https://streamer-1.toffeelive.com/live/sony_ten2_hd_576/index.m3u8 #EXTINF:-1 tvg-logo="" group-title="SPORTS",Sony Ten 3 https://streamer-1.toffeelive.com/live/ten_3_576/index.m3u8 #EXTINF:-1 tvg-logo="" group-title="SPORTS",Sony TEN 3 (Live) http://163.172.85.133:8080/TenS/3/index.m3u8 #EXTINF:-1 tvg-logo="http://127.0.0.1/" group-title="SPORTS",SONY SIX https://streamer-1.toffeelive.com/live/sony_six_576/index.m3u8 #EXTINF:-1 tvg-logo="" group-title="SPORTS",Sony ESPN https://streamer-1.toffeelive.com/live/sony_espn_576/index.m3u8 #EXTINF:-1 tvg-logo="" group-title="SPORTS", ASTRAKHAN RU SPORTS http://streaming.astrakhan.ru:80/astrakhanrusporthd/tracks-v3a1/index.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/WayudGQ.png" group-title="SPORTS", DUBAI RACING UAE http://dmisvthvll.cdn.mangomolo.com/events/smil:events.smil/chunklist_b1600000.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/ZNXc0rt.png" group-title="SPORTS", REAL MADRID TV ESP http://rmtvlive-lh.akamaihd.net/i/rmtv_1@154306/index_0450_av-p.m3u8?sd=10&rebase=on #EXTINF:-1 tvg-logo="" group-title="SPORTS", SETANTA SPORT 1 http://ott-cdn.ucom.am:80/s81/04.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/pUmiY0Z.png" group-title="SPORTS", ALL SPORTS LTN http://tv01.logicahost.com.br:1935/dgrau/dgrau/live.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/8ic79Gy.png" group-title="SPORTS", ONE GOLF PKS http://162.250.201.58:6211/pk/ONEGOLF/tracks-v1a1/mono.m3u8 #EXTINF:-1 tvg-logo="" group-title="SPORTS", CCTV5+ http://111.40.205.89:80/wh7f454c46tw1799532567_1587556162/PLTV/88888888/224/3221225689/index.m3u8?icpid=88888888&RTS=1561695193&from=0&hms_devid=203,223 ############################################# KIDS ################################################################ #EXTINF:-1 tvg-logo="https://i.imgur.com/MwVwCln.png" group-title="KIDS", DISNEY JUNIOR ID http://103.47.132.164/PLTV/88888888/224/3221226011/04.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/MwVwCln.png" group-title="KIDS", DISNEY JUNIOR ID (1) http://103.47.132.164:80/PLTV/88888888/224/3221226011/04.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/qt7HTq2.png" group-title="KIDS", DISNEY CHANNEL https://liveanevia.mncnow.id/live/eds/DisneyChannel/sa_hls/DisneyChannel-avc1_2499968=7-mp4a_98800_ind=9.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/qt7HTq2.png" group-title="KIDS", DISNEY CHANNEL (1) http://203.153.218.28:9981/stream/channelid/31701170?ticket=7EBA9919CF424955624136DA7C78C1A9C52153D4&profile=pass #EXTINF:-1 tvg-id="9836fd0e31a19540234d0fe226ec84af" group-title="KIDS",CARTOON NETWORK https://liveanevia.mncnow.id/live/eds/CartoonNetwork/sa_hls/CartoonNetwork-avc1_2499968=10-mp4a_98800_ind=16.m3u8 #EXTINF:-1 tvg-id="9836fd0e31a19540234d0fe226ec84af" group-title="KIDS",CARTOON NETWORK (1) http://203.153.218.28:9981/stream/channelid/251475608?ticket=3CBFB27E68B1DFEAB62E7781784EE2C7BFA92754&profile=pass #EXTINF:-1 tvg-id="9836fd0e31a19540234d0fe226ec84af" group-title="KIDS",CARTOON NETWORK (2) http://188.35.9.11:21151/udp/185f #EXTINF:-1 tvg-logo="" group-title="KIDS", NICKELODEON http://203.153.218.28:9981/stream/channelid/648970596?ticket=46A461134024F7B021E4EEAF0EA4283BD6CDD078&profile=pass #EXTINF:-1 tvg-logo="" group-title="KIDS",NICKELODEON (2) https://liveanevia.mncnow.id/live/eds/Nickelodeon/sa_hls/Nickelodeon-avc1_1000000=8-mp4a_98800_eng=4.m3u8 #EXTINF:-1 tvg-logo="" group-title="KIDS",NICK JR https://liveanevia.mncnow.id/live/eds/NickJr/sa_hls/NickJr-avc1_1000000=8-mp4a_98800_eng=4.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/Dzizh91.png" group-title="KIDS", ANIMAX http://210.210.155.35/dr9445/h/h144/02.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/Dzizh91.png" group-title="KIDS", ANIMAX (1) http://210.210.155.35:80/dr9445/h/h144/01.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/Dzizh91.png" group-title="KIDS", ANIMAX (2) https://liveanevia.mncnow.id/live/eds/Animax/sa_hls/Animax-avc1_2499968=11-mp4a_98800_eng=3.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/Dzizh91.png" group-title="KIDS", ANIMAX (3) http://210.210.155.35/session/cdd823d2-de1c-11e9-833b-bd1595c9931a/dr9445/h/h144/index2.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/5RcQ3qq.png" group-title="KIDS", ANIPLUS http://210.210.155.35/session/0d216142-f3f5-11e8-ab67-89df93dc8d44/dr9445/h/h02/01.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/5RcQ3qq.png" group-title="KIDS", ANIPLUS (1) http://210.210.155.35:80/dr9445/h/h02/01.m3u8 #EXTINF:-1 tvg-logo="https://banner2.cleanpng.com/20180721/aq/kisspng-boomerang-logo-television-channel-tom-and-jerry-dog-5b53c4af10de42.3513045215322164950691.jpg" group-title="KIDS",Boomerang https://liveanevia.mncnow.id/live/eds/Boomerang/sa_hls/Boomerang-avc1_2499968=10-mp4a_98800_ind=15.m3u8 #EXTINF:-1 tvg-logo="https://banner2.cleanpng.com/20180721/aq/kisspng-boomerang-logo-television-channel-tom-and-jerry-dog-5b53c4af10de42.3513045215322164950691.jpg" group-title="KIDS",Boomerang (1) http://livecdnh3.tvanywhere.ae/hls/boomerang/index.m3u8?fluxustv.m3u8 #EXTINF:-1 tvg-logo="https://upload.wikimedia.org/wikipedia/en/thumb/5/53/Ducktv-logo.jpg/125px-Ducktv-logo.jpg" group-title="KIDS",Duck TV http://livecdnh3.tvanywhere.ae/hls/duck/06.m3u8 #EXTINF:-1 tvg-logo="https://movies.chanelbanten.com/uploads/tv_image/ebs-kids.png" group-title="KIDS",EBS Kids http://ebsonair.ebs.co.kr:1935/ebsutablet500k/tablet500k/playlist.m3u8 #EXTINF:-1 tvg-logo="http://www.logovaults.com/stock_thumb/preview-baby-tv-2013-01-27.jpg" group-title="KIDS",Baby TV https://liveanevia.mncnow.id/live/eds/BabyTV/sa_hls/BabyTV-avc1_2499968=10-mp4a_98800_eng=5.m3u8 #EXTINF:-1 tvg-logo="http://www.logovaults.com/stock_thumb/preview-baby-tv-2013-01-27.jpg" group-title="KIDS",Baby TV (1) https://www.livedoomovie.com/02_Baby_TV_HD_720p/chunklist.m3u8 #EXTINF:-1 tvg-logo="" group-title="",KIDS TV https://anevia115.mncnow.id:443/live/eds/KidsChannel/sa_hls/KidsChannel-avc1_1000000=9-mp4a_98800_eng=5.m3u8 #EXTINF:-1 tvg-logo="https://tbivision.com/files/2015/05/miao-logo.jpg" group-title="KIDS",Miao Mi https://d3kw4vhbdpgtqk.cloudfront.net/hls/miaomipcweb/04.m3u8 #EXTINF:-1 tvg-logo="https://tbivision.com/files/2015/05/miao-logo.jpg" group-title="KIDS",Miao Mi (1) https://d3kw4vhbdpgtqk.cloudfront.net/hls/miaomipcweb/prog_index.m3u8?fluxustv.m3u8 #EXTINF:-1 tvg-logo="https://imgur.com/gsBmKtz" group-title="KIDS", MY KIDS http://210.210.155.35:80/x6bnqe/s/s113/index.m3u8 #EXTINF:-1 tvg-logo="https://vignette.wikia.nocookie.net/logopedia/images/2/2a/NickToons_TV.svg/revision/latest/scale-to-width-down/200?cb=20091118204932" group-title="KIDS",NickToons http://213.252.252.17/live/eds/Nicktoons/HLS_encr/Nicktoons.m3u8 #EXTINF:-1 tvg-logo="" group-title="KIDS",SPACETOON http://95.170.215.109:80/hls/m3u8/Spacetoon-Backup.m3u8 ############################################## VOD MOVIES ############################################################# #EXTINF:-1 group-title="VOD MOVIES",A MONSTER CALLS https://cdn-accedo-01.akamaized.net:443/Content/DASH/VOD/17303/695/982f8af7-fae4-44b0-bead-0a8b998be55e/a7e4ab17-a5cf-3227-e855-c9907ebb5f13/manifest.mpd #EXTINF:-1 group-title="VOD MOVIES",THE HOST https://cdn-accedo-01.akamaized.net:443/Content/DASH/VOD/2e72dfe0-9aec-4a58-b9d3-fa16ee0af281/a7e4ab17-a5cf-3227-e855-c9907ebb5f13/manifest.mpd #EXTINF:-1 group-title="VOD MOVIES",THE HUNGER GAMES: CATCHING FIRE https://cdn-accedo-01.akamaized.net:443/Content/DASH/VOD/b8bc096c-fbe9-4a96-a6b8-510fd43156d8/a7e4ab17-a5cf-3227-e855-c9907ebb5f13/manifest.mpd #EXTINF:-1 group-title="VOD MOVIES",WARM BODIES https://cdn-accedo-01.akamaized.net:443/Content/DASH/VOD/b546df13-c81c-40bb-a61a-f947764a5b9a/a7e4ab17-a5cf-3227-e855-c9907ebb5f13/manifest.mpd #EXTINF:-1 group-title="VOD MOVIES",YOU NOW SEE ME https://cdn-accedo-01.akamaized.net:443/Content/DASH/VOD/92a8954a-1873-4f61-85e6-20ad323ff6a3/a7e4ab17-a5cf-3227-e855-c9907ebb5f13/manifest.mpd #EXTINF:-1 group-title="VOD MOVIES",YOU NOW SEE ME 2 https://cdn-accedo-01.akamaized.net:443/Content/DASH/VOD/e86b43d6-e58a-4ca1-8480-fe88ffa72b16/a7e4ab17-a5cf-3227-e855-c9907ebb5f13/manifest.mpd ############################################## NEWS CHANNEL ############################################################# #EXTINF:-1 tvg-logo="https://i.imgur.com/rcjrFI5.png" group-title="NEWS", EURONEWS http://rr2.dens.tv/s/s15/index.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/rcjrFI5.png" group-title="NEWS", EURONEWS (1) http://45.126.83.51:80/qwr9ew/s/s15/01.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/W8htla7.png" group-title="NEWS", VOA http://voa-lh.akamaihd.net/i/voa_mpls_tvmc3_3@320295/master.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/Uw0WjCn.png" group-title="NEWS", SKY NEWS UK http://skydvn-nowtv-atv-prod.skydvn.com/atv/skynews/1404/live/04.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/EhYVbtU.png" group-title="NEWS", BLOOMBERG (1) http://210.210.155.35:80/uq2663/h/h03/index.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/EhYVbtU.png" group-title="NEWS", BLOOMBERG (2) http://cdn-videos.akamaized.net/btv/desktop/akamai/europe/live/primary.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/oyOKkCv.png" group-title="NEWS", CBS NEWS http://cbsnewshd-lh.akamaihd.net/i/CBSNHD_7@199302/master.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/oeO07RV.png" group-title="NEWS", CBN NEWS http://bcliveuniv-lh.akamaihd.net/i/news_1@194050/master.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/glVPwVs.png" group-title="NEWS", BBC NEWS http://bbcwshdlive01-lh.akamaihd.net/i/ptv_1@78015/master.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/AKp8QKR.png" group-title="NEWS", TRT WORLD http://210.210.155.35/x6bnqe/s/s72/S4/mnf.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/BXFVV2w.png" group-title="NEWS", NHK WORLD http://rr.dens.tv/h/h23/index.m3u8 #EXTINF:-1 tvg-logo="https://imgur.com/JV8j6aE" group-title="NEWS", NHK WORLD (1) http://210.210.155.35:80/uq2663/h/h23/index.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/2uzOb7f.png" group-title="NEWS", RUSSIA TODAY http://rr2.dens.tv/s/s23/index.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/2uzOb7f.png" group-title="NEWS", RUSSIA TODAY (1) http://45.126.83.51:80/qwr9ew/s/s23/01.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/7h3iTvm.png" group-title="NEWS", AL JAZEERA ENG http://rr2.dens.tv/s/s17/index.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/7h3iTvm.png" group-title="NEWS", AL JAZEERA DOC http://aljazeera-doc-apple-live.adaptive.level3.net/apple/aljazeera/hq-doc/800kStream.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/7h3iTvm.png" group-title="NEWS", AL JAZEERA UAE http://rr2.dens.tv/s/s16/index.m3u8 #EXTINF:-1 tvg-logo="https://imgur.com/9RjEXoP" group-title="NEWS", PHOENIX INFONEWS http://45.126.83.51:80/qwr9ew/s/s21/01.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/i5jxspk.png" group-title="NEWS", FRANCE 24 http://45.126.83.51:80/qwr9ew/s/s22/01.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/i5jxspk.png" group-title="NEWS", FRANCE 24 (1) http://rr2.dens.tv/s/s22/index.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/IflDJAd.png" group-title="NEWS", DW ENGLISH http://rr2.dens.tv/s/s26/index.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/IflDJAd.png" group-title="NEWS", DW ENGLISH (1) http://45.126.83.51:80/qwr9ew/s/s26/01.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/npB8eRj.png" group-title="NEWS", RTE NEWS http://wmsrtsp1.rte.ie/live/android.sdp/playlist.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/ndeh56Q.png" group-title="NEWS", NEWS MAX NOW http://nmxlive.akamaized.net/hls/live/529965/Live_1/index_720.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/PeeLMp4.png" group-title="NEWS", CNA NEWS http://210.210.155.35:80/uq2663/h/h29/index.m3u8 #EXTINF:-1 tvg-logo="https://imgur.com/W5hxYHY" group-title="NEWS", TV5 MONDE ASIA http://45.126.83.51:80/qwr9ew/s/s24/01.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/1T0ufy9.png" group-title="NEWS", FOX 5 NEW YORK http://api.new.livestream.com/accounts/9263055/events/3189799/live.m3u8 ################################################ RADIO CHANNEL ################################################ #EXTINF:-1 tvg-logo="https://imgur.com/bZWPn27" group-title="RADIO", PRAMBORS JKT http://masima.rastream.com/masima-pramborsjakarta #EXTINF:-1 tvg-logo="https://imgur.com/MSDrIRv" group-title="RADIO", KIS FM JKT http://rly-mari.svara.fm:8000/kis_noauth #EXTINF:-1 tvg-logo="https://imgur.com/J1Q4sAk" group-title="RADIO", MUSTANG JKT http://103.246.184.34:8000/mustang #EXTINF:-1 tvg-logo="https://imgur.com/2fVgjhS" group-title="RADIO", I RADIO JKT http://cloudstreaming.mramedia.com:8000/live #EXTINF:-1 tvg-logo="https://imgur.com/E3uI0VD" group-title="RADIO", HARD ROCK FM JKT http://cloudstreaming.mramedia.com:8001/live #EXTINF:-1 tvg-logo="https://imgur.com/4QarMHJ" group-title="RADIO", TRAXX FM JKT http://cloudstreaming.mramedia.com:8003/live #EXTINF:-1 tvg-logo="https://imgur.com/dHmwXCQ" group-title="RADIO", NAGASWARA JKT http://bogor.nagaswarafm.com:8088/stream #EXTINF:-1 tvg-logo="https://imgur.com/omUkP03" group-title="RADIO", JAK FM JKT http://103.246.184.34:8000/jak #EXTINF:-1 tvg-logo="https://imgur.com/w3sM8xP" group-title="RADIO", GEN FM JKT http://103.246.184.34:8000/genfm #EXTINF:-1 tvg-logo="https://imgur.com/u5AeEXc" group-title="RADIO", VIRGIN RADIO JKT http://14933.live.streamtheworld.com/VIRGINRADAAC_SC #EXTINF:-1 tvg-logo="https://imgur.com/3XvCPjN" group-title="RADIO", COSMOPOLITAN FM JKT http://cloudstreaming.mramedia.com:8002/live #EXTINF:-1 tvg-logo="https://imgur.com/sxOB1Gs" group-title="RADIO", BAHANA FM JKT http://103.16.199.177:8102/; #EXTINF:-1 tvg-logo="https://imgur.com/KkqllU1" group-title="RADIO", HITZ FM JKT https://s2.radio.co/s6929cb202/listen #EXTINF:-1 tvg-logo="https://imgur.com/CKhSJnQ" group-title="RADIO", RDI FM JKT http://202.147.199.99:8000/; #EXTINF:-1 tvg-logo="https://imgur.com/T8jQmfJ" group-title="RADIO", HOT FM JKT http://103.246.184.34:8000/dut #EXTINF:-1 tvg-logo="https://imgur.com/1AT0FH6" group-title="RADIO", ARDAN RADIO http://listento.ardanradio.com:1059/; #EXTINF:-1 tvg-logo="https://imgur.com/uIyrxIp" group-title="RADIO", OZ RADIO http://s3.vinhostmedia.com:1031/;stream/1 #EXTINF:-1 tvg-logo="https://imgur.com/YeE917q" group-title="RADIO", FEMALE RADIO JKT http://masima.rastream.com/masima-femaleradio #EXTINF:-1 tvg-logo="https://imgur.com/L7FtjCo" group-title="RADIO", DELTA FM JKT http://103.16.199.47:8602/; #EXTINF:-1 tvg-logo="https://imgur.com/cN3Jotq" group-title="RADIO", ELSHINTA RADIO http://202.137.4.147:8000/; #EXTINF:-1 tvg-logo="https://imgur.com/nQVfXAp" group-title="RADIO", SINDO RADIO http://202.147.199.101:8000/; #EXTINF:-1 tvg-logo="https://imgur.com/Ovw3cQS" group-title="RADIO", SONORA FM JKT http://101.50.0.77:8000/sonora.aac #EXTINF:-1 tvg-logo="https://imgur.com/NPasPUz" group-title="RADIO", RADIO RODJA http://live2.radiorodja.com/;stream.mp3?_=1 #EXTINF:-1 tvg-logo="https://imgur.com/VsszUXE" group-title="RADIO", RADIO ISLAM INDONESIA http://tashfiyah.radioislam.my.id:8222/;stream/1 #EXTINF:-1 tvg-logo="https://imgur.com/xaQjEbK" group-title="RADIO", DAKWAH SUNNAH http://live.dakwahsunnah.com/;stream.mp3 #EXTINF:-1 tvg-logo="https://imgur.com/xD7qGfy" group-title="RADIO", RADIO RASIL http://203.24.76.112:8000/stereo #EXTINF:-1 tvg-logo="https://imgur.com/PzziPCd" group-title="RADIO", RADIO QU http://live.radioquonline.com:8199/;stream.mp3 #EXTINF:-1 tvg-logo="https://imgur.com/Bhxl8rj" group-title="RADIO", ARRISALAH FM http://u.klikhost.net:7212/; #EXTINF:-1 tvg-logo="https://imgur.com/JLMYpM4" group-title="RADIO", SUARA MUSLIM http://radio.useetv.com:8024/; #EXTINF:-1 tvg-logo="https://imgur.com/Jf5pq4W" group-title="RADIO", RADIO KITA FM http://live.radiosunnah.net/; #EXTINF:-1 tvg-logo="https://imgur.com/Pb7x9wU" group-title="RADIO", ADS RADIO http://175.103.56.9:8009/; #EXTINF:-1 tvg-logo="https://imgur.com/QbuTMgX" group-title="RADIO", AT TAQWA FM http://103.28.148.18:8840/; #EXTINF:-1 tvg-logo="https://imgur.com/9Or8RFi" group-title="RADIO", BENS RADIO JKT http://175.103.58.72:8000/; #EXTINF:-1 tvg-logo="https://imgur.com/2WZLMZM" group-title="RADIO", IROCK https://streamer.radio.co/s493283a7e/listen #EXTINF:-1 tvg-logo="https://imgur.com/8kccVev" group-title="RADIO", PULSE EDM http://naxos.cdnstream.com/1373_128 #EXTINF:-1 tvg-logo="https://imgur.com/e4pYhmg" group-title="RADIO", MIX 247 EDM http://217.116.9.142:9222/stream #EXTINF:-1 tvg-logo="https://i.imgur.com/Vi1QWUy.png" group-title="RADIO", NEXUS DANCE http://icecast2.nexusradio.fm/nexusdance.mp3 #EXTINF:-1 tvg-logo="https://i.imgur.com/HY50Ytl.png" group-title="RADIO", EURODANCE CLASSIC http://hazel.torontocast.com:1310/stream #EXTINF:-1 tvg-logo="https://imgur.com/3sZbPlr" group-title="RADIO", THE RAP MIXX US http://ais-sa2.cdnstream1.com/1988_64.aac #EXTINF:-1 tvg-logo="" group-title="RADIO", GotRadio The 50's http://pureplay.cdnstream1.com/6005_128.mp3 #EXTINF:-1 tvg-logo="" group-title="RADIO", Addictive 50s http://cristina.torontocast.com:8022/stream #EXTINF:-1 tvg-logo="" group-title="RADIO", ABC 50's http://bluford.torontocast.com:8582/stream #EXTINF:-1 tvg-logo="" group-title="RADIO", 1.FM - Back To The 50's & 60's Radio http://strm112.1.fm/60s_70s_mobile_mp3 #EXTINF:-1 tvg-logo="" group-title="RADIO", Mega1050 50s http://s41.myradiostream.com:34408/; #EXTINF:-1 tvg-logo="" group-title="RADIO", 88.5 FM So Cal http://130.166.82.184:8000/; #EXTINF:-1 tvg-logo="" group-title="RADIO", Radio Caroline http://sc6.radiocaroline.net:8040/; #EXTINF:-1 tvg-logo="" group-title="RADIO", triple j http://live-radio01.mediahubaustralia.com/2TJW/mp3/ #EXTINF:-1 tvg-logo="" group-title="RADIO", K-ROCK 97.5 http://newcap.leanstream.co/VOCMFM-MP3?args=tunein_01 #EXTINF:-1 tvg-logo="https://imgur.com/ddNO0Hg" group-title="RADIO", Radio Paradise http://stream-tx3.radioparadise.com/mp3-192 #EXTINF:-1 tvg-logo="https://imgur.com/Y1KhGNx" group-title="RADIO", Classic Rock 93.9 WDNY-FM http://streaming.dansvillemedia.com/wdnyfm-proc.mp3 #EXTINF:-1 tvg-logo="https://imgur.com/vv3z01Y" group-title="RADIO", The Metal MIXX http://listen.djcmedia.com/metalmixxhigh ################################################ RELIGION ################################################ #EXTINF:-1 tvg-logo="https://i.imgur.com/EJCbDAn.png" group-title="RELIGION",NU Channel http://stream1.ninmedia.tv/nuchannel/udp.stream_360p/playlist.m3u8 #EXTINF:-1 tvg-logo="https://www.useetv.com/assets/images/channel/logo_dmi_big1.png?v=2.0.0.13" group-title="RELIGION",DMI Channel http://stream1.ninmedia.tv/dmitv/udp.stream_360p/playlist.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/otVZjtX.png" group-title="RELIGION", SAUDI AL QUR'AN TV http://rr2.dens.tv/s/s28/index.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/GCx0m9n.png" group-title="RELIGION", SAUDI AL SUNNA TV http://rr2.dens.tv/s/s27/index.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/k02lLa1.png" group-title="RELIGION", AL AQSHA TV http://live.aqsatv.ps:1935/aqsatv/live/tv/playlist.m3u8 #EXTINF:-1 tvg-logo="https://imgur.com/0DCw1s4" group-title="RELIGION", AL SAUDI QUR'AN http://45.126.83.51:80/qwr9ew/s/s28/01.m3u8 #EXTINF:-1 tvg-logo="https://imgur.com/Q9CSQB2" group-title="RELIGION", AL SAUDI SUNNAH http://45.126.83.51:80/qwr9ew/s/s27/01.m3u8 #EXTINF:-1 tvg-logo="https://imgur.com/k8aE4G3" group-title="RELIGION", RODJA TV http://45.126.83.51:80/qwr9ew/s/s14/index2.m3u8 #EXTINF:-1 tvg-logo="https://imgur.com/RmHjWSe" group-title="RELIGION", NABAWI TV http://stream2.ninmedia.tv:80/nabawitv/nabawitv_360p/playlist.m3u8 #EXTINF:-1 tvg-logo="https://imgur.com/X9XhGRe" group-title="RELIGION", SALINGSAPA TV http://stream1.ninmedia.tv:80/salingsapa/rtmp.stream_360p/playlist.m3u8 #EXTINF:-1 tvg-logo="" group-title="RELIGION", INSAN TV http://wz.insantv.net/group/ngrp:insantv_mobile/playlist.m3u8 #EXTINF:-1 tvg-logo="" group-title="RELIGION", WESAL TV https://5bb648ab35ae7.streamlock.net/wesaltv/live/chunklist_w1936280802.m3u8 #EXTINF:-1 tvg-logo="" group-title="RELIGION", SURAU TV http://119.235.249.60:1935/surautv/live/playlist.m3u8 #EXTINF:-1 tvg-logo="" group-title="RELIGION", SALAM TV http://119.235.249.60:1935/salamtv/live/chunklist_w1374691257.m3u8 #EXTINF:-1 tvg-logo="" group-title="RELIGION", AL IMAN TV https://aliman.id/hls #EXTINF:-1 tvg-logo="" group-title="RELIGION", PULDAPII TV http://159.89.206.152/mobile/web.m3u8 #EXTINF:-1 tvg-logo="" group-title="RELIGION", NIAGA TV https://5bb648ab35ae7.streamlock.net/niagatv/live/playlist.m3u8 #EXTINF:-1 tvg-logo="" group-title="RELIGION", ASHILL TV http://119.82.232.89:1935/ashiiltv/live2/playlist.m3u8 #EXTINF:-1 tvg-logo="https://imgur.com/4c3CuJh" group-title="RELIGION", NU CHANNEL http://stream1.ninmedia.tv:80/nuchannel/udp.stream_360p/playlist.m3u8 #################### MUSIC CHANNEL ########################################################### #EXTINF:-1 tvg-logo="" group-title="MUSIC",DANGDUT CHANNEL http://edge.linknetott.swiftserve.com/live/BSgroup/amlst:dangdutch/chunklist_b2288000.m3u8 #EXTINF:-1 tvg-logo="" group-title="MUSIC",KARAOKE CHANNEL http://edge.linknetott.swiftserve.com/live/BSgroup/amlst:karaokech/chunklist_b420000.m3u8 #EXTINF:-1 tvg-logo="" group-title="MUSIC",California Music Channel http://cmctv.ios.internapcdn.net/cmctv_vitalstream_com/live_1/CMC-TV/.m3u8 #EXTINF:-1 tvg-logo="" group-title="MUSIC",MTV http://unilivemtveu-lh.akamaihd.net/i/mtvno_1@346424/master.m3u8?fluxustv.m3u8 #EXTINF:-1 tvg-logo="" group-title="MUSIC",MUSIC TOP http://live-edge01.telecentro.net.ar/live/smil:musictop.smil/chunklist_w767435128_b2028000_sleng.m3u8 #EXTINF:-1 tvg-logo="https://d24j9r7lck9cin.cloudfront.net/l/o/1/1149.1464128411.png" group-title="MUSIC",BOX HITS http://csm-e.tm.yospace.com/csm/extlive/boxplus01,boxhits-desktop.m3u8?yo.up=http%3a%2f%2fboxtv-origin-elb.cds1.yospace.com%2fuploads%2fboxhits%2f #EXTINF:-1 tvg-logo="https://3.bp.blogspot.com/-ohxn-z9aFVQ/WOaP_fJVYsI/AAAAAAAAELw/QPNQuKQov-EOHCci0BysKFkswAlgT70ugCLcB/s1600/channel_dangdutz.jpg" group-title="MUSIC",Dangdutz http://edge.linknetott.swiftserve.com/live/BSgroup/amlst:dangdutch/playlist.m3u8 #EXTINF:-1 tvg-logo="http://www.firstmediapromo.com/wp-content/uploads/2015/04/channel-Karaoke-30.jpg" group-title="MUSIC",Karaoke Channel http://edge.linknetott.swiftserve.com/live/BSgroup/amlst:karaokech/chunklist_b2288000.m3u8?fluxustv.m3u8 #EXTINF:-1 tvg-logo="" group-title="MUSIC",ONE http://rtmp.one.by:1300 #EXTINF:-1 tvg-logo="http://www.decalsplanet.com/img_b/vinyl-decal-sticker-155.jpg" group-title="MUSIC",MTV http://unilivemtveu-lh.akamaihd.net/i/mtvno_1@346424/master.m3u8 #EXTINF:-1 tvg-logo="https://www.seekpng.com/png/detail/57-579021_file-mtv-live-svg-mtv-live-logo-png.png" group-title="MUSIC",MTV LIVE https://www.livedoomovie.com/02_MTV_Live_HD_720p/chunklist.m3u8 #EXTINF:-1 tvg-logo="https://upload.wikimedia.org/wikipedia/fr/3/39/Clubbing_TV.png" group-title="MUSIC",Clubbing TV https://livetvhooq.akamaized.net/923e04bf28d6488e85831094a2cfc33d/eu-central-1/5493668622001/profile_2/chunklist.m3u8?hdnts=st=1574859145~exp=9007200829600136~acl=/923e04bf28d6488e85831094a2cfc33d/*/profile_2/chunklist.m3u8*~hmac=f08709f141d2907969261ab7dc1b638b736757339dffbc26332eccee434e6654 #EXTINF:-1 tvg-logo="https://www.torneodj.net/wp-content/uploads/2019/07/musictop_poster.png" group-title="MUSIC",Music Top http://live-edge01.telecentro.net.ar/live/smil:musictop.smil/chunklist_w767435128_b2028000_sleng.m3u8 #EXTINF:-1 group-title="MUSIC",PRAMBORS https://cdn-accedo-01.akamaized.net:443/Content/DASH/Live/channel(d38de229-8abc-4072-91d4-2c42935f7e3b)/manifest.mpd #EXTINF:-1 tvg-logo="" group-title="INDONESIA" group-title="MUSIC",B MUSIC SESSION https://livetvhooq.akamaized.net:443/94d7194614e148059bca126206f13321/ap-southeast-1/5493668622001/profile_0/chunklist.m3u8?hdnts=st=1573599727~exp=9007200828340718~acl=/94d7194614e148059bca126206f13321/*/profile_0/chunklist.m3u8*~hmac=4e62bad0407e078c42fceb6a3757dc833dd2d0c3b7394304a1c078d093cd2097 #EXTINF:-1 tvg-logo="" group-title="INDONESIA" group-title="MUSIC",B MUSIC CONCERT https://livetvhooq.akamaized.net:443/f17ef07681bb44069d2e2f376e92e9c0/ap-southeast-1/5493668622001/profile_0/chunklist.m3u8?hdnts=st=1573599812~exp=9007200828340803~acl=/f17ef07681bb44069d2e2f376e92e9c0/*/profile_0/chunklist.m3u8*~hmac=10bc23dba3cb21b86ba9ef7ea7eaa63d0e977673c431f0921878deda7b6ad638 #EXTINF:-1 tvg-logo="https://ninmedia.tv/wp-content/uploads/2018/11/Ch-POP-MUSIK-Channel-logo-FINAL-01-250px.png" group-title="MUSIC",POP Musik http://stream1.ninmedia.tv/popmusik/udp.stream_360p/playlist.m3u8 #EXTINF:-1 tvg-logo="http://www.jomyson.com/logo/M2oTV.jpg" group-title="MUSIC",M2O TV http://m2otv-lh.akamaihd.net/i/m2oTv_1@186074/index_600_av-p.m3u8 #EXTINF:-1 tvg-logo="https://encrypted-tbn0.gstatic.com/images?q=tbn%3AANd9GcSH9kys7ibSSK6xLc_ty4e0C5R0TYK0MbTqxBdO9oI7KpmiD2Cd" group-title="MUSIC",KADAK HITS http://linear01hun-lh.akamaihd.net/i/faaduhits_1@660838/master.m3u8 #EXTINF:-1 tvg-logo="" group-title="MUSIC",KRAL WORLD http://stmpo0wa.rocketcdn.com/kralworldtv.smil/chunklist_b814000.m3u8 #EXTINF:-1 tvg-logo="" group-title="MUSIC",RETRO TV http://89.185.253.55/retrotv/retrotvHQ1/playlist.m3u8 #EXTINF:-1 tvg-logo="ttps://i.imgur.com/cYZhryZ.png" group-title="MUSIC",Dangdutz http://edge.linknetott.swiftserve.com/live/BSgroup/amlst:dangdutch/playlist.m3u8 #EXTINF:-1 tvg-logo="ttps://i.imgur.com/cYZhryZ.png" group-title="MUSIC",Karaoke Channel http://edge.linknetott.swiftserve.com/live/BSgroup/amlst:karaokech/chunklist_b2288000.m3u8?fluxustv.m3u8 #EXTINF:-1 tvg-logo="ttps://i.imgur.com/cYZhryZ.png" group-title="MUSIC",MUSIC TV https://anevia114.mncnow.id:443/live/eds/MusicChannel/sa_hls/MusicChannel-avc1_1000000=7-mp4a_98800_eng=3.m3u8 #EXTINF:-1 tvg-logo="ttps://i.imgur.com/cYZhryZ.png" group-title="MUSIC",POP MUSIK http://stream1.ninmedia.tv/popmusik/udp.stream_360p/playlist.m3u8 #EXTINF:-1 tvg-logo="ttps://i.imgur.com/cYZhryZ.png" group-title="MUSIC",BOX HITS http://csm-e.tm.yospace.com/csm/extlive/boxplus01#EXTINF:-1 tvg-logo="" group-title="",boxhits-desktop.m3u8?yo.up=http%3a%2f%2fboxtv-origin-elb.cds1.yospace.com%2fuploads%2fboxhits%2f #EXTINF:-1 tvg-logo="ttps://i.imgur.com/cYZhryZ.png" group-title="MUSIC",California Music Channel http://cmctv.ios.internapcdn.net/cmctv_vitalstream_com/live_1/CMC-TV/.m3u8 #EXTINF:-1 tvg-logo="ttps://i.imgur.com/cYZhryZ.png" group-title="MUSIC",MTV http://unilivemtveu-lh.akamaihd.net/i/mtvno_1@346424/master.m3u8 #EXTINF:-1 tvg-logo="ttps://i.imgur.com/cYZhryZ.png" group-title="MUSIC",MTV LIVE https://www.livedoomovie.com/02_MTV_Live_HD_720p/chunklist.m3u8 #EXTINF:-1 tvg-logo="ttps://i.imgur.com/cYZhryZ.png" group-title="MUSIC",Clubbing TV https://livetvhooq.akamaized.net/923e04bf28d6488e85831094a2cfc33d/eu-central-1/5493668622001/profile_2/chunklist.m3u8?hdnts=st=1574859145~exp=9007200829600136~acl=/923e04bf28d6488e85831094a2cfc33d/*/profile_2/chunklist.m3u8*~hmac=f08709f141d2907969261ab7dc1b638b736757339dffbc26332eccee434e6654 #EXTINF:-1 tvg-logo="ttps://i.imgur.com/cYZhryZ.png" group-title="MUSIC",PRAMBORS https://cdn-accedo-01.akamaized.net:443/Content/DASH/Live/channel(d38de229-8abc-4072-91d4-2c42935f7e3b)/manifest.mpd #EXTINF:-1 tvg-logo="ttps://i.imgur.com/cYZhryZ.png" group-title="MUSIC",B MUSIC SESSION https://livetvhooq.akamaized.net:443/94d7194614e148059bca126206f13321/ap-southeast-1/5493668622001/profile_0/chunklist.m3u8?hdnts=st=1573599727~exp=9007200828340718~acl=/94d7194614e148059bca126206f13321/*/profile_0/chunklist.m3u8*~hmac=4e62bad0407e078c42fceb6a3757dc833dd2d0c3b7394304a1c078d093cd2097 #EXTINF:-1 tvg-logo="ttps://i.imgur.com/cYZhryZ.png" group-title="MUSIC",B MUSIC CONCERT https://livetvhooq.akamaized.net:443/f17ef07681bb44069d2e2f376e92e9c0/ap-southeast-1/5493668622001/profile_0/chunklist.m3u8?hdnts=st=1573599812~exp=9007200828340803~acl=/f17ef07681bb44069d2e2f376e92e9c0/*/profile_0/chunklist.m3u8*~hmac=10bc23dba3cb21b86ba9ef7ea7eaa63d0e977673c431f0921878deda7b6ad638#EXTINF:-1 tvg-logo="https://i.imgur.com/uibBpgN.png" group-title="MUSIC", KARAOKE CHANNEL http://edge.linknetott.swiftserve.com/live/BSgroup/amlst:karaokech/chunklist_b2288000.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/cYZhryZ.png" group-title="MUSIC", DANGDUT CHANNEL http://edge.linknetott.swiftserve.com/live/BSgroup/amlst:dangdutch/playlist.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/ugYNYdd.png" group-title="MUSIC", FIRST MUSIC http://edge.linknetott.swiftserve.com/live/BSgroup/amlst:mixch/playlist.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/mMbhTwQ.png" group-title="MUSIC", STINGRAY MUSIC http://210.210.155.35/x6bnqe/s/s64/S4/mnf.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/FDiIX9D.png" group-title="MUSIC", MTV HD UK http://ecuaplaytv.com:8000/g5D6JafMv/YhbqxvpSdG/58429 #EXTINF:-1 tvg-logo="https://i.imgur.com/EEQUFlQ.png" group-title="MUSIC", MTV HITS HD UK http://ecuaplaytv.com:8000/g5D6JafMv/YhbqxvpSdG/58432 #EXTINF:-1 tvg-logo="https://i.imgur.com/Hy2l7gQ.png" group-title="MUSIC", MTV LIVE HD UK http://ecuaplaytv.com:8000/g5D6JafMv/YhbqxvpSdG/58431 #EXTINF:-1 tvg-logo="https://i.imgur.com/Gu6FVHL.png" group-title="MUSIC", VH1 HD UK http://ecuaplaytv.com:8000/g5D6JafMv/YhbqxvpSdG/58420 #EXTINF:-1 tvg-logo="https://i.imgur.com/f6AML9g.png" group-title="MUSIC", ZOOM http://zoomweblive-lh.akamaihd.net/i/Zoom-TIL-WAP/Zoomweb_1@348071/master.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/EVFN7tQ.png" group-title="MUSIC", CLUBBING TV http://202.80.222.130/000001/2/ch00000090990000001735/index.m3u8?virtualDomain=000001.live_hls.zte.com #EXTINF:-1 tvg-logo="https://i.imgur.com/afJMk52.jpg" group-title="MUSIC", CALIFORNIA MUSIC http://cmctv.ios.internapcdn.net/cmctv_vitalstream_com/live_1/CMCUSA/CCURstream0.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/xGvZB64.png" group-title="MUSIC", M2O http://m2otv-lh.akamaihd.net/i/m2oTv_1@186074/index_600_av-p.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/EM0YsOR.png" group-title="MUSIC", MUSIC CHOICE http://edge.music-choice-play-chaina1.top.comcast.net/PlayMetadataInserter/play/chunklist.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/Q0UNV9x.png" group-title="MUSIC", RETRO MUSIC HD http://stream.mediawork.cz/retrotv/retrotvHQ1/playlist.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/ZWtLNJy.png" group-title="MUSIC", VH1 MEGAHIT http://stream.1music.hu/stream/1music.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/F413yEc.png" group-title="MUSIC", XITE http://highvolume03.streampartner.nl:1935/vleugels_hd4/livestream/playlist.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/r7Jcxrn.png" group-title="MUSIC", NRJ HITS http://5.196.138.6:1935/live/nrjbelgique/playlist.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/R82dYUE.png" group-title="MUSIC", KRAL HD http://stmpo0wa.rocketcdn.com/kralworldtv.smil/chunklist.m3u8 #EXTINF:-1 tvg-logo="" group-title="MUSIC", HIT TV http://kissfm-cires21-video.secure.footprint.net/hittv/bitrate_4.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/w7FR0w1.png" group-title="MUSIC", B4U MUSIC http://161.0.157.38/PLTV/88888888/224/3221226332/index.m3u8 #EXTINF:-1 tvg-logo="" group-title="MUSIC", MALEO CHANNEL http://stream1.ninmedia.tv:80/maleo/udp.stream_360p/playlist.m3u8 #EXTINF:-1 tvg-logo="" group-title="MUSIC", POP MUSIK http://stream1.ninmedia.tv:80/popmusik/udp.stream_360p/playlist.m3u8 #EXTINF:-1 tvg-logo="" group-title="MUSIC", MKTV http://stream1.ninmedia.tv:80/mktv/udp.stream_360p/playlist.m3u8 #EXTINF:-1 group-title="22/7 BOLA",Doball 1 http://stream.doball.com:8080/hls/ch1.m3u8?feed #EXTINF:-1 group-title="22/7 BOLA",Doball 2 http://stream.doball.com:8080/hls/ch2.m3u8?feed #EXTINF:-1 group-title="22/7 BOLA",Doball 3 http://stream.doball.com:8080/hls/ch3.m3u8?feed #EXTINF:-1 group-title="22/7 BOLA",Doball 4 http://stream.doball.com:8080/hls/ch4.m3u8?feed #EXTINF:-1 group-title="22/7 BOLA",Doball 5 http://stream.doball.com:8080/hls/ch5.m3u8?feed #EXTINF:-1 group-title="22/7 BOLA",Doball 6 http://stream.doball.com:8080/hls/ch6.m3u8?feed #EXTINF:-1 group-title="22/7 BOLA",Doball 7 http://stream.doball.com:8080/hls/ch7.m3u8?feed #EXTINF:-1 group-title="22/7 BOLA",Doball 8 http://stream.doball.com:8080/hls/ch8.m3u8?feed #EXTINF:-1 group-title="22/7 BOLA",Doball 9 http://stream.doball.com:8080/hls/ch9.m3u8?feed #EXTINF:-1 group-title="22/7 BOLA",Doball 10 http://stream.doball.com:8080/hls/ch10.m3u8?feed #EXTINF:-1 group-title="22/7 BOLA",Doball 11 http://stream.doball.com:8080/hls/ch11.m3u8?feed #EXTINF:-1 group-title="22/7 BOLA",Doball 12 http://stream.doball.com:8080/hls/ch12.m3u8?feed #EXTINF:-1 group-title="22/7 BOLA",Doball 13 http://stream.doball.com:8080/hls/ch13.m3u8?feed #EXTINF:-1 group-title="22/7 BOLA",Doball 14 http://stream.doball.com:8080/hls/ch14.m3u8?feed #EXTINF:-1 group-title="22/7 BOLA",Doball 15 http://stream.doball.com:8080/hls/ch15.m3u8?feed #EXTINF:-1 tvg-logo="http://pluspng.com/img-png/al-jazeera-png-al-jazeera-logo-1431.png" group-title="24/7 WORLD NEWS",Al Jazeera (QA) (Opt-1) http://aljazeera-eng-hd-live.hls.adaptive.level3.net/aljazeera/english2/index.m3u8 #EXTINF:-1 tvg-logo="http://pluspng.com/img-png/al-jazeera-png-al-jazeera-logo-1431.png" group-title="24/7 WORLD NEWS",Al Jazeera (QA) (Opt-2) http://ott-cdn.ucom.am/s23/index.m3u8?fluxustv.m3u8 #EXTINF:-1 tvg-logo="http://www.isv.net/logos/arirangtv.png" group-title="24/7 WORLD NEWS",Arirang (KR) (Opt-1) http://amdlive.ctnd.com.edgesuite.net/arirang_1ch/smil:arirang_1ch.smil/playlist.m3u8 #EXTINF:-1 tvg-logo="http://www.isv.net/logos/arirangtv.png" group-title="24/7 WORLD NEWS",Arirang (KR) (Opt-2) http://cdn-01.bonus-tv.ru:8080/arirang_edge/index.m3u8 #EXTINF:-1 tvg-logo="https://www.digitaltveurope.com/files/2011/12/BBC-World-News1.jpg" group-title="24/7 WORLD NEWS",BBC World News (GB) (Opt-1) http://ott-cdn.ucom.am/s24/index.m3u8?fluxustv.m3u8 #EXTINF:-1 tvg-logo="https://www.digitaltveurope.com/files/2011/12/BBC-World-News1.jpg" group-title="24/7 WORLD NEWS",BBC World News (GB) (Opt-2) http://92.43.140.249/s24/04.m3u8?fluxustv.m3u8 #EXTINF:-1 tvg-logo="https://www.digitaltveurope.com/files/2011/12/BBC-World-News1.jpg" group-title="24/7 WORLD NEWS",BBC World News (GB) (Opt-3) http://103.199.161.254/Content/bbcworld/Live/Channel(BBCworld)/index.m3u8 #EXTINF:-1 tvg-logo="https://raw.githubusercontent.com/AusIPTV/IPTVLogos/master/cgtn_logo.png" group-title="24/7 WORLD NEWS",CGTN (CN) (Opt-1) http://live.cgtn.com/500/prog_index.m3u8 #EXTINF:-1 tvg-logo="https://raw.githubusercontent.com/AusIPTV/IPTVLogos/master/cgtn_logo.png" group-title="24/7 WORLD NEWS",CGTN (CN) (Opt-2) http://live.cgtn.com/1000/prog_index.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/knyzqhB.png" group-title="24/7 WORLD NEWS",CNBC World (US) http://161.0.157.9/PLTV/88888888/224/3221227005/03.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/ilZJT5s.png" group-title="24/7 WORLD NEWS",CNN (US) (Opt-1) http://ott-cdn.ucom.am/s27/index.m3u8?fluxustv.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/ilZJT5s.png" group-title="24/7 WORLD NEWS",CNN (US) (Opt-2) http://92.43.140.249/s27/04.m3u8?fluxustv.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/kJcwaOU.png" group-title="24/7 WORLD NEWS",DW (DE) (Opt-1) http://dwstream4-lh.akamaihd.net/i/dwstream4_live@131329/master.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/kJcwaOU.png" group-title="24/7 WORLD NEWS",DW (DE) (Opt-2) http://43.224.120.99:8080/dwenglish.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/gDOEH0A.png" group-title="24/7 WORLD NEWS",France 24 (FR) (Opt-1) http://static.france24.com/live/F24_EN_LO_HLS/live_web.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/gDOEH0A.png" group-title="24/7 WORLD NEWS",France 24 (FR) (Opt-2) http://f24hls-i.akamaihd.net/hls/live/221147/F24_EN_HI_HLS/master.m3u8 #EXTINF:-1 tvg-logo="https://upload.wikimedia.org/wikipedia/commons/f/fb/I24_official_logo.png" group-title="24/7 WORLD NEWS",i24 News (IL) https://i24alive1-a.akamaihd.net/6e3dd61ac4c34d6f8fb9698b565b9f50/eu-central-1/5377161796001/profile_0/chunklist_dvr.m3u8?fluxustv.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/3wQJsKQ.jpg" group-title="24/7 WORLD NEWS",RT America (RU) (Opt-1) https://rt-usa.secure.footprint.net/1105.m3u8?fluxustv.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/3wQJsKQ.jpg" group-title="24/7 WORLD NEWS",RT America (RU) (Opt-2) http://ott-cdn.ucom.am/s96/index.m3u8?fluxustv.m3u8 #EXTINF:-1 tvg-logo="https://www.rt.com/static/block/touch-icon/apple-touch-icon-144x144-precomposed.png" group-title="24/7 WORLD NEWS",RT UK (RU) https://rt-uk.secure.footprint.net/1106.m3u8?fluxustv.m3u8 #EXTINF:-1 tvg-logo="https://upload.wikimedia.org/wikipedia/commons/thumb/b/bf/TeleSUR-Logo.svg/933px-TeleSUR-Logo.svg.png" group-title="24/7 WORLD NEWS",TeleSUR (VE) https://d7g1ebft2592.cloudfront.net/mblivev3/hd/playlist.m3u8?fluxustv.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/PLpyQsV.png" group-title="24/7 WORLD NEWS",TRT World (TR) http://trtcanlitv-lh.akamaihd.net/i/TRTWORLD_1@321783/master.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/hpNZhUr.png" group-title="24/7 ABC NEWS LIVE",ABC News Live 1 https://abclive1-lh.akamaihd.net/i/abc_live01@423395/master.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/hpNZhUr.png" group-title="24/7 ABC NEWS LIVE",ABC News Live 2 https://abclive1-lh.akamaihd.net/i/abc_live02@423396/master.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/hpNZhUr.png" group-title="24/7 ABC NEWS LIVE",ABC News Live 3 https://abclive1-lh.akamaihd.net/i/abc_live03@423397/master.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/hpNZhUr.png" group-title="24/7 ABC NEWS LIVE",ABC News Live 4 https://abclive1-lh.akamaihd.net/i/abc_live04@423398/master.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/hpNZhUr.png" group-title="24/7 ABC NEWS LIVE",ABC News Live 5 https://abclive1-lh.akamaihd.net/i/abc_live05@423399/master.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/hpNZhUr.png" group-title="24/7 ABC NEWS LIVE",ABC News Live 6 https://abclive1-lh.akamaihd.net/i/abc_live06@423400/master.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/hpNZhUr.png" group-title="24/7 ABC NEWS LIVE",ABC News Live 7 https://abclive1-lh.akamaihd.net/i/abc_live07@423401/master.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/hpNZhUr.png" group-title="24/7 ABC NEWS LIVE",ABC News Live 8 https://abclive1-lh.akamaihd.net/i/abc_live08@423402/master.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/hpNZhUr.png" group-title="24/7 ABC NEWS LIVE",ABC News Live 9 https://abclive1-lh.akamaihd.net/i/abc_live09@420891/master.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/hpNZhUr.png" group-title="24/7 ABC NEWS LIVE",ABC News Live 10 https://abclive1-lh.akamaihd.net/i/abc_live10@420897/master.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/5sIgTki.png" group-title="24/7 OLYMPICS",Olympic Channel 1 (SD) http://ott-live.olympicchannel.com/out/u/OC1_3.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/5sIgTki.png" group-title="24/7 OLYMPICS",Olympic Channel 1 (HD) http://ott-live.olympicchannel.com/out/u/OC1_2.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/5sIgTki.png" group-title="24/7 OLYMPICS",Olympic Channel 1 (UHD) http://ott-live.olympicchannel.com/out/u/OC1_1.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/5sIgTki.png" group-title="24/7 OLYMPICS",Olympic Channel 2 (SD) https://ott-live.olympicchannel.com/out/u/OC2_3.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/5sIgTki.png" group-title="24/7 OLYMPICS",Olympic Channel 2 (HD) https://ott-live.olympicchannel.com/out/u/OC2_2.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/5sIgTki.png" group-title="24/7 OLYMPICS",Olympic Channel 2 (UHD) https://ott-live.olympicchannel.com/out/u/OC2_1.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/5sIgTki.png" group-title="24/7 OLYMPICS",Olympic Channel 3 (SD) https://ott-live.olympicchannel.com/out/u/OC3_3.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/5sIgTki.png" group-title="24/7 OLYMPICS",Olympic Channel 3 (HD) https://ott-live.olympicchannel.com/out/u/OC3_2.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/5sIgTki.png" group-title="24/7 OLYMPICS",Olympic Channel 3 (UHD) https://ott-live.olympicchannel.com/out/u/OC3_1.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/5sIgTki.png" group-title="24/7 OLYMPICS",Olympic Channel 4 (SD) https://ott-live.olympicchannel.com/out/u/OC4_3.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/5sIgTki.png" group-title="24/7 OLYMPICS",Olympic Channel 4 (HD) https://ott-live.olympicchannel.com/out/u/OC4_2.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/5sIgTki.png" group-title="24/7 OLYMPICS",Olympic Channel 4 (UHD) https://ott-live.olympicchannel.com/out/u/OC4_1.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/5sIgTki.png" group-title="24/7 OLYMPICS",Olympic Channel 5 (SD) https://ott-live.olympicchannel.com/out/u/OC5_3.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/5sIgTki.png" group-title="24/7 OLYMPICS",Olympic Channel 5 (HD) https://ott-live.olympicchannel.com/out/u/OC5_2.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/5sIgTki.png" group-title="24/7 OLYMPICS",Olympic Channel 5 (UHD) https://ott-live.olympicchannel.com/out/u/OC5_1.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/8f4fv5U.png" group-title="USA",24-7 Retro TV http://247retrotv.com:1935/live/smil:247retro.smil/playlist.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/4TEMhxH.png" group-title="USA",30A TV http://30a-tv.com/my999.m3u8?fluxustv.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/gNWg9tl.png" group-title="USA",30A Music http://30a-tv.com/music.m3u8?fluxustv.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/mz3b5QW.png" group-title="USA",ABC (WPLG) (EST) http://190.80.3.28/ABC/ABC.isml/index.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/K2XHhWW.png" group-title="USA",Action Sports 4U https://nimble.dashmedia.tv/onestudio/actionsportstv/playlist.m3u8?fluxustv.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/d2o69uW.png" group-title="USA",Adventure Sports Network https://dai2.xumo.com/amagi_hls_data_xumo1212A-adventuresportsnetwork/CDN/768x432_1200000/index.m3u8 #EXTINF:-1 tvg-logo="https://web-cdn.blivenyc.com/generic/mee.logo-golden-trans.png" group-title="USA",AKC TV https://video.blivenyc.com/broadcast/prod/2061/22/file-3192k.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/FLKdEzZ.png" group-title="USA",America's Funniest Videos https://dai2.xumo.com/amagi_hls_data_xumo1212A-americasfunniesthomevideos/CDN/1280x720_5000000/index.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/GmSyxeP.png" group-title="USA",American Classic TV https://nimble.dashstreams.net/onestudio/americanclassictv/playlist.m3u8?fluxustv.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/ENtRDds.png" group-title="USA",American Horrors http://170.178.189.66:1935/live/Stream1/playlist.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/bkikN6d.png" group-title="USA",Apple Sauce Network https://nimble.dashmedia.tv/onestudio/applesaucetv/playlist.m3u8?fluxustv.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/hSYez3V.png" group-title="USA",Atlanta Channel http://media4.tripsmarter.com:1935/LiveTV/ACVBHD/chucklist.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/tHopHL9.png" group-title="USA",Beach TV - 30A http://media4.tripsmarter.com:1935/LiveTV/DTVHD/playlist.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/tHopHL9.png" group-title="USA",Beach TV - Panama City http://media4.tripsmarter.com:1935/LiveTV/BTVHD/chucklist.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/tHopHL9.png" group-title="USA",Beach TV - Pawleys Island http://media4.tripsmarter.com:1935/LiveTV/MTVHD/playlist.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/idRFfhY.png" group-title="USA",Bloomberg Television (Opt-1) https://liveproduseast.global.ssl.fastly.net/btv/desktop/us_live.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/RgYEjYE.png" group-title="USA",Blush TV https://nimble.dashstreams.net/onestudio/blushtv/playlist.m3u8?fluxustv.m3u8 #EXTINF:-1 tvg-logo="https://upload.wikimedia.org/wikipedia/commons/thumb/3/35/Boomerang_2014_logo.svg/1200px-Boomerang_2014_logo.svg.png" group-title="USA",Boomerang http://livecdnh3.tvanywhere.ae/hls/boomerang/index.m3u8?fluxustv.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/AOj9cgU.png" group-title="USA",Brut http://a.jsrdn.com/broadcast/d5b47/+0000/low/c.m3u8 #EXTINF:-1 tvg-logo="https://upload.wikimedia.org/wikipedia/en/b/be/Buzzr_%28TV_Network%29_Logo.png" group-title="USA",Buzzr https://buzzr.global.ssl.fastly.net/out/u/buzzr_hls_4.m3u8?fluxustv.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/PbpvywI.png" group-title="USA",BYUtv http://a.jsrdn.com/broadcast/d5b46/+0000/high/c.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/Wd4xnGt.png" group-title="USA",C-SPAN https://skystreams-lh.akamaihd.net/i/SkyC1_1@500806/master.m3u8?fluxustv.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/ltcivXp.png" group-title="USA",C-SPAN 2 https://skystreams-lh.akamaihd.net/i/SkyC2_1@500807/master.m3u8?fluxustv.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/cyU21ML.png" group-title="USA",C-SPAN 3 https://skystreams-lh.akamaihd.net/i/SkyC3_1@500808/master.m3u8?fluxustv.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/AjnHVZw.png" group-title="USA",Cartoons 4U https://edge1.dashmedia.tv/onestudio/cartoons_4u/playlist.m3u8?fluxustv.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/pMhTxmf.png" group-title="USA",CBS (WFOR) (Opt-1) http://161.0.157.50/PLTV/88888888/224/3221227041/03.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/Qu9NAwe.png" group-title="USA",CBS News (Opt-1) http://cbsnewshd-lh.akamaihd.net/i/CBSNHD_7@199302/master.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/Qu9NAwe.png" group-title="USA",CBS News (Opt-2) https://dai.google.com/linear/hls/event/Sid4xiTQTkCT1SLu6rjUSQ/master.m3u8?iu=/8264/vaw-can/mobile_web/cbsnews_mobile #EXTINF:-1 tvg-logo="https://i.imgur.com/azOTXMy.png" group-title="USA",Channel 7 http://radio.7chan.org:8000/CH7 #EXTINF:-1 tvg-logo="https://i.imgur.com/2OnFFoP.png" group-title="USA",Cheddar Business https://live.chdrstatic.com/cheddar/primary/1.m3u8?fluxustv.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/xWVT3Dg.png" group-title="USA",Cheddar News https://live.chdrstatic.com/cbn/primary/1.m3u8?fluxustv.m3u8 #EXTINF:-1 tvg-logo="http://www.classicartsshowcase.org/cas/wp-content/themes/cas/images/logo.png" group-title="USA",Classic Arts Showcase https://classicarts.global.ssl.fastly.net/live/cas/master_3000k.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/Qq70J9t.png" group-title="USA",Classic TV 4U https://nimble.dashmedia.tv/onestudio/classictv/playlist.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/9TbpsS0.png" group-title="USA",CMC https://cmctv.ios.internapcdn.net/cmctv_vitalstream_com/live_1/CMC-TV/master.m3u8?fluxustv.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/9TbpsS0.png" group-title="USA",CMC-USA https://cmctv.ios.internapcdn.net/cmctv_vitalstream_com/live_1/CMCU-92/playlist.m3u8?fluxustv.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/53EgUZN.png" group-title="USA",CNBC https://d3sjmtxha86r3t.cloudfront.net/nbc/smil:cnbc.smil/FluxusTV.m3u8 #EXTINF:-1 tvg-logo="https://p14.zdassets.com/hc/settings_assets/667658/200059238/nUGjGiWPOdPJxcFva0eEpw-Contv-logoBig.png" group-title="USA",CONtv https://cinedigm.vo.llnwd.net/conssui/amagi_hls_data_xumo123-contv/CDN/master.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/SxRzFO8.png" group-title="USA",Cooking 4U https://edge1.dashmedia.tv/onestudio/cooking_4u_network/playlist.m3u8?fluxustv.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/f0FtDEI.png" group-title="USA",Court TV https://content.uplynk.com/channel/92c7be9fb47143a58683d202e321e571.m3u8?fluxustv.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/UbJ32O4.png" group-title="USA",CW (WSFL) (EST) http://190.80.3.28/CW/CW.isml/index.m3u8?fluxustv.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/4rUusB8.png" group-title="USA",DABL (Opt-1) https://cbsta49f-dabl68fc.global.ssl.fastly.net/out/v1/dfecb53fbf434b6bbbfd91d8a2549381/manifest_21.m3u8?fluxustv.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/4rUusB8.png" group-title="USA",DABL (Opt-2) https://cbsta49f-dabl68fc.global.ssl.fastly.net/out/v1/dfecb53fbf434b6bbbfd91d8a2549381/manifest_22.m3u8?fluxustv.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/4rUusB8.png" group-title="USA",DABL (Opt-3) https://cbsta49f-dabl68fc.global.ssl.fastly.net/out/v1/dfecb53fbf434b6bbbfd91d8a2549381/manifest_24.m3u8?fluxustv.m3u8 #EXTINF:-1 tvg-logo="https://static1.squarespace.com/static/57e016db6b8f5bbe95acde7d/t/5b620bab352f53819eb8df27/1533152171765/2017_DSTV_Logo_Silver+2.png" group-title="USA",Dancestar TV https://vcndstv.teleosmedia.com/stream/dstv/dstv/seglist_720p.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/l2O0fY1.png" group-title="USA",Darcizzle Offshore http://30a-tv.com/darcizzle.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/QtAXTGj.png" group-title="USA",DocuBox http://livecdnh3.tvanywhere.ae/hls/docubox/04.m3u8?fluxustv.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/QNaPXLj.png" group-title="USA",Documentaries 4U https://nimble.dashmedia.tv/onestudio/documentaries4u/playlist.m3u8?fluxustv.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/W87cTZc.png" group-title="USA",Docurama https://cinedigm.vo.llnwd.net/conssui/amagi_hls_data_xumo1234A-docuramaA/CDN/master.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/9mTwMJk.png" group-title="USA",Dream TV https://nimble.dashstreams.net/onestudio/dreamtv/chunks.m3u8 #EXTINF:-1 tvg-logo="http://gostreamtv.com/wp-content/uploads/channel-logos/duck-tv-logo.png" group-title="USA",Duck TV (MENA) http://livecdnh3.tvanywhere.ae/hls/duck/04.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/ye3ckSd.png" group-title="USA",Edge Sport https://imgedge.akamaized.net/amagi_hls_data_imgAAA2AA-edgesports/CDN/1920x1080_5628000/index.m3u8?fluxustv.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/7LXT3zf.png" group-title="USA",ET Live (Opt-1) https://etlive-mediapackage-fastly.cbsaavideo.com/dvr/manifest.m3u8?fluxustv.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/7LXT3zf.png" group-title="USA",ET Live (Opt-2) https://etlive-mediapackage-fastly.cbsaavideo.com/dvr/manifest.m3u8?iu=/8264/vaw-can/desktop/cbslocal #EXTINF:-1 tvg-logo="https://upload.wikimedia.org/wikipedia/en/a/af/EVINE_Logo.png" group-title="USA",Evine https://aos01-evine.secure.footprint.net/evine/dirty/Evine_Dirty_VIDEO_1_2064000.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/0rfBAWY.png" group-title="USA",Exercise 4U https://nimble.dashmedia.tv/onestudio/exercise_4u_tv/playlist.m3u8?fluxustv.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/9IlPgqf.png" group-title="USA",EZWay Network https://edge1.dashmedia.tv/onestudio/ezwaytv/playlist.m3u8?fluxustv.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/gV2Vmr9.png" group-title="USA",FailArmy https://dai2.xumo.com/amagi_hls_data_xumo1212A-failarmy/CDN/1280x720_5000000/index.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/AHmnFAw.png" group-title="USA",Fashion Channel https://bozztv.com/36bay2/gin/giniko_modelinc_2000kb_36bay2/tracks-v1a1/mono.m3u8 #EXTINF:-1 tvg-logo="https://spiintl.com/data/files/zdjecie/48/60/48600faa08efc021a07e742e85bd040a233f966cb1b4346f28d23b560ce75da3.png" group-title="USA",FightBox http://ott-cdn.ucom.am/s86/index.m3u8?fluxustv.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/nLimNFX.png" group-title="USA",Filmrise Classics https://dai2.xumo.com/amagi_hls_data_xumo1212A-filmriseclassictv/CDN/648x432_5000000/index.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/BDtkjpS.png" group-title="USA",Filmrise Crime https://dai2.xumo.com/xumocdn/p=roku/amagi_hls_data_xumo1212A-filmrisecrime/CDN/640x432_2500000/index.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/ypQRBrH.png" group-title="USA",Filmrise Family https://dai2.xumo.com/amagi_hls_data_xumo1212A-filmrisefamily/CDN/648x432_5000000/index.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/cQZdGc0.png" group-title="USA",Filmrise Movies https://dai2.xumo.com/xumocdn/p=roku/amagi_hls_data_xumo1212A-filmrisefreemovies/CDN/676x540_2500000/index.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/hV46zMX.png" group-title="USA",Folk TV http://584b0aa350b92.streamlock.net:1935/folk-tv/myStream.sdp/playlist.m3u8?fluxustv.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/xjCtEPH.png" group-title="USA",Food52 https://dai2.xumo.com/amagi_hls_data_xumo1212A-food52/CDN/1280x720_5000000/index.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/Z5SATrd.png" group-title="USA",Fox News Radio http://fnurtmp-f.akamaihd.net/i/FNRADIO_1@92141/master.m3u8 #EXTINF:-1 tvg-logo="https://upload.wikimedia.org/wikipedia/commons/4/44/Logo_of_Free_Speech_TV.png" group-title="USA",Free Speech TV https://edge.free-speech-tv-live.top.comcast.net/out/u/fstv.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/xLC8ulA.png" group-title="USA",Gone Fishing https://edge1.dashmedia.tv/onestudio/gonefishing/playlist.m3u8?fluxustv.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/IDgT6aq.png" group-title="USA",Gone Hunting https://edge1.dashmedia.tv/onestudio/hunting/playlist.m3u8?fluxustv.m3u8 #EXTINF:-1 tvg-logo="http://cineframe.mx/wp-content/uploads/2017/08/H2.png" group-title="USA",H2 http://livecdnh1.tvanywhere.ae:80/hls/h2/05.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/3A3NAWZ.png" group-title="USA",Hallmark Movies & Mysteries https://fluxustv.blogspot.com@bit.ly/2qmcmcG?.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/7sithKp.png" group-title="USA",Hochanda TV https://d3jwlm43fjnwxe.cloudfront.net/ushochanda/2/prog_index.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/FwXJj0L.png" group-title="USA",Honor TV https://a.jsrdn.com/broadcast/d5b48/+0000/low/c.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/Gh4kB7x.png" group-title="USA",Horrified TV https://edge1.dashmedia.tv/onestudio/horrified/playlist.m3u8?fluxustv.m3u8 #EXTINF:-1 tvg-logo="https://upload.wikimedia.org/wikipedia/commons/b/b1/HSN.png" group-title="USA",HSN https://html5-lh.akamaihd.net/i/html5_01@182967/master.m3u8 #EXTINF:-1 tvg-logo="https://sc.dish.com/shared/images/station-logos/hsn2.png" group-title="USA",HSN 2 https://hsn2html5-lh.akamaihd.net/i/hsn2html5_01@13178/master.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/DkvWWbE.png" group-title="USA",Hunt Channel https://1111296894.rsc.cdn77.org/LS-ATL-56868-1/index.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/07rLRZ9.png" group-title="USA",IndieWave https://vcnindiewave.teleosmedia.com/stream/indiewave/indiewave/playlist.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/CKCtZo7.png" group-title="USA",Investment Pitch http://www.30a-tv.com/InvPit.m3u8?fluxustv.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/h0UDljE.png" group-title="USA",It's At The Movies https://nimble.dashstreams.net/onestudio/its_comming_soon/chunks.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/1HJraea.png" group-title="USA",Jewelry Television http://wowzaprod134-i.akamaihd.net/hls/live/577814/ccddaf02/playlist.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/ESnlHMY.png" group-title="USA",Kartoon Fun Time (Opt-1) https://edge1.dashmedia.tv/onestudio/kartoonfuntime/playlist.m3u8?fluxustv.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/ESnlHMY.png" group-title="USA",Kartoon Fun Time (Opt-2) https://nimble.dashmedia.tv/onestudio/kartoonfuntime/playlist.m3u8?fluxustv.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/4otJeRo.png" group-title="USA",Kathryn Raaker's World https://edge1.dashmedia.tv/onestudio/kathryn_raakers_world/playlist.m3u8?fluxustv.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/fEjPBk3.png" group-title="USA",Key TV http://media4.tripsmarter.com:1935/LiveTV/KTVHD/chunklist_w363623166.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/Fkc7MuP.png" group-title="USA",Kool TV http://173.199.158.79:1935/roku/myStream/playlist.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/HY64Nhe.png" group-title="USA",Law & Crime Network https://dai2.xumo.com/amagi_hls_data_xumo1234A-lawcrime/CDN/master.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/HY64Nhe.png" group-title="USA",Law & Crime Network (Opt-2) https://live-lawandcrime.simplestreamcdn.com/landc_d1/live.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/HY64Nhe.png" group-title="USA",Law & Crime Network (Opt-3) https://live-lawandcrime.simplestreamcdn.com/landc_d2/live.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/KGaH3pH.png" group-title="USA",Living Outdoors https://edge1.dashmedia.tv/onestudio/Living_Outdoors/playlist.m3u8?fluxustv.m3u8 #EXTINF:-1 tvg-logo="http://75.146.183.54:2080/Cablecast/Public/Logos/1/MCN-Vimeo-Logo.png" group-title="USA",Metro Cable Network http://live.mcn6.org:8180/live/CELL-496k-270p/CELL-496k-270p.m3u8 #EXTINF:-1 tvg-logo="https://upload.wikimedia.org/wikipedia/en/thumb/a/ac/MLBNetworkLogo.svg/1200px-MLBNetworkLogo.svg.png" group-title="USA",MLB Network http://mlblive-akc.mlb.com/ls01/mlbam/mlb_network/NETWORK_LINEAR_1/master_wired.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/5F3CgdU.png" group-title="USA",Mo Laughter TV https://59d39900ebfb8.streamlock.net/molaughtertv/molaughtertv/playlist.m3u8?fluxustv.m3u8 #EXTINF:-1 tvg-logo="https://www.mobcrush.com/mobkit-page/assets/img/mc-logo-pineapple-yellow.png" group-title="USA",Mobcrush https://ott.mobcrush.com/hls/0/ott.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/S6Hcqoy.png" group-title="USA",Movee 4U https://nimble.dashmedia.tv/onestudio/movee4u/playlist.m3u8 #EXTINF:-1 tvg-logo="http://golikemariana.com/wp-content/uploads/2017/08/msnbc-blanco-1.png" group-title="USA",MSNBC (Opt-1) https://d3sjmtxha86r3t.cloudfront.net/nbc/smil:msnbc.smil/fluxustv.m3u8?fluxustv.m3u8 #EXTINF:-1 tvg-logo="http://golikemariana.com/wp-content/uploads/2017/08/msnbc-blanco-1.png" group-title="USA",MSNBC (Opt-2) https://fluxustv.blogspot.com@bit.ly/33vUHOc?.ts #EXTINF:-1 tvg-logo="https://i.imgur.com/Tf0tlDV.png" group-title="USA",Music Choice http://edge.music-choice-play-chaina1.top.comcast.net/PlayMetadataInserter/play/chunklist.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/RZKS8XS.png" group-title="USA",My Life TV https://edge1.dashmedia.tv/onestudio/my_life_4u/playlist.m3u8?fluxustv.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/VX4uHSO.png" group-title="USA",NASA TV (Opt-1) http://iphone-streaming.ustream.tv/uhls/6540154/streams/live/iphone/playlist.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/VX4uHSO.png" group-title="USA",NASA TV (Opt-2) http://hls.ums.ustream.tv/playlist/directhls/channel/6540154/playlist.m3u8?sgn=31d0dfb847c358d4cedcd2256dc4e1c42a7f13a7 #EXTINF:-1 tvg-logo="https://i.imgur.com/VX4uHSO.png" group-title="USA",NASA TV Media http://iphone-streaming.ustream.tv/uhls/10414700/streams/live/iphone/playlist.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/Wfqt9BS.png" group-title="USA",Nat Geo People http://livecdnh1.tvanywhere.ae:80/hls/nat_geo_people/05.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/h0NNZ2U.png" group-title="USA",Nat Geo Wild http://livecdnh1.tvanywhere.ae/hls/nat_geo_wild/05.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/bUepAp5.png" group-title="USA",National Geographic http://livecdnh1.tvanywhere.ae/hls/nat_geo/05.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/zGUrIlJ.png" group-title="USA",NBC (WTVJ) (EST) http://161.0.157.51/PLTV/88888888/224/3221227040/index.m3u8?fluxustv.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/2MyiyMl.png" group-title="USA",New Orleans TV http://media4.tripsmarter.com:1935/LiveTV/NOTVHD/playlist.m3u8 #EXTINF:-1 tvg-logo="https://upload.wikimedia.org/wikipedia/commons/6/6e/Newsmax_TV_Logo.png" group-title="USA",Newsmax TV http://nmxlive.akamaized.net/hls/live/529965/Live_1/index.m3u8 #EXTINF:-1 tvg-logo="https://upload.wikimedia.org/wikipedia/en/e/ef/NewsNetLogo.png" group-title="USA",NewsNet http://broadcastny.yournewsnet.com:8081/master/newsnetweb/playlist.m3u8?fluxustv.m3u8 #EXTINF:-1 tvg-logo="https://upload.wikimedia.org/wikipedia/en/1/16/Newsy_2015_Logo.png" group-title="USA",Newsy https://content.uplynk.com/channel/4bb4901b934c4e029fd4c1abfc766c37.m3u8?ad=newsyweb #EXTINF:-1 tvg-logo="https://i.imgur.com/QSH4Z4p.png" group-title="USA",Nothing Scripted http://30a-tv.com/NothingScripted.m3u8?fluxustv.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/RMnzfj1.png" group-title="USA",Opportunity Knocks TV https://nimble.dashstreams.net/onestudio/myoktv/chunks.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/OAaxN8G.png" group-title="USA",Out of Focus TV http://pablogott.videocdn.scaleengine.net/pablogott-live/play/ooftv1/playlist.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/dOEohgy.png" group-title="USA",Pac-12 Plus https://p12x-lh.akamaihd.net/i/pac12plus_delivery@198236/master.m3u8?fluxustv.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/EA2rA7R.png" group-title="USA",PBS (WPBT) (EST) http://190.80.3.28/PBS/PBS.isml/index.m3u8?fluxustv.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/cR9FCTg.png" group-title="USA",Planet Cannabis https://edge1.dashmedia.tv/onestudio/planetshopping/playlist.m3u8?fluxustv.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/xPmRZ19.png" group-title="USA",Pop https://bcsecurelivehls-i.akamaihd.net/hls/live/505785/5367332899001/master.m3u8 #EXTINF:-1 tvg-logo="https://logos-download.com/wp-content/uploads/2016/09/Red_Bull_TV_logo.png" group-title="USA",Red Bull TV (Opt-1) https://dms.redbull.tv/v3/linear-borb/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJjYXRlZ29yeSI6InBlcnNvbmFsX2NvbXB1dGVyIiwiY291bnRyeV9jb2RlIjoidXMiLCJleHBpcmVzIjoiMjAxNy0wOS0xNlQxNzo0NjowMy45NjM0NjI4NDJaIiwib3NfZmFtaWx5IjoiaHR0cCIsInJlbW90ZV9pcCI6IjEwLjE1Ny4xMTIuMTQ4IiwidWEiOiJNb3ppbGxhLzUuMCAoTWFjaW50b3NoOyBJbnRlbCBNYWMgT1MgWCAxMF8xMl81KSBBcHBsZVdlYktpdC82MDMuMi40IChLSFRNTCwgbGlrZSBHZWNrbykgVmVyc2lvbi8xMC4xLjEgU2FmYXJpLzYwMy4yLjQiLCJ1aWQiOiJkOGZiZWYzMC0yZDhhLTQwYTUtOGNjNy0wNzgxNGJhMTliNzMifQ.Q_38FNpW3so5yrA5FQt9qBuix3dTulKpb6uQ0dRjrtY/playlist.m3u8 #EXTINF:-1 tvg-logo="https://logos-download.com/wp-content/uploads/2016/09/Red_Bull_TV_logo.png" group-title="USA",Red Bull TV (Opt-2) http://rbmn-live.akamaized.net/hls/live/590964/BoRB-AT/master_1660.m3u8 #EXTINF:-1 tvg-logo="https://logos-download.com/wp-content/uploads/2016/09/Red_Bull_TV_logo.png" group-title="USA",Red Bull TV (UHD) https://rbmn-live.akamaized.net/hls/live/590964/BoRB-AT/master_3360.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/zZRKYMd.png" group-title="USA",Regalia TV https://edge1.dashmedia.tv/onestudio/regalia_network/playlist.m3u8?fluxustv.m3u8 #EXTINF:-1 tvg-logo="http://www.revntv.com/media/pcon/revn-logo-color-socialmedia-108.png" group-title="USA",Rev'n http://dcunilive28-lh.akamaihd.net/i/dclive_1@624563/master.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/y9JXK2I.png" group-title="USA",Right Now TV https://edge1.dashmedia.tv/onestudio/rightnowtv/playlist.m3u8?fluxustv.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/3o9cG76.png" group-title="USA",Rooster Teeth TV https://d2klx6wjx7p5vm.cloudfront.net/Rooster-teeth/ngrp:Rooster-teeth_all/playlist.m3u8 #EXTINF:-1 tvg-logo="https://upload.wikimedia.org/wikipedia/en/thumb/a/ae/RTD-TV-logo.png/220px-RTD-TV-logo.png" group-title="USA",RT Documentary http://ott-cdn.ucom.am/s93/index.m3u8?fluxustv.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/sDGZCpL.png" group-title="USA",SafeTV4U2 http://18.191.91.130:1935/live/safetv/playlist.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/RX6YusQ.png" group-title="USA",Sci-fi 4U https://edge1.dashmedia.tv/onestudio/SciFiTV/playlist.m3u8?fluxustv.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/yfEizcN.png" group-title="USA",Screamfest https://vcnleomarkstudios.teleosmedia.com/stream/leomarkstudios/screamfest/seglist_720p.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/ZNw2dfV.png" group-title="USA",She TV https://edge1.dashmedia.tv/onestudio/She_Tv_Network/playlist.m3u8?fluxustv.m3u8 #EXTINF:-1 tvg-logo="http://akamaicdn.shoplc.com/landing/product-recalls/ShopLC--DeliveringJoy.png" group-title="USA",Shop LC https://dpfbqenlgkzdh.cloudfront.net/shoplc_backup/live.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/woxovZh.png" group-title="USA",Shopping 4U https://edge1.dashmedia.tv/onestudio/shopping_4u/playlist.m3u8?fluxustv.m3u8 #EXTINF:-1 tvg-logo="https://www.sidewalkstv.com/wp-content/uploads/2013/10/sw-tep-large-300x125.png" group-title="USA",Sidewalks http://30a-tv.com/sidewalks.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/X72z8BW.png" group-title="USA",Sportskool https://a.jsrdn.com/broadcast/22697/+0000/hi/c.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/RSHCC2y.png" group-title="USA",Spydar TV (Opt-1) https://nimble.dashmedia.tv/onestudio/spydar/playlist.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/RSHCC2y.png" group-title="USA",Spydar TV (Opt-2) https://nimble.dashstreams.net/onestudio/spydar/chunks.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/n38w3FD.png" group-title="USA",Stadium https://d28avce4cnwu2y.cloudfront.net/v1/manifest/61a556f78e4547c8ab5c6297ea291d6350767ca2/Mux/37f5dd6d-5713-4998-8354-8c6675612b42/0.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/e7EDq02.png" group-title="USA",Tastemade https://tastemadessai.akamaized.net/amagi_hls_data_tastemade-tastemade/CDN/718x404_2002829/index.m3u8?fluxustv.m3u8 #EXTINF:-1 tvg-logo="https://tastytradepublicmedia.s3.amazonaws.com/assets/logos/tt-logo-original-05e5dd25021223dff0203915ecdc9375.png" group-title="USA",TastyTrade https://trinity-lh.akamaihd.net/i/ttmain_d@82127/index_3128_av-p.m3u8?fluxustv.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/YeSygn7.png" group-title="USA",TBD http://content.uplynk.com/channel/1831163f97674328ad9f4b4814ed39c5.m3u8?tc=1&exp=1614631202&rn=614441536&ct=c&cid=1831163f97674328ad9f4b4814ed39c5&ad=comet&ad.adUnit=%2FTBD%2FLivestream_midroll&ad._debug=TBDNET_ssai_livestream_midroll&ad.ad_rule=1&ad.pmad=12&ad.output=xml_vmap1&sig=5d194a4e4c5a4d59023d6a39a2ba5ba82dcd817b615e9f82115c41d9b26ffd0a #EXTINF:-1 tvg-logo="https://i.imgur.com/ZSfrcxH.png" group-title="USA",Tennis Channel https://playoutengine.sinclairstoryline.com/playout/9f87522c-5a0e-4ff4-b82c-d5564216132f/g.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/1pxXEtP.png" group-title="USA",The Asylum https://dai2.xumo.com/xumocdn/p=roku/amagi_hls_data_xumo1212A-theasylum/CDN/1280x720_2500000/index.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/0j5Aget.png" group-title="USA",The Beach Show http://30a-tv.com/beachy.m3u8?fluxustv.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/nCB6LNt.png" group-title="USA",The Film Detective https://distro.akamaized.net/indexfd_1280x720.m3u8 #EXTINF:-1 tvg-logo="http://www.outdoorcookingchannel.com/wp-content/uploads/2014/06/150-logo.png" group-title="USA",The Outdoor Cooking Channel http://edge1.tikilive.com:1935/unrestricted_tikilive/25947/amlst:NWKlw6jwyXpz/chunklist_w981409619_b1105254.m3u8?fluxustv.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/DPls9e7.png" group-title="USA",The Pet Collective https://dai2.xumo.com/amagi_hls_data_xumo1212A-petcollective/CDN/1280x720_5000000/index.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/uIZpZky.png" group-title="USA",The Titanic Channel https://a.jsrdn.com/broadcast/22719/+0000/hi/c.m3u8 #EXTINF:-1 tvg-logo="https://upload.wikimedia.org/wikipedia/commons/thumb/7/77/The_Weather_Channel_logo_2005-present.svg/1024px-The_Weather_Channel_logo_2005-present.svg.png" group-title="USA",The Weather Channel http://weather-lh.akamaihd.net/i/twc_1@92006/master.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/BvRObyp.png" group-title="USA",The Works https://mgm-ssai.akamaized.net/amagi_hls_data_mgmAAAAAA-theworks/CDN/720x404_1425600/index.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/wzBD6fy.png" group-title="USA",TMZ https://dai2.xumo.com/xumocdn/p=roku/amagi_hls_data_xumo1234A-tmz/CDN/1280x720_5000000/index.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/GFyJviy.png" group-title="USA",Travel 4U https://edge1.dashmedia.tv/onestudio/travel4u/playlist.m3u8?fluxustv.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/qg0QrUp.png" group-title="USA",TWiT http://iphone-streaming.ustream.tv/uhls/1524/streams/live/iphone/playlist.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/lPyJhBN.png" group-title="USA",UN Web TV https://bcliveunivsecure-lh.akamaihd.net/i/un150_A1_1@575439/index_1328_av-b.m3u8?fluxustv.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/7DwiHDb.png" group-title="USA",Vegas Stats https://api.new.livestream.com/accounts/22774234/events/6897936/live.m3u8?fluxustv.m3u8 #EXTINF:-1 tvg-logo="https://upload.wikimedia.org/wikipedia/commons/thumb/9/94/VH1_logonew.svg/440px-VH1_logonew.svg.png" group-title="USA",VH1 http://content-ausc2.uplynk.com/channel/7a16e3d5ffd0413ba4d8ac89688ed7cd/e.m3u8?ct=c&ad.locationDesc=vh1_channel&ad.cust_params=_fw_ae%3D53da17a30bd0d3c946a41c86cb5873f1%26_vmn_ar%3Dtrue&expand=simulcast_standard&ad.kv=_fw_ae%2C53da17a30bd0d3c946a41c86cb5873f1%2C_vmn_ar%2Ctrue%2C_fw_vcid2%2C82125:vh1_67b04b0c30774b06ad1ec820ee7d0beb&delay=10800&euid=67b04b0c-3077-4b06-ad1e-c820ee7d0beb&exp=1531977295&rn=1284714433&ad.euid=67b04b0c-3077-4b06-ad1e-c820ee7d0beb&cid=7a16e3d5ffd0413ba4d8ac89688ed7cd&tc=1&sig=b3143cb0429574cc3c877de30e62fab7d66c763ec2f61cd9bfde33fdab12dfb7&pbs=62317bc417264eaeb05c22777b5c8697 #EXTINF:-1 tvg-logo="https://static1.squarespace.com/static/51a013dee4b0a2a2d2ef73e9/t/530a34ace4b0d1b000d31222/1393177774359/voa.png" group-title="USA",Voice of America (PST) http://voa-lh.akamaihd.net/i/voa_mpls_tvmc6@320298/master.m3u8?fluxustv.m3u8 #EXTINF:-1 tvg-logo="https://static1.squarespace.com/static/51a013dee4b0a2a2d2ef73e9/t/530a34ace4b0d1b000d31222/1393177774359/voa.png" group-title="USA",Voice of America (EST) http://voa-lh.akamaihd.net/i/voa_mpls_tvmc3_3@320295/master.m3u8 #EXTINF:-1 tvg-logo="https://upload.wikimedia.org/wikipedia/en/e/e2/WeatherNation_logo.png" group-title="USA",Weather Nation http://cdnapi.kaltura.com/p/931702/sp/93170200/playManifest/entryId/1_oorxcge2/format/applehttp/protocol/http/uiConfId/28428751/a.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/nFSaVJ2.png" group-title="USA",Westerns 4U https://nimble.dashmedia.tv/onestudio/western4u/playlist.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/uckThBl.png" group-title="USA",WSJ Live (VOD) http://wsjlivehls-lh.akamaihd.net/i/events1_1@174990/master.m3u8 #EXTINF:-1 tvg-logo="https://upload.wikimedia.org/wikipedia/en/6/6b/WSVI_Logo.png" group-title="USA",WSVI-TV http://dcunilive30-lh.akamaihd.net/i/dclive_1@534251/master.m3u8?fluxustv.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/6chO5x2.png" group-title="USA",WWE Network http://cdnak19.cast4u.info/channels/4/10804.m3u8?fluxustv.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/8sQ5mfL.png" group-title="USA",WXYZ ABC 7 Detroit https://content-auso2.uplynk.com/channel/9c9e4e410b5a471391c116166d8c010e.m3u8?ad=live #EXTINF:-1 tvg-logo="https://i.imgur.com/8JAnpoj.png" group-title="USA",Xcorps TV http://vcnxcorps.teleosmedia.com/stream/xcorps/xcorps/seglist_720p.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/3se2VEB.png" group-title="USA",Youtoo America https://imavex2.mmdlive.lldns.net/imavex2/46320b2319cf49d7bf68f70cc4a10c98/playlist.m3u8?fluxustv.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/c3Z5i2L.png" group-title="USA",Z Living (Opt-1) https://y5w8j4a9.ssl.hwcdn.net/zlivingusa_r/index.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/c3Z5i2L.png" group-title="USA",Z Living (Opt-2) https://y5w8j4a9.ssl.hwcdn.net/zlivingusa_r_prod/tracks-v1a1/index.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/8jjHm3a.png" group-title="USA PUBLIC",Akaku 53 Hawaii https://akaku.vod.castus.tv/live/ch1.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/8jjHm3a.png" group-title="USA PUBLIC",Akaku 54 Hawaii https://akaku.vod.castus.tv/live/ch2.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/8jjHm3a.png" group-title="USA PUBLIC",Akaku 55 Hawaii https://akaku.vod.castus.tv/live/ch3.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/ESQ1Fwz.png" group-title="USA PUBLIC",Arizona Capitol TV http://granicusliveus12-a.akamaihd.net/azleg/G0247_012/chunklist.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/LqGSdNg.png" group-title="USA PUBLIC",Beach TV CSULB http://stream04.amp.csulb.edu:1935/Beach_TV/smil:BeachTV.smil/playlist.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/RnOS2Ct.png" group-title="USA PUBLIC",Bowie TV http://granicusliveus3-a.akamaihd.net/cityofbowie/G0466_001/playlist.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/iAWNBq2.png" group-title="USA PUBLIC",Buffalo TV http://na-all15.secdn.net/pegstream3-live/play/c3e1e4c4-7f11-4a54-8b8f-c590a95b4ade/playlist.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/Uhi2iae.png" group-title="USA PUBLIC",BUTV10 BU http://butv10-livestream.bu.edu/live/WIFI-2096k-1080p/WIFI-2096k-1080p.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/8w3N2k3.png" group-title="USA PUBLIC",Capital City Connection Montgomery http://na-us-se13.secdn.net/pegstream3-live/play/5f0d9ca5-4e85-4c01-a426-9ec8d44c2c9c/playlist.m3u8?fluxustv.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/gs8x5ES.png" group-title="USA PUBLIC",CC-TV Charlotte County http://granicusliveus3-a.akamaihd.net/charlotte/G0055_002/chunklist.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/DJG1KGR.png" group-title="USA PUBLIC",CCX Media Minnesota http://156.142.85.152/live/WIFI-2096k-1080p/WIFI-2096k-1080p.m3u8?fluxustv.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/1p2WF6I.png" group-title="USA PUBLIC",CGTV Champaign http://reflect-live-champaign.cablecast.tv/live/CELL-296k-234p/CELL-296k-234p.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/WrBz2L6.png" group-title="USA PUBLIC",Chandler Channel https://granicusliveus5-a.akamaihd.net/chandleraz/G0987_002/chunklist.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/UxEzPeX.png" group-title="USA PUBLIC",Connecticut Network http://video.ct-n.com/live/ctnstream/chunklist_w1534354198_DVR.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/UxEzPeX.png" group-title="USA PUBLIC",Connecticut Network (Instant) http://video.ct-n.com/live/ctnspare/chunklist_w252238746_DVR.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/UxEzPeX.png" group-title="USA PUBLIC",Connecticut Network (Live Stream 1) http://video.ct-n.com/live/web1stream/chunklist_w1992415243_DVR.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/UxEzPeX.png" group-title="USA PUBLIC",Connecticut Network (Live Stream 2) http://video.ct-n.com/live/web2stream/chunklist_w1202315245_DVR.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/pY66Xjp.png" group-title="USA PUBLIC",DC Council Channel http://video.oct.dc.gov/out/u/15_12.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/ck6VVWT.png" group-title="USA PUBLIC",District of Columbia Network http://video.oct.dc.gov/out/u/DCN.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/UnbstRH.png" group-title="USA PUBLIC",Escambia TV http://stream.swagit.com/live-edge/escambiacountyfl/live-1-a/chunklist_w1496843195.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/pWsmV4z.png" group-title="USA PUBLIC",Fairfax Public Access http://cs.ebmcdn.net/eastbay-live-hs-1/fairfax-pull/_definst_/mp4:fairfax.stream/chunklist.m3u8?fluxustv.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/xkiZlyd.png" group-title="USA PUBLIC",Glendale 11 https://stream.swagit.com/live-edge/glendaleaz/smil:std-4x3-1-a/chunklist.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/wHb9BLd.png" group-title="USA PUBLIC",Greensboro TV http://granicusliveus4-a.akamaihd.net/greensboro/G0197_003/chunklist.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/rfTBd6H.png" group-title="USA PUBLIC",House of Representatives http://d3ktuc8v2sjk6m.cloudfront.net/livetv/ngrp:HouseChannel_all/chucklist.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/FXOQfqa.png" group-title="USA PUBLIC",KBVR TV OSU http://klive-a.akamaihd.net/dc-0/live/hls/p/391241/e/0_bthpnu1j/sd/10000/t/YwqLo1YivB_aumq-LxAuWg/master.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/GJlPDSa.png" group-title="USA PUBLIC",LA36 http://granicusliveus6-a.akamaihd.net/la36/G0019_002/chunklist_w1442089063.m3u8?fluxustv.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/REqqKQ9.png" group-title="USA PUBLIC",Lake Havasu City 4 https://granicusliveus3-a.akamaihd.net/lakehavasucity/G0643_002/chunklist.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/LzaXjsz.png" group-title="USA PUBLIC",Leominster TV Government http://gov.leominster.tv/Gov/smil:Gov.smil/chunklist_w1957429215_b1344100_sleng_t64NzIwcA==.m3u8?fluxustv.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/LzaXjsz.png" group-title="USA PUBLIC",Leominster TV Educational http://edu.leominster.tv/Edu/smil:Edu.smil/chunklist_w43731873_b1344100_sleng_t64NzIwcA==.m3u8?fluxustv.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/LzaXjsz.png" group-title="USA PUBLIC",Leominster TV Public http://gov.leominster.tv/Pub/smil:Pub.smil/chunklist_w2036537178_b1344100_sleng_t64NzIwcA==.m3u8?fluxustv.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/N2sVD8V.png" group-title="USA PUBLIC",Lex TV http://granicusliveus2-a.akamaihd.net/lfucg/G0264_002/chunklist_w831870727.m3u8?fluxustv.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/6C9dWLK.png" group-title="USA PUBLIC",LVTV-3 La Verne Community TV https://na-us-se13.secdn.net/pegstream3-live/play/d6af6526-5e48-4f8d-aa2c-ed1c270f20d0/chunklist_w2046155663.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/Yf0MFYU.png" group-title="USA PUBLIC",Olelo Community Media 49 http://granicusliveus12-a.akamaihd.net/olelo/G0125_009/chunklist.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/Yf0MFYU.png" group-title="USA PUBLIC",Olelo Community Media 53 http://granicusliveus12-a.akamaihd.net/olelo/G0125_011/chunklist.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/Yf0MFYU.png" group-title="USA PUBLIC",Olelo Community Media 54 http://granicusliveus12-a.akamaihd.net/olelo/G0125_012/chunklist.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/Yf0MFYU.png" group-title="USA PUBLIC",Olelo Community Media 55 http://granicusliveus12-a.akamaihd.net/olelo/G0125_013/chunklist.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/C8vBURi.png" group-title="USA PUBLIC",Orange Media Network http://klive-a.akamaihd.net/dc-0/live/hls/p/391241/e/0_bthpnu1j/sd/10000/t/YwqLo1YivB_aumq-LxAuWg/master.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/s3FQwRN.png" group-title="USA PUBLIC",Orange TV http://otv3.ocfl.net:1936/OrangeTV/smil:OrangeTV.smil/chunklist_w1007974604_b894100_sleng.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/otj9cSL.png" group-title="USA PUBLIC",PATV Great Neck http://47.23.7.30:8080/live/WIFI-1096k-360p/WIFI-1096k-360p.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/80ihcjR.png" group-title="USA PUBLIC",RyeTV http://oflash.dfw.swagit.com/live/ryeny/smil:std-4x3-1-a/playlist.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/fB0jYOO.png" group-title="USA PUBLIC",St. Charles Parish TV http://66.210.225.230/live/CELL-496k-270p/CELL-496k-270p.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/WmFBaX6.png" group-title="USA PUBLIC",Southeastern Channel http://147.174.13.196/live/WIFI-1296k-540p/WIFI-1296k-540p.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/Sb1nuei.png" group-title="USA PUBLIC",Tempe 11 http://granicusliveus1-a.akamaihd.net/tempe/G0355_003/chunklist.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/tV8tVxQ.png" group-title="USA PUBLIC",Texas Student TV http://tstv-stream.tsm.utexas.edu/hls/livestream_hi/index.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/OF24Hon.png" group-title="USA PUBLIC",Town of Vienna Community Network (Opt-1) https://granicusliveus2-a.akamaihd.net/vienna-va/G1359_002/playlist.m3u8?fluxustv.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/OF24Hon.png" group-title="USA PUBLIC",Town of Vienna Community Network (Opt-2) https://granicusliveus2-a.akamaihd.net/vienna-va/G1359_003/playlist.m3u8?fluxustv.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/SrRxU67.png" group-title="USA PUBLIC",TVW http://d3ktuc8v2sjk6m.cloudfront.net/livetv/ngrp:TVWAIR_all/chucklist.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/SrRxU67.png" group-title="USA PUBLIC",TVW-2 http://d3ktuc8v2sjk6m.cloudfront.net/livetv/ngrp:TVW2_all/master.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/OTZxloq.png" group-title="USA PUBLIC",UALR TV http://na-all23.secdn.net/pegstream3-live/play/65ea794b-dd82-41ce-8e98-a9177289a063/master.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/77PehgD.png" group-title="USA PUBLIC",UWW-TV UW Whitewater http://vanadium.uww.edu:1935/uwwlive/smil:uwwtv.smil/chunklist_w2102626622_b300000.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/cOx41cu.png" group-title="USA PUBLIC",WCCA TV Worcester http://worcester.vod.castus.tv/live/ch1.m3u8?fluxustv.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/sxxRphV.png" group-title="USA PUBLIC",White Plains Community Media http://stream.swagit.com/live-edge/whiteplainsny/smil:std-4x3-1-b/chunklist_w1456643228_b512000.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/7yrCSu0.png" group-title="USA LOCAL",Augusta - Fox 54 News Now http://api.new.livestream.com/accounts/11328309/events/live/live.m3u8 #EXTINF:-1 tvg-logo="https://upload.wikimedia.org/wikipedia/en/8/86/WBRZ_Logo_2013.png" group-title="USA LOCAL",Baton Rouge - WBRZ 2 Plus http://cms-wowza.lunabyte.io/wbrz-live-1/_definst_/smil:wbrz-live.smil/chunklist_b1300000.m3u8?fluxustv.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/5MfhbGP.png" group-title="USA LOCAL",Boston - 7News (Opt-1) https://bcsecurelivehls-i.akamaihd.net/hls/live/598046/4744899807001_1/livestream/master.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/5MfhbGP.png" group-title="USA LOCAL",Boston - 7News (Opt-2) https://bcsecurelivehls-i.akamaihd.net/hls/live/598046/4744899807001_1/livestream/master_540-57.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/VyddAhr.png" group-title="USA LOCAL",Boston - Fox News 25 (Opt-1) http://svc-lvanvato-cxtv-wfxt.cmgvideo.com/wfxt/2564k/index.m3u8?fluxustv.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/VyddAhr.png" group-title="USA LOCAL",Boston - Fox News 25 (Opt-2) http://api.new.livestream.com/accounts/22998687/events/6864865/live.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/YO7qaMo.png" group-title="USA LOCAL",The Bronx - News 12 http://hls.iptv.optimum.net/news12/nipadlive/index_new.m3u8?callsign=N12BX #EXTINF:-1 tvg-logo="https://i.imgur.com/YO7qaMo.png" group-title="USA LOCAL",Brooklyn - News 12 http://hls.iptv.optimum.net/news12/nipadlive/index_new.m3u8?callsign=N12KN #EXTINF:-1 tvg-logo="https://i.imgur.com/AoCX1T1.png" group-title="USA LOCAL",Charlotte - WCNC Breaking News http://wcnc-lh.akamaihd.net/i/WCNC_Breaking_1@195112/master.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/g29f00A.png" group-title="USA LOCAL",Charlotte - WCCB News http://api.new.livestream.com/accounts/8522553/events/live/live.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/GSdRkIw.png" group-title="USA LOCAL",Chattanooga - ABC 9 News http://wxintribune-lh.akamaihd.net/i/WXINTribune_1@120151/master.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/KKyaN9l.png" group-title="USA LOCAL",Chicago - NBC 5 News http://wmaqlive-f.akamaihd.net/i/wmaqa1_1@22923/master.m3u8?fluxustv.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/JmlSD7q.png" group-title="USA LOCAL",Chicago - WGN 9 News http://wgntribune-lh.akamaihd.net/i/WGNPrimary_1@304622/master.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/eqjvgfo.png" group-title="USA LOCAL",Chico - Action News Now https://api.new.livestream.com/accounts/26511688/events/7954874/live.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/AqYJ4Dg.png" group-title="USA LOCAL",Cincinnati - Fox 19 News http://api.new.livestream.com/accounts/12136532/events/live/live.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/OMyZ9lC.png" group-title="USA LOCAL",Cleveland - Fox 8 News http://api.new.livestream.com/accounts/57501/events/1146195/live.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/YO7qaMo.png" group-title="USA LOCAL",Connecticut - News 12 http://hls.iptv.optimum.net/news12/nipadlive/index_new.m3u8?callsign=N12CT_WEST #EXTINF:-1 tvg-logo="https://i.imgur.com/YO7qaMo.png" group-title="USA LOCAL",Connecticut - News 12 (Traffic) http://hls.iptv.optimum.net/news12/nipadlive/index_new.m3u8?callsign=N12TW_CT #EXTINF:-1 tvg-logo="https://i.imgur.com/KdwKEmV.png" group-title="USA LOCAL",Corpus Christi - KRIS News https://api.new.livestream.com/accounts/16030759/events/4495499/live.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/AleGl4H.png" group-title="USA LOCAL",Dallas - Fox 4 News http://api.new.livestream.com/accounts/6395980/events/2598380/live.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/AqfOsIO.png" group-title="USA LOCAL",Dayton - WHIO 7 News (Opt-1) http://svc-lvanvato-cxtv-whio.cmgvideo.com/whio/2596k/index.m3u8?fluxustv.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/AqfOsIO.png" group-title="USA LOCAL",Dayton - WHIO 7 News (Opt-2) http://svc-lvanvato-cxtv-whio.cmgvideo.com:80/whio/2596k/index.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/MZuZMNW.png" group-title="USA LOCAL",Des Moines - WHO 13 News https://api.new.livestream.com/accounts/9976600/events/3382760/live.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/RmNx8Vt.png" group-title="USA LOCAL",Grand Rapids - Fox 17 News http://api.new.livestream.com/accounts/9485505/events/3244983/live.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/3czIO1P.png" group-title="USA LOCAL",Hartford - WVIT 30 News http://wvitlive-f.akamaihd.net/i/wvitb2_1@71164/master.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/ta1UHlg.png" group-title="USA LOCAL",Houston - Fox 26 News (Opt-1) http://api.new.livestream.com/accounts/6396012/events/live/live.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/ta1UHlg.png" group-title="USA LOCAL",Houston - Fox 26 News (Opt-2) http://api.new.livestream.com/accounts/6396012/events/2598382/live.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/YO7qaMo.png" group-title="USA LOCAL",Hudson Valley - News 12 http://hls.iptv.optimum.net/news12/nipadlive/index_new.m3u8?callsign=N12HV #EXTINF:-1 tvg-logo="https://i.imgur.com/lAtiWkI.png" group-title="USA LOCAL",Indianapolis - CBS 4 News http://wttv-lh.akamaihd.net:80/i/WTTVBreaking_1@333494/master.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/LW3Dfbt.png" group-title="USA LOCAL",Jacksonville - WJAX Action News (Opt-1) http://svc-lvanvato-cxtv-wjax.cmgvideo.com/wjax/2564k/index.m3u8?fluxustv.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/LW3Dfbt.png" group-title="USA LOCAL",Jacksonville - WJAX Action News (Opt-2) https://svc-lvanvato-cxtv-wjax.cmgvideo.com/wjax/564k/index.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/QbkW7zY.png" group-title="USA LOCAL",Las Vegas - 13 Action News https://content.uplynk.com/channel/39919d3f7a074eefa8bf579214e952f9.m3u8?ad=live #EXTINF:-1 tvg-logo="https://i.imgur.com/YO7qaMo.png" group-title="USA LOCAL",Long Island - News 12 (Traffic) http://hls.iptv.optimum.net/news12/nipadlive/index_new.m3u8?callsign=N12TW_LI #EXTINF:-1 tvg-logo="https://i.imgur.com/YO7qaMo.png" group-title="USA LOCAL",Long Island - News 12 http://hls.iptv.optimum.net/news12/nipadlive/index_new.m3u8?callsign=N12LI_WEST #EXTINF:-1 tvg-logo="https://i.imgur.com/qev72Gl.png" group-title="USA LOCAL",Los Angeles - CBS News https://dai.google.com/linear/hls/event/TxSbNMu4R5anKrjV02VOBg/master.m3u8?iu=/4128/CBS.LA.OTT #EXTINF:-1 tvg-logo="https://i.imgur.com/4dMBznz.png" group-title="USA LOCAL",Mississippi - WXXV News 25 http://api.new.livestream.com/accounts/22998687/events/6864865/live.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/YO7qaMo.png" group-title="USA LOCAL",New Jersey - News 12 http://hls.iptv.optimum.net/news12/nipadlive/index_new.m3u8?callsign=N12NJ_CENTRAL #EXTINF:-1 tvg-logo="https://i.imgur.com/YO7qaMo.png" group-title="USA LOCAL",New Jersey - News 12 (Traffic) http://hls.iptv.optimum.net/news12/nipadlive/index_new.m3u8?callsign=N12TW_NJ #EXTINF:-1 tvg-logo="https://i.imgur.com/62ltnfY.png" group-title="USA LOCAL",New Orleans - Fox 8 News http://api.new.livestream.com/accounts/10891792/events/3578864/live.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/DVioDpu.png" group-title="USA LOCAL",New York - FiOS1 News https://cdnapisec.kaltura.com/p/424341/sp/42434100/playManifest/entryId/1_is35xshu/format/applehttp/protocol/https/uiConfId/39790741/a.m3u8?fluxustv.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/YO7qaMo.png" group-title="USA LOCAL",New York - News 12 (Traffic) http://hls.iptv.optimum.net/news12/nipadlive/index_new.m3u8?callsign=N12TW_NYC #EXTINF:-1 tvg-logo="https://i.imgur.com/s0WMDmi.png" group-title="USA LOCAL",New York - News 12+ http://hls.iptv.optimum.net/news12/nipadlive/index_new.m3u8?callsign=N12TW_WC #EXTINF:-1 tvg-logo="https://i.imgur.com/yc2j7MW.png" group-title="USA LOCAL",North Carolina - MyFox8 News http://api.new.livestream.com/accounts/9287016/events/3206504/live.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/TTrg1Rf.png" group-title="USA LOCAL",Omaha -3News Now http://content.uplynk.com/channel/328d1434fb51476cb6567c74d5b2cc70.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/G37a3NG.png" group-title="USA LOCAL",Oregon - Fox 12 News http://api.new.livestream.com/accounts/6908462/events/2706967/live.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/z5xw91r.png" group-title="USA LOCAL",Oregon - News Channel 21 http://api.new.livestream.com/accounts/19128364/events/5285531/live.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/05FdDhc.png" group-title="USA LOCAL",Palm Springs - News Channel 3 http://api.new.livestream.com/accounts/20847880/events/6053226/live.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/izKPQZo.png" group-title="USA LOCAL",Phoenix - Fox 10 News http://api.new.livestream.com/accounts/1859803/events/1648429/live.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/EQPIi0J.png" group-title="USA LOCAL",Pittsburgh - WPXI 11 News http://svc-lvanvato-cxtv-wpxi.cmgvideo.com/wpxi/2564k/index.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/NLPTfgk.png" group-title="USA LOCAL",Sacramento - Fox 40 News http://api.new.livestream.com/accounts/9486720/events/3245377/live.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/ddhH0VN.png" group-title="USA LOCAL",San Diego - Fox 5 News http://api.new.livestream.com/accounts/9263055/events/3189799/live.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/dIpu0v5.png" group-title="USA LOCAL",Seattle - KIRO 7 News http://svc-lvanvato-cxtv-kiro.cmgvideo.com/kiro/1864k/index.m3u8?fluxustv.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/K4YSmkH.jpg" group-title="USA LOCAL",Seattle - KOMO 4 News https://content.uplynk.com/2c88dfe19e1447e6a6aa27e8e143a140.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/7LJxC4I.png" group-title="USA LOCAL",Seattle - Q13 Fox News http://api.new.livestream.com/accounts/9486768/events/3245401/live.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/qIeREW7.png" group-title="USA LOCAL",Toledo - WTOL 11 News http://api.new.livestream.com/accounts/12003465/events/3786544/live.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/t7HFTyE.png" group-title="USA LOCAL",Washington DC - CBS 9 News https://wusa-lh.akamaihd.net/i/WUSA_Breaking_1@98930/master.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/qEx2bMU.png" group-title="USA LOCAL",Washington DC - NBC 4 News https://wrclive-f.akamaihd.net/i/wrcb1_1@46880/master.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/YO7qaMo.png" group-title="USA LOCAL",Westchester - News 12 http://hls.iptv.optimum.net/news12/nipadlive/index_new.m3u8?callsign=N12WH_WESTCHESTER #EXTINF:-1 tvg-logo="https://upload.wikimedia.org/wikipedia/en/0/09/Charge%21_network_logo.png" group-title="USA GEO",Charge! (Geo) https://usgeowall.sinclairstoryline.com/channel/37eb732888614810b512fdd82604244e.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/ZIZZG8v.png" group-title="USA GEO",Comet TV (Geo) http://usgeowall.sinclairstoryline.com/channel/3e45c6b5354a40f787e0b2aadb0f5d6a.m3u8?tc=1&exp=1614631202&rn=2057716804&ct=c&cid=3e45c6b5354a40f787e0b2aadb0f5d6a&ad=comet&repl=aboi&ad.adUnit=%2FCOMET%2FLivestream_midroll&ad._debug=comet_vmap&ad.ad_rule=1&ad.pmad=12&ad.output=xml_vmap1&sig=b2edfb477155d2588a66e0aecdbebff5a23c90a96e55c831def9a1434a51913b #EXTINF:-1 tvg-logo="https://upload.wikimedia.org/wikipedia/en/8/8f/KidsClickLogo.png" group-title="USA GEO",Kids Click (Geo) https://usgeowall.sinclairstoryline.com/channel/1698bf57810a48c486b83d542bca298d.m3u8?tc=1&exp=1614631202&rn=1698140798&ct=c&cid=1698bf57810a48c486b83d542bca298d&repl=aboi&sig=3c0463729cd2ddcb9509c3130849b8737dd917ccbaafaccb832d0ec43cae6db5 #EXTINF:-1 tvg-logo="https://i.imgur.com/Fb3iZnm.png" group-title="CANADA",Assemblee Nationale du Quebec http://diffusionm4.assnat.qc.ca/canal9/250.sdp/playlist.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/eMMoLjS.png" group-title="CANADA",CPAC http://bcoveliveios-i.akamaihd.net/hls/live/248519/1242843915001_1/master.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/eMMoLjS.png" group-title="CANADA",CPAC Francais http://bcoveliveios-i.akamaihd.net/hls/live/248520/1242843915001_2/master.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/kdgMVOI.png" group-title="CANADA",Knowledge Network http://knstream1.azureedge.net/knlive/knlive_high.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/BUiwYlr.png" group-title="CANADA",Space (No Audio) http://pe-ak-lp01a-9c9media.akamaized.net/live/Space/p/hls/00000201/689924a518f2c776/index/2176f3ac/live/stream/h264/v1/3500000/manifest.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/C3LheXq.png" group-title="CANADA",Tele-Quebec https://teleqmmd.mmdlive.lldns.net/teleqmmd/f386e3b206814e1f8c8c1c71c0f8e748/chunklist_b2592000.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/i3lItFB.png" group-title="CANADA",The Shopping Channel http://tscstreaming-lh.akamaihd.net/i/TSCLiveStreaming_1@91031/master.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/CafPtAF.png" group-title="UK",24/7 Super Geek Heroes https://vcnyellowspot.teleosmedia.com/stream/yellowspot/super-geek-heros/seglist_720p.m3u8?fluxustv.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/xOSODRW.png" group-title="UK",African Cinema https://stream.ecable.tv/africancine/tracks-v3a1/mono.m3u8?fluxustv.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/HL7fwzt.png" group-title="UK",Afrobeats https://stream.ecable.tv/afrobeats/tracks-v1a1/mono.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/uxEkyBS.png" group-title="UK",AsSalt TV https://stream.ecable.tv/asstv/tracks-v1a1/mono.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/idRFfhY.png" group-title="UK",Bloomberg Television http://cdn-videos.akamaized.net/btv/desktop/akamai/europe/live/primary.m3u8 #EXTINF:-1 tvg-logo="https://upload.wikimedia.org/wikipedia/commons/thumb/b/be/Box_hits.svg/1280px-Box_hits.svg.png" group-title="UK",Box Hits http://csm-e.tm.yospace.com/csm/extlive/boxplus01,boxhits-desktop.m3u8?yo.up=http%3a%2f%2fboxtv-origin-elb.cds1.yospace.com%2fuploads%2fboxhits%2f #EXTINF:-1 tvg-logo="https://i.imgur.com/LaqgQOX.png" group-title="UK",Box Up Front http://csm-e.tm.yospace.com/csm/extlive/boxplus01,boxupfront-desktop.m3u8?yo.up=http://boxtv-origin-elb.cds1.yospace.com/uploads/boxupfront/ #EXTINF:-1 tvg-logo="https://i.imgur.com/4wbZUfh.png" group-title="UK",CGTN Documentary (Opt-1) http://live.cgtn.com/cctv-d.m3u8?fluxustv.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/4wbZUfh.png" group-title="UK",CGTN Documentary (Opt-2) http://livefr.cgtn.com/1000d/prog_index.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/53EgUZN.png" group-title="UK",CNBC Europe http://ott-cdn.ucom.am/s65/index.m3u8?fluxustv.m3u8 #EXTINF:-1 tvg-logo="https://www.createandcraft.com/gb/common/images/brand-shop/about-us/logo.png" group-title="UK",Create and Craft https://live-craftuk.simplestreamcdn.com/craftuk/3/prog_index.m3u8?fluxustv.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/eD8zkhY.png" group-title="UK",Cruise1st TV https://cdnamd-hls-globecast.akamaized.net/live/ramdisk/cruise_tv/hls_video/index.m3u8?fluxustv.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/zGVnGPv.png" group-title="UK",Dave http://streamingserver001.viewtvgroup.com/kapanglivetv-uksat-dave/tracks-v1a1/playlist.m3u8?fluxustv.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/4qrQOr7.png" group-title="UK",DSport http://jiocgehub.jio.ril.com/Dsports_HD/Dsports_HD.m3u8?fluxustv.m3u8 #EXTINF:-1 tvg-logo="http://ocdn.eu/images/program-tv/NTU7MDA_/e7114237dc0731c7dd660c32d6822432.png" group-title="UK",English Club TV http://ott-cdn.ucom.am/s37/index.m3u8?fluxustv.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/Jh3Ccrn.png" group-title="UK",Filmon 360 https://www.filmon.com/vr-streams/4136.high/playlist.m3u8?fluxustv.m3u8 #EXTINF:-1 tvg-logo="https://upload.wikimedia.org/wikipedia/commons/f/f9/Food_Network_New_Logo.png" group-title="UK",Food Network http://95.86.32.7:999/food #EXTINF:-1 tvg-logo="https://upload.wikimedia.org/wikipedia/commons/thumb/0/0c/FOX_Sports_logo.svg/1280px-FOX_Sports_logo.svg.png" group-title="UK",Fox Sports http://45.58.62.92:8080 #EXTINF:-1 tvg-logo="https://upload.wikimedia.org/wikipedia/en/3/38/Gemporia_tv_in.png" group-title="UK",Gemporia (Opt-1) https://57d6b85685bb8.streamlock.net/abrgemporiaukgfx/livestream_source/chunklist.m3u8 #EXTINF:-1 tvg-logo="https://upload.wikimedia.org/wikipedia/en/3/38/Gemporia_tv_in.png" group-title="UK",Gemporia (Opt-2) http://57d6b85685bb8.streamlock.net:1935/abrgemporiaukgfx/livestream_360p/index.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/CzsBnvf.png" group-title="UK",Horizon Sports https://a.jsrdn.com/broadcast/22705/+0000/hi/c.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/iz3YpQ1.png" group-title="UK",Insight http://jiocgwhub.jio.ril.com/Insight/Insight.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/HKyWKar.png" group-title="UK",Jewellery Maker http://edge01.cdn.aws.subset.host/JewelleryMakerLive/JewelleryMakerLive/playlist.m3u8 #EXTINF:-1 tvg-logo="http://undergroundbass.co.uk/image/koollondon.png" group-title="UK",Kool London Radio http://w10.streamgb.com:1935/kool/kool/playlist.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/XTv8pla.png" group-title="UK",Motorsport TV http://45.58.62.92:8084 #EXTINF:-1 tvg-logo="https://i.imgur.com/h0NNZ2U.png" group-title="UK",Nat Geo Wild (Asia) http://103.199.160.85/Content/insync/Live/Channel(Insync)/index.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/QqLoAs7.png" group-title="UK",Nickelodeon http://ms-azure-video.gslb.startimestv.com/live/NICKELODEON_836_250_320x240_191618/playlist.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/OYHd7FJ.png" group-title="UK",Pick https://streamingserver001.viewtvgroup.com/kapanglivetv-uksat-pick/tracks-v1a1/mono.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/vIQR1Fv.png" group-title="UK",Pop https://streamingserver001.viewtvgroup.com/kapanglivetv-uksat-pop/tracks-v1a1/mono.m3u8?fluxustv.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/FE6M4rs.png" group-title="UK",Primal Living TV https://57d4d8b1e4f4f.streamlock.net/primalcure/livestream/chunklist.m3u8?fluxustv.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/jJhXY0I.png" group-title="UK",QVC http://live.qvcuk.simplestreamcdn.com/live/qvcuk_main_clean/bitrate1.isml/live.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/jJhXY0I.png" group-title="UK",QVC +1 http://llnw.live.qvc.simplestream.com/hera/remote/qvcuk_primary_sdi1/live.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/jJhXY0I.png" group-title="UK",QVC Beauty http://live.qvcuk.simplestreamcdn.com/live/qvcuk_beauty_clean/bitrate1.isml/live.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/jJhXY0I.png" group-title="UK",QVC Style http://live.qvcuk.simplestreamcdn.com/live/qvcuk_style_clean/bitrate1.isml/live.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/jJhXY0I.png" group-title="UK",QVC Extra http://live.qvcuk.simplestreamcdn.com/live/qvcuk_extra_clean/bitrate1.isml/live.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/owjXT3r.png" group-title="UK",Rathergood Radio https://streamingserver001.viewtvgroup.com/kapanglivetv-playout-rathergoodradio/tracks-v5a1/mono.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/oxfXXlb.png" group-title="UK",Reuters http://220.158.149.28:8180/live/TV00000000000000000034@HHZT #EXTINF:-1 tvg-logo="https://i.imgur.com/IlSYKSK.png" group-title="UK",Sheffield Live! 93.2 FM http://tv.sheffieldlive.org/hls/main.m3u8 #EXTINF:-1 tvg-logo="https://upload.wikimedia.org/wikipedia/commons/b/b4/Sky-news-logo.png" group-title="UK",Sky News (Opt-1) http://ax.micaesoft.com/YMitv/YMITV_UK_UKskytv_2.m3u8?fluxustv.m3u8 #EXTINF:-1 tvg-logo="https://upload.wikimedia.org/wikipedia/commons/b/b4/Sky-news-logo.png" group-title="UK",Sky News (Opt-2) http://ax.micaesoft.com/YMitv/YMITV_US_USnasatv_1.m3u8?fluxustv.m3u8 #EXTINF:-1 tvg-logo="https://upload.wikimedia.org/wikipedia/commons/b/b4/Sky-news-logo.png" group-title="UK",Sky News (SD) http://skydvn-nowtv-atv-prod.skydvn.com/atv/skynews/1404/live/04.m3u8 #EXTINF:-1 tvg-logo="https://upload.wikimedia.org/wikipedia/commons/b/b4/Sky-news-logo.png" group-title="UK",Sky News (HD) http://skydvn-nowtv-atv-prod.skydvn.com/atv/skynews/1404/live/05.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/p1kUxTW.png" group-title="UK",Sony Movies Christmas http://streamingserver001.viewtvgroup.com/kapanglivetv-uksat-truemovies/tracks-v1a1/playlist.m3u8?fluxustv.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/noM3Q45.png" group-title="UK",Spotlight TV http://cdn.fs-chf01-03-4ed412cd-27f7-09d8-bb30-72e28dab4eb1.arqiva-ott-live.com/live-audio_track=96000-video=1100000.m3u8?fluxustv.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/8Beeu4z.png" group-title="UK",Sunburn TV https://vcndstv.teleosmedia.com/stream/dstv/sunburn/seglist_720p.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/55vA85a.png" group-title="UK",The Boat Show https://a.jsrdn.com/broadcast/22706/+0000/hi/c.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/gPaTIUd.png" group-title="UK",The Box http://csm-e.tm.yospace.com/csm/extlive/boxplus01,thebox-desktop.m3u8?yo.up=http://boxtv-origin-elb.cds1.yospace.com/uploads/thebox/ #EXTINF:-1 tvg-logo="https://i.imgur.com/YyXGOYy.png" group-title="UK",The Jewellery Channel https://live-tjc.simplestreamcdn.com/tjc_sdi1/2/prog_index.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/YKI00DM.png" group-title="UK",Vintage Music https://streamingserver002.viewtvgroup.com/kapanglivetv-playout-vintagemusictv/tracks-v1a1/mono.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/f2YA7mD.png" group-title="UK",VoxAfrica UK http://109.231.229.37:3401/voxafuk/voxafhlsout/chunklist_w985073329.m3u8?fluxustv.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/oitvOug.png" group-title="UK",World of Free Sports https://a.jsrdn.com/broadcast/22723/+0000/hi/c.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/TB3jwQO.png" group-title="IRELAND",RTE Jr. https://cdn.rasset.ie/hls-live/_definst_/rtejr/rtejr-576.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/SMvAjyK.png" group-title="IRELAND",TG4 http://csm-e.cds1.yospace.com/csm/live/74246610.m3u8 #EXTINF:-1 tvg-logo="https://upload.wikimedia.org/wikipedia/en/thumb/7/72/3AW693logo.svg/1200px-3AW693logo.svg.png" group-title="AUSTRALIA",3AW 693 AM Melbourne http://melb3awvid-lh.akamaihd.net/i/melbournevid_1@109381/master.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/V3GCQ5a.png" group-title="AUSTRALIA",4BC 1116 AM Brisbane http://bris4bcvid-lh.akamaihd.net/i/brisbanebcvida_1@110989/master.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/ZeC0jE4.png" group-title="AUSTRALIA",Australia Channel https://austchannel-live.akamaized.net/hls/live/2002729/austchannel-news/master1280x720.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/idRFfhY.png" group-title="AUSTRALIA",Bloomberg Television https://liveprodapnortheast.global.ssl.fastly.net/btv/desktop/aus_live.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/h4PmdaN.png" group-title="AUSTRALIA",C31 Melbourne https://dcunilive47-lh.akamaihd.net/i/dclive_1@739220/master.m3u8?fluxustv.m3u8 #EXTINF:-1 tvg-logo="https://upload.wikimedia.org/wikipedia/en/f/ff/Expo_2015_logo.png" group-title="AUSTRALIA",Expo Channel http://tvsn-i.akamaihd.net/hls/live/261837/expo/expo_750.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/vLdszKt.png" group-title="AUSTRALIA",Fox Sports News https://austchannel-live.akamaized.net/hls/live/2002736/austchannel-sport/master1280x720.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/AaXbz6o.png" group-title="AUSTRALIA",Macquarie Sports Radio http://syd2uevid-lh.akamaihd.net/i/sydneyuevid_1@110994/index_500_av-p.m3u8 #EXTINF:-1 tvg-logo="https://upload.wikimedia.org/wikipedia/en/thumb/3/3e/RACING.COM_logo_2016.svg/1200px-RACING.COM_logo_2016.svg.png" group-title="AUSTRALIA",Racing.com https://racingvic-i.akamaized.net/hls/live/598695/racingvic/628.m3u8?fluxustv.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/gRrfqSb.png" group-title="AUSTRALIA",Rainbow TV Chinese http://rtvcdn.com.au:8082/TV_GG.m3u8 #EXTINF:-1 tvg-logo="https://www.foxtel.com.au/content/dam/foxtel/watch/news/sky-news-extra-colour.PNG" group-title="AUSTRALIA",Sky News Extra 1 https://skynewsau-live.akamaized.net/hls/live/2002689/skynewsau-extra1/master.m3u8 #EXTINF:-1 tvg-logo="https://www.foxtel.com.au/content/dam/foxtel/watch/news/sky-news-extra-colour.PNG" group-title="AUSTRALIA",Sky News Extra 2 https://skynewsau-live.akamaized.net/hls/live/2002690/skynewsau-extra2/master.m3u8 #EXTINF:-1 tvg-logo="https://www.foxtel.com.au/content/dam/foxtel/watch/news/sky-news-extra-colour.PNG" group-title="AUSTRALIA",Sky News Extra 3 https://skynewsau-live.akamaized.net/hls/live/2002691/skynewsau-extra3/master.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/cNW54Mp.png" group-title="NEW ZEALAND",Maori TV (Opt-1) http://i.mjh.nz/nz/tv.13.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/cNW54Mp.png" group-title="NEW ZEALAND",Maori TV (Opt-2) https://bcsecurelivehls-i.akamaihd.net//hls/live/720612/1614493167001_1/master_iPad1080p.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/VKc7BLC.png" group-title="NEW ZEALAND",Parliament TV (Opt-1) http://streaming.kordia.net.nz/out/u/house_captionsVideo3.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/VKc7BLC.png" group-title="NEW ZEALAND",Parliament TV (Opt-2) http://streaming.kordia.net.nz/out/u/ptv_houseaudio.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/yrJVHTd.png" group-title="NEW ZEALAND",Te Reo http://i.mjh.nz/nz/tv.20.m3u8 #EXTINF:-1 tvg-logo="https://upload.wikimedia.org/wikipedia/en/5/5f/Three_NZ_TV.png" group-title="NEW ZEALAND",Three http://mediaworks-i.akamaihd.net/hls/live/220435/3812193411001/3news_live/master.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/jflyqMm.png" group-title="NEW ZEALAND",TVSN http://tvsn-i.akamaihd.net/hls/live/261837/tvsn_nz/tvsn_nz_750.m3u8 #EXTINF:-1 tvg-logo="https://i.imgur.com/qwGFZKE.png" group-title="NEW ZEALAND",Wairarapa TV http://stream.wairarapatv.co.nz/Cellular_High/playlist.m3u8