úÎ×åSafe)Whether this rule is an exception or not.(The domain labels in reversed order, ie: 0"test.example.com" => ["com", "example", "test"]None   NoneNone ZConvert a domain into a list of labels. This is essentialy splitting the string on dots (L). However, the Haskell base library doesn't have a split function. Sigh...YA domain is said to match a rule if and only if all of the following conditions are met:€When the domain and rule are split into corresponding labels, that the domain contains as many or more labels than the rule.ÚBeginning with the right-most labels of both the domain and the rule, and continuing for all labels in the rule, one finds that for every pair, either they are identical, or that the label from the rule is "*".@True if the label from the rule matches a label from the domain.™Return the public suffix of the given domain name (a dot-delimited unicode string). The public suffix is the part of a domain which should be protected.Notes:mThe domain MUST NOT start with a dot. Normalize the domain before passing it to functions in this module.¤The domain MUST NOT be in punycode encoding. The matching of domain labels is done on the original encoding, as specified in the upstream publicsuffix list.4In particular that means applications SHOULD reject:8HTTP cookies which try to set domain to a public suffix.TX509 wildcard certificates which try to match all subdomains of a public suffix.½Return the domain that was registered or is registrable by a user. These domains are fully controlled by users, and applications SHOULD accept cookies and wildcard certificates for those.       .publicsuffix-0.20160708-G72OV205EAxIwXZLumwLv8Data.PublicSuffix.RulesData.PublicSuffixData.PublicSuffix.TypesData.PublicSuffix.THRule isException ruleLabelsrules publicSuffixregisteredDomain readRulesFile isCommentsplitDot parseRulesmoduleDirectorymkRulestoLabelsbaseGHC.Base. matchRule labelMatchesprevailingRule