{-# LANGUAGE     OverloadedStrings       #-}


{- |
Country flags (only Europe at this moment) and the European Union flag.

All flags are built on a @viewbox "0 0 w h"@ 
where @w@ and @h@ are particular to each flag (according to official ratios)

Flags are named with the 2-letter ISO code of each country, with very few exceptions, 
named with the 3-letter ISO code to avoid name collision with some HTML or `Attribute` functions 
like `hr` or `cy`.
-}
module SvgIcons.Images.CountryFlags where

import           Text.Blaze.Svg11 ((!))
import           Text.Blaze.Svg11 as S
import           Text.Blaze.Svg11.Attributes as A

import SvgIcons.Core.Geometry
import SvgIcons.Core.Utils
import SvgIcons.Images.CountryFlagsCoAs


{- |
A list with all the flags of this module, 
together with appropriate names.

>countryFlags :: [ (String , S.Svg) ]
>countryFlags =
>  [ (,) "ad" ad
>  , (,) "af" af
>  , (,) "al" al
>  , (,) "at" at
>  , (,) "ba" ba
>  , (,) "be" be
>  , (,) "bf" bf
>  , (,) "bg" bg
>  , (,) "bj" bj
>  , (,) "by" blr
>  , (,) "cd" cd
>  , (,) "cf" cf
>  , (,) "cg" cg
>  , (,) "ch" ch
>  , (,) "ci" ci
>  , (,) "cm" cm
>  , (,) "cv" cv
>  , (,) "cy" cyp
>  , (,) "cz" cz
>  , (,) "de" de
>  , (,) "dj" dj
>  , (,) "dk" dk
>  , (,) "dz" dz
>  , (,) "ee" ee
>  , (,) "eg" eg
>  , (,) "er" er
>  , (,) "es" es
>  , (,) "et" et
>  , (,) "eu" eu
>  , (,) "fi" fi
>  , (,) "fr" fr
>  , (,) "ga" ga
>  , (,) "gh" gh
>  , (,) "gm" gm
>  , (,) "gn" gn
>  , (,) "gq" gq
>  , (,) "gr" gr
>  , (,) "gw" gw
>  , (,) "hr" hrv
>  , (,) "ie" ie
>  , (,) "is" is
>  , (,) "it" it
>  , (,) "li" li
>  , (,) "lr" lbr
>  , (,) "lt" lt
>  , (,) "lu" lu
>  , (,) "lv" lv
>  , (,) "ly" ly
>  , (,) "ma" ma
>  , (,) "mc" mc
>  , (,) "md" md
>  , (,) "me" me
>  , (,) "mk" mk
>  , (,) "ml" ml
>  , (,) "mr" mrt
>  , (,) "mt" mt
>  , (,) "ne" ne
>  , (,) "ng" ng
>  , (,) "nl" nl
>  , (,) "no" no
>  , (,) "pl" pl
>  , (,) "pt" pt
>  , (,) "ro" ro
>  , (,) "rs" rs
>  , (,) "ru" ru
>  , (,) "sd" sd
>  , (,) "se" se
>  , (,) "si" si
>  , (,) "sk" sk
>  , (,) "sl" sl
>  , (,) "sm" sm
>  , (,) "sn" sn
>  , (,) "so" so
>  , (,) "ss" ss
>  , (,) "st" st
>  , (,) "td" td
>  , (,) "tg" tg
>  , (,) "tn" tn
>  , (,) "ua" ua
>  , (,) "ug" ug
>  , (,) "uk" uk
>  , (,) "va" va
>  , (,) "xk" xk
>  ]
-}
countryFlags :: [ (String , S.Svg) ]
countryFlags :: [([Char], Svg)]
countryFlags =
  [ (,) [Char]
"ad" Svg
ad
  , (,) [Char]
"af" Svg
af
  , (,) [Char]
"al" Svg
al
  , (,) [Char]
"at" Svg
at
  , (,) [Char]
"ba" Svg
ba
  , (,) [Char]
"be" Svg
be
  , (,) [Char]
"bf" Svg
bf
  , (,) [Char]
"bg" Svg
bg
  , (,) [Char]
"bj" Svg
bj
  , (,) [Char]
"by" Svg
blr
  , (,) [Char]
"cd" Svg
cd
  , (,) [Char]
"cf" Svg
cf
  , (,) [Char]
"cg" Svg
cg
  , (,) [Char]
"ch" Svg
ch
  , (,) [Char]
"ci" Svg
ci
  , (,) [Char]
"cm" Svg
cm
  , (,) [Char]
"cv" Svg
cv
  , (,) [Char]
"cy" Svg
cyp
  , (,) [Char]
"cz" Svg
cz
  , (,) [Char]
"de" Svg
de
  , (,) [Char]
"dj" Svg
dj
  , (,) [Char]
"dk" Svg
dk
  , (,) [Char]
"dz" Svg
dz
  , (,) [Char]
"ee" Svg
ee
  , (,) [Char]
"eg" Svg
eg
  , (,) [Char]
"er" Svg
er
  , (,) [Char]
"es" Svg
es
  , (,) [Char]
"et" Svg
et
  , (,) [Char]
"eu" Svg
eu
  , (,) [Char]
"fi" Svg
fi
  , (,) [Char]
"fr" Svg
fr
  , (,) [Char]
"ga" Svg
ga
  , (,) [Char]
"gh" Svg
gh
  , (,) [Char]
"gm" Svg
gm
  , (,) [Char]
"gn" Svg
gn
  , (,) [Char]
"gq" Svg
gq
  , (,) [Char]
"gr" Svg
gr
  , (,) [Char]
"gw" Svg
gw
  , (,) [Char]
"hr" Svg
hrv
  , (,) [Char]
"ie" Svg
ie
  , (,) [Char]
"is" Svg
is
  , (,) [Char]
"it" Svg
it
  , (,) [Char]
"li" Svg
li
  , (,) [Char]
"lr" Svg
lbr
  , (,) [Char]
"lt" Svg
lt
  , (,) [Char]
"lu" Svg
lu
  , (,) [Char]
"lv" Svg
lv
  , (,) [Char]
"ly" Svg
ly
  , (,) [Char]
"ma" Svg
ma
  , (,) [Char]
"mc" Svg
mc
  , (,) [Char]
"md" Svg
md
  , (,) [Char]
"me" Svg
me
  , (,) [Char]
"mk" Svg
mk
  , (,) [Char]
"ml" Svg
ml
  , (,) [Char]
"mr" Svg
mrt
  , (,) [Char]
"mt" Svg
mt
  , (,) [Char]
"ne" Svg
ne
  , (,) [Char]
"ng" Svg
ng
  , (,) [Char]
"nl" Svg
nl
  , (,) [Char]
"no" Svg
no
  , (,) [Char]
"pl" Svg
pl
  , (,) [Char]
"pt" Svg
pt
  , (,) [Char]
"ro" Svg
ro
  , (,) [Char]
"rs" Svg
rs
  , (,) [Char]
"ru" Svg
ru
  , (,) [Char]
"sd" Svg
sd
  , (,) [Char]
"se" Svg
se
  , (,) [Char]
"si" Svg
si
  , (,) [Char]
"sk" Svg
sk
  , (,) [Char]
"sl" Svg
sl
  , (,) [Char]
"sm" Svg
sm
  , (,) [Char]
"sn" Svg
sn
  , (,) [Char]
"so" Svg
so
  , (,) [Char]
"ss" Svg
ss
  , (,) [Char]
"st" Svg
st
  , (,) [Char]
"td" Svg
td
  , (,) [Char]
"tg" Svg
tg
  , (,) [Char]
"tn" Svg
tn
  , (,) [Char]
"ua" Svg
ua
  , (,) [Char]
"ug" Svg
ug
  , (,) [Char]
"uk" Svg
uk
  , (,) [Char]
"va" Svg
va
  , (,) [Char]
"xk" Svg
xk
  ]



{- |
Handy function to draw a flag with 3 vertical stripes of the same size.
-}
flagV3Eq 
  :: (Float,Float) -- ^ @w@ and @h@ parameters for the viewbox

  -> String        -- ^ color for the left stripe

  -> String        -- ^ color for the central stripe

  -> String        -- ^ color for the right stripe

  -> Svg           -- ^ resulting flag

flagV3Eq :: (Float, Float) -> [Char] -> [Char] -> [Char] -> Svg
flagV3Eq (Float
w,Float
h) [Char]
c1 [Char]
c2 [Char]
c3 =
    Svg -> Svg
S.svg
      (Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.viewbox ([Char] -> AttributeValue
forall a. ToValue a => a -> AttributeValue
S.toValue ([Char] -> AttributeValue) -> [Char] -> AttributeValue
forall a b. (a -> b) -> a -> b
$ [Char]
"0 0 " [Char] -> [Char] -> [Char]
forall a. [a] -> [a] -> [a]
++ Float -> [Char]
forall a. Show a => a -> [Char]
show Float
w [Char] -> [Char] -> [Char]
forall a. [a] -> [a] -> [a]
++ [Char]
" " [Char] -> [Char] -> [Char]
forall a. [a] -> [a] -> [a]
++ Float -> [Char]
forall a. Show a => a -> [Char]
show Float
h)
      (Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.width  (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
300)
      (Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.height (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
300Float -> Float -> Float
forall a. Num a => a -> a -> a
*Float
hFloat -> Float -> Float
forall a. Fractional a => a -> a -> a
/Float
w)
      (Svg -> Svg) -> Svg -> Svg
forall a b. (a -> b) -> a -> b
$ do
        Svg
leftStripe
        Svg
centralStripe
        Svg
rightStripe
  where
    leftStripe :: Svg
leftStripe =
      Svg
S.rect
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.x (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
0)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.y (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
0)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.width  (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
wFloat -> Float -> Float
forall a. Fractional a => a -> a -> a
/Float
3)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.height (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
h)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.stroke AttributeValue
"none"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill ([Char] -> AttributeValue
forall a. ToValue a => a -> AttributeValue
S.toValue [Char]
c1)
    centralStripe :: Svg
centralStripe =
      Svg
S.rect
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.x (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
wFloat -> Float -> Float
forall a. Fractional a => a -> a -> a
/Float
3)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.y (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
0)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.width  (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
wFloat -> Float -> Float
forall a. Fractional a => a -> a -> a
/Float
3)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.height (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
h)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.stroke AttributeValue
"none"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill ([Char] -> AttributeValue
forall a. ToValue a => a -> AttributeValue
S.toValue [Char]
c2)
    rightStripe :: Svg
rightStripe = 
      Svg
S.rect
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.x (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
2Float -> Float -> Float
forall a. Num a => a -> a -> a
*Float
wFloat -> Float -> Float
forall a. Fractional a => a -> a -> a
/Float
3)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.y (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
0)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.width  (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
wFloat -> Float -> Float
forall a. Fractional a => a -> a -> a
/Float
3)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.height (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
h)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.stroke AttributeValue
"none"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill ([Char] -> AttributeValue
forall a. ToValue a => a -> AttributeValue
S.toValue [Char]
c3)



{- |
Handy function to draw a flag with 3 horizontal stripes of the same size.
-}
flagH3Eq
  :: (Float,Float) -- ^ @w@ and @h@ parameters for the viewbox

  -> String        -- ^ color for the top stripe

  -> String        -- ^ color for the central stripe

  -> String        -- ^ color for the bottom stripe

  -> Svg           -- ^ resulting flag

flagH3Eq :: (Float, Float) -> [Char] -> [Char] -> [Char] -> Svg
flagH3Eq (Float
w,Float
h) [Char]
c1 [Char]
c2 [Char]
c3 =
    Svg -> Svg
S.svg
      (Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.viewbox ([Char] -> AttributeValue
forall a. ToValue a => a -> AttributeValue
S.toValue ([Char] -> AttributeValue) -> [Char] -> AttributeValue
forall a b. (a -> b) -> a -> b
$ [Char]
"0 0 " [Char] -> [Char] -> [Char]
forall a. [a] -> [a] -> [a]
++ Float -> [Char]
forall a. Show a => a -> [Char]
show Float
w [Char] -> [Char] -> [Char]
forall a. [a] -> [a] -> [a]
++ [Char]
" " [Char] -> [Char] -> [Char]
forall a. [a] -> [a] -> [a]
++ Float -> [Char]
forall a. Show a => a -> [Char]
show Float
h)
      (Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.width  (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
300)
      (Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.height (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
300Float -> Float -> Float
forall a. Num a => a -> a -> a
*Float
hFloat -> Float -> Float
forall a. Fractional a => a -> a -> a
/Float
w)
      (Svg -> Svg) -> Svg -> Svg
forall a b. (a -> b) -> a -> b
$ do
        Svg
topStripe
        Svg
midStripe
        Svg
botStripe
  where
    topStripe :: Svg
topStripe =
      Svg
S.rect
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.x (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
0)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.y (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
0)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.width  (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
w)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.height (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
hFloat -> Float -> Float
forall a. Fractional a => a -> a -> a
/Float
3)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.stroke AttributeValue
"none"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill ([Char] -> AttributeValue
forall a. ToValue a => a -> AttributeValue
S.toValue [Char]
c1)
    midStripe :: Svg
midStripe =
      Svg
S.rect
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.x (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
0)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.y (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
hFloat -> Float -> Float
forall a. Fractional a => a -> a -> a
/Float
3)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.width  (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
w)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.height (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
hFloat -> Float -> Float
forall a. Fractional a => a -> a -> a
/Float
3)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.stroke AttributeValue
"none"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill ([Char] -> AttributeValue
forall a. ToValue a => a -> AttributeValue
S.toValue [Char]
c2)
    botStripe :: Svg
botStripe =
      Svg
S.rect
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.x (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
0)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.y (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
2Float -> Float -> Float
forall a. Num a => a -> a -> a
*Float
hFloat -> Float -> Float
forall a. Fractional a => a -> a -> a
/Float
3)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.width  (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
w)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.height (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
hFloat -> Float -> Float
forall a. Fractional a => a -> a -> a
/Float
3)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.stroke AttributeValue
"none"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill ([Char] -> AttributeValue
forall a. ToValue a => a -> AttributeValue
S.toValue [Char]
c3)


--------------------------------------------------------------------------------


{- |
Flag of Andorra

![flag of Andorra](https://raw.githubusercontent.com/RamiroPastor/SvgIcons/main/svg/images/countryFlags/ad.svg)
-}
ad :: Svg
 = 
    Svg -> Svg
S.svg
      (Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.viewbox AttributeValue
"0 0 1000 700"
      (Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.width  AttributeValue
"300"
      (Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.height AttributeValue
"210"
      (Svg -> Svg) -> Svg -> Svg
forall a b. (a -> b) -> a -> b
$ do
        Svg
leftStripe
        Svg
centreStripe
        Svg
rightStripe
        Svg
adCoA
  where
    leftStripe :: Svg
leftStripe =
      Svg
S.rect
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.x (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
0)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.y (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
0)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.width  (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
320)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.height (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
700)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.stroke AttributeValue
"none"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"#10069F"
    centreStripe :: Svg
centreStripe =
      Svg
S.rect
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.x (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
320)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.y (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
0)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.width  (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
360)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.height (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
700)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.stroke AttributeValue
"none"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"#FEDD00"
    rightStripe :: Svg
rightStripe =
      Svg
S.rect
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.x (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
680)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.y (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
0)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.width  (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
320)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.height (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
700)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.stroke AttributeValue
"none"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"#D50032"



{- |
Flag of Afghanistan

![flag of Afghanistan](https://raw.githubusercontent.com/RamiroPastor/SvgIcons/main/svg/images/countryFlags/af.svg)
-}
af :: Svg
af :: Svg
af =
  (Float, Float) -> [Char] -> [Char] -> [Char] -> Svg
flagV3Eq
    (Float
3,Float
2)
    [Char]
"rgb(0,0,0)"
    [Char]
"rgb(190,0,0)"
    [Char]
"rgb(0,122,54)"



{- |
Flag of Albania

![flag of Albania](https://raw.githubusercontent.com/RamiroPastor/SvgIcons/main/svg/images/countryFlags/al.svg)
-}
al :: Svg
al :: Svg
al =
    Svg -> Svg
S.svg
      (Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.viewbox AttributeValue
"0 0 980 700"
      (Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.width  AttributeValue
"300"
      (Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.height AttributeValue
"214.285"
      (Svg -> Svg) -> Svg -> Svg
forall a b. (a -> b) -> a -> b
$ do
        Svg
background
        Svg
alCoA
  where
    background :: Svg
background =
      Svg
S.rect
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.x (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
0)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.y (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
0)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.width  (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
980)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.height (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
700)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.stroke AttributeValue
"none"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"#FF0000"



{- |
Flag of Austria

![flag of Austria](https://raw.githubusercontent.com/RamiroPastor/SvgIcons/main/svg/images/countryFlags/at.svg)
-}
at :: Svg
at :: Svg
at = 
  (Float, Float) -> [Char] -> [Char] -> [Char] -> Svg
flagH3Eq
    (Float
3,Float
2)
    [Char]
"#C8102E"
    [Char]
"#FFFFFF"
    [Char]
"#C8102E"



{- |
Flag of Bosnia and Herzegovina

![flag of Bosnia and Herzegovina](https://raw.githubusercontent.com/RamiroPastor/SvgIcons/main/svg/images/countryFlags/ba.svg)
-}
ba :: Svg
ba :: Svg
ba = 
    Svg -> Svg
S.svg
      (Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.viewbox AttributeValue
"0 0 400 200"
      (Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.width  AttributeValue
"300"
      (Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.height AttributeValue
"150"
      (Svg -> Svg) -> Svg -> Svg
forall a b. (a -> b) -> a -> b
$ do
        Svg -> Svg
defs (Svg -> Svg) -> Svg -> Svg
forall a b. (a -> b) -> a -> b
$ 
          Svg
starDef
        Svg
background
        Svg
triangle
        Svg -> Svg
S.g (Svg -> Svg) -> Svg -> Svg
forall a b. (a -> b) -> a -> b
$ do
          Svg
star
          Svg
star Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.transform (Integer -> Integer -> AttributeValue
forall a. Show a => a -> a -> AttributeValue
translate  Integer
25  Integer
25)
          Svg
star Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.transform (Integer -> Integer -> AttributeValue
forall a. Show a => a -> a -> AttributeValue
translate  Integer
50  Integer
50)
          Svg
star Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.transform (Integer -> Integer -> AttributeValue
forall a. Show a => a -> a -> AttributeValue
translate  Integer
75  Integer
75)
          Svg
star Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.transform (Integer -> Integer -> AttributeValue
forall a. Show a => a -> a -> AttributeValue
translate Integer
100 Integer
100)
          Svg
star Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.transform (Integer -> Integer -> AttributeValue
forall a. Show a => a -> a -> AttributeValue
translate Integer
125 Integer
125)
          Svg
star Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.transform (Integer -> Integer -> AttributeValue
forall a. Show a => a -> a -> AttributeValue
translate Integer
150 Integer
150)
          Svg
star Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.transform (Integer -> Integer -> AttributeValue
forall a. Show a => a -> a -> AttributeValue
translate Integer
175 Integer
175)
          Svg
star Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.transform (Integer -> Integer -> AttributeValue
forall a. Show a => a -> a -> AttributeValue
translate Integer
200 Integer
200)
  where
    background :: Svg
background =
      Svg
S.rect
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.x (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
0)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.y (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
0)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.width  (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
400)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.height (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
200)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.stroke AttributeValue
"none"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"#001489"
    triangle :: Svg
triangle =
      Svg
S.path
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"#FFCD00"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.stroke AttributeValue
"none"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.strokeWidth AttributeValue
"0"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.d AttributeValue
triangleDirs
    triangleDirs :: AttributeValue
triangleDirs = Path -> AttributeValue
mkPath (Path -> AttributeValue) -> Path -> AttributeValue
forall a b. (a -> b) -> a -> b
$ do
      Integer -> Integer -> Path
forall a. Show a => a -> a -> Path
m   Integer
106    Integer
0
      Integer -> Integer -> Path
forall a. Show a => a -> a -> Path
l   Integer
306    Integer
0
      Integer -> Integer -> Path
forall a. Show a => a -> a -> Path
l   Integer
306  Integer
200
      Path
S.z
    a :: Float
a = (Float
19 Float -> Float -> Float
forall a. Num a => a -> a -> a
* (Float -> Float
forall a. Floating a => a -> a
sqrt Float
5) Float -> Float -> Float
forall a. Num a => a -> a -> a
- Float
38) Float -> Float -> Float
forall a. Fractional a => a -> a -> a
/ Float
2
    starDef :: Svg
starDef =
      Int -> Float -> (Float, Float) -> Svg
starRegular Int
5 Float
19 (Float
68,-Float
a)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"#FFFFFF"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.strokeWidth AttributeValue
"0"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.id_ AttributeValue
"HaskellSvgIcons-baFlagStar"
    star :: Svg
star =
      Svg
S.use 
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"#FFFFFF"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.xlinkHref AttributeValue
"#HaskellSvgIcons-baFlagStar"



{- |
Flag of Belgium

![flag of Belgium](https://raw.githubusercontent.com/RamiroPastor/SvgIcons/main/svg/images/countryFlags/be.svg)
-}
be :: Svg
be :: Svg
be =
  (Float, Float) -> [Char] -> [Char] -> [Char] -> Svg
flagV3Eq
    (Float
3,Float
2.6)
    [Char]
"#000000"
    [Char]
"#FFE936"
    [Char]
"#FF0F21"



{- |
Flag of Burkina Faso

![flag of Burkina Faso](https://raw.githubusercontent.com/RamiroPastor/SvgIcons/main/svg/images/countryFlags/bf.svg)
-}
bf :: Svg
bf :: Svg
bf =
    Svg -> Svg
S.svg
      (Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.viewbox AttributeValue
"0 0 18 12"
      (Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.width  AttributeValue
"300"
      (Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.height AttributeValue
"200"
      (Svg -> Svg) -> Svg -> Svg
forall a b. (a -> b) -> a -> b
$ do
        Svg
topBand
        Svg
botBand
        Svg
star
  where
    topBand :: Svg
topBand =
      Svg
S.rect
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.x AttributeValue
"0"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.y AttributeValue
"0"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.width  AttributeValue
"18"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.height AttributeValue
"6"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"#EF2B2D"
    botBand :: Svg
botBand =
      Svg
S.rect
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.x AttributeValue
"0"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.y AttributeValue
"6"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.width  AttributeValue
"18"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.height AttributeValue
"6"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"#009E49"
    star :: Svg
star =
      Int -> Float -> (Float, Float) -> Svg
starRegular Int
5 Float
2 (Float
9,Float
6)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"#FCD116"




{- |
Flag of Bulgaria

![flag of Bulgaria](https://raw.githubusercontent.com/RamiroPastor/SvgIcons/main/svg/images/countryFlags/bg.svg)
-}
bg :: Svg
bg :: Svg
bg =
  (Float, Float) -> [Char] -> [Char] -> [Char] -> Svg
flagH3Eq
    (Float
5,Float
3)
    [Char]
"#FFFFFF"
    [Char]
"#009B74"
    [Char]
"#D01C1F"



{- |
Flag of Benin

![flag of Benin](https://raw.githubusercontent.com/RamiroPastor/SvgIcons/main/svg/images/countryFlags/bj.svg)
-}
bj :: Svg
bj :: Svg
bj =
    Svg -> Svg
S.svg
      (Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.viewbox AttributeValue
"0 0 300 200"
      (Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.width  AttributeValue
"300"
      (Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.height AttributeValue
"200"
      (Svg -> Svg) -> Svg -> Svg
forall a b. (a -> b) -> a -> b
$ do
        Svg
topBand
        Svg
botBand
        Svg
leftStripe
  where
    topBand :: Svg
topBand =
      Svg
S.rect
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.x AttributeValue
"0"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.y AttributeValue
"0"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.width  AttributeValue
"300"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.height AttributeValue
"100"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"#FCD20F"
    botBand :: Svg
botBand =
      Svg
S.rect
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.x AttributeValue
"0"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.y AttributeValue
"100"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.width  AttributeValue
"300"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.height AttributeValue
"100"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"#E90929"
    leftStripe :: Svg
leftStripe =
      Svg
S.rect
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.x AttributeValue
"0"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.y AttributeValue
"0"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.width  AttributeValue
"120"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.height AttributeValue
"200"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"#008850"



{- |
Flag of Belarus

![flag of Belarus](https://raw.githubusercontent.com/RamiroPastor/SvgIcons/main/svg/images/countryFlags/by.svg)
-}
blr :: Svg
blr :: Svg
blr = 
    Svg -> Svg
S.svg
      (Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.viewbox AttributeValue
"0 0 90 45"
      (Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.width  AttributeValue
"300"
      (Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.height AttributeValue
"150"
      (Svg -> Svg) -> Svg -> Svg
forall a b. (a -> b) -> a -> b
$ do
        Svg
topStripe
        Svg
botStripe
        Svg
whiteStripe
        Svg
ruchnik
  where
    topStripe :: Svg
topStripe =
      Svg
S.rect
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.x (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
10)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.y (AttributeValue -> Attribute) -> Float -> Attribute
.:  Float
0)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.width  (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
80)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.height (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
30)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.stroke AttributeValue
"none"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"#CF101A"
    botStripe :: Svg
botStripe =
      Svg
S.rect
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.x (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
10)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.y (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
30)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.width  (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
80)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.height (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
15)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.stroke AttributeValue
"none"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"#007D2C"
    whiteStripe :: Svg
whiteStripe =
      Svg
S.rect
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.x (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
1)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.y (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
0)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.width  (AttributeValue -> Attribute) -> Float -> Attribute
.:  Float
9)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.height (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
45)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.stroke AttributeValue
"none"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"#FFFFFF"
    ruchnikMatrix :: [[Integer]]
ruchnikMatrix =
      [ [Integer
0,Integer
0,Integer
0,Integer
0,Integer
1,Integer
1,Integer
1,Integer
0,Integer
0,Integer
0,Integer
0,Integer
1]
      , [Integer
1,Integer
0,Integer
0,Integer
1,Integer
1,Integer
1,Integer
1,Integer
1,Integer
0,Integer
0,Integer
0,Integer
1]
      , [Integer
0,Integer
0,Integer
1,Integer
1,Integer
1,Integer
0,Integer
1,Integer
1,Integer
1,Integer
0,Integer
0,Integer
0]
      , [Integer
0,Integer
1,Integer
1,Integer
1,Integer
0,Integer
0,Integer
0,Integer
1,Integer
1,Integer
1,Integer
0,Integer
0]
      , [Integer
1,Integer
1,Integer
1,Integer
0,Integer
0,Integer
1,Integer
0,Integer
0,Integer
1,Integer
1,Integer
1,Integer
0] -- center 1

      , [Integer
0,Integer
1,Integer
1,Integer
1,Integer
0,Integer
0,Integer
0,Integer
1,Integer
1,Integer
1,Integer
0,Integer
0]
      , [Integer
0,Integer
0,Integer
1,Integer
1,Integer
1,Integer
0,Integer
1,Integer
1,Integer
1,Integer
0,Integer
0,Integer
0]
      , [Integer
1,Integer
0,Integer
0,Integer
1,Integer
1,Integer
1,Integer
1,Integer
1,Integer
0,Integer
0,Integer
0,Integer
1]
      , [Integer
0,Integer
0,Integer
0,Integer
0,Integer
1,Integer
1,Integer
1,Integer
0,Integer
0,Integer
0,Integer
0,Integer
1]
      , [Integer
0,Integer
0,Integer
1,Integer
0,Integer
0,Integer
1,Integer
0,Integer
0,Integer
1,Integer
0,Integer
0,Integer
0]
      , [Integer
0,Integer
1,Integer
1,Integer
1,Integer
0,Integer
0,Integer
0,Integer
1,Integer
1,Integer
1,Integer
0,Integer
0]
      , [Integer
1,Integer
1,Integer
0,Integer
1,Integer
1,Integer
0,Integer
1,Integer
1,Integer
0,Integer
1,Integer
1,Integer
0] -- center 2

      , [Integer
0,Integer
1,Integer
1,Integer
1,Integer
0,Integer
0,Integer
0,Integer
1,Integer
1,Integer
1,Integer
0,Integer
0]
      , [Integer
0,Integer
0,Integer
1,Integer
0,Integer
0,Integer
1,Integer
0,Integer
0,Integer
1,Integer
0,Integer
0,Integer
0]
      , [Integer
0,Integer
0,Integer
0,Integer
0,Integer
1,Integer
1,Integer
1,Integer
0,Integer
0,Integer
0,Integer
0,Integer
1]
      , [Integer
1,Integer
0,Integer
0,Integer
1,Integer
1,Integer
1,Integer
1,Integer
1,Integer
0,Integer
0,Integer
0,Integer
1]
      , [Integer
0,Integer
0,Integer
1,Integer
1,Integer
1,Integer
1,Integer
1,Integer
1,Integer
1,Integer
0,Integer
0,Integer
0]
      , [Integer
0,Integer
1,Integer
1,Integer
1,Integer
1,Integer
1,Integer
1,Integer
1,Integer
1,Integer
1,Integer
0,Integer
0]
      , [Integer
1,Integer
1,Integer
1,Integer
1,Integer
1,Integer
1,Integer
1,Integer
1,Integer
1,Integer
1,Integer
1,Integer
0]
      , [Integer
1,Integer
1,Integer
1,Integer
1,Integer
0,Integer
0,Integer
0,Integer
1,Integer
1,Integer
1,Integer
1,Integer
1] -- center 3

      , [Integer
0,Integer
1,Integer
1,Integer
1,Integer
1,Integer
1,Integer
0,Integer
0,Integer
1,Integer
1,Integer
1,Integer
1]
      , [Integer
0,Integer
0,Integer
1,Integer
1,Integer
1,Integer
0,Integer
0,Integer
0,Integer
0,Integer
1,Integer
1,Integer
1]
      , [Integer
1,Integer
0,Integer
0,Integer
1,Integer
0,Integer
0,Integer
0,Integer
0,Integer
1,Integer
1,Integer
1,Integer
1]
      , [Integer
0,Integer
0,Integer
0,Integer
0,Integer
0,Integer
0,Integer
0,Integer
1,Integer
1,Integer
1,Integer
1,Integer
0]
      , [Integer
1,Integer
0,Integer
0,Integer
0,Integer
0,Integer
0,Integer
1,Integer
1,Integer
1,Integer
1,Integer
0,Integer
0]
      , [Integer
1,Integer
1,Integer
0,Integer
0,Integer
0,Integer
1,Integer
1,Integer
1,Integer
1,Integer
0,Integer
0,Integer
1]
      , [Integer
1,Integer
1,Integer
1,Integer
0,Integer
1,Integer
1,Integer
1,Integer
1,Integer
0,Integer
0,Integer
0,Integer
0]
      , [Integer
0,Integer
1,Integer
1,Integer
1,Integer
1,Integer
1,Integer
1,Integer
0,Integer
0,Integer
1,Integer
0,Integer
0]
      , [Integer
0,Integer
0,Integer
1,Integer
1,Integer
1,Integer
1,Integer
0,Integer
0,Integer
0,Integer
1,Integer
1,Integer
0]
      , [Integer
0,Integer
0,Integer
0,Integer
1,Integer
1,Integer
1,Integer
0,Integer
0,Integer
0,Integer
0,Integer
1,Integer
1]
      , [Integer
0,Integer
0,Integer
0,Integer
0,Integer
1,Integer
1,Integer
0,Integer
1,Integer
0,Integer
0,Integer
0,Integer
1]
      ]
    w :: Float
w = Float
10 Float -> Float -> Float
forall a. Fractional a => a -> a -> a
/ Float
23
    h :: Float
h = Float
45 Float -> Float -> Float
forall a. Fractional a => a -> a -> a
/ Float
61
    ruchnik :: Svg
ruchnik =
      Svg
S.path
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"none"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.stroke AttributeValue
"#CF101A"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.strokeWidth (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
w)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.d AttributeValue
ruchnikDirs
    ruchnikDirs :: AttributeValue
ruchnikDirs = Path -> AttributeValue
mkPath (Path -> AttributeValue) -> Path -> AttributeValue
forall a b. (a -> b) -> a -> b
$ do
      (Int -> Path) -> [Int] -> Path
forall (t :: * -> *) (m :: * -> *) a b.
(Foldable t, Monad m) =>
(a -> m b) -> t a -> m ()
mapM_ 
        (\Int
n -> Float -> [Integer] -> Path
forall {a}. (Num a, Eq a) => Float -> [a] -> Path
drawLine (Int -> Float
forall a b. (Integral a, Num b) => a -> b
fromIntegral Int
n) ([Integer] -> Path) -> [Integer] -> Path
forall a b. (a -> b) -> a -> b
$ [[Integer]]
ruchnikMatrix [[Integer]] -> Int -> [Integer]
forall a. HasCallStack => [a] -> Int -> a
!! Int
n) 
        [Int
0 .. Int
30]
      (Int -> Path) -> [Int] -> Path
forall (t :: * -> *) (m :: * -> *) a b.
(Foldable t, Monad m) =>
(a -> m b) -> t a -> m ()
mapM_ 
        (\Int
n -> Float -> [Integer] -> Path
forall {a}. (Num a, Eq a) => Float -> [a] -> Path
drawLine (Int -> Float
forall a b. (Integral a, Num b) => a -> b
fromIntegral Int
n) ([Integer] -> Path) -> [Integer] -> Path
forall a b. (a -> b) -> a -> b
$ [[Integer]]
ruchnikMatrix [[Integer]] -> Int -> [Integer]
forall a. HasCallStack => [a] -> Int -> a
!! (Int
60 Int -> Int -> Int
forall a. Num a => a -> a -> a
- Int
n)) 
        [Int
31 .. Int
60]
    drawLine :: Float -> [a] -> Path
drawLine Float
n [a]
binL = do
      (Integer -> Path) -> [Integer] -> Path
forall (t :: * -> *) (m :: * -> *) a b.
(Foldable t, Monad m) =>
(a -> m b) -> t a -> m ()
mapM_ 
        (\Integer
k ->
          if a
0 a -> a -> Bool
forall a. Eq a => a -> a -> Bool
== [a]
binL [a] -> Int -> a
forall a. HasCallStack => [a] -> Int -> a
!! (Integer -> Int
forall a. Enum a => a -> Int
fromEnum Integer
k)
            then () -> Path
forall a. a -> StateT AttributeValue Identity a
forall (m :: * -> *) a. Monad m => a -> m a
return ()
            else Float -> Float -> Path
forall a. Show a => a -> a -> Path
m  ( Float
0 Float -> Float -> Float
forall a. Num a => a -> a -> a
+ (Integer -> Float
forall a b. (Integral a, Num b) => a -> b
fromIntegral Integer
k)Float -> Float -> Float
forall a. Num a => a -> a -> a
*Float
w Float -> Float -> Float
forall a. Num a => a -> a -> a
+ Float
wFloat -> Float -> Float
forall a. Fractional a => a -> a -> a
/Float
2)  (Float
nFloat -> Float -> Float
forall a. Num a => a -> a -> a
*Float
h)  Path -> Path -> Path
forall a b.
StateT AttributeValue Identity a
-> StateT AttributeValue Identity b
-> StateT AttributeValue Identity b
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>>  Float -> Path
forall a. Show a => a -> Path
vr Float
h
        ) [Integer
0 .. Integer
10]
      if a
0 a -> a -> Bool
forall a. Eq a => a -> a -> Bool
== [a]
binL [a] -> Int -> a
forall a. HasCallStack => [a] -> Int -> a
!! Int
11 
        then () -> Path
forall a. a -> StateT AttributeValue Identity a
forall (m :: * -> *) a. Monad m => a -> m a
return ()
        else Float -> Float -> Path
forall a. Show a => a -> a -> Path
m Float
5 (Float
nFloat -> Float -> Float
forall a. Num a => a -> a -> a
*Float
h) Path -> Path -> Path
forall a b.
StateT AttributeValue Identity a
-> StateT AttributeValue Identity b
-> StateT AttributeValue Identity b
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> Float -> Path
forall a. Show a => a -> Path
vr Float
h
      (Int -> Path) -> [Int] -> Path
forall (t :: * -> *) (m :: * -> *) a b.
(Foldable t, Monad m) =>
(a -> m b) -> t a -> m ()
mapM_ 
        (\Int
k ->
          if a
0 a -> a -> Bool
forall a. Eq a => a -> a -> Bool
== [a]
binL [a] -> Int -> a
forall a. HasCallStack => [a] -> Int -> a
!! Int
k
            then () -> Path
forall a. a -> StateT AttributeValue Identity a
forall (m :: * -> *) a. Monad m => a -> m a
return ()
            else Float -> Float -> Path
forall a. Show a => a -> a -> Path
m  (Float
10 Float -> Float -> Float
forall a. Num a => a -> a -> a
- (Int -> Float
forall a b. (Integral a, Num b) => a -> b
fromIntegral Int
k)Float -> Float -> Float
forall a. Num a => a -> a -> a
*Float
w Float -> Float -> Float
forall a. Num a => a -> a -> a
- Float
wFloat -> Float -> Float
forall a. Fractional a => a -> a -> a
/Float
2)  (Float
nFloat -> Float -> Float
forall a. Num a => a -> a -> a
*Float
h)  Path -> Path -> Path
forall a b.
StateT AttributeValue Identity a
-> StateT AttributeValue Identity b
-> StateT AttributeValue Identity b
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>>  Float -> Path
forall a. Show a => a -> Path
vr Float
h
        ) [Int
0 .. Int
10]



{- |
Flag of the Democratic Republic of the Congo

![flag of the Democratic Republic of the Congo](https://raw.githubusercontent.com/RamiroPastor/SvgIcons/main/svg/images/countryFlags/cd.svg)
-}
cd :: Svg
cd :: Svg
cd =
    Svg -> Svg
S.svg
      (Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.viewbox AttributeValue
"0 0 800 600"
      (Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.width  AttributeValue
"300"
      (Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.height AttributeValue
"225"
      (Svg -> Svg) -> Svg -> Svg
forall a b. (a -> b) -> a -> b
$ do
        Svg
back
        Svg
yellowBand
        Svg
redBand
        Svg
star
  where
    back :: Svg
back =
      Svg
S.rect
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.x AttributeValue
"0"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.y AttributeValue
"0"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.width  AttributeValue
"800"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.height AttributeValue
"600"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"#007FFF"
    yellowBand :: Svg
yellowBand =
      Svg
S.path
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"#F7D618"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.d AttributeValue
yellowDirs
    yellowDirs :: AttributeValue
yellowDirs = Path -> AttributeValue
mkPath (Path -> AttributeValue) -> Path -> AttributeValue
forall a b. (a -> b) -> a -> b
$ do
      Integer -> Integer -> Path
forall a. Show a => a -> a -> Path
m   Integer
750    Integer
0
      Integer -> Integer -> Path
forall a. Show a => a -> a -> Path
l     Integer
0  Integer
450
      Integer -> Integer -> Path
forall a. Show a => a -> a -> Path
l     Integer
0  Integer
600
      Integer -> Integer -> Path
forall a. Show a => a -> a -> Path
l    Integer
50  Integer
600
      Integer -> Integer -> Path
forall a. Show a => a -> a -> Path
l   Integer
800  Integer
150
      Integer -> Integer -> Path
forall a. Show a => a -> a -> Path
l   Integer
800    Integer
0
      Path
S.z
    redBand :: Svg
redBand =
      Svg
S.path
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"#CE1021"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.d AttributeValue
redDirs
    redDirs :: AttributeValue
redDirs = Path -> AttributeValue
mkPath (Path -> AttributeValue) -> Path -> AttributeValue
forall a b. (a -> b) -> a -> b
$ do
      Integer -> Integer -> Path
forall a. Show a => a -> a -> Path
m   Integer
800    Integer
0
      Integer -> Integer -> Path
forall a. Show a => a -> a -> Path
l     Integer
0  Integer
480
      Integer -> Integer -> Path
forall a. Show a => a -> a -> Path
l     Integer
0  Integer
600
      Integer -> Integer -> Path
forall a. Show a => a -> a -> Path
l   Integer
800  Integer
120
      Path
S.z
    r1 :: Float
r1 = Float
220 Float -> Float -> Float
forall a. Fractional a => a -> a -> a
/ (Float
1 Float -> Float -> Float
forall a. Num a => a -> a -> a
+ Float -> Float
forall a. Floating a => a -> a
cos(Float
forall a. Floating a => a
piFloat -> Float -> Float
forall a. Fractional a => a -> a -> a
/Float
5))
    star :: Svg
star = 
      Int -> Float -> (Float, Float) -> Svg
starRegular Int
5 Float
r1 (Float
146, Float
36 Float -> Float -> Float
forall a. Num a => a -> a -> a
+ Float
r1)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"#F7D618"



{- |
Flag of the Central African Republic

![flag of the Central African Republic](https://raw.githubusercontent.com/RamiroPastor/SvgIcons/main/svg/images/countryFlags/cf.svg)
-}
cf :: Svg
cf :: Svg
cf =
    Svg -> Svg
S.svg
      (Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.viewbox AttributeValue
"0 0 60 40"
      (Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.width  AttributeValue
"300"
      (Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.height AttributeValue
"200"
      (Svg -> Svg) -> Svg -> Svg
forall a b. (a -> b) -> a -> b
$ do
        Svg
band1
        Svg
band2
        Svg
band3
        Svg
band4
        Svg
centralStripe
        Svg
star
  where
    band1 :: Svg
band1 =
      Svg
S.rect
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.x AttributeValue
"0"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.y AttributeValue
"0"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.width  AttributeValue
"60"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.height AttributeValue
"10"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"#003082"
    band2 :: Svg
band2 =
      Svg
S.rect
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.x AttributeValue
"0"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.y AttributeValue
"10"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.width  AttributeValue
"60"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.height AttributeValue
"10"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"#FFFFFF"
    band3 :: Svg
band3 =
      Svg
S.rect
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.x AttributeValue
"0"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.y AttributeValue
"20"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.width  AttributeValue
"60"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.height AttributeValue
"10"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"#289728"
    band4 :: Svg
band4 =
      Svg
S.rect
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.x AttributeValue
"0"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.y AttributeValue
"30"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.width  AttributeValue
"60"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.height AttributeValue
"10"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"#FFCE00"
    centralStripe :: Svg
centralStripe =
      Svg
S.rect
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.x AttributeValue
"25"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.y AttributeValue
"0"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.width  AttributeValue
"10"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.height AttributeValue
"40"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"#D21034"
    a :: Float
a = (Float
107 Float -> Float -> Float
forall a. Num a => a -> a -> a
- Float
9 Float -> Float -> Float
forall a. Num a => a -> a -> a
* Float -> Float
forall a. Floating a => a -> a
sqrt Float
5) Float -> Float -> Float
forall a. Fractional a => a -> a -> a
/ Float
16
    star :: Svg
star =
      Int -> Float -> (Float, Float) -> Svg
starRegular Int
5 Float
4.5 (Float
10 , Float
a)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"#FFCE00"



{- |
Flag of Congo

![flag of Congo](https://raw.githubusercontent.com/RamiroPastor/SvgIcons/main/svg/images/countryFlags/cg.svg)
-}
cg :: Svg
cg :: Svg
cg =
    Svg -> Svg
S.svg
      (Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.viewbox AttributeValue
"0 0 300 200"
      (Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.width  AttributeValue
"300"
      (Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.height AttributeValue
"200"
      (Svg -> Svg) -> Svg -> Svg
forall a b. (a -> b) -> a -> b
$ do
        Svg
leftTriangle
        Svg
midBand
        Svg
rightTriangle
  where
    leftTriangle :: Svg
leftTriangle =
      Svg
S.path
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"#009543"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.d AttributeValue
leftDirs
    midBand :: Svg
midBand =
      Svg
S.path
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"#FBDE4A"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.d AttributeValue
midDirs
    rightTriangle :: Svg
rightTriangle =
      Svg
S.path
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"#DC241F"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.d AttributeValue
rightDirs
    leftDirs :: AttributeValue
leftDirs = Path -> AttributeValue
mkPath (Path -> AttributeValue) -> Path -> AttributeValue
forall a b. (a -> b) -> a -> b
$ do
      Integer -> Integer -> Path
forall a. Show a => a -> a -> Path
m    Integer
0   Integer
0
      Integer -> Integer -> Path
forall a. Show a => a -> a -> Path
l  Integer
200   Integer
0
      Integer -> Integer -> Path
forall a. Show a => a -> a -> Path
l    Integer
0 Integer
200
      Path
S.z
    midDirs :: AttributeValue
midDirs = Path -> AttributeValue
mkPath (Path -> AttributeValue) -> Path -> AttributeValue
forall a b. (a -> b) -> a -> b
$ do
      Integer -> Integer -> Path
forall a. Show a => a -> a -> Path
m  Integer
200   Integer
0
      Integer -> Integer -> Path
forall a. Show a => a -> a -> Path
l  Integer
300   Integer
0
      Integer -> Integer -> Path
forall a. Show a => a -> a -> Path
l  Integer
100 Integer
200
      Integer -> Integer -> Path
forall a. Show a => a -> a -> Path
l    Integer
0 Integer
200
      Path
S.z
    rightDirs :: AttributeValue
rightDirs = Path -> AttributeValue
mkPath (Path -> AttributeValue) -> Path -> AttributeValue
forall a b. (a -> b) -> a -> b
$ do
      Integer -> Integer -> Path
forall a. Show a => a -> a -> Path
m  Integer
300   Integer
0
      Integer -> Integer -> Path
forall a. Show a => a -> a -> Path
l  Integer
300 Integer
200
      Integer -> Integer -> Path
forall a. Show a => a -> a -> Path
l  Integer
100 Integer
200
      Path
S.z



{- |
Flag of Switzerland

![flag of Switzerland](https://raw.githubusercontent.com/RamiroPastor/SvgIcons/main/svg/images/countryFlags/ch.svg)
-}
ch :: S.Svg
ch :: Svg
ch =
    Svg -> Svg
S.svg
      (Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.viewbox AttributeValue
"0 0 32 32"
      (Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.width  AttributeValue
"300"
      (Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.height AttributeValue
"300"
      (Svg -> Svg) -> Svg -> Svg
forall a b. (a -> b) -> a -> b
$ do
        Svg
background
        Svg
cross
  where
    background :: Svg
background =
      Svg
S.rect
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.x (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
0)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.y (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
0)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.width  (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
32)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.height (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
32)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.stroke AttributeValue
"none"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"#FF0000"
    cross :: Svg
cross =
      Svg
S.path
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"none"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.stroke AttributeValue
"#FFFFFF"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.strokeWidth AttributeValue
"6"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.d AttributeValue
crossDirs
    crossDirs :: AttributeValue
crossDirs = Path -> AttributeValue
mkPath (Path -> AttributeValue) -> Path -> AttributeValue
forall a b. (a -> b) -> a -> b
$ do
      Integer -> Integer -> Path
forall a. Show a => a -> a -> Path
m  Integer
16  Integer
6
      Integer -> Integer -> Path
forall a. Show a => a -> a -> Path
l  Integer
16 Integer
26
      Integer -> Integer -> Path
forall a. Show a => a -> a -> Path
m   Integer
6 Integer
16
      Integer -> Integer -> Path
forall a. Show a => a -> a -> Path
l  Integer
26 Integer
16



{- |
Flag of Côte d'Ivoire

![flag of Côte d'Ivoire](https://raw.githubusercontent.com/RamiroPastor/SvgIcons/main/svg/images/countryFlags/ci.svg)
-}
ci :: Svg
ci :: Svg
ci =
  (Float, Float) -> [Char] -> [Char] -> [Char] -> Svg
flagV3Eq
    (Float
3,Float
2)
    [Char]
"#FF8200"
    [Char]
"#FFFFFF"
    [Char]
"#009A44"



{- |
Flag of Cameroon

![flag of Cameroon](https://raw.githubusercontent.com/RamiroPastor/SvgIcons/main/svg/images/countryFlags/cm.svg)
-}
cm :: Svg
cm :: Svg
cm =
    Svg -> Svg
S.svg
      (Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.viewbox AttributeValue
"0 0 300 200"
      (Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.width  AttributeValue
"300"
      (Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.height AttributeValue
"200"
      (Svg -> Svg) -> Svg -> Svg
forall a b. (a -> b) -> a -> b
$ do
        Svg
leftBand
        Svg
midBand
        Svg
rightBand
        Svg
star
  where
    leftBand :: Svg
leftBand =
      Svg
S.rect
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.x AttributeValue
"0"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.y AttributeValue
"0"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.width  AttributeValue
"100"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.height AttributeValue
"200"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"#007A5E"
    midBand :: Svg
midBand =
      Svg
S.rect
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.x AttributeValue
"100"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.y AttributeValue
"0"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.width  AttributeValue
"100"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.height AttributeValue
"200"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"#CE1126"
    rightBand :: Svg
rightBand =
      Svg
S.rect
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.x AttributeValue
"200"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.y AttributeValue
"0"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.width  AttributeValue
"100"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.height AttributeValue
"200"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"#FCD116"
    star :: Svg
star =
      Int -> Float -> (Float, Float) -> Svg
starRegular Int
5 Float
27 (Float
150,Float
100)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"#FCD116"



{- |
Flag of Cabo Verde

![flag of Cabo Verde](https://raw.githubusercontent.com/RamiroPastor/SvgIcons/main/svg/images/countryFlags/cv.svg)
-}
cv :: Svg
cv :: Svg
cv =
    Svg -> Svg
S.svg
      (Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.viewbox AttributeValue
"0 0 450 300"
      (Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.width  AttributeValue
"300"
      (Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.height AttributeValue
"200"
      (Svg -> Svg) -> Svg -> Svg
forall a b. (a -> b) -> a -> b
$ do
        Svg
blueBand
        Svg
whiteBand
        Svg
redBand
        Svg
starCircle
  where
    blueBand :: Svg
blueBand =
      Svg
S.rect
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.x AttributeValue
"0"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.y AttributeValue
"0"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.width  AttributeValue
"450"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.height AttributeValue
"300"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"#003893"
    whiteBand :: Svg
whiteBand =
      Svg
S.rect
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.x AttributeValue
"0"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.y AttributeValue
"150"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.width  AttributeValue
"450"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.height AttributeValue
"75"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"#FFFFFF"
    redBand :: Svg
redBand  =
      Svg
S.rect
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.x AttributeValue
"0"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.y AttributeValue
"175"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.width  AttributeValue
"450"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.height AttributeValue
"25"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"#CF2027"
    star :: (Float, Float) -> Svg
star (Float
c1,Float
c2) =
      Int -> Float -> (Float, Float) -> Svg
starRegular Int
5 Float
12.5 (Float
c1,Float
c2)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"#F7D116"
    getCentre :: b -> (b, b)
getCentre b
k =
      ( b
168.75 b -> b -> b
forall a. Num a => a -> a -> a
- b
75 b -> b -> b
forall a. Num a => a -> a -> a
* b -> b
forall a. Floating a => a -> a
sin (b
k b -> b -> b
forall a. Num a => a -> a -> a
* b
2b -> b -> b
forall a. Num a => a -> a -> a
*b
forall a. Floating a => a
pi b -> b -> b
forall a. Fractional a => a -> a -> a
/ b
10)
      , b
187.5  b -> b -> b
forall a. Num a => a -> a -> a
+ b
75 b -> b -> b
forall a. Num a => a -> a -> a
* b -> b
forall a. Floating a => a -> a
cos (b
k b -> b -> b
forall a. Num a => a -> a -> a
* b
2b -> b -> b
forall a. Num a => a -> a -> a
*b
forall a. Floating a => a
pi b -> b -> b
forall a. Fractional a => a -> a -> a
/ b
10)
      )
    starCircle :: Svg
starCircle =
      Svg -> Svg
S.g (Svg -> Svg) -> Svg -> Svg
forall a b. (a -> b) -> a -> b
$ (Integer -> Svg) -> [Integer] -> Svg
forall (t :: * -> *) (m :: * -> *) a b.
(Foldable t, Monad m) =>
(a -> m b) -> t a -> m ()
mapM_ ((Float, Float) -> Svg
star ((Float, Float) -> Svg)
-> (Integer -> (Float, Float)) -> Integer -> Svg
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Float -> (Float, Float)
forall {b}. Floating b => b -> (b, b)
getCentre (Float -> (Float, Float))
-> (Integer -> Float) -> Integer -> (Float, Float)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Integer -> Float
forall a b. (Integral a, Num b) => a -> b
fromIntegral) [Integer
0 .. Integer
9]



{- |
Flag of Cyprus

![flag of Cyprus](https://raw.githubusercontent.com/RamiroPastor/SvgIcons/main/svg/images/countryFlags/cy.svg)
-}
cyp :: Svg
cyp :: Svg
cyp =
    Svg -> Svg
S.svg
      (Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.viewbox AttributeValue
"0 0 900 600"
      (Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.width  AttributeValue
"300"
      (Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.height AttributeValue
"200"
      (Svg -> Svg) -> Svg -> Svg
forall a b. (a -> b) -> a -> b
$ do
        Svg
background
        Svg
cyCoA
  where
    background :: Svg
background =
      Svg
S.rect
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.x (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
0)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.y (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
0)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.width  (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
900)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.height (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
600)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.stroke AttributeValue
"none"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"#FFFFFF"



{- |
Flag of Czech Republic

![flag of Czech Republic](https://raw.githubusercontent.com/RamiroPastor/SvgIcons/main/svg/images/countryFlags/cz.svg)
-}
cz :: S.Svg
cz :: Svg
cz =
    Svg -> Svg
S.svg
      (Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.viewbox AttributeValue
"0 0 6 4"
      (Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.width  AttributeValue
"300"
      (Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.height AttributeValue
"200"
      (Svg -> Svg) -> Svg -> Svg
forall a b. (a -> b) -> a -> b
$ do
        Svg
topStripe
        Svg
leftTriangle
        Svg
botStripe
  where
    topStripe :: Svg
topStripe =
      Svg
S.path 
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.strokeWidth AttributeValue
"0"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"#FFFFFF"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.d AttributeValue
topDirs
    topDirs :: AttributeValue
topDirs = Path -> AttributeValue
mkPath (Path -> AttributeValue) -> Path -> AttributeValue
forall a b. (a -> b) -> a -> b
$ do
      Integer -> Integer -> Path
forall a. Show a => a -> a -> Path
m  Integer
0 Integer
0
      Integer -> Integer -> Path
forall a. Show a => a -> a -> Path
l  Integer
6 Integer
0
      Integer -> Integer -> Path
forall a. Show a => a -> a -> Path
l  Integer
6 Integer
2
      Integer -> Integer -> Path
forall a. Show a => a -> a -> Path
l  Integer
3 Integer
2
      Path
S.z
    leftTriangle :: Svg
leftTriangle =
      Svg
S.path
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.strokeWidth AttributeValue
"0"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"#11457E"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.d AttributeValue
triangleDirs
    triangleDirs :: AttributeValue
triangleDirs = Path -> AttributeValue
mkPath (Path -> AttributeValue) -> Path -> AttributeValue
forall a b. (a -> b) -> a -> b
$ do
      Integer -> Integer -> Path
forall a. Show a => a -> a -> Path
m  Integer
0 Integer
0
      Integer -> Integer -> Path
forall a. Show a => a -> a -> Path
l  Integer
3 Integer
2
      Integer -> Integer -> Path
forall a. Show a => a -> a -> Path
l  Integer
0 Integer
4
      Path
S.z
    botStripe :: Svg
botStripe =
      Svg
S.path
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.strokeWidth AttributeValue
"0"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"#D7141A"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.d AttributeValue
botDirs
    botDirs :: AttributeValue
botDirs = Path -> AttributeValue
mkPath (Path -> AttributeValue) -> Path -> AttributeValue
forall a b. (a -> b) -> a -> b
$ do
      Integer -> Integer -> Path
forall a. Show a => a -> a -> Path
m  Integer
0 Integer
4
      Integer -> Integer -> Path
forall a. Show a => a -> a -> Path
l  Integer
6 Integer
4
      Integer -> Integer -> Path
forall a. Show a => a -> a -> Path
l  Integer
6 Integer
2
      Integer -> Integer -> Path
forall a. Show a => a -> a -> Path
l  Integer
3 Integer
2
      Path
S.z



{- |
Flag of Germany

![flag of Germany](https://raw.githubusercontent.com/RamiroPastor/SvgIcons/main/svg/images/countryFlags/de.svg)
-}
de :: Svg
de :: Svg
de =
  (Float, Float) -> [Char] -> [Char] -> [Char] -> Svg
flagH3Eq
    (Float
5,Float
3)
    [Char]
"rgb(0,0,0)"
    [Char]
"rgb(255,0,0)"
    [Char]
"rgb(255,204,0)"



{- |
Flag of Djibouti

![flag of Djibouti](https://raw.githubusercontent.com/RamiroPastor/SvgIcons/main/svg/images/countryFlags/dj.svg)
-}
dj :: Svg
dj :: Svg
dj =
    Svg -> Svg
S.svg
      (Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.viewbox AttributeValue
"0 0 300 200"
      (Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.width  AttributeValue
"300"
      (Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.height AttributeValue
"200"
      (Svg -> Svg) -> Svg -> Svg
forall a b. (a -> b) -> a -> b
$ do
        Svg
topBand
        Svg
botBand
        Svg
leftTriangle
        Svg
star
  where
    topBand :: Svg
topBand =
      Svg
S.rect
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.x AttributeValue
"0"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.y AttributeValue
"0"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.width  AttributeValue
"300"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.height AttributeValue
"100"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"#6AB2E7"
    botBand :: Svg
botBand =
      Svg
S.rect
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.x AttributeValue
"0"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.y AttributeValue
"100"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.width  AttributeValue
"300"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.height AttributeValue
"100"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"#12AD2B"
    leftTriangle :: Svg
leftTriangle =
      Svg
S.path
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"#FFFFFF"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.d AttributeValue
triangleDirs
    triangleDirs :: AttributeValue
triangleDirs = Path -> AttributeValue
mkPath (Path -> AttributeValue) -> Path -> AttributeValue
forall a b. (a -> b) -> a -> b
$ do
      Integer -> Integer -> Path
forall a. Show a => a -> a -> Path
m   Integer
0   Integer
0
      Double -> Double -> Path
forall a. Show a => a -> a -> Path
l  (Double
100 Double -> Double -> Double
forall a. Num a => a -> a -> a
* Double -> Double
forall a. Floating a => a -> a
tan(Double
forall a. Floating a => a
piDouble -> Double -> Double
forall a. Fractional a => a -> a -> a
/Double
3))  Double
100
      Integer -> Integer -> Path
forall a. Show a => a -> a -> Path
l   Integer
0   Integer
200
      Path
S.z
    star :: Svg
star =
      Int -> Float -> (Float, Float) -> Svg
starRegular Int
5 (Float
100Float -> Float -> Float
forall a. Fractional a => a -> a -> a
/Float
3) (Float
100 Float -> Float -> Float
forall a. Num a => a -> a -> a
* Float -> Float
forall a. Floating a => a -> a
tan(Float
forall a. Floating a => a
piFloat -> Float -> Float
forall a. Fractional a => a -> a -> a
/Float
6) , Float
100)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"#D7141A"



{- |
Flag of Denmark

![flag of Denmark](https://raw.githubusercontent.com/RamiroPastor/SvgIcons/main/svg/images/countryFlags/dk.svg)
-}
dk :: Svg
dk :: Svg
dk =
    Svg -> Svg
S.svg
      (Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.viewbox AttributeValue
"0 0 37 28"
      (Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.width  AttributeValue
"300"
      (Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.height AttributeValue
"227"
      (Svg -> Svg) -> Svg -> Svg
forall a b. (a -> b) -> a -> b
$ do
        Svg
background
        Svg
cross
  where
    background :: Svg
background =
      Svg
S.rect
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.x (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
0)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.y (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
0)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.width  (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
37)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.height (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
28)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.stroke AttributeValue
"none"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"#C8102E"
    cross :: Svg
cross =
      Svg
S.path
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"none"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.stroke AttributeValue
"#FFFFFF"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.strokeWidth AttributeValue
"4"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.d AttributeValue
crossDirs
    crossDirs :: AttributeValue
crossDirs = Path -> AttributeValue
mkPath (Path -> AttributeValue) -> Path -> AttributeValue
forall a b. (a -> b) -> a -> b
$ do
      Integer -> Integer -> Path
forall a. Show a => a -> a -> Path
m  Integer
14  Integer
0
      Integer -> Integer -> Path
forall a. Show a => a -> a -> Path
l  Integer
14 Integer
28
      Integer -> Integer -> Path
forall a. Show a => a -> a -> Path
m   Integer
0 Integer
14
      Integer -> Integer -> Path
forall a. Show a => a -> a -> Path
l  Integer
37 Integer
14



{- |
Flag of Algeria

![flag of Algeria](https://raw.githubusercontent.com/RamiroPastor/SvgIcons/main/svg/images/countryFlags/dz.svg)
-}
dz :: Svg
dz :: Svg
dz =
    Svg -> Svg
S.svg
      (Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.viewbox AttributeValue
"0 0 30 20"
      (Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.width  AttributeValue
"300"
      (Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.height AttributeValue
"200"
      (Svg -> Svg) -> Svg -> Svg
forall a b. (a -> b) -> a -> b
$ do
        Svg
leftBand
        Svg
rightBand
        Svg
moon
        Svg
star
  where
    leftBand :: Svg
leftBand = 
      Svg
S.rect
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.x AttributeValue
"0"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.y AttributeValue
"0"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.width  AttributeValue
"15"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.height AttributeValue
"20"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"#006633"
    rightBand :: Svg
rightBand =
      Svg
S.rect
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.x AttributeValue
"15"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.y AttributeValue
"0"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.width  AttributeValue
"15"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.height AttributeValue
"20"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"#FFFFFF"
    x1 :: Double
x1 = Double
2.5 Double -> Double -> Double
forall a. Fractional a => a -> a -> a
/ Double -> Double
forall a. Floating a => a -> a
tan (Double
forall a. Floating a => a
piDouble -> Double -> Double
forall a. Fractional a => a -> a -> a
/Double
6)
    y1 :: Double
y1 = Double
2.5
    r1 :: Double
r1 = Double
5
    r2 :: Double
r2 = Double
4
    moon :: Svg
moon =
      Svg
S.path
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"#D21034"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.d AttributeValue
moonDirs
    moonDirs :: AttributeValue
moonDirs = Path -> AttributeValue
mkPath (Path -> AttributeValue) -> Path -> AttributeValue
forall a b. (a -> b) -> a -> b
$ do
      Double -> Double -> Path
forall a. Show a => a -> a -> Path
m   (Double
15 Double -> Double -> Double
forall a. Num a => a -> a -> a
+ Double
x1)  (Double
10 Double -> Double -> Double
forall a. Num a => a -> a -> a
- Double
y1)
      Double
-> Double -> Double -> Bool -> Bool -> Double -> Double -> Path
forall a. Show a => a -> a -> a -> Bool -> Bool -> a -> a -> Path
aa  Double
r1   Double
r1   Double
0   Bool
True  Bool
False (Double
15 Double -> Double -> Double
forall a. Num a => a -> a -> a
+ Double
x1)  (Double
10 Double -> Double -> Double
forall a. Num a => a -> a -> a
+ Double
y1)
      Double
-> Double -> Double -> Bool -> Bool -> Double -> Double -> Path
forall a. Show a => a -> a -> a -> Bool -> Bool -> a -> a -> Path
aa  Double
r2   Double
r2   Double
0   Bool
True  Bool
True  (Double
15 Double -> Double -> Double
forall a. Num a => a -> a -> a
+ Double
x1)  (Double
10 Double -> Double -> Double
forall a. Num a => a -> a -> a
- Double
y1)
      Path
S.z
    b :: Float
b = (Float
5 Float -> Float -> Float
forall a. Num a => a -> a -> a
+ Float
5 Float -> Float -> Float
forall a. Num a => a -> a -> a
* Float -> Float
forall a. Floating a => a -> a
sqrt Float
5) Float -> Float -> Float
forall a. Fractional a => a -> a -> a
/ Float
8
    star :: Svg
star = 
      Int -> Float -> (Float, Float) -> Svg
starRegular Int
5 Float
2.5 (Float
15 Float -> Float -> Float
forall a. Num a => a -> a -> a
+ Float
b, Float
10)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"#D21034"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.transform (Float -> Float -> Float -> AttributeValue
forall a. Show a => a -> a -> a -> AttributeValue
rotateAround Float
90 (Float
15 Float -> Float -> Float
forall a. Num a => a -> a -> a
+ Float
b) Float
10)



{- |
Flag of Estonia

![flag of Estonia](https://raw.githubusercontent.com/RamiroPastor/SvgIcons/main/svg/images/countryFlags/ee.svg)
-}
ee :: Svg
ee :: Svg
ee =
  (Float, Float) -> [Char] -> [Char] -> [Char] -> Svg
flagH3Eq
    (Float
5.5, Float
3.5)
    [Char]
"#0072CE"
    [Char]
"#000000"
    [Char]
"#FFFFFF"



{- |
Flag of Egypt

![flag of Egypt](https://raw.githubusercontent.com/RamiroPastor/SvgIcons/main/svg/images/countryFlags/eg.svg)
-}
eg :: Svg
eg :: Svg
eg =
    Svg -> Svg
S.svg
      (Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.viewbox AttributeValue
"0 0 900 600"
      (Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.width  AttributeValue
"300"
      (Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.height AttributeValue
"200"
      (Svg -> Svg) -> Svg -> Svg
forall a b. (a -> b) -> a -> b
$ do
        Svg
topBand
        Svg
midBand
        Svg
botBand
        Svg
egCoA
  where
    topBand :: Svg
topBand =
      Svg
S.rect
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.x AttributeValue
"0"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.y AttributeValue
"0"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.width  AttributeValue
"900"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.height AttributeValue
"200"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"#CE1126"
    midBand :: Svg
midBand =
      Svg
S.rect
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.x AttributeValue
"0"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.y AttributeValue
"200"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.width  AttributeValue
"900"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.height AttributeValue
"200"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"#FFFFFF"
    botBand :: Svg
botBand =
      Svg
S.rect
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.x AttributeValue
"0"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.y AttributeValue
"400"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.width  AttributeValue
"900"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.height AttributeValue
"200"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"#000000"



{- |
Flag of Eritrea

![flag of Eritrea](https://raw.githubusercontent.com/RamiroPastor/SvgIcons/main/svg/images/countryFlags/er.svg)
-}
er :: Svg
er :: Svg
er =
    Svg -> Svg
S.svg
      (Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.viewbox AttributeValue
"0 0 1200 600"
      (Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.width  AttributeValue
"300"
      (Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.height AttributeValue
"150"
      (Svg -> Svg) -> Svg -> Svg
forall a b. (a -> b) -> a -> b
$ do
        Svg
topBand
        Svg
botBand
        Svg
redTriangle
        Svg
erCoA
  where
    topBand :: Svg
topBand =
      Svg
S.rect
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.x AttributeValue
"0"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.y AttributeValue
"0"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.width  AttributeValue
"1200"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.height AttributeValue
" 300"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"#0BAC24"
    botBand :: Svg
botBand =
      Svg
S.rect
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.x AttributeValue
"0"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.y AttributeValue
"300"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.width  AttributeValue
"1200"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.height AttributeValue
" 300"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"#3C8BDC"
    redTriangle :: Svg
redTriangle =
      Svg
S.path
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"#EB0433"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.d AttributeValue
triangleDirs
    triangleDirs :: AttributeValue
triangleDirs = Path -> AttributeValue
mkPath (Path -> AttributeValue) -> Path -> AttributeValue
forall a b. (a -> b) -> a -> b
$ do
      Integer -> Integer -> Path
forall a. Show a => a -> a -> Path
m     Integer
0    Integer
0
      Integer -> Integer -> Path
forall a. Show a => a -> a -> Path
l  Integer
1200  Integer
300
      Integer -> Integer -> Path
forall a. Show a => a -> a -> Path
l     Integer
0  Integer
600
      Path
S.z



{- |
Flag of Spain

![flag of Spain](https://raw.githubusercontent.com/RamiroPastor/SvgIcons/main/svg/images/countryFlags/es.svg)
-}
es :: Svg
es :: Svg
es =
    Svg -> Svg
S.svg
      (Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.viewbox AttributeValue
"0 0 750 500"
      (Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.width  AttributeValue
"300"
      (Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.height AttributeValue
"200"
      (Svg -> Svg) -> Svg -> Svg
forall a b. (a -> b) -> a -> b
$ do
        Svg
redBand
        Svg
yellowBand
  where
    colRed :: AttributeValue
colRed = AttributeValue
"rgb(198,11,30)"
    colYellow :: AttributeValue
colYellow = AttributeValue
"rgb(255,196,0)"
    redBand :: Svg
redBand =
      Svg
S.rect
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.x (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
0)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.y (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
0)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.width  (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
750)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.height (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
500)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.stroke AttributeValue
"none"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
colRed
    yellowBand :: Svg
yellowBand =
      Svg
S.rect 
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.x (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
0)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.y (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
125)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.width  (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
750)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.height (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
250)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.stroke AttributeValue
"none"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
colYellow



{- |
Flag of the Ethiopia

![flag of the Ethiopia](https://raw.githubusercontent.com/RamiroPastor/SvgIcons/main/svg/images/countryFlags/et.svg)
-}
et :: Svg
et :: Svg
et =
    Svg -> Svg
S.svg
      (Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.viewbox AttributeValue
"0 0 1200 600"
      (Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.width  AttributeValue
"300"
      (Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.height AttributeValue
"150"
      (Svg -> Svg) -> Svg -> Svg
forall a b. (a -> b) -> a -> b
$ do
        Svg
topBand
        Svg
midBand
        Svg
botBand
        Svg
etCoA
  where
    topBand :: Svg
topBand =
      Svg
S.rect
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.x AttributeValue
"0"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.y AttributeValue
"0"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.width  AttributeValue
"1200"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.height AttributeValue
"200"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"#078930"
    midBand :: Svg
midBand =
      Svg
S.rect
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.x AttributeValue
"0"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.y AttributeValue
"200"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.width  AttributeValue
"1200"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.height AttributeValue
"200"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"#FCDD09"
    botBand :: Svg
botBand =
      Svg
S.rect
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.x AttributeValue
"0"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.y AttributeValue
"400"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.width  AttributeValue
"1200"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.height AttributeValue
"200"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"#DA121A"



{- |
Flag of the European Union

![flag of the European Union](https://raw.githubusercontent.com/RamiroPastor/SvgIcons/main/svg/images/countryFlags/eu.svg)
-}
eu :: Svg
eu :: Svg
eu =
    Svg -> Svg
S.svg
      (Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.viewbox AttributeValue
"0 0 3 2"
      (Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.width  AttributeValue
"300"
      (Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.height AttributeValue
"200"
      (Svg -> Svg) -> Svg -> Svg
forall a b. (a -> b) -> a -> b
$ do
        Svg
background
        (Float -> Svg) -> [Float] -> Svg
forall (t :: * -> *) (m :: * -> *) a b.
(Foldable t, Monad m) =>
(a -> m b) -> t a -> m ()
mapM_ Float -> Svg
star [Float
0..Float
11]
  where
    background :: Svg
background =
      Svg
S.rect
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.x (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
0)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.y (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
0)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.width  (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
3)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.height (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
2)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.stroke AttributeValue
"none"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"#003399"
    starPos :: b -> (b, b)
starPos b
k = 
      ( b
3b -> b -> b
forall a. Fractional a => a -> a -> a
/b
2 b -> b -> b
forall a. Num a => a -> a -> a
+ (b
2b -> b -> b
forall a. Fractional a => a -> a -> a
/b
3) b -> b -> b
forall a. Num a => a -> a -> a
* b -> b
forall a. Floating a => a -> a
cos (b
kb -> b -> b
forall a. Num a => a -> a -> a
*b
forall a. Floating a => a
pib -> b -> b
forall a. Fractional a => a -> a -> a
/b
6) 
      , b
1   b -> b -> b
forall a. Num a => a -> a -> a
+ (b
2b -> b -> b
forall a. Fractional a => a -> a -> a
/b
3) b -> b -> b
forall a. Num a => a -> a -> a
* b -> b
forall a. Floating a => a -> a
sin (b
kb -> b -> b
forall a. Num a => a -> a -> a
*b
forall a. Floating a => a
pib -> b -> b
forall a. Fractional a => a -> a -> a
/b
6)
      )
    star :: Float -> Svg
star Float
k =
      Int -> Float -> (Float, Float) -> Svg
starRegular Int
5 (Float
1Float -> Float -> Float
forall a. Fractional a => a -> a -> a
/Float
9) (Float -> (Float, Float)
forall {b}. Floating b => b -> (b, b)
starPos Float
k)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"#FFCC00"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.id_ AttributeValue
"HaskellSvgIcons-euFlagStar"



{- |
Flag of Finland

![flag of Finland](https://raw.githubusercontent.com/RamiroPastor/SvgIcons/main/svg/images/countryFlags/fi.svg)
-}
fi :: S.Svg
fi :: Svg
fi =
    Svg -> Svg
S.svg
      (Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.viewbox AttributeValue
"0 0 36 22"
      (Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.width  AttributeValue
"300"
      (Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.height AttributeValue
"183.33"
      (Svg -> Svg) -> Svg -> Svg
forall a b. (a -> b) -> a -> b
$ do
        Svg
background
        Svg
cross
  where
    background :: Svg
background =
      Svg
S.rect
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.x (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
0)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.y (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
0)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.width  (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
36)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.height (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
22)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.stroke AttributeValue
"none"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"#FFFFFF"
    cross :: Svg
cross =
      Svg
S.path
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"none"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.stroke AttributeValue
"#002F6C"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.strokeWidth AttributeValue
"6"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.d AttributeValue
crossDirs
    crossDirs :: AttributeValue
crossDirs = Path -> AttributeValue
mkPath (Path -> AttributeValue) -> Path -> AttributeValue
forall a b. (a -> b) -> a -> b
$ do
      Integer -> Integer -> Path
forall a. Show a => a -> a -> Path
m  Integer
13  Integer
0
      Integer -> Integer -> Path
forall a. Show a => a -> a -> Path
l  Integer
13 Integer
26
      Integer -> Integer -> Path
forall a. Show a => a -> a -> Path
m   Integer
0 Integer
11
      Integer -> Integer -> Path
forall a. Show a => a -> a -> Path
l  Integer
36 Integer
11



{- |
Flag of France

![flag of France](https://raw.githubusercontent.com/RamiroPastor/SvgIcons/main/svg/images/countryFlags/fr.svg)
-}
fr :: S.Svg
fr :: Svg
fr =
  (Float, Float) -> [Char] -> [Char] -> [Char] -> Svg
flagV3Eq
    (Float
3,Float
2)
    [Char]
"rgb(0,85,164)"
    [Char]
"rgb(255,255,255"
    [Char]
"rgb(239,65,53)"



{- |
Flag of Gabon

![flag of Gabon](https://raw.githubusercontent.com/RamiroPastor/SvgIcons/main/svg/images/countryFlags/ga.svg)
-}
ga :: Svg
ga :: Svg
ga =
  (Float, Float) -> [Char] -> [Char] -> [Char] -> Svg
flagH3Eq
    (Float
4,Float
3)
    [Char]
"#009E60"
    [Char]
"#FCD116"
    [Char]
"#3A75C4"



{- |
Flag of Ghana

![flag of Ghana](https://raw.githubusercontent.com/RamiroPastor/SvgIcons/main/svg/images/countryFlags/gh.svg)
-}
gh :: Svg
gh :: Svg
gh =
    Svg -> Svg
S.svg
      (Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.viewbox AttributeValue
"0 0 18 12"
      (Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.width  AttributeValue
"300"
      (Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.height AttributeValue
"200"
      (Svg -> Svg) -> Svg -> Svg
forall a b. (a -> b) -> a -> b
$ do
        Svg
topBand
        Svg
midBand
        Svg
botBand
        Svg
star
  where
    topBand :: Svg
topBand =
      Svg
S.rect
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.x AttributeValue
"0"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.y AttributeValue
"0"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.width  AttributeValue
"18"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.height AttributeValue
"4"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"#CF0921"
    midBand :: Svg
midBand =
      Svg
S.rect
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.x AttributeValue
"0"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.y AttributeValue
"4"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.width  AttributeValue
"18"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.height AttributeValue
"4"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"#FCD20F"
    botBand :: Svg
botBand =
      Svg
S.rect
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.x AttributeValue
"0"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.y AttributeValue
"8"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.width  AttributeValue
"18"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.height AttributeValue
"4"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"#006B3D"
    d :: Float
d = Float
8 Float -> Float -> Float
forall a. Num a => a -> a -> a
- (Float
8Float -> Float -> Float
forall a. Fractional a => a -> a -> a
/Float
5) Float -> Float -> Float
forall a. Num a => a -> a -> a
* Float -> Float
forall a. Floating a => a -> a
sqrt Float
5
    a :: Float
a = Float
dFloat -> Float -> Float
forall a. Fractional a => a -> a -> a
/Float
2 Float -> Float -> Float
forall a. Num a => a -> a -> a
- Float
2
    star :: Svg
star =
      Int -> Float -> (Float, Float) -> Svg
starRegular Int
5 (Float
dFloat -> Float -> Float
forall a. Fractional a => a -> a -> a
/Float
2) (Float
9 , Float
6Float -> Float -> Float
forall a. Num a => a -> a -> a
+Float
a)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"#000000"




{- |
Flag of Gambia

![flag of Gambia](https://raw.githubusercontent.com/RamiroPastor/SvgIcons/main/svg/images/countryFlags/gm.svg)
-}
gm :: Svg
gm :: Svg
gm = 
    Svg -> Svg
S.svg
      (Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.viewbox AttributeValue
"0 0 27 18"
      (Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.width  AttributeValue
"300"
      (Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.height AttributeValue
"200"
      (Svg -> Svg) -> Svg -> Svg
forall a b. (a -> b) -> a -> b
$ do
        Svg
topBand
        Svg
midBand
        Svg
botBand
        Svg
blueBand
  where
    topBand :: Svg
topBand =
      Svg
S.rect
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.x AttributeValue
"0"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.y AttributeValue
"0"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.width  AttributeValue
"27"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.height AttributeValue
"6"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"#CE1126"
    midBand :: Svg
midBand =
      Svg
S.rect
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.x AttributeValue
"0"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.y AttributeValue
"6"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.width  AttributeValue
"27"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.height AttributeValue
"6"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"#FFFFFF"
    botBand :: Svg
botBand =
      Svg
S.rect
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.x AttributeValue
"0"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.y AttributeValue
"12"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.width  AttributeValue
"27"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.height AttributeValue
"6"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"#3A7728"
    blueBand :: Svg
blueBand =
      Svg
S.rect
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.x AttributeValue
"0"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.y AttributeValue
"7"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.width  AttributeValue
"27"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.height AttributeValue
"4"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"#0C1C8C"



{- |
Flag of Guinea (Conakry)

![flag of Guinea (Conakry)](https://raw.githubusercontent.com/RamiroPastor/SvgIcons/main/svg/images/countryFlags/gn.svg)
-}
gn :: Svg
gn :: Svg
gn =
  (Float, Float) -> [Char] -> [Char] -> [Char] -> Svg
flagV3Eq
    (Float
3,Float
2)
    [Char]
"#CE1126"
    [Char]
"#FCD116"
    [Char]
"#009460"



{- |
Flag of Equatorial Guinea

![flag of Equatorial Guinea](https://raw.githubusercontent.com/RamiroPastor/SvgIcons/main/svg/images/countryFlags/gq.svg)
-}
gq :: Svg
gq :: Svg
gq =
    Svg -> Svg
S.svg
      (Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.viewbox AttributeValue
"0 0 3600 2400"
      (Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.width  AttributeValue
"300"
      (Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.height AttributeValue
"200"
      (Svg -> Svg) -> Svg -> Svg
forall a b. (a -> b) -> a -> b
$ do
        Svg
topBand
        Svg
midBand
        Svg
botBand
        Svg
leftTriangle
        Svg
gqCoA
  where
    topBand :: Svg
topBand =
      Svg
S.rect
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.x AttributeValue
"0"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.y AttributeValue
"0"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.width  AttributeValue
"3600"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.height AttributeValue
"800"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"#3E9A00"
    midBand :: Svg
midBand =
      Svg
S.rect
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.x AttributeValue
"0"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.y AttributeValue
"800"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.width  AttributeValue
"3600"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.height AttributeValue
"800"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"#FFFFFF"
    botBand :: Svg
botBand =
      Svg
S.rect
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.x AttributeValue
"0"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.y AttributeValue
"1600"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.width  AttributeValue
"3600"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.height AttributeValue
"800"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"#E32118"
    leftTriangle :: Svg
leftTriangle =
      Svg
S.path
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"#0073CE"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.d AttributeValue
triangleDirs
    triangleDirs :: AttributeValue
triangleDirs = Path -> AttributeValue
mkPath (Path -> AttributeValue) -> Path -> AttributeValue
forall a b. (a -> b) -> a -> b
$ do
      Integer -> Integer -> Path
forall a. Show a => a -> a -> Path
m    Integer
0    Integer
0
      Integer -> Integer -> Path
forall a. Show a => a -> a -> Path
l  Integer
900 Integer
1200
      Integer -> Integer -> Path
forall a. Show a => a -> a -> Path
l    Integer
0 Integer
2400
      Path
S.z



{- |
Flag of Greece

![flag of Greece](https://raw.githubusercontent.com/RamiroPastor/SvgIcons/main/svg/images/countryFlags/gr.svg)
-}
gr :: Svg
gr :: Svg
gr =
    Svg -> Svg
S.svg
      (Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.viewbox AttributeValue
"0 0 27 18"
      (Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.width  AttributeValue
"300"
      (Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.height AttributeValue
"200"
      (Svg -> Svg) -> Svg -> Svg
forall a b. (a -> b) -> a -> b
$ do
        Svg
blueLines
        Svg
whiteLines
        Svg
blueSquare
        Svg
greekCross
  where
    blueLines :: Svg
blueLines =
      Svg
S.path
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"none"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.stroke AttributeValue
"#004C98"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.strokeWidth AttributeValue
"2"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.d AttributeValue
blueDirs
    whiteLines :: Svg
whiteLines =
      Svg
S.path
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"none"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.stroke AttributeValue
"#FFFFFF"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.strokeWidth AttributeValue
"2"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.d AttributeValue
whiteDirs
    blueDirs :: AttributeValue
blueDirs = Path -> AttributeValue
mkPath (Path -> AttributeValue) -> Path -> AttributeValue
forall a b. (a -> b) -> a -> b
$ do
      Integer -> Integer -> Path
forall a. Show a => a -> a -> Path
m  Integer
0  Integer
1  Path -> Path -> Path
forall a b.
StateT AttributeValue Identity a
-> StateT AttributeValue Identity b
-> StateT AttributeValue Identity b
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>>  Integer -> Path
forall a. Show a => a -> Path
hr Integer
27
      Integer -> Integer -> Path
forall a. Show a => a -> a -> Path
m  Integer
0  Integer
5  Path -> Path -> Path
forall a b.
StateT AttributeValue Identity a
-> StateT AttributeValue Identity b
-> StateT AttributeValue Identity b
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>>  Integer -> Path
forall a. Show a => a -> Path
hr Integer
27
      Integer -> Integer -> Path
forall a. Show a => a -> a -> Path
m  Integer
0  Integer
9  Path -> Path -> Path
forall a b.
StateT AttributeValue Identity a
-> StateT AttributeValue Identity b
-> StateT AttributeValue Identity b
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>>  Integer -> Path
forall a. Show a => a -> Path
hr Integer
27
      Integer -> Integer -> Path
forall a. Show a => a -> a -> Path
m  Integer
0 Integer
13  Path -> Path -> Path
forall a b.
StateT AttributeValue Identity a
-> StateT AttributeValue Identity b
-> StateT AttributeValue Identity b
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>>  Integer -> Path
forall a. Show a => a -> Path
hr Integer
27
      Integer -> Integer -> Path
forall a. Show a => a -> a -> Path
m  Integer
0 Integer
17  Path -> Path -> Path
forall a b.
StateT AttributeValue Identity a
-> StateT AttributeValue Identity b
-> StateT AttributeValue Identity b
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>>  Integer -> Path
forall a. Show a => a -> Path
hr Integer
27
    whiteDirs :: AttributeValue
whiteDirs = Path -> AttributeValue
mkPath (Path -> AttributeValue) -> Path -> AttributeValue
forall a b. (a -> b) -> a -> b
$ do
      Integer -> Integer -> Path
forall a. Show a => a -> a -> Path
m  Integer
0  Integer
3  Path -> Path -> Path
forall a b.
StateT AttributeValue Identity a
-> StateT AttributeValue Identity b
-> StateT AttributeValue Identity b
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>>  Integer -> Path
forall a. Show a => a -> Path
hr Integer
27
      Integer -> Integer -> Path
forall a. Show a => a -> a -> Path
m  Integer
0  Integer
7  Path -> Path -> Path
forall a b.
StateT AttributeValue Identity a
-> StateT AttributeValue Identity b
-> StateT AttributeValue Identity b
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>>  Integer -> Path
forall a. Show a => a -> Path
hr Integer
27
      Integer -> Integer -> Path
forall a. Show a => a -> a -> Path
m  Integer
0 Integer
11  Path -> Path -> Path
forall a b.
StateT AttributeValue Identity a
-> StateT AttributeValue Identity b
-> StateT AttributeValue Identity b
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>>  Integer -> Path
forall a. Show a => a -> Path
hr Integer
27
      Integer -> Integer -> Path
forall a. Show a => a -> a -> Path
m  Integer
0 Integer
15  Path -> Path -> Path
forall a b.
StateT AttributeValue Identity a
-> StateT AttributeValue Identity b
-> StateT AttributeValue Identity b
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>>  Integer -> Path
forall a. Show a => a -> Path
hr Integer
27
    blueSquare :: Svg
blueSquare =
      Svg
S.rect 
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.x (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
0)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.y (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
0)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.width  (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
10)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.height (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
10)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.stroke AttributeValue
"none"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"#004C98"
    greekCross :: Svg
greekCross =
      Svg
S.path
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"none"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.stroke AttributeValue
"#FFFFFF"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.strokeWidth AttributeValue
"2"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.d AttributeValue
crossDirs
    crossDirs :: AttributeValue
crossDirs = Path -> AttributeValue
mkPath (Path -> AttributeValue) -> Path -> AttributeValue
forall a b. (a -> b) -> a -> b
$ do
      Integer -> Integer -> Path
forall a. Show a => a -> a -> Path
m   Integer
5   Integer
0
      Integer -> Integer -> Path
forall a. Show a => a -> a -> Path
l   Integer
5  Integer
10
      Integer -> Integer -> Path
forall a. Show a => a -> a -> Path
m   Integer
0   Integer
5
      Integer -> Integer -> Path
forall a. Show a => a -> a -> Path
l  Integer
10   Integer
5



{- |
Flag of Guinea Bissau

![flag of Guinea Bissau](https://raw.githubusercontent.com/RamiroPastor/SvgIcons/main/svg/images/countryFlags/gw.svg)
-}
gw :: Svg
gw :: Svg
gw =
    Svg -> Svg
S.svg
      (Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.viewbox AttributeValue
"0 0 12 6"
      (Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.width  AttributeValue
"300"
      (Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.height AttributeValue
"150"
      (Svg -> Svg) -> Svg -> Svg
forall a b. (a -> b) -> a -> b
$ do
        Svg
topBand
        Svg
botBand
        Svg
leftBand
        Svg
star
  where
    topBand :: Svg
topBand =
      Svg
S.rect
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.x AttributeValue
"0"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.y AttributeValue
"0"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.width  AttributeValue
"12"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.height AttributeValue
"3"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"#FCD116"
    botBand :: Svg
botBand =
      Svg
S.rect
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.x AttributeValue
"0"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.y AttributeValue
"3"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.width  AttributeValue
"12"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.height AttributeValue
"3"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"#009E49"
    leftBand :: Svg
leftBand =
      Svg
S.rect
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.x AttributeValue
"0"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.y AttributeValue
"0"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.width  AttributeValue
"4"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.height AttributeValue
"6"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"#CE1126"
    star :: Svg
star =
      Int -> Float -> (Float, Float) -> Svg
starRegular Int
5 Float
1 (Float
2,Float
3)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"#000000"



{- |
Flag of Croatia

![flag of Croatia](https://raw.githubusercontent.com/RamiroPastor/SvgIcons/main/svg/images/countryFlags/hr.svg)
-}
hrv :: Svg
hrv :: Svg
hrv =
   Svg -> Svg
S.svg
    (Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.viewbox AttributeValue
"0 0 1200 600"
    (Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.width  AttributeValue
"300"
    (Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.height AttributeValue
"150"
    (Svg -> Svg) -> Svg -> Svg
forall a b. (a -> b) -> a -> b
$ do
      Svg
S.rect
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.x AttributeValue
"0"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.y AttributeValue
"0"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.height AttributeValue
"200"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.width  AttributeValue
"1200"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill   AttributeValue
"#FF0000"
      Svg
S.rect
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.x AttributeValue
"0"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.y AttributeValue
"200"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.height AttributeValue
"200"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.width  AttributeValue
"1200"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill   AttributeValue
"#FFFFFF"
      Svg
S.rect
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.x AttributeValue
"0"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.y AttributeValue
"400"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.height AttributeValue
"200"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.width  AttributeValue
"1200"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill   AttributeValue
"#171796"
      Svg
hrCoA



{- |
Flag of Ireland

![flag of Ireland](https://raw.githubusercontent.com/RamiroPastor/SvgIcons/main/svg/images/countryFlags/ie.svg)
-}
ie :: S.Svg
ie :: Svg
ie =
  (Float, Float) -> [Char] -> [Char] -> [Char] -> Svg
flagV3Eq
    (Float
3,Float
1.5)
    [Char]
"rgb(22,155,98)"
    [Char]
"rgb(255,255,255)"
    [Char]
"rgb(255,136,62)"



{- |
Flag of Iceland

![flag of Iceland](https://raw.githubusercontent.com/RamiroPastor/SvgIcons/main/svg/images/countryFlags/is.svg)
-}
is :: S.Svg
is :: Svg
is = 
    Svg -> Svg
S.svg 
      (Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.viewbox AttributeValue
"0 0 25 18"
      (Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.width  AttributeValue
"300"
      (Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.height AttributeValue
"216"
      (Svg -> Svg) -> Svg -> Svg
forall a b. (a -> b) -> a -> b
$ do
        Svg
background
        Svg
whiteCross
        Svg
redCross
  where
    background :: Svg
background =
      Svg
S.rect 
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.x (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
0)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.y (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
0)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.width  (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
25)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.height (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
18)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.stroke AttributeValue
"none"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"#02529C"
    whiteCross :: Svg
whiteCross =
      Svg
S.path 
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"none"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.strokeWidth AttributeValue
"4"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.stroke AttributeValue
"#FFFFFF"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.d AttributeValue
crossDirs
    redCross :: Svg
redCross =
      Svg
S.path 
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"none"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.strokeWidth AttributeValue
"2"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.stroke AttributeValue
"#DC1E35"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.d AttributeValue
crossDirs
    crossDirs :: AttributeValue
crossDirs = Path -> AttributeValue
mkPath (Path -> AttributeValue) -> Path -> AttributeValue
forall a b. (a -> b) -> a -> b
$ do
      Integer -> Integer -> Path
forall a. Show a => a -> a -> Path
m   Integer
0   Integer
9
      Integer -> Integer -> Path
forall a. Show a => a -> a -> Path
l  Integer
25   Integer
9
      Integer -> Integer -> Path
forall a. Show a => a -> a -> Path
m   Integer
9   Integer
0
      Integer -> Integer -> Path
forall a. Show a => a -> a -> Path
l   Integer
9  Integer
18



{- |
Flag of Italy

![flag of Italy](https://raw.githubusercontent.com/RamiroPastor/SvgIcons/main/svg/images/countryFlags/it.svg)
-}
it :: Svg
it :: Svg
it = 
  (Float, Float) -> [Char] -> [Char] -> [Char] -> Svg
flagV3Eq
    (Float
3,Float
2)
    [Char]
"rgb(0,140,69)"
    [Char]
"rgb(244,249,255"
    [Char]
"rgb(205,33,42)" 



{- |
Flag of Liechtenstein

![flag of Liechtenstein](https://raw.githubusercontent.com/RamiroPastor/SvgIcons/main/svg/images/countryFlags/li.svg)
-}
li :: Svg
li :: Svg
li = 
    Svg -> Svg
S.svg
      (Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.viewbox AttributeValue
"0 0 1000 600"
      (Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.width  AttributeValue
"300"
      (Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.height AttributeValue
"180"
      (Svg -> Svg) -> Svg -> Svg
forall a b. (a -> b) -> a -> b
$ do
        Svg
topStripe
        Svg
botStripe
        Svg
liCoA
  where
    topStripe :: Svg
topStripe =
      Svg
S.rect
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.x (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
0)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.y (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
0)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.width  (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
1000)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.height (AttributeValue -> Attribute) -> Float -> Attribute
.:  Float
300)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.stroke AttributeValue
"none"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"#002780"
    botStripe :: Svg
botStripe =
      Svg
S.rect
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.x (AttributeValue -> Attribute) -> Float -> Attribute
.:   Float
0)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.y (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
300)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.width  (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
1000)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.height (AttributeValue -> Attribute) -> Float -> Attribute
.:  Float
300)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.stroke AttributeValue
"none"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"#CF0921"



{- |
Flag of Liberia

![flag of Liberia](https://raw.githubusercontent.com/RamiroPastor/SvgIcons/main/svg/images/countryFlags/lr.svg)
-}
lbr :: Svg
lbr :: Svg
lbr =
    Svg -> Svg
S.svg
      (Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.viewbox AttributeValue
"0 0 209 110"
      (Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.width  AttributeValue
"300"
      (Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.height AttributeValue
"157.894736"
      (Svg -> Svg) -> Svg -> Svg
forall a b. (a -> b) -> a -> b
$ do
        Svg
redBackground
        Svg
whiteStripes
        Svg
blueSquare
        Svg
star
  where
    redBackground :: Svg
redBackground =
      Svg
S.rect
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.x AttributeValue
"0"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.y AttributeValue
"0"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.width  AttributeValue
"209"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.height AttributeValue
"110"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"#B22234"
    whiteStripe :: a -> Svg
whiteStripe a
ky =
      Svg
S.rect
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.x AttributeValue
"0"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.y (a -> AttributeValue
forall a. ToValue a => a -> AttributeValue
S.toValue a
ky)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.width  AttributeValue
"209"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.height AttributeValue
"10"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"#FFFFFF"
    whiteStripes :: Svg
whiteStripes =
      Svg -> Svg
S.g (Svg -> Svg) -> Svg -> Svg
forall a b. (a -> b) -> a -> b
$ (Int -> Svg) -> [Int] -> Svg
forall (t :: * -> *) (m :: * -> *) a b.
(Foldable t, Monad m) =>
(a -> m b) -> t a -> m ()
mapM_ Int -> Svg
forall {a}. ToValue a => a -> Svg
whiteStripe ([Int
10, Int
30, Int
50, Int
70, Int
90] :: [Int])
    blueSquare :: Svg
blueSquare =
      Svg
S.rect
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.x AttributeValue
"0"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.y AttributeValue
"0"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.width  AttributeValue
"50"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.height AttributeValue
"50"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"#00205B"
    r1 :: Float
r1 = Float
30 Float -> Float -> Float
forall a. Fractional a => a -> a -> a
/ (Float
1 Float -> Float -> Float
forall a. Num a => a -> a -> a
+ Float -> Float
forall a. Floating a => a -> a
cos(Float
forall a. Floating a => a
piFloat -> Float -> Float
forall a. Fractional a => a -> a -> a
/Float
5))
    star :: Svg
star =
      Int -> Float -> (Float, Float) -> Svg
starRegular Int
5 Float
r1 (Float
25,Float
25)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"#FFFFFF"



{- |
Flag of Lithuania

![flag of Lithuania](https://raw.githubusercontent.com/RamiroPastor/SvgIcons/main/svg/images/countryFlags/lt.svg)
-}
lt :: Svg
lt :: Svg
lt =
  (Float, Float) -> [Char] -> [Char] -> [Char] -> Svg
flagH3Eq
    (Float
5,Float
3)
    [Char]
"#FFB81C"
    [Char]
"#046A38"
    [Char]
"#BE3A34"



{- |
Flag of Luxembourg

![flag of Luxembourg](https://raw.githubusercontent.com/RamiroPastor/SvgIcons/main/svg/images/countryFlags/lu.svg)
-}
lu :: S.Svg
lu :: Svg
lu =
  (Float, Float) -> [Char] -> [Char] -> [Char] -> Svg
flagH3Eq
    (Float
3,Float
2)
    [Char]
"#EA141D"
    [Char]
"#FFFFFF"
    [Char]
"#51ADDA"



{- |
Flag of Latvia

![flag of Latvia](https://raw.githubusercontent.com/RamiroPastor/SvgIcons/main/svg/images/countryFlags/lv.svg)
-}
lv :: S.Svg
lv :: Svg
lv = 
    Svg -> Svg
S.svg
      (Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.viewbox AttributeValue
"0 0 20 10"
      (Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.width  AttributeValue
"300"
      (Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.height AttributeValue
"150"
      (Svg -> Svg) -> Svg -> Svg
forall a b. (a -> b) -> a -> b
$ do
        Svg
topStripe
        Svg
midStripe
        Svg
botStripe
  where
    topStripe :: Svg
topStripe =
      Svg
S.rect
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.x (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
0)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.y (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
0)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.width  (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
20)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.height (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
4)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.stroke AttributeValue
"none"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"#A4343A"
    midStripe :: Svg
midStripe =
      Svg
S.rect
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.x (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
0)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.y (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
4)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.width  (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
20)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.height (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
2)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.stroke AttributeValue
"none"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"#FFFFFF"
    botStripe :: Svg
botStripe =
      Svg
S.rect
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.x (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
0)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.y (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
6)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.width  (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
20)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.height (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
4)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.stroke AttributeValue
"none"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"#A4343A"



{- |
Flag of Libya

![flag of Libya](https://raw.githubusercontent.com/RamiroPastor/SvgIcons/main/svg/images/countryFlags/ly.svg)
-}
ly :: Svg
ly :: Svg
ly =
    Svg -> Svg
S.svg
      (Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.viewbox AttributeValue
"0 0 48 24"
      (Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.width  AttributeValue
"300"
      (Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.height AttributeValue
"150"
      (Svg -> Svg) -> Svg -> Svg
forall a b. (a -> b) -> a -> b
$ do
        Svg
topBand
        Svg
midBand
        Svg
botBand
        Svg
moon
        Svg
star
  where
    topBand :: Svg
topBand =
      Svg
S.rect
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.x AttributeValue
"0"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.y AttributeValue
"0"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.width  AttributeValue
"48"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.height AttributeValue
"6"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"#E70013"
    midBand :: Svg
midBand =
      Svg
S.rect
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.x AttributeValue
"0"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.y AttributeValue
"6"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.width  AttributeValue
"48"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.height AttributeValue
"12"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"#000000"
    botBand :: Svg
botBand =
      Svg
S.rect
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.x AttributeValue
"0"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.y AttributeValue
"18"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.width  AttributeValue
"48"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.height AttributeValue
"6"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"#239E46"
    x1 :: Double
x1 = Double
24 Double -> Double -> Double
forall a. Num a => a -> a -> a
+ Double
3 Double -> Double -> Double
forall a. Num a => a -> a -> a
* Double -> Double
forall a. Floating a => a -> a
cos(Double
forall a. Floating a => a
piDouble -> Double -> Double
forall a. Fractional a => a -> a -> a
/Double
4)
    y1 :: Double
y1 = Double
12 Double -> Double -> Double
forall a. Num a => a -> a -> a
- Double
3 Double -> Double -> Double
forall a. Num a => a -> a -> a
* Double -> Double
forall a. Floating a => a -> a
sin(Double
forall a. Floating a => a
piDouble -> Double -> Double
forall a. Fractional a => a -> a -> a
/Double
4)
    y2 :: Double
y2 = Double
12 Double -> Double -> Double
forall a. Num a => a -> a -> a
+ Double
3 Double -> Double -> Double
forall a. Num a => a -> a -> a
* Double -> Double
forall a. Floating a => a -> a
sin(Double
forall a. Floating a => a
piDouble -> Double -> Double
forall a. Fractional a => a -> a -> a
/Double
4)
    a :: Double
a  = Double
0.5 Double -> Double -> Double
forall a. Num a => a -> a -> a
* Double -> Double
forall a. Floating a => a -> a
sqrt (Double
706 Double -> Double -> Double
forall a. Num a => a -> a -> a
- Double
480 Double -> Double -> Double
forall a. Num a => a -> a -> a
* Double -> Double
forall a. Floating a => a -> a
sqrt Double
2)
    c :: Float
c  = (Float
1Float -> Float -> Float
forall a. Fractional a => a -> a -> a
/Float
5) Float -> Float -> Float
forall a. Num a => a -> a -> a
* (Float
15 Float -> Float -> Float
forall a. Num a => a -> a -> a
- Float
3 Float -> Float -> Float
forall a. Num a => a -> a -> a
* Float -> Float
forall a. Floating a => a -> a
sqrt Float
5) Float -> Float -> Float
forall a. Num a => a -> a -> a
* Float -> Float
forall a. Floating a => a -> a
sqrt (Float
5 Float -> Float -> Float
forall a. Num a => a -> a -> a
+ Float -> Float
forall a. Floating a => a -> a
sqrt Float
5)
    d :: Float
d  = Float
3 Float -> Float -> Float
forall a. Num a => a -> a -> a
+ (Float
cFloat -> Float -> Float
forall a. Fractional a => a -> a -> a
/Float
8) Float -> Float -> Float
forall a. Num a => a -> a -> a
* (-Float
1 Float -> Float -> Float
forall a. Num a => a -> a -> a
+ Float -> Float
forall a. Floating a => a -> a
sqrt Float
5)
    moon :: Svg
moon =
      Svg
S.path
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"#FFFFFF"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.d AttributeValue
moonDirs
    moonDirs :: AttributeValue
moonDirs = Path -> AttributeValue
mkPath (Path -> AttributeValue) -> Path -> AttributeValue
forall a b. (a -> b) -> a -> b
$ do
      Double -> Double -> Path
forall a. Show a => a -> a -> Path
m   Double
x1  Double
y1
      Double
-> Double -> Double -> Bool -> Bool -> Double -> Double -> Path
forall a. Show a => a -> a -> a -> Bool -> Bool -> a -> a -> Path
aa  Double
3   Double
3   Double
0   Bool
True  Bool
False Double
x1  Double
y2
      Double
-> Double -> Double -> Bool -> Bool -> Double -> Double -> Path
forall a. Show a => a -> a -> a -> Bool -> Bool -> a -> a -> Path
aa  Double
a   Double
a   Double
0   Bool
True  Bool
True  Double
x1  Double
y1
      Path
S.z
    star :: Svg
star =
      Int -> Float -> (Float, Float) -> Svg
starRegular Int
5 (Float
cFloat -> Float -> Float
forall a. Fractional a => a -> a -> a
/Float
2) (Float
24 Float -> Float -> Float
forall a. Num a => a -> a -> a
+ Float
d , Float
12)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"#FFFFFF"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.transform (Float -> Float -> Float -> AttributeValue
forall a. Show a => a -> a -> a -> AttributeValue
rotateAround (-Float
90) (Float
24 Float -> Float -> Float
forall a. Num a => a -> a -> a
+ Float
d) Float
12)



{- |
Flag of Morocco

![flag of Morocco](https://raw.githubusercontent.com/RamiroPastor/SvgIcons/main/svg/images/countryFlags/ma.svg)
-}
ma :: Svg
ma :: Svg
ma =
    Svg -> Svg
S.svg
      (Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.viewbox AttributeValue
"0 0 6 4"
      (Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.width  AttributeValue
"300"
      (Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.height AttributeValue
"200"
      (Svg -> Svg) -> Svg -> Svg
forall a b. (a -> b) -> a -> b
$ do
        Svg
back
        Svg
centralStar
  where
    back :: Svg
back =
      Svg
S.rect
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.x AttributeValue
"0"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.y AttributeValue
"0"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.width  AttributeValue
"300"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.height AttributeValue
"200"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"#C1272D"
    a :: Float
a = Float
0.5 Float -> Float -> Float
forall a. Num a => a -> a -> a
* Float -> Float
forall a. Floating a => a -> a
sqrt (Float
10 Float -> Float -> Float
forall a. Num a => a -> a -> a
+ Float
2 Float -> Float -> Float
forall a. Num a => a -> a -> a
* Float -> Float
forall a. Floating a => a -> a
sqrt Float
5)
    b :: Float
b = Float
a Float -> Float -> Float
forall a. Fractional a => a -> a -> a
/ Float
20
    centralStar :: Svg
centralStar =
      Int -> Float -> Float -> (Float, Float) -> Svg
starPolygonOverlap Int
5 Float
1 Float
b (Float
3,Float
2)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"#006233"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.stroke AttributeValue
"#000000"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.strokeWidth AttributeValue
"0.01"



{- |
Flag of Monaco

![flag of Monaco](https://raw.githubusercontent.com/RamiroPastor/SvgIcons/main/svg/images/countryFlags/mc.svg)
-}
mc :: S.Svg
mc :: Svg
mc =
    Svg -> Svg
S.svg
      (Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.viewbox AttributeValue
"0 0 5 4"
      (Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.width  AttributeValue
"300"
      (Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.height AttributeValue
"240"
      (Svg -> Svg) -> Svg -> Svg
forall a b. (a -> b) -> a -> b
$ do
        Svg
topStripe
        Svg
botStripe
  where
    topStripe :: Svg
topStripe =
      Svg
S.rect
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.x (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
0)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.y (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
0)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.width  (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
5)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.height (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
2)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.stroke AttributeValue
"none"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"#CE1126"
    botStripe :: Svg
botStripe =
      Svg
S.rect
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.x (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
0)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.y (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
2)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.width  (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
5)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.height (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
2)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.stroke AttributeValue
"none"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"#FFFFFF"



{- |
Flag of Moldova

![flag of Moldova](https://raw.githubusercontent.com/RamiroPastor/SvgIcons/main/svg/images/countryFlags/md.svg)
-}
md :: Svg
md :: Svg
md =
  Svg -> Svg
S.svg
    (Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.viewbox AttributeValue
"0 0 1800 900"
    (Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.width  AttributeValue
"300"
    (Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.height AttributeValue
"150"
    (Svg -> Svg) -> Svg -> Svg
forall a b. (a -> b) -> a -> b
$ do
      Svg
S.rect
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.x AttributeValue
"0"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.y AttributeValue
"0"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.width  AttributeValue
"600"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.height AttributeValue
"900"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill   AttributeValue
"#003DA5"
      Svg
S.rect
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.x AttributeValue
"600"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.y AttributeValue
"0"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.width  AttributeValue
"600"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.height AttributeValue
"900"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill   AttributeValue
"#FFD100"
      Svg
S.rect
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.x AttributeValue
"1200"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.y AttributeValue
"0"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.width  AttributeValue
"600"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.height AttributeValue
"900"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill   AttributeValue
"#C8102E"
      Svg
mdCoA



{- |
Flag of Montenegro

![flag of Montenegro](https://raw.githubusercontent.com/RamiroPastor/SvgIcons/main/svg/images/countryFlags/me.svg)
-}
me :: Svg
me :: Svg
me = 
    Svg -> Svg
S.svg
      (Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.viewbox AttributeValue
"0 0 1200 600"
      (Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.width  AttributeValue
"300"
      (Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.height AttributeValue
"150"
      (Svg -> Svg) -> Svg -> Svg
forall a b. (a -> b) -> a -> b
$ do
        Svg
background
        Svg
border
        Svg
meCoA
  where
    w :: Float
w = Float
1200
    h :: Float
h =  Float
600
    s :: Float
s = Float
h Float -> Float -> Float
forall a. Fractional a => a -> a -> a
/ Float
40
    background :: Svg
background =
      Svg
S.rect
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.x (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
0)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.y (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
0)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.width  (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
w)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.height (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
h)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.stroke AttributeValue
"none"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"#FF0000"
    border :: Svg
border =
      Svg
S.path
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"none"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.stroke AttributeValue
"#E6B319"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.strokeWidth (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
2Float -> Float -> Float
forall a. Num a => a -> a -> a
*Float
s)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.d AttributeValue
borderDirs
    borderDirs :: AttributeValue
borderDirs = Path -> AttributeValue
mkPath (Path -> AttributeValue) -> Path -> AttributeValue
forall a b. (a -> b) -> a -> b
$ do
      Float -> Float -> Path
forall a. Show a => a -> a -> Path
m  (Float
0 Float -> Float -> Float
forall a. Num a => a -> a -> a
+ Float
s) (Float
0 Float -> Float -> Float
forall a. Num a => a -> a -> a
+ Float
s)
      Float -> Float -> Path
forall a. Show a => a -> a -> Path
l  (Float
w Float -> Float -> Float
forall a. Num a => a -> a -> a
- Float
s) (Float
0 Float -> Float -> Float
forall a. Num a => a -> a -> a
+ Float
s)
      Float -> Float -> Path
forall a. Show a => a -> a -> Path
l  (Float
w Float -> Float -> Float
forall a. Num a => a -> a -> a
- Float
s) (Float
h Float -> Float -> Float
forall a. Num a => a -> a -> a
- Float
s)
      Float -> Float -> Path
forall a. Show a => a -> a -> Path
l  (Float
0 Float -> Float -> Float
forall a. Num a => a -> a -> a
+ Float
s) (Float
h Float -> Float -> Float
forall a. Num a => a -> a -> a
- Float
s)
      Path
S.z



{- |
Flag of North Macedonia

![flag of North Macedonia](https://raw.githubusercontent.com/RamiroPastor/SvgIcons/main/svg/images/countryFlags/mk.svg)
-}
mk :: Svg
mk :: Svg
mk =
    Svg -> Svg
S.svg
      (Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.viewbox AttributeValue
"0 0 2 1"
      (Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.width  AttributeValue
"300"
      (Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.height AttributeValue
"150"
      (Svg -> Svg) -> Svg -> Svg
forall a b. (a -> b) -> a -> b
$ do
        Svg
background
        Svg
rays
        Svg
sun
  where
    background :: Svg
background =
      Svg
S.rect
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.x (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
0)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.y (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
0)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.width  (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
2)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.height (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
1)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.stroke AttributeValue
"none"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"#CE2028"
    d :: Float
d = Float
2Float -> Float -> Float
forall a. Fractional a => a -> a -> a
/Float
7
    sun :: Svg
sun =
      Svg
S.circle
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.cx (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
1)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.cy (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
0.5)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.r  (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
dFloat -> Float -> Float
forall a. Fractional a => a -> a -> a
/Float
2)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"#F9D616"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.stroke AttributeValue
"#CE2028"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.strokeWidth (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
dFloat -> Float -> Float
forall a. Fractional a => a -> a -> a
/Float
8)
    rays :: Svg
rays =
      Svg
S.path
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.stroke AttributeValue
"none"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.strokeWidth AttributeValue
"0"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"#F9D616"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.d AttributeValue
raysDirs
    x1 :: Double
x1 = Double
1 Double -> Double -> Double
forall a. Num a => a -> a -> a
+ (Double
1Double -> Double -> Double
forall a. Fractional a => a -> a -> a
/Double
68) Double -> Double -> Double
forall a. Num a => a -> a -> a
* Double -> Double
forall a. Floating a => a -> a
sqrt (Double
3825 Double -> Double -> Double
forall a. Fractional a => a -> a -> a
/ Double
98)  -- 1.09187 etc.

    x2 :: Double
x2 = Double
1 Double -> Double -> Double
forall a. Num a => a -> a -> a
- (Double
1Double -> Double -> Double
forall a. Fractional a => a -> a -> a
/Double
68) Double -> Double -> Double
forall a. Num a => a -> a -> a
* Double -> Double
forall a. Floating a => a -> a
sqrt (Double
3825 Double -> Double -> Double
forall a. Fractional a => a -> a -> a
/ Double
98)
    y1 :: Double
y1 = (Double
3Double -> Double -> Double
forall a. Fractional a => a -> a -> a
/Double
5) Double -> Double -> Double
forall a. Num a => a -> a -> a
* Double
x1 Double -> Double -> Double
forall a. Num a => a -> a -> a
- Double
1Double -> Double -> Double
forall a. Fractional a => a -> a -> a
/Double
10
    y2 :: Double
y2 = (Double
3Double -> Double -> Double
forall a. Fractional a => a -> a -> a
/Double
5) Double -> Double -> Double
forall a. Num a => a -> a -> a
* Double
x2 Double -> Double -> Double
forall a. Num a => a -> a -> a
- Double
1Double -> Double -> Double
forall a. Fractional a => a -> a -> a
/Double
10
    raysDirs :: AttributeValue
raysDirs = Path -> AttributeValue
mkPath (Path -> AttributeValue) -> Path -> AttributeValue
forall a b. (a -> b) -> a -> b
$ do
      Double -> Double -> Path
forall a. Show a => a -> a -> Path
m  (Double
1 Double -> Double -> Double
forall a. Num a => a -> a -> a
- Double
0.1)  (Double
0)
      Double -> Double -> Path
forall a. Show a => a -> a -> Path
l  (Double
1 Double -> Double -> Double
forall a. Num a => a -> a -> a
+ Double
0.1)  (Double
0)
      Float -> Float -> Path
forall a. Show a => a -> a -> Path
l  (Float
1      )  (Float
0.5 Float -> Float -> Float
forall a. Num a => a -> a -> a
- Float
dFloat -> Float -> Float
forall a. Fractional a => a -> a -> a
/Float
2 Float -> Float -> Float
forall a. Num a => a -> a -> a
+ Float
dFloat -> Float -> Float
forall a. Fractional a => a -> a -> a
/Float
8)
      Path
S.z
      Double -> Double -> Path
forall a. Show a => a -> a -> Path
m  (Double
1 Double -> Double -> Double
forall a. Num a => a -> a -> a
- Double
0.1)  (Double
1)
      Double -> Double -> Path
forall a. Show a => a -> a -> Path
l  (Double
1 Double -> Double -> Double
forall a. Num a => a -> a -> a
+ Double
0.1)  (Double
1)
      Float -> Float -> Path
forall a. Show a => a -> a -> Path
l  (Float
1      )  (Float
0.5 Float -> Float -> Float
forall a. Num a => a -> a -> a
+ Float
dFloat -> Float -> Float
forall a. Fractional a => a -> a -> a
/Float
2 Float -> Float -> Float
forall a. Num a => a -> a -> a
- Float
dFloat -> Float -> Float
forall a. Fractional a => a -> a -> a
/Float
8)
      Path
S.z
      Double -> Double -> Path
forall a. Show a => a -> a -> Path
m  (Double
0      )  (Double
0.5 Double -> Double -> Double
forall a. Num a => a -> a -> a
- Double
0.1)
      Double -> Double -> Path
forall a. Show a => a -> a -> Path
l  (Double
0      )  (Double
0.5 Double -> Double -> Double
forall a. Num a => a -> a -> a
+ Double
0.1)
      Double -> Double -> Path
forall a. Show a => a -> a -> Path
l  (Double
1      )   Double
0.5
      Path
S.z
      Double -> Double -> Path
forall a. Show a => a -> a -> Path
m  (Double
2      )  (Double
0.5 Double -> Double -> Double
forall a. Num a => a -> a -> a
- Double
0.1)
      Double -> Double -> Path
forall a. Show a => a -> a -> Path
l  (Double
2      )  (Double
0.5 Double -> Double -> Double
forall a. Num a => a -> a -> a
+ Double
0.1)
      Double -> Double -> Path
forall a. Show a => a -> a -> Path
l  (Double
1      )   Double
0.5
      Path
S.z
      Integer -> Integer -> Path
forall a. Show a => a -> a -> Path
m  (Integer
0      )   Integer
0
      Double -> Double -> Path
forall a. Show a => a -> a -> Path
l  (Double
0 Double -> Double -> Double
forall a. Num a => a -> a -> a
+ Double
0.3)   Double
0
      Double -> Double -> Path
forall a. Show a => a -> a -> Path
l   Double
x1         Double
y1
      Path
S.z
      Double -> Double -> Path
forall a. Show a => a -> a -> Path
m  (Double
2 Double -> Double -> Double
forall a. Num a => a -> a -> a
- Double
0.3)   Double
0
      Integer -> Integer -> Path
forall a. Show a => a -> a -> Path
l  (Integer
2      )   Integer
0
      Double -> Double -> Path
forall a. Show a => a -> a -> Path
l   Double
x2         Double
y1
      Path
S.z
      Double -> Double -> Path
forall a. Show a => a -> a -> Path
m  (Double
2 Double -> Double -> Double
forall a. Num a => a -> a -> a
- Double
0.3)   Double
1
      Integer -> Integer -> Path
forall a. Show a => a -> a -> Path
l  (Integer
2      )   Integer
1
      Double -> Double -> Path
forall a. Show a => a -> a -> Path
l   Double
x2         Double
y2
      Path
S.z
      Integer -> Integer -> Path
forall a. Show a => a -> a -> Path
m  (Integer
0      )   Integer
1
      Double -> Double -> Path
forall a. Show a => a -> a -> Path
l  (Double
0 Double -> Double -> Double
forall a. Num a => a -> a -> a
+ Double
0.3)   Double
1
      Double -> Double -> Path
forall a. Show a => a -> a -> Path
l   Double
x1         Double
y2
      Path
S.z



{- |
Flag of Mali

![flag of Mali](https://raw.githubusercontent.com/RamiroPastor/SvgIcons/main/svg/images/countryFlags/ml.svg)
-}
ml :: Svg
ml :: Svg
ml =
  (Float, Float) -> [Char] -> [Char] -> [Char] -> Svg
flagV3Eq
    (Float
3,Float
2)
    [Char]
"#14B53A"
    [Char]
"#FCD116"
    [Char]
"#CE1126"



{- |
Flag of Mauritania

![flag of Mauritania](https://raw.githubusercontent.com/RamiroPastor/SvgIcons/main/svg/images/countryFlags/mr.svg)
-}
mrt :: Svg
mrt :: Svg
mrt = 
    Svg -> Svg
S.svg
      (Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.viewbox AttributeValue
"0 0 1500 1000"
      (Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.width  AttributeValue
"300"
      (Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.height AttributeValue
"200"
      (Svg -> Svg) -> Svg -> Svg
forall a b. (a -> b) -> a -> b
$ do
        Svg
topBand
        Svg
midBand
        Svg
botBand
        Svg
moon
        Svg
star
  where
    topBand :: Svg
topBand =
      Svg
S.rect
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.x AttributeValue
"0"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.y AttributeValue
"0"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.width  AttributeValue
"1500"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.height AttributeValue
" 200"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"#D01C1F"
    midBand :: Svg
midBand =
      Svg
S.rect
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.x AttributeValue
"0"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.y AttributeValue
"200"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.width  AttributeValue
"1500"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.height AttributeValue
" 600"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"#00A95C"
    botBand :: Svg
botBand =
      Svg
S.rect
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.x AttributeValue
"0"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.y AttributeValue
"800"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.width  AttributeValue
"1500"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.height AttributeValue
" 200"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"#D01C1F"
    x1 :: Double
x1 = Double
750 Double -> Double -> Double
forall a. Num a => a -> a -> a
- Double
375
    x2 :: Double
x2 = Double
750 Double -> Double -> Double
forall a. Num a => a -> a -> a
+ Double
375
    y1 :: Double
y1 = Double
325
    r1 :: Double
r1 = Double
375
    r2 :: Double
r2 = (Double
273Double -> Integer -> Double
forall a b. (Num a, Integral b) => a -> b -> a
^Integer
2 Double -> Double -> Double
forall a. Num a => a -> a -> a
+ Double
375Double -> Integer -> Double
forall a b. (Num a, Integral b) => a -> b -> a
^Integer
2) Double -> Double -> Double
forall a. Fractional a => a -> a -> a
/ (Double
2 Double -> Double -> Double
forall a. Num a => a -> a -> a
* Double
273)
    moon :: Svg
moon =
      Svg
S.path
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"#FFD700"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.d AttributeValue
moonDirs
    moonDirs :: AttributeValue
moonDirs = Path -> AttributeValue
mkPath (Path -> AttributeValue) -> Path -> AttributeValue
forall a b. (a -> b) -> a -> b
$ do
      Double -> Double -> Path
forall a. Show a => a -> a -> Path
m   Double
x1  Double
y1
      Double
-> Double -> Double -> Bool -> Bool -> Double -> Double -> Path
forall a. Show a => a -> a -> a -> Bool -> Bool -> a -> a -> Path
aa  Double
r1  Double
r1  Double
0  Bool
True  Bool
False Double
x2  Double
y1
      Double
-> Double -> Double -> Bool -> Bool -> Double -> Double -> Path
forall a. Show a => a -> a -> a -> Bool -> Bool -> a -> a -> Path
aa  Double
r2  Double
r2  Double
0  Bool
False Bool
True  Double
x1  Double
y1
      Path
S.z 
    r3 :: Float
r3  = Float
191 Float -> Float -> Float
forall a. Fractional a => a -> a -> a
/ (Float
1 Float -> Float -> Float
forall a. Num a => a -> a -> a
+ Float -> Float
forall a. Floating a => a -> a
cos (Float
forall a. Floating a => a
piFloat -> Float -> Float
forall a. Fractional a => a -> a -> a
/Float
5))
    y3 :: Float
y3  = Float
300 Float -> Float -> Float
forall a. Num a => a -> a -> a
+ Float
r3
    star :: Svg
star =
      Int -> Float -> (Float, Float) -> Svg
starRegular Int
5 Float
r3 (Float
750 , Float
y3)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"#FFD700"



{- |
Flag of Malta

![flag of Malta](https://raw.githubusercontent.com/RamiroPastor/SvgIcons/main/svg/images/countryFlags/mt.svg)
-}
mt :: Svg
mt :: Svg
mt =
    Svg -> Svg
S.svg
      (Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.viewbox AttributeValue
"0 0 900 600"
      (Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.width  AttributeValue
"300"
      (Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.height AttributeValue
"200"
      (Svg -> Svg) -> Svg -> Svg
forall a b. (a -> b) -> a -> b
$ do
        Svg
leftStripe
        Svg
rightStripe
        Svg
mtCoA
  where
    leftStripe :: Svg
leftStripe =
      Svg
S.rect
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.x (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
0)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.y (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
0)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.width  (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
450)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.height (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
600)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.stroke AttributeValue
"none"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"#FFFFFF"
    rightStripe :: Svg
rightStripe =
      Svg
S.rect
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.x (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
450)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.y (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
0)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.width  (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
450)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.height (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
600)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.stroke AttributeValue
"none"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"#C01B22"



{- |
Flag of Niger

![flag of Niger](https://raw.githubusercontent.com/RamiroPastor/SvgIcons/main/svg/images/countryFlags/ne.svg)
-}
ne :: Svg
ne :: Svg
ne =
    Svg -> Svg
S.svg
      (Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.viewbox AttributeValue
"0 0 7 6"
      (Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.width  AttributeValue
"300"
      (Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.height (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
300 Float -> Float -> Float
forall a. Num a => a -> a -> a
* Float
6 Float -> Float -> Float
forall a. Fractional a => a -> a -> a
/ Float
7)
      (Svg -> Svg) -> Svg -> Svg
forall a b. (a -> b) -> a -> b
$ do
        Svg
topBand
        Svg
midBand
        Svg
botBand
        Svg
centralCircle
  where
    topBand :: Svg
topBand =
      Svg
S.rect
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.x AttributeValue
"0"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.y AttributeValue
"0"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.width  AttributeValue
"7"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.height AttributeValue
"2"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"#E05206"
    midBand :: Svg
midBand =
      Svg
S.rect
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.x AttributeValue
"0"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.y AttributeValue
"2"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.width  AttributeValue
"7"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.height AttributeValue
"2"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"#FFFFFF"
    botBand :: Svg
botBand =
      Svg
S.rect
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.x AttributeValue
"0"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.y AttributeValue
"4"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.width  AttributeValue
"7"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.height AttributeValue
"2"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"#0DB02B"
    centralCircle :: Svg
centralCircle =
      Svg
S.circle
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"#E05206"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.cx AttributeValue
"3.5"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.cy AttributeValue
"3"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.r  AttributeValue
"0.85"



{- |
Flag of the Nigeria

![flag of the Nigeria](https://raw.githubusercontent.com/RamiroPastor/SvgIcons/main/svg/images/countryFlags/ng.svg)
-}
ng :: Svg
ng :: Svg
ng =
  (Float, Float) -> [Char] -> [Char] -> [Char] -> Svg
flagV3Eq
    (Float
2,Float
1)
    [Char]
"#008753"
    [Char]
"#FFFFFF"
    [Char]
"#008753"



{- |
Flag of the Netherlands

![flag of the Netherlands](https://raw.githubusercontent.com/RamiroPastor/SvgIcons/main/svg/images/countryFlags/nl.svg)
-}
nl :: S.Svg
nl :: Svg
nl =
  (Float, Float) -> [Char] -> [Char] -> [Char] -> Svg
flagH3Eq
    (Float
3,Float
2)
    [Char]
"#AE1C28"
    [Char]
"#FFFFFF"
    [Char]
"#21468B"



{- |
Flag of Norway

![flag of Norway](https://raw.githubusercontent.com/RamiroPastor/SvgIcons/main/svg/images/countryFlags/no.svg)
-}
no :: S.Svg
no :: Svg
no =
    Svg -> Svg
S.svg
      (Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.viewbox AttributeValue
"0 0 22 16"
      (Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.width  AttributeValue
"300"
      (Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.height AttributeValue
"218.18"
      (Svg -> Svg) -> Svg -> Svg
forall a b. (a -> b) -> a -> b
$ do
        Svg
background
        Svg
whiteCross
        Svg
blueCross
  where
    background :: Svg
background =
      Svg
S.rect
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.x (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
0)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.y (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
0)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.width  (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
22)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.height (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
16)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.stroke AttributeValue
"none"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"#BA0C2F"
    whiteCross :: Svg
whiteCross =
      Svg
S.path
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"none"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.stroke AttributeValue
"#FFFFFF"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.strokeWidth AttributeValue
"4"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.d AttributeValue
crossDirs
    blueCross :: Svg
blueCross =
      Svg
S.path
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"none"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.stroke AttributeValue
"#00205B"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.strokeWidth AttributeValue
"2"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.d AttributeValue
crossDirs
    crossDirs :: AttributeValue
crossDirs = Path -> AttributeValue
mkPath (Path -> AttributeValue) -> Path -> AttributeValue
forall a b. (a -> b) -> a -> b
$ do
      Integer -> Integer -> Path
forall a. Show a => a -> a -> Path
m   Integer
8  Integer
0
      Integer -> Integer -> Path
forall a. Show a => a -> a -> Path
l   Integer
8 Integer
16
      Integer -> Integer -> Path
forall a. Show a => a -> a -> Path
m   Integer
0  Integer
8
      Integer -> Integer -> Path
forall a. Show a => a -> a -> Path
l  Integer
22  Integer
8



{- |
Flag of Polonia

![flag of Polonia](https://raw.githubusercontent.com/RamiroPastor/SvgIcons/main/svg/images/countryFlags/pl.svg)
-}
pl :: Svg
pl :: Svg
pl =
    Svg -> Svg
S.svg
      (Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.viewbox AttributeValue
"0 0 8 5"
      (Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.width  AttributeValue
"300"
      (Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.height AttributeValue
"187.5"
      (Svg -> Svg) -> Svg -> Svg
forall a b. (a -> b) -> a -> b
$ do
        Svg
topStripe
        Svg
botStripe
  where
    topStripe :: Svg
topStripe =
      Svg
S.rect
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.x (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
0)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.y (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
0)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.width  (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
8)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.height (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
2.5)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.stroke AttributeValue
"none"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"#FFFFFF"
    botStripe :: Svg
botStripe =
      Svg
S.rect
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.x (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
0)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.y (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
2.5)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.width  (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
8)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.height (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
2.5)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.stroke AttributeValue
"none"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"#DC143C"



{- |
Flag of Portugal

![flag of Portugal](https://raw.githubusercontent.com/RamiroPastor/SvgIcons/main/svg/images/countryFlags/pt.svg)
-}
pt :: S.Svg
pt :: Svg
pt =
    Svg -> Svg
S.svg
      (Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.viewbox AttributeValue
"0 0 600 400"
      (Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.width  AttributeValue
"300"
      (Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.height AttributeValue
"200"
      (Svg -> Svg) -> Svg -> Svg
forall a b. (a -> b) -> a -> b
$ do
        Svg
greenBand
        Svg
redBand
        Svg
ptCoA
  where
    greenBand :: Svg
greenBand =
      Svg
S.rect 
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.x (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
0)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.y (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
0)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.width  (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
240)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.height (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
400)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.stroke AttributeValue
"none"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"rgb(0,102,0)"
    redBand :: Svg
redBand =
      Svg
S.rect
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.x (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
240)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.y (AttributeValue -> Attribute) -> Float -> Attribute
.:   Float
0)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.width  (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
360)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.height (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
400)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.stroke AttributeValue
"none"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"rgb(255,0,0)"



{- |
Flag of Romania

![flag of Romania](https://raw.githubusercontent.com/RamiroPastor/SvgIcons/main/svg/images/countryFlags/ro.svg)
-}
ro :: Svg
ro :: Svg
ro =
  (Float, Float) -> [Char] -> [Char] -> [Char] -> Svg
flagV3Eq
    (Float
3,Float
2)
    [Char]
"#002B7F"
    [Char]
"#FCD116"
    [Char]
"#CE1126"



{- |
Flag of Serbia

![flag of Serbia](https://raw.githubusercontent.com/RamiroPastor/SvgIcons/main/svg/images/countryFlags/rs.svg)
-}
rs :: Svg
rs :: Svg
rs =
  (Float, Float) -> [Char] -> [Char] -> [Char] -> Svg
flagH3Eq
    (Float
3,Float
2)
    [Char]
"#C7363D"
    [Char]
"#0C4077"
    [Char]
"#FFFFFF"



{- |
Flag of Russia

![flag of Russia](https://raw.githubusercontent.com/RamiroPastor/SvgIcons/main/svg/images/countryFlags/ru.svg)
-}
ru :: S.Svg
ru :: Svg
ru =
  (Float, Float) -> [Char] -> [Char] -> [Char] -> Svg
flagH3Eq
    (Float
3,Float
2)
    [Char]
"#FFFFFF"
    [Char]
"#0039A6"
    [Char]
"#E4181C"



{- |
Flag of Sudan

![flag of Sudan](https://raw.githubusercontent.com/RamiroPastor/SvgIcons/main/svg/images/countryFlags/sd.svg)
-}
sd :: Svg
sd :: Svg
sd =
    Svg -> Svg
S.svg
      (Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.viewbox AttributeValue
"0 0 6 3"
      (Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.width  AttributeValue
"300"
      (Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.height AttributeValue
"150"
      (Svg -> Svg) -> Svg -> Svg
forall a b. (a -> b) -> a -> b
$ do
        Svg
topBand
        Svg
midBand
        Svg
botBand
        Svg
leftTriangle
  where
    topBand :: Svg
topBand =
      Svg
S.rect
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.x AttributeValue
"0"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.y AttributeValue
"0"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.width  AttributeValue
"6"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.height AttributeValue
"1"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"#D21034"
    midBand :: Svg
midBand =
      Svg
S.rect
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.x AttributeValue
"0"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.y AttributeValue
"1"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.width  AttributeValue
"6"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.height AttributeValue
"1"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"#FFFFFF"
    botBand :: Svg
botBand =
      Svg
S.rect
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.x AttributeValue
"0"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.y AttributeValue
"2"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.width  AttributeValue
"6"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.height AttributeValue
"1"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"#000000"
    leftTriangle :: Svg
leftTriangle =
      Svg
S.path
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"#007229"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.d AttributeValue
triangleDirs
    triangleDirs :: AttributeValue
triangleDirs = Path -> AttributeValue
mkPath (Path -> AttributeValue) -> Path -> AttributeValue
forall a b. (a -> b) -> a -> b
$ do
      Integer -> Integer -> Path
forall a. Show a => a -> a -> Path
m  Integer
0  Integer
0
      Double -> Double -> Path
forall a. Show a => a -> a -> Path
l  Double
2  Double
1.5
      Integer -> Integer -> Path
forall a. Show a => a -> a -> Path
l  Integer
0  Integer
3
      Path
S.z



{- |
Flag of Sweden

![flag of Sweden](https://raw.githubusercontent.com/RamiroPastor/SvgIcons/main/svg/images/countryFlags/se.svg)
-}
se :: S.Svg
se :: Svg
se =
    Svg -> Svg
S.svg
      (Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.viewbox AttributeValue
"0 0 16 10"
      (Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.width  AttributeValue
"300"
      (Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.height AttributeValue
"187.5"
      (Svg -> Svg) -> Svg -> Svg
forall a b. (a -> b) -> a -> b
$ do
        Svg
background
        Svg
cross
  where
    background :: Svg
background =
      Svg
S.rect
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.x (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
0)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.y (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
0)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.width  (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
16)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.height (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
10)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.stroke AttributeValue
"none"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"#006AA7"
    cross :: Svg
cross =
      Svg
S.path
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"none"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.stroke AttributeValue
"#FECC02"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.strokeWidth AttributeValue
"2"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.d AttributeValue
crossDirs
    crossDirs :: AttributeValue
crossDirs = Path -> AttributeValue
mkPath (Path -> AttributeValue) -> Path -> AttributeValue
forall a b. (a -> b) -> a -> b
$ do
      Integer -> Integer -> Path
forall a. Show a => a -> a -> Path
m   Integer
6  Integer
0
      Integer -> Integer -> Path
forall a. Show a => a -> a -> Path
l   Integer
6 Integer
10
      Integer -> Integer -> Path
forall a. Show a => a -> a -> Path
m   Integer
0  Integer
5
      Integer -> Integer -> Path
forall a. Show a => a -> a -> Path
l  Integer
16  Integer
5



{- |
Flag of Slovenia

![flag of Slovenia](https://raw.githubusercontent.com/RamiroPastor/SvgIcons/main/svg/images/countryFlags/si.svg)
-}
si :: Svg
si :: Svg
si =
  Svg -> Svg
S.svg
    (Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.viewbox AttributeValue
"0 0 240 120"
    (Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.width  AttributeValue
"300"
    (Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.height AttributeValue
"150"
    (Svg -> Svg) -> Svg -> Svg
forall a b. (a -> b) -> a -> b
$ do
      Svg
S.rect
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.x AttributeValue
"0"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.y AttributeValue
"0"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.width  AttributeValue
"240"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.height AttributeValue
" 40"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"#FFFFFF"
      Svg
S.rect
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.x AttributeValue
"0"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.y AttributeValue
"40"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.width  AttributeValue
"240"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.height AttributeValue
" 40"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"#0000FF"
      Svg
S.rect
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.x AttributeValue
"0"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.y AttributeValue
"80"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.width  AttributeValue
"240"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.height AttributeValue
" 40"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"#FF0000"
      Svg
siCoA




{- |
Flag of Slovakia

![flag of Slovakia](https://raw.githubusercontent.com/RamiroPastor/SvgIcons/main/svg/images/countryFlags/sk.svg)
-}
sk :: Svg
sk :: Svg
sk =
    Svg -> Svg
S.svg
      (Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.viewbox AttributeValue
"0 0 900 600"
      (Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.width  AttributeValue
"300"
      (Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.height AttributeValue
"200"
      (Svg -> Svg) -> Svg -> Svg
forall a b. (a -> b) -> a -> b
$ do
        Svg
topStripe
        Svg
midStripe
        Svg
botStripe
        Svg
skCoA
  where
    topStripe :: Svg
topStripe =
      Svg
S.rect
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.x (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
0)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.y (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
0)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.width  (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
900)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.height (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
200)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.stroke AttributeValue
"none"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"#FFFFFF"
    midStripe :: Svg
midStripe =
      Svg
S.rect
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.x (AttributeValue -> Attribute) -> Float -> Attribute
.:   Float
0)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.y (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
200)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.width  (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
900)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.height (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
200)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.stroke AttributeValue
"none"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"#0B4EA2"
    botStripe :: Svg
botStripe =
      Svg
S.rect
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.x (AttributeValue -> Attribute) -> Float -> Attribute
.:   Float
0)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.y (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
400)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.width  (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
900)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.height (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
200)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.stroke AttributeValue
"none"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"#EE1C25"



{- |
Flag of Sierra Leona

![flag of Sierra Leona](https://raw.githubusercontent.com/RamiroPastor/SvgIcons/main/svg/images/countryFlags/sl.svg)
-}
sl :: Svg
sl :: Svg
sl =
  (Float, Float) -> [Char] -> [Char] -> [Char] -> Svg
flagH3Eq
    (Float
3,Float
2)
    [Char]
"#1EB53A"
    [Char]
"#FFFFFF"
    [Char]
"#0072C6"



{- |
Flag of San Marino

![flag of San Marino](https://raw.githubusercontent.com/RamiroPastor/SvgIcons/main/svg/images/countryFlags/sm.svg)
-}
sm :: Svg
sm :: Svg
sm =
    Svg -> Svg
S.svg
      (Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.viewbox AttributeValue
"0 0 800 600"
      (Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.width  AttributeValue
"300"
      (Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.height AttributeValue
"225"
      (Svg -> Svg) -> Svg -> Svg
forall a b. (a -> b) -> a -> b
$ do
        Svg
topStripe
        Svg
botStripe
        Svg
smCoA
  where
    topStripe :: Svg
topStripe =
      Svg
S.rect
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.x (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
0)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.y (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
0)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.width  (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
800)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.height (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
300)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.stroke AttributeValue
"none"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"#FFFFFF"
    botStripe :: Svg
botStripe =
      Svg
S.rect
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.x (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
0)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.y (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
300)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.width  (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
800)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.height (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
300)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.stroke AttributeValue
"none"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"#5EB6E4"



{- |
Flag of Senegal

![flag of Senegal](https://raw.githubusercontent.com/RamiroPastor/SvgIcons/main/svg/images/countryFlags/sn.svg)
-}
sn :: Svg
sn :: Svg
sn =
    Svg -> Svg
S.svg
      (Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.viewbox AttributeValue
"0 0 300 200"
      (Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.width  AttributeValue
"300"
      (Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.height AttributeValue
"200"
      (Svg -> Svg) -> Svg -> Svg
forall a b. (a -> b) -> a -> b
$ do
        Svg
leftBand
        Svg
midBand
        Svg
rightBand
        Int -> Float -> (Float, Float) -> Svg
starRegular Int
5 Float
33 (Float
150,Float
100)
          Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"#00853F"
  where
    leftBand :: Svg
leftBand =
      Svg
S.rect
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.x AttributeValue
"0"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.y AttributeValue
"0"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.width  AttributeValue
"100"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.height AttributeValue
"200"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"#00853F"
    midBand :: Svg
midBand =
      Svg
S.rect
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.x AttributeValue
"100"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.y AttributeValue
"0"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.width  AttributeValue
"100"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.height AttributeValue
"200"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"#FDEF42"
    rightBand :: Svg
rightBand =
      Svg
S.rect
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.x AttributeValue
"200"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.y AttributeValue
"0"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.width  AttributeValue
"100"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.height AttributeValue
"200"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"#E31B23"



{- |
Flag of Somalia

![flag of Somalia](https://raw.githubusercontent.com/RamiroPastor/SvgIcons/main/svg/images/countryFlags/so.svg)
-}
so :: Svg
so :: Svg
so =
    Svg -> Svg
S.svg
      (Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.viewbox AttributeValue
"0 0 300 200"
      (Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.width  AttributeValue
"300"
      (Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.height AttributeValue
"200"
      (Svg -> Svg) -> Svg -> Svg
forall a b. (a -> b) -> a -> b
$ do
        Svg
back
        Svg
star
  where
    back :: Svg
back =
      Svg
S.rect
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.x AttributeValue
"0"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.y AttributeValue
"0"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.width  AttributeValue
"300"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.height AttributeValue
"200"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"#4189DD"
    r1 :: Float
r1 = Float
13Float -> Float -> Float
forall a. Fractional a => a -> a -> a
/Float
54 Float -> Float -> Float
forall a. Num a => a -> a -> a
* Float
200
    star :: Svg
star =
      Int -> Float -> (Float, Float) -> Svg
starRegular Int
5 Float
r1 (Float
150,Float
100)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"#FFFFFF"



{- |
Flag of South Sudan

![flag of South Sudan](https://raw.githubusercontent.com/RamiroPastor/SvgIcons/main/svg/images/countryFlags/ss.svg)
-}
ss :: Svg
ss :: Svg
ss =
    Svg -> Svg
S.svg
      (Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.viewbox AttributeValue
"0 0 114 57"
      (Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.width  AttributeValue
"300"
      (Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.height AttributeValue
"150"
      (Svg -> Svg) -> Svg -> Svg
forall a b. (a -> b) -> a -> b
$ do
        Svg
whiteBackground
        Svg
topBand
        Svg
midBand
        Svg
botBand
        Svg
leftTriangle
        Svg
star
  where
    whiteBackground :: Svg
whiteBackground =
      Svg
S.rect
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.x AttributeValue
"0"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.y AttributeValue
"0"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.width  AttributeValue
"114"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.height AttributeValue
"57"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"#FFFFFF"
    topBand :: Svg
topBand =
      Svg
S.rect
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.x AttributeValue
"0"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.y AttributeValue
"0"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.width  AttributeValue
"114"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.height AttributeValue
"17"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"#000000"
    midBand :: Svg
midBand =
      Svg
S.rect
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.x AttributeValue
"0"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.y AttributeValue
"20"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.width  AttributeValue
"114"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.height AttributeValue
"17"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"#DB0A13"
    botBand :: Svg
botBand =
      Svg
S.rect
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.x AttributeValue
"0"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.y AttributeValue
"40"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.width  AttributeValue
"114"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.height AttributeValue
"17"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"#018A2C"
    leftTriangle :: Svg
leftTriangle =
      Svg
S.path
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"#0645B1"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.d AttributeValue
triangleDirs
    triangleDirs :: AttributeValue
triangleDirs = Path -> AttributeValue
mkPath (Path -> AttributeValue) -> Path -> AttributeValue
forall a b. (a -> b) -> a -> b
$ do
      Integer -> Integer -> Path
forall a. Show a => a -> a -> Path
m    Integer
0    Integer
0
      Double -> Double -> Path
forall a. Show a => a -> a -> Path
l   (Double
57 Double -> Double -> Double
forall a. Num a => a -> a -> a
* Double -> Double
forall a. Floating a => a -> a
cos(Double
forall a. Floating a => a
piDouble -> Double -> Double
forall a. Fractional a => a -> a -> a
/Double
6))   Double
28.5
      Integer -> Integer -> Path
forall a. Show a => a -> a -> Path
l    Integer
0   Integer
57
      Path
S.z
    (Float
c1,Float
c2) = (Float
28.5 Float -> Float -> Float
forall a. Num a => a -> a -> a
* Float -> Float
forall a. Floating a => a -> a
tan(Float
forall a. Floating a => a
piFloat -> Float -> Float
forall a. Fractional a => a -> a -> a
/Float
6) , Float
28.5)
    star :: Svg
star =
      Int -> Float -> (Float, Float) -> Svg
starRegular Int
5 Float
9.5 (Float
c1,Float
c2)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"#FCDE02"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.transform (Float -> Float -> Float -> AttributeValue
forall a. Show a => a -> a -> a -> AttributeValue
rotateAround (-Float
90) Float
c1 Float
c2)



{- |
Flag of São Tomé and Príncipe

![flag of São Tomé and Príncipe](https://raw.githubusercontent.com/RamiroPastor/SvgIcons/main/svg/images/countryFlags/st.svg)
-}
st :: Svg
st :: Svg
st =
    Svg -> Svg
S.svg
      (Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.viewbox AttributeValue
"0 0 28 14"
      (Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.width  AttributeValue
"300"
      (Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.height AttributeValue
"150"
      (Svg -> Svg) -> Svg -> Svg
forall a b. (a -> b) -> a -> b
$ do
        Svg
back
        Svg
midBand
        Svg
leftTriangle
        Svg
leftStar
        Svg
rightStar
  where
    back :: Svg
back =
      Svg
S.rect
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.x AttributeValue
"0"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.y AttributeValue
"0"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.width  AttributeValue
"28"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.height AttributeValue
"14"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"#009739"
    midBand :: Svg
midBand =
      Svg
S.rect
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.x AttributeValue
"0"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.y AttributeValue
"4"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.width  AttributeValue
"28"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.height AttributeValue
"6"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"#FFD100"
    leftTriangle :: Svg
leftTriangle =
      Svg
S.path
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"#EF3340"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.d AttributeValue
triangleDirs
    triangleDirs :: AttributeValue
triangleDirs = Path -> AttributeValue
mkPath (Path -> AttributeValue) -> Path -> AttributeValue
forall a b. (a -> b) -> a -> b
$ do
      Integer -> Integer -> Path
forall a. Show a => a -> a -> Path
m   Integer
0   Integer
0
      Integer -> Integer -> Path
forall a. Show a => a -> a -> Path
l   Integer
7   Integer
7
      Integer -> Integer -> Path
forall a. Show a => a -> a -> Path
l   Integer
0  Integer
14
      Path
S.z
    leftStar :: Svg
leftStar =
      Int -> Float -> (Float, Float) -> Svg
starRegular Int
5 Float
2 (Float
14,Float
7)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"#000000"
    rightStar :: Svg
rightStar =
      Int -> Float -> (Float, Float) -> Svg
starRegular Int
5 Float
2 (Float
21,Float
7)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"#000000"


{- |
Flag of Chad

![flag of Chad](https://raw.githubusercontent.com/RamiroPastor/SvgIcons/main/svg/images/countryFlags/td.svg)
-}
td :: Svg
td :: Svg
td =
  (Float, Float) -> [Char] -> [Char] -> [Char] -> Svg
flagV3Eq
    (Float
3,Float
2)
    [Char]
"#002669"
    [Char]
"#FFCC00"
    [Char]
"#D20F36"



{- |
Flag of Togo

![flag of Togo](https://raw.githubusercontent.com/RamiroPastor/SvgIcons/main/svg/images/countryFlags/tg.svg)
-}
tg :: Svg
tg :: Svg
tg =
    Svg -> Svg
S.svg
      (Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.viewbox ([Char] -> AttributeValue
forall a. ToValue a => a -> AttributeValue
S.toValue ([Char] -> AttributeValue) -> [Char] -> AttributeValue
forall a b. (a -> b) -> a -> b
$ [Char]
"0 0 " [Char] -> [Char] -> [Char]
forall a. [a] -> [a] -> [a]
++ Float -> [Char]
forall a. Show a => a -> [Char]
show Float
w [Char] -> [Char] -> [Char]
forall a. [a] -> [a] -> [a]
++ [Char]
" " [Char] -> [Char] -> [Char]
forall a. [a] -> [a] -> [a]
++ Float -> [Char]
forall a. Show a => a -> [Char]
show Float
h)
      (Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.width  AttributeValue
"300"
      (Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.height (Float -> AttributeValue
forall a. ToValue a => a -> AttributeValue
S.toValue (Float
300 Float -> Float -> Float
forall a. Fractional a => a -> a -> a
/ Float
φ))
      (Svg -> Svg) -> Svg -> Svg
forall a b. (a -> b) -> a -> b
$ do
        Svg
greenBackground
        Svg
topStripe
        Svg
botStripe
        Svg
redSquare
        Svg
star
  where
    φ :: Float
φ = (Float
1 Float -> Float -> Float
forall a. Num a => a -> a -> a
+ Float -> Float
forall a. Floating a => a -> a
sqrt Float
5) Float -> Float -> Float
forall a. Fractional a => a -> a -> a
/ Float
2
    h :: Float
h = Float
500
    w :: Float
w = Float
h Float -> Float -> Float
forall a. Num a => a -> a -> a
* Float
φ
    greenBackground :: Svg
greenBackground =
      Svg
S.rect
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.x AttributeValue
"0"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.y AttributeValue
"0"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.width  (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
w)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.height (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
h)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"#006A4E"
    topStripe :: Svg
topStripe =
      Svg
S.rect
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.x AttributeValue
"0"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.y AttributeValue
"100"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.width  (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
w)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.height (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
hFloat -> Float -> Float
forall a. Fractional a => a -> a -> a
/Float
5)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"#FFCE00"
    botStripe :: Svg
botStripe =
      Svg
S.rect
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.x AttributeValue
"0"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.y AttributeValue
"300"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.width  (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
w)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.height (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
hFloat -> Float -> Float
forall a. Fractional a => a -> a -> a
/Float
5)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"#FFCE00"
    redSquare :: Svg
redSquare =
      Svg
S.rect
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.x AttributeValue
"0"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.y AttributeValue
"0"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.width  AttributeValue
"300"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.height AttributeValue
"300"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"#D21034"
    star :: Svg
star =
      Int -> Float -> (Float, Float) -> Svg
starRegular Int
5 Float
100 (Float
150,Float
150)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"#FFFFFF"



{- |
Flag of Tunisia

![flag of Tunisia](https://raw.githubusercontent.com/RamiroPastor/SvgIcons/main/svg/images/countryFlags/tn.svg)
-}
tn :: Svg
tn :: Svg
tn =
    Svg -> Svg
S.svg
      (Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.viewbox AttributeValue
"0 0 60 40"
      (Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.width  AttributeValue
"300"
      (Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.height AttributeValue
"200"
      (Svg -> Svg) -> Svg -> Svg
forall a b. (a -> b) -> a -> b
$ do
        Svg
redBackground
        Svg
whiteCircle
        Svg
moon
        Svg
star
  where
    redBackground :: Svg
redBackground =
      Svg
S.rect
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.x AttributeValue
"0"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.y AttributeValue
"0"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.width  AttributeValue
"60"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.height AttributeValue
"40"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"#E70013"
    whiteCircle :: Svg
whiteCircle =
      Svg
S.circle
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.cx AttributeValue
"30"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.cy AttributeValue
"20"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.r  AttributeValue
"10"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"#FFFFFF"
    x1 :: Double
x1 = Double
31 Double -> Double -> Double
forall a. Num a => a -> a -> a
+ Double
81Double -> Double -> Double
forall a. Fractional a => a -> a -> a
/Double
16
    b :: Double
b = -Double
40
    c :: Double
c = Double
x1Double -> Integer -> Double
forall a b. (Num a, Integral b) => a -> b -> a
^Integer
2 Double -> Double -> Double
forall a. Num a => a -> a -> a
- Double
64Double -> Double -> Double
forall a. Num a => a -> a -> a
*Double
x1 Double -> Double -> Double
forall a. Num a => a -> a -> a
+ Double
32Double -> Integer -> Double
forall a b. (Num a, Integral b) => a -> b -> a
^Integer
2 Double -> Double -> Double
forall a. Num a => a -> a -> a
+ Double
20Double -> Integer -> Double
forall a b. (Num a, Integral b) => a -> b -> a
^Integer
2 Double -> Double -> Double
forall a. Num a => a -> a -> a
- Double
36
    y1 :: Double
y1 = Double
0.5 Double -> Double -> Double
forall a. Num a => a -> a -> a
* (-Double
b Double -> Double -> Double
forall a. Num a => a -> a -> a
+ Double -> Double
forall a. Floating a => a -> a
sqrt (Double
bDouble -> Integer -> Double
forall a b. (Num a, Integral b) => a -> b -> a
^Integer
2 Double -> Double -> Double
forall a. Num a => a -> a -> a
- Double
4Double -> Double -> Double
forall a. Num a => a -> a -> a
*Double
c))
    y2 :: Double
y2 = Double
0.5 Double -> Double -> Double
forall a. Num a => a -> a -> a
* (-Double
b Double -> Double -> Double
forall a. Num a => a -> a -> a
- Double -> Double
forall a. Floating a => a -> a
sqrt (Double
bDouble -> Integer -> Double
forall a b. (Num a, Integral b) => a -> b -> a
^Integer
2 Double -> Double -> Double
forall a. Num a => a -> a -> a
- Double
4Double -> Double -> Double
forall a. Num a => a -> a -> a
*Double
c))
    moon :: Svg
moon =
      Svg
S.path
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"#E70013"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.d AttributeValue
moonDirs
    moonDirs :: AttributeValue
moonDirs = Path -> AttributeValue
mkPath (Path -> AttributeValue) -> Path -> AttributeValue
forall a b. (a -> b) -> a -> b
$ do
      Double -> Double -> Path
forall a. Show a => a -> a -> Path
m   Double
x1   Double
y1
      Double
-> Double -> Double -> Bool -> Bool -> Double -> Double -> Path
forall a. Show a => a -> a -> a -> Bool -> Bool -> a -> a -> Path
aa  Double
7.5  Double
7.5  Double
0  Bool
True  Bool
True  Double
x1  Double
y2
      Double
-> Double -> Double -> Bool -> Bool -> Double -> Double -> Path
forall a. Show a => a -> a -> a -> Bool -> Bool -> a -> a -> Path
aa  Double
6    Double
6    Double
0  Bool
True  Bool
False Double
x1  Double
y1
      Path
S.z
    star :: Svg
star =
      Int -> Float -> (Float, Float) -> Svg
starRegular Int
5 Float
4.5 (Float
32,Float
20)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"#E70013"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.transform (Integer -> Integer -> Integer -> AttributeValue
forall a. Show a => a -> a -> a -> AttributeValue
rotateAround (-Integer
90) Integer
32 Integer
20)



{- |
Flag of Ukraine

![flag of Ukraine](https://raw.githubusercontent.com/RamiroPastor/SvgIcons/main/svg/images/countryFlags/ua.svg)
-}
ua :: S.Svg
ua :: Svg
ua =
    Svg -> Svg
S.svg
      (Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.viewbox AttributeValue
"0 0 3 2"
      (Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.width  AttributeValue
"300"
      (Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.height AttributeValue
"200"
      (Svg -> Svg) -> Svg -> Svg
forall a b. (a -> b) -> a -> b
$ do
        Svg
topStripe
        Svg
botStripe
  where
    topStripe :: Svg
topStripe =
      Svg
S.rect
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.x (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
0)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.y (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
0)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.width  (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
3)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.height (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
1)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.stroke AttributeValue
"none"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"#0057B7"
    botStripe :: Svg
botStripe =
      Svg
S.rect
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.x (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
0)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.y (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
1)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.width  (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
3)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.height (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
1)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.stroke AttributeValue
"none"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"#FFDD00"



{- |
Flag of the Uganda

![flag of the Uganda](https://raw.githubusercontent.com/RamiroPastor/SvgIcons/main/svg/images/countryFlags/ug.svg)
-}
ug :: Svg
ug :: Svg
ug =
    Svg -> Svg
S.svg
      (Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.viewbox AttributeValue
"0 0 900 600"
      (Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.width  AttributeValue
"300"
      (Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.height AttributeValue
"200"
      (Svg -> Svg) -> Svg -> Svg
forall a b. (a -> b) -> a -> b
$ do
        AttributeValue -> AttributeValue -> Svg
mkRect AttributeValue
"  0" AttributeValue
"#000000"
        AttributeValue -> AttributeValue -> Svg
mkRect AttributeValue
"100" AttributeValue
"#FCDC04"
        AttributeValue -> AttributeValue -> Svg
mkRect AttributeValue
"200" AttributeValue
"#D90000"
        AttributeValue -> AttributeValue -> Svg
mkRect AttributeValue
"300" AttributeValue
"#000000"
        AttributeValue -> AttributeValue -> Svg
mkRect AttributeValue
"400" AttributeValue
"#FCDC04"
        AttributeValue -> AttributeValue -> Svg
mkRect AttributeValue
"500" AttributeValue
"#D90000"
  where
    mkRect :: AttributeValue -> AttributeValue -> Svg
mkRect AttributeValue
ky AttributeValue
color =
      Svg
S.rect
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.x AttributeValue
"0"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.y AttributeValue
ky
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.width  AttributeValue
"900"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.height AttributeValue
"100"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
color





{- |
Flag of the United Kingdom

![flag of the United Kingdom](https://raw.githubusercontent.com/RamiroPastor/SvgIcons/main/svg/images/countryFlags/uk.svg)
-}
uk :: S.Svg
uk :: Svg
uk =
    Svg -> Svg
S.svg
      (Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.viewbox AttributeValue
"0 0 50 30"
      (Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.width  AttributeValue
"300"
      (Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.height AttributeValue
"180"
      (Svg -> Svg) -> Svg -> Svg
forall a b. (a -> b) -> a -> b
$ do
        Svg
scotland
        Svg
irelandBase
        Svg
irelandBase Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.transform (Float -> Float -> Float -> AttributeValue
forall a. Show a => a -> a -> a -> AttributeValue
rotateAround Float
180 Float
mx Float
my)
        Svg
englandRed
        Svg
englandWhite
  where
    w :: Float
w = Float
50
    h :: Float
h = Float
30
    mx :: Float
mx = Float
w Float -> Float -> Float
forall a. Fractional a => a -> a -> a
/ Float
2
    my :: Float
my = Float
h Float -> Float -> Float
forall a. Fractional a => a -> a -> a
/ Float
2
    -- x0 = 3 / sin (atan (3/5))

    x1 :: Float
x1 = Float
2 Float -> Float -> Float
forall a. Fractional a => a -> a -> a
/ Float -> Float
forall a. Floating a => a -> a
sin (Float -> Float
forall a. Floating a => a -> a
atan (Float
3Float -> Float -> Float
forall a. Fractional a => a -> a -> a
/Float
5))
    -- y0 = 3 / sin (atan (5/3))

    y1 :: Float
y1 = Float
2 Float -> Float -> Float
forall a. Fractional a => a -> a -> a
/ Float -> Float
forall a. Floating a => a -> a
sin (Float -> Float
forall a. Floating a => a -> a
atan (Float
5Float -> Float -> Float
forall a. Fractional a => a -> a -> a
/Float
3))
    colWhite :: AttributeValue
colWhite = AttributeValue
"white"
    colBlue :: AttributeValue
colBlue = AttributeValue
"rgb(1,33,105)"
    colRed :: AttributeValue
colRed = AttributeValue
"rgb(200,16,46)"
    scotland :: Svg
scotland = do
      Svg
S.rect
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.x (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
0)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.y (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
0)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.width  (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
w)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.height (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
h)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.stroke AttributeValue
"none"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
colBlue
      Svg
S.path
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.strokeWidth (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
6)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.stroke AttributeValue
colWhite
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"none"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.d AttributeValue
scotlandDirs
    scotlandDirs :: AttributeValue
scotlandDirs = Path -> AttributeValue
mkPath (Path -> AttributeValue) -> Path -> AttributeValue
forall a b. (a -> b) -> a -> b
$ do
      Integer -> Integer -> Path
forall a. Show a => a -> a -> Path
m   Integer
0  Integer
0
      Float -> Float -> Path
forall a. Show a => a -> a -> Path
l   Float
w  Float
h
      Float -> Float -> Path
forall a. Show a => a -> a -> Path
m   Float
0  Float
h
      Float -> Float -> Path
forall a. Show a => a -> a -> Path
l   Float
w  Float
0
    irelandBase :: Svg
irelandBase =
      Svg
S.path
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.stroke AttributeValue
"none"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
colRed
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.d AttributeValue
irelandDirs
    irelandDirs :: AttributeValue
irelandDirs = Path -> AttributeValue
mkPath (Path -> AttributeValue) -> Path -> AttributeValue
forall a b. (a -> b) -> a -> b
$ do
      Integer -> Integer -> Path
forall a. Show a => a -> a -> Path
m   Integer
0         Integer
0
      Float -> Float -> Path
forall a. Show a => a -> a -> Path
l   Float
0         Float
y1
      Float -> Float -> Path
forall a. Show a => a -> a -> Path
l   (Float
mx Float -> Float -> Float
forall a. Num a => a -> a -> a
- Float
x1) Float
my
      Float -> Float -> Path
forall a. Show a => a -> a -> Path
l   Float
mx        Float
my
      Path
S.z
      Float -> Float -> Path
forall a. Show a => a -> a -> Path
m   Float
0         Float
h
      Float -> Float -> Path
forall a. Show a => a -> a -> Path
l   Float
x1        Float
h
      Float -> Float -> Path
forall a. Show a => a -> a -> Path
l   Float
mx        (Float
my Float -> Float -> Float
forall a. Num a => a -> a -> a
+ Float
y1)
      Float -> Float -> Path
forall a. Show a => a -> a -> Path
l   Float
mx        Float
my
      Path
S.z
    englandRed :: Svg
englandRed =
      Svg
S.path 
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.strokeWidth (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
6)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.stroke AttributeValue
colRed
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"none"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.d AttributeValue
englandDirsRed
    englandWhite :: Svg
englandWhite =
      Svg
S.path
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.strokeWidth (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
2)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.stroke AttributeValue
colWhite
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"none"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.d AttributeValue
englandDirsWhite
    englandDirsRed :: AttributeValue
englandDirsRed = Path -> AttributeValue
mkPath (Path -> AttributeValue) -> Path -> AttributeValue
forall a b. (a -> b) -> a -> b
$ do
      Float -> Float -> Path
forall a. Show a => a -> a -> Path
m   Float
0   Float
my
      Float -> Float -> Path
forall a. Show a => a -> a -> Path
l   Float
w   Float
my
      Float -> Float -> Path
forall a. Show a => a -> a -> Path
m   Float
mx  Float
0
      Float -> Float -> Path
forall a. Show a => a -> a -> Path
l   Float
mx  Float
h
    englandDirsWhite :: AttributeValue
englandDirsWhite = Path -> AttributeValue
mkPath (Path -> AttributeValue) -> Path -> AttributeValue
forall a b. (a -> b) -> a -> b
$ do
      Float -> Float -> Path
forall a. Show a => a -> a -> Path
m   Float
0         (Float
my Float -> Float -> Float
forall a. Num a => a -> a -> a
+ Float
4)
      Float -> Float -> Path
forall a. Show a => a -> a -> Path
l   (Float
mx Float -> Float -> Float
forall a. Num a => a -> a -> a
- Float
4)  (Float
my Float -> Float -> Float
forall a. Num a => a -> a -> a
+ Float
4)
      Float -> Float -> Path
forall a. Show a => a -> a -> Path
l   (Float
mx Float -> Float -> Float
forall a. Num a => a -> a -> a
- Float
4)  Float
h
      Float -> Float -> Path
forall a. Show a => a -> a -> Path
m   (Float
mx Float -> Float -> Float
forall a. Num a => a -> a -> a
+ Float
4)  Float
h
      Float -> Float -> Path
forall a. Show a => a -> a -> Path
l   (Float
mx Float -> Float -> Float
forall a. Num a => a -> a -> a
+ Float
4)  (Float
my Float -> Float -> Float
forall a. Num a => a -> a -> a
+ Float
4)
      Float -> Float -> Path
forall a. Show a => a -> a -> Path
l   Float
w         (Float
my Float -> Float -> Float
forall a. Num a => a -> a -> a
+ Float
4)
      Float -> Float -> Path
forall a. Show a => a -> a -> Path
m   Float
w         (Float
my Float -> Float -> Float
forall a. Num a => a -> a -> a
- Float
4)
      Float -> Float -> Path
forall a. Show a => a -> a -> Path
l   (Float
mx Float -> Float -> Float
forall a. Num a => a -> a -> a
+ Float
4)  (Float
my Float -> Float -> Float
forall a. Num a => a -> a -> a
- Float
4)
      Float -> Float -> Path
forall a. Show a => a -> a -> Path
l   (Float
mx Float -> Float -> Float
forall a. Num a => a -> a -> a
+ Float
4)  Float
0
      Float -> Float -> Path
forall a. Show a => a -> a -> Path
m   (Float
mx Float -> Float -> Float
forall a. Num a => a -> a -> a
- Float
4)  Float
0
      Float -> Float -> Path
forall a. Show a => a -> a -> Path
l   (Float
mx Float -> Float -> Float
forall a. Num a => a -> a -> a
- Float
4)  (Float
my Float -> Float -> Float
forall a. Num a => a -> a -> a
- Float
4)
      Float -> Float -> Path
forall a. Show a => a -> a -> Path
l   Float
0         (Float
my Float -> Float -> Float
forall a. Num a => a -> a -> a
- Float
4)



{- |
Flag of the Holy See (Vatican City)

![flag of the Holy See (Vatican City)](https://raw.githubusercontent.com/RamiroPastor/SvgIcons/main/svg/images/countryFlags/va.svg)
-}
va :: S.Svg
va :: Svg
va = 
    Svg -> Svg
S.svg 
      (Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.viewbox AttributeValue
"0 0 2500 2500"
      (Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.width  AttributeValue
"300"
      (Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.height AttributeValue
"300"
      (Svg -> Svg) -> Svg -> Svg
forall a b. (a -> b) -> a -> b
$ do
        Svg
leftStripe
        Svg
rightStripe
        Svg
vaCoA
  where
    leftStripe :: Svg
leftStripe =
      Svg
S.rect
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.x (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
0)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.y (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
0)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.width  (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
1250)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.height (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
2500)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.stroke AttributeValue
"none"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"#FFE000"
    rightStripe :: Svg
rightStripe =
      Svg
S.rect
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.x (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
1250)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.y (AttributeValue -> Attribute) -> Float -> Attribute
.:    Float
0)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.width  (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
1250)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.height (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
2500)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.stroke AttributeValue
"none"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"#FFFFFF"



{- |
Flag of Kosovo

![flag of Kosovo](https://raw.githubusercontent.com/RamiroPastor/SvgIcons/main/svg/images/countryFlags/xk.svg)
-}
xk :: Svg
xk :: Svg
xk =
    Svg -> Svg
S.svg
      (Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.viewbox AttributeValue
"0 0 840 600"
      (Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.width  AttributeValue
"300"
      (Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.height AttributeValue
"214.285"
      (Svg -> Svg) -> Svg -> Svg
forall a b. (a -> b) -> a -> b
$ do
        Svg
background
        Svg
xkCoA
        (Float, Float) -> Svg
star (Float
420 Float -> Float -> Float
forall a. Num a => a -> a -> a
- Float
d3, Float
y3)
        (Float, Float) -> Svg
star (Float
420 Float -> Float -> Float
forall a. Num a => a -> a -> a
- Float
d2, Float
y2)
        (Float, Float) -> Svg
star (Float
420 Float -> Float -> Float
forall a. Num a => a -> a -> a
- Float
d1, Float
y1)
        (Float, Float) -> Svg
star (Float
420 Float -> Float -> Float
forall a. Num a => a -> a -> a
+ Float
d1, Float
y1)
        (Float, Float) -> Svg
star (Float
420 Float -> Float -> Float
forall a. Num a => a -> a -> a
+ Float
d2, Float
y2)
        (Float, Float) -> Svg
star (Float
420 Float -> Float -> Float
forall a. Num a => a -> a -> a
+ Float
d3, Float
y3)
  where
    d1 :: Float
d1 = Float
42
    d2 :: Float
d2 = Float
124.3
    d3 :: Float
d3 = Float
203
    y1 :: Float
y1 = Float
121.7
    y2 :: Float
y2 = Float
136
    y3 :: Float
y3 = Float
164.8
    background :: Svg
background =
      Svg
S.rect
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.x (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
0)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.y (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
0)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.width  (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
840)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.height (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
600)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.stroke AttributeValue
"none"
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"#244AA5"
    star :: (Float, Float) -> Svg
star (Float
c0,Float
c1) =
      Int -> Float -> (Float, Float) -> Svg
starRegular Int
5 Float
36 (Float
c0,Float
c1)
        Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"#FFFFFF"